1 / 20

Goal-driven Mechanism in Interim.2 Go Program

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.

kevork
Download Presentation

Goal-driven Mechanism in Interim.2 Go Program

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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.

  4. Framework of Interim.2 MOVE UPDATE.POINT.TYPES 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 [PROBE] SQUEEZE ENCLOSE RUN.TOWARD.DEAD.GROUP EXTEND.SECURE.INVADE DEVELOP.POTENTIAL.TERRITORY ENDGAME

  5. 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

  6. 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

  7. 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 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.

  8. 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 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.

  9. 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.

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

  11. 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

  12. 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.

  13. 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).

  14. Example 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 [PROBE] 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

  15. 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.

  16. 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 Example • 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.

  17. 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).

  18. 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.

  19. 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.

  20. 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.

More Related