Computer Go Research at the University of Alberta Martin Müller
Contents zComputer Go - the challenge zOverview of my current research zOverview of the program Explorer zResearch topics
Computer Go zSimple rules, interesting strategy zClassical games approaches don't work well zA lot of effort, but... zComputers still weak (9k)
State of Go Programming zMany commercial and hobby programs zMain focus: detail knowledge, patterns, heuristics zMain goal: beat other programs A lot of ad-hoc methods, hacking … It's fun, but … is it science? zChallenge: develop sound methods
Current Go Research at UofA zMarkus Enzenberger: NeuroGo, search parameter tuning zAkihiro Kishimoto: Life and Death solver (just started...) zMartin Müller: Explorer, search algorithms Future talks today
My Research zSearch algorithms zGo-related work
Search Algorithms zSlogan: "Search using more than just numbers" zDecomposition search zPartial order bounding zProof-set search zAI Planning
Partial Order Bounding zNew way of evaluation zExample: four values zNo comparison of Draw and Unknown zPartial order of values zPartial Order Bounding: minimax search with partial order zMore flexible than "just numbers" Win Unknown Loss Draw
Decomposition Search zUsual method: global search zDivide-and-conquer approach zIdea: yDivide game into sub-games yDo a local search zTo combine results: combinatorial game theory
Search on DAG's zMany search algorithms developed for trees zBut: many applications use directed acyclic graphs (DAG) or cyclic graphs (DCG) zGoal: develop algorithms that are better suited to DAG, DCG structure
Search on DAG's (2) zProof-Set Search zProblem: find quickest proof of root zStandard method: proof-number search zProblems in DAG zIdea: use proof-sets root leaves
AI Planning zPhD student Adi Botea zAI planning approach to solving Sokoban problems zCombine planning and search zAbstraction
Go-related Research zGames: Go, Amazons zSolve endgames exactly ySolved 5x5 Amazons ySolve Go endgame problems using combinatorial game theory zCapturing races (semeai) zProve safety of territories in Go zExplorer program
Overview of Explorer z15 years old program zMajor rewrites in 1990, 1995 zFocus ystatic position evaluation ylocal goal-oriented search yTest bed for research: endgames, capturing races
Data Structures in Explorer Collections of stones zBlocks zConnections and Chains zGroups Surrounding territory zDividers zZones
Blocks
Connections
Chains
Groups
Dividers
Zones
Goal-oriented Searches zTactical capture ySingle target yMulti-target zLife and Death yMake/take eyes zCapturing races (semeai) zLocal endgame search
Research Goals zTwo goals: yDevelop a strong Go program yResearch and publications zHow to proceed? yExplorer as starting point Refine (debug, add patterns, … ) yRewrite (change weak parts) yDevelop new modules
Research Projects (1) zOpening, early middle game yKnowledge-based yHow to evaluate? yHow to use search? yUse standard corner opening books well
Research Projects (2) zMore goal-oriented searches yConnections yEyes yExpand, defend, invade territory yOpen-area endgame search
Research Projects (3) zCapturing races yEfficient open-area solver yUse knowledge about move types yConditional combinatorial games (CCG)
Research Projects (4) zEndgame yHeuristic search for real endgames yCompute approximate move values (temperature)
Research Projects (5) zGlobal search? zMachine learning in Go? zTest environment, consistency