Code center > Darwinbots3

IRL DNA

(1/3) > >>

jknilinux:
Will it be possible to make DNA where, no matter what the sequence is, it WILL do something? See Jot . I quote from the website

"Every combination of 0's and 1's is a syntactically valid Jot program"

I think this would simulate DNA MUCHH better than our current "Magic string" system, where only a select few magic strings of DNA actually do something. It would be a nightmare to try and see what a 500bp jot program does, but I think it would be perfect for evosims. For example, in IRL DNA any string of ACTGs produces a protein, no matter what. I'm pretty sure Jot can also self-modify.

So, how hard would it be to implement this language as an option? Would making a de-obfuscator/assembler be possible?

Numsgil:
Actually this is something I did for DB2 in version 2.4, and DB3 inherits this legacy.  Every sequence of base pairs is syntactically valid and will do something.  Though without a store statement somewhere it'll mostly just push and pop values from the stack without changing a bot's behavior.  Compare this with pre 2.4 DNA or something like C, where if you permute a valid program you do not necessarily get a valid program.

This is important for mutations.  Before, the mutations had a high level understanding of DNA.  Mutations added and removed entire conditions and statements, and the gene structure was rigidly enforced.  Now, mutations can be entirely stupid about how DNA actually works.  They just add and remove, and reorder, and duplicate, etc. "beads" from a string of beads.

Peter:
Will DB3 still be able to run DB2 kind of DNA.

I'm not talking about if the behavior is the same. Just that it does something, and not crashes.

Numsgil:
DB3 won't crash.  But the syntax isn't compatible so it'll give a "compile error" when you try to load the DNA.  Sysvars might be named something different so it'll give you other compile errors along these lines, too.

jknilinux:

--- Quote from: Numsgil ---Actually this is something I did for DB2 in version 2.4, and DB3 inherits this legacy.  Every sequence of base pairs is syntactically valid and will do something.  Though without a store statement somewhere it'll mostly just push and pop values from the stack without changing a bot's behavior.  Compare this with pre 2.4 DNA or something like C, where if you permute a valid program you do not necessarily get a valid program.

This is important for mutations.  Before, the mutations had a high level understanding of DNA.  Mutations added and removed entire conditions and statements, and the gene structure was rigidly enforced.  Now, mutations can be entirely stupid about how DNA actually works.  They just add and remove, and reorder, and duplicate, etc. "beads" from a string of beads.
--- End quote ---

DB3 can modify the DNA inside codules too, right? How do you imagine zerobots to evolve with codules?

Navigation

[0] Message Index

[#] Next page

Go to full version