CMPS 451 - Artificial Intelligence
Instructor: Nicholas
Harkiolakis, Ph.D.
Course Description:
Introduction of basic concepts and methods of artificial intelligence from a computer science perspective. Emphasis will be on the selection of data representations and algorithms useful in the design and implementation of intelligent systems. The course will contain an overview of AI languages Prolog and Lisp and some discussion of important applications of artificial intelligence methodology.
Teaching Goals:
·
To
introduce artificial intelligence, beginning with a brief history and important
application areas.
·
To
introduce research tools for AI problem solving like predicate calculus language
and the algorithms and data structures used to implement search.
·
To present
rule based expert systems along with case-based and model –based reasoning
systems
·
To present
models for reasoning with uncertainty as well as the use of unreliable
information.
·
To present
neural networks, their technology and
applications.
·
To
introduce genetic algorithms and evolutionary approaches to learning and
optimization.
·
To
introduce society-based learning with examples from artificial life.
·
To
introduce natural language processing and the development of NLP parsers
Learning Objectives:
The students will be able to:
·
To
understand AI principles and methodologies
·
To
familiarize themselves with search techniques and apply them in real life
situations
·
Be able to
develop expert systems using expert system shells
·
Solve
problems using AI technologies like neural networks and genetic algorithms
·
Understand
and develop applications using agent approaches and technologies
· Experience the difficulties in simulating human intelligence
Syllabus/Course Topics:
·
Searching techniques and methods
·
Heuristic search
·
Informed search and exploration
·
Constraint satisfaction problems
·
Adversarial search
·
Knowledge representation and reasoning
·
First order logic
·
Uncertainty
·
Prolog programming language
·
Agent technology
·
Communication
·
Perception
·
Acting
·
Robotics
·
Lisp programming language
·
Expert systems
·
Uncertainty management
·
Fuzzy expert systems
·
Frame based expert systems
·
Artificial neural network
·
Pattern recognition
·
Vision
·
Evolutionary computation
·
Genetic algorithms
·
Genetic programming
·
Hybrid intelligent systems
·
Society-based learning – artificial life
·
Natural language processing
Course
Assignments/Projects
·
Prolog and Lisp: Small program
development
·
Game programming: Develop a
computer program for the board game Go. At the end of the course a tournament
will be held and the winner will get extra credit.
·
Expert systems: Development of
an expert system using Jess (Java based expert system shell).
·
Agent technology:
o
Software agent: Develop a spider
program for www.
o
Robot programming: Program a Mindstorm
Lego robot using lejos (Java based API).
·
Neural networks: Exercise in
pattern recognition
·
Genetic algorithms: Exercise in
optimization problems
·
Natural language programming: Development of a simple NLP
parser
·
Artificial life: Ecosystem
simulation program