180 likes | 297 Views
Using Partial Order Bounding in Shogi. Game Programming Workshop 2003 Reijer Grimbergen, Kenji Hadano and Masanao Suetsugu Department of Information Science Saga University. Contents. Why Partial Order Bounding? The problems of using a scalar evaluation function
E N D
Using Partial Order Boundingin Shogi Game Programming Workshop 2003 Reijer Grimbergen, Kenji Hadano and Masanao Suetsugu Department of Information Science Saga University
Contents • Why Partial Order Bounding? • The problems of using a scalar evaluation function • What is Partial Order Bounding? • Using Partial Order Bounding in Shogi • Implementation issues • Results • Conclusions and Future Work
Why Partial Order Bounding?Scalar evaluation function • Perfect play in two-player perfect information games • Mini-max search until the game theoretical value of the current position is known • Infeasible for most interesting games • Search needs to be cut off before the game theoretical value is known • An evaluation function is needed to estimate the probability of winning when the search is terminated • The evaluation function • Contains most of the domain-dependent knowledge • Generally a weighted sum of feature values:
Possible solution: Partial Order Bounding Why Partial Order Bounding?Problems of a scalar evaluation • Unstable positions • Long term strategic features • Large weights will give tactical problems • Small weights make it impossible to follow long term plans • Close to terminal positions • Sometimes a single feature is enough for a conclusion
f1 f2 f3 f4 What is Partial Order Bounding?Partial Order Evaluation • Partial order evaluation • Keep the complete set of feature values • Compare the feature values to decide which position is better
f1 f2 f3 f4 What is Partial Order Bounding?The problem • Why is partial order evaluation not enough? • Which is better: P1 or P2? • The problem: Antichains • A subset of the partial order for which all pairs of distinct elements are incomparable • Example: {f2, f3} is an antichain
What is Partial Order Bounding?Dealing with antichains • Simple approach: keep partially ordered values in every node of the search tree • Leads to large sets of incomparable options • Reducing these sets leads to loss of information • Partial Order Bounding • Separate comparison and value back up • Define a target vector with targets for each of the feature values in the antichain • Use search to determine if the target can be reached
What is Partial Order Bounding?Example of partial order bounding T1 = {5, 3} T2 = {6,4} T1: + T2: – A T1: + T2: – T1: – T2: – B C D E F G (11, 5) (5, 7) (6, 8) (4, 3) T1: + T2: + T1: + T2: – T1: + T2: + T1: – T2: –
Partial Order Bounding in ShogiImplementation decisions • Which partial order evaluation to use? • How to set the search targets? • What to do if the search target is met or fails? • What search depth should be used?
Partial Order Bounding in ShogiPartial order evaluation • We have used the following antichain • Material • Strength of attack • Strength of defense • This partial order evaluation is • Representative • Has dominating features
Partial Order Bounding in ShogiSetting the search targets • Setting the target too low • Many moves for which the target is met: which one to choose? • Setting the target too high • No moves for which the target is met: no move can be played • Our solution • Perform a shallow α–βsearch and use the result as the first target
No general solution: tuning problem Partial Order Bounding in ShogiSuccess and failure • POB is a series of searches with different bounds • Problems in this approach • How to set the targets to minimize the number of iterations? • Which targets to increase or decrease?
Another tuning problem Partial Order Bounding in ShogiSearch depth • In POB there is no definite target check • A deeper search can reveal that the target is unreachable • Optimization • Target is reached if it the player to move has reached its target • Not very likely to avoid a search explosion
ResultsImplementation schemes • Target settings • Scheme A (equal weight): Increasing or decreasing all three search targets by 250 • Scheme B (more weight to material): Increasing or decreasing the material feature by 400 and attack and defense by 100 • Scheme C (more weight to attack): Increasing or decreasing the attack feature by 400 and material and defense by 100 • Note: the defense feature did not give good results • Really part of the antichain? • If the target fails or succeeds for all moves, the target changes are halved
ResultsSearch depth • 3-ply α–β search to determine the initial search targets • 3, 4 and 5-ply searches for the POB iterations • 50 test problems • The first (easiest) problem from Shukan Shogi 750 to 799
ResultsDiscussion • 4-ply POB using scheme C gives the best results • 27 solved problems in 48 seconds on average • Surprisingly, giving more weight to attack gives better results than giving more weight to material • Increasing by 400 not the best? • Setting the search target has a big impact • For 4-ply POB there are only 6 problems that are solved by all three implementation schemes
Conclusions and Future Work • POB can not be considered a general solution to the problem of using scalar evaluation functions • Careful tuning is needed to use POB in a specific game • What to do if time runs out without finding a single best move? • POB is an interesting search method for shogi • Searching different targets in parallel • Combining POB with a normal minimax search