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

Automatisk 3D-skanning på den billiga

efter att ha hört om några 3D-objektskannrar, trodde du att ett av dessa verktyg kunde hitta en plats i sin verkstad. Priset på dessa skannrar gjorde honom omprövning helt enkelt

Apple vs Samsung Patent Battle: De 5 innehåller stulna från iOS

Apple samt Samsung är två av den mobila industrins mest betydande namn, liksom som sådana, är de hårdaste rivalerna. Men medan konkurrensen är frisk i den kontinuerliga striden om överhöghet,

Apple firar ännu en seger över Motorola Mobility i German Court

Det visar sig vara mycket tufft att hålla poäng i de pågående juridiska tvisterna mellan Apple och Motorola, med båda företagen som noterar tillfälliga segrar under de senaste veckorna. Idag