States and search
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

States and Search PowerPoint PPT Presentation


  • 58 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


States and search

States and Search

Core of intelligent behaviour


The simple problem solver

The simple problem solver

Restricted form of general agent: Figure 3.1 , p.61

function Simple-Problem-Solving-Agent( percept) returns action

seqan action sequence, initially empty

statesome 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


The simple problem solver1

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


Representation of environment abstractions of real world

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


Representation of environment state space efficiency

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


Searching state space

Searching state space

The fundamental method

for creating a plan

Is

SEARCH

D Goforth - COSC 4117, fall 2006


Searching graph traversals tree search p 70

Searching – graph traversals – TREE-SEARCH – p. 70

  • start node and all possible actions, then pick another node...:

D Goforth - COSC 4117, fall 2006


Design of a search space the spanning tree over a state space

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


Problem solving agent example

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


Problem solving agent example1

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


General search algorithm p 72

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


General search algorithm variation

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


General search algorithm variation1

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


Algorithms of general search

algorithms of general search

  • breadth first

  • depth first

  • iterative deepening search

  • uniform cost search

D Goforth - COSC 4117, fall 2006


Variations on search algorithm

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


Comparison of bfs and dfs

comparison of bfs and dfs

  • nodes on openList while search is at level k:

    • bfsO(nk )n is branching factor

    • dfsO(nk)

    • recursive dfsO(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


Depth limited dfs

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


Iterated depth limited dfs

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


Iterative deepening dfs

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


Uniform cost search

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


Uniform cost search example

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


States and search

.

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


Variations of the general algorithm

variations of the general algorithm

  • openList structure

  • time of testing for goal state

D Goforth - COSC 4117, fall 2006


Some problems that complicate search

(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


What kind of problem reprise

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


  • Login