-5

這可能不是正確的地方,但我對人工神經網絡感興趣並希望瞭解更多信息。如何編寫輸出源代碼的程序

你如何設計一個網絡,並在源代碼上進行訓練,以便它可以提出例如簡單數論問題的程序?

這個研究領域的總稱是什麼?

+1

我知道你想編寫一個基於神經網絡的程序生成器,經過訓練樣本程序後,將解決數論問題,對吧?如果屬實,你的問題是非常天真的,至少有兩個原因。 1)神經網絡不處理字符串,甚至沒有形成良好的語法表達式,2)看起來相似的程序不一定會產生類似的結果(大多數程序以這種方式合成將只會失敗或永遠循環)。 –

+0

您(可能)要解決的區域稱爲*自動問題解決*。 (也涉及*自動定理證明*,它不是真正的AI分支。) –

+0

謝謝你快速回答。 1)我知道神經網絡不處理字符串,但是如果模型有N個輸出節點代表基本的編程塊(循環,條件跳轉等)以及取決於哪些節點觸發了您的合成代碼,該怎麼辦? – dreizehnutters

回答

0

這是一個非常有趣,非常困難的問題領域。它可能需要幾個月的時間來閱讀,甚至可以理解如何解決問題。這裏有幾件事情,可以幫助您開始使用,他們更展現你將面臨比提供解決方案的問題:

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

然後通過閱讀,以​​及相關的論文:

https://arxiv.org/pdf/1410.5401v2.pdf

接下來,你可能想在解析樹/ AST水平讀取程序合成和一代經典論文(大多是出於MIT的,我認爲,在90年代初。)

祝你好運。這不是微不足道的。

+0

我瞭解瞭解析器/編譯器和AST上個學期從哪裏得到的想法。 綜合可能不是困難的部分(不要陷入循環/ Halte-Problem),但問題是你想要綜合什麼...... – dreizehnutters

+0

正如我所說,很難甚至不明白如何攻擊問題:)你可以a)找到一個很大的代碼庫,假設一些小的修改是修復錯誤,並且試着預測代碼塊是否有錯誤 - 這很酷! b)閱讀Eurisko,並試圖找出如何使用人工神經網絡製作現代版本。 – MMN