rai practical presentations

Post on 25-May-2015

225 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Robotics and Artificial intelliegence (Rai) practical presentations.

TRANSCRIPT

Problem Solving Problem Solving and Searchand Search

Introduction to Artificial Intelligence

CS440/ECE448

Lecture 2

This LectureThis Lecture

• Problem representation• Problem solving through search

ReadingReading• Chapter 2

AnnouncementsAnnouncements• My office hours: Weds. From 2 to 3pm.

The 8-puzzleThe 8-puzzle

2 8 3

1 6 4

7 5

Start

2

8

31

6

4

7 5

Goal

How do we goal from start configuration to the goal configuration?

The corresponding search treeThe corresponding search tree2 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

Toy Problems and Real ProblemsToy Problems and Real Problems

• 8-puzzle

• Vacuum World

• Cryptarithmetic

• 8-queens

• The water jug problem

• Missionaries and Cannibals

• Towers of Hanoi

• Traveling salesman

• Robot navigation

• Process or assembly planning

• VLSI Layout

Problem Solving:Problem Solving:• World State – values of all attributes of interest in the world.• State Space – the set of all possible world states.• Operators – change one state into another; cost of applying

operator. • Goal – An (often partial) world state or states; in an agent,

often implemented as a function of state and current percept.• Initial State – The values of attributes that are in effect at the

beginning of a problem before any operators have been applied.• Note: The states and the operators define a directed (possibly

weighted) graph.

• Solution (path) – a sequence of operators leading from the initial state to a goal state.

• Path cost – e.g. sum of distances, number of operators executed…

In the real worldIn the real world

• The real world is absurdly complex.

– Real state space must be abstracted for problem solving.

– An abstract state is equivalent to a set of real states.

• Abstract operator is equivalent to a complex combination of real actions.

– Robot operator: Move down hall – In practice, this might involve a complex set of sensor and motor activities.

• An abstract solution is equivalent to a set of real paths that are solutions in the real world.

Example: The 8-puzzleExample: The 8-puzzle

• States:

• Operators:

• Goal Test:

• Path Cost:

• Constraints:

2 8 31 6 47 5

Start

28

31

64

7 5

Goal

3£ 3 array of integer values

Move tile number i left, right, up, down

= goal state (given)

1 per move

Can only move in a direction if that space is empty

Example: The 8-puzzleExample: The 8-puzzle

• States:

• Operators:

• Goal Test:

• Path Cost:

• Constraints:

2 8 31 6 47 5

Start

28

31

64

7 5

Goal

Integer location of tiles (ignore intermediate positions)

Move blank left, right, up, down

= goal state (given)

1 per move

Can only move blank in a direction if it stays in puzzle

Example: The 8-puzzleExample: The 8-puzzle

2 8 31 6 47 5

Start

28

31

64

7 5

Goal

Initial State = [4, 1, 3, 6, 9, 5, 7, 2]

Goal State = [1, 2, 3, 6, 9, 8, 7, 4]

1 2 3

4 5 6

7 8 9

Missionaries and cannibalsMissionaries 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.

Missionaries and cannibalsMissionaries and cannibals

• States: three numbers (i,j,k) representing the number of missionaries, cannibals, and canoes on the left bank of the river.

• Initial state: (3, 3, 1)• Operators: take one missionary, one cannibal, two

missionaries, two cannibals, one missionary and one cannibal across the river in a given direction (I.e. ten operators).

• Goal Test: reached state (0, 0, 0)• Path Cost: Number of crossings.

Missionaries and Cannibals

(3,3,1)

Missionaries and Cannibals

A missionary and cannibal cross

Missionaries and Cannibals

(2,2,0)

Missionaries and Cannibals

One missionary returns

Missionaries and Cannibals

(3,2,1)

Missionaries and Cannibals

Two cannibals cross

Missionaries and Cannibals

(3,0,0)

Missionaries and Cannibals

A cannibal returns

Missionaries and Cannibals

(3,1,1)

Missionaries and Cannibals

Two missionaries cross

Missionaries and Cannibals

(1,1,0)

Missionaries and Cannibals

A missionary and cannibal return

Missionaries and Cannibals

(2,2,1)

Missionaries and Cannibals

Two Missionaries cross

Missionaries and Cannibals

(0,2,0)

Missionaries and Cannibals

A cannibal returns

Missionaries and Cannibals

(0,3,1)

Missionaries and Cannibals

Two cannibals cross

Missionaries and Cannibals

(0,1,0)

Missionaries and Cannibals

A cannibal returns

Missionaries and Cannibals

(0,2,1)

Missionaries and Cannibals

The last two cannibals cross

Missionaries and Cannibals

(0,0,0)

Water JugsWater Jugs• You are given:

– a spigot,

– a 3 Gallon jug,

– a 4 Gallon jug.

• The goal: Get 2 gallons of water in the 4 gallon jug.

• Actions: Filling jugs from spigot, dumping water in jugs onto ground, dumping 4 gallon into 3 gallon jug until 3 gallon jug is full. Dumping 3 gallon jug into 4 gallon jug until empty or until 4 gallon is full, etc, etc.

Water JugsWater Jugs

• States: How full are the two jugs?

• State Representation:4G = ?3G = ?

• Constraints:0 4G 40 3G 3

• Initial State:

4G = 0

3G=0

• Goal State:

4G=2

OperatorsOperators

• F3: Fill the 3 Gallon jug from the tap.

• F4: Fill the 4 Gallon jug from the tap.

• E4: Empty the 4-Gallon jug on the ground.

• P43: Pour water from 4G jug into the 3G jug until

3G jug is full.

• P34: Pour water from 3G jug into the 4G jug until

4G jug is full or 3G is empty.

• F3: Fill the 3 Gallon jug from the tap.

• F4: Fill the 4 Gallon jug from the tap.

• E4: Empty the 4-Gallon jug on the ground.

• P43: Pour water from 4G jug into the 3G jug until 3G jug is full.

• P34: Pour water from 3G jug

into the 4G jug until 4G jug is

full or 3G is empty.

Partial State GraphAnd

Solution Path

Search MethodsSearch Methods

A Toy Example: A Romanian A Toy Example: A Romanian HolidayHoliday

• State space: Cities in Romania• Initial state: Town of Arad• Goal: Airport in Bucharest• Operators: Drive between cities• Solution: Sequence of cities• Path cost: number of cities, distance, time, fuel

The state spaceThe state space

Search AlgorithmsSearch Algorithms• Basic Idea: Off-line exploration of state space by generating

successors of already-explored states (also known as expanding states).

Function GENERAL-SEARCH (problem, strategy)

returns a solution or failure

Initialize the search tree using the initial state of problem

loop do

if there are no candidates for expansion, then return failure

Choose a leaf node for expansion according to strategy

if node contains goal state then return solution

else expand node and add resulting nodes to search tree.

end

Function GENERAL-SEARCH (problem, strategy)

returns a solution or failure

Initialize the search tree using the initial state of problem

loop do

if there are no candidates for expansion, then return failure

Choose a leaf node for expansion according to strategy

if node contains goal state then return solution

else expand node and add resulting nodes to search tree.

end

General Search ExampleGeneral Search Example

Arad

Zerind Sibiu Timisoara

Arad Oradea Fagaras Rimnicu Vilcea

Sibiu Bucharest

The solutionThe solution

Tree search exampleTree search example

Tree search exampleTree search example

Expanded node

Fringe

Tree search exampleTree search example

Implementation of Search AlgorithmsImplementation of Search Algorithms

Function GENERAL-SEARCH (problem, queing-fn)

returns a solution or failure

queue MAKE-QUEUE (MAKE-NODE(INITIAL-STATE[problem]))

loop do

if queue is empty, then return failure

node Remove-Front(queue)

if GOAL-TEST [problem] applied to STATE(node) succeeds

then return node

else queueQUEING-FN(queue,EXPAND(node,operators[problem]))

end

Function GENERAL-SEARCH (problem, queing-fn)

returns a solution or failure

queue MAKE-QUEUE (MAKE-NODE(INITIAL-STATE[problem]))

loop do

if queue is empty, then return failure

node Remove-Front(queue)

if GOAL-TEST [problem] applied to STATE(node) succeeds

then return node

else queueQUEING-FN(queue,EXPAND(node,operators[problem]))

end

Nodes: state, parent-node,operator, depth, path cost

States vs. nodesStates vs. nodes

• A state is a (representation of a) physical configuration.

• A node is a data structure constituting part of a search tree includes parent, children, depth, path cost g(n).

• States do not have parents, children, depth, or path cost!

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

Strategies are evaluated along the following dimensions:

– completeness – does it always find a solution if one exists?

– optimality – does it always find a least-cost solution?

– time complexity – number of nodes generated/expanded

– space complexity – maximum number of nodes in memory

Time and space complexity are measured in terms of:

b – maximum branching factor of the search tree

d – depth of the least-cost solution

m – maximum depth of the state space (may be infinite)

Uninformed Search StrategiesUninformed Search Strategies

Uninformed (blind) strategies use only the information available in the problem definition.

Informed search techniques which might have additional information (e.g. a compass).

• Breadth-first search• Uniform-cost search• Depth-first search• Depth-limited search• Iterative deepening search

top related