Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and...

60
Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory AI course given at Stanford University (used with permission).

Transcript of Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and...

Page 1: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problems

Russell and Norvig:

Chap. 3, Sect. 3.1 – 3.2

Slides by Jean-Claude Latombe, from an introductory AI course given at Stanford University (used with permission).

Page 2: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Goal-Based Agent

environment agent

?

sensors

actuators

Goal: One way towards maximizing performance measure (to be rational)

Page 3: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Goal-Based Agent

environment agent

?

sensors

actuators

Goal: One way towards maximizing performance measure (to be rational)

Can it find a sequence of actions achieving its goals, when no single action will do?

Page 4: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Problem-Solving Agent

environment agent

?

sensors

actuators

• Actions • Initial state • Goal test It can do this through

graph searching!

Page 5: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Problem as a Search Problem

• Actions • Initial state • Goal test

state space

transition model

Page 6: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Initial State

• Actions • Initial state • Goal test

state space

transition model

Page 7: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Goal Test

• Actions • Initial state • Goal test

state space

transition model

Page 8: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: 8-puzzle

1

2

3 4

5 6

7

8 1 2 3

4 5 6

7 8

Initial state Goal state

State: Any arrangement of 8 numbered tiles and an empty tile on a 3x3 board

Page 9: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: 8-puzzle

1

2

3 4

5 6

7

8

1

2

3 4

5 6

7

8

1

2

3 4

5 6

7 8

1

2

3 4

5 6

7

8

Action set and transition model is knowledge about the 8-puzzle game, but it does not tell us which transition to take.

Search is about the exploration of alternatives to find a goal state

Page 10: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: 8-puzzle

Size of the state space = 9! = 362,880 (but half reachable)

15-puzzle ~2 x 1013

24-puzzle ~1 x 1025

10 millions states/sec

0.36 sec

24 days

40 billion years

Page 11: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search of State Space

state graph

Page 12: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search of State Space

state graph

Page 13: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search of State Space

state graph

Page 14: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search of State Space

state graph

Page 15: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search of State Space

state graph

Page 16: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search of State Space

search tree

state graph

Page 17: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search of State Space

solution

state graph

Page 18: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem

Initial state

Actions

Transition model

State space

Goal test

Path cost

Page 19: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem

Initial state: usually the current state

sometimes one or several hypothetical states (“what if …”)

Actions

Transition model

State space

Goal test

Path cost

Page 20: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem

Initial state

Actions: possible actions available to agent

Transition model

State space

Goal test

Path cost

Page 21: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem

Initial state

Actions

Transition model: Result of doing action in state

Successor: reachable state by single action from current state

State space

Goal test

Path cost

Page 22: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem

Initial state

Actions

Transition model

State space (implicitly defined by the above): each state is an abstract representation of the environment

the state space is discrete

Goal test

Path cost

Page 23: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem

Initial state

Actions

Transition model

State space

Goal test:

sometimes the description of a state

usually a condition

Path cost

Page 24: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem

Initial state

Actions

Transition model

State space

Goal test

Path cost: [path positive number]

usually, path cost = sum of step costs

e.g., number of moves of the empty tile

Page 25: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Simple Agent Algorithm

Problem-Solving-Agent

1. formulate: (abstraction!)

1. initial-state sense/read state

2. goal select/read goal

3. actions select/read action models

4. transition model select/read model

5. problem (initial-state, goal, actions, transition model)

2. solution search(problem)

3. perform(solution)

Page 26: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: 8-queens

Place 8 queens in a chessboard so that no two queens are in the same row, column, or diagonal.

A solution Not a solution

Page 27: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: 8-queens

Formulation #1: • States: any arrangement of 0 to 8 queens on the board • Initial state: 0 queens on the board • Actions: add a queen in any empty square • Transition model: board contains queen • Goal test: 8 queens on the board, none attacked

648 states with 8 queens

Page 28: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: 8-queens Formulation #2: • States: any arrangement of k = 0 to 8 queens in the k leftmost columns with none attacked • Initial state: 0 queens on the board • Actions: add a queen to any square in the leftmost empty column such that it is not attacked by any other queen • Transition model: board contains queen • Goal test: 8 queens on the board

2,057 states

Page 29: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Robot navigation

What is the state space?

Page 30: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Robot navigation #1

Cost of one horizontal/vertical step = 1 Cost of one diagonal step = 2

Page 31: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Robot navigation #1

This path is the shortest in the discretized state space, but not in the original continuous space

Page 32: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

sweep-line

Example: Robot navigation #2

Page 33: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Robot navigation #2

Page 34: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Robot navigation #2

states

Page 35: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Robot navigation #2

transition model

Page 36: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

A path-smoothing post-processing step is usually needed to shorten the path further

Example: Robot navigation #2

Page 37: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Cost of one step: length of segment

Example: Robot navigation #3

Page 38: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Cost of one step: length of segment

Visibility graph

Example: Robot navigation #3

Page 39: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

The shortest path in this state space is also the shortest in the original continuous space

Example: Robot navigation #3

Page 40: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Assembly Planning

Page 41: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Assembly Planning

Page 42: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Assembly Planning

State: Collection of sub-assemblies Initial state: All sub-assemblies are individual parts Goal state: Complete assembly Actions: Merge two subassemblies (check

for collision) Transition model: Merged assembly Cost function: Longest sequence of assembly operation

Page 43: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Example: Assembly Planning

Page 44: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Assumptions in Basic Search

The environment is static

The environment is discretizable

The environment is observable

The actions are deterministic

Page 45: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem Formulation

Real-world environment -> Abstraction

Page 46: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem Formulation

Real-world environment -> Abstraction

Validity:

Can the solution be executed?

Page 47: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem Formulation

Real-world environment -> Abstraction

Validity:

Can the solution be executed?

Does the state space contain the solution?

Page 48: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory
Page 49: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory
Page 50: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory
Page 51: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory
Page 52: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem Formulation

Real-world environment -> Abstraction

Validity:

Can the solution be executed?

Does the state space contain the solution?

Usefulness

Is the abstract problem easier than the real-world problem?

Page 53: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem Formulation

Real-world environment Abstraction

Validity: Can the solution be executed?

Does the state space contain the solution?

Usefulness Is the abstract problem easier than the real-world problem?

Without abstraction an agent would be swamped by the complexity of the real world

Page 54: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem Variants

One or several initial states

One or several goal states

The solution is the path or a goal node

In the 8-puzzle problem, it is the path to a goal node

In the 8-queen problem, it is a goal node

Page 55: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Search Problem Variants

One or several initial states

One or several goal states

The solution is the path or a goal node

Any, or the best, or all solutions

Page 56: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Important Parameters

Number of states in state space

8-puzzle 362,880 15-puzzle 2 x 1013 24-puzzle 1 x 1025

8-queens 2,057 100-queens 1052

There exist techniques to solve N-queens problems efficiently!

Stating a problem as a search problem is not always a good idea!

Page 57: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Important Parameters

Number of states in state space

Distribution of goal states

Size of memory needed to store a state

Page 58: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Important Parameters

Number of states in state space

Distribution of goal states

Size of memory needed to store a state

Running time of the successor function

Page 59: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Applications

Route finding: airline travel, networks

Pipe routing, VLSI routing

Pharmaceutical drug design

Robot motion planning

Video games

Page 60: Search problemscadia.ru.is/wiki/_media/public:t-622-arti-11-1:arti-c03...Search Problems Russell and Norvig: Chap. 3, Sect. 3.1 – 3.2 Slides by Jean-Claude Latombe, from an introductory

Summary

Problem-solving agent

State space, actions, transition model

Search!

Examples:

8-puzzle, 8-queens, route finding, robot navigation, assembly planning

Assumptions of basic search

Important parameters