DeepCoder

DeepCoder

DeepCoder是微軟和劍橋大學聯合開發的一種計算機算法,可以用於自行編寫代碼並解決簡單的數學問題。該系統分成兩個組成部分:代碼編寫算法,以及搜尋潛在代碼的機制。該算法發表於2016年11月的論文中。

基本介紹

  • 外文名:DeepCoder
  • 屬性:算法
  • 開發者:微軟、劍橋大學
  • 功能:能自行編寫代碼解決簡單數學問題
發展歷程,算法結構,算法特點,算法評價,

發展歷程

2016年11月,微軟和劍橋大學開發了這種能夠自行編寫代碼解決簡單的數學問題的算法DeepCoder,它能夠通過研究有哪些潛在的代碼組合可以解決問題,來強化自己的能力。
DeepCoder
DeepCoder套用

算法結構

該算法分成兩個組成部分:代碼編寫算法,以及搜尋潛在代碼的機制。

算法特點

DeepCoder夠自行編寫代碼解決簡單的數學問題,還能夠搜尋可帶來可行解決方案的潛在代碼,這可強化它自身編寫代碼的能力。它並不是像StackOverflow或者GitHub那樣通過掃描熱門代碼庫來獲得解決方案,儘管研究人員很希望這一點未來可以實現。
DeepCoder的任務可以比作是在毫無語言知識的情況下僅用一些單詞來造一個關於狐狸越過小狗的句子。一開始你可能會得到“狐狸狐狸狐狸狐狸狐狸狐狸”,然後是“狐狸狐狸狐狸狐狸狐狸小狗”……直至恰當的句子出現。思考該項任務的另一種方式是Salesforce人工智慧研究者史蒂芬·梅里蒂(Stephen Merity)的“無限猴子理論”。該理論說,讓無限數量的猴子完全無限時地在鍵盤上任意敲字,最終會寫出像莎士比亞那樣的作品。這裡說的是同樣的事情,不同的就只是猴子的鍵盤不是打字,而是敲代碼。
但算法搜遍程式所有的變異版本,找出正確的那個的能力,是該團隊的真正貢獻:該算法可預測哪些代碼最有可能被用來解決問題,然後先關注那些解決方案。如果算法找到合適的激發,那問題就被視作已經解決,它對於什麼才是合適的代碼的理解也隨之增進。
搜尋代碼聽上去像是人類的做法——上網去尋找一些代碼行來解決他們的問題——但這只是最接近於恰當描述該算法生成和整理代碼過程的說法。如果人類要做該人工智慧那樣的技術,那就等於是輸入他們能夠想到的所有代碼組合,然後複製貼上剛記入新檔案的代碼,再看看是否行得通。

算法評價

微軟和劍橋團隊表示,他們希望該系統未來能夠理解完整程式語言的細微差別,能夠識別網路上的優質代碼。
研發者之一,微軟研究院研究者馬克·布洛克施密特(Marc Brockschmidt)表示,“我們在瞄準那些不懂得或者不想編程,但能夠鑑別問題的人。”他稱該項技術就像是Excel公式,後者接收簡單的指令就能夠得出答案,無需獲得數學方程式。

熱門詞條

聯絡我們