• Monte-Carlo method?
• BadukGo AI
• Monte-Carlo Go
– overview
– simulated annealing
– simulated annealing for tree searches
– Gobble approach
• result
• Monte-Carlo method?
• BadukGo AI
• Monte-Carlo Go
– overview
– simulated annealing
– simulated annealing for tree searches
– Gobble approach
• result
Design philosophies
• Minimaxtree search
– 전통적인 AI 기술
– 상대에 대한 최소값을 찾음으로써 플레이어 자신에 대한 최대값
을 찾는다.
• Knowledge-based systems
– heuristics, pattern recognition,
pattern matching
• Monte-Carlo methods
• Machine learning
– genetic algorithm, neural network
11.
AI에 있어 바둑이란?
•놓을 수 있는 위치가 제한되고 완벽한 정보가
있는 게임.
• 체스와 다르게 특정 지역을 제외하곤 아무 곳
에나 말을 놓을 수 있다.
– 게임 트리를 구축하면 체스와 비교도 안 되게 폭
발하는 이유.
• 미칠듯이 방대한 게임 트리
– 트리 서치를 brute force로 하면 답이 없다.
12.
• Monte-Carlo method?
• BadukGo AI
• Monte-Carlo Go
–overview
– simulated annealing
– simulated annealing for tree searches
– Gobble approach
• result
바둑 AI 기본요소
1. 행마 순서를 예측해서 나열해본다.
2. 말을 놓을 위치에 값을 매긴다.
3. 1과 2를 조합해서 다음 말을 놓는다.
15.
Monte-Carlo Go 기본요소
1. simulated annealing 방법으로 확률 값을 할당하
고 랜덤하게 행마를 한다.
– 실제 말을 놓는 건 아님. 시뮬레이션.
2. 게임이 끝났을 때를 기준으로 각 위치 값을 구한
다.
3. 1로 선택된 위치를 2번으로 평가하는 걸 여러 번
반복해서 평균 값을 고르고 가장 높은 값에 말을
놓는다.
– 반복횟수로 난이도 조절. 쉽다.
16.
• Monte-Carlo method?
• BadukGo AI
• Monte-Carlo Go
– overview
–simulated annealing
– simulated annealing for tree searches
– Gobble approach
• result
17.
local minimum
global minimum
각스텝에서 랜덤으로 주변 위치를 찾는다.
온도 T가 감소하는 방향으로 기본적으로 이동. 올라가는 것도 허용
야금학 담금질에서 따온 것.
결함을 작게 하려고 금속에 열을 가하고 냉각하는 기술
목표
18.
바둑에 사용한다면
• localminimum
– 이번 턴에 말을 놨을 때 얻는 이득
• global minimum
– 이번 턴에 말을 놨을 때 게임이 끝난 시점에서
계산한 이득
19.
• Monte-Carlo method?
• BadukGo AI
• Monte-Carlo Go
– overview
– simulated annealing
–simulated annealing for tree searches
– Gobble approach
• result
20.
• 가지치기pruning가 필요
–방대한 트리에서 일부분을 제외해야지 계산할
만하다.
• 어떻게 가지치기를 해야 할까?
– local minimum에 빠지기 십상.
21.
• 발견적 교수법heuristics과랜덤을 사용.
– 여러 번 랜덤으로 말 놓을 놓고 값을 평가한다.
– 이전에 평가한 값이 높았다면 가중치를 준다.
• 단지 분기할 확률만 높일 뿐.
• 강제하지 않는다.
– 결국 가중치와 랜덤으로 global minimum으로
갈 확률을 높여준다.
랜덤 게임을 시뮬레이션이득
• 상대편이 어떤 짓거리를 해도 분명 좋은 수가 있다.
– 하나만 돌을 놓으면 상대방 돌을 잡는 수.
• 선수先手가 무척 중요
– 랜덤으로 걸리기도 함.
• “always look for the biggest move on the
board”
– 바둑 초보자가 노쌍 듣는 말.
– 랜덤 게임으로 더 이익이 큰 행마를 할 수 있다.
27.
• Monte-Carlo method?
• BadukGo AI
• Monte-Carlo Go
– overview
– simulated annealing
– simulated annealing for tree searches
– Gobble approach
• result
30.
Monte-Carlo Go Program
•The Many Faces of Go v12
– 2008 Computer Olympiad
• Leela
• MoGo
– 2007 Computer Olympiad
– Guo Juan(프로 5단) 에게 3판 중 1판 이김. 9X9
• Crazy Stone
• Olga
• Gobble
32.
Reference
• Monte-Carlo Method– Wikipedia
– http://en.wikipedia.org/wiki/Monte_Carlo_method
• Computer Go – Wikipedia
– http://en.wikipedia.org/wiki/Computer_Go
• Monte Carlo Go
– http://www.ideanest.com/vegos/MonteCarloGo.pdf
• Simulated annealing
– http://en.wikipedia.org/wiki/Simulated_annealing
• SICP
• 38/365: Game of Go (碁) - Rrrodrigo
– http://www.flickr.com/photos/rrrodrigo/4339468579/