1 / 25

States and Search

States and Search. Core of intelligent behaviour. The simple problem solver. Restricted form of general agent: Figure 3.1 , p.61 function Simple-Problem-Solving-Agent( percept) returns action seq an action sequence, initially empty state some description of the current world state

habib
Télécharger la présentation

States and 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. States and Search Core of intelligent behaviour

  2. The simple problem solver Restricted form of general agent: Figure 3.1 , p.61 function Simple-Problem-Solving-Agent( percept) returns action seq an action sequence, initially empty state some description of the current world state goal a goal, initially null problem a problem formulation state = Update-State(state, percept) if seq is empty (ie – do search first time only) goal = Formulate-Goal(state) if (state==goal) return nil problem = Formulate-Problem(state, goal) (performance) seq = Search(problem) action First(seq) seq = Rest(seq) return action Creating a solution sequence by graph search D Goforth - COSC 4117, fall 2006

  3. The simple problem solver • works by simulating the problem in internal representation and trying plans till a good one is discovered • works in deterministic, static, single agent environments • plan is made once and never changed • works if plan is perfect – actions do what plan assumes no corrections to path are required • works efficiently if space is not too large D Goforth - COSC 4117, fall 2006

  4. Representation of Environment – abstractions of real world • states and state space – only relevant information in state representation • actions - successor function costs • and path cost (eg touring problem TSP) • start state • goal state or criterion function of state(s) D Goforth - COSC 4117, fall 2006

  5. Representation of Environment – state space efficiency Faster processing • minimization of number of states • minimization of degree of branching of successor function (actions) Smaller memory allocation • large state spaces are generated/explored, not stored/traversed D Goforth - COSC 4117, fall 2006

  6. Searching state space The fundamental method for creating a plan Is SEARCH D Goforth - COSC 4117, fall 2006

  7. Searching – graph traversals – TREE-SEARCH – p. 70 • start node and all possible actions, then pick another node...: D Goforth - COSC 4117, fall 2006

  8. Design of a search space – the spanning tree over a state space • Node in search space • current state • reference to parent node on path • action from parent to node • path cost from start node (may be just path length) D Goforth - COSC 4117, fall 2006

  9. R L L L L L L L R R L L R L R L R L L R L R L L L L R L L L L R R R R L R R R L R R L R R L R R Ff L R R L L R L R L L R R 3 R R R R L R R R Problem-solving agent – example Node in search space L L R L F 2 State Parent link Action Path length D Goforth - COSC 4117, fall 2006

  10. R L L L L L L L R R L L R L R L R L L R L R L L L L R L L L L R R R R L R R L R R L R R L R R L L R L R L L R R R R R R L R R R Problem-solving agent – example SPANNING TREE Note why some state space edges are not traversed in the spanning tree D Goforth - COSC 4117, fall 2006

  11. General search algorithm – p.72 • EXAMPLE: breadth first search in a binary tree start state (visitedList) fringe (openList) current state D Goforth - COSC 4117, fall 2006

  12. general search algorithm -variation startState initial state of environment adjacentNode, node nodes of search tree: contain state, parent, action, path cost openList collection of Nodes generated, not tested yet (fringe) visitedList collection of Nodes already tested and not the goal action[n] list of actions that can be taken by agent goalStateFound(state) returns boolean evaluate a state as goal precondition(state, action) returns boolean test a state for action apply(node,action) returns node apply action to get next state node makeSequence(node) returns sequence of actions generate plan as sequence of actions

  13. general search algorithm -variation algorithm search (startState, goalStateFound()) returns action sequence openList = new NodeCollection(); // stack or queue or... visitedList = new NodeCollection(); node = new Node(startState, null, null, 0 0); openList.insert(node) while ( notEmpty(openList) ) node = openList.get() if (goalStateFound (node.state) ) // successful search return makeSequence(node) for k = 0..n-1 if (precondition(node.state, action[k])==TRUE) adjacentNode = apply(nextNode,action[k]) if NOT(adjacentNode in openList OR visitedList) openList.insert(adjacentNode) visitedList.insert(node) return null

  14. algorithms of general search • breadth first • depth first • iterative deepening search • uniform cost search D Goforth - COSC 4117, fall 2006

  15. R R R L Ff 3 variations on search algorithm • breadth first search • openList is a queue • depth first search • openList is a stack • (recursive depth first is equivalent) tradeoffs for bfs: shortest path vs resources required State Parent link Action Path length D Goforth - COSC 4117, fall 2006

  16. comparison of bfs and dfs • nodes on openList while search is at level k: • bfs O(nk ) n is branching factor • dfs O(nk) • recursive dfs O(k) • quality of solution path • bfs always finds path with fewest actions • dfs may find a longer path before a shorter one D Goforth - COSC 4117, fall 2006

  17. depth-limited dfs • use depth first search with limited path length eg dfs(startNode,goalStateFound(),3) uses dfs but only goes to level 3 D Goforth - COSC 4117, fall 2006

  18. iterated (depth-limited) dfs • variation on dfs to get best of both • small openList of dfs • finds path with fewest actions like bfs • repeated searching is not a big problem!!! D Goforth - COSC 4117, fall 2006

  19. iterative deepening dfs • search algorithm puts depth-limited dfs in a loop: algorithm search (startState, goalStateFound()) Node node = null depth = 0 while (node == null) depth++ node = dfs(startState,goalStateFound(),depth) return node D Goforth - COSC 4117, fall 2006

  20. uniform cost search • find best path when there is an action cost for each edge: • a path of more edges may be better than a path of fewer edges: • 12+8+9+4+10 (5 edges) is preferred to 35+18 (2 edges) • variation on bfs • openList is a priority queue ordered on path cost from start state D Goforth - COSC 4117, fall 2006

  21. uniform cost search - example openList is a priority queue ordered on path cost from start state . A(0) C(2),B(4),D(8) visited current open A 8 4 2 B C D D Goforth - COSC 4117, fall 2006

  22. . A(0) A(0) C(2) C(2),B(4),D(8) B(4),E(5),D(8) visited current open visited current open A A 8 8 4 4 2 2 B C D B C D 3 E 1 2 A(0),C(2) B(4) E(5),F(7),D(8),G(9) visited current open A 8 4 2 A(0),C(2), B(4) E(5) G(6),F(7),D(8), H(10) B C D visited current open 3 1 5 3 A 8 4 F G E 2 B C D 3 4 3 5 3 1 F G E 5 3 H

  23. variations of the general algorithm • openList structure • time of testing for goal state D Goforth - COSC 4117, fall 2006

  24. (some) problems that complicate search • perceptions are incomplete representation of state • dynamic environment – path of actions is not only cause of state change (eg games) D Goforth - COSC 4117, fall 2006

  25. what kind of problem-reprise • fully / partly observable - is state known? • deterministic / stochastic - effect of action uncertain? • sequential / episodic - plan required/useful? • static / dynamic - state changes between action & perception and/or between perception & action • discrete / continuous - concurrent or sequential actions on state • single- / multi-agent dynamic environment; possible communication, distributed AI D Goforth - COSC 4117, fall 2006

More Related