Artificial Intelligence
Dr. Napoleon H. Reyes, Ph.D.Dr. Napoleon H. Reyes, Ph.D.Dr. Napoleon H. Reyes, Ph.D.Dr. Napoleon H. Reyes, Ph.D.Computer Science
Institute of Information and Mathematical Sciences
Rm. 2.56 QA, IIMS, Albany Campus or IIMS Lab 7
email: [email protected]@massey.ac.nz
Tel. No.: 64 9 4140800 x 9512 / 41572
Fax No.: 64 9 441 8181
159.302
Lectures:Monday 12pm – 1pm AT8Thursday 12pm – 1pm AT8Friday 12pm – 1pm AT5
Lectures:Monday 12pm – 1pm AT8Thursday 12pm – 1pm AT8Friday 12pm – 1pm AT5
http://www.massey.ac.nz/~nhreyes/Massey/159302.html
Office hours: after lectures (QA2.56 or IIMS Lab 7)
Topics for DiscussionTopics for Discussion
Pre-requisitesCourse OverviewLearning Outcomes
Texts and Course Material
Assessment
Course Schedule
AI Demonstrations
Note:Note:Note:Note:
If a student cannot attend lectures/tutorials it is If a student cannot attend lectures/tutorials it is the student’s responsibility to find out what the student’s responsibility to find out what was discussed in lectures / tutorials was discussed in lectures / tutorials (possible changes to assignments, questions (possible changes to assignments, questions & answers).& answers).
Student Responsibility
Pre-requisites
To take this course you must have passed 159.201159.201 since C or C++ knowledge is required to complete the assignments
*
Step-by-Step Algorithm Details
Course Overview
Discussion of the Theoretical Framework
Application to real-world problems
Teaching ApproachTeaching ApproachTeaching ApproachTeaching Approach
Simulations (A Graphics Engine will be provided to make learning AI more fun)
Learn how to apply AI techniques to different problemsLearning Outcomes
Understand the concepts and theories behind AI technologies
Implement selected AI algorithms
On successful completion of the course, the students should be able to:
Texts and Course Material
Russell S. and Norvig P., Artificial Intelligence A Modern Approach, 3rd Ed, Prentice Hall 2009ISBN-13: 9780136042594
Main text bookMain text book
Other ReferencesOther References
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
MIT OpenCourseWare
Assessment
2 assignments: 40%
Final Exam (3 hours): 60%
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%.
To pass, students have to obtain a cumulative assessment score greater than or equal to 50%.
Assessment
Program solutions that do not compile or do not run in our laboratories get 0 marks.
Late assignments will be penalized
Assignments may be completed in groups
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.
Assessment
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 .
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.
Week 1. Week 1. • Introduction (chap 1), Philosophical Issues (chap 26 & 27), Intelligent Agents (chap 2). • Film viewing• Tutorial: Simulation Essentials for the assignments
Week 2. Introduction to SearchWeek 2. Introduction to Search• Background and Motivation• Examples of Graphs• Problem Solving Paradigm• Graph Search as Tree Search• Terminologies• Classes of Search
Week 3. Search StrategiesWeek 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
Course ScheduleCourse Schedule
Week 4. Any-Path Search ExamplesWeek 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 1Week 5. Optimal Search: Part 1• Optimal Uninformed Search• 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 2Week 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
Course ScheduleCourse Schedule
Week 7. Fuzzy LogicWeek 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 LearningWeek 8. Machine Learning Neural Networks Pattern Recognition
Week 9. Constraint Satisfaction Problems and Games: Part 1Week 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)
Course ScheduleCourse Schedule
Week 10. Constraint Satisfaction Problems and Games: Part 2Week 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• Tutorial: Problem Solving: Minimax, Alpha Beta Pruning.
*Week 11. Propositional Logic & First Order Logic*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 ProcessingWeek 11. Alternatively, Genetic Algorithms + Propositional Logic could be taught.Week 11. Alternatively, Genetic Algorithms + Propositional Logic could be taught.Week 12. Review for FinalsWeek 12. Review for Finals
Course ScheduleCourse Schedule
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 #1Assignment #1
C:\Core\Massey Papers\159302\Assignments 2008\Assign #1 - 2008\8 Puzzle - beta v.3.0
Input: x, v, theta, angular velocity
Control System: Inverted Pendulum Control System: Inverted Pendulum ProblemProblem
Control System: Inverted Pendulum Control System: Inverted Pendulum ProblemProblem
Output: Force, direction
Otherwise known as Broom-Balancing Problem
The mathematical solution uses a second-order differential equation that describes cart motion as a function of pole position and velocity:
sinsin)cos(cos)sin(2
2
2
2
mglllt
mllxt
m
Fuzzy RulesFuzzy 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 right2. IF cart is on the left AND cart is not moving THEN slightly push cart to the right3. IF cart is on the left AND cart is going right THEN don’t push cart4. IF cart is centered AND cart is going left THEN slightly push cart to the right5. IF cart is centered AND cart is not moving THEN don’t push cart6. IF cart is centered AND cart is going right THEN slightly push cart to the left7. IF cart is on the right AND cart is going left THEN don’t push cart8. IF cart is on the right AND cart is not moving THEN push cart to the left9. IF cart is on the right AND cart is going right THEN largely push cart to the left
Input: x, v, theta, angular velocityInput: x, v, theta, angular velocity
Fuzzy Control System
Output: Force, directionOutput: Force, direction
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 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.
X
N ZE P
N PL ZE ZE
X’ ZE ZE ZE ZE
P ZE ZE NL
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.
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.
N ZE P
N NL NM
ZE
’ ZE NM
ZE PM
P ZE PM
PL
Input: Multiple Obstacles: x, y, angleTarget’s x, y, angle
Robot Navigation
Output: Robot angle, speed
Obstacle Avoidance, Target Pursuit, Opponent Evasion
Cascade of Fuzzy SystemsCascade of Fuzzy Systems
Adjusted Speed
Adjusted Angle
Next Waypoint
N
Y
Adjusted Speed
Adjusted Angle
Fuzzy System 1: Target PursuitFuzzy System 1: Target Pursuit
Fuzzy System 2: Speed Control for Target Pursuit
Fuzzy System 3: Obstacle Avoidance
Fuzzy System 4: Speed Control for Obstacle Avoidance
ObstacleDistance < MaxDistanceTolerance and closer than Target
Actuators
Path planning Layer:
The A* Algorithm
Multiple Fuzzy Systems employ the various robot behavioursMultiple Fuzzy Systems employ the various robot behaviours
Fuzzy System 1Fuzzy System 1
Fuzzy System 2Fuzzy System 2
Fuzzy System 3Fuzzy System 3
Fuzzy System 4Fuzzy System 4
Path Planning LayerPath Planning Layer
CentralControl
Target Target PursuitPursuit
ObstacleObstacleAvoidanceAvoidance
Input: Obstacles’ x, y, angleTarget’s x, y, angle
Hybrid Fuzzy A*
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 System3-D Hybrid Fuzzy A* Navigation System
Cascade of Fuzzy SystemsCascade 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
25
Genetic Algorithm
• Let’s see the demonstration for a GA that maximizes the function
n
c
xxf
)(
n =10cc = 230 -1 = 1,073,741,823
26
Simple GA ExampleSimple GA Example• Function to evaluate:
• coeff – chosen to normalize the x parameter when a bit string of length lchrom =30 is chosen.
• Since the x value has been normalized, the max. value of the function will be:
when for the case when lchrom=30
10
( )x
f xcoeff
302 1coeff
( ) 1.0f x
302 1x
Fitness Function or Objective
Function
27
Test Problem CharacteristicsTest Problem Characteristics
• With a string length=3030, the search space is much larger, and random walk or enumeration should not be so profitable.
• There are 223030=1.07(10=1.07(101010) points) points. With over 1.07 billion points in the space, one-at-a-time methods are unlikely to do very much very quickly. Also, only 1.051.05 percent of the points have a value greater than 0.90.9.
28
Simple GA ImplementationInitial population of chromosomes
Calculate fitness value
PopulationOffspring
Stop
SolutionFound?
Evolutionaryoperations
Yes
No
Identifying Colour ObjectsIdentifying Colour Objectswitwithh
Robot Soccer Set-upRobot Soccer Set-up
Colour objects
Fluorescent lampsOverhead Camera
Exploratory environment is indoor – room totally obstructed from sunlight
Multiple monochromatic light sources – fluorescent / fluoride lamps
Colour Object Recognition (Recognition speed: < 33ms)
www.Fira.net
IIMS Lab 7IIMS Lab 7
**
Machine Vision SystemMachine Vision System
3D Scene
Optics (Lens)
Image Sensors
Camera Frame Grabber 2D Digital Image
CCD (Charge Coupled Device)CID (Charge Injection Device)
PDA (Photo Diode Array)
Firewire camera
Emmitted light2-D Intensity ImageContinuous charge signal
HARDWARE OUTLINE
**
Colour as the machine sees itColour as the machine sees it
Colour constancy is inherent in us humans, but not in cameras.Colour constancy is inherent in us humans, but not in cameras.
Color is not captured by the camera as we humans see it.
Yellow object turns pale under strong white illumination
A Green object tends to appear more as a whitish yellow object under bright white illumination.
Illumination ConditionsIllumination Conditions
Colour objects traversing the field under spatially varying Colour objects traversing the field under spatially varying illumination intensitiesillumination intensities
We need to automatically compensate for theWe need to automatically compensate for theeffects of varying illumination intensities in effects of varying illumination intensities in the scene of traversalthe scene of traversal
**
Dark
Bright
Dim
Lens focusLens focus
Object rotationObject rotation
Quantum electrical effectsQuantum electrical effects
ShadowsShadows
Presence of similar coloursPresence of similar colours
Other Factors:Other Factors:
Recent Developments
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
Experiments performed at IIMS Lab 7
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…
Old system
Robots in Massey (QA 2.42)
C:\Core\Research\Conferences\ICONIP08