Search I School of Data Science, Fudan University February - - PowerPoint PPT Presentation

search i
SMART_READER_LITE
LIVE PREVIEW

Search I School of Data Science, Fudan University February - - PowerPoint PPT Presentation

Search I School of Data Science, Fudan University February 27 th , 2019 Outline Search Problems Uninformed Search Depth-First Search Breadth-First Search Uniform-Cost Search Real world


slide-1
SLIDE 1

复旦大学大数据学院

School of Data Science, Fudan University

Search I

魏忠钰

February 27th, 2019

slide-2
SLIDE 2

Outline ▪ Search Problems ▪ Uninformed Search

▪ Depth-First Search ▪ Breadth-First Search ▪ Uniform-Cost Search

slide-3
SLIDE 3

Real world task - Pac-man

slide-4
SLIDE 4

Search problems

▪ A search problem consists of: ▪ A state space ▪ A successor function (with actions, costs) ▪ A start state ▪ A goal test

slide-5
SLIDE 5

Search Problems - Pac-man

▪ A search problem consists of: ▪ A state space ▪ A successor function (with actions, costs) ▪ A start state ▪ A goal test ▪ Move to a specific position

“N”, 1.0 “E”, 1.0

slide-6
SLIDE 6

Real world task : the 8-puzzle

Start State Goal State

slide-7
SLIDE 7

Search Problems: the 8-puzzle

Start State Goal State

▪ State space

▪ integer locations of 8 tiles.

▪ Successor function: ▪ Move blank (up, down, right, left)

slide-8
SLIDE 8

Real Task: 8-Queens Puzzle

▪ Place 8 queens on a chessboard so that no two queens attack each other. ▪ A queen attacks any piece in the same row, column or diagonal. ▪ 3 more queens missing

slide-9
SLIDE 9

Search Problem: 8-Queens Puzzle

▪ State space: any arrangement of 0 to 8 queens on board ▪ Successor function: add a queen to any square ▪ Start state: blank board ▪ Goal test: 8 queens on board, non attacked

slide-10
SLIDE 10

Real world task : Traveling in Romania

slide-11
SLIDE 11

Search Problems: Traveling in Romania

▪ State space ▪ Cities ▪ Successor function: ▪ Roads: Go to adjacent city with cost = distance ▪ Start state: ▪ Arad ▪ Goal test: ▪ Is state == Bucharest?

slide-12
SLIDE 12

What is in a State Space? ▪ Problem: Pathing

▪ States: (x,y) location ▪ Actions: NSEW ▪ Successor: update location

  • nly

▪ Goal test: is (x,y)=END

▪ Problem: Eat-All-Dots

▪ States: {(x,y), dot booleans} ▪ Actions: NSEW ▪ Successor: update location and possibly a dot boolean ▪ Goal test: dots all false The world state includes every last detail of the environment A search state keeps only the details needed for planning (abstraction)

slide-13
SLIDE 13

State Space Sizes?

  • World state:
  • Board blanks: 64
  • Queen number: 8
  • How many
  • World states?
  • 648
slide-14
SLIDE 14

State Space Sizes?

  • World state:
  • Agent positions: 120
  • Food count: 30
  • Ghost positions: 12
  • Agent facing: NSEW
  • How many
  • World states?

120x(230)x(122)x4

  • States for pathing?

120

  • States for eat-all-dots?

120x(230)

slide-15
SLIDE 15

Safe Passage

  • Problem: eat all dots while keeping the ghosts perma-scared (无敌是多么

寂寞)

  • What does the state space have to specify?
  • (agent position, dot booleans, power dot booleans, remaining scared time)
slide-16
SLIDE 16

State Space Graphs and Search Trees

slide-17
SLIDE 17

State Space Graph ▪ State space graph: A mathematical representation of a search problem

▪ Nodes are (abstracted) world configurations ▪ Arcs represent successors (action results) ▪ The goal test is a set of goal nodes (maybe

  • nly one)

▪ In a state space graph, each state

  • ccurs only once!

▪ We can rarely build this full graph in memory (it’s too big), but it’s a useful idea

slide-18
SLIDE 18

Search Trees ▪ A search tree:

▪ The start state is the root node ▪ Children correspond to successors ▪ Nodes show states, but correspond to PLANS that achieve those states ▪ For most problems, we can never actually build the whole tree, why? ▪ PLAN means a series of actions.

“E”, 1.0 “N”, 1.0

This is now / start Possible futures

slide-19
SLIDE 19

Quiz: State Space Graphs vs. Search Trees

S

a b d p a c e p h f r q q c

G

a q e p h f r q q c G a

S G

d b p q c e h a f r

▪ Each NODE in the search tree is an entire PATH in the state space graph.

Search Tree State Space Graph

slide-20
SLIDE 20

State Space Graphs vs. Search Trees

S

G b a

Consider this 4-state graph: How big is its search tree (from S)?

Important: Lots of repeated structure in the search tree!

slide-21
SLIDE 21

Tree Search

slide-22
SLIDE 22

Search Example: Romania

slide-23
SLIDE 23

Search Example

S G

d b p q c e h a f r

slide-24
SLIDE 24

Depth-First Search

slide-25
SLIDE 25

Depth-First Search

S

a b d p a c e p h f r q q c

G

a q e p h f r q q c

G

a S G

d b p q c e h a f r q p h f d b a c e r

Strategy: expand a deepest node first Implementation: Fringe is a LIFO stack

slide-26
SLIDE 26

Search Algorithm Properties ▪ Complete: Guaranteed to find a solution if one exists? ▪ Optimal: Guaranteed to find the least cost path? ▪ Time complexity? ▪ Space complexity? ▪ Cartoon of search tree:

▪ b is the branching factor ▪ m is the maximum depth ▪ s is the solutions at various depths

▪ Number of nodes in entire tree?

▪ 1 + b + b2 + …. bm = O(bm)

… b 1 node b nodes b2 nodes bm nodes m

slide-27
SLIDE 27

Depth-First Search (DFS) Properties ▪ What nodes DFS expand (Time Complexity)?

▪ Some left prefix of the tree. ▪ If m is finite, takes time O(bm)

▪ How much space does the fringe take (Space Complexity)?

▪ Only has siblings on path to root, so O(bm)

▪ Is it complete?

▪ No, m can be infinite

▪ Is it optimal?

▪ No, it finds the “leftmost” solution, regardless of depth or cost

… b 1 node b nodes b2 nodes bm nodes m tiers

slide-28
SLIDE 28

Breadth-First Search

S

a b d p a c e p h f r q q c

G

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 Tiers Strategy: expand a shallowest node first Implementation: Fringe is a FIFO queue

slide-29
SLIDE 29

Breadth-First Search (BFS) Properties ▪ What nodes does BFS expand (Time Complexity)?

▪ Processes all nodes above shallowest solution ▪ Let depth of shallowest solution be s ▪ Search takes time O(bs)

▪ How much space does the fringe take?

▪ Has roughly the last tier, so O(bs)

▪ Is it complete?

▪ yes

▪ Is it optimal?

▪ Yes (if the cost is equal per step)

… b 1 node b nodes b2 nodes bm s tiers bs

slide-30
SLIDE 30

DFS vs BFS

▪ When will BFS outperform DFS?

▪ The branch factor is relatively small. ▪ The depth of the optimal solution is relatively shallow.

▪ When will DFS outperform BFS?

▪ The tree is deep and the answer is deep and frequent. ▪ It has advantages according to computing complexity.

slide-31
SLIDE 31

Iterative Deepening

▪ Idea: get DFS’s space advantage with BFS’s time / shallow-solution advantages

▪ Run a DFS with depth limit 1. If no solution… ▪ Run a DFS with depth limit 2. If no solution… ▪ Run a DFS with depth limit 3. ….. ▪ How many nodes does BFS expand? ▪ O(bd) ▪ How much space does the fringe take?

▪ O(bd)

▪ Is it complete?

▪ yes!

▪ Is it optimal?

▪ Yes! (if the cost is equal per step)

… b d

slide-32
SLIDE 32

Cost-Sensitive Search BFS finds the shortest path in terms of number of actions. It does not find the least-cost path. We will now cover a similar algorithm which does find the least-cost path.

START

GOAL

d b p q c e h a f r 2 9 2 8 1 8 2 3 2 4 4 15 1 3 2 2

slide-33
SLIDE 33

Uniform Cost Search

slide-34
SLIDE 34

Uniform Cost Search

S

a b d p a c e p h f r q q c

G

a q e p h f r q q c

G

a Strategy: expand a cheapest node first: Fringe is a priority queue (priority: cumulative cost) S G

d b p q c e h a f r

3 9 1 16 4 11 5 7 13 8 10 11 17 11 6 3 9 1 1 2 8 8 2 15 1 2 Cost contours Suppose

C* = 10 and  equals 3

2

slide-35
SLIDE 35

Uniform Cost Search (UCS) Properties ▪ What nodes does UCS expand?

▪ Processes all nodes with cost less than cheapest solution! ▪ If that solution costs C* and arcs cost at least  , then the “effective depth” is roughly C*/ ▪ Takes time O(bC*/) (exponential in effective depth)

▪ How much space does the fringe take?

▪ Has roughly the last tier, so O(bC*/)

▪ Is it complete?

▪ Assuming best solution has a finite cost and minimum arc cost is positive, yes!

▪ Is it optimal?

▪ Yes!

… b C*/ “tiers” c  3 c  2 c  1

slide-36
SLIDE 36

Uniform Cost Issues

▪ Remember: UCS explores increasing cost contours ▪ The good: UCS is complete and optimal! ▪ The bad:

▪ Explores options in every “direction” ▪ No information about goal location

Start Goal … c  3 c  2 c  1

slide-37
SLIDE 37

Comparison

Algorithm Complete? Optimal? Time? Space? DFS N N O(bm) O(bm) BFS Y Y O(bd) O(bd) IDS Y Y O(bd) O(bd) UCS Y Y

O(bC*/) O(bC*/)

For BFS, Suppose the branching factor b is finite and step costs are identical;

slide-38
SLIDE 38

How bad is BFS?

slide-39
SLIDE 39

Data structure

▪ LIFO stack ▪ FIFO queue ▪ Priority queue

slide-40
SLIDE 40

Last in First out Stack

slide-41
SLIDE 41

FIFO queue

slide-42
SLIDE 42

Priority queue

slide-43
SLIDE 43

The One Queue

▪ All these search algorithms are the same except for fringe strategies

▪ Conceptually, all fringes are priority queues (i.e. collections of nodes with attached priorities) ▪ Can even code one implementation that takes a variable queuing object