problem-solving as search

37
Problem-solving as search

Upload: amanda

Post on 22-Feb-2016

56 views

Category:

Documents


1 download

DESCRIPTION

Problem-solving as search. History. Problem-solving as search – early insight of AI. Newell and Simon’s theory of human intelligence and problem-solving. Early examples: 1956: Logic Theorist (Allen Newell & Herbert Simon) 1958: Geometry problem solver (Herbert Gelernter) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Problem-solving as search

Problem-solving as search

Page 2: Problem-solving as search

History

Problem-solving as search – early insight of AI.

Newell and Simon’s theory of human intelligence and problem-solving.

Early examples: • 1956: Logic Theorist (Allen Newell & Herbert

Simon)• 1958: Geometry problem solver (Herbert

Gelernter)• 1959: General Problem Solver (Herbert Simon

& Alan Newell)• 1971: STRIPS (Stanford Research Institute

Problem Solver, Richard Fikes & Nils Nilsson)

Page 3: Problem-solving as search

Real-World Problem-Solving as Search

Examples:

• Route/Path finding: Robots, cars, cell-phone routing, airline routing, characters in video games, …

• Layout of circuits

• Job-shop scheduling

• Game playing (e.g., chess, go)

• Theorem proving

• Drug design

Page 4: Problem-solving as search

Classic AI Toy Problem: 8-puzzle

initialstate

goalstate

Notion of “searching a state space”

2 8 3

1 6 4

7 5

Pictures from http://www.cs.uiuc.edu/class/sp06/cs440/Lectures/lec2.pp

2

8

31

6

4

7 5

Page 5: Problem-solving as search

8-puzzle search tree

Pictures from http://www.cs.uiuc.edu/class/sp06/cs440/Lectures/lec2.pp

2 8 31 6 47 5

2 8 31 6 4

7 5

2 8 31

64

7 5

2 8 31 6 47 5

2 8 3

16 47 5

2 8 316

47 5

28

31

64

7 5

2 8 31 6 47 5

Page 6: Problem-solving as search

What is size of state space?

Page 7: Problem-solving as search

What is size of state space for 8-puzzle?

Size of state space 9! = 181,440

Size of 15-puzzle state space? 16! = 2 x 1013

Size of 24-puzzle state space? 25! = 1.5 x 1025

Page 8: Problem-solving as search

What is size of state space for 8-puzzle?

Size of state space 9! = 181,440

Size of 15-puzzle state space? 16! = 2 x 1013

Size of 24-puzzle state space? 25! = 1.5 x 1025

Can’t do exhaustive search!

Page 9: Problem-solving as search

Approximate number of states

Tic-Tac-Toe: 39

Checkers: 1040

Rubik’s cube: 1019

Chess: 10120

Page 10: Problem-solving as search

In general, a search problem is formalized as :

• state space

• special start and goal state(s)

• operators that perform allowable transitions between states

• cost of transitions

All these can be either deterministic or probabilistic.

Page 11: Problem-solving as search

State space as a tree/graph

Search as tree search

Solutions: “winning” state, or path to winning state

Page 12: Problem-solving as search

How to solve a problem by searching

1. Define search space• Initial, goal, and intermediate states

2. Define operators for expanding a given state into its possible successor states• Defines search tree

3. Apply search algorithm (tree search) to find path from initial to goal state, while avoiding (if possible) repeating a state during the search.

4. Solution is • path from initial to goal state (e.g., traveling

salesman problem)• or, simply a goal state, which might not be

initially known (e.g., drug design)

Page 13: Problem-solving as search

Missionaries and cannibals

• Three missionaries and three cannibals are on the left bank of a river.

• There is one canoe which can hold one or two people.

• Find a way to get everyone to the right bank, without ever leaving a group of missionaries in one place outnumbered by cannibals in that place.

From http://www.cs.uiuc.edu/class/sp06/cs440/Lectures/lec2.pp

Page 14: Problem-solving as search

Missionaries and cannibals

• Three missionaries and three cannibals are on the left bank of a river.

• There is one canoe which can hold one or two people.

• Find a way to get everyone to the right bank, without ever leaving a group of missionaries in one place outnumbered by cannibals in that place.

From http://www.cs.uiuc.edu/class/sp06/cs440/Lectures/lec2.pp

How to set this up as a search problem?

Page 15: Problem-solving as search

Missionaries and cannibals• State space:• Size?

• Initial state:

• Goal state:

• Operators:

• Cost of transitions:

• Search tree:

Page 16: Problem-solving as search

Drug design• Example: Search for sequence of up to N amino acids that forms

protein shape that matches a particular receptor on a pathogen.

• (Note: There are 20 amino acids to choose from at each locus in the string.)

Page 17: Problem-solving as search

Drug design• State space:• Size?

• Initial state:

• Goal state:

• Operators:

• Cost of transitions:

• Search tree:

Page 18: Problem-solving as search

Search StrategiesA strategy is defined by picking the order of node expansion.

Strategies are evaluated along the following dimensions:1. completeness – does it always find a solution if one exists?2. optimality – does it always find a optimal (least-cost or highest

value) solution?3. time complexity – number of nodes generated/expanded4. space complexity – maximum number of nodes in memory

Time and space complexity are often measured in terms of:b – maximum branching factor of the search treed – depth of the least-cost solutionm – maximum depth of the state space (may be infinite)

Adapted from http://www.cs.uiuc.edu/class/sp06/cs440/Lectures/lec2.pp

Page 19: Problem-solving as search

Search methods

• Uninformed search:1. Breadth-first2. Depth-first3. Depth-limited4. Iterative deepening depth-first5. Bidirectional

• Informed (or heuristic) search (deterministic or stochastic):1. Greedy best-first 2. A* (and many variations)3. Hill climbing

4. Simulated annealing5. Genetic algorithm6. Tabu search7. Ant colony optimization

• Adversarial search:1. Minimax with alpha-beta

pruning

Page 20: Problem-solving as search

Uninformed strategies

Breadth-first: Expand all nodes at depth d before proceeding to depth d+1

Depth-first: Expand deepest unexpanded node

Depth-limited: Depth-first search with a cutoff at a specified depth limit

Iterative deepening: Repeated depth-limited searches, starting with a limit of zero and incrementing once each time

http://www.cse.unl.edu/~choueiry/S03-476-876/searchapplet/index.html

Page 21: Problem-solving as search

Breadth-first: Complete? Optimal? Time? Space?

Depth-first: Complete? Optimal? Time? Space?

Depth-limited: Complete? Optimal? Time? Space?

Iterative deepening: Complete? Optimal? Time? Space?

Uninformed Search Properties

Page 22: Problem-solving as search

Informed (heuristic) Search

• What is a “heuristic”?

• Examples:• 8 puzzle• Missionaries and Cannibals• Tic Tac Toe• Traveling Salesman Problem• Drug design

Page 23: Problem-solving as search

Best-first greedy search

1.current state = initial state

2. Expand current state

3. Evaluate offspring states s with heuristic h(s), which estimates cost of path from s to goal state

4.current state = argmins h(s) for s offspring(current state)

5.If current state ≠ goal state, go to step 2.

http://alumni.cs.ucr.edu/~tmatinde/projects/cs455/TSP/heuristic/Travellinganimation.htm

Page 24: Problem-solving as search

Search TerminologyCompleteness

• solution will be found, if it exists

Optimality• least cost solution will be found

Admissable heuristic h s, h never overestimates true cost from state s to goal state

Best first greedy search: Complete? Optimal?

8-puzzle heuristics: Hamming distance, Manhattan distance: Admissible?

Example of non-admissable heuristic for 8-puzzle?

Page 25: Problem-solving as search

A* Search

Uses evaluation function f (n)= g(n) + h(n)where n is a node.

1. g is a cost function• Total cost incurred so far from initial

state at node n

2. h is an heuristic

Best first search is A* with g = 0.

Page 26: Problem-solving as search

h1(start state) =

h2(start state) =

Page 27: Problem-solving as search

A* Pseudocode

give code and show example on 8-puzzle

Page 28: Problem-solving as search

A* Pseudocodecreate the open list of nodes, initially containing only our starting node

create the closed list of nodes, initially empty

while (we have not reached our goal) { consider the best node in the open list (the node with the lowest f value)

if (this node is the goal) { then we're done } else {

move the current node to the closed list and consider all of its successors

for (each successor) { if (this suceessor is in the closed list and our current g value is lower) {

update the successor with the new, lower, g value change the sucessor’s parent to our current node }

else if (this successor is in the open list and our current g value is lower) { update the suceessor with the new, lower, g value change the sucessor’s parent to our current node }

else this sucessor is not in either the open or closed list {

add the successor to the open list and set its g value } } } }

Adapted from: http://en.wikibooks.org/wiki/Artificial_Intelligence/Search/Heuristic_search/Astar_Search#Pseudo-code_A.2A

Page 29: Problem-solving as search

A* search is complete, and is optimal if h is admissible

Page 30: Problem-solving as search

Proof of Optimality of A*Suppose a suboptimal goal G2 has been generated and is in the OPEN list.

Let n be an unexpanded node on a shortest path to an optimal goal G1.

G1

start

G2n

f(G2) = g(G2) since h(G2) = 0

g(G1) since G2 is suboptimal

f(G2) f(n) since h is admissible

Since f(G2) f(n), A* will never selectG2 for expansion

Page 31: Problem-solving as search

Variations of A*

• IDA* (iterative deepening A*)

• ARA* (anytime repairing A*)

• D* (dynamic A*)

Page 32: Problem-solving as search

(From http://aima.eecs.berkeley.edu/slides-pdf/)

Page 33: Problem-solving as search

(From http://aima.eecs.berkeley.edu/slides-pdf/)

Page 34: Problem-solving as search

(From http://aima.eecs.berkeley.edu/slides-pdf/)

Page 35: Problem-solving as search

Example of Simulated Annealing

Netlogo simulation

Page 36: Problem-solving as search

Simulated Annealing is complete (if you run it for a long enough time!)

Page 37: Problem-solving as search

Genetic Algorithms

Similar to hill-climbing, but with a population of “initial states”, and stochastic mutation and crossover operations for search.