遺傳算法程序員獲取功能

[Kory]現在已經寫了幾個月的遺傳算法。這本身並不是什麼是獨特的或卓越的,除了他獲得這些遺傳算法做的事情。 [Kory]一直在使用遺傳算法在腦福中寫入程序。是的,這是一台計算機編程計算機。感恩的天網已有18年。

當我們第一次看到[Kory]的工作時,他已經編寫了一台電腦來編寫並運行自己的程序。雖然語言的名稱[kory]選擇可以使用一些工作,但它實際上是計算機生成程序的理想語言。只有八個命令,每個命令由一個字符組成,它大大減少了任何遺傳算法必須產生的開銷以及適合函數必須評估的內容。

有一個缺點是[kory]的初步努力:功能。獲得一個節目說你好世界,但要做一些複雜的事情相對容易,你將需要像宏或函數的東西。 Brainfuck,它是它最簡單的形式,不支持功能。這拋出了[kory]計劃中的扳手,讓他的計算機編程計算機變得更智能,並在其遺傳算法中獲得局部最小值。

解決這個問題的解決方案是創建Brainfuck [Kory]呼叫BrainPlus的新方言。這取得了擴展BrainFuck的最佳部分,並添加了一個基本上用作中斷語句的命令。

有了這個,[kory]的自我編程計算機可以開發更複雜的程序。它已經創建了一個程序來生成前幾個斐波納契序列。它只能達到233,因為255是一個字節的最大值,程序本身需要七個小時才能生成。但是,它確實有效。使用新的BrainPlus功能生成的其他程序包括牆壁上的99瓶和倍增兩個值的程序。

即使[kory]的電腦花了很長時間才能生成這些程序,給出足夠的時間,這個程序真的沒有太多的事情。 Brainfuck和[Kory]的BrainPlus,正在完成,所以給出了無限的記憶和時間它可以計算任何東西。隨著新的函數添加,它可以更快地計算任何東西。

[Kyle] GA的所有代碼都在GitHub上提供。

Leave a Reply

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