Code center > Dead-End and Solved Suggestion Requests

If--then--else

(1/3) > >>

Numsgil:
Currently genes follow the pattern:

if (cond)
then (start)
endif (stop)

If you want to follow an if-then-else structure, then you need two genes.  Not a problem for bot writers, but difficult for mutating bots to achieve.

So I propose:

cond

start

else

stop

Where everything after else is executed if the cond fails.  If no else is detected then it follows the current system.  Should make for more powerful mutations.

PurpleYouko:
I like that from a programmers point of view but how would it compare to real genes?

I would like to get some input from the biologists before making any decisions about this.

Shvarz will be back in a couple of days. Let's see what he thinks.

shvarz:
From my point of view this should not matter at all.  This part of DB has almost no relation to real biology anyway.

I just have one comment: it should be done in a way that still allows junk DNA.  The way I see it, the system should work like this:

we have a "gene execution" flag that can be set to 0, +1, or -1

true condition sets the flag to +1
false condition sets the flag to -1

- when flag is set to +1, program scans for first available "start" and executes the gene, flag is set to 0

- when flag is set to -1, program scans for first available "else" and executes commands after it, then sets flag to 0

- when flag is set to 0, program does not execute neither "start" nor "else", just scans for the next "condition"

This way we can have "cond", "start" and "else" parts in any order we want.  The whole deal with "bursting babies when stop is missing" should be removed by the way (or addressed in some way)

Numsgil:
In 2.36 babies shouldn't burst anymore.  I messed with the code that does it and...

well, I think there are some weird ways to crash it now to be honest.

I think Junk DNA, chromosomes, etc. should be the next major update over enzymes.  What do you think?

shvarz:
You mean before enzymes?  Sure, why not.  What do you mean by chromosomes?


I'd put priorities like this:

1. All bugs need to be ironed out.
2. Interface simplified (I have some ideas, will type them in later)
3. Wiki and website (I hope I'll have time to work on these in the next week or two)
4. Add new stuff

For enzymes we can start with a separate system to test these things out.  Do you think the code for enzymes and metabolism can be done in a way so that we can have a separate program to play with just that?  Would be very useful for us and for future demonstrations on how things work.

Navigation

[0] Message Index

[#] Next page

Go to full version