Design and Implementation of Omok Program Using Game-Tree and Alpha-Beta Pruning

게임 트리와 알파-베타 가지치기를 이용한 오목 프로그램의 설계 및 구현

  • Lee, Kyong-Ho (Department of Information Communication Software, Halla University) ;
  • Han, Won-keun (Department of Information Communication Software, Halla University)
  • 이경호 (한라대학교 정보통신소프트웨어학과) ;
  • 한원근 (한라대학교 정보통신소프트웨어학과)
  • Published : 2018.07.13

Abstract

본 논문에서는 오목을 두는 지능적 프로그램을 설계하고 구현하였다. 규칙은 렌주 룰(renju rule)을 기준으로 하였으며, $15{\times}15$ 게임 판에서 오목을 둔다. 초기에는 문제 분석을 통하여 분석된 가중치로 판단을 하여 판단을 하여 게임을 진행하도록 하였으나, 반복된 수행의 경험적 판단을 통하여 얻은 정보로 여러 차례 수정하며 고정된 가중치를 구성하고, 이 가중치를 게임에서 돌을 놓을 때 평가 기준으로 삼도록 하였으며, 최소-최대 게임 트리(min-max game tree)를 이용하여 상대가 있는 게임을 수행할 수 있도록 하였다. 또한 프로그램 자신에게 유리한 수를 찾기 위한 탐색에서 무의미한 노드들의 전개를 줄여 제한된 시간안에 좋은 수를 찾을 수 있도록 알파 베타 가지치기(alpha-beta pruning)를 사용하도록 프로그램을 구현하였다. 이렇게 구현된 오목 프로그램은 게임을 본 프로그램과 게임 하기 원하는 주변의 일반인들에게 90% 이상의 승률을 보이고 있었다.

Keywords