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

Installera lager Android 5.1.1 firmware på Galaxy View

Stock Firmware är utan tvekan den bästa ROM du kan ha på din enhet. Samsung Galaxy View kommer med Android 5.1.1 Lollipop ur lådan. Denna 18,4 ″ massiva surfplatta från

Anker -diskonteringsräntor sina snabba QI -trådlösa laddningsställ idag, kostar bara $ 19.99 [vanligtvis $ 26]

Anker kör en diskonteringsränta på sin snabba laddning av Qi Wireless Stand. Det är idealiskt för iPhone- eller Android -individer samt packar en fantastisk stil som kommer att smälta bäst

Apple gömde ett semestersäsong påskägg i appen Apple Store, här är exakt hur man upptäcker det

Du är troligen redan medveten om sanningen att det är praktiskt taget jul. Det inträffar varje år, du vet. Du skulle tro att vi skulle vara lite trötta på det