Jak prodávat digitální produkty? Digital Electronics Genetický algoritmus programátor dostane funkce

Genetický algoritmus programátor dostane funkce

[Kory] píše genetické algoritmy po dobu několika měsíců. To samo o sobě není nic jedinečného nebo výjimečného, ​​s výjimkou toho, co dostává tyto genetické algoritmy. [Kory] používá genetické algoritmy psát programy v Brainfuck. Ano, je to počítač programování počítače. Buďte vděčný Skynet 18 let pozdě.

Když jsme poprvé viděli práci [Kory], naprogramoval počítač napsat a provozovat své vlastní programy v Brainfuck. Ačkoli název jazyka [Kory] zvolil, by mohl použít nějakou práci, je to vlastně ideální jazyk pro počítačové programy. Pouze s osmi příkazy, z nichž každý se skládá z jediného znaku, to výrazně snižuje režii, jaký každý genetický algoritmus musí vyrábět a to, co musí fitness funkce vyhodnotit.

Tam byl jeden nedostatek na počáteční úsilí [Kory]: funkce. Je poměrně snadné získat program, aby řekl Hello World, ale udělat něco složitého, budete potřebovat něco jako makro nebo funkce. Brainfuck, to jeho nejjednodušší forma, nepodporuje funkce. To hodí klíč v plánu [Kory], aby jeho počítačový programovací počítač roste chytřejší a dostat se přes místní minim ve svých genetických algoritmech.

Řešením tohoto problému bylo vytvoření nového dialektu BrainFuck [Kory] volá Brainplus. To trvá nejlepší části rozšířeného brainfuck a přidává příkaz, který v podstatě slouží jako prohlášení přerušení.

S tím, [Kory], s vlastní programovací počítač může rozvíjet složitější programy. Už vytvořil program pro generování prvních několik čísel fibonacci sekvence. To jen jde až 233, protože 255 je maximální hodnota pro bajt a program sám trval sedm hodin pro generování. To však funguje. Jiné programy generované s novými funkcemi Brainplus zahrnují recitaci 99 lahví na zdi a program, který násobí dva hodnoty.

I když [Kory] je počítač tráví dlouhou dobu, aby generoval tyto programy, daný dostatek času, tam opravdu není moc tento program nemůže udělat. Brainfuck, a [Kory], S Brainplus, jsou naturální kompletní, takže daná nekonečná paměť a čas může něco vypočítat. S novým přidáním funkcí může něco rychleji vypočítat.

Veškerý kód pro [Kyle] je k dispozici na GitHub.

Leave a Reply

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