- AI Dev - 인공지능 개발자 모임
- 정보공유
- 게임 인공지능
글 수 57
http://mongxmongx2.tistory.com/17
보드게임처럼 1:1로 하는 게임은 보통 MInimax 알고리즘을 사용합니다.
나와 상대방이 하는 경우의 수를 트리로 만들고 가장 점수가 높은 쪽으로 선택합니다.
좀 더 자세한 내용은 아래 링크에서 확인하실 수 있습니다.
http://aidev.co.kr/index.php?mid=game&page=3&document_srl=221
하지만 바둑과 같이 탐색공간이 넓을 경우 Minimax는 계산시간이 너무 오래 걸립니다.
그래서 확률기반으로 랜덤하게 시뮬레이션하는 MCTS(Monte Carlo Tree Search)가 적합합니다.
MCTS는 크게 위와 같이 4가지 과정을 반복합니다.
Selection은 어떤 자식 노드로 이동할지 결정합니다.
Expansion은 노드에서 확장을 할지 멈출지를 결정합니다.
Simulation은 현재 노드에서 게임을 끝까지 플레이하고 결과를 얻습니다.
Backpropagation은 시뮬레이션 결과를 상위노드로 전달해 수정합니다.
알파고에서도 기본적으로 MCTS를 바탕으로 하고
거기에 딥러닝 지도학습과 강화학습을 적용하여 구현하였다고 합니다.
< 인공지능 개발자 모임 >
- 페이스북 그룹에 가입하시면 인공지능에 대한 최신 정보를 쉽게 받으실 수 있습니다.
- https://www.facebook.com/groups/AIDevKr/