成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AI系統首次實現自主編程,完爆初級程序員!

人工智能
讓AI自動編程是人工智能領域長久以來的夢想之一。現在,來自彭博和英特爾實驗室的兩位研究人員,號稱實現了首個能夠自動生成完整軟件程序的AI系統“AI Programmer”,這個“AI程序員”利用遺傳算法和圖靈完備語言,開發的程序理論上能夠完成任何類型的任務。AI自動編程的時代,大幕已開。

讓AI自動編程是人工智能領域長久以來的夢想之一。現在,來自彭博和英特爾實驗室的兩位研究人員,號稱實現了首個能夠自動生成完整軟件程序的AI系統“AI Programmer”,這個“AI程序員”利用遺傳算法和圖靈完備語言,開發的程序理論上能夠完成任何類型的任務。AI自動編程的時代,大幕已開。

讓AI自動編程一直是計算機科學家的夢想。目前這個方面的成果還非常有限,比如讓AI自動補完編程語言,或者執行簡單的加法程序。今天我們要介紹的這項工作,號稱是第一個能夠全自動生成完整軟件程序的機器學習系統“AI Programmer”。

研究人員表示,他們用這個系統證明了長久以來的假設,那就是功能完備的程序確實能夠被自動生成。具體到這項工作,AI Programmer利用機器學習中的遺傳算法,模擬復雜的指令。雖然現在AI Programmer生成的程序,復雜程度與人類新手程序員編寫的結果相當。但研究人員認為,AI Programmer編寫的程序完全可以超越傳統范疇,不受人類時間和智慧的局限。

AI編寫的程序只是在測試復雜度和計算資源之間找得到最適合的點。換句話說,可能性無限。

研究人員還表示,我們需要重新思考,設計新的、面向機器的編程語言,因為當前的編程語言是面向人類的,不適用于基于ML的編程。“在考慮ML驅動程序生成的未來時,我們需要放棄和重新考慮典型程序語言創建的方法。”

研究人員寫道,只有這樣做,我們才能開始設想一個由AI系統驅動,以人類創造力和設計為指導的計算機軟件開發的新未來。

 

 

 

 

AI Programmer的軟件架構

從圖中可見,由人類驅動的部分非常少,只需要在開始輸入指令,最后接收適用于某項任務的函數即可,剩下部分全部由機器完成。

AI Programmer:利用遺傳算法自動生成程序,理論上能夠完成所有類型的任務

根據論文,研究人員選擇了無類型編程語言,只包括了8種指令來驅動AI Programmer生成軟件。

 

 

[[206762]]

 

 

AI Programmer使用的編程語言是圖靈完備的,如表1所示。理論上,在時間和內存不限的情況下,圖靈完備編程語言能夠處理任何編程任務。本質上,任何一種具有這種特質的編程語言都能夠解決海量編程問題。同樣,AI Programmer生成的軟件能夠完成所有任務。

有了這個保障,再來看AI Programmer的核心——遺傳算法。

要使用遺傳算法生成軟件程序,必須首先創建一個基因組(genome)。基因組是一組被組合在一起作為單個單元的基因。AI Programmer的基因組編碼為浮點數組,每個唯一指令的固定值范圍在0和1之間,如上面表1的基因范圍列所示。

創建好基因組后,AI Programmer就將其轉換為相應的程序,執行,并根據程序的輸出為結果程序分配適合度。生成的程序越靠近解決提供的任務,適應度就越高,越有可能繼續進行下一代的進化。在每一代,AI Programmer利用隨機選擇以及交叉和變異來創建子程序,其中包含輕微的隨機擾動,并且可能比其父母更好的基因組來解決目標任務。

 

 

 

 

圖3展示了從浮點數組中構建基因組的實例。每個值范圍映射到編程語言中的特定指令。最初,這些值是隨機的,導致生成的程序無法正常運行。但是,其中必將有一兩個能夠運行并執行一些有效的指令。一個程序執行得越成功,就越有可能繼續使用代碼,實現更成功的后代。

 

 

 

 

為了創建后代,父母將其基因的一部分交給孩子,這個過程如圖4所示。除了繼承父母的編程指令外,每個孩子也可能會遇到突變,也就是對特定基因增加受控但隨機的擾動。這導致特定基因的值發生修改,使所得到的編程指令發生變化,進而改變整個程序。

 

 

 

 

可執行程序根據其執行情況進行排名,如圖5所示。其中,特定程序會被立即從基因組池中刪除,成功的方案則被推進以產生新的后代。

AI Programmer使用結果:輸出“Hello World”,反轉字符串,加減乘,輸出斐波那契數列……

AI Programmer由C#.NET設計的模塊化框架組成。包括運行遺傳算法的引擎,基因組編碼器和解碼器,用于執行模擬程序的沙箱解讀器,以及將代碼轉換為二進制可執行文件的編譯程序。雖然最初設計AI Programmer的時候使用C#,但需要注意的是,設計原則并不限于使用C#。

研究人員指出,AI Programmer的適應性測試軟件框架具有延展性,并已被開發。用戶可以自己設計無數的定制化軟件,最終指導系統的遺傳算法(GA)生成和軟件程序演變。

 

 

 

 

如果目標程序旨在生成一個字符串,如”Hello World”(見上圖),測試分數可能是字符串中的數字。但由于AI Programmer是在字節級生成代碼,測試分數應將輸出字符的增量差考慮在內。

研究人員表示i,他們能用AI Programmer生成很多軟件程序。表2是所生成程序的名單。

 

 

 

 

一開始,研究人員讓AI Programmer生成了一個非常簡單的程序來輸出“hi”。經過5700代后,測試成功。生成代碼如圖9所示。

 

 

 

 

經過580,900代后,生成了“hello world”,如圖10所示。

 

經過6,057,200代后,AI Programmer成功生成了”I love all humans”,如圖11所示。

 

 

 

 

AI Programmer生成反轉字符串的程序。生成代碼如圖13所示。

 

 

 

 

AI Programmer能在92,400代之后生成加法程序;在177,900代之后生成減法程序,如圖15所示。

 

 

 

 

圖16所示的生成程序可以從兩個初始輸入值來輸出斐波納契序列。

 

論文:AI Programmer,使用遺傳算法自動創建軟件程序

 

 

摘要

在本文中,我們介紹了首個能夠自動生成完整軟件程序的機器學習(ML)系統,全程只需最低限度的人類參與。這個系統名叫“AI Programmer”,以遺傳算法(GA)為核心,加上緊密約束的編程語言,將其ML搜索空間的開銷降到最低。AI Programmer的新穎部分源于(i)獨特的系統設計,包括用于效率和安全性的嵌入式手工解釋器(hand-crafted interpreter),以及(ii)對遺傳算法的增強,納入了指令基因(instruction-gene)隨機化綁定,以及編程語言特定的基因組構建及消除技術。我們詳細介紹了AI Programmer的系統設計,詳細介紹了系統的工作原理,以及使用主流CPU來演示其軟件生成功能和性能的實驗數據。 

責任編輯:龐桂玉 來源: THU數據派
相關推薦

2017-09-22 14:12:04

AI

2017-10-27 18:20:59

程序員

2025-01-13 09:30:00

2015-11-03 11:01:26

編程Anders微軟

2017-10-26 09:34:23

谷歌AI機器學習

2020-04-04 20:59:28

程序員技術開發

2012-08-30 10:05:40

編程編程語言程序員

2013-11-14 10:05:25

程序員職業轉型

2013-06-09 13:24:00

程序員Bug

2018-05-29 22:38:49

AI程序員代碼

2023-06-14 15:16:41

AI編程

2018-09-10 09:18:30

程序員領導加班

2014-06-13 11:03:19

程序員

2012-06-15 09:54:58

程序員編程開發

2011-11-11 16:20:22

編程

2015-08-11 09:20:51

初級程序員Linux命令

2024-12-04 13:25:46

2021-06-30 15:05:15

VS Code程序員編程

2023-09-26 01:27:09

AI程序員軟件

2017-08-11 16:40:21

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本在线看| 亚洲欧美中文日韩在线v日本 | 亚洲精品在线视频 | 国产成人精品一区二区三区四区 | 国产精品一区久久久 | www.亚洲精品| 一本一道久久a久久精品综合蜜臀 | av天天看| 精品91久久| 亚洲国产福利视频 | 尹人av| 毛片99 | 一区二区三区高清在线观看 | 福利成人 | 91.com视频| 国产性生活一级片 | 国产99热精品 | 欧美v日韩| 国产精品一区二区久久 | 久久久久久久一区二区三区 | 成人高清在线视频 | 亚洲一区二区精品视频 | av入口 | 国产精品国产三级国产aⅴ中文 | 国产视频一区二区在线观看 | 国产精品亚洲精品久久 | 日日草夜夜草 | 日本精a在线观看 | 久久高清免费视频 | 精品国产三级 | 国产高清视频在线观看 | 高清一区二区视频 | 亚洲精品字幕 | 91av视频| 国产aa| 亚洲福利在线观看 | 国产伦精品一区二区 | 91精品国模一区二区三区 | 日韩在线不卡视频 | 红色av社区| 在线播放一区二区三区 |