[Kory] pisze algorytmy genetyczne na kilka miesięcy. Sam w sobie nie jest wyjątkowy lub wyjątkowy, z wyjątkiem tego, co otrzymuje te algorytmy genetyczne. [Kory] stosuje algorytmy genetyczne do pisania programów w BrainFuck. Tak, jest to programowanie komputera komputera. Bądź wdzięczny Skynet ma 18 lat późno.
Kiedy po raz pierwszy zobaczyliśmy pracę [Kory], zaprogramował komputer do pisania i prowadzenia własnych programów w BrainFuck. Chociaż imię języka [Kory] wybrałaby niektóre prace, jest to idealny język programów wygenerowanych komputerowo. Dzięki zaledwie ośmiu poleceń, z których każdy składający się z pojedynczej postaci, znacznie zmniejsza, że każdy algorytm genetyczny musi produkować, a funkcja fitness musi ocenić.
Początkowe wysiłki [Kory] było jedna wskaźnik: funkcje. Jest stosunkowo łatwo, aby uzyskać program do przywitania świata, ale zrobić coś złożonego, potrzebujesz czegoś takiego jak makro lub funkcję. BrainFuck, to najprostsza forma, nie obsługuje funkcji. To rzuca klucz w planie [Kory], aby jego komputer programistyczny rozstał się mądrzejszy i dostać lokalną minimę w algorytmach genetycznych.
Rozwiązaniem tego problemu było stworzenie nowego dialektu BrainFuck [Kory] połączenia Brainplus. Wykonuje to najlepsze części rozszerzonego brainfuck i dodaje polecenie, które zasadniczo służy jako oświadczenie o włamanie.
Dzięki temu komputer [Kory] jest opracowywanie bardziej złożonych programów. Już stworzył program do generowania pierwszych kilku numerów sekwencji Fibonacci. Idzie tylko do 233, ponieważ 255 jest maksymalną wartością dla bajtu, a sam program wziął siedem godzin do generowania. To jednak działa. Inne programy generowane z nowymi funkcjami Brainsplus obejmują recytujące 99 butelek na ścianie i programu, które wielokrotne wielokrotne wielokrotne wartości.
Nawet jeśli komputer [Kory] spędza dużo czasu na wygenerowanie tych programów, podano wystarczająco dużo czasu, nie ma zbyt wiele tego programu nie może zrobić. Brainfuck, i [Kory] Brainsplus, turinują kompletne, dzięki czemu dana nieskończona pamięć i czas może cokolwiek obliczyć. Dzięki nowym dodatkowi funkcji może obliczyć coś szybszego.
Cały kod dla [Kyle] jest dostępny na GitHub.