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.

Messages - Elite

Pages: [1] 2 3 ... 35
Off Topic / New virus?
« on: December 10, 2007, 05:33:56 PM »
Heh, there's a chance it might be one of mine, the coding looks slightly familiar and there's loads out there.

If it is though, it's mutated beyond my recognition. That third line looks totally mulched.

EDIT: Started up IM, and the first thing that comes in is an enormous clump of infected alga from shvarz. Damn, those things are nasty. I shudder to think what else is out there, especially with mutated strains and such. Looks like some sort of antivirus is mandatory from now on:

*.mkvirus 0 !=
*.mkvirus .delgene store

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.

Evolution and Internet Sharing Sims / How to avoid cannibotism?
« on: November 18, 2007, 01:59:45 PM »
I had a huge post all typed out, but the forum ate it. Damn.

Yeah, first way is to design smarter conspec-recognition systems, recipriocity, offspring-checking, defence, poison canni-'marking' etc. into the bots.

The problem is that at an individual-selevtion, level, cannibiotism really is better than playing nice. Cannis can feed with impunity on their meek, unconditionally-cooperating kin, and this represents a huge individual advantage for a bot.

From an evolutionary standpoint, there are two solutions to this:

(1) Raising the priority of gene-level selection. Cannis, the selfish individualists they are, are poor at passing on their genes due to their disdvantageous habit of eating their offspring. By (for example) using a massive ramping age cost that prevents bots from living indefinitely, there is a selection pressure to pass your genes forward and safeguard your offspring rather than eating them. This mechanism has been proposed as a way that cooperation could have evolved in real life (advocated by Richard Dawkins), and is especially relevant when it comes to eusocial reproductive systems and kin-selection etc.

(2) Group-level selection. This mechanism has also been proposed to explain altruism and cooperation in the real world (Gould, I think (?) was a fan of this view). If you've got a situation where individuals must cooperate against an external threat, cooperation is favoured or the whole group goes bust. Pack-bots, territory-forming bots, antbots etc. where there are a plurality of groups in competition for limited resources favours the evolution of cooperation (and complex cooperation strategies). There has got to be a situation where bots' survival depends on others in its group. A load of individuals with a set of conspec-recognition codes wouldn't cut it.

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?

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?

Bot Challenges / Challenge #3: Neural Network
« on: September 26, 2007, 02:58:55 PM »
I haven't got a proper optimisation method yet, but I have got a way of retrieving useful neural network configurations, by loading hundreds of randomized bots at a time and letting them fight it out.

Four of the most interesting bots I found are attached. Look at them go!  

Some interesting consequences:
 - Bots can form 'memories', formed by loops in their archetecture
 - This can allow bots a certain degree of individuality depending on their experiences
 - Bots have a 'reaction time' during which stimulus' filter from input to output

I think I'm going to let epigenetic evolution (mutations generated between parent and child) handle the connection structuture; The weights and biases of the nodes I think I'd like to have adjusted during a bot's life in accordance with how much pain/pleas it has been getting (so a bot can learn by very dumb trial-and error), and then have the values passed on epigenetically.

Or that's my plan at least. Feel free to play around with my bots and neural network method, experiment, add your own features etc.

Bot Challenges / Challenge #3: Neural Network
« on: September 25, 2007, 04:37:58 PM »
Yep, that does the trick

I've attached the bot with all custom variables removed. It's a bit harder to read, but it loads.

EDIT: And I've also altered the code so that the biases are added, like they are supposed to be, rather than multiplied

A quick tryout with completely randomised neural net settings shows that it also works! Completely scatterbrained, spinning and shooting and moving at random, but reacts to the presence of a something that it can see.

Bot Challenges / Challenge #3: Neural Network
« on: September 25, 2007, 01:11:05 PM »
I've got one! (See attached)

A really simple 2-input, 3-output (one of which is a boolean) 5-invisible-neuron network (or something very loosely resembling something that might be called a neural network  ) with 3 inputs per neuron. All the connectvity data, weightings, biases and node states take up 64 memory slots (902 - 965).

The biggest portion of the code is the declaring of custom variables (I don't know why I even bothered now ).

So far I have no way of actually assigning weights or connections. Its just a demonstrator.
(I'd be mildly surprised if this thing actually works when it does have a system of optimising the weights and connectivity)

Unfortunately, whenever I try and load it into DB the program crashes  



@ Macadamia

Looks interesting. Can't quite work out what's going on though. I'm guessing it's some sort of heuristic system using 'mutation' of variables that in turn control behavior. Am I close?

971 19 rnd add inc 999 ceil store

^ And what does the 999 ceil do there (or the store for that matter)?


(And I've just realised that my .avpleas gene in the original post uses memlocs up to 1041! Doh! )

Bot Challenges / Challenge #3: Neural Network
« on: September 24, 2007, 05:02:06 PM »
That's definitely going to be useful

What I mean by behavior that doesn't come straight from the dna, and by meta-coding, is behavior that isn't genetically deterministically generated by a list of if ... then triggers. Bots that can be affected by their environment, and find their own strategies, rather than reading off a rigid instruction manual.

(Endy has produced some bots which begin along these lines that use evolutionary algorithms made possible by epigenetics. Reproduction values, thresholds and the like are all free-floating and determined by epigenetic inheritance, with slight mutations each time)

An ANN is one such nongenetic approach. The way I think I'm going to start to go about it is to assign each node (~5 invisible nodes, if that?) to a gene, and reserve a bunch of non-sysvar memory locations for weightings (which can be made epigenetic in later functional versions).

Any advice Num?

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.

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 ...


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:



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

*.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

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

Suggestions / Internet mode
« on: September 23, 2007, 11:52:55 AM »
Quote from: Peter
Attacking the sim, this could just cut off diversity, you can have serious have a problem when there are 20 or 30 preditors at desame time attacking the sim, I have had it multiple huge multibots could conquer a small sim pretty fast, I more like the idea of diversity
Diversity is sort of the point. At the moment due to random placement sims get homogenized pretty quick, and bots entering a crowded are automatically outflanked by other bots.

If there were a dedicated "in" teleporter (or more than one), attacking bots could set up their own territories near the teleporter where they can survive as a high-density group, before staking out territories further into the sim as their population grows. Territorial bots like this (and antbots) have been made before.

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?

Evolution and Internet Sharing Sims / Come join the F1 megaverse!
« on: September 22, 2007, 07:00:01 PM »
Currently running a sim on size 2 with non-evolving Bestia Mactabilis. Other bots occasionally teleport in, but nothing takes hold. Is anyone getting any Bestias arriving in they're sims? How do they do?

Preditor7 is a rather interesting one. For a mutated bot with incredibly mutated dna, it's scarily good at fighting and adapting. A few teleport in every so often, and they're usually quite good at holding my bots off for a while.

Internet mode is so fascinating!

Suggestions / Some DNA-Related Feature Requests
« on: September 22, 2007, 08:58:18 AM »
That seems reasonable: .refdnalen, .mutate and .mutgene can be taken off the list.

And I was briefly toying with the idea of a .getgene that sucked genes back through a tie. Add that to my list.

Although ...

.getgene .tieloc store
*.thisgene .tieval store

... and you get the exact same result as a .sendgene sysvar. Bot designers will figure out how to turn anything like this into a weapon anyway.

How about this for a solution :-

Perhaps a 'block all incoming ties' sysvar? Coupled with genetic and evolutionary advantages for using ties (ie. .crossover and gene sharing etc.) And of course - don't forget slime.
Which gives the dilemma - block ties, but be unable to crossover and share genetic material, or lack slime and tie blocks, but be vunerable to tie virus injection and so on.

What I'm getting at is self-replicating and horizontally-transfering genetic structures. At this point genes are permanently bound to individual bots, but I want to see some gene-level selection and evolution.

.crossover I intended as a kind of alternate neutral sexrepro. There are arguments and differing points of view on the best way to actually implement full sexual reproduction, so how about this reproduction-independent capability that we can use in the mean time to experiment and aid evolution.

I feed we've gone far too long without any method of HGT.


Pages: [1] 2 3 ... 35