Presentation is loading. Please wait.

Presentation is loading. Please wait.

Goal-driven Mechanism in Interim.2 Go Program

Similar presentations


Presentation on theme: "Goal-driven Mechanism in Interim.2 Go Program"— 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 ( ), 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 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

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

8 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

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

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

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

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 , 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 , Pittsburg, Instrument Society of America.


Download ppt "Goal-driven Mechanism in Interim.2 Go Program"

Similar presentations


Ads by Google