2014-07-26 60 views
-6

我有一個半AI代碼的想法,它有一個單獨的ai.h和ai.cpp文件,其中包含大量的AI程序,但是有可能在更新代碼的同時,或者再次運行ai之前?這是main.cpp中至今用C++自動更新自己的AI代碼

int main(){ 
    start: 
    string value1 = ""; 
    cout << "Hello, I am AI, what do you need?\n"; 
    cin >> value1; 
    cin.get(); 
    ai(value1); 
    goto :start 
} 

例如,用戶可以輸入「更新‘定義’‘什麼是’」,然後鍵入的內容是會做同樣的打字定義,但我會怎麼做AI更新自己?

+4

這個問題似乎是無關緊要的,因爲OP在嘗試實現遺傳算法之前應該訪問一些CS類。 – kay

回答

3

至於你可能會更滿意的答案:Google "Prolog"。您可以在運行時更改知識庫,這與遺傳算法不同,但比您的平均Eliza更具動態性。另外,由於大多數Elizas都是用Prolog編寫的,所以你有一個很好的起點。

當然,由於您的目標語言C++是圖靈完整的,您可以自己實現所有的Prolog功能。你也可以用生鏽的叉子反覆刺入自己的眼睛。這兩件事情都和智能一樣。