8 주 강의 Game Playing
Games as search problems Chess, Go Simulation of war (war game) 스타크래프트의 전투 Claude Shannon, Alan Turing Chess program (1950 년대 )
Contingency problems The opponent introduces uncertainty 마이티에서는 co-work 이 필요 고스톱에서는 co-work 방지가 필요 Hard to solve in chess, possible nodes, different legal positions Time limits how to make the best use of time to reach good decisions Pruning, heuristic evaluation function
Perfect decisions in two person games The initial state, A set of operators, A terminal test, A utility function (payoff function) Mini-max algorithm, Negmax algorithms
Mini-max algorithm (AND-OR tree)
상대방의 관점
Negmax Knuth and Moore (1975) F(n) = f(n), if n has no successors F(n) = max{-F(n 1 ), …, -F(n k )}, if n has successors n 1, …, n k
The Negmax formalism
Imperfect Decisions utility function evaluation terminal test cutoff test Evaluation function ::: an estimate of the utility of the game from a given position Chess material value ( 장기도 유사 ) Weighted linear function w 1 f 1 +w 2 f 2 + ….+w n f n
Cutting off search To set a fixed depth limit, so that the cutoff test succeeds for all nodes at or below depth d iterative deepening until time runs out 위험이 있을 수 있다 Quiescent posiiton ::: unlikely to exhibit wild swings in value in near future Quiescent search :: Non-quiescent search extra search to find quiescent position Horizon problem
Alpha-beta pruning Eliminate unnecessary evaluations Pruning
Alpha-beta pruning Alpha cutoff Beta cutoff
Negmax representation
Example
Games with Chance Chance nodes expected value Backgammon, 윷놀이 Expectimax value
A backgammon position
Comparision A 1 A A 1 A MAX DICE MIN
숙제 5.6, 5.8, 5.11, 5.15, 5.16, 5.17