Darwinbots Forum

General => Leagues => Bot Challenges => Topic started by: PhiNotPi on February 07, 2014, 08:42:24 PM

Title: DNA Obfuscation Contest
Post by: PhiNotPi on February 07, 2014, 08:42:24 PM
This contest is similar in style to the "Obfuscated-C" programming contests.   The main idea is to take a simple robot, say Animal_Minimalis or something not-too-complex, and re-write its DNA such that it is unreadable yet similarly functioning.


For your submission, simply include the "before and after" of the obfuscation. 

There's not going to be an official judging/awards process, but I'm simply interested in seeing what people can write.  It's somewhat open-ended. Have fun!
Title: Re: DNA Obfuscation Contest
Post by: MysticalDumpling on February 08, 2014, 06:55:59 AM
This sounds like fun. Do evobots count? Or just hand-authored?
Title: Re: DNA Obfuscation Contest
Post by: PhiNotPi on February 08, 2014, 08:28:58 AM
I prefer that the bots be handwritten.  I think it is more challenging that way.
Title: Re: DNA Obfuscation Contest
Post by: MysticalDumpling on February 08, 2014, 08:34:46 AM
OK. Is there a specific limit to size? I want to use oculus III, but it is 500+ bp long.
Title: Re: DNA Obfuscation Contest
Post by: Peter on February 08, 2014, 09:26:33 AM
I would prefer a hard limit on the size. In a way that you're doing a lot of complicated stuff, but it doesn't take a lot of room. The way it works also needs to be explained.

A good example is this: http://perl.plover.com/obfuscated/
Only 312 characters, and you don't have a clue what it is doing. Read the explanation and still you're overblown.
Title: Re: DNA Obfuscation Contest
Post by: PhiNotPi on February 10, 2014, 08:25:43 PM
Do you think that 200 BP is enough, or should that be reduced to 100 BP?
Title: Re: DNA Obfuscation Contest
Post by: MysticalDumpling on February 11, 2014, 03:35:49 PM
I would just go with as short as possible (ASAP)  :P
Title: Re: DNA Obfuscation Contest
Post by: MysticalDumpling on February 11, 2014, 04:02:05 PM
I got a bot- you have to run it in a toroidal sim.
'A bot with confuscated code
'Forms lots of tiny little bots that spread around a large sim
'SG bot, for xtra confuscation!

'Actions:
'Reproduce (alot)
'"Play footbal" w/ food using -1 shoots
'Once finished playing with food, fling away!

start
800 inc *310
 500 sub sgn         0 floor
5 mult 300        store   *9 1
sub                        ' '
sgn abs - ++ 467 mult inc *9 1
 
                           sub sgn abs
-                          '   '   '
++                         '   '   '
614 mult 19 store
                     *510 0 sub sgn abs                     *689 *690 angle
    mult 19 store    *510 0 sub sgn abs - ++ 50 mult abs 3 store *810
                     *510 0 sub sgn abs       mult       '   '
*689 *690 dist mult -- abs                               1 store
*728
*708 sub sgn abs *510 10 sub 1 add
sgn 0 floor and 7 mult dec
stop
Title: Re: DNA Obfuscation Contest
Post by: Botsareus on February 11, 2014, 04:13:09 PM
lol, that looks awesome  8)
Title: Re: DNA Obfuscation Contest
Post by: MysticalDumpling on February 11, 2014, 04:22:25 PM
It is. It creates diagonally moving bands of tiny bots that go psychotic once they see something. After a while, this pattern disappears, but they reproduce like fruitflies- 800+ alive, 1000 born in about 600 cycles.
Title: Re: DNA Obfuscation Contest
Post by: MysticalDumpling on February 18, 2014, 05:50:29 PM
As I am the only contestant, looks like I won!  8)
Title: Re: DNA Obfuscation Contest
Post by: PhiNotPi on February 19, 2014, 07:15:54 AM
Here is my current entry, although it is pretty short.  Just let it loose in an area with some veggies.  (tested in 2.46.02beta)

Code: [Select]
start
  ++ *.refeye = *.eye5 = .setaim 300 *.refvelsx .tieval 6 or
 store
 not &
 store
 *.refvelup
 *.eyef dup sgn 50 mult *.eyef >
 add dup sgn store -
 not 7 and store
 1000 mult *.nrg <
 store
end
Title: Re: DNA Obfuscation Contest
Post by: MysticalDumpling on February 19, 2014, 09:25:29 AM
Shoot. I like winning by default. However, mine kicks their butts in a balanced sim.
Title: Re: DNA Obfuscation Contest
Post by: PhiNotPi on February 19, 2014, 05:55:04 PM
Try and figure out how my bot works.  It's probably not that hard, since it's pretty short.  I did use some different techniques than you.

Here is my attempt at understanding your bot's DNA:

Code: [Select]
cond
start
 .out1 inc
stop

cond
 *.nrg 500 >
start
 5 .repro store
stop

cond
 *.robage 1 =
start
 .deltie inc
 614 .setaim store
stop

cond
 *.eye5 0 >  'eyef and eye5 are the same since focuseye has not changed
start
 *.refxpos *.refypos angle .setaim store
stop

cond
 *.eye5 0 =
start
 50 .sx store
stop

cond
 *.in1 0 >
 *.eye5 0 > and
start
 *.refxpos *.refypos dist -- abs .up store
stop

cond
 *.eye5 9 >  'an error in your code made the *.refeye *.myeye part go unused
start
 .shoot dec
stop
end

I did find one error in your code, which is that 'and' should be 'mult' in the second-to-last line.  Overall, you did a pretty good job.
Title: Re: DNA Obfuscation Contest
Post by: spike43884 on January 13, 2015, 01:22:15 PM
OK. if you want to find a judge to de-confuse the code (to judge who's was hardest)
Go to shadowgod2.

If you don't believe he is the best
Look at Aggressive dwarfs, and try to understand and simplify the code without changing the functionality. He did this, allowing mk2 to be made