아이티-잉

공부하며 정리하는 IT블로그

Today   Total  
2023년! 복 많이 받으세요

인공지능 오목 프로그램 :: Yixin(이씬; 일명 알파오)

2016. 3. 28. 19:36

알파오(Alpha-O?!)


(이미지 캡쳐 : 1박 2일)


최근 화제가된 인공지능 바둑기사 '알파고'에 힘입어, 다양한 프로그램에 인공지능이 등장하고 있다.

그리고 가장 화제가된 1박 2일 예능프로그램의 인공지능 오목기사 알파오(?).


사실 알파오는 애칭개념이고, 본래 프로그램 명칭은 Yixin(이씬)이다.





이씬 Yixin



공식 홈페이지 주소는 http://www.aiexp.info/pages/yixin.html와 같고 링크를 따라가면 된다.


개발자가 말하는 프로그램 소개를 살펴보면,

이씬은 세계에서 가장 강력한 오목엔진이라고 말하고 있다.

꾸준한 버전업을 거쳐 지금은 GUI버전의 2015년 6월(June)버전이 가장 최신버전이다.

대회도 진행중이라고 하는데 자세한 사항은 위에 링크한 공식홈페이지에서 확인하자.





~ 광고 타임 ~




다운로드


공식홈페이지에서 다운받거나, github에서 다운받을 수 있다.

우리는 화면이 잘 그려진 GUI 버전을 받아야 한다.


그런데! 홈페이지에서 GUI+ Engine 항목의 Yixin 2015를 다운받으려고 하면

다음과 같은 화면을 보게될 수 있다.




즉, 필자는 해당 링크가 아닌 하단에 위치한 github를 통해 다운받는 것을 권하고 싶다.

공식 홈페이지에서 조금만 내려보면 GUI 라는 항목 아래 Yixin board 1.9이라는 항목이 있다.

찾기 귀찮다면, 링크(https://github.com/accreator/Yixin-Board)를 통해 이동하자.






gihub를 통해 위와 같이 Download ZIP 버튼을 눌러서 다운받고 압축을 풀면 된다.


그리고 혹시 모르니 백신 프로그램을 실시간 감시해두길 권하고 싶다.


그 이유는!





악성코드인 트로이목마(TR/Dynamer.ac.11020)를 발견했기 때문이다.


당황하지말고, Yixin2014_July.exe 파일만 실행말고 삭제하도록 하자.

트로이목마 악성코드는 해당 파일만 건들지 않으면 절대 감염되지 않는다.





참고로 트로이목마 악성코드는 주로 무료 프로그램에 심어져 자료 유출 목적으로 흘러 들어오곤 한다.

때문에 인터넷 이용시 항상 백신을 실행시켜 두자.


참고로 무료 백신에 대해선 차후 별도로 포스팅해보겠다.


포스팅했으니 백신에 관심있다면 참고하자.




~ 광고 타임 ~




설치



어찌됐든 우리는 알파오와 붙어야되므로 Yixin2014_July.exe 해당파일만 제거하고,

Yixin2015_June.exe를 설치하면 된다.


위 파일 경로는 압축풀고->Yixin-Board-master/release/win32 폴더 안에 있다.






설치 중에 Create a desktop icon항목을 체크하여 바탕화면에 아이콘을 만들도록 하자.

설치 기본값이 모두 체크가 풀어져있기 때문에 저렇게 해둬야 차후 실행하기 편하다.





실행



클릭으로 진행할 수 있고, 몇 가지 옵션도 제공한다.

보이는 화면에 나온 몇 가지 메뉴를 살펴보면,


Undo ALL : 모든 항목을 이전으로 되돌린다.

Undo : 한 수 뒤로 돌린다.(한 수 물기)

Redo : 한 수 다시 살린다.

Redo ALL : 모든 수를 다시 살린다.

Stop : 멈춘다.

Play : 인공지능이 한 수 둔다.





또한 흑돌과 백돌을 고를 때 Player 항목에서 설정할 수 있다.

다중 선택이 가능하므로 컴퓨터끼리 두도록 할 수도 있다.






~ 광고 타임 ~





+ 설정


원래 설정은 다루지 않으려했는데, 많은 분들이 찾는 것 같아서 올려본다.

아마 이씬을 이기고 싶어서 설정을 변경하려 할 것 같다.


그래서 난이도 설정 방법을 간단하게 알아보자.




Player - Settings 항목을 통해 설정창을 열 수 있다.


Custom Level 항목은 입맛대로 설정하는 항목이다.



항목

단위

설명

Turn time

 이씬의 계산 제한 시간이다. 계산을 해야하는 상황에서는 무조건 해당 시간을 채우게 된다. 즉, 늦출 수록 늦게 둔다.

Max depth

플라이

 경우의 수의 최대 깊이를 설정한다. 예를들어, 우회전 후 좌회전이면 깊이가 2가 되는 셈이다. 즉, 클수록 많이 따진다.

Match time


 아직 확인이 안됐는데, 아는 분의 제보가 있을 경우 반영하겠다.

Max node number

백만

 연산시 점들이 생겨나는 것을 볼 수 있는데, 각 점이 노드다. 점들을 찍어가며 경우의 수를 계산하는데, 최대 수를 제한할 수 있다. 즉, 적을 수록 경우의 수 계산이 줄어든다.



커스텀 레벨 항목 외에도 하단에 1dan, 2dan, 쭉쭉쭉 있는 것을 볼 수 있다.

말 그대로 오목 1단, 2단에 해당한다.

물론, 프로그래머가 임의로 설정한 '단'이므로, 실제와 동일한 수준이라고 볼 수 없다.


그리고 가장 밑에 있는 Unlimited Time이 제일 못 두는 건 아니다.

이를 선택하면, 글자 그대로 시간제한 없이 두는 오목이 된다.


즉, 커스텀 설정을 제외한 이씬의 가장 낮은 난이도설정은 1단이 된다.









두번째 탭에는 스타일(Style)을 설정할 수 있다.

이씬의 성향을 원하는 대로 적용해주면 된다.


Rash : 성급하게 두는 성향이다.

Cautious : 조심스럽고 신중한 성향이다.






리소스(Resource) 탭에서는 해시 크기(Hash size)를 설정할 수 있다.

여기서 해시는 컴퓨터에서 사용하는 용어로, 고정 할당이라고 생각하면 된다.


해시는 간단하게 말하면 별도의 태깅을 하는 것과 같다.

예를들어, 최근 화제가 된 프로듀스 101에서 101명의 이름을 외우는 것보다

순위로 접근하는 것이 훨씬 용이해진다.


바로 이 순위가 일종의 해시가 되는 셈이다.


즉, 해시 크기가 낮을 수록 경우의 수 탐색이 용이해지지만 충돌가능성이 높아진다.

반대로 높을 경우 탐색시간이 늘어나지만 정확성은 높아지게 된다.









마치며



졌다....




대략 10판 넘게 진 것 같은데 이긴 사람이 있을지 궁금하다.




일단 끝!






~ 광고 타임 ~