출처 -
http://blog.naver.com/hellz777오델로 AI의 구성
오델로 AI뿐만 아니라 이런구도의 퍼즐&전략게임은
대략 두개의 구조로 AI가 구성됩니다...
일단 기본적으로 내가 이렇게 두면 다른 사람이 이렇게 두듯이
인간이 하는 수읽기를 하는 구조가 먼저 필요합니다...
이 탐색알고리즘도 여러종류가 있죠..
깊이 우선방식과 넓이 우선 방식, MINMAX등 여러방식이 있습니다...
보통 이런종류 게임에선 MINMAX를 많이 사용하더군요...
MINMAX란 나는 항상 최상의 수를 구사하고 적도 최상의 수를 구상하는 알고리즘입니다..
이 알고리즘을 얼마만큼 잘 짜서 검색해야 하는 상황을 줄이면서도
깊게 탐색하는게 AI가 얼마나 강한지 결정하는 요소중의 하나죠..
만약에 최하위 트리에서 승리하는 노드들만 거슬러 올라가면서 탐색할수 있다면
매우 강한 AI가 되겠죠..
하지만, 이렇게 한다고 해도 모든 탐색트리의 최하위까지 검색할려면 시간이 너무 걸립니다..
통상적으로 10^6정도가 컴퓨터가 풀수 있는 단위라고 옛날 책에서 본거 같네요(정확한건 아님--)
그래서 평가함수(evaluation functions)란게 등장하게 됩니다..
간단히 말하자면 현제의 국면을 분석하여 점수를 매겨 국면을 평가하는거죠...
이것도 방식이 무지하게 많습니다...
가장 단순한 Disk-square table부터 인공신경망까지....
일단 제가 읽어본 문서들을 보자면 딱 하나의 수학적 수식으로 결정되는것보다
휴리스틱(인간의 경험적 정보)로 결정되는게 더 많이 보이더군요...
요약하지면 강한 AI는 탐색알고리즘과 평가함수의 견고성을 갖추어야 할거 같군요...
개인적으로 탐색알고리즘은 평가함수가 정확히지 않으면 큰힘을 발휘할수 없으니
평가함수가 더 중요하지 않을까 생각되기도 합니다..
국내 싸이트엔 이러한 정보가 별로 없는거 같습니다..
일단 제 검색실력이 좋은편이 아니지만, 이런 지식이 크게 공개되어 있지 않은거 같네요..
외국경우엔 국제 대회를 온라인에서 개최하기도 하고
제작팀싸이트도 있는거 같은데, 국내엔 별로 없는거 같아서 아쉽군요 ==;
오델로클럽 최근 댓글