본문 바로가기
Lecture/파이썬으로 만드는 AI 오델로 게임

1. AI 오델로 게임 만들기 소개

by 작은별하나 2022. 9. 13.
반응형

1. 오델로 게임

오델로(Othello) 게임은 널리 알려진 2인 보드용 게임입니다.  원래의 기원은 1880년경 루이스 워터맨과 제임스 몰렛이라는 사람이 만든 리버시(Reversi) 게임입니다.  이 게임을 1898년 독일의 게임 회사인 라벤스부르그(Ravensburger)사가 가져와서 게임으로 출시했습니다.

1970년에 하세가와 고로가 일본에서 오델로(Othello)란 이름으로 보급하게 되었습니다.  오델로란 이름은 세익스피어의 소설 오셀로에서 가져왔는데, 하세가와측에서는 바둑에서 영감을 얻은 것이지 리버시를 차용한 것은 아니라고 부정하고 있습니다.  하지만 리버시와 연관성을 부정한 것은 저작권 문제로 보일뿐, 리버시와 같은 방식의 게임 방법 등, 유럽 문화에 익숙했던 하세가와 고로가 리버시를 차용했을 가능성이 높다고 판단됩니다.

하세가와측은 완구업체 츠쿠다를 통해서 오델로를 상품화했고, 현재의 오델로 게임 모습을 띄게 되었습니다.  본 강의에서는 우리나라에 널리 알려진 명칭인 오델로로 사용하고 있지만, 뿌리는 리버시(Reversi)이고 외국에서는 여전히 리버시라고 불리는 예가 많아서 프로그램 등에서는 여전히 리버시(Reversi)란 명칭을 사용하고 있습니다.

 

1.1 오델로 게임의 규칙

오델로 게임의 규칙은 복잡하지 않고 단순한 편입니다.

오델로 게임판

오델로 게임판은 가로 8칸, 세로 8칸의 정방형을 사용합니다.  두명의 유저가 각각 32개씩의 돌을 나누어 갖는데, 돌의 한쪽면은 하얀색, 다른면은 검은색을 가지고 있기때문에, 돌을 뒤집으면 색을 바꿀 수 있습니다.

최초 시작시에는 중앙에 2개의 흰돌과 2개의 검은돌을 번갈아 배치합니다.  최근에는 컴퓨터 인공지능이 높아져서, 이런 인공지능을 피하기 위해서 변종 초기값을 주는 경우도 있습니다.

두명이 번갈아가면서 한번에 한개의 돌을 놓을 수 있습니다.  돌을 놓을 수 있는 조건은 돌을 놓음으로써, 자신의 돌이 상하좌우와 대각선 방향으로 상대편 돌이 자신의 돌 사이에 적어도 1개 이상 끼어있어야 합니다.  끼어있다는 것은 사이에 비어있는 칸이 있어서도 안 되고, 자신의 돌에 의해서 가려져서도 안 됩니다.  돌을 놓으면, 모든 방향에서 끼어져 있는 상대편 돌을 뒤집어서 자신의 돌이 되게 합니다.

◈된 부분에 흰돌을 놓을 수 있다.

만약 놓을 수 있는 칸이 없으면, 상대편에게 패스를 하게되며, 상대편도 더이상 놓을 수 있는 칸이 없으면 게임이 종료됩니다.  게임이 종료되었을 때, 게임판에 있는 색깔별 돌의 개수를 세어서 많은 쪽이 승리를 하게 됩니다.

 

 

2. 구현 목표

오델로 게임의 구현 목표는 오델로 게임 인공지능을 구현하는 것입니다.  신경회로망을 이용해서 간단한 형태의 오델로 게임부터 강화학습과 딥러닝을 이용한 오델로 게임까지 구현할 예정입니다.

 

파이썬으로 구현한 인공지능 오델로 게임

 

아래는 강화학습 딥러닝을 학습하는 시연 영상입니다.

 

728x90

댓글