首先,我是一個noob。我也是一名從未製作過硬幣編碼的看門人。這只是我喜歡做的事情。這是爲了好玩:)據說,我寫了這個基於控制檯的tic-tak-toe遊戲,有足夠的ai不會失去每場比賽。 (我猜ai就是它應該被調用的東西。)它有類似70 if/else if語句的計算機轉向。我使用3個int數組,如下所示:如果(),否則如果()在c + +替代(這是AI?)
int L[2], M[2], R[2];
0 =空白; 1 = X; 2 = O;
董事會然後'看起來像'
L [0] | M [0] | R [0]
L [1] | M [1] | R [1]
L [2] | M [2] | [R [2]
所以我基本上寫了每一種可能的情況下我能想到是這樣的:
if(M[0]==1 & M[1]==1 & M[2]==0){M[2] = 2;}//here the computer prevents a win
else if(L[0] ==2&M[1]==2&R[2]==0){R[2]=2;}//here the computer wins
//and so on....68 more times!
我想我的問題(s)爲(是):
有沒有更好的辦法?
有沒有辦法用較少的代碼行來實現相同的結果?
這是否被認爲是人工智能?
一個有趣的井字遊戲算法的實現,可能是一個ImageJ宏,它可以讀取http://xkcd.com/832/上的PNG圖像(例如wget http://imgs.xkcd。 com/comics/tic_tac_toe_large.png)並從中提取他們的答案......任何接受者? – 2011-04-22 21:20:45
保持樂趣!顯然,根據回覆,有很多東西可供你學習。它的美妙之處在於,學習下面這些花哨的流行語,可以打開更多玩法。搜索「tic-tac-toe ai」以找到解決問題的方法。所以你知道,對「有沒有更好的方法來編程?」的正確迴應。是「是的,我的方式」。 :) – gregg 2011-04-22 21:29:32
研究電腦玩遊戲取勝是人工智能領域的一部分。事實上,遊戲是人工智能領域的第一個案例研究。這就是說,爲每一個可能的舉措提供一個罐頭響應並不是真正的AI。 :-)你是提供情報的人;電腦並不是「爲自己弄清楚」。幾乎任何介紹性AI教科書都會討論Colin在下面的答案中描述的Minimax算法。 – 2011-04-22 22:44:56