[Kory] ha scritto algoritmi genetici per alcuni mesi. Questo di per sé non è qualcosa di unico o eccezionale, tranne che per ciò che ottiene questi algoritmi genetici da fare. [Kory] ha utilizzato algoritmi genetici per scrivere programmi a Brainfuck. Sì, è una programmazione del computer un computer. Sii grato Skynet è di 18 anni di ritardo.
Quando abbiamo visto il lavoro di [Kory], aveva programmato un computer per scrivere ed eseguire i propri programmi a Brainfuck. Sebbene il nome della lingua [Kory] scelto possa usare un po ‘di lavoro, in realtà è la lingua ideale per i programmi generati dal computer. Con solo otto comandi, ciascuno composto da un singolo carattere, riduce notevolmente il sovraccarico di ciò che qualsiasi algoritmo genetico deve produrre e quale funzione di fitness deve valutare.
C’era una scorta di [Kory] gli sforzi iniziali: funzioni. È relativamente facile ottenere un programma per salutare il mondo, ma per fare qualcosa di complesso, avrai bisogno di qualcosa come una macro o una funzione. Brainfuck, è la sua forma più semplice, non supporta le funzioni. Questo lancia una chiave inglese nel piano [Kory] per far crescere il computer di programmazione del computer più intelligente e superare i minimi locali nei suoi algoritmi genetici.
La soluzione a questo problema è stata la creazione di un nuovo dialetto di Brainfuck [Kory] chiama BrainPlus. Questo prende le parti migliori del Brainfuck esteso e aggiunge un comando che funge fondamentalmente come una dichiarazione di rottura.
Con questo, il computer di programmazione di [Kory] può sviluppare programmi più complessi. Già ha creato un programma per generare i primi numeri della sequenza di fibonacci. Va solo fino a 233 perché 255 è il valore massimo per un byte, e il programma stesso ha richiesto sette ore da generare. Tuttavia, funziona. Altri programmi generati con le nuove funzioni BrainPlus includono recitare 99 bottiglie sul muro e un programma che moltiplica due valori.
Anche se il computer [Kory] spende molto tempo per generare questi programmi, dato abbastanza tempo, non c’è molto questo programma non può fare. Brainfuck e BrainPlus Brainfuck e [Kory], sono completi completi, in modo da conferire all’infinito memoria e tempo che può calcolare qualsiasi cosa. Con la nuova aggiunta di funzioni, può calcolare qualsiasi cosa più veloce.
Tutto il codice per [Kyle] è disponibile su GitHub.