[Kory] písanie genetických algoritmov už niekoľko mesiacov. To samo o sebe nie je ničím jedinečným alebo výnimočným, s výnimkou toho, čo dostávajú tieto genetické algoritmy. [Kory] používa genetické algoritmy na písanie programov v Brainfuck. Áno, je to počítačové programovanie počítača. Byť vďačný skynet je 18 rokov neskoro.
Keď sme prvýkrát videli prácu [Kory], naprogramoval počítač, ktorý píše a spustil vlastné programy v Brainfuck. Hoci názov jazyka [Kory] si vybral nejakú prácu, je to vlastne ideálny jazyk pre programy generované počítačom. S iba ôsmimi príkazmi, každý zložený z jediného charakteru, výrazne znižuje režijné náklady, čo akýkoľvek genetický algoritmus musí vyrábať a akú fitness funkcia musí vyhodnotiť.
Tam bol jeden nedostatok na počiatočné úsilie [Kory]: Funkcie. Je to relatívne ľahké získať program, aby som pozdravil svet, ale robiť niečo zložité, budete potrebovať niečo ako makro alebo funkcia. BrainFuck, je to jeho najjednoduchšia forma, nepodporuje funkcie. To hodí kľúč v pláne [Kory], aby mal svoj počítačový programovací počítač múdrejší a dostať sa cez miestne minimá v genetických algoritoch.
Riešením tohto problému bolo vytvorenie nového dialektu BrainFuck [Kory] navigácie na BrainPlus. To si vyžaduje najlepšie časti rozšíreného mozgového počítača a pridáva príkaz, ktorý v podstate slúži ako vyhlásenie o prerušení.
S týmto počítačom [Kory] sa môže vytvoriť komplexnejšie programy. Už vytvoril program na vytvorenie prvého niekoľkých čísel sekvencie Fibonacci. Ide len do 233, pretože 255 je maximálna hodnota pre bajt, a samotný program trvalo sedem hodín na generovanie. To však funguje. Ďalšie programy generované s novými funkciami BrainPlus zahŕňajú recitovanie 99 fliaš na stenu a program, ktorý násobí dve hodnoty.
Aj keď [Kory] je počítač stráviť dlhú dobu na generovanie týchto programov, daný dostatok času, nie je to naozaj veľa tohto programu nemôže robiť. BrainFuck, a [Kory] BrainPlus, sú Turing Complete, takže daná nekonečná pamäť a čas môže niečo vyvolať. S novým pridávaním funkcií môže čokoľvek rýchlejšie vypočítať.
Všetok kód pre [Kyle] je k dispozícii na github.