artificial intelligence navigating polygonal obstacles using searching techniques l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Artificial Intelligence: Navigating Polygonal Obstacles Using Searching Techniques PowerPoint Presentation
Download Presentation
Artificial Intelligence: Navigating Polygonal Obstacles Using Searching Techniques

Loading in 2 Seconds...

play fullscreen
1 / 20

Artificial Intelligence: Navigating Polygonal Obstacles Using Searching Techniques - PowerPoint PPT Presentation


  • 289 Views
  • Uploaded on

Artificial Intelligence: Navigating Polygonal Obstacles Using Searching Techniques. Elizabeth City State University Ronald E. McNair Post baccalaureate Achievement Program La’Shanda Dukes and Justin Deloatch Faculty Mentor: Dr. Jamiiru Luttamaguzi. Abstract.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Artificial Intelligence: Navigating Polygonal Obstacles Using Searching Techniques' - barth


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
artificial intelligence navigating polygonal obstacles using searching techniques

Artificial Intelligence: Navigating Polygonal Obstacles Using Searching Techniques

Elizabeth City State University

Ronald E. McNair Post baccalaureate Achievement Program

La’Shanda Dukes and Justin Deloatch

Faculty Mentor: Dr. Jamiiru Luttamaguzi

abstract
Abstract

The project uses artificial intelligence searching techniques

to find a path around polygonal obstacles on a plane. The

solution is based on both non-informed and informed

algorithms. The algorithms are compared and contrasted.

Each of these algorithms will work on the problem

represented in terms of states and transitions between

them. The algorithms then find a path to a goal state by

choosing one segment at a time. Java programming will be

used to implement the algorithms and present the solution

in a graphical user interface.

introduction
Introduction

Intelligence is the capacity to learn and solve problems.

Intelligence is also the ability to solve novel problems, to act

rationally, to act like humans, and to acquire knowledge, learn

from experience. Modern Artificial Intelligence models how

ideal agents should act. Artificial Intelligence is the science and

engineering of making intelligent machines. It is related to the

similar task of using computers to understand human

intelligence, but AI does not have to confine itself to methods

that are biologically observable. There are many branches and

applications is Artificial Intelligence such as pattern recognition,

genetic programming, speech recognition, and game playing.

pseudocode for uniformed search
Pseudocode for Uniformed Search
  • Step 1: Initialize

Set OPEN = {s}, CLOSED = {}.

  • Step 2: Fail

If OPEN = {}, Terminate with failure.

  • Step 3: Select

Select a state, n, from OPEN and save n in CLOSED.

  • Step 4: Terminate

If n is in G, terminate with success.

  • Step 5: Expand

Generate the successors of n using operators O.

For each successor, m, insert m in OPEN only if m is not in [OPEN or CLOSED].

  • Step 6: Loop

Go to Step 2.

pseudocode for informed search
Pseudocode for Informed Search
  • Step 1: Initialize

Set OPEN = {s}, CLOSED = {}, g(s) = 0, f(s) = h(s).

  • Step 2: Fail

If OPEN = {}, Terminate with failure.

  • Step 3: Select

Select the minimum cost state, n, from OPEN. Save n in CLOSED.

  • Step 4: Terminate

If n  G, terminate with success, and return f(n)

  • Step 5: Expand

For each successor, m, of n

If m  [OPEN  CLOSED]

Set g(m) = g(n) + c(n,m)

Set f(m) = g(m) + h(m)

Insert m in OPEN

If m  [OPEN  CLOSED]

Set g(m) = min {g(m), g(n) + C(n,m)}

Set f(m) = g(m) + h(m)

If f(m) has decreased and m  CLOSED, move m to OPEN

  • Step 6: Loop

Go to step 2

examples of search algorithms
Examples of Search Algorithms

The 8-Puzzle Problem

The 8-puzzle problem is a sliding-tile puzzle where

tiles slide if they are next to a blank tile.

examples of search algorithms cont d

2

6

1

3

7

5

4

Examples of Search Algorithms cont’d

Consider the graph below with states and transitions between them. The start state is 1 and the goal state is 7. Using the Pseudocode for Uniformed Search Algorithm, with OPEN being a queue and stack, gives results that follow.

examples of search algorithms cont d8
Examples of Search Algorithms cont’d

The implementation uses OPEN as a priority queue. The state with the lowest heuristic value is chosen first from OPEN. Using the Pseudocode for Informed Search Algorithm, gives the results below. These results exhibit a different search path from uninformed search paths. Its cost is shorter or equals the others.

statement of the problem

G

  • S

j

Statement of the Problem

A robot navigates around an obstacle course from the

start state to the goal state.

methodology
Methodology
  • The states uses corners, starting points, and

endpoints that are encoded into x,y positions.

  • The shortest path is to go straight to the

corner instead of going around it. The shortest

path consists of the segments joining corners.

  • The state space implemented as Coordinate class includes the

coordinate position, the goal, and predecessor. This class

includes methods to access, the predecessor, test equality,

compute the distance from the goal, and to test if the state

itself is the goal.

methodology continued
Methodology Continued
  • A class called CoordinateSuccessorFunctionhas a method called

getSuccessors(). This method will take the current state as input

and return a list of its successors as an arraylist data structure.

  • Its header is as follows:

public ArrayList getSuccessors(CoordinatecurrentState)

  • An example of how it works is how to go from the start state to its successors. The if-statement below accomplishes it:

if(currentState.equals(cord0))

{

//Successors of cord0.

list.add(cord1); list.add(cord2); list.add(cord6);

list.add(cord7);

}

methodology cont d
Methodology cont’d

Other states are treated in a similar fashion. The heuristic function

to speed up the search process is in the Coordinate state class and

is implemented as:

public int distFromGoal()

{

int distance = 0;

distance+=Math.sqrt(Math.pow(goal.x-position.x,2)+ Math.pow(goal.y-position.y, 2));

return distance;

}

demonstration

DEMONSTRATION

We will now give a demonstration of how our project works.

results
Results

Breadth-First Search

Success: Goal found

[164, 79]

Search path:

[16, 22] [25, 7] [140, 3]

[153, 6] [164, 79]

The length of the path

is: 218

results15
Results

Depth-First Search

Success: Goal found

[164, 79]

Search path:

[16, 22] [25, 45] [60, 34]

[77, 34] [90, 45]

[125,22] [125, 6]

[140, 3] [153, 6]

[164, 79]

The length of the path

is: 252

results16
Results

Best-First Search

Success: Goal found

[164, 79]

Search path:

[16, 22] [24, 67] [42, 83]

[91, 83] [154, 80]

[164, 79]

The length of the path

is: 191

suggestions of further research
Suggestions of Further Research
  • If the polygons can have curvatures, then a polygonal boundary around such an obstacle can be used on the algorithm.
  • Assume that the surface on which the polygons are is not flat, but can have valleys and hills.
  • Allow the obstacles to be in motion. This involves bringing in time as an added feature.
bibliography
Bibliography
  • ICS 171 Lecture Notes: Introduction to Artificial Intelligence, Stephen Bay, University of California, Irvine.
  • Artificial Intelligence: A Modern Approach, Stuart Russell and Peter Norvig, Prentice Hall, 1995.
  • Applications and Branches of AI: http://www-formal.stanford.edu/jmc/whatisai/node3.html
  • Artificial Intelligence Lecture Notes, Professor P. Dasgupta, National Programme on Technology Enhanced Learning (NPTEL) Courses, Indian Institute of Technology http://nptel.iitm.ac.in/
  • Introduction to Computer Science using Java by Bradley Kjell, Central Connecticut State University, http://www.cs.iastate.edu/~honavar/JavaNotes/csjava.html
  • Principles of Artificial Intelligence, N.J. Nilsson, Springer-Verlag.
special thanks
Special Thanks

We would like to thank everyone for this opportunity and to give

special thanks to:

  • Our director: Dr. Cheryl Lewis
  • Our faculty mentor: Dr. Jamiiru Luttamaguzi
  • Program Support Staff
  • Fellow McNair Scholars
  • Our parents