cse 473 chapter 3 problem solving using search · chapter 3 problem solving using search ... 0.11...

30
1 Chapter 3 Problem Solving using Search CSE 473 © CSE AI Faculty “First, they do an on-line search” 2 Example: The 8-puzzle 1 2 3 6 7 5 8 4 1 2 3 8 7 5 4 6 Start Goal

Upload: lethien

Post on 09-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

1

Chapter 3

Problem Solving using Search

CSE 473

© CSE AI Faculty

“First, they do an on-line search”

2

Example: The 8-puzzle

1 2 3

6 7 5

8 4

1 2 3

8 7

5 4 6

Start Goal

2

3

Example: Route Planning

4

Example: N Queens

4 Queens problem

(Place queens such that no queen attacks any other)

3

5

Example: N Queens

4 Queens

6

State-Space Search Problems

General problem:

Find a path from a start state to a goal state given:

• A goal test: Tests if a given state is a goal state

• A successor function (transition model): Given a state, generates its successor states

Variants:

• Find any path vs. a least-cost path

• Goal is completely specified, task is just to find the path

– Route planning

• Path doesn’t matter, only finding the goal state

– 8 puzzle, N queens, Rubik’s cube

4

Example: Simplified Pac-Man

Input:

• State space

• Successor function

• Start state

• Goal test

“N”, 1.0

“E”, 1.0

Search Trees

A search tree:

• Root = Start state

• Children = successor states

• Edges = actions and costs

• Path from Start to a node is a “plan” to get to that state

• For most problems, we can never actually build the whole tree (why?)

“E”, 1.0 “N”, 1.0

5

State Space Graph versus Search Trees

S

G

d

b

p q

c

e

h

a

f

r

State Space Graph

(graph of states with arrows pointing to successors)

S

a

b

d p

a

c

e

p

h

f

r

q

q c

a

q e

p

h

f

r

q

q c G

a

S

G

d

b

p q

c

e

h

a

f

r

Search Tree

State Space Graph versus Search Trees

G

6

11

Search Tree for 8-Puzzle

12

7

Searching with Search Trees

Search:

• Expand out possible nodes

• Maintain a fringe of as yet unexpanded nodes

• Try to expand as few tree nodes as possible

14

8

15

16

Handling Repeated States

Failure to detect repeated states (e.g., in 8 puzzle) can cause infinite loops in search

Graph Search algorithm: Augment Tree-Search to store expanded nodes in a set called explored set (or closed set) and only add new nodes not in the explored set to the fringe

START

GOAL a

b

expand

expand

9

17

18

10

19

20

11

21

22

12

23

24

13

25

dbObbbb dd in exp i.e. )(32

26

dbObbbb dd in exp i.e. )(32

)( dbO

14

27

Space and time are big problems for BFS.

Example: b = 10, 1000,000 nodes/sec, 1000 Bytes/node

d = 2 110 nodes, 0.11 millisecs, 107KB

d = 4 11,110 nodes, 11 millisecs, 10.6 MB

d = 8 108 nodes, 2 minutes, 103 GB

d = 16 1016 nodes, 350 years, 10 EB (1 billion GB)

dbObbbb dd in exp i.e. )(32

general. in optimalNot equal. are costs step all if Yes

)( dbO

What if the step costs are not equal?

Can we modify BFS to handle any step cost function?

28

15

29

)(ng

)(1/* CbO

)(1/* CbO

(Use priority queue)

30

16

31

32

17

33

34

18

35

36

19

37

38

20

39

40

21

41

42

22

43

(using “explored” set)

44

(using “explored” set)

23

45

(using “explored” set)

46

Space cost is a big advantage of DFS over BFS.

Example: b = 10, 1000 Bytes/node

d = 16 156 KB instead of 10 EB (1 billion GB)

(using “explored” set)

24

47

(can handle infinite state spaces)

48

• DFS with increasing depth limit

• Finds the best depth limit

• Combines the benefits of DFS and BFS

25

49

50

26

51

52

27

53

54

28

55

56

29

57

Increasing path-cost limits instead of depth limits

This is called Iterative lengthening search (exercise 3.17)

general. in optimalNot equal. are costs step all if Yes

58

Forwards vs. Backwards

Problem: Find the shortest route

30

59

Bidirectional Search

Motivation: bd/2 + bd/2 << bd (E.g., 108+108 =2108<< 1016)

Can use breadth-first search or uniform-cost search

Hard for implicit goals e.g., goal = “checkmate” in chess

60

Can we do better?

All these methods are slow (because they are “blind”)

Solution use problem-specific knowledge to guide search (“heuristic function”)

“informed search” (next lecture)

To Do

• Start Project #1

• Read Chapter 3