1 / 21

CPSC 433 - Artificial Intelligence Search Paradigms: Or Tree Search

CPSC 433 - Artificial Intelligence Search Paradigms: Or Tree Search. Adapted from slides by Jörg Denzinger. Rob Kremer ICT 748 kremer@cpsc.ucalgary.ca http://pages.cpsc.ucalgary.ca/~kremer/. TOC. Introduction Formal Definitions Less Formally Conceptual Example

arvid
Download Presentation

CPSC 433 - Artificial Intelligence Search Paradigms: Or Tree Search

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. CPSC 433 - Artificial IntelligenceSearch Paradigms:Or Tree Search Adapted from slides by Jörg Denzinger Rob Kremer ICT 748 kremer@cpsc.ucalgary.ca http://pages.cpsc.ucalgary.ca/~kremer/ CPSC 433: Or-tree-based search

  2. TOC Introduction Formal Definitions Less Formally Conceptual Example Designing Or-Tree Search Models Concrete Example: Constraint Satisfaction Remarks CPSC 433: Or-tree-based search

  3. Or-tree-based Search Basic Idea: If every solution is a possibility, represent the different possibilities that might lead to a solution in the search state (as successors of a node) Examples for solution possibilities: • The different actions a robot can do • The different instantiations for a variable CPSC 433: Or-tree-based search

  4. Formal Definitions Or-tree-based Search ModelA = (S,T): • Prob set of problem descriptions • Altern Prob+alternatives relation • S  Otree • T = {(s1,s2) |s1,s2  S Erw(s1,s2)} where Otree is recursively defined by • (pr,sol)  Otree for pr  Prob, sol  {yes,?,no} • (pr,sol,b1,…,bn)  Otree for pr  Prob, sol  {yes,?,no}, b1,…,bn Otree CPSC 433: Or-tree-based search

  5. Formal Definitions Erw is a relation on Otree defined by • Erw((pr,?), (pr,yes)), if pr is solved • Erw((pr,?), (pr,no)), if pr is unsolvable • Erw((pr,?), (pr,?,(pr1,?),…,(prn,?))), if Altern(pr,pr1,…,prn) holds • Erw((pr,?,b1,…,bn),(pr,?,b1',…,bn')), if for an i: Erw(bi,bi') and bj = bj' for ij CPSC 433: Or-tree-based search

  6. Formal Definitions Or-tree-based Search ProcessP = (A,Env,K): Not more specific than general definition What is selected is the leaf to expand. CPSC 433: Or-tree-based search

  7. Formal Definitions Or-tree-based Search Instance Ins = (s0,G): If the given problem to solve is pr, then we have • s0 = (pr,?) • G(s) = yes, if and only if • s = (pr',yes) or • s = (pr',?,b1,…,bn), G(bi) = yes for an i or • All leafs of s have either the sol-entry no or cannot be processed using Altern CPSC 433: Or-tree-based search

  8. Less formally • The search model looks very similar to and-trees. Only differences: • we can model that an alternative (subproblem) is unsolvable (sol-entry no) • relation Altern instead of Div • no backtracking • The search control only has to compare the leafs of the tree and the (theoretically) take one transition that deals with the problem of that leaf as the problem to work on CPSC 433: Or-tree-based search

  9. Less formally • If all alternative decisions to a leaf are guaranteed to lead to a solution, we often do not want the alternatives showing up in the search state( no temptation to change choices and do therefore redundant work).Then we combine this first decision with the next decision and have several transitions to a leaf (see example). • The search is finished if the problem in one leaf has sol-entry yes (or all alternatives have proven to fail). CPSC 433: Or-tree-based search

  10. P0 ? . . . . . . . . . 4 7 Pi ? Pj ? Pk ? unsolvable Conceptual Example: Or-tree-based Search 0 CPSC 433: Or-tree-based search

  11. P0 ? . . . . . . . . . 4 7 Pi ? Pj No Pk ? Conceptual Example: Or-tree-based Search CPSC 433: Or-tree-based search

  12. P0 ? . . . . . . . . . 7 Pi ? Pj No Pk ? 0 12 Pi1 ? Pi2 ? solvable Conceptual Example: Or-tree-based Search CPSC 433: Or-tree-based search

  13. P0 ? . . . . . . . . . Pi ? Pj No Pk ? Conceptual Example: Or-tree-based Search Pi1Yes Pi2 ?  finished CPSC 433: Or-tree-based search

  14. Designing or-tree-based search models • Identify how you can describe a problem (i.e. what is needed to describe steps towards a solution)  Prob • Define how to identify if a problem is solved • Define how to identify if a problem is unsolvable • Identify the basic methods how a problem can be brought nearer to a solution; collect all these ideas for each problem  Altern • Check if you really need all methods or if finding a solution can be already guaranteed without a particular one  you might get rid of it CPSC 433: Or-tree-based search

  15. Designing or-tree-based search processes • Identify how you can measure the problem in a leaf regarding how far away from a solution it is • Priority to problems that are solved or unsolvable • Use 1. to select the leaf nearest a solution (if necessary, define tiebreakers) • If you have alternative collections of alternatives (i.e. several transitions with the same first problem in Altern), select one of them either using 1. for all successor problems or some other criteria (see and-trees for ideas) CPSC 433: Or-tree-based search

  16. Concrete Example: Constraint Satisfaction • A constraint satisfaction problem (CSP) consists of • a set X = {X1,…,Xn} of variables over some finite, discrete-valued domains D = {D1,…,Dn} and • a set of constraints C = {C1,…,Cm}. Each constraint Ci is a relation over the domains of a subset of the variables, i.e. Ci = Ri(Xi,1,…,Xi,k)where the relation Ri describes every value-tuple in Di,1…Di,k that fulfills the constraint. The problem is to find a value for each Xj (out of its Dj) that fulfills all Ci. CPSC 433: Or-tree-based search

  17. Constraint Satisfaction: Examples • X = {X1,X2}D1 = {1,2,3} D2 = {1,2,3,4}C = {C1,C2,C3}C1: X1 + X2 ≤ 4 C2: X1 + X2 ≥ 3 C3: X1 ≥ 2 • X = {X1,X2,X3}D1 = D2 = D3 = {true, false}C = {C1,C2,C3}C1: X1 X2  X3 C2: X1 X3 C3: X2  X3 CPSC 433: Or-tree-based search

  18. Constraint Satisfaction Tasks: • Describe CSPs as or-tree-based search model • Describe formally a search control for your model based on the idea of identifying the variable occuring in the most constraints and selecting it and its domain for branching(combined with a depth-criteria and a tiebreaker, if necessary) • Solve the problem instances from the last slide CPSC 433: Or-tree-based search

  19. Constraint Satisfaction: Examples S = {(xi,d) | xiX /\ dDi} S0 = {} G = {s | sS /\ (x:X  x  dom s /\ c:C  c)} T= {(s1,s2) |s1,s2  SErw(s1,s2)} Erw((pr,?), (pr,yes)), if pr is solved, ie: pr  G Erw((pr,?), (pr,no)), if pr is unsolvable, ie: (|pr|=|X| /\ pr isn’t solved) \/ (pr’s children are all marked unsolvable) Erw((pr,?), (pr,?,(pr1,?),…,(prn,?))), if Altern(pr,pr1,…,prn) holds Erw((pr,?,b1,…,bn),(pr,?,b1',…,bn')), if for an i: Erw(bi,bi') and bj = bj' for ij Altern = {(s,t)| sS /\ t2S /\ 1x:X | xdom s  x  dom t } Blue text is straight from the formal definition CPSC 433: Or-tree-based search

  20. {(x1,1)} {(x1,2)} {(x1,3)} {(x1,2), (x2,1)} {(x1,2), (x2,2)} {(x1,2), (x2,3)} {(x1,2), (x2,4)} Constraint Satisfaction: Examples X = {X1,X2}D1 = {1,2,3} D2 = {1,2,3,4} C = { X1 + X2 ≤ 4 , X1 + X2 ≥ 3 , X1 ≥ 2 } {} CPSC 433: Or-tree-based search

  21. Remarks • And-tree-based and or-tree-based search have a lot in common. The difference from the search problem point of view can be best described as or-tree: one solution and-tree: all solutions • Consequently, the criteria used by search controls differ, due to the different goals. • A lot of problems have transformations into a CSP. Therefore there are a lot of papers on solving CSPs and good controls for it. CPSC 433: Or-tree-based search

More Related