39
Search Search Trees node = state arcs = operators search = control A B C D E F G Fringe or search frontier Depth branching factor = # choices of each node

Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Search

Search Trees

●  node = state ●  arcs = operators ●  search = control

A

B C D

E F G Fringe or search frontier

Depth

branching factor = # choices of each node

Page 2: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Search Criteria

●  Completeness: guarantees to find a solution when there is one

●  Optimality: highest quality solution where there are different solutions

●  Efficiency: time complexity and space complexity Goal: find the right search criterion for a problem

Search Algorithms

Types of search algorithms in two perspectives: ●  Based on information used

■  Blind Search e.g., depth-first, breath-first, bidirectional search

■  Heuristic Search e.g., hill climbing, best first search, A* search

●  Based on search direction (more later) ■  Goal-driven (backward chaining):

search from goal states to verify given data ■  Data-driven (forward chaining):

search from data to find goal states

Page 3: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Blind Search

Blind Search (Uninformed or Brute force search) ●  Systematically generates states and test against the goal ●  Depends on topology of search tree ●  Is distinguished by the order in which nodes are expanded ●  Has no information about the number of steps or the path cost

from current state to the goal state

Examples: ■  Backtracking ■  Depth First ■  Breadth First

Backtracking

A start

B C D

G goal F E

H J I

Solution path: ACG

Page 4: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Backtracking Algorithm CS = current state SL = state list of current path being evaluated for solution NSL = new state list DE = dead end list of states whose descendants failed to contain goal node

Begin SL := [start]; NSL := [start]; DE := []; CS:= Start; while NSL != [] do begin if CS = goal then return SL;

if CS has no children then begin

while SL is not empty and CS = first element of SL do begin add CS to DE; remove first element from SL; remove first element from NSL; CS := first element of NSL end; add CS to SL; end else begin place new children of CS on NSL; CS := first element of NSL; add CS to SL end end; return FAIL; end

A start

B C D

G goal F E

H J I

I CS SL NSL DE 0 A A A 1 B B A BCD A 2 E E BA EF BCDA 3 H H EBA HI EFBCDA 4 I IEBA IEFBCDA H 5 E EBA EFBCDA IH

F FBA FBCDA EIH 6 J J FBA J FBCDA EIH 7 F FBA FBCDA JEIH

B BA BCDA FJEIH C CA CDA BFJEIH

8 G GCA GCDA BFJEIH

Backtracking Algorithm A start

B C D

G goal F E

H J I

I CS SL NSL DE 0 A A A 1 B B A BCD A 2 E E BA EF BCDA 3 H H EBA HI EFBCDA 4 I IEBA IEFBCDA H 5 E EBA EFBCDA IH

F FBA FBCDA EIH 6 J J FBA J FBCDA EIH 7 F FBA FBCDA JEIH

B BA BCDA FJEIH C CA CDA BFJEIH

8 G GCA GCDA BFJEIH

G goal

A start

B C

E F

H I J

Tracing SL

Page 5: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Breadth-First Search (BFS)

Algorithm: 1. Let Q = queue contain start state 2. If head of Q is a goal state STOP 3. Generate successors of head and add them at the tail of Q. Remove the head. 4. Go to 2

A start

B C D

G goal F E

H J I

A

FGHI

BCD CDEF DEFG EFG

Solution: trace ancestors - ACG

●  Expands the shallowest node first

Node expansion order: ABCDEFG

GHIJ

Depth-First Search (DFS)

Algorithm: 1. Let Q = queue contain start state 2. If head of Q is a goal state STOP 3. Generate successors of head and add them at the head of Q. Remove the head. 4. Go to 2

A start

B C D

G goal F E

H J I

A

FCD

BCD EFCD H I FCD I FCD

Solution: ABFG Node expansion order: ABEHIFJG

●  Expands the deepest node first

JGCD GCD

Page 6: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Complexity

Given b = branching factor, d = solution depth Running time = the time generating nodes at depth 1, 2, .. ,d

= b + b2 + ....bd Time complexity is O (bd) for both BFS and DFS Space required = max queue length For BFS: = # nodes at depth d = bd Space complexity is O (bd) For DFS: = bd Space complexity is O (bd)

. . . b

b2

# nodes generated

Characteristics

BFS ●  Shortest path solution ●  Optimal if unit cost (since cost = path length) ●  Complete ●  Time complexity O (bd)

Space complexity O (bd) DFS ●  Space efficiency (Space complexity O(bd)) ●  Not complete (should avoid when space has large/infinite depth) ●  Not optimal (see example 2)

Page 7: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

BFS Example 2

Start Goal

A

B

C

D E

A

B C

D D E

E C B E

Solution: ACE

Shortest path solution

A

C D D E

B C

Solution path – trace ancestors

9

4

3

7 11

5 Given cost Solution cost = 18

DFS Example 2

Start Goal

A

B

C

D E

A B C D C E C

Solution path – trace ancestors

9

4

3

7 11

5 Given cost Solution cost = 17

A

B C

D

E C Solution: ABDE

What is optimal solution? What cost?

Page 8: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Other Blind Searches

•  Uniform-cost Search: expands the least-cost leaf node first

●  Depth-limited Search: places a limit on the DFS depth

●  Iterative deepening Search: calls Depth-limited search iteratively

●  Bidirectional Search: searches forward (from start state) and backward (from goal state) and stop where two searches meet

Uniform Cost Search

Start Goal

A

B

C

D E

9

4

3

7 11

5 Given cost Solution cost = 16

●  Expands the least expensive node first

A

B C 9 7

9 7

D E 4 11

11 18

E B 3 5

14 16

D 3 12

E C

4 5

17 16

Solution: ACDE Done - fail

UCF gives solution with min. cost of the path traveled so far

Page 9: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Other Blind Searches

•  Depth-limited Search (to avoid drawback of DFS)

•  DFS that imposes cutoff on the max depth of search path •  complete if cutoff depth large enough •  not optimal (like DFS)

●  (Depth First) Iterative deepening Search (to avoid issue of choosing cutoffs without sacrificing efficiency)

●  calls Depth-limited search iteratively for increasing cutoff depth à order of node expansion ~ BFS

•  combines benefits of DFS and BFS ●  good for large search space with unknown solution depth

Other Blind Searches (contd)

●  Bidirectional Search (to improve efficiency of BFS) ●  searches forward (from start state) and backward (from goal state) and

stop where two searches meet

Initial state

Goal state

●  Time complexity O (bd/2)

What are the requirements of problems that are applicable to this search?

Page 10: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Blind Search (contd)

Some comparisons Complete? Optimal?

●  Breadth-first Search yes yes for unit-cost

●  Depth-first Search no no ●  Uniform-cost Search yes yes for non-

decreasing path cost ●  Depth-limited Search only if deep enough no (like DFS)

●  Iterative deepening Search yes yes for unit-cost

●  Bidirectional Search yes yes for unit-cost

Blind Search Issues

Problems with Brute force methods ●  Time complexity grows exponentially with size of

the problem Eg. Rubik’s cube: 4x1019 nodes Chess tree: 10120 nodes Combinatorial Explosion! Extremely inefficient

Solution: add knowledge to reduce complexity

Page 11: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Heuristic Search Luger, Ch 4 & Reference Texts

Outline

•  What are heuristics and heuristic functions ? •  Using heuristics in games •  Heuristic search algorithms •  Properties and complexity

Page 12: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Heuristics

The term “Heuristic” means “to discover” ●  “rules of thumb” that domain experts use to generate good

solutions without exhaustive search (Fiegenbaum and Feldman)

●  “A process that may solve a given problem, but offers no guarantees of doing so” (Newell, Shaw and Simon)

●  Technique that improves the average-case performance on a problem-solving task, but not necessary improve the worst-case performance (Russell and Norvig)

Using heuristics Efficiency + Accuracy (might miss optimal solution)

Heuristics in Search

Heuristic Search (or Informed search): uses

Evaluation function determines the order of nodes to be expanded

Heuristic evaluation function estimates merit of state with respect to the goal

Problem-specific knowledge

Page 13: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Heuristic functions

Examples: Let h(n) = heuristic value of state n

●  Road navigation or route finding

h1(n) = Euclidean distance from n to goal state h2(n) = Expected traveling time

Heuristic functions (contd)

●  The 8 puzzle: E.g., h1(n) = the number of tiles that are out of place from the goal h2 (n) = sum of distances out of place h3 (n) = 2 × the number of direct tile reversals

●  Which heuristics to choose? ■  prefer global to local accounts (e.g., h1 is more global than h3 but more local than h2 ) ■  Selection of the best heuristic function is empirical and based on its

performance on problem instances

5 4

2 8 1

3 7 6

1 2

5 4 3

6 7 8

state n Goal state

h1 (n) = 7 h2 (n) = 18

4 2 - 2 2 2 0 3 3

h3 (n) = 0

Page 14: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Heuristic functions (contd)

●  A heuristic evaluation function must ■  provide a reasonable estimate of the merit of a node ■  be inexpensive to compute ■  never over estimate the merit of a node (more later)

●  There are tradeoffs between ■  evaluation time ■  search time

●  Heuristic sacrifices accuracy but why still heuristic? ■  rarely require optimal solution ■  worse case rarely occur ■  learning heuristic helps us understand the problem better

Outline

•  What are heuristics and heuristic functions ? •  Using heuristics in games •  Heuristic search algorithms •  Properties and issues

Page 15: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Game playing

●  Representation: Game tree ●  Nodes: state of the game (e.g. board configuration) ●  Branches: possible moves ●  Leaves: winning states

●  Game trees usually have multiple goal states ●  Heuristic function evaluates game value or pay-off or utility of

each node

TIC-TAC-TOE

x

x x

o x

o x

x

x

o o

x x

o o x

o

o x x

o o x

x x

max(x) min(o) terminal utility 1 = win 0 = draw -1 = loss

You

Your opponent

Multiple goal states

x x O

O

O

x x x

x

x x x x O

O O O

O O O

xO

O x

Page 16: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Game playing program

●  Full game trees are intractable, e.g., TIC-TAC-TOE ■  total # of leaves = 9! ■  reduced states by symmetry (shown in previous slide) = 12 x 7!

●  Two main parts of the program: ■  plausible move generator ■  (static) evaluation function

●  Search game trees ●  One-person games (e.g., 8 puzzle): A* ●  Two-person games (e.g., checkers, tic-tac-toe): MINIMAX

Heuristics for TIC-TAC-TOE Heuristic function, e(n) = x(n) – o(n) x(n) = # winning lines for x, x will try to max e o(n) = # winning lines for o, o will try to min e

x o

x o

x x

x

x x x x x x x x

o

o o o

x x

o o

o o o

o

6-5 = 1

5-5 = 0 6-5 = 1 5-5 = 0 4-5 = -1 5-4 = 1 6-4 = 2 5-6 = -1 6-4=2 5-6 = -1 6-6= 0

4-6 = -2

Page 17: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Minimax Search

●  A depth-limited search procedure ■  Generate possible moves ■  Apply evaluation function for each node ■  Alternate selection of either max or min child value ■  Repeat process as deep as time allows

Minimax Search (contd.) Let p be a search level (ply) While p > 0 do begin if p’s parent level is MIN then for each parent node pick min value of its children, else pick max value; propagate the selected value to its parent; p = p – 1 end.

x o

x o

x x

x

x x x x x x x x

o

o o o

x x

o o

o o o

o

6-5 = 1

5-5 = 0 6-5 = 1 5-5 = 0 4-5 = -1 5-4 = 1 6-4 = 2 5-6 = -1 6-4=2 5-6 = -1 6-6= 0

4-6 = -2

-1

MAX MIN

-2 1

1

Page 18: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Minimax Search (Contd.)

● Search depth could effect results

●  Issues: ■  limited look-ahead may lead to bad states later

–  remedy: search deeper BUT .... ■  search deeper doesn’t necessary mean better

Max Min

3 5

one-ply search → second move

2 7 1 8

two-ply search → first move 2 1

2

Alpha Beta Procedure ●  Improve efficiency by pruning

Max Min

2 7 1

2

≥ 2

≤ 1

cutoff

→ value of this node = 2

8

Page 19: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Alpha Beta Procedure α = lower bound of MAX node β = upper bound of MIN node

Max Min

2 7 1

2

≥ 2

≤ 1

A

9

β = 1

α > β à cutoff

α = 2

B

Min Max

2 7 9

7

≤ 7

≥ 9

A

1

α = 9 B

β = 7

α-cutoff β-cutoff

B is α-cutoff B is β-cutoff

More Examples: α-β pruning

2 3 5 7 0 2 1 5 6 7 4

Result on Minimax without pruning. Select first move for a three-ply search to obtain a game value 3

MAX

MIN

MAX

0 3

6 2 7 0 7 3

3

2

Page 20: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

More Examples: α-β pruning

Save time on evaluation of five nodes. Result is to choose first move.

MAX

MIN

MAX 2 0 3

3

2 3 5 0 2 1

≥ 2

Init: α (lower bound of MAX node) = -∞ and β (upper bound of MIN node) = ∞

≥ 3

≥ 2 ≥ 5

≤ 3 ≤ 0

α β -∞ ∞ 2 ∞ 2 3 5 3 3 3 3 0 3 2

3 ≤ 2

More Examples: α-β pruning (contd)

8 7 3

Save time on evaluation of 11nodes. Result is to choose middle move.

9 1 6 2 4 1 1 3 5 3 9 2 6 5 2 1 2 3 9 7 2 16 6 4

MAX

MIN

MAX

≤ 8

≥ 8 8 ≥ 9 ≥ 2 ≥ 4

4

4

≥ 4

≥ 1 ≥ 3 ≥ 9 5

≤ 5

≥ 3 ≥ 6

5

≥ 5

≥ 1 ≥ 2 3

≤ 3

5

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Page 21: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Best case pruning

9 8 7 Assume left to right evaluation. Any game tree with better pruning? What’s its characteristic? Best case: the best child is the first one being evaluated ~ O(bd/2) # of evaluations = 2bd/2 – 1 if d even b(d+1)/2 + b(d-1)/2 – 1 if d is odd [Knuth]

10 11 6 5 4 3 2 1

MAX

MIN

MAX

≤ 9

9

9

≥ 10 ≥ 11

≥ 9

6

≤ 6

3

≤ 3

Outline

•  What are heuristics and heuristic functions ? •  Using heuristics in games •  Heuristic search algorithms •  Properties and issues

Page 22: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Heuristic Search

Basic classifications of heuristic search algorithms ●  Iterative improvement algorithms, e.g.,

●  Hill climbing ●  Simulated annealing

●  Best-First Search, e.g., ●  Greedy search ●  A*

●  Memory bounded search, e.g., ●  Iterative deepening A* (IDA*) ●  Simplified memory-bounded A* (SMA*)

Hill Climbing

Use generate and test problem-solving strategy Algorithm: (Simple) Hill Climbing 1.  Let current node be an initial state. 2.  If current node is a goal state, STOP (solution found) 3.  If current node has no more successor, STOP (no solution found) 4.  If successor is better than the current node, make the successor a current

node. Go to 2.

Note: “better” can mean lower or higher value. E.g., If h(n) = cost from n to a goal state then “better” = lower value If h(n) = profit in state n then “better” = higher value

Page 23: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Example: Hill Climbing ●  h(n) = profit in state n

A

B C

D

B E Solution: ACDE

Start Goal

A

B

C

D E

0

-2

1

3

5 h(E) = 5

A

B C

E Solution: ACE

Solutions depend on order of node expansion

Gradient Search ●  A variation of hill climbing (steepest ascent):

Replace “better” by “best” in step 4 of the simple hill climbing algorithm. I.e., making the best successor, that is better than current node, a new current node

A

B C

D Solution: ACE

Start Goal

A

B

C

D E

0

-2

1

3

5

Solutions do not depend on order of node expansion

E

Page 24: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Hill Climbing ●  May miss optimal solution

A

B C

D Solution: ACD

Start Goal

A

B

C

D E

0

-2

1

3

5

Goal

A

B C

E Solution: ACE

Which is a better solution?

Hill Climbing: Example 2 A 10

C 8 D 7 B 6

F 7 G 5 H 4 L 1 Goal E 8

I 6 J 3 Goal K 2

Simple hill climbing: ABGJ but not optimal Optimal solution: ADL Gradient search: ABHK miss solution If K is a goal state ... still the solution is non-optimal

What are solution paths from hill climbing algorithms?

Hill climbing returns “locally” optimal solution

Page 25: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Characteristics and Issues •  Hill climbing returns “locally” optimal solution

•  Complexity: •  Time Complexity = O(d), where d = longest path length in the tree •  Space Complexity ?

•  Failures in hill climbing ●  search is too local (more later) ●  bad heuristics

Example: Blockworld

D

A

C

B

C

D

B

A

Start Goal

Characteristics and Issues (cont)

Operators: Put(X) puts block X on table Stack(X, Y) puts block X on top of block Y C

D

B

A

D

A

C

B

Start Goal D

A

C

B

D A

C

B D

A

C

B

D

A

C

B

Page 26: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Characteristics and Issues (cont)

C

D

B

A

D

A

C

B

Start Goal D

A

C

B

D A

C

B D

A

C

B

D

A

C

B

Heuristic1: (an object is either a block or a table) ●  Add one for every block that is attached on the right object ●  Subtract one for every block that is attached on the wrong object

0

0

2

0 0

4

Characteristics and Issues (cont)

C

D

B

A

D

A

C

B

Start Goal D

A

C

B

D A

C

B D

A

C

B

D

A

C

B

-3 -2 -1 = -6

-1

-3

-6 -2

Heuristic 2: (a support of X is a set of blocks supporting X) ●  For each block that has correct support, add one for every block in the support ●  For each block that has an incorrect support, subtract one for each block in the support

6

Page 27: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Characteristics and Issues (contd) Drawbacks: situations that no progress can be made ●  Foothill (local maxima): always better than neighbors but not

necessary better than some other far away ●  Mesa (Plateau): not possible to determine

the best direction to move ●  Zig-zag (Ridges): local max has a slope

can’t traverse a ridge by single moves

● Remedy: Random-restart hill-climbing ●  Backtrack to earlier node ●  Big jumps to new search space ●  Move to several directions at once

●#●#

●#

Simulated Annealing

●  Or Valley Descending - a variation of hill climbing where “downhill” moves may be made at the beginning

●  Allows random moves to escape local max ●  can temporarily move to a worse state to avoid being stuck, i.e.,

●  Analogous to annealing metals to cool molten metal to solid ●  A transition to a higher energy state in cooling process occurs with

probability p, where p = e -ΔΕ / T ΔΕ = +ve change in energy level T = Temperature

If state is better then move, else move with prob. < 1, where the prob. of the “badness” of the move decreases exponentially

Note: p is propositional to T T initially increases then decreases

Page 28: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Simulated Annealing (contd)

Algorithm (sketched) 1.  current node = an initial state. Initialize T according to the annealing schedule 2.  Best-so-far = current node 3.  Repeat

Generate a successor X of a current state; If X is a goal state then return it and STOP

else if X is better than current then begin current = X; best-so-far = X end else make X a current state only with probability p = e -ΔΕ / T where ΔΕ = change in values of current node and X; Revise T from the schedule Until a solution is found or current state has no more successor

4.  Return Best-so-far (ancestors are traced for a solution path)

Simulated Annealing (contd)

A 0 B 3 C 5 D 1 E 2 H 7 F 6 G 10

Hill climbing: stuck at B

Gradient search: stuck at H

Simulated Annealing: ABDFG (if B generates D first)

ACHEG (if uses gradient search variation)

Start

Goal

Page 29: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Heuristic Search

Basic classifications of heuristic search algorithms ●  Iterative improvement algorithms, e.g.,

●  Hill climbing ●  Simulated annealing

●  Best-First Search, e.g., ●  Greedy search ●  A*

●  Memory bounded search, e.g., ●  Iterative deepening A* (IDA*) ●  Simplified memory-bounded A* (SMA*)

Best First Search

●  Expand the node with lowest cost first to find a low-cost solution

●  Uses heuristic cost evaluation function f(n) for node n

●  Idea: ■  Loop until goal is found or no node left to generate

–  Choose the best of the nodes generated so far. If it is goal then quit. –  Generate the successors of the chosen node –  Add all new nodes to the set of nodes generated so far

Page 30: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Example 1

Start A

B

C

D

E 25

17

15

10

4

Goal F 0

A 25

solution: ACEF

Goal

f(A) = 25

f(F) = 0, etc.

“best” = smallest value

B 17 C 15

E 4 D 10

D 10 F 0

Best First Search Algorithm Algorithm: 1 OPEN = [start]; CLOSED = []; 2 If OPEN = [], exit with FAIL; 3 Choose best node from OPEN, call it X; 4 If X is a goal node, exit with a traced solution path; 5 Remove X from OPEN to CLOSED; 6 Generate successors of X (record X as their parent) For each successor S of X i) Evaluate f(S); ii) If S is new (i.e., not on OPEN, CLOSED), add it to OPEN iii) If S is not new, compare f(S) on this path to previous one If previous is better or same, keep previous and discard S Otherwise, replace previous by S. If S is in CLOSED, move it back to OPEN 7 Go to 2

Start A

B

C

D

E 25

17

15

10

4

Goal F 0

X OPEN CLOSED A25 -

A25 B17,C15 A25

C15 D10,E4,B17 C15,A25

E4 F0,D10,B17 E4, C15,A25

F0 F0,D10,B17 E4,C15,A25

Goal Solution ACEF

f(A) = 25, f(F) = 0, etc.

Page 31: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Evaluation Cost Functions Start

Goal

g(n)

h(n)

f(n) = cost of state n from start state to goal state g(n) = cost from start state to state n h(n) = cost from state n to goal state

In Best First Search, an evaluation cost function of state n

f ʹ′(n) = g(n) + hʹ′(n), where f ʹ′(n) is estimate of f(n) hʹ′(n) is a heuristic estimate of h(n)

G

S

n

Example 2

Start A

B

C

D

E 25

17

15

10

4

Goal F 0 hʹ′(A) = 25

hʹ′(F) = 0, etc.

f ʹ′(n) = g(n) + hʹ′(n)

9

7

5

3

11 4

4

A 25+0

B 17+9=26 C 15+7=22

D 10+11=21 E 4+18=22

B 17+14=31 E 4+16=20

solution: ACDEF

Goal F 0+20

Page 32: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Best First Search: Example 2 Algorithm: 1 OPEN = [start]; CLOSED = []; 2 If OPEN = [], exit with FAIL; 3 Choose best node from OPEN, call it X; 4 If X is a goal node, exit with a traced solution path; 5 Remove X from OPEN to CLOSED; 6 Generate successors of X (record X as their parent) For each successor S of X i) Evaluate f(S); ii) If S is new (i.e., not on OPEN, CLOSED), add it to OPEN iii) If S is not new, compare f(S) on this path to previous one If previous is better or same, keep previous and discard S Otherwise, replace previous by S. If S is in CLOSED, move it back to OPEN 7 Go to 2

Start A

B

C

D

E

15

10

4

Goal F

OPEN CLOSED A25 - B17+9A,C15+7A A25

Goal Solution ACDEF

hʹ′(A) = 25, hʹ′(F) = 0, etc.

= g(S) + hʹ′(S)

9 5

7 11

4

3

25

17 0

4

D21CA,E22CA,B26A C22A,A25 A39CA E22CA,B26A D21CA,C22A,A25 B31DCA,E20DCA,C30DCA, F20EDCA,B26A E20DCA,D21CA, C42EDCA,D31EDCA C22A,A25

Evaluation Cost Functions & Search

Start

Goal

g(n)

h(n)

f(n) = cost of state n from start state to goal state g(n) = cost from start state to state n h(n) = cost from state n to goal state

In Best First Search, an evaluation cost function of state n

f ʹ′(n) = g(n) + hʹ′(n), where f ʹ′(n) is estimate of f(n) hʹ′(n) is a heuristic estimate of h(n)

G

S

n

Special cases: •  Uniform cost search: f ʹ′(n) = g(n) •  Breadth First Search: f ʹ′(n) = g(n), where g ≡ depth •  Greedy search: f ʹ′(n) = hʹ′(n) •  A*: f ʹ′(n) = g(n) + hʹ′(n) where hʹ′(n) is admissible (later)

Page 33: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Outline

•  What are heuristics and heuristic functions ? •  Using heuristics in games •  Heuristic search algorithms •  Properties and issues

Some properties ●  Uniform Cost Search:

■  Minimizes g(n) ■  Expands node on the least cost path first

à Gives solution with minimal distance traveled ■  Doesn’t direct search towards goal

●  Greedy Search: ■  Minimizes hʹ′(n) ■  Expands node closest to the goal à Reaches the goal fast ■  Directs search towards goal disregarding traveling distance à not

optimal

●  A*: ■  Minimizes g(n) + hʹ′(n) ■  Balances both costs

Page 34: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Admissibility

A 3

B 2 C 4

D 1 I 1

E 1 J 0

F 1

G 1

H 0 Goal

Goal

hʹ′(n) is given near the node, g(n) = depth(n)

+1 +1

+2 +2

+3 +3

+4

+5

Problem: hʹ′(C) > h*(C) – hʹ′ overestimates h where h*(n) = cost on the optimal path from state n to goal state Here h*(C) = 2 from an optimal path ACIJ

Using f ʹ′(n) = g(n) + hʹ′(n): Solution ACIJ H is not generated

Suppose F is also a goal: Solution ABDEF G, H, C, I, J not generated Solution is not optimal – cost 5 instead of 3

Goal

2

Suppose hʹ′(C) = 2 à hʹ′(C) ≤ h*(C): Solution ACIJ – optimal, and F, G, H not generated

If hʹ′(n) ≤ h*(n) ≤ h(n) for all n, then hʹ′ is admissible (e.g., see ACIJ)

Admissibility (contd) ■  If hʹ′(n) = h*(n) then goal state is converged with no search

■  If hʹ′ overestimates h* à hʹ′ is worse (larger) than its actual optimal cost (i.e., hʹ′(n) > h*(n) for some n) à hʹ′ is pessimistic and the node may not get chosen à could miss optimal solution (earlier example hʹ′(C) = 4)

■  If hʹ′ never overestimates h* (i.e., hʹ′(n) ≤ h*(n) for all n) à hʹ′ is better than its actual optimal cost à hʹ′ is optimistic and the node gets chosen

•  Search satisfies admissible condition is admissible ●  Admissibility guarantees optimal solution if it exists •  A* (satisfies admissible conditions) is complete and optimal

admissible condition

Page 35: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Monotonicity ●  For hʹ′(goal) = 0, hʹ′ is monotone if for all n and its descendent m

■  hʹ′(n) ≤ cost(n,m) + hʹ′(m)

●  The above implies f ʹ′(m) ≥ f ʹ′(n) and thus (monotone non-decreasing gives) the name

●  Monotonicity ~ locally admissible

à reaching each state along optimal path thus, it guarantees optimal path to any state the first time the state is discovered

Start

Goal

g(n)

h'(m)

G

S

n

m h'(n)

cost(n,m)

Monotonicity (contd) ●  Consequences of monotone heuristics in search algorithms

■  can ignore a state discovered a second time ■  no need to update the path information

●  Monotonicity implies admissibility

●  Uniform cost search gives optimal solution when it is monotone i.e., when cost(n,m) ≥ 0

Page 36: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Examples

•  h1(n) = 0 for all n •  h2(n) = straight line distance from state n to a goal state ●  h1 and h2 are admissible and monotonic ●  The 8 puzzle: E.g.,

h3(n) = the number of tiles that are out of place from the goal h4 (n) = sum of distances out of place h5 (n) = 2 × the number of direct tile reversals All are less than or equal to the number of moves required to move the

tiles to the goal position (I.e., actual cost) à all are admissible

Informedness ●  Let h1 and h2 be heuristics in two A* algorithms, h2 is more

informed than h1 if (1) h1(n) ≤ h2(n) for all n, and (2) h1(m) < h2(m) for some m E.g., h2 is more informed than h1 for h1(n) = 0 for all n, and h2(n) = estimate distance from state n to a goal state

●  More informed heuristics reduce search space Example: Consider two A* searches: 1. f(n) = depth(n) + h1(n) 2. f(n) = depth(n) + h2(n)

Search 1 covers entire space Search 2 covers partial space

A 4

B 5 C 3 D 5

F G H 2 I 0 J

K L

Goal

Page 37: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

Other heuristic searches ●  Iterative improvement algorithms

●  Hill climbing: moves to a better state ●  Simulated annealing: random moves to escape local max

●  Best-First Search ●  Greedy search: expands the node closest to the goal ●  A*: expands the node on the least-cost solution path

●  Other search variations ■  Beam search ■  AO* ■  Memory bounded search

●  Iterative deepening A* (IDA*) ●  Simplified memory-bounded A* (SMA*)

Applications of search algorithms

Two important problem classes: ●  Game playing (discussed earlier) ●  Constraint Satisfaction Problems (CSP)

Page 38: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

CSP

●  States are defined by values of a set of variables ●  Goal is a set of constraints of the values ●  Solution specifies values of all variables such that the

constraints are satisfied Real-world problems:

●  Design VLSI layout ●  Scheduling problems

CSP (contd)

(x, y, z)

Start state

Search in CSP with 1) x$2 2) x + y = z 3) y#z !3 4) x+y+z#12

Goal

(2, y, z) x=2 (2, y, 2+y) propagate thru constraint 2)

Forward checking: no y satisfies 3) Backtrack

(4, y, z) x=4

(4, y, 4+y) propagate thru constraint 2)

(4, 3, 7)

y=3

violates 4) Arc consistency: delete y=3, z=7 Backtrack

y=2 (4, 2, 6)

Solution

Page 39: Search - Texas Tech Universityredwood.cs.ttu.edu/~rahewett/teach/ai16/3search.pdf · Heuristic Search e.g., hill climbing, best first search, ... Bidirectional Search yes yes for

CSP (contd)

Techniques required ●  Backtracking ●  Forward checking ●  Arc consistency which exhibits Constraint propagation

Efficiency in searching in CSP depends on selecting ●  which variable ●  what value

Heuristics in CSP: ●  Most-constraining-variable less future variable choices ●  Least-constraining-value more freedom for future values