Genetisk algoritm programmerare får funktioner

[Kory] har skrivit genetiska algoritmer i några månader nu. Detta i sig är inte något unikt eller exceptionellt, förutom vad han får dessa genetiska algoritmer att göra. [Kory] har använt genetiska algoritmer för att skriva program i Brainfuck. Ja, det är en datorprogrammering en dator. Var tacksam Skynet är 18 år sent.

När vi först såg [Kory] s arbete, hade han programmerat en dator att skriva och driva sina egna program i Brainfuck. Även om namnet på språket [Kory] valde kan använda något arbete, är det faktiskt det perfekta språket för datorgenererade program. Med endast åtta kommandon, var och en bestående av ett enda tecken, minskar det kraftigt överhuvudet av vad någon genetisk algoritm måste producera och vad en fitnessfunktion måste utvärdera.

Det fanns en brist till [Kory]: s första ansträngningar: funktioner. Det är relativt enkelt att få ett program för att säga Hello World, men att göra något komplext, kommer du att behöva något som ett makro eller en funktion. Brainfuck, det är den enklaste formen, stöder inte funktioner. Detta kastar en skiftnyckel i [Kory ]s plan för att få sin datorprogrammeringsdator att växa smartare och komma över lokala minima i sina genetiska algoritmer.

Lösningen på detta problem var skapandet av en ny dialekt av Brainfuck [Kory] kallar BrainPlus. Detta tar de bästa delarna av Extended Brainfuck och lägger till ett kommando som i princip tjänar som ett brott uttalande.

Med detta kan [Kory] s självprogrammeringsdator utveckla mer komplexa program. Redan har det skapat ett program för att generera de första numren av Fibonacci-sekvensen. Det går bara upp till 233 eftersom 255 är det maximala värdet för en byte, och programmet i sig tog sju timmar att generera. Det fungerar dock. Andra program som genereras med de nya BrainPlus-funktionerna inkluderar att recitera 99 flaskor på väggen och ett program som multipliker två värden.

Även om [Kory] s dator spenderar länge för att generera dessa program, ges tillräckligt med tid, det är verkligen inte mycket det här programmet kan inte göra. Brainfuck, och [Kory] s hjärnplus, är Turing Complete, så det med tanke på oändligt minne och tid kan det beräkna någonting. Med det nya tillägget av funktioner kan det beräkna något snabbare.

All kod för [Kyle] s GA är tillgänglig på GitHub.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

Undervattens ROV

Jason önskade ett grundläggande undervattenshus för sin prisvärda X10-kamera. Han fattade ett beslut att lägga till IR-belysning såväl som thrusters att gå runt. Innan han förstod det hade han en

Amazon Chime Video Conferencing Service introducerar iOS, Android, Windows, Mac

Om du är i en värld där onlinemöten såväl som seminariska telefonsamtal är normen kommer du också att förstå att det finns problem med alla av dem. Val från Skype,

NTP-servern får tid från rymden

billiga GPS-enheter är lättillgängliga idag, vilket är bra om du har något som behöver vara mycket exakt. Att hitta positionen av saker är en av många användningsområden för GPS, men.