Artificial Intelligence

advertisement

159.302

Dr. Napoleon H. Reyes, Ph.D.

Computer Science

Institute of Information and Mathematical Sciences email: n.h.reyes@massey.ac.nz

Tel. No.: 64 9 4140800 x 9512 / 41572

Fax No.: 64 9 441 8181

Lectures:

Monday 12pm – 1pm AT8

Thursday 12pm – 1pm AT8

Friday 12pm – 1pm AT5

Office hours: after lectures (QA2.56 or

IIMS Lab 7) http://www.massey.ac.nz/~nhreyes/Massey/159302.html

Pre-requisites

Course Overview

Learning Outcomes

Topics for Discussion

Assessment

Course Schedule

AI Demonstrations

Note:

If a student cannot attend lectures/tutorials it is the student’s responsibility to find out what

(possible changes to assignments, questions

& answers).

*

To take this course you must have passed 159.201

since

C or C++ knowledge is required to complete the assignments

Pre-requisites

Teaching Approach

Discussion of the Theoretical Framework

Step-by-Step Algorithm Details

Course Overview

Application to real-world problems

Simulations (A Graphics Engine will be provided to make learning AI more fun)

On successful completion of the course, the students should be able to:

Understand the concepts and theories behind AI technologies

Implement selected AI algorithms

Main text book

Russell S. and Norvig P., Artificial Intelligence A Modern

Approach, 3rd Ed, Prentice Hall 2009

ISBN-13: 9780136042594

MIT OpenCourseWare

Neural Network and Fuzzy Logic Applications in C/C++ by Stephen

T. Welstead

Artificial Intelligence: Structures and Strategies for Complex

Problem Solving by George F Luger

2 assignments: 40%

Final Exam (3 hours): 60%

Assessment

To pass, students have to obtain a cumulative assessment score greater than or equal to 50%.

Deadline: Deadlines for assignments will be given when assignments are distributed. You will be given 4 weeks to complete each assignment

Penalty: Late submissions (up to 1 week) will be penalised by 10%.

Program solutions that do not compile or do not run in our laboratories get 0 marks.

Late assignments will be penalized all members of the group should be named in the source file of each assignment, including the contribution of each member.

All submitted assignments will have to be accompanied by a short documentation as well.

There can be at most 3 members in a group.

Each group member will receive the same grade.

Students in a team have the authority (in consultation with the lecturer) to "expel" any member that does not meet obligations .

Assessment

The collaboration is limited only to members within each group.

It is a student responsibility to check their assignment marks and notify in writing any errors they might find no later than 10 days after the day the marks were made available.

Mailing List

• I’ll be collecting emails for making announcements to the class from time to time

• Please send me an email with the following

Subject heading : 159302

• In your email, please write your name, ID

number, degree you’re pursuing and your

technical background (e.g. C++ programming)

Week 1.

• Introduction, Intelligent Agents.

• Tutorial: Simulation Essentials for the assignments

Week 2. Introduction to Search

• Background and Motivation

• Examples of Graphs

Course Schedule

Graph Search as Tree Search

• Terminologies

• Classes of Search

Week 3. Search Strategies

• Issues of Implementing the Search Strategies

• Cost and Performance

• Any-Path Search (Uninformed and Informed, Using the Visited List)

• Depth-First Algorithm

• Breadth-First Algorithm

• Best-First Search Algorithm

Week 4. Any-Path Search Examples

• Depth-First Algorithm

• Breadth-First Algorithm

• Best-First Search Algorithm

• Tutorial: Problem Solving: Any-Path Search Algorithms

Week 5. Optimal Search: Part 1

Course Schedule

Uniform Cost Search

• Why not a Visited List?

• Implementing Optimal Search Strategies

• Optimal Informed Search

• The A* Algorithm, Heuristics, Using the Strict Expanded List)

• Tutorial: Problem Solving: Optimal Search Algorithms

Week 6. Optimal Search: Part 2

• The A* and Expanded List

• Uniform Cost and Strict Expanded List

• Consistency

• Optimality and Worst Case Complexity

• Tutorial: Problem Solving: Optimal Search Algorithms

Week 7. Fuzzy Logic

Fuzzification, Defuzzification, Fuzzy logic operators, Fuzzy Inference Systems,

Fuzzy Control Systems

 Inverted Pendulum Problem, Robot Navigation, Colour Object Recognition

Week 8. Machine Learning

Course Schedule

Pattern Recognition

Week 9. Constraint Satisfaction Problems and Games: Part 1

Binary CSP

Constraints

Constraint Propagation (Arc Consistency)

 Constraint Propagation Example

Backtracking and Constraint Propagation

Backtracking with Forward Checking (BT-FC)

Week 10. Constraint Satisfaction Problems and Games: Part 2

• BT-FC with Dynamic Ordering

• Incremental Repair

• Introduction to Games

• Board Games and Search

• Alpha-Beta Pruning

• Practical Matters

Course Schedule

*Week 11. Propositional Logic & First Order Logic

• Syntax, Semantics, Proof System, Sentences

• Semantic Rules

• Satisfiability

• Satisfiability Problems

• Propositional Logic Proof

• Natural Deduction, Proof Systems, Conjunctive Normal Form, Propositional Resolution

• Natural Language Processing

Week 11. Alternatively, Genetic Algorithms + Propositional Logic could be taught.

Week 12. Review for Finals

Demonstrations

Search Algorithms (Tree Search + Heuristics)

Sample application: 8-Puzzle

Fuzzy Logic – based on how we humans think

Sample applications: Robot Navigation, Inverted Pendulum

Neural Network – based on the architecture of the brain

Sample application: pattern recognition

Genetic Algorithm – based on theory of evolution

Sample application: optimisation

Assignment #1

C:\Core\Massey Papers\159302\Assignments 2008\Assign #1 - 2008\8 Puzzle - beta v.3.0

Control System: Inverted Pendulum

Problem

Otherwise known as Broom-Balancing Problem

The mathematical solution uses a secondorder differential equation that describes cart motion as a function of pole position and velocity:

 m

 2

 t

2

( x

 l sin

)

 l cos

 

 m

 2

 t

2

( l cos

)

 l sin

  mgl sin

Input: x, v, theta, angular velocity Output: Force, direction

Fuzzy Rules

Fuzzy rule base and the corresponding FAMM for the velocity and position vectors of the inverted pendulum-balancing problem

1. IF cart is on the left AND cart is going left THEN largely push cart to the right

2. IF cart is on the left AND cart is not moving THEN slightly push cart to the right

3.

IF cart is on the left AND cart is going right THEN don’t push cart

4. IF cart is centered AND cart is going left THEN slightly push cart to the right

5.

IF cart is centered AND cart is not moving THEN don’t push cart

6. IF cart is centered AND cart is going right THEN slightly push cart to the left

7.

IF cart is on the right AND cart is going left THEN don’t push cart

8. IF cart is on the right AND cart is not moving THEN push cart to the left

9. IF cart is on the right AND cart is going right THEN largely push cart to the left

Fuzzy Control System

Inverted Pendulum Problem

If the cart is too near the end of the path, then regardless of the state of the broom angle push the cart towards the other end.

If the broom angle is too big or changing too quickly, then regardless of the location of the cart on the cart path, push the cart towards the direction it is leaning to.

X

N ZE P

N PL ZE ZE

X’ ZE ZE ZE ZE

P ZE ZE NL

N ZE P

N NL NM ZE

 ’ ZE NM ZE PM

P ZE PM PL

Input: x, v, theta, angular velocity Output: Force, direction

Robot Navigation

Obstacle Avoidance, Target Pursuit, Opponent Evasion

Input:

Multiple Obstacles: x, y, angle

Target’s x, y, angle

Output: Robot angle, speed

Cascade of Fuzzy Systems

Multiple Fuzzy Systems employ the various robot behaviours

Path planning Layer:

The A* Algorithm

Next Waypoint

Target Pursuit

Adjusted Angle

Fuzzy System 2:

Central

Control

Adjusted Speed

ObstacleDistance <

MaxDistanceTolerance and closer than Target

N

Fuzzy System 4:

Y

Obstacle Avoidance

Adjusted Angle

Avoidance

Adjusted Speed

Actuators

Target

Pursuit

Obstacle

Avoidance

Hybrid Fuzzy A*

Input: Obstacles’ x, y, angle

Target’s x, y, angle

Output: Robot angle, speed

C:\Core\Massey Papers\159302\Assignments 2008\Assign #2 - 2008\Robot Navigation - v.9.4 - FL-AStar

Simulations

3-D Hybrid Fuzzy A* Navigation System

Cascade of Fuzzy Systems

Nature as Problem Solver

• Beauty-of-nature argument

• How Life Learned to Live

(Tributsch, 1982, MIT

Press)

• Example: Nature as structural engineer

Genetic Algorithm

• Let’s see the demonstration for a GA that maximizes the function

f ( x )

 n =10 c = 2 30 -1 = 1,073,741,823 x c n

26

Simple GA Example

• Function to evaluate: x coeff

 10

Fitness Function or Objective

Function

• coeff – chosen to normalize the x parameter when a bit string of length lchrom =30 is chosen.

coeff

2

30 

1

• Since the x value has been normalized, the max. value of the function will be:

( )

1.0

x

2

30

1

27

Test Problem Characteristics

• With a string length=30, the search space is much larger, and random walk or enumeration should not be so profitable.

• There are 2 30 =1.07(10 10 ) points.

With over 1.07 billion points in the space, oneat-a-time methods are unlikely to do very much very quickly.

28

Also, only 1.05 percent of the points have a value greater than 0.9.

29

Simple GA Implementation

Initial population of chromosomes

Offspring

Evolutionary operations

Population

No

Calculate fitness value

Solution

Found?

Yes

Stop

Identifying Colour Objects

with

IIMS Lab 7

Robot Soccer Set-up

Overhead

Camera

Colour objects

Fluorescent lamps www.Fira.net

*

Exploratory environment is indoor – room totally obstructed from sunlight

Multiple monochromatic light sources – fluorescent / fluoride lamps

Colour Object Recognition (Recognition speed: < 33ms)

*

Machine Vision System

HARDWARE OUTLINE

Camera Frame Grabber

3D Scene

2D Digital

Image

Image Sensors

CID (Charge Injection Device)

CCD (Charge Coupled Device)

PDA (Photo Diode Array)

Emmitted light

Colour as the machine sees it

Colour constancy is inherent in us humans, but not in cameras.

Yellow object turns pale under strong white illumination

Color is not captured by the camera as we humans see it.

A Green object tends to appear more as a whitish yellow object under bright white illumination.

Illumination Conditions

Colour objects traversing the field under spatially varying illumination intensities

Other Factors:

Lens focus

Object rotation

Quantum electrical effects

Shadows

Presence of similar colours

Bright

Dark

Dim

*

We need to automatically compensate for the effects of varying illumination intensities in the scene of traversal

Recent Developments

Experiments performed at IIMS Lab 7

To some extent, the algorithm can see in the dark

Applying the colour contrast operations to compensate for the effects of glare, hue and saturation drifting also allows for colour correction

Recent Developments

Experiments performed at IIMS Lab 7

*

PINK colour patches can be amplified to revert back close to its original colour

Robots in action

The Fuzzy Vision algorithm employed in the game…

Robots in Massey (QA 2.42)

C:\Core\Research\Conferences\ICONIP08

Old system

Download