## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

**PROBLEM SOLVING TECHNIQUES IN ARTIFICIAL INTELLIGENCE
**

Problems are tackled in AI using two main broad approaches namely:

i) Search technique

ii) Modelling natural phenomena (e.g. evolution, and neural networks).

I) NEURAL NETWORKS

A neural network is used to model the human neuron. The neural network consists of a number

of nodes that are connected using links. Each link has a numeric weight that is associated with it.

The learning occurs by adjusting the weights so that the inputs correspond to the outputs. A

neural network unit consists of a linear input function that computes the sum of weighted inputs.

It also has a non linear component called activation function that transforms the final input

values into a final activation value.

Neural networks have been used in pronunciation in which text streams are mapped to phonemes

(basic sound elements); handwritten text recognition; driving (ALVINN (1993)-learnt how to

steer a vehicle by observing the human driver.

II) SEARCHING TECHNIQUE

Searching is the process of looking for the solution of a problem through a set of possibilities

(state space). The solution is a path from the current state to the goal state.

Process of Searching

Searching proceeds as follows:

1. Check the current state;

2. Execute allowable actions to move to the next state;

3. Check if the new state is the solution state; if it is not then the new state becomes

the current state and the process is repeated until a solution is found or the state

space is exhausted.

Search problem

The search problem consists of finding a solution plan, which is a path from the current state to

the goal state.

Representing search problems

A search problem is represented using a directed graph. The states are represented as nodes while

the allowed steps or actions are represented as arcs.

Defining a search problem

A search problem is defined by specifying:

• State space;

• Start node;

• Goal condition, and a test to check whether the goal condition is met;

• Rules giving how to change states.

Example of a search case study

Three blocks A, B, C on a table are considered. A block can be grasped when there is no other

block on top of it. Only one block can be moved at a time.

Knowledge Based Systems ~ Wainaina Page 2 of 7

Possible moves

Put a block on table;

Put a block on top of another block;

Remove a block from the top of another and place on top of another block.

Search Problem

Initial state (current state)

C

A

B

Goal state (final state)

A

B

C

State space C B

A A A A

B BC BC C

C B

B B C C

A AC ABC AB A

B C

AC AB

A A

B C

C B

The state space has 13 elements or nodes.

The solution to our problem is any member of the set of all paths from original to goal state such

as the path indicated in bold.

Search Strategies

Are controls mechanisms used to direct the search and enable to select which operator to apply at

each step, when there are more than one operator to be applied. Different search strategies are

evaluated in terms of four criteria:

1. Completeness: is the strategy guaranteed to find a solution when there is one?

Knowledge Based Systems ~ Wainaina Page 3 of 7

2. Time complexity: how long does it take to find a solution?

3. Space complexity: how much memory does it need to perform the search?

4. Optimality: does the strategy find the highest quality solution when there are several different

solutions?

Example of a problem (2)

The figure below contains a representation of a map. The nodes represent cities, and the links

represent direct road connections between cities. The number associated to a link represents the

length of the corresponding road.

The search problem is to find a path from a city S to a city G

S

A

D

B

E

C

F

G

3

4 4

5

5

4 2

4

3

Types of Searches

There are two broad classes of searches:

i) Uninformed search (blind / Exhaustive search)

ii) Informed search (Heuristic/ Guided search)

1) Uninformed search:

This is a search that has no information about its domain. The only thing that a blind search

can do is distinguish a non-goal state from a goal state. The following are the various

uniform search algorithms:

i) Breadth-first search:- Looks for the goal node among all the nodes at a given level

before using the children of those nodes to push on as shown below

S

A

D

B

E

C

F

G

D

A

E

E

B

B

A C E C F B F D

Breadth-first search of a path from node S to node G.

The following are characteristics of breadth-first searches:

• Very systematic and all paths of length l will be considered before paths of length l +1.

• If there is a solution, breadth-first is guaranteed to find it.

Knowledge Based Systems ~ Wainaina Page 4 of 7

• If there are several solutions, breadth-first will always find the shallowest goal state first.

• Not preferred in terms of time and space complexities. I.e. for a problem has a path length

of d, the maximum number of nodes expanded is 1 +b +b

2

+b

3

+… +b

d

, Where b is the

branching factor.

Note:

Breadth first search can only be used for small problems. If we have larger problems to solve

then there are better blind search strategies that can be used (depth first search).

ii) Depth-first search:- Looks for the goal node among all the children of the current node

before using the sibling of this node to push on as shown below

S

A

B

C

G

E

F D

Depth-first search of a path from node S to node G.

The following are characteristics of breadth-first searches:

• It has modest memory requirements. For a state space with a branching factor of b and a

maximum depth of m, depth first search requires storage of b

m

nodes.

• Depth first search is neither complete nor optimal. i.e. If depth first search goes down an

infinite branch it will not terminate if it does not find a goal state. If it does find a solution

there may be a better solution at a higher level in the tree.

2) Informed search: -

Is a search that uses domain-dependant (heuristic) information in order to search the space

more efficiently. The idea behind a heuristic search is to explore the node that is most likely

to be nearest to a goal state. To do this, a heuristic function which tells us how close we are

to a goal state is used. There is no guarantee that the heuristic function will return a value

that ensures that a particular node is closer to a goal state than any other node.

Heuristic is used as an estimate, based on domain-specific information that is computable

from the current state description, of how close we are to a goal

The following are the various heuristic search algorithms:

i). Uniform-cost search:- Looks for the cheapest path from the start node to a goal node. i.e.

this method always extends the cheapest path found so far. In this way it is guaranteed to

find the cheapest path, if one exists.

Example

Using the problem defined above, find the shortest route from S to G; that is S is the

initial state and G is the goal state.

Knowledge Based Systems ~ Wainaina Page 5 of 7

In summary, uniform cost search will find the cheapest solution provided that the cost of

the path never decreases as we proceed along the path. If this requirement is not met then

we never know when we will meet a negative cost. The result of this would be a need to

carry out an exhaustive search of the entire tree.

ii). Hill climbing:- Hill climbing is depth-first search with a heuristic measurement that

orders choices as nodes are expanded. It always selects the most promising successor of

the node last expanded. For instance, one may consider that the most promising successor

of a node is the one that has the shortest straight-line distance to the goal city G. In figure

below, the straight line distances between each city and G is indicated in square brackets.

S

A

D

B

E

C

F

G

3

4 4

5

5

4 2

4

3

[8]

[8.5] [6]

[6] [3]

[3]

[10]

The hill climbing search from S to G proceeds as follows:

S

A

A

G

E

F B

8 8.5

8.5

6

6 3

D

SS

A D

3

4

3 4

A D

3

4

3 4

B D

5 4

8 7

B D

5 4

8 7

C E

4 5

11 12

C E

4 5

11 12

G

3

13

G

3

13

B F

4 5

10 11

B F

4 5

10 11

A E

5 2

6 9

A E

5 2

6 9

step 1

step 2 step 3

step 4

step 5

step 6

Knowledge Based Systems ~ Wainaina Page 6 of 7

iii). Greedy Search: - The node closest to the goal state, as determined by an evaluation

function f(n) = h(n), is expanded first. Generally it selects node to expand that is believed

to be closest (hence it's "greedy") to a goal node (i.e., smallest f value).

A Heuristic Function (h(n)) is a function that calculates the cost of reaching the goal state

from the node n.

o Issues:

• Finds solution quickly

• Doesn’t always find the best solution, since it evaluates the immediate best

choice, not the long term options.

• Can fall prey to false starts

Expands a node that leads to a dead end. i.e. It is not complete

iv). The search algorithm A*: - is a refinement of the greedy search due to the fact that it is

neither optimal nor complete. The goal of the A* algorithm is to find a minimal cost-path

joining the start node and a goal node. It uses the following evaluation function to

estimate the promise of a node n:

f*(n) =g*(n) +h*(n)

where:

g*(n) estimates the minimum cost of a path from the start node to node n;

h*(n) estimates the minimum cost from node n to a goal.

The node chosen for expansion is the one for which f* is minimum.

Notice that A* is very similar to the uniform-cost search, except that it uses a different

function (which is a heuristic function) to estimate the promise of a node.

In fact, A* reduces to uniform-cost search if h*(n) is always considered to be 0.

Example

Use A* algorithm to find the path from city S to city G by using the following functions:

S

A

D

B

E

C

F

G

3

4 4

5

5

4 2

4

3

[8]

[8.5] [6]

[6] [3]

[3]

[10]

In the above figure, the value of h* for each node is represented in square brackets. That

is, h*(D) =8.

Knowledge Based Systems ~ Wainaina Page 7 of 7

Solution:

S

A

D

B

E

C F

G

D A

E

B

h*(A)=8.5

4

4 5

5 2

4 5

5 4

18 17

3

13

14

step 1

f*(A)=3+8.5

12

13

step 2 step 3

17.5 12

13

step 4 step 5

step 6

11.5

3

g*(A)=3

h*(D)=8

f*(D)=4+8

g*(D)=4

7+6 9+8.5

6+6 8+8=16

11+6 10+3

A* search of a path from S to G.

Applications of Search Methods

Route Finding

•routing in computer networks;

•automated travel advisory systems;

•airline travel planning systems.

Touring and Traveling Salesperson Problems

•planning trips for traveling salespersons;

•planning movements for automatic circuit board drills.

VLSI Layout

•cell layout on the chip;

•channel routing between the cells.

Robot Navigation

•In a two dimensional space (moving on a surface);

•In a multidimensional space (when the robot has arms and legs that must be controlled).

Assembly Sequencing

•checking the feasibility of the steps in a sequence (a geometrical search problem).

Class exercise

a) Write short notes on the Best-First search

b)

i). Describe the problems faced by hill climbing search

ii). Briefly explain ways of overcoming the above problems.

- AI NOV-DEC 08
- Trajectory Tracking Control of a Unicycle-type Mobile Robot With a New Planning Algorithm
- A Study On Best First Search
- Robot
- AGV PATH PLANNING BASED ON SMOOTHING A* ALGORITHM
- AI Search Techniques
- Path Planning Robot
- a_star
- 04_InformedSearch.pdf
- Mobile Robot Navigation on Partially Known Maps Usign the a Star Algorithm-muntean Paul
- Lecture 06
- Lecture18 Gr
- 16-pathplanning
- AIPR_Paper5
- Path Planning
- cs5881
- heuristic-searchhandout
- Anytime Path Planning and Replanning in Dynamic Environments
- InTech-Neural Control Toward a Unified Intelligent Control Design Framework for Nonlinear Systems
- A Methodology for the Investigation of Suffix Trees
- m 0362International Journal of Computational Engineering Research(IJCER)075081
- navmesh
- Dstar
- icas_2011_5_40_20078.pdf
- Truh-VormenTowards the Study of Smalltalk
- A Hybrid System Composed of Neural Networks and Genetic Algorithms
- acij040205
- 05509685
- Pathfinding Concepts
- Dijkstra Con Priority Queue

Read Free for 30 Days

Cancel anytime.

Close Dialog## Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

Loading