현재 취미삼아 오델로 프로그램을 만들고 있는 1人..

그런데 보통 세고 센 오델로 AI 처럼 단순한 프로그램을 제작 하고 싶지 않아서 좀 독특(?) 하게 제작 하고 있습니다.

보통 프로그램은 현재 둘 수 있는 자리중에서 모든 노드를 검색하고 쓸모 없는 가지를 쳐내는 방식으로 수십수 까지 추적하고 있는걸로 알고 있는데, 이 방법에는 분명히 한계가 있다고 생각하여 전혀 다른(정말 그런진 모르지만) 방식으로 제작하고 있습니다.

제브라에 비교해 보면.. 우선 수 깊이 1에서 현재 상황의 모든 자리에 한번씩 놓아보고 평가함수를 돌려서 최선의 수를 찾는 방식인데

제껀 안그렇습니다.

생각할 때 돌하나 안놓아보고 단지 모양만 가지고 둘 자리를 결정합니다.

이러면 컴퓨터의 입장에서는 제대로 두기 힘들거라 생각할지도 모르지만.. 그래도 지금은 비교적 많은 판의 모양을 컴터에 입력시킨 상태라.. 제브라 1수랑 붙여보니 만만 하더군요.
즉, 직관으로 두는 AI를 어느정도는 완성한 셈입니다.(허접한 완성도때문에 올리진 못하겠군요..)
물론 모양 대한 정보를 제가 일일이 다 입력해야 하지만.. 언젠간 스스로 학습할 수 있게 할 생각이고..

그런데 제가 현실성에 대해 묻고 싶은것은 이게 아닙니다.

아무리 직관에 의존한다 해도 어느 한계를 넘을 수는 없죠.

이런 수읽기 방식은 어떨까요?

약간 수학적인 표현이 나오니 이해 하는분만..

저는 먼저 이 직관적인 AI의 평가 수치가 얼마나 정확한지가 궁금해서 제브라 연습모드로 들어가 24수 세팅 후

각 자리에 대한 평가수치와 제 프로그램의 평가수치의 차이를 데이터화 시킨 후 표준편차를 구해봤습니다.

대략 5~10정도 되더군요.

대충 10정도 된다 치고.. 이 상황에서 가설을 세워봤습니다.

먼저 컴퓨터가 이렇게 수를 읽도록 
 1) 직관에 의존한 방법으로 현재 상황에서 끝까지 빠르게 한 판을 둔다( 즉 자기 혼자 대충 한판을 둔다는 뜻입니다)
 2)    (1)의 과정을 수백번, 많게는 수천번 반복하여 각 게임의 결과를 평균 낸다.
 3)   이 평균값이 현재 상황에 대한 평가수치

즉, 가지 형태로 검사하는게 아니라 1자 모양으로 여러번의 검사를 하는것입니다.

1,2 과정을 한 400번 정도 반복했다고 하면 기본 평가수치의 표준편차가 10이므로 평균의 표준편차는 10/√400 = 0.5
(물론 수학적으로 이상적인 정규분포에서만 그렇지만..)

이는 최종 평가수치가 실제 값의 ±1 범위 내에 들 확률이 약 95% 임을 의미합니다.

1)에서 한판을 다 두는데 많아봐야 60번의 검사를 하게 되고,  이를 400번 반복한다면 총 node는 24000 n 정도입니다.

이정도면 계산하는데 1초도 안걸리죠...

제브라 24수가 수천만회 이상의 검사를 한 후 결과를 내는것에 비교하면 상당히 경제적인 수읽기 아닐까요?

이해한 분들의 의견을 부탁드립니다.