This book is an attempt to present basic
artificial intelligence (AI) concepts and techniques and their
use in development of software systems. Authors of this book
provide a practical approach to artificial intelligence techniques,
with lot of Lisp code, implementation details and practical
programming advices.
The book begins with basic principles of
Lisp programming. From there, the book moves on to the topic
of solving problems by searching and search strategies, formalisms
for knowledge representation (predicate logic, frames and
production system), and machine learning techniques (ID3 algorithm,
neural networks). All these topics are accompanied by small
case studies of varying sizes, and implementation details
with Lisp code.
Chapter content
This book is organized into eighth Chapters followed by section
with References:
Chapter 1, Programming languages of Artificial
intelligence, describes basic principles of AI programming.
Chapter gives a manual of Lisp programming, with list of Lisp
functions and description of their use, and examples of user-defined
Lisp functions. Also, chapter contains set of lab exercises.
This chapter is good introductory guide for Lisp programming.
Chapter 2, Intelligent agents, describes
properties and structure of intelligent agents, types of agents
and agent environment, and methods for agent implementation.
Chapter gives set of task for student homework, and lot of
useful Web addresses.
Chapter 3, Solving problem as Searching,
contains basic concepts and principles of solving problem
agents. Chapter describes how to formulate problem and basic
search strategies. Also, chapter gives description of search
algorithms and useful pieces of Lisp code, which students
will be able to use in their projects. At the end of this
chapter Lisp code is given for solution of a classical AI
problem.
Chapter 4, Predicate Logic, describes basic
principles of predicate logic and resolution as a complete
inference procedure. Special attention is given to translation
from natural language sentences to well formed formulas, pattern
matching and unification. Chapter contains two lab exercises
and short description of ProLOGic system.
Chapter 5, Production Systems, describes
components of rule-based production systems. Chapter describes
basic components of a production system. Also, chapter gives
set of Lisp functions useful for implementation of an inference
engine. In lab exercise students have to implement a rule-based
system in Lisp, and check it with knowledge base for animal
classification, which is given.
Chapter 6, Frames, describes frames as knowledge
representation formalism. Also, chapter gives instructions
for Lisp implementation of frames, and gives set of basic
Lisp functions. In given lab exercise students have to implement
composite Lisp functions for manipulating with frames.
Chapter 7, Machine Learning, describes goals,
tasks and techniques of machine learning in artificial intelligence.
Chapter gives detailed description algorithm for learning
decision trees, and ID3 algorithm, which uses information
content to provide the heuristic function. Lab exercises for
students are at the end of this chapter.
Chapter 8, Neural networks, describes basic
principles of artificial neural networks, model of artificial
neuron and model of an artificial neural network. Chapter
contains UML diagrams and C++ source code for implementation
of neural networks. In given lab exercise student have to
use given code to apply neural network in real world problem.
This book was written primarily for students,
and it contains the information needed for discovering artificial
intelligence principles and techniques and their use in implementation
of software systems. Reader of this book can learn about Lisp
programming in general, and find particular information about
knowledge representation formalism and machine learning techniques.
Chapter 1 is a good grounding in both the syntax and use of
Lisp programming language. In the rest chapter's reader can
find lot of Lisp code and implementation details.
Also, this book is useful for teachers in
AI. Chapters provide an in-depth discussion of artificial
intelligence principles and practices. It will give you guidance
on how to build concrete AI systems. Our recommendation is
that this book is useful as manual for lab exercises, but
also as an introductory book of AI principles and programming
in an Artificial intelligence course.
|