# Qbasicnews.com

Full Version: Mimic DNA?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Here's a pretty good challenge: First of all, create a world. The world will have rules and objects. Such as a fish bowl, and the rules are that the fish cannot pass through the walls of the bowl and food floats on top of the water and disapears when eaten. Anyways, what you come up with for the 'world and it's rules and objects' is up to you. Here is the important part: each object has a nice number of instructions in which it keeps executing over and over. You know, like move, eat, rest, sleep, etc. The instructions are entirely up to you. They can be complex or simple. But here is the catch: the instructions that you give an object must evolve! In fact, another challenge could be writing a program that evolves and changes it's own code! Or just simply adds to it's own code. Have fun!
... a genetic algorithm?

Geez, I couldn't do that. The best I think I could do would be to set up an algorithm to genetically find the best way to find the square root of a number... you're talking a whole world! I don't know whether many people could do that, but if they could it would be a great thing to see
actually it would be more of a evolution algorithm

this would be cool if done but how would you mimic the world.
lets say you start out with cavemen.
1. Hunt
2. Eat
3. Rest

with those simple commands how can you program them to make the wheel?
I think the best way to approach something like this would be not to have named inventions such as the wheel, but things like:

If AnimalSpeed > CaveManSpeed Then
Call Research(FasterCaveManMovement)
End if

although i do agree that this would be a very difficult thing to accomplish. it sits right up there on the shelf next to AI.
That would be difficult also if your not careful the software being able to edit its own code could potentially damage you comp if your not careful.
im thinking conways life, langton's ant here... im not sure i could make one, but its very possible. wait, you mean that you knew it was possible? ok.

eat
reproduce

thats almost all you need to know. end of story.
You could create a program that modifies it's own code, and to make it safe, you could put code in that checks the newly added or modified code to make sure that the program will not overwrite your FAT or reboot the comp everytime it is ran. As for the evolving DNA of an object, such as a caveman, you could give him a list of instructions to start him off. Then the program would keep adding random instructions to his DNA code and I am betting that the caveman would start to do some intelligent things, but only after a long time. Now if we could give the caveman instructions in which the instructions would modify itself to evolve, well that is WAY too hard. But to add code to the caveman's DNA, that would work.

As for the instructions, I think they would have to simple, but very detailed, much like assembler. Like to print text to the screen, it's not like Qbasic where you say PRINT "HELLO" and it's done, there are many instructions that do the work of printing HELLO to the screen. We can evolve DNA like this:

68F9
E967
1A94
33D8
XXXX

You start XXXX off at 0000 and keep incrementing by one. When you reach FFFF, you add another instruction sequence, like this:

68F9
E967
1A94
33D8
FFFF
XXXX

Or you could simply increment 33D8 after the last sequence reaches it's limit:

68F9
E967
1A94
33D9
0000

But to create true DNA, you would need insane amounts of memory or storage space, and not to mention CPU power, to make it just like DNA. But I'm sure it's possible to create a simple DNA, such as a virus or bacteria.
You may check this thread. It is what you want to do: http://www.allegro.cc/forums/view_thread.php?_id=293256