Course Topics:
The course is concerned with writing (and re-writing) AI tools.
Note that this class is Programming for AI, not using AI tools.
Specifically, this class focuses on the
building of AI tools, not their use. Their use in a particular domain
is the focus of the CSCI 222
Expert Systems course.
Consider the three levels of these tools:
- writing tool (shells - task specific agents)
- putting domain knowledge into tool
- using tool
This course focuses on 1.
Thus we will look at programs of AI previously written (LISP)
and programs that will show AI to the rest of the world (via Java)
Given that this is only a one semester course, it is
understood that some work for your final project
will be additions to previous
work and will build upon others classes.
This is fine, but you must reference all work
and clearly identify what is your contribution and
what was provided by others.
Also note that these tools can be extended after the class
for potential Masters work
LISP
- Symbol Manipulation
- LISP Functions, Predicates and Conditionals
- Constraint Propagation, Pattern Matching,
- Inference Methodologies and Expert System Shells
Examples: Game playing (mini-max, A*)
Rule-based system shell
Java
- Java and Object-Oriented Programming
- Coding Expert Systems and AI Agents for Use on the WWW
Writing Expert System Shells for use on the web.
Modules to consider:
High level
- User interface
- Communications between modules
- Documentation - User Manuals
Shells
- discuss difference in writing shells vs. using them
Examples:
- Generic Tasks as agents
- Structured Matching
- Classification
- Abduction
- Design
- Intelligent DataBase
- Functional Reasoning
- PAIL
- Reasoning
- Rule-Based Inference (unix:U, macintosh:M, windows:W)
- Automatic Theorem Proving (UMW)
- Constraint Satisfaction Problems (UMW)
- Explanation Based Generalisation (U)
- Planning (U)
- Truth Maintenance Systems (U)
- Learning and Knowledge Acquisition
- Repertory Grid (U)
- Inductive Generalisation (UMW)
- Genetic Algorithms (UMW)
- Back Propagation (UMW)
- Hopfield Network (U)
- Natural Language Processing
- Augmented Transition Networks (UMW)
- Chart Parsing (UMW)
Demonstration
To demonstrate the use of your tool, create
an application (or part) in a domain.