Goal-driven Mechanism in Interim.2 Go Program

Slides:



Advertisements
Similar presentations
M9302 Mathematical Models in Economics Instructor: Georgi Burlakov 3.1.Dynamic Games of Complete but Imperfect Information Lecture
Advertisements

1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
Motion Planning for Point Robots CS 659 Kris Hauser.
Part2 AI as Representation and Search
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Search for Transitive Connections Ling Zhao University of Alberta October 27, 2003 Author: T. Cazenave and B. Helmstetter published in JCIS'03.
Combining Tactical Search and Monte-Carlo in the Game of Go Presenter: Ling Zhao University of Alberta November 1, 2005 by Tristan Cazenave & Bernard Helmstetter.
Planning in Go Ling Zhao University of Alberta September 15, 2003.
Paper Title Your Name CMSC 838 Presentation. CMSC 838T – Presentation Motivation u Problem paper is trying to solve  Characteristics of problem  … u.
Metarules To Improve Tactical Go Knowledge By Tristan Cazenave Presented by Leaf Wednesday, April 28 th, 2004.
An Adversarial Planning Approach to Go Paper Authors: S. Willmott, J. Richardson, A. Bundy, J. Levine Presentation Author: A. Botea.
1 An Improved Safety Solver for Computer Go Presented by: Xiaozhen Niu Date: 2004/02/24.
SubSea: An Efficient Heuristic Algorithm for Subgraph Isomorphism Vladimir Lipets Ben-Gurion University of the Negev Joint work with Prof. Ehud Gudes.
Inside HARUKA Written by Ryuichi Kawa Surveyed by Akihiro Kishimto.
1 Game Playing Chapter 6 (supplement) Various deterministic board games Additional references for the slides: Luger’s AI book (2005). Robert Wilensky’s.
A Heuristic Search Algorithm for Capturing Problems in Go Authors: Keh-Hsun Chen and Peigang Zhang Presenter: Ling Zhao August 8, 2006.
Monte Carlo Go Has a Way to Go Haruhiro Yoshimoto (*1) Kazuki Yoshizoe (*1) Tomoyuki Kaneko (*1) Akihiro Kishimoto (*2) Kenjiro Taura (*1) (*1)University.
Multipurpose Strategic Planning In the Game of Go Paper presentation Authors: Shui Hu and Paul E. Lehner Presentation by: Adi Botea.
1 Recognizing safe territories Presented by: Xiaozhen Niu Date: 2003/09/22.
Multipurpose Adversary Planning in the Game of Go Ph.D thesis by Shui Hu Presenter: Ling Zhao Date: November 18, 2002.
1 An Open Boundary Safety-of- Territory Solver for the Game of Go Author: Xiaozhen Niu, Martin Mueller Dept of Computing Science University of Alberta.
Project Workshops Results and Evaluation. General The Results section presents the results to demonstrate the performance of the proposed solution. It.
Dynamic Decomposition Search for the One-Eye Problem Akihiro Kishimoto
Introduction to Computer Technology
Knowledge Acquisition from Game Records Takuya Kojima, Atsushi Yoshikawa Dept. of Computer Science and Information Engineering National Dong Hwa University.
Dynamic Network Emulation Security Analysis for Application Layer Protocols.
Discovery of Cellular Automata Rules Using Cases Ken-ichi Maeda Chiaki Sakama Wakayama University Discovery Science 2003, Oct.17.
#2. UIL Chess Puzzle Practice Material This year’s UIL Chess Puzzle Test includes “solve the mate” positions similar to last year’s, but it also tests.
Techniques for Analysis and Calibration of Multi- Agent Simulations Manuel Fehler Franziska Klügl Frank Puppe Universität Würzburg Lehrstuhl für Künstliche.
Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur Guided By – Prof. Amitabha Mukerjee.
Case study of Several Case Based Reasoners Sandesh.
Subsumption Architecture and Nouvelle AI Arpit Maheshwari Nihit Gupta Saransh Gupta Swapnil Srivastava.
EDUMUN 2015 Position Papers. Learning Targets 1.Learn how to research relevant information and reliable sources 2.Learn to organize ideas coherently 3.Learn.
Consultant Advance Research Team. Outline UNDERSTANDING M&E DATA NEEDS PEOPLE, PARTNERSHIP AND PLANNING 1.Organizational structures with HIV M&E functions.
 Defined STEM and 21 st Century Teaching and Learning Evelyn Wassel, Ed. D.
Beyond Chunking: Learning in Soar March 22, 2003 John E. Laird Shelley Nason, Andrew Nuxoll and a cast of many others University of Michigan.
A Scalable Machine Learning Approach to Go Pierre Baldi and Lin Wu UC Irvine.
1 Evaluation Function for Computer Go. 2 Game Objective Surrounding most area on the boardSurrounding most area on the board.
Introduction to Machine Learning, its potential usage in network area,
Systems Analysis and Design
Knowledge Representation and Reasoning
Engineering Fundamentals and Problem Solving, 6e
CSC 321: Data Structures Fall 2016
EDUMUN 2015 Position Papers.
C. Kiekintveld et al., AAMAS 2009 (USC) Presented by Neal Gupta
Foundations of Planning
Knowledge Representation and Reasoning
Artificial Intelligence and Society
HUMAN RESOURCE GOVERNANCE, RISK MANAGEMENT AND COMPLIANCE
Artificial Intelligence Lecture No. 6
Fight Game Brian Kessler.
Fundaments of Game Design
Types of Algorithms.
Introduction Artificial Intelligent.
KS2 Maths Meeting Thursday 28th September.
Claire NAUWELAERS, independent policy expert
John E. Laird 32nd Soar Workshop
Types of Algorithms.
SAT-Based Optimization with Don’t-Cares Revisited
CIS 488/588 Bruce R. Maxim UM-Dearborn
Artificial Intelligence: Logic agents
EA C461 – Artificial Intelligence Problem Solving Agents
Haskell Tips You can turn any function that takes two inputs into an infix operator: mod 7 3 is the same as 7 `mod` 3 takeWhile returns all initial.
The INTERACT Website: Important source of information for the ETC Community Karen Vandeweghe, Communications Manager, IS Bratislava 27 January 2010.
Stepping on Earth: A Roadmap for Data-driven Agent-Based Modelling
Artificial Intelligence
Types of Algorithms.
Solving problems by searching
Junit Tests.
Solving problems by searching
Presentation transcript:

Goal-driven Mechanism in Interim.2 Go Program Ling Zhao University of Alberta Go Seminar on September 29, 2004

Outline Overview of the Interim Go program Framework Probe Examples Experimental results After thoughts

Overview of Interim.2 Program Developed by Bruce Wilcox and Walter Reitman in 1970s (1972-1979), 7 man-years, 8K lines of LISP. At least 6 papers published based on this program addressing different aspects: structure & performance, pattern matching, planning, knowledge representation, goal-driven analysis, etc.

Framework of Interim.2 MOVE REFLEX UPDATE.POINT.TYPES LOCAL.URGENT UPDATE.STRINGS UPDATE.LENSES UPDATE.LINKS UPDATE.GROUPS UPDATE.WEBS UPDATE.SECTOR.LINES UPDATE.TERRITORIES UPDATE.TACTICAL.ANALYSES [PROBE] UPDATE.GROUP.STABILITY.ESTIMATES REFLEX LOCAL.URGENT PLAY.JOSEKI STRING.ATTACK.AND.DEFEND LINK.ATTACK.AND.DEFEND RE.EDGE.LINK [PROBE] VITAL.SHAPE.POINT CONTACT.FIGHT DEVELOP.GROUP KILL.CUTTING.STRING EXTEND.AND.SQUEEZE COUNTERATTACK CROSS.SECTOR.LINE STABILIZE.POTENTIAL.TERRITORY RUN.TO ATTACK.GROUP WIPE.OUT SHAPE.POINTS SQUEEZE ENCLOSE RUN.TOWARD.DEAD.GROUP EXTEND.SECURE.INVADE DEVELOP.POTENTIAL.TERRITORY ENDGAME

Probe: overview Best-first problem-solving system inside Interim.2. Designed to model how skilled human player solve tactical problems by selective search. Application: problem solving under dynamic or adversarial environments

Probe: framework Input: A tactical goal. Output: Result of the goal, move, dependency points & areas, validity of the result. PROBE SEARCH DEVELOP.GOALS ENTRY.FAIL? RESUME.GOALS? RESULT.FAIL? RESOUCES [LIBERTY.ESTIMATEOR] [QUICK.KILL] GOAL.FAIL? [BAD.SACRIFICE?] SUBGOAL GOAL.REPLY REPLY.FAIL? BACKUP.FAIL? BACK.ONE STORE

Reinstate high-priority goals? RESUME.GOALS? Reinstate high-priority goals? RESULT.FAIL? Check if the same source results in a failure before. RESOUCES Collect information about the means available for pursuing the current goal. LIBERTY.ESTIMATEOR Compute how many more liberties can be gained by augmenting a string. QUICK.KILL Specialized look-ahead routine for ladder-kill and forced search. GOAL.FAIL? Check if current goal fails or succeeds. BAD.SACRIFICE? Check if sacrificing current goal will fail/succeed the original goal. PROBE SEARCH DEVELOP.GOALS ENTRY.FAIL? RESUME.GOALS? RESULT.FAIL? RESOUCES [LIBERTY.ESTIMATEOR] [QUICK.KILL] GOAL.FAIL? [BAD.SACRIFICE?] SUBGOAL GOAL.REPLY REPLY.FAIL? BACKUP.FAIL? BACK.ONE STORE

Propose a move based on current goal, will call SEARCH again. SUBGOAL Choose among various general methods available for achieving a goal and generate a subgoal if possible. GOAL.REPLY Propose a move based on current goal, will call SEARCH again. REPLY.FAIL? Move filter. BACKUP.FAIL? If the current goal fail, check if backing up to some antecedent goal. BACK.ONE Restore and try another resource. PROBE SEARCH DEVELOP.GOALS ENTRY.FAIL? RESUME.GOALS? RESULT.FAIL? RESOUCES [LIBERTY.ESTIMATEOR] [QUICK.KILL] GOAL.FAIL? [BAD.SACRIFICE?] SUBGOAL GOAL.REPLY REPLY.FAIL? BACKUP.FAIL? BACK.ONE STORE

Resources Organized as a set of packets. Each packet contains all instances of one type of resources. A packet has two lists: one for un-probed instances and the other for those otherwise. Instances are ordered best first.

Resources: example Relevant resources: a. liberty points of S, DEFEND-STRING/ATTACK-STRING goal with some string S. Relevant resources: a. liberty points of S, b. enemy strings adjacent to S

Packet 1 for DEFEND-STRING A packet containing all of the possible plays upon a liberty point of S. Associated with each of these points is the following information: (a) the set of friendly strings adjacent to that point; (b) the set of enemy strings adjacent to that point; (c) the liberty count S will have if defender plays at this point (d) the liberty count S will have if attacker plays at this point

Packets 2-4 for DEFEND-STRING 2. A packet containing all enemy strings adjacent to S, ordered weakest first. 3. A packet containing all double-threat plays 4. A packet containing all enemy strings that can be QUICK-KILLed.

Output of Probe Type of the call and target Result and move for attacker and defender to play first respectively. A list of relevant points (must be empty). A list of relevant strings (only consider the liberty count).

Example After White move at C2: REFLEX LOCAL.URGENT PLAY.JOSEKI STRING.ATTACK.AND.DEFEND LINK.ATTACK.AND.DEFEND RE.EDGE.LINK [PROBE] VITAL.SHAPE.POINT CONTACT.FIGHT DEVELOP.GROUP KILL.CUTTING.STRING EXTEND.AND.SQUEEZE COUNTERATTACK CROSS.SECTOR.LINE STABILIZE.POTENTIAL.TERRITORY RUN.TO ATTACK.GROUP WIPE.OUT SHAPE.POINTS SQUEEZE ENCLOSE RUN.TOWARD.DEAD.GROUP EXTEND.SECURE.INVADE DEVELOP.POTENTIAL.TERRITORY ENDGAME After White move at C2: LOCAL.URGENT -> RE.EDGE.LINK -> Get B2 and B3 from patterns -> CAN’T CUT? for B3-> PROBE

Example PROBE SEARCH DEVELOP.GOALS ENTRY.FAIL? RESUME.GOALS? RESULT.FAIL? RESOUCES [LIBERTY.ESTIMATEOR] [QUICK.KILL] GOAL.FAIL? [BAD.SACRIFICE?] SUBGOAL GOAL.REPLY REPLY.FAIL? BACKUP.FAIL? BACK.ONE STORE PROBE INPUT: Search type (CONNECTED-EXTENSION) Move considered (B2) Side to move (Black) Two endpoints for linkages (B2,C3) Update all data structures for a hypothetical black move at B2. Initial goal for Black: DEFEND-LINK B2-C3 Initial goal for White: ATTACK-LINK B2-C3 SEARCH -> DEVELOP.GOALS ENTRY.FAIL? No. RESOUCES (a) moves to attack the linkage (b) alternate path to tie the two endpoints (c) enemy strings adjacent to both endpoints 7. GOAL.FAIL? No. 8. SUBGOAL? No.

Example PROBE SEARCH DEVELOP.GOALS ENTRY.FAIL? RESUME.GOALS? RESULT.FAIL? RESOUCES [LIBERTY.ESTIMATEOR] [QUICK.KILL] GOAL.FAIL? [BAD.SACRIFICE?] SUBGOAL GOAL.REPLY REPLY.FAIL? BACKUP.FAIL? BACK.ONE STORE 10. GOAL.REPLY: get B3 from resource(a) 11. REPLY.FAIL for B3? No. 12. return to DEVELOP.GOALS 13. return to SEARCH 14. SEARCH calls MOVE to place another hypothetical white move B3. 15. DEVELOP.GOALS -> ENTRY.FAIL? -> RESOUCES -> GOAL.FAIL? -> SUBGOAL 16. SUBGOAL proposes a subgoal of killing B3 to advance the original goal. SUBGOAL calls QUICK.KILL to check feasibility. 17. SUBGOAL adds ATTACK-STRING and DEFEND-STRING GOALS to goal stacks. 18. Goes back to DEVELOP.GOALS. 19. ENTRY.FAIL? ->RESOUCES-> GOAL.FAIL? 20. GOAL.FAIL? B3 is killable -> BAD.SACRIFICE? B3 is essential. 21. Goal fails for attempt at B3 22. Back up and try another resource. 23. No more moves. 24. Return result: Linkage safe.

Discussion Resources: rule-based static analysis to propose moves A goal can be assisted with subgoals, but no coordination between subgoals. No necessary conditions between goal and subgoals, which resulted in many complexities. One goal can have several subgoals, and although they all will be evaluated, it seems only one will be actually tried (put into goal stacks).

Experimental results Claimed about 27 kyu for the program. 278 test positions from 2 test games. Classified into 3 categories by Wilcox: easy (10 kyu rank), moderate (4 kyu rank), and hard (1 dan rank). Accuracy rate (including both results and reasoning): easy: 88%, moderate: 56%, hard: 100% but only 3 hard positions.

After thoughts A first complete goal-driven Go program. Strategic framework: rule-based system Tactical layer: static analysis (patterns, rules) and look ahead. Very constrained goal-driven search. No real decomposition for goals. Experimental results seem very impressive.

References Walter Reitman and Bruce Wilcox. The structure and performance of the Interim.2 Go program. In Proceedings of the Joint Conference on Artificial Intelligence, pages 711 - 719, 1979. Walter Reitman and Bruce Wilcox. Modeling tactical analysis and problem solving in Go. In Proceedings of the Tenth Annual Pittsburg Conference on Modelling and Simulation, pages 2133 - 2148, Pittsburg, 1979. Instrument Society of America.