Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Elite

Pages: [1] 2 3 ... 7
1
Suggestions / Editing DNA In-Sim
« on: December 10, 2007, 12:13:18 PM »
Would it be possible to add a simple DNA editor? Something so the DNA of a specific bot in a simulation can be viewed, edited and an instantaneous change to that bot's DNA (Perhaps counting as a "mutation"?) can be effected. It would make life easier when fine-tuning bots or randomly experimenting.

2
Bot Challenges / Challenge #5: Eusociality
« on: October 01, 2007, 02:18:43 PM »
Antbots are the most farmiliar examples of eusociality in DB: a central queen in every colony, and workers which gather food and bring it to the queen. What sort of new stuff can be done with antbots? Is there scope for more efficiency and ability in terms of antbots (can anyone produce an antbot that survives in the internet metaverse)? How about a batterybot queen? Can more efficient territory defence strategies be formulated?

There are also many other ways of implementing eusociality. What sort of stuff can be done with eusociality and bot centralisation?

3
Bot Challenges / Challenge #4: Dynamic Predation
« on: October 01, 2007, 02:04:02 PM »
The second in the new challenge batch.

Programming an effective and innovative dynamic predator is harder than it sounds. The challenges here include ways of softening and ramping the viciousness of the predators depending on prey population, predator attack strategies, and effectively utilising the new features to implement predation as an effective selection pressure.

(told you they were going to be vague)

What works and what doesn't when it comes to dynamic predators?

4
Bot Challenges / Bot Challenges: A New Direction
« on: September 24, 2007, 01:41:03 PM »
I've come to percieve a certain flaw in the way we program bots at the moment: bot behavior is generally too simple. Most bots' behavior comes straight from a series of if ... then triggers, directly from the dna; bots ignore others of their own species, and spend all their time eating (or searching for something to eat) and replicating. We're programing more and more efficient grey goo.

The purpose of these new challenges is to encourage the development of more interesting, interactive and intelligent bot behavior. The new challenges are more informal too and less competitive, with much looser rules and goals. Discussion and sharing of ideas is also encouraged.

This will also have consequences for the DB environment. Terrirorial bots will diversify the field; bots that can learn can utilise nontrivial strategies; bots with behavior controled by meta-systems (ie. non-genetically-deterministic behavior) might evolve in different ways ...

The first of the new challenges is to program a bot with a very basic artificial neural net to govern behavior. To attempt this you need to know a bit about neural networks, so it's a pretty high target. Massive kudos to whoever attempts this.

5
Bot Challenges / Challenge #3: Neural Network
« on: September 23, 2007, 05:03:25 PM »
I'm going to have another shot at these, but I'm going to do them in a more informal way. There will still be a hall of fame for those authors and their bots that suceed at the challenges. I'm just going to put out a bunch of open challenges out for bot programers to have a go at, and if you manage to program a bot that meets the criteria, post it.

Also, instead of pretty useless challenges like mazerunning and cliff-jumping, I'm going to be setting challenges at the cutting edge of bot programing.

Okay, so ...

CHALLENGE #3

Code a bot that with behaviors that do not come straight from the dna. Specifically, create a bot who's behavior is controled by an artificial neural network. You'll probably need to find out how they work before starting if you don't know already.

Use the following inputs and outputs only:

Input nodes:

*.eye5

*.refeye

Output nodes:

.up (continuous)

.aimdx (continuous)

-1 .shoot store (boolean)

Those are the only sysvars you can use. Don't bother with anything else, reproduction, body management, combat etc. Just the neural network and the above inputs + outputs.

The network must learn by reinforcement learning, using *.pleas averaged over the last 50 cycles as the reinforcement anti-cost. To get the average pleas over 50 cycles, please use this gene:

def avpleas 13

cond
start
*.pleas *.robage 50 mod 991 add store
*991 *992 add *993 add *994 add *995 add *996 add *997 add *998 add *999 add *1000 add *1001 add *1002 add *1003 add *1004 add *1005 add *1006 add *1007 add *1008 add *1009 add *1010 add *1011 add *1012 add *1013 add *1014 add *1015 add *1016 add *1017 add *1018 add *1019 add *1020 add *1021 add *1022 add *1023 add *1024 add *1025 add *1026 add *1027 add *1028 add *1029 add *1030 add *1031 add *1032 add *1033 add *1034 add *1035 add *1036 add *1037 add *1038 add *1039 add *1040 add *1041 add 50 div .avpleas store
stop


(In case you're wondering, no. I didn't do that by hand)

6
Suggestions / Internet mode
« on: September 23, 2007, 10:38:10 AM »
At the moment invisible teleporters scoop up unsuspecting bots and zap them to wherever the teleporter leads. Bots don't choose to go through the teleporter, and don't have any time to prepare for what might be waiting for them on the other side.

Should bots be able to see or sense the teleporter?

I imagine bots building up on energy, body, shell and poison etc. and then heading off into sims unknown. Or a pack of bots tieing together and entering the teleporter voluntarily as a group.

When bots teleport into sims they get randomly placed on the field. Should there be an "in" teleporter, or should bots coming back from other sims come back out of the single teleporter?

How about a pack of bots forming a 'bridgehead' around the teleporter and waiting for further reinforcements before launching an attack on the sim.

Should there be some sort of system for bots to affect where they end up when they make a journey through the teleporter? Or a way to find the 'home sim' when in another sim?
(although with the current system that would be impossible, right?)

Any other ideas?

@ Eric - what are your plans for internet mode?

7
Suggestions / Some DNA-Related Feature Requests
« on: September 21, 2007, 03:31:18 PM »
Some dna-related sysvars. Would make evolution rather interesting and provide some routes for horizontal gene transfer, as well as giving bot programers a new array of tools to play with.

.sendgene (instantly sends a gene through a tie, like a virus)
.crossover (crosses over the DNA of two tied bots at a certain number of random points)
.mutgene (makes one random point mutation to a gene)
.mutate (mutates the entire genome by a certain amount)
.refdnalen (returns the dna length of the bot I am looking at; possible new form of conspec recognition allowing for speciation of bots with mutations that change the genome length)

Anyone have any objections to having any of these?

8
F2 bots / SWARM 2.0 (F2)(Elite)-10.03.07
« on: March 10, 2007, 01:00:18 PM »
Code: [Select]
' SWARM
' (Updated for v2.43)

' Delete birthtie and move

cond
start
.tie 1 *.robage sub 0 floor mult inc
.deltie inc
*.maxvel *.vel sub .up store
stop

' Set eye5

cond
*.robage 0 =
start
1220 .eye5width store
stop

' Swarm

cond
*.robage 5 mod 0 =
*.eye5 0 >
*.refeye *.myeye =
start
*.refaim .setaim *.robage sgn mult store
stop

' Eat food

cond
*.eye5 0 >
*.refeye *.myeye !=
start
*.refvelup 50 add .up store
*.refxpos *.refypos angle .setaim *.robage sgn mult store
stop

cond
*.eye5 50 >
*.refeye *.myeye !=
start
*.refvelup .up store
*.refxpos *.refypos angle .setaim *.robage sgn mult store
stop

cond
*.eye6 34 >
*.refeye *.myeye !=
start
-6 .shoot store
16 .shootval store
stop

' Reproduce

cond
*.body 700 >
start
30 .repro store
314 rnd .aimdx store
stop

' Feed on and store body

cond
*.nrg 2000 >
start
100 .strbody store
stop

cond
*.nrg 500 <
start
*.body 0 floor .fdbody *.body sgn mult store
stop

' Anti-virus (just in case)

cond
*.mkvirus 0 !=
start
*.mkvirus .delgene store
stop

end

9
Interesting behaviour bots / Anticanni (IB)(Elite)-02.03.07
« on: March 02, 2007, 02:53:58 AM »
' Anticanni

' The first three genes are the anti-canni ones, and then the rest is the bot behavior. Only thing I'm not satisfied with is that that third gene is rather fragile:

def loc 971

' Epigenetic ID

cond
*.robage 0 =
start
.loc .loc store
.delgene inc
stop

cond
*.robage 0 =
start
.loc .memloc store
stop

' Eeek, a cannibot! Fire to blank his ID and mark him as an enemy

cond
*.nrg 1000 <
*.shflav 0 !=
*.shflav -2 !=
start
*.shang .aimshoot store
*.loc .shoot store
0 .shootval store
0 .shflav store
stop

' See food

cond
*.eye5 0 >
*.memval .loc !=
start
*.refveldx .dx store
*.refvelup 40 add .up store
stop

' Shoot food

cond
*.eye5 50 >
*.memval .loc !=
start
-1 .shoot store
*.refvelup .up store
*.refxpos *.refypos angle .setaim store
stop

' Move around

cond
*.eye5 0 =
start
*.maxvel *.vel 5 add sub 0 floor .up store
*.eye9 *.eye1 sub .aimdx store
stop

' Avoid conspecs

cond
*.eye5 0 >
*.memval .loc =
start
314 rnd .aimdx store
stop

' Reproduce

cond
*.nrg 6000 >
start
50 .repro store
stop

end

10
Off Topic / Question about the Feasability of a Neural Network Set-up
« on: March 01, 2007, 11:14:27 AM »
Are any of the programmers here familiar with the workings of neural networks?

If so, have you any idea of how much difficulty would be involved in setting up this system:

Some of the neural network's outputs cause a change in the actual set-up of the network, so it can effectively re-write it's connection archetecture.

The network observes a human programmer making improvements to the network, and learns to make basic improvements to itself. A node is periodically added to the network, and the re-optimisation process begins again (whihc would of course aid subsequent attempts), with the programmer giving the network both an initial push and subsequent reinforcement.

It seems to me neural nets lend themselves to this kind of recursive self-improvement because of their simplicity, modularity, adaptivity and nonlinearity

Firstly, how easy/difficult would this kind of self-improving neural net set-up be to program?
Secondly, to you think a network could learn to improve itself in such a way?

11
Bot Challenges / Challenge #2: The Maze
« on: December 25, 2006, 02:02:14 PM »
Simulation file not attached

Version required: 2.42.9r and greater

Rules:
Your bot will start in a coridoor on the left. Reproducing is not allowed. Walls are visible to bots. Your bot must have a gene that imobilises it it at age 10,000. There is a cyan bot in an area at the bottom right

Bronze objective: Find your way through the maze to the cyan bot, and kill it with shots, within 10,000 cycles

Silver objective: Find your way to the cyan bot, and bring it back to the beginning of the maze, within 10,000 cycles

Gold objective: Find the way to the cyan bot, then bring it back to the beginning of the maze, taking an optimal path (ie. no trial-and-error, the path must be direct, and you can't cross your own path), all within 10,000 cycles

12
Suggestions / Set colour to memory location
« on: December 09, 2006, 05:51:58 PM »
Could we have an option whereby a memory location is chosen, and colours are assigned depending on the value of that location?

So if a bot changes the value in the selected memory location, it changes colour.

It would be useful for telling at a glance which antbots belonged to which colony etc.

13
Bot Challenges / Challenge #1: The Ravine
« on: November 24, 2006, 12:17:07 PM »
Simulation file attached

Version required: 2.24.9d

Rules:
Gravity is enabled, and there is a large pit in the centre of the sim, made from shapes. Any bots falling into this pit and touching the bottom will lead to instant faliure. Movement commands are disabled due to a bang efficiency of 0%. Fixing anywhere above the ravine is strictly forbidden. Your bot cannot reproduce above the ravine either, although you can reproduce as many times as you like on either cliff.

Ravine coordinates:
*.xpos = 2800 to 6000 exclusive (Note: these define an area ever-so-slightly greater than the actual ravine)
Your bot cannot fix or reproduce within these boundaries

Bronze objective:
Your bot starts on the left cliff. Get at least one bot across the ravine

Silver objective:
Your bot starts on the left cliff. Get across the ravine, retrieve the cyan bot (it has a *.refeye of 1) from the other side of the ravine, and take it back with you as you cross the ravine for a second time. If you have more than one bot, all of them must end up on the left cliff.

Gold objective:
Your bot starts on the left cliff. Build a bot capable of getting the cyan bot from the right cliff, and (all) your bot(s), up to either of the top ledges.
(Note: For the gold, fixing anywhere is strictly forbidden)

Feel free to comment and discuss in this thread. Good luck

14
Bot Challenges / Bot Challenge!
« on: November 23, 2006, 01:02:29 PM »
Here's something that I thought would be fun, and stimulate innovation.

Rather than an ongoing league, I'm going to set little bot-engineering challenges for any takers to solve. I'll announce the rules, the DB version required, sometimes a sim file, and the objectives.

Challengers will have a a few weeks, specified beforehand, to come up with a solution and PM me their bot. Only one bot per challenger, and you should make sure it works before sending.

There will be three objectives, with increasing difficulty.

Completing the first, easiest objective will get you a bronze award. Completing the second objective, which is usually an extension of the first, will get you a silver award. Completing the third, which will usually contains a whole new level of difficulty, will get you a gold award.

Winners will be displayed in a bot challenge hall of fame.

Would it be possible for me to have my own subforum in 'General' for this?

In the mean time, use this thread to comment. What do you think of the idea?

15
Bugs and fixes / Mysterious tie forces
« on: November 20, 2006, 04:22:41 PM »
cond
*.robage 0 =
start
.tie inc
stop

cond
*.robage 1 =
start
520 .aimdx store
70 .repro store
stop

cond
*.robage 2 =
start
1 .tie store
stop


I'm noticing strange forces on the ties that don't look like they should be there.
This bot seems to spin, even though it's just designed to tie itself into a circle. It's attached.
The spinning seems a little odd. Where's it getting the energy from?

Anyone else noticed this?

Pages: [1] 2 3 ... 7