graph search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131...

21
Graph Search CMPUT 366: Intelligent Systems P&M §3.1-3.4

Upload: others

Post on 03-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Graph Search

CMPUT 366: Intelligent Systems

P&M §3.1-3.4

Page 2: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

"Recap": Perfect Rationality vs. Bounded Rationality

Is it feasible for the agent to achieve the ideal optimum, or must it trade off solution quality against computational cost?

• Perfect rationality: The agent can derive the best course of action without accounting for computational limitations.

• Bounded rationality: Agent decides on best action that it can find within its computational limitations

• Anytime algorithm: Solution quality improves with time

Page 3: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Recap: Dimensions• Static vs. sequential action

• Goals vs. complex preferences

• Episodic vs. continuing

• State representation scheme

• Perfect vs. bounded rationality

Different dimensions interact; you can't just set them arbitrarily

1. Uncertainty

2. Interaction

3. Number of agents

Page 4: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Lecture Outline

1. Recap

2. Search Problems

3. Graph Search

4. Markov Assumption

Page 5: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Search• It is often easier to recognize a solution than to compute it

• For fully-observable, deterministic, offline, single-agent problems, search exploits this property!

• Agent searches internal representation to find solution

• All computation is purely internal to the agent.

• Environment is fully deterministic, so no need for observations, just remember actions

• Formally represent as searching a directed graph for a path to a goal state

• Question: Why might this be a good idea?

• Because it is very general. Many AI problems can be represented in this form, and the same algorithms can solve them all.

Page 6: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

State Space• A state describes all the relevant information about a possible

configuration of the environment

• Markov assumption: How the environment got to a given configuration doesn't matter, just the current configuration.

• A state is an assignment of values to one or more variables

• A single variable called "state"

• x and y coordinates, temperature, battery charge, etc.

• Actions change the environment from one state to another

Page 7: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Search ProblemDefinition: Search problem (textbook: state-space problem)

• A set of states

• A start state (or set of start states)

• A set of actions available at each state

• A successor function that maps from a state to a set of next states

• The textbook calls this an action function

• A goal function that returns true when a state satisfies the goal

Page 8: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Example: DeliveryBotDomain for Delivery Robot

lab4

stairs

lab1 lab2

lab3

r101 r103 r105 r107 r109 r111

r113

r115

r117

r119r121r123r125r127r129r131

c�D. Poole and A. Mackworth 2016 Artificial Intelligence, Lecture 1.3, Page 2

DeliveryBot wants to get from outside room 103 to inside room 123

Page 9: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

DeliveryBot as a Search ProblemDomain for Delivery Robot

lab4

stairs

lab1 lab2

lab3

r101 r103 r105 r107 r109 r111

r113

r115

r117

r119r121r123r125r127r129r131

c�D. Poole and A. Mackworth 2016 Artificial Intelligence, Lecture 1.3, Page 2

Example Problem for Delivery Robot

The robot wants to get from outside room 103 to the inside ofroom 123.

stairs r101 r103 r105 r107 r109 r111

r113

r115

r117

r119r121r123r125r127r129r131

o101 o103 o105 o107 o109 o111

o113

o115

o117

o119o121o123o125o127o129o131

b1

b3 b4

b2

a2

a1

a3

d3

d1 d2

c2 c3

c1

tsmail

storage

mainoffice

c�D. Poole and A. Mackworth 2017 Artificial Intelligence, Lecture 3.1, Page 5 5 / 17

States {r131, o131, r129, o129, ...}

Actions {go-north, go-south,go-east, go-west}

Start state o103

Successor functionsucc(r101) = {r101, o101},succ(o101) = {o101, lab1, r101,o105, ts},...

Goal function goal(state): (state == r123)

https://artint.info/2e/html/ArtInt2e.Ch3.S2.html

Page 10: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Example: VacuumBot

• Two rooms, one cleaning robot

• Each room can be clean or dirty

• Robot has two actions:

• clean: makes the room the robot is in clean

• move: moves to the other room

Questions:

1. How many states are there?

2. How many goal states?

Page 11: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Solving Search Problems, informally

1. Consider each start state

2. Consider every state that can be reached from some state that has been previously considered

3. Stop when you encounter a goal state

Page 12: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Directed Graphs• A directed graph is a pair

• is a set of nodes

• is a set of ordered pairs called arcs

• Node is a neighbour of if there is an arc from to

• i.e.,

• A path is a sequence of nodes with

• A solution is a path from a start node to a goal node

G = (N, A)

N

A

n2 n1 n1 n2

⟨n1, n2⟩ ∈ A

⟨n1, n2, …, nk⟩ ⟨ni−1, ni⟩ ∈ A

⟨n1, n2, …, nk⟩

Page 13: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Search Graph

We can represent any state space problem as a search graph:

1. Nodes are the states

2. Neighbours are the successors of a state

• i.e., add one arc from state to each of 's successors

3. Optional: Label each arc with the action that leads to the successor state

s s

Page 14: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

DeliveryBot: State Space GraphState-Space Graph for the Delivery Robot

16

8 12

4

6

4

4

4 9

7

7

4

3

6

8

6

4

3

7

mail ts o103

b3

b1

c2

c1

c3

b2

b4

o109

o119

o111

o123

r123

o125

storage

c�D. Poole and A. Mackworth 2017 Artificial Intelligence, Lecture 3.1, Page 12 8 / 17

Example Problem for Delivery Robot

The robot wants to get from outside room 103 to the inside ofroom 123.

stairs r101 r103 r105 r107 r109 r111

r113

r115

r117

r119r121r123r125r127r129r131

o101 o103 o105 o107 o109 o111

o113

o115

o117

o119o121o123o125o127o129o131

b1

b3 b4

b2

a2

a1

a3

d3

d1 d2

c2 c3

c1

tsmail

storage

mainoffice

c�D. Poole and A. Mackworth 2017 Artificial Intelligence, Lecture 3.1, Page 5 5 / 17

https://artint.info/2e/html/ArtInt2e.Ch3.S2.html https://artint.info/2e/html/ArtInt2e.Ch3.S3.SS1.html

Page 15: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Generic Graph Search Algorithm

• Given a graph, start nodes, and goal, incrementally explore paths from the start nodes

• Maintain a frontier of paths that have been explored

• As search proceeds, the frontier expands into the unexplored nodes until a goal is encountered.

• The way the frontier is expanded defines the search strategy

Problem Solving by Graph Searching

ends of paths on frontier

explored nodes

unexplored nodes

startnode

c�D. Poole and A. Mackworth 2017 Artificial Intelligence, Lecture 3.1, Page 19 14 / 17

https://artint.info/2e/html/ArtInt2e.Ch3.S4.html

Page 16: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Generic Graph Search Algorithm

Input: a graph; a set of start nodes; a goal function

frontier := { <s> | s is a start node} while frontier is not empty: select and remove a path <n1, n2, ..., nk> from frontier if goal(nk): return <n1, n2, ..., nk> for each neighbour n of nk: add <n1, n2, ..., nk, n> to frontier end while

• Can continue the procedure after algorithm returns

• Which value is selected from the frontier defines the search strategy

Page 17: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Search Problem with Costs

What if solutions have differing qualities?

• Add costs to each arc: cost(<ni-1,ni>)

• Cost of a solution is the sum of the arc costs:

• An optimal solution is one with the lowest cost

cost (⟨n0, n1, …, nk⟩) =k

∑i=1

cost (⟨ni−1, ni⟩)

Questions:

1. Is this scheme sufficiently general?

2. What if we only care about the number of actions that the agent takes?

3. What if we only care about the quality of the solution we find?

Page 18: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

DeliveryBot with CostsState-Space Graph for the Delivery Robot

16

8 12

4

6

4

4

4 9

7

7

4

3

6

8

6

4

3

7

mail ts o103

b3

b1

c2

c1

c3

b2

b4

o109

o119

o111

o123

r123

o125

storage

c�D. Poole and A. Mackworth 2017 Artificial Intelligence, Lecture 3.1, Page 12 8 / 17

Example Problem for Delivery Robot

The robot wants to get from outside room 103 to the inside ofroom 123.

stairs r101 r103 r105 r107 r109 r111

r113

r115

r117

r119r121r123r125r127r129r131

o101 o103 o105 o107 o109 o111

o113

o115

o117

o119o121o123o125o127o129o131

b1

b3 b4

b2

a2

a1

a3

d3

d1 d2

c2 c3

c1

tsmail

storage

mainoffice

c�D. Poole and A. Mackworth 2017 Artificial Intelligence, Lecture 3.1, Page 5 5 / 17

https://artint.info/2e/html/ArtInt2e.Ch3.S2.html https://artint.info/2e/html/ArtInt2e.Ch3.S3.SS1.html

Page 19: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Markov Assumption: GasBotThe Markov assumption is crucial to the graph search algorithm

cost(pump, gas): 5 if went through sensor 10 otherwise

Getting to the pump: from the left goes through sensorfrom the right does not

Question: Does this environment satisfy the Markov assumption? Why or why not?

Sbefore pump G

Drive Beeppump

Drive

Page 20: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Markov Assumption: GasBotThe Markov assumption is crucial to the graph search algorithm

1. Does this environment satisfy the Markov assumption? Why or why not?

2. How else could we have fixed up the previous example?

S

sensor

no sensor

pump G

Left

Right

Drive

Drive

Beep

55

Page 21: Graph Search - jrwright.info · lab1 lab2 lab3 r101 r103 r105 r107 r109 r111 r113 r115 r117 r131 r129 r127 r125 r123 r121 r119 c D. Poole and A. Mackworth 2016 Artificial Intelligence,

Summary• Many AI tasks can be represented as search problems

• A single generic graph search algorithm can then solve them all!

• A search problem consists of states, actions, start states, a successor function, a goal function, optionally a cost function

• Solution quality can be represented by labelling arcs of the search graph with costs