본문 바로가기
Computer Science/AI

Game Playing

by yongmin.Lee 2020. 7. 19.

Game Playing AI를 적용하는 이유

인간과 바로 비교할 수 있다

game play non-trivial

game is well defined and repeatable

game is limited and accessible

 

One-Ply Search

내가 선택 가능한 case들을 대상으로 evaluation function으로 평가

나에게 제일 유리한 case 선택 => max

 

Two-Ply Search

내가 선택 가능한 case들을 계산하고, 이후 상대방이 선택 가능한 case들까지 계산하여 evaluation fuction으로 평가

상대의 case들 중에서 나에게 제일 치명적인 것을 선택 => min

나에게 치명적인 것들 중에서 나에게 제일 유리한 것을 선택 => max

어차피 지는 경우라면 mini-max 알고리즘이 아닌 다른 알고리즘 적용

 

Mini-Max Algorithm

예상되는 최대의 손실(maximum loss)를 최소화 (minimize) 시키기 위해 사용되는 의사 결정 이론의 한 방법

해당 문제에서 탐색이 끝나면 탐색트리로 부터 최상이라고 추정되는 행동을 찾기 위해, 탐색트리의 단말(leaf) 노드에 정적 평가 함수 (static evaluation function)로 추정값을  얻고 그 단말노드의 가치를 통해 최상의 행동을 찾음

 

Alpha-Beta Pruning (알파-베타 가지치기)

Mini-max 알고리즘에 의해 평가되는 노드들의 수를 감소시키기 위한 기법

- Alpha Cutoff : 최소값에 의한 pruning

- Beta cutoff : 최대값에 의한 pruning

 

Alpha Cutoff (=Alpha pruning)

minimizing ply에서 일어남

ex) B 3을 보장하는 상황에서, C의 가능 case 5 case가 존재하면 C의 남은 case들은 연산할 필요 x
-> -5보다 작은 경우가 있으면 minimizing ply이므로5 보다 작은 case 선택 되어 C<-5, B=3이므로 결국 B가 선택
-> -5보다 큰 경우가 있으면 minimizing ply이므로 C=-5, B=3 이므로 결국 B가 선택

 

Beta Cutoff (=Beta pruning)

maximizing ply에서 일어남

B = -5 일 때, C의 가능 case 7이 존재하면 C의 남은 case들은 연산할 필요 x
-> 7보다 작은 경우가 있으면 maximizing ply이므로 C=7, B=5이므로 결국 B가 선택됨
-> 7보다 큰 경우가 있으면 maximizing ply이므로 C>7, B=5이므로 결국 B가 선택됨

 

Alternatives to Mini-Max

어차피 지는 게임에서는 Mini-Max 알고리즘 대신 다른 알고리즘 적용




'Computer Science > AI' 카테고리의 다른 글

Heuristic Search  (0) 2020.07.19
Convolutional Neural Network  (0) 2020.07.18
신경망 개요 및 구현  (0) 2020.07.18
인공지능, 머신러닝, 딥러닝 개요  (0) 2020.07.18