우선, 나는 멍청한 놈입니다. 나는 또한 한푼도 작성한 코드를 작성한 적이없는 장교입니다. 이것은 내가하는 것을 좋아하는 것입니다. 그것은 재미 있습니다 :) 그 말은, 모든 게임을 잃지 않을만큼 인공 지능을 가진이 콘솔 기반의 tic-tak-toe 게임을 썼습니다. (나는 ai가 호출되어야한다고 생각합니다.) 컴퓨터에 대한 if/else if 문이 70과 비슷합니다. 다음과 같이 3 개의 int 배열을 사용했습니다.if(), else if() C++에서 대체 (이 AI입니까?)
int L[2], M[2], R[2];
0 = 공백; 1 = X; 2 = O;
그런 다음 'Looks'like 보드
L [0] | M [0] | R [0]
L [1] | M [1] | R [1]
L [2] | M [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!
:
더 나은 방법이 있나요 R [2]
그래서 나는 기본적으로 내가 좋아하는 뭔가를 생각할 수있는 모든 가능한 시나리오를 썼다?
적은 코드 행으로 동일한 결과를 얻을 수있는 방법이 있습니까?
이것은 인공 지능으로 간주됩니까?
tic-tac-toe-playing 알고리즘의 흥미로운 구현은 아마도 ImageJ 매크로로 http://xkcd.com/832/ (즉 wget http : //imgs.xkcd)의 PNG 이미지를 읽습니다. co.kr/comics/tic_tac_toe_large.png) 그리고 답변을 추출하십시오. –
계속 재미있게 보내세요! 분명히 응답을 기반으로, 당신이 배울 수있는 것들이 많이 있습니다. 그것의 아름다움은 아래의 멋진 유행어 중 하나를 배우는 것이 더 많은 물건을 가지고 놀 수 있다는 것입니다. 문제에 대한 접근법을 찾으려면 "tic-tac-toe ai"를 검색하십시오. 그리고 여러분도 알다시피, "이것을 프로그램하는 더 좋은 방법이 있습니까?" "예. 내 길"입니다. :) – gregg
게임을하는 컴퓨터를 연구하는 것은 인공 지능 분야의 일부입니다. 실제로 게임은 인공 지능으로 태클 된 최초의 사례 연구였습니다. 즉, 모든 가능한 이동에 대해 미리 준비된 응답을 제공하는 것은 실제로 AI가 아닙니다. :-) 당신은 지성을 제공하는 사람입니다. 컴퓨터는 스스로를 "알아 내지 못"합니다. 방금 소개 한 인공 지능 교과서에서는 콜린 (Colin)의 대답에 설명 된 미니 맥스 (Minimax) 알고리즘에 대해 설명합니다. –