Вы находитесь на странице: 1из 69

Developer

Patel Jagadish p.

Duration
October-November 2004
Sankalchand Patel College Of Engineering,Visnagar

Certificate
This is to certify that Mr. Patel Jagadish p.
Roll No.33 of Report has been satisfactory completed
as a part of his studies. The Subject Name I.T. AND
ITS IMPACT ON SOCIETY during 5th semester of
B.E. Information Technology for the term ending in
OCT/NOV-2004 at Sankalchand Patel College of
Engineering, Visnagar.
Date of
Submission

Teachers
Signature
Head of
Department

ACKNOWLEDGEMENT
The success that we have got in the accomplishment of
the seminar work is not only due to our efforts. In fact , we
stand of many people. So, with great pleasure we take this
opportunity to express our gratitude towards all the
individuals who helped and inspired us in our seminar
work.
I am thankful to Prof. Virag D Patel In charge of the
I.T. and C.E. Department, SPCE, who gave us such a
valuable guidance and suggestions of my topic.
Finally, we would like to acknowledge all my classmate
who helped us towards the completion of this report.
Jagadish p Patel

INDEX
CONTAINS
HISTORY OF AI?
INTRODUCATION
ERA OF THE ELECTRONIC COMPUTER
BEGINNING OF AI
KNOWLEDGE EXPANSION
MULTITUDE OF PROGRAMS
AI PUT TO TEST
INTRODUCATION TO AI
OVERVIEW
DEFINATION
MOTIVATION
LIMITATION
TECHNOLOGY
BULINDING A HUMAN COMPUTER

KEY POINTS OF AI
APPLICATION
ESSAY OF THE USE OF AI
WHAT WE CAN DO WITH AI
PROGRAMS OF THE AI APPLICATION INSTITUTE
APPLE COMPUTER AND AI
THE SCOPE OF EXPERT SYSTEMS
ROBOTICS
BASICS
PARTS OF ROBOTICS
AI ROBOTICS

NURAL NETWORK
WHY WOULD ANY ONE WANT A NEW SORT OF
COMPUTER
WHAT IS NURAL NETWORK?
SOME ALOGRITHMS AND ARCHITURES
WHERE HAVE THEY BEEN APPLIED?
WHAT NEW APPLICATIONS ARE LIKELY?
SOME USEFUL SOURCES OF INFORMATION
SOME COMMENTS ADDED SEP2001

EXPERT SYSTEMS

I. What is Artificial Intelligence (AI)?


II. What are Expert Systems (ES)?
Functional Components
Structural Components
III. How do People Reason?
IV. How do Computers Reason?
IV-1. Frames
IV-2. Rule Based Reasoning
IV-2a. Knowledge Engineering

IV-3. Case-Based Reasoning


IV-4. Neural Networks
V. Advantages and Disadvantages
VI. Additional Sources of Information
METHODS USED TO CREATE A
INTELLIGENCE

PROGRAM FACITING EXHIBITING


AI AND OTHER TECHNOLOGY
AI AND BIOINFORMATICS
AI AND EDUCATION
AI AND COMPUTER LANGUAGE

ADVANTAGE AND DISADVANTAGE OF


AI

FUTURE OF AI

AI ACTITIVITY IN INDIA

REFERENCE

HISTORY OF AI
Introduction:
Evidence of Artificial Intelligence folklore can be traced back to ancient Egypt, but with the
development of the electronic computer in 1941, the technology finally became
available to create machine intelligence. The term artificial intelligence was first coined
in 1956, at the Dartmouth conference, and since then Artificial Intelligence has
expanded because of the theories and principles developed by its dedicated researchers.
Through its short modern history, advancement in the fields of AI have been slower
than first estimated, progress continues to be made. From its birth 4 decades ago, there
have been a variety of AI programs, and they have impacted other technological
advancements.

The Era of the Computer:


In 1941 an invention revolutionized every aspect of the storage and processing of information.
That invention, developed in both the US and Germany was the electronic computer. The first
computers required large, separate air-conditioned rooms, and were a programmers nightmare,
involving the separate configuration of thousands of wires to even get a program running.
The 1949 innovation, the stored program computer, made the job of entering a program easier,
and advancements in computer theory lead to computer science, and eventually Artificial
intelligence. With the invention of an electronic means of processing data, came a medium that
made AI possible.

The Beginnings of AI:

Although the computer provided the technology necessary for AI, it was not until
the early 1950's that the link between human intelligence and machines was
really observed. Norbert Wiener was one of the first Americans to make
observations on the principle of feedback theory feedback theory. The most
familiar example of feedback theory is the thermostat: It controls the temperature
of an environment by gathering the actual temperature of the house, comparing it
to the desired temperature, and responding by turning the heat up or down. What
was so important about his research into feedback loops was that Wiener
theorized that all intelligent behavior was the result of feedback mechanisms. Mechanisms that
could possibly be simulated by machines. This discovery influenced much of early development
of AI.
In late 1955, Newell and Simon developed The Logic Theorist, considered by many to be the
first AI program. The program, representing each problem as a tree model, would attempt to
solve it by selecting the branch that would most likely result in the correct conclusion. The
impact that the logic theorist made on both the public and the field of AI has made it a crucial
stepping stone in developing the AI field.

The Multitude of programs


The next few years showed a multitude of programs, one notably was SHRDLU. SHRDLU was
part of the microworlds project, which consisted of research and programming in small worlds
(such as with a limited number of geometric shapes). The MIT researchers headed by Marvin
Minsky, demonstrated that when confined to a small subject matter, computer programs could
solve spatial problems and logic problems. Other programs which appeared during the late
1960's were STUDENT, which could solve algebra story problems, and SIR which could
understand simple English sentences. The result of these programs was a refinement in language
comprehension and logic.
Another advancement in the 1970's was the advent of the expert system. Expert systems predict
the probability of a solution under set conditions. For example:
Because of the large storage capacity of computers at the time, expert systems had the potential
to interpret statistics, to formulate rules. And the applications in the market place were
extensive, and over the course of ten years, expert systems had been introduced to forecast the
stock market, aiding doctors with the ability to diagnose disease, and instruct miners to
promising mineral locations. This was made possible because of the systems ability to store
conditional rules, and a storage of information.
During the 1970's Many new methods in the development of AI were tested, notably Minsky's
frames theory. Also David Marr proposed new theories about machine vision, for example, how
it would be possible to distinguish an image based on the shading of an image, basic information
on shapes, color, edges, and texture. With analysis of this information, frames of what an image

might be could then be referenced. another development during this time was the PROLOGUE
language. The language was proposed for In 1972,
During the 1980's AI was moving at a faster pace, and further into the corporate sector. In 1986,
US sales of AI-related hardware and software surged to $425 million. Expert systems in
particular demand because of their efficiency. Companies such as Digital Electronics were using
XCON, an expert system designed to program the large VAX computers. DuPont, General
Motors, and Boeing relied heavily on expert systems Indeed to keep up with the demand for the
computer experts, companies such as Teknowledge and Intellicorp specializing in creating
software to aid in producing expert systems formed. Other expert systems were designed to find
and correct flaws in existing expert systems.

AI put to the Test


The military put AI based hardware to the test of war during Desert Storm. AI-based
technologies were used in missile systems, heads-up-displays, and other advancements. AI has
also made the transition to the home. With the popularity of the AI computer growing, the
interest of the public has also grown. Applications for the Apple Macintosh and IBM compatible
computer, such as voice and character recognition have become available. Also AI technology
has made steadying camcorders simple using fuzzy logic. With a greater demand for AI-related
technology, new advancements are becoming available. Inevitably Artificial Intelligence has,
and will continue to affecting our lives.

INTRODUCATION TO AI
Artificial Intelligence, or AI for short, is a combination of computer science, physiology, and
philosophy. AI is a broad topic, consisting of different fields, from machine vision to expert
systems. The element that the fields of AI have in common is the creation of machines that can
"think".
In order to classify machines as "thinking", it is necessary to define intelligence. To what degree

does intelligence consist of, for example, solving complex


problems, or making generalizations and relationships? And what about perception and
comprehension? Research into the areas of learning, of language, and of sensory perception
have aided scientists in building intelligent machines. One of the most challenging approaches

facing experts is building systems that mimic the behavior of the human brain, made up of
billions of neurons, and arguably the most complex matter in the universe. Perhaps the best way
to gauge the intelligence of a machine is British computer scientist Alan Turing's test. He stated
that a computer would deserves to be called intelligent if it could deceive a human into believing
that it was human.
Artificial Intelligence has come a long way from its early roots, driven by dedicated researchers.
The beginnings of AI reach back before electronics,
to philosophers and mathematicians such as Boole and others theorizing on
principles that were used as the foundation of AI Logic. AI really began to
intrigue researchers with the invention of the computer in 1943. The technology
was finally available, or so it seemed, to simulate intelligent behavior. Over the
next four decades, despite many stumbling blocks, AI has grown from a dozen
researchers, to thousands of engineers and specialists; and from programs
capable of playing checkers, to systems designed to diagnose disease.
AI has always been on the pioneering end of computer science. Advanced-level computer
languages, as well as computer interfaces and word-processors owe their existence to the
research into artificial intelligence. The theory and insights brought about by AI research will set
the trend in the future of computing. The products available today are only bits and pieces of
what are soon to follow, but they are a movement towards the future of artificial intelligence.
The advancements in the quest for artificial intelligence have, and will continue to affect our
jobs, our education, and our lives.

What is Artificial Intelligence?

Definition...
Artificial Intelligence is a branch of Science which deals with helping machines find solutions to
complex problems in a more human-like fashion. This generally involves borrowing
characteristics from human intelligence, and applying them as algorithms in a computer friendly
way. A more or less flexible or efficient approach can be taken depending on the requirements
established, which influences how artificial the intelligent behaviour appears.
AI is generally associated with Computer Science, but it has many important links with other
fields such as Maths, Psychology, Cognition, Biology and Philosophy, among many others. Our
ability to combine knowledge from all these fields will ultimately benefit our progress in the
quest of creating an intelligent artificial being.

Why Artificial Intelligence?

Motivation...
Computers are fundamentally well suited to performing mechanical computations, using fixed
programmed rules. This allows artificial machines to perform simple monotonous tasks

efficiently and reliably, which humans are ill-suited to. For more complex problems, things get
more difficult... Unlike humans, computers have trouble understanding specific situations, and
adapting to new situations. Artificial Intelligence aims to improve machine behaviour in tackling
such complex tasks.
Together with this, much of AI research is allowing us to understand our intelligent behaviour.
Humans have an interesting approach to problem-solving, based on abstract thought, high-level
deliberative reasoning and pattern recognition. Artificial Intelligence can help us understand this
process by recreating it, then potentially enabling us to enhance it beyond our current
capabilities.

Limitations...
To date, all the traits of human intelligence have not been captured and applied together to
spawn an intelligent artificial creature. Currently, Artificial Intelligence rather seems to focus on
lucrative domain specific applications, which do not necessarily require the full extent of AI
capabilities. This limit of machine intelligence is known to researchers as narrow intelligence.
There is little doubt among the community that artificial machines will be capable of intelligent
thought in the near future. It's just a question of what and when... The machines may be pure
silicon, quantum computers or hybrid combinations of manufactured components and neural
tissue. As for the date, expect great things to happen within this century!

How does Artificial Intelligence work?

Technology...
There are many different approaches to Artificial Intelligence, none of which are either
completely right or wrong. Some are obviously more suited than others in some cases, but any
working alternative can be defended. Over the years, trends have emerged based on the state of
mind of influencial researchers, funding opportunities as well as available computer hardware.
Over the past five decades, AI research has mostly been focusing on solving specific problems.
Numerous solutions have been devised and improved to do so efficiently and reliably. This
explains why the field of Artificial Intelligence is split into many branches, ranging from
Pattern Recognition to Artificial Life, including Evolutionary Computation and Planning.

Who uses Artificial Intelligence?

Applications...
The potential applications of Artificial Intelligence are abundant. They stretch from the military
for autonomous control and target identification, to the entertainment industry for computer
games and robotic pets. Lets also not forget big establishments dealing with huge amounts of
information such as hospitals, banks and insurances, who can use AI to predict customer
behaviour and detect trends.
As you may expect, the business of Artificial Intelligence is becoming one of the major driving
forces for research. With an ever growing market to satisfy, there's plenty of room for more

personel. So if you know what you're doing, there's plenty of money to be made from interested
big companies!

KEY POINT OF AI

Intelligent behavior can be taken as an outward sign of a conscious being. It is thought


that the phenomenon of consciousness itself is some kind of emergent property of
complex neuronal dynamics.
We can operationally define an `intelligent' machine by its ability to pass the Turing test.
A computer can be said to have passed this test if a human questioner is unable to
determine from repeated questions of any kind, whether he or she is talking to another
person or a machine.
A counter argument, which usually goes under the name of the Chinese room experiment
attempts to prove that passing the Turing test is not a fair measure of whether a machine
is truly intelligent.
This may not apply to neural networks since they are not `rule-based systems'.
Attempts to build self-organizing networks have met with some success.
These use a `competitive' process to set up the network connections. They can, in
principle, tackle a much wider range of problem than Perceptron or Hopfield models
The prospects for the future look fascinating!

ESSAY ON THE USE OF AI


What we can do with AI
We have been studying this issue of AI application for quite some time now and know all the
terms and facts. But what we all really need to know is what can we do to get our hands on some
AI today. How can we as individuals use our own technology? We hope to discuss this in depth
(but as briefly as possible) so that you the consumer can use AI as it is intended.
First, we should be prepared for a change. Our conservative ways stand in the way of progress.
AI is a new step that is very helpful to the society. Machines can do jobs that require detailed
instructions followed and mental alertness. AI with its learning capabilities can accomplish
those tasks but only if the worlds conservatives are ready to change and allow this to be a
possibility. It makes us think about how early man finally accepted the wheel as a good
invention, not something taking away from its heritage or tradition.
Secondly, we must be prepared to learn about the capabilities of AI. The more use we get out of
the machines the less work is required by us. In turn less injuries and stress to human beings.
Human beings are a species that learn by trying, and we must be prepared to give AI a chance
seeing AI as a blessing, not an inhibition.
Finally, we need to be prepared for the worst of AI. Something as revolutionary as AI is sure to
have many kinks to work out. There is always that fear that if AI is learning based, will

machines learn that being rich and successful is a good thing, then wage war against economic
powers and famous people? There are so many things that can go wrong with a new system so
we must be as prepared as we can be for this new technology.
However, even though the fear of the machines are there, their capabilities are infinite Whatever
we teach AI, they will suggest in the future if a positive outcome arrives from it. AI are like
children that need to be taught to be kind, well mannered, and intelligent. If they are to make
important decisions, they should be wise. We as citizens need to make sure AI programmers are
keeping things on the level. We should be sure they are doing the job correctly, so that no future
accidents occur.

AIAI Teaching Computers Computers


Does this sound a little Redundant? Or maybe a little redundant? Well just sit back and let me
explain. The Artificial Intelligence Applications Institute has many project that they are working
on to make their computers learn how to operate themselves with less human input. To have
more functionality with less input is an operation for AI technology. I will discuss just two of
these projects: AUSDA and EGRESS.
AUSDA is a program which will exam software to see if it is capable of handling the tasks you
need performed. If it isn't able or isn't reliable AUSDA will instruct you on finding alternative
software which would better suit your needs. According to AIAI, the software will try to provide
solutions to problems like "identifying the root causes of incidents in which the use of computer
software is involved, studying different software development approaches,

and identifying aspects of these which are relevant to those root causes producing guidelines for
using and improving the development approaches studied, and providing support in the
integration of these approaches, so that they can be better used for the development and
maintenance of safety critical software."
Sure, for the computer buffs this program is a definitely good news. But what about the average
person who think the mouse is just the computers foot pedal? Where do they fit into computer
technology. Well don't worry guys, because us nerds are looking out for you too! Just ask AIAI
what they have for you and it turns up the EGRESS is right down your alley. This is a program
which is studying human reactions to accidents. It is trying to make a model of how peoples
reactions in panic moments save lives. Although it seems like in tough situations humans would
fall apart and have no idea what to do, it is in fact the opposite. Quick Decisions are usually
made and are effective but not flawless. These computer models will help rescuers make smart
decisions in time of need. AI can't be positive all the time but can suggest actions which we can

act out and therefor lead to safe rescues.


So AIAI is teaching computers to be better computers and better people. AI technology will
never replace man but can be an extension of our body which allows us to make more rational
decisions faster. And with Institutes like AIAI- we continue each stay to step forward into
progress.

The Scope of Expert Systems


As stated in the 'approaches' section, an expert system is able to do the work of a professional.
Moreover, a computer system can be trained quickly, has virtually no operating cost,
never forgets
what it learns, never calls in sick, retires, or goes on vacation. Beyond those, intelligent
computers can consider a large amount of information that may not be considered by
humans.
But to what extent should these systems replace human experts? Or, should they at all? For
example, some people once considered an intelligent computer as a possible substitute for
human control over nuclear weapons, citing that a computer could respond more quickly to a
threat. And many AI developers were afraid of the possibility of programs like Eliza, the
psychiatrist and the bond that humans were making with the computer. We cannot, however,
over look the benefits of having a computer expert. Forecasting the weather, for example, relies
on many variables, and a computer expert can more accurately pool all of its knowledge. Still a
computer cannot rely on the hunches of a human expert, which are sometimes necessary in
predicting an outcome.
In conclusion, in some fields such as forecasting weather or finding bugs in computer software,
expert systems are sometimes more accurate than humans. But for other fields, such as
medicine, computers aiding doctors will be beneficial, but the human doctor should not be
replaced. Expert systems have the power and range to aid to benefit, and in some cases replace
humans, and computer experts, if used with discretion, will benefit human kind.

ROBOTICS
Most robots are designed to be a helping hand. They
help people with tasks that would be difficult, unsafe,
or boring for a real person to do alone.
At its simplest, a robot is machine that can
be programmed to perform a variety of jobs,
which usually involve moving or handling
objects.
Robots
can
range
from
simple
machines
to
highly
complex,
computercontrolled devices.

Many of today's robots are robotic arms. In this exhibit,


we will focus on one very "flexible" kind of robot, which looks similar to a certain part of your
body.
It
is
called
a
jointed-arm
robot.

5 Main Parts
For a machine to qualify as a robot, it usually needs these 5 parts:
Controller
Arm
Drive
End Effector
Sensor

ROBOT ARMS

What you hold above your head is correct. Many robots resemble human arms, and have
shoulders, elbows, wrists, even fingers. This gives robot lots of options for moving, and helps
it do things in place of a human arm.
In order to reach any possible point in space within its work envelope, a robot needs a total of
6 degrees of freedom. Each direction a joint can go gives an arm 1 degree. As a result, many
robots
of
today
are
designed
to
move
in
at
least
6
ways.

Degrees of Freedom
Most robots don't yet look like people, but do look like
an important part of people. Raise your hand if you
know.

CONTROLLER - Every robot is connected to a


computer, which keeps the pieces of the arm working together. This computer is known as the
controller. The controller functions as the "brain" of the robot. The controller also allows the
robot to be networked to other systems, so that it may work together with other machines,
processes, or robots.
Robots today have controllers that are run by programs - sets of instructions written in code.
Almost all robots of today are entirely pre-programmed by people; they can do only what they
are programmed to do at the time, and nothing else. In the future, controllers with artificial
intelligence, or AI could allow robots to think on their own, even program themselves. This
could
make
robots
more
self-reliant
and
independent.
ARM - Robot arms come in all shapes and sizes. The arm is the part of the robot that positions
the end-effector and sensors to do their pre-programmed business.
Many (but not all) resemble human arms, and have shoulders, elbows, wrists, even fingers. This
gives the robot a lot of ways to position itself in its environment. Each joint is said to give the
robot 1 degree of freedom.
So, a simple robot arm with 3 degrees of freedom could move in 3 ways: up and down, left and
right, forward and backward. Most working robots today have 6 degrees of freedom.

End-Effector
END- EFFECTOR - The end-effector is the "hand" connected to the robot's
arm. It is often different from a human hand - it could be a tool such as a
gripper, a vacuum pump, tweezers, scalpel, blowtorch - just about anything
that helps it do its job. Some robots can change end-effectors, and be
reprogrammed for a different set of tasks

If the robot has more than one arm, there can be more than one end-effector on the same robot..

DRIVE - The drive is the "engine" that drives the links (the sections between the joints into their
desired position. Without a drive, a robot would just sit there, which is not often helpful. Most
drives
are
powered
by
air,
water
pressure,
or
electricity.

SENSOR - Most robots of today are nearly deaf and blind. Sensors can provide some limited
feedback to the robot so it can do its job. Compared to the senses and abilities of even the
simplest living things, robots have a very long way to go.
The sensor sends information, in the form of electronic signals back to the controller. Sensors
also give the robot controller information about its surroundings and lets it know the exact
position of the arm, or the state of the world around it.
Sight, sound, touch, taste, and smell are the kinds of information we get from our world. Robots
can be designed and programmed to get specific information that is beyond what our 5 senses
can tell us. For instance, a robot sensor might "see" in the dark, detect tiny amounts of invisible
radiation or measure movement that is too small or fast for the human eye to see.

AI ROBOTICS
DESIGN
Most of my robotics work is done using normal off the shelf computer hardware, and PCI bus
cards. I run the linux operating system. I try to keep hardware design to a minimum. A
connection via a long suspended cable, provides power,Air and Ethernet. This design allows me
to monitor and debug the robot software & hardware with relative ease.

Hardware
My ideas and designs are based on an evolutionary approach, with an easy to control, simple
and animalistic design - functional and potentially capable of interacting in with everyday
environments.

A Robot looks back at it's self in mirror. (using onboard camera).


The robots head incorporates a manipulator- gripper, vision and audio sensors mounted on an
arm with 3 degrees of freedom (more planned). The mobile base has 2 driven wheels for
locomotion. The overall feel of the robot is for an, animal type design.

Photo of stripped down robot frame with 2 wheels and pneumatic actuator.

32mm Bore 200 mm stroke double acting pneumatic cylinder.

5
port
3
position
pneumatic
solenoid
valve.
The robot features pneumatic cylinder actuators and associated parts, DC motor's, CCD PAL
television camera with Meteor PCI bus frame grabber, 16 bit Stereo Sound input, A low cost
desktop computer with LINUX OS is used to host the AI-Robot Software, and using X
windows, and an X term to provide flexible real-time visual diagnostics, and control.
The robots head is mounted on a robust pneumatic arm with 1 degree of freedom (more are
planned). The robot base is a tripod arrangement with two driven wheels and one free wheel,
robots speed is around .16 meters per second or .5 Km/h approximately. The head mounted
manipulator device will be a double acting 20 mm bore 100 mm stroke pneumatic cylinder. The
jaws will feature grip pressure sensing , and have a total griping range from zero to 100 mm,
grip pressure up to 50N will allow items up to 1 Kg weight to be handled.
Because I am using non reciprocating pneumatic cylinders, which will provide high power to
weight ratio they will unfortunately offer only restricted movement at the joints of around 110
degrees.
The time required to connect and program it all up should be in the order of thousands of hours (
This is an Awesome project ). The overall weight of the combined systems is presently around
12 kilograms, and robust enough to handle some software errors. The robot has a welded
aluminum structural frame. The robot is attached to the computer control system, air and power
supplies via a 10 meter long suspended cable which allows some degree of autonomy. This
robot has no particular practical use except as an experimental robot. I envision programming it
to higher and higher levels of intelligence, such tasks as manipulating and handling objects,
interacting with people and animals, moving around the room , and so on will be some of the
things which it will perform in the course of development. As well as software development i
will enhance the hardware incorporating more sensors and actuators as need arises.

Computer
The computer i am using at present is an AMD Thunderbird @ 900 MHz ( approx. 900MIPS)
which is fast enough to demonstrate and debug some audio , video and control software. And if
things go as predicted in around 5 years 10GIP machines will be commonly available that's
getting very close to the estimated 50GIPS needed for human level AI.

Language
The language i am using for controlling and programming the robot is C++ for almost
everything, It's my favorite language and have found it suits my style of programming. C++ is
very extensible and flexible and suitable for almost everything, as well as being very well
supported on most other unix systems and MSwindows. After considering the other languages
available C++ is a natural choice it is a high level language and is easy to program in, available
on many platforms even DSP's and it works right down to the hardware level interfacing
routines if need be. Of prime importance is to keep the customized hardware to a minimum, by
replacing it with software. I use perl and some bash-shell routines for various file manipulation
tasks and updating my code directories. GNU make is used to compile the source files into
executables, and create archives and distributions. Whilst i clearley have an ideal of keeping the
number of programming lanuages to a minimum i also believe, each language has it's own
strengths.
Excellent C,C++ libraries and resources are available including software written under the terms
of
the
Free
Software
Foundations
GNU
policy.
I am using the ATMEL-AVR series micro controllers (using avr gcc c code ) to ease the realtime requirements of interfacing to the DC motors, position sensors, pneumatic solenoid
valves. Other sensors and actuator are connected up to the main computer using PCI bus
digital-analogue
I/O
card.

Vision

CCD color camera. physical size 130 *50*60mm - PAL format output.
For the video input i use a PCI bus video digitizer board. The Matrox Meteor or Omnimedia
Sequence P1S produce RGB 8,8,8 data but cost rather allot as well. The chips used are the
Philips
SAA7116
and
SAA7196
ic's.
I am using the Linux Matrox Meteor Drivers which are available for this board, and also
supported by V4L2. I chose a PCI buss video capture card, PCI bus is preferred over ISA bus;
the PCI bus bandwidth of 132MBPps can easily handle upto 42MBPS of data generated by the
video digitizer card. ISA bus bandwidth is only 20MBPS which is not enough to comfortably
handle
video.
The robots head has a PAL system CCD color camera with C mount lens with viewing angle of
77
degrees
camera
is
440
*
512
resolution.

Video data is DMA transferred at 25 FPS to a main memory buffer storing up to 32 frames at a
resolutions
up
to
768
by
576
at
24
BPS
(RGB).
Robot
software
can
control
frame
size
using
ioctl
routines.

Audio
Stereo audio input is from 2 microphones connected to an ordinary off the shelf sound card.
Samples
are
16
bits
at
up
to
48K
samples
per
second.
Audio data is transferred to memory in 16 bit integer format by DMA, and handled by a
dedicated
process
launched
by
the
AI
software.

Analogue

&

Digital

I/O

I have an IO-TECH DAQ board 2000 it is a multipurpose PCI card which has 40 Digital I/O
pins, a 200Khz 16 bit ADC with 16 channel Multiplexer and 2 16 DAC's , it has DMA transfer
to main memory. This card connects to a break out card from which it's pins can be accessed. It
will be used to read several joint position sensors and the Digital outputs will be used to control
servos and other actuators. LINUX drivers are available from The COMEDI project.

Software
Well written clever CPU efficient algorithms. The things which we have learnt from the human
brain's higher level structure and operation such as feedback, associative learning, feed forward
sensory systems, imprinting, sensory signal processing, self adjusting sensory maps, this is the
level of structure which is important, and this is what this projects software efforts will be
involved with.
While much has been said in popular media about neural networks i believe that just because the
human mind is made from neurons does not mean that neurons are a prerequisite to AI,
evolution simply used what was available, and so will this project. My general design of
software is for an OO approach, running multiple threads and processes to produce real time
responce from the various systems. The AI software will also work in conjunction with a
simulation system, and when finnished will be capable of either operating a real robot or a
virtual simulation robot. I use UNIX internet socket based IPC to allow multiple CPU and
distribuited
system
operation.

Operating System
I am using LINUX as the operating system for the robot control software for a number of
reasons including; freely available source code; written in C; SMP(symmetric multi processor)
capable; and runs on DEC Alpha ,Intel 80XXX, Motorola PowerPC , Sun SPARC, Silicon
Graphics MIPS,i-PAC(a miniture STRONG_ARM based computer) and other hardware
platforms allowing me to migrate or port software easily; Real time extensions are available for
the Linux operating system; Many other hardware platforms run UNIX variants with POSIX
compliance porting software to these platforms is expected to be relativley straightforward. The
Free Software Foundations C and C++ development tools are fast, robust and simple to use.
The availability of cross platform compilation ability has also allowed me to port code (with
necessary modifications) to run on the eyebot platform for Robocup.

Linux has good support of IPC especially notable is TCP/IP Socket support which is a usefull
feature in any large and possibly distribuited system.
Linux has a wide variety of drivers available for many types of hardware (sound and video
acquisition included), i have many contacts with other programmers who use LINUX or and
UNIX, who have been able to help me with this project when i have needed it. I am certainly
amongst many others who are also using the Linux OS to control robots. As well as this Linux
is an extensible, multi-user , multitasking operating system with good IPC needed for large
multi threaded multi- process software, which is manditiory for a system as complex as an AIrobot.
The GUI Xfree86 has complete remote client - server capability allowing a full windowing
graphical interactive interface to the robots computer over a LAN if required.

NURAL NETWORK
Why would anyone want a `new' sort of computer?
What are (everyday) computer systems good at... .....and not so good at?
Good at
Not so good at
Fast arithmetic

Interacting with noisy data or data from the


environment

Doing precisely what the programmer programs


Massive parallelism
them to do

Massive parallelism
Fault tolerance
Adapting to circumstances
Where can neural network systems help?

Where we can't formulate an algorithmic solution.

where we can get lots of examples of the behaviour we require.


where we need to pick out the structure from existing data.

What is a neural network?


Neural Networks are a different paradigm for computing:
von Neumann machines are based on the processing/memory abstraction of human
information processing.
neural networks are based on the parallel architecture of animal brains.
Neural networks are a form of multiprocessor computer system, with
simple processing elements
a high degree of interconnection
simple scalar messages
adaptive interaction between elements
A biological neuron may have as many as 10,000 different inputs, and may send its output (the
presence or absence of a short-duration spike) to many other neurons. Neurons are wired up in a
3-dimensional pattern.
Real brains, however, are orders of magnitude more complex than any artificial neural network
so far considered.

Example: A simple single unit adaptive network:


The network has 2 inputs, and one output. All are binary. The output is
1 if W0 *I0 + W1 * I1 + Wb > 0
0 if W0 *I0 + W1 * I1 + Wb <= 0
We want it to learn simple OR: output a

Algorithms and Architectures.


The simple Perceptron:
The network adapts as follows: change the weight by an amount proportional to the difference
between the desired output and the actual output.
As an equation:
Wi = * (D-Y).Ii
where is the learning rate, D is the desired output, and Y is the actual output.
This is called the Perceptron Learning Rule, and goes back to the early 1960's.
We expose the net to the patterns:
I0 I1 Desired output
0 0 0
0 1 1
1 0 1
1 1 1
We train the network on these examples. Weights after each epoch (exposure to complete set of
patterns)
At this point (8) the network has finished learning. Since (DY)=0 for all patterns, the weights cease adapting. Single
perceptrons are limited in what they can learn:
If we have two inputs, the decision surface is a line. ... and its
equation is
I1 = (W0/W1).I0 + (Wb/W1)
In general, they implement a simple hyperplane decision surface
This restricts the possible mappings available.

Developments from the simple perceptron:


Back-Propagated Delta Rule Networks (BP) (sometimes known and multi-layer perceptrons
(MLPs)) and Radial Basis Function Networks (RBF) are both well-known developments of the
Delta rule for single layer networks (itself a development of the Perceptron Learning Rule).
Both can learn arbitrary mappings or classifications. Further, the inputs (and outputs) can have
real values

Back-Propagated Delta Rule Networks (BP)

is a development from the simple Delta rule in which extra hidden layers (layers additional to
the input and output layers, not connected externally) are
added. The network topology is constrained to be
feedforward: i.e. loop-free - generally connections are
allowed from the input layer to the first (and possibly only)
hidden layer; from the first hidden layer to the second,...,
and from the last hidden layer to the output layer.

Typical BP network architecture:


The hidden layer learns to recode (or to provide a
representation for) the inputs. More than one hidden layer
can be used.
The architecture is more powerful than single-layer
networks: it can be shown that any mapping can be learned, given two hidden layers (of units).
The units are a little more complex than those in the original perceptron: their input/output graph
is
As a function:
Y = 1 / (1+ exp(-k.( Win * Xin))
The graph shows the output for k=0.5, 1, and 10, as the activation varies from -10 to 10.

Training BP Networks
The weight change rule is a development of the perceptron learning rule. Weights are changed
by an amount proportional to the error at that unit times the output of the unit feeding into the
weight.
Running the network consists of

Forward pass: the outputs are calculated and the error at the output units calculated.
Backward pass: The output unit error is used to alter weights on the output units. Then the
error at the hidden nodes is calculated (by back-propagating the error at the output units through
the weights), and the weights on the hidden nodes altered using these values. For each data pair
to be learned a forward pass and backwards pass is performed. This is repeated over and over
again until the error is at a low enough level (or we give up).

Radial Basis function Networks


Radial basis function networks are also feedforward, but have only one hidden layer.

Typical RBF architecture:


Like BP, RBF nets can learn arbitrary mappings: the primary
difference is in the hidden layer.
RBF hidden layer units have a receptive field which has a
centre: that is, a particular input value at which they have a maximal output. Their output tails
off as the input moves away from this point.
Generally, the hidden unit function is a Gaussian:
Gaussians with three different standard deviations.

Training RBF Networks.


RBF networks are trained by
deciding on how many hidden units there should be
deciding on their centres and the sharpnesses (standard deviation) of their Gaussians

training up the output layer.

Generally, the centres and SDs are decided on first by examining the vectors in the training data.
The output layer weights are then trained using the Delta rule. BP is the most widely applied
neural network technique. RBFs are gaining in popularity.
Nets can be

trained on classification data (each output represents one class), and then used directly as
classifiers of new data.
trained on (x,f(x)) points of an unknown function f, and then used to interpolate.

RBFs have the advantage that one can add extra units with centres near parts of the input which
are difficult to classify. Both BP and RBFs can also be used for processing time-varying data:
one can consider a window on the data:
Networks of this form (finite-impulse response) have been used in many applications.
There are also networks whose architectures are specialised for processing time-series.

Unsupervised networks:
Simple Perceptrons, BP, and RBF networks need a teacher to tell the network what the desired
output should be. These are supervised networks.
In an unsupervised net, the network adapts purely in response to its inputs. Such networks can
learn to pick out structure in their input.

Applications for unsupervised nets


clustering data:
exactly one of a small number of output units comes on in response to an input.

reducing the dimensionality of data:


data with high dimension (a large number of input units) is compressed into a lower
dimension (small number of output units).
Although learning in these nets can be slow, running the trained net is very fast - even on a
computer simulation of a neural net.
Kohonen clustering Algorithm:
- takes a high-dimensional input, and clusters it, but retaining some topological ordering of the
output.
After training, an input will cause some the output units in some area to become active.
Such clustering (and dimensionality reduction) is very useful as a preprocessing stage, whether
for further neural network data processing, or for more traditional techniques.

Where are Neural Networks applicable?


..... or are they just a solution in search of a problem?
Neural networks cannot do anything that cannot be done using traditional computing
techniques, BUT they can do some things which would otherwise be very difficult.
In particular, they can form a model from their training data (or possibly input data) alone.
This is particularly useful with sensory data, or with data from a complex (e.g. chemical,
manufacturing, or commercial) process. There may be an algorithm, but it is not known, or has
too many variables. It is easier to let the network learn from examples.

Neural networks are being used:


in investment analysis:

to attempt to predict the movement of stocks currencies etc., from previous data. There,
they are replacing earlier simpler linear models.
in signature analysis:
as a mechanism for comparing signatures made (e.g. in a bank) with those stored. This is
one of the first large-scale applications of neural networks in the USA, and is also one
of the first to use a neural network chip.
in process control:
there are clearly applications to be made here: most processes cannot be determined as
computable algorithms. Newcastle University Chemical Engineering Department is
working with industrial partners (such as Zeneca and BP) in this area.
in monitoring:
networks have been used to monitor
the state of aircraft engines. By monitoring vibration levels and sound, early
warning of engine problems can be given.
British Rail have also been testing a similar application monitoring diesel
engines.
in marketing:
networks have been used to improve marketing mailshots. One technique is to run a test
mailshot, and look at the pattern of returns from this. The idea is to find a predictive
mapping from the data known about the clients to how they have responded. This
mapping is then used to direct further mailshots.

Where are neural networks going?


A great deal of research is going on in neural networks worldwide.
This ranges from basic research into new and more efficient learning algorithms, to networks
which can respond to temporally varying patterns (both ongoing at Stirling), to techniques for
implementing neural networks directly in silicon. Already one chip commercially available
exists, but it does not include adaptation. Edinburgh University have implemented a neural
network chip, and are working on the learning problem.
Production of a learning chip would allow the application of this technology to a whole range of
problems where the price of a PC and software cannot be justified.
There is particular interest in sensory and sensing applications: nets which learn to interpret realworld sensors and learn about their environment.

New Application areas:

Pen PC's
PC's where one can write on a tablet, and the writing will be recognised and translated
into (ASCII) text.
Speech and Vision recognition systems
Not new, but Neural Networks are becoming increasingly part of such systems. They are
used as a system component, in conjunction with traditional computers.
White goods and toys
As Neural Network chips become available, the possibility of simple cheap systems
which have learned to recognise simple entities (e.g. walls looming, or simple commands
like Go, or Stop), may lead to their incorporation in toys and washing machines etc.
Already the Japanese are using a related technology, fuzzy logic, in this way. There is
considerable interest in the combination of fuzzy and neural technologies.

Some comments (added September 2001)


Reading this through, it is a bit outdated: not that there's anything incorrect above, but the world
has moved on. Neural Networks should be seen as part of a larger field sometimes called Soft
Computing or Natural Computing. In the last few years, there has been a real movement of the
discipline in three different directions:
Neural networks, statistics, generative models, Bayesian inference
There is a sense in which these fields are coalescing. The real problem is making
conclusions from incomplete, noisy data, and all of these fields offer something in this
area. Developments in the mathematics underlying these fileds have shown that there are
real similarities in the techniques used. Chris Bishop's book Neural Networks for Pattern
Recognition, Oxford University Press is a good start on this area.
Neuromorphic Systems
Existing neural network (and indeed other soft computing) systems are generally
software models for solving static problems on PCs. But why not free the concept from
the workstation? The area of neuromorphic systems is concerned with real-time
implementations of neurally inspired systems, generally implemented directly in silicon,
for sensory and motor tasks. Another aspect is direct implementation of detailed aspects
of neurons in silicon (see Biological Neural Networks below). The main centres
worldwide are at the Institute for neuroinformatics at Zurich, and at the Center for
Neuromorphic Systems Engineering at Caltech. There are also some useful links at this
page (from a UK EPSRC Network Project on Silicon and Neurobiology)
Biological Neural Networks
There is real interest in how neural network research and neurophysiology can come
together. The pattern recognition aspects of Artificial Neural Networks don't really
explain too much about how real brains actually work. The field called Computational
Neuroscience has taken inspiration from both artificial neural networks and
neurophysiology, and attempts to put the two together.

NURAL NETWORK SOFTWER

NeuroXL Classifier
NeuroXL Classifier is a fast, powerful and easy-to-use neural
network software tool for classifying data in Microsoft Excel.
Designed to aid experts in real-world data mining and pattern
recognition tasks, it hides the underlying complexity of neural
network processes while providing graphs and statistics for the
user to easily understand results. NeuroXL Classifier uses only
proven algorithms and techniques, and integrates seamlessly
with Microsoft Excel.

NeuroXL Predictor
NeuroXL Predictor is a neural network forecasting tool that
quickly and accurately solves forecasting and estimation
problems in Microsoft Excel. It is designed from the ground-up
to aid experts in solving real-world forecasting problems. The
NeuroXL Predictor interface is easy-to-use and intuitive, does
not require any prior knowledge of neural networks, and is
integrated seamlessly with Microsoft Excel. The software brings
increased precision and accuracy to a wide variety of tasks,
including stock price prediction, sales forecasting, and sports
score prediction.

EXPERT SYSTEMS
I. What is Artificial Intelligence (AI)?
Artificial intelligence can be viewed from a variety of perspectives.

From the perspective of intelligence


artificial intelligence is making machines "intelligent" -- acting as we would expect
people to act.
o The inability to distinguish computer responses from human responses is called
the Turing test.
o Intelligence requires knowledge
o Expert problem solving - restricting domain to allow including significant
relevant knowledge
From a research perspective
"artificial intelligence is the study of how to make computers do things which, at the
moment, people do better" [Rich and Knight, 1991, p.3].
o AI began in the early 1960s -- the first attempts were game playing (checkers),
theorem proving (a few simple theorems) and general problem solving (only very
simple tasks)
o General problem solving was much more difficult than originally anticipated.
Researchers were unable to tackle problems routinely handled by human experts.
o The name "artificial intelligence" came from the roots of the area of study.
AI

researchers

are

active

in

variety

of

domains.

Domains include:
Formal Tasks (mathematics, games),
Mundane tasks (perception, robotics, natural language, common sense
reasoning)
Expert tasks (financial analysis, medical diagnostics, engineering,
scientific analysis, and other areas)
From a business perspective AI is a set of very powerful tools, and methodologies for
using those tools to solve business problems.
From a programming perspective, AI includes the study of symbolic programming,
problem solving, and search.
o Typically AI programs focus on symbols rather than numeric processing.
o Problem solving - achieve goals.
o Search - seldom access a solution directly. Search may include a variety of
techniques.

o AI programming languages include:

LISP, developed in the 1950s, is the early programming language


strongly associated with AI. LISP is a functional programming language
with procedural extensions. LISP (LISt Processor) was specifically
designed for processing heterogeneous lists -- typically a list of symbols.
Features of LISP that made it attractive to AI researchers included runtime type checking, higher order functions (functions that have other
functions as parameters), automatic memory management (garbage
collection) and an interactive environment.
The second language strongly associated with AI is PROLOG. PROLOG
was developed in the 1970s. PROLOG is based on first order logic.
PROLOG is declarative in nature and has facilities for explicitly limiting
the search space.
Object-oriented languages are a class of languages more recently used for
AI programming. Important features of object-oriented languages
include:
concepts of objects and messages
objects bundle data and methods for manipulating the data
sender specifies what is to be done receiver decides how to do it
inheritance (object hierarchy where objects inherit the attributes of
the more general class of objects)
Examples of object-oriented languages are Smalltalk, Objective C, C++.
Object oriented extensions to LISP (CLOS - Common LISP Object
System) and PROLOG (L&O - Logic & Objects) are also used.

II. What are Expert Systems (ES)?


Definitions of expert systems vary. Some definitions are based on function. Some definitions are
based on structure. Some definitions have both functional and structural components. Many
early definitions assume rule-based reasoning.

Functional Components
What the system does (rather than how)
"... a computer program that behaves like a human expert in some useful ways." [Winston &
Prendergast, 1984, p.6]

Problem area
o "... solve problems efficiently and effectively in a narrow problem area."
[Waterman, 1986, p.xvii]
o "... typically, pertains to problems that can be symbolically represented"
[Liebowitz, 1988, p.3]

Problem difficulty
o "... apply expert knowledge to difficult real world problems" [Waterman, 1986,
p.18]
o "... solve problems that are difficult enough to require significant human
expertise for their solution" [Edward Feigenbaum in Harmon & King, 1985, p.5]
o "... address problems normally thought to require human specialists for their
solution" [Michaelsen et al, 1985, p. 303].
Performance requirement
o "the ability to perform at the level of an expert ..." [Liebowitz, 1988, p.3]
o "... programs that mimic the advice-giving capabilities of human experts." [Brule,
1986, p.6]
o "... matches a competent level of human expertise in a particular field." [Bishop,
1986, p.38]
o "... can offer intelligent advice or make an intelligent decision about a processing
function." [British Computer Society's Specialist Group in Forsyth, 1984, pp.910]
o "... allows a user to access this expertise in a way similar to that in which he
might consult a human expert, with a similar result." [Edwards and Connell,
1989, p.3]
Explain reasoning
o "... the capability of the system, on demand, to justify its own line of reasoning in
a manner directly intelligible to the enquirer." [British Computer Society's
Specialist Group in Forsyth, 1984, p.9-10]
o "incorporation of explanation processes ..." [Liebowitz, 1988, p.3]

Structural Components
How the system functions
Use AI techniques
o "... using the programming techniques of artificial intelligence, especially those
techniques developed for problem solving" [Dictionary of Computing, 1986,
p.140]
Knowledge component
o "... the embodiment within a computer of a knowledge-based component, from
an expert skill ..." [British Computer Society's Specialist Group in Forsyth, 1984,
pp.9-10]
o "a computer based system in which representations of expertise are stored ..."
[Edwards and Connell, 1989, p.3]
o "The knowledge of an expert system consists of facts and heuristics. The 'facts'
constitute a body of information that is widely shared, publicly available, and
generally agreed upon by experts in the field." [Edward Feigenbaum in Harmon
& King, 1985, p.5]
o "Expert systems are sophisticated computer programs that manipulate knowledge
to solve problems" [Waterman, 1986, p.xvii]
Separate knowledge and control

"... make domain knowledge explicit and separate from the rest of the system"
[Waterman, 1986, p.18].
Use inference procedures - heuristics - uncertainty
o "... an intelligent computer program that uses knowledge and inference
procedures" [Edward Feigenbaum in Harmon & King, 1985, p.5]
o "The style adopted to attain these characteristics is rule-based programming."
[British Computer Society's Specialist Group in Forsyth, 1984, p.9-10]
o

"Exhibit intelligent behavior by skillful application of heuristics." [Waterman,


1986, p.18].
o "The 'heuristics' are mostly private, little rules of good judgment (rules of
plausible reasoning, rules of good guessing) that characterize expert-level
decision making in the field." [Edward Feigenbaum in Harmon & King, 1985,
p.5]
o "incorporation of ... ways of handling uncertainty..."[Liebowitz, 1988, p.3]
Model human expert
o "... can be thought of as a model of the expertise of the best practitioners of the
field." [Edward Feigenbaum in Harmon & King, 1985, p.5]
o "... representation of domain-specific knowledge in the manner in which the
expert thinks" [Liebowitz, 1988, p.3]
o "... involving the use of appropriate information acquired previously from human
experts." [Dictionary of Computing, 1986, p.140]
o

III. How do People Reason?

They create categories


o Cash is a Current Asset
o A Current Asset is an Asset
They use specific rules, a priori rules
o E.g., tax law . . . so much for each deduction
o Rules can be cascaded
"If A then B" . . .
"If B then C"
A--->B--->C
They Use Heuristics --- "rules of thumb"
o Heuristics can be captured using rules
"If the meal includes red meat
Then choose red wine"
o Heuristics represent conventional wisdom
They use past experience --- "cases"
o Particularly evident in precedence-based reasoning
e.g. law or choice of accounting principles
o Similarity of current case to previous cases provides basis for action choice
o Store
cases
using
key
attributes
cars may be characterized by: year of car; make of car; speed of car etc.
o What makes good argumentation also makes good reasoning
They use "Expectations"

o
o

"You are not yourself today"


If we differ from expectations then it is recognized
"Patterns of behavior"

IV. How do Computers Reason?


Computer models are based on our models of human reasoning

Frames
frame attributes called "slots"
each frame is a node in one or more "isa" hierarchies
They use rules A--->B--->C
Auditing, tax . . .
Set of rules is called knowledge base or rule base
They use cases
Tax reasoning and tax cases
Set of cases is called a case base
They use pattern recognition/expectations
Credit card system
Data base security system

IV-1. Frames

a network of nodes and relations


in some ways very similar to a traditional database and in other ways very different
attributes called "slots"
value can be stated explicitly
a method for determining the value rather than the value itself
each frame is a node in one or more "isa" hierarchies
o higher levels general concepts - lower levels specific
o unspecified value can be inherited from the more general node
o concept: prototypical representation with defaults that may be overridden
o Example
To describe a thing growing in my back yard: an elm is a deciduous tree, a
deciduous tree is a tree, a tree is a plant, a plant is a living organism.

IV-2. Rule Based Reasoning


Currently, the most common form of expert system

Structure of a Rule-based Expert System

User Interface
o Friendly
o Maybe "Intelligent"
Knowledge of how to present information
Knowledge of user preferences...possibly accumulate with use

Databases
o Contains some of the data of interest to the system
o May be connected to on-line company or public database
o Human user may be considered a database
Inference Engine
o general problem-solving knowledge or methods
o interpreter analyzes and processes the rules
o scheduler determines which rule to look at next
o the search portion of a rule-based system
takes advantage of heuristic information
otherwise, the time to solve a problem could become prohibitively long
this problem is called the combinatorial explosion
o expert-system shell provides customizable inference engine
Knowledge Base (rule base)
o contains much of the problem solving knowledge
o Rules are of the form IF condition THEN action
condition portion of the rule is usually a fact - (If some particular fact is in
the database then perform this action)
action portion of the rule can include
actions that affect the outside world (print a message on the
terminal)
test another rule (check rule no. 58 next)
add a new fact to the database (If it is raining then roads are wet).
o Rules can be specific, a priori rules (e.g., tax law . . . so much for each
exemption) - represent laws and codified rules
o Rules can be heuristics (e.g. If the meal includes red meat then choose red wine).
"rules of thumb" - represent conventional wisdom.
o Rules can be chained together (e.g. "If A then B" "If B then C" since A--->B-->C
so
"If
A
then
C").
(If it is raining then roads are wet. If roads are wet then roads are slick.)
o Certainty factors represent the confidence one has that a fact is true or a rule is
valid

IV-2a. Knowledge Engineering

the discipline of building expert systems

The Role of the Knowledge Engineer

Knowledge acquisition
o the process of acquiring the knowledge from human experts or other sources
(e.g. books, manuals)
o can involve developing knowledge to solve the problem
knowledge elicitation
o coaxing information out of human experts

Knowledge representation
o Method used to encode the knowledge for use by the expert system
o Common knowledge representation methods include rules, frames, and cases.
o Putting the knowledge into rules or cases or patterns is the knowledge
representation process

IV-3. Case-Based Reasoning

The Case-based Reasoning Process

Uses past experiences


Based on the premise that human beings use analogical reasoning or experiential
reasoning to learn and solve complex problems
Particularly
evident
in
precedence-based
reasoning
(e.g. tax law or choice of accounting principles)
Useful when little evidence is available or information is incomplete
Cases consist of
o information about the situation
o the solution
o the results of using that solution
o key attributes that can be used for quickly searching for similar patterns of
attributes
Elements in a case-based reasoning system
o the case base - set of cases
o the index library - used to efficiently search and quickly retrieve cases that are
most appropriate or similar to the current problem

similarity metrics - used to measure how similar the current problem is to the past
cases selected by searching the index library
o the adaption module - creates a solution for the current problem by either
modifying the solution (structural adaptation) or creating a new solution using the
same process as was used in the similar past case (derivational adaptation).
Learning
o If no reasonably appropriate prior case is found then the current case and its
human created solution can be added to the case base thus allowing the system to
learn.
o

IV-4. Neural Networks


(artificial neural networks and connectionist models)
Based on pattern recognition - used for credit assessment and fraud detection
A set of interconnected relatively simple mathematical processing elements
Looks for patterns in a set of examples and learns from those examples by adjusting the
weights of the connections to produce output patterns
Input to output pattern associations are used to classify a new set of examples
Able to recognize patterns even when the data is noisy, ambiguous, distorted, or has a lot
of variation
Neural network construction and training
o the architecture used (e.g. feed-forward)
o how the neurons are organized (e.g. an input layer with five neurons, two hidden
layers with three neurons each, and an output layer with two neurons.)
o the state function used (e.g. summation function)
o the transfer functions used (e.g. sigmoid squashing function)
o the training algorithm used (e.g. back-propagation)
Architecture
o How the processing elements are connected
o Commonly used architectures:
feed-forward

Feed-Forward Neural Network Structure

Boltzmann
Layers (also called levels, fields or slabs)
o Organized into a series of layers
input layer

one or more hidden layers


output layer
o Some consider the number of layers to be part of architecture
o Others consider the number of layers and nodes per layer to be attributes of the
network rather than part of the architecture
Neurons - the processing elements
The vocabulary in this area is not completely consistent and different authors tend to use
one of a small set of terms for a particular concept.

Bias is not connected to the other neurons in the network and is assumed to have
an input value of 1 for the summation function
o Weights
A real number representing the strength or importance of an input
connection to a neuron
Each neuron input, including the bias, has an associated weight
o State function
The most common form is a simple summation function
The output of the state function becomes the input for the transfer
function
o Transfer function
A nonlinear mathematical function used to convert data to a specific scale
Two basic types of transfer functions: continuous and discrete
Commonly used continuous functions used are Ramp, Sigmoid, Arc
Tangent and Hyperbolic Tangent
Continuous functions sometimes called squashing functions
Commonly used discrete functions are Step and Threshold
Discrete transfer function sometimes called activation function
Training
o The process of using examples to develop a neural network that associates the
input pattern with the correct answer
o A set of examples (training set) with known outputs (targets) is repeatedly fed
into the network to "train" the network
o This training process continues until the difference between the input and output
patterns for the training set reaches an acceptable value
o Several algorithms used for training networks
most common is back-propagation
o Back-propagation is done is two passes
o

Structure of a Neuron
consists of
a set of weighted input connections
a bias input
a state function
a nonlinear transfer function
an output
Input connections have an input value that is either received from the previous
neuron or in the case of the input layer from the outside

First the inputs are sent forward through the network to produce an output
Then the difference between the actual and desired outputs produces error
signals that are sent "backwards" through the network to modify the
weights of the inputs.

V. Advantages and Disadvantages


V-1. Advantages of Expert Systems

Permanence - Expert systems do not forget, but human experts may


Reproducibility - Many copies of an expert system can be made, but training new
human experts is time-consuming and expensive
If there is a maze of rules (e.g. tax and auditing), then the expert system can "unravel"
the maze
Efficiency - can increase throughput and decrease personnel costs
o Although expert systems are expensive to build and maintain, they are
inexpensive to operate
o Development and maintenance costs can be spread over many users
o The overall cost can be quite reasonable when compared to expensive and scarce
human experts
o Cost savings:
Wages - (elimination of a room full of clerks)
Other costs - (minimize loan loss)

Consistency - With expert systems similar transactions handled in the same way. The
system will make comparable recommendations for like situations.
Humans are influenced by
o recency effects (most recent information having a disproportionate impact on
judgment)
o primacy effects (early information dominates the judgment).
Documentation - An expert system can provide permanent documentation of the
decision process
Completeness - An expert system can review all the transactions, a human expert can
only review a sample
Timeliness - Fraud and/or errors can be prevented. Information is available sooner for
decision making
Breadth - The knowledge of multiple human experts can be combined to give a system
more breadth that a single person is likely to achieve
Reduce risk of doing business
o Consistency of decision making
o Documentation
o Achieve Expertise
Entry barriers - Expert systems can help a firm create entry barriers for potential
competitors
Differentiation - In some cases, an expert system can differentiate a product or can be
related to the focus of the firm (XCON)
Computer programs are best in those situations where there is a structure that is noted as
previously existing or can be elicited

V-2. Disadvantages of Rule-Based Expert Systems

Common sense - In addition to a great deal of technical knowledge, human experts


have common sense. It is not yet known how to give expert systems common sense.
Creativity - Human experts can respond creatively to unusual situations, expert systems
cannot.
Learning - Human experts automatically adapt to changing environments; expert
systems must be explicitly updated. Case-based reasoning and neural networks are
methods that can incorporate learning.
Sensory Experience - Human experts have available to them a wide range of sensory
experience; expert systems are currently dependent on symbolic input.
Degradation - Expert systems are not good at recognizing when no answer exists or
when the problem is outside their area of expertise

METHODS USED TO CREATE A INTELLIGENCE


Introduction
In the quest to create intelligent machines, the field of Artificial Intelligence has split into
several different approaches based on the opinions about the most promising methods and
theories. These rivaling theories have lead researchers in one of two basic approaches; bottomup and top-down. Bottom-up theorists believe the best way to achieve artificial intelligence is to
build electronic replicas of the human brain's complex network of neurons, while the top-down
approach attempts to mimic the brain's behavior with computer programs.
Neural Networks and Parallel Computation
The human brain is made up of a web of billions of cells called neurons, and understanding its
complexities is seen as one of the last frontiers in scientific research. It is the aim of AI
researchers who prefer this bottom-up approach to construct electronic circuits that act as
neurons do in the human brain. Although much of the working of the brain remains unknown,
the complex network of neurons is what gives humans intelligent characteristics. By itself, a
neuron is not intelligent, but when grouped together, neurons are able to pass electrical signals
through networks.
The neuron "firing", passing a signal to the next in the chain.
Research has shown that a signal received by a neuron travels through the dendrite region, and
down the axon. Separating nerve cells is a gap called the synapse. In order for the signal to be

transferred to the next neuron, the signal must be converted from electrical to chemical energy.
The signal can then be received by the next neuron and processed.
Warren McCulloch after completing medical school at Yale, along with Walter Pitts a
mathematician proposed a hypothesis to explain the fundamentals of how neural networks made
the brain work. Based on experiments with neurons, McCulloch and Pitts showed that neurons
might be considered devices for processing binary numbers. An important back of mathematic
logic, binary numbers (represented as 1's and 0's or true and false) were also the basis of the
electronic computer. This link is the basis of computer-simulated neural networks, also know as
Parallel computing.
A century earlier the true / false nature of binary numbers was theorized in 1854 by George
Boole in his postulates concerning the Laws of Thought. Boole's principles make up what is
known as Boolean algebra, the collection of logic concerning AND, OR, NOT operands. For
example according to the Laws of thought the statement: (for this example consider all apples
red)
Apples are red-- is True
Apples are red AND oranges are purple-- is False
Apples are red OR oranges are purple-- is True
Apples are red AND oranges are NOT purple-- is also True
Boole also assumed that the human mind works according to these laws, it performs logical
operations that could be reasoned. Ninety years later, Claude Shannon applied Boole's principles
in circuits, the blueprint for electronic computers. Boole's contribution to the future of
computing and Artificial Intelligence was immeasurable, and his logic is the basis of neural
networks.
McCulloch and Pitts, using Boole's principles, wrote a paper on neural network theory. The
thesis dealt with how the networks of connected neurons could perform logical operations. It
also stated that, one the level of a single neuron, the release or failure to release an impulse was
the basis by which the brain makes true / false decisions. Using the idea of feedback theory, they
described the loop which existed between the senses ---> brain ---> muscles, and likewise
concluded that Memory could be defined as the signals in a closed loop of neurons. Although
we now know that logic in the brain occurs at a level higher then McCulloch and Pitts theorized,
their contributions
were important to AI because they showed how the firing of signals between connected neurons
could cause the brains to make decisions. McCulloch and Pitt's theory is the basis of the
artificial neural network theory.
Using this theory, McCulloch and Pitts then designed electronic replicas of neural networks, to
show how electronic networks could generate logical processes. They also stated that neural
networks may, in the future, be able to learn, and recognize patterns. The results of their
research and two of Weiner's books served to increase enthusiasm, and laboratories of computer
simulated neurons were set up across the country.
Two major factors have inhibited the development of full scale neural networks. Because of the
expense of constructing a machine to simulate neurons, it was expensive even to construct
neural networks with the number of neurons in an ant. Although the cost of components have
decreased, the computer would have to grow thousands of times larger to be on the scale of the
human brain. The second factor is current computer architecture. The standard Von Neuman
computer, the architecture of nearly all computers, lacks an adequate number of pathways
between components. Researchers are now developing alternate architectures for use with neural
networks.
Even with these inhibiting factors, artificial neural networks have presented some impressive
results. Frank Rosenblatt, experimenting with computer simulated networks, was able to create a
machine that could mimic the human thinking process, and recognize letters. But, with new topdown methods becoming popular, parallel computing was put on hold. Now neural networks are

making a return, and some researchers believe that with new computer architectures, parallel
computing and the bottom-up theory will be a driving factor in creating artificial intelligence.
Top Down Approaches; Expert Systems
Because of the large storage capacity of computers, expert systems had the potential to interpret
statistics, in order to formulate rules. An expert system works much like a detective solves a
mystery. Using the information, and logic or rules, an expert system can solve the problem. For
example it the expert system was designed to distinguish birds it may have the following:
Charts like these represent the logic of expert systems. Using a similar set of rules, experts can
have a variety of applications. With improved interfacing, computers may begin to find a larger
place in society.
Chess
AI-based game playing programs combine intelligence with entertainment. On game with strong
AI ties is chess. World-champion chess playing programs can see ahead twenty plus moves in
advance for each move they make. In addition, the programs have an ability to get progressably
better over time because of the ability to learn. Chess programs do not play chess as humans do.
In three minutes, Deep Thought (a master program) considers 126 million moves, while human
chessmaster on average considers less than 2 moves. Herbert Simon suggested that human chess
masters are familiar with favorable board positions, and the relationship with thousands of
pieces in small areas. Computers on the other hand, do not take hunches into account. The next
move comes from exhaustive searches into all moves, and the consequences of the moves based
on prior learning. Chess programs, running on Cray super computers have attained a rating of
2600 (senior master), in the range of Gary Kasparov, the Russian world champion.
Frames
On method that many programs use to represent knowledge are frames. Pioneered by Marvin
Minsky, frame theory revolves around packets of information. For example, say the situation
was a birthday party. A computer could call on its birthday frame, and use the information
contained in the frame, to apply to the situation. The computer knows that there is usually cake
and presents because of the information contained in the knowledge frame. Frames can also
overlap, or contain sub-frames. The use of frames also allows the computer to add knowledge.

PROGRAM SOME FACITING EXHIBITING


Problem Solvers
ELIZA
Eliza, Joseph Wiezbaum's result of trying to make a program converse in English amazed people
when it appeared in mid 1960's. The program was able to converse about any subject, because it
stored subject information in data banks. Another feature of Eliza was its ability it picked up
speech patterns. notably, after creating one of the most famous programs Wiezbaum objected to
the bonds that interviewees were making with his creation, and denounced the intelligence of
Eliza. The following passage shows Elizas talking to a teenage girl. The teenager speaks first,
and Eliza's answers are in blue.
Men are all alike.

IN WHAT WAY
They're always bugging us about something or other.
CAN YOU THINK OF A SPECIFIC EXAMPLE
Well, my boyfriend made me come here.
YOUR BOYFRIEND MADE YOU COME HERE
He says that I am depressed all the time.
I AM SORRY TO HERE YOU ARE DEPRESSED
It's true that I am unhappy
DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY
I need help, that seems certain.
WHAT WOULD IT MEAN IF YOU GOT SOME HELP
Perhaps I could learn to get along with my mother.
TELL ME MORE ABOUT YOUR FAMILY
My mother takes care of me.
WHO ELSE IN YOUR FAMILY TAKES CARE OF YOU
My father.
YOUR FATHER
You are like my father in some ways.

WHAT RESEMBLANCE DO YOU SEE


You are not very aggressive but I think you don't want me to notice that.
WHAT MAKES YOU THINK THAT I AM NOT VERY AGGRESSIVE
You dont argue with me.
WHY DON'T YOU THINK I ARGUE WITH YOU
You are afraid of me.
DOES IT PLEASE YOU TO BELIEVE I AM AFRAID OF YOU
My father is afraid of everybody.
WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR FATHER

Bullies.
DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR BOYFRIEND MADE YOU COME HERE

As impressive as Eliza looks, Wiezbaum noted that it understood no more of the girl's problems
as an alarm clock understands when to go off. For example, the last sentence gives the
impression of comprehension, but in fact the program is written so that at one point, it modifies
the first sentence and applies it as a response.
Parry
Why are you in the hospital?
I SHOULDN'T BE HERE.
Who brought you here?
THE POLICE.
What trouble did you have with the police?
COPS DONT DO THEIR JOB.
What do they do instead?
COPS ARREST THE WRONG PEOPLE.
They arrest the right ones sometimes.
THE LAW SHOULD GET THOSE ITALIAN CROOKS.
Are you Italian
MY BACKGROUND IS BRITISH BUT I WAS BORN IN THIS COUNTRY.
Do you know any Italian crooks?

I TRY TO AVOID THE UNDERWORLD.


Are you afraid of the underworld?
THE MAFIA ARE THE WORST GANGSTERS.
Are you connected with the Mafia?
WHO KNOW, THEY KNOW ME.
How do they know you?
THEY SPY ON ME.
Why do they?
THEY WANT TO GET FALSE EVIDENCE TO FRAME ME.

What do they have against you?


THEY ARE OUT TO GET ME.
What for?
I HAVE INCRIMINATING EVIDENCE AGAINST THE MAFIA.
Are you sure of all of this?
YOU DON'T BELIEVE ME?
I am doing my best.

--Parry remains silent---The psychiatrist does not respond-CAN'T YOU THINK OF A DECENT QUESTION TO ASK?
You seem hostile to me.
SOME OF YOUR REMARKS ANNOY ME.
I am sorry.
FORGET THE EXCUSES, YOU GUYS ARE ALL ALIKE.

Problem Solving
SHRDLU and block worlds
1. pick up a red block
OK
2. find a block which is taller than the one you are holding and put it into the box.
By "it," i assume that you mean the block which is taller than the one i am holding. OK.
3. what does the box contain?
The blue pyramid and the blue box
4. what is the pyramid supported by?
the box

5. how many blocks are not in the box?


four of them
6. is at least one of them narrowed than the one which I told you to pick up?
yes, the red cube
7. is it supported?
yes, by the table
8. can the table hold blocks?
no
9. the blue pyramid is mine
I understand
10. I own all blocks which are not red, but I dont own anything that supports a pyramid
I understand
11. do I own the box?
no
12. do I own anything in the box?
Yes, two things: the blue box and the blue pyramid
13. will you please stack up both of the red blocks and either a green cube or a pyramid?
OK
14. is there a large block behind a pyramid?
yes, three of them: a large red one, a large green cube and the blue one.
15. put a small one into the green cube which supports a pyramid
OK
16. put the littlest pyramid on top of it
OK

17. had you touched any pyramid before you put the green one on the little cube?
Yes, the green one
18. when did you pick it up?
while i was stacking up the red cube, a large red block and a large green cube
19. why?
to get rid of it
20. why did you do that?
to clear off the red cube
21. why did you clear off that cube?
to put it on a large green cube

22. why did you do that?


to stack the red cube, a large block, and a large green cube
23. why did you do that?
because you asked me to
With SHRDLU's comprehension and logic, AI reached a new level. The name SHRDLU was
actually borrowed from MAD magazine, and is made up of, as its author Terry Wingrad
explained, the seventh through twelfth frequently used letters in the English language.

The General Problem Solver


The first version of the GPS ran soon after the Dartmouth conference, with the aim of having
computers search for their own logical solutions to problems. The GPS has successfully sovled
a variety of problems including Deductive reasoning problems, and other such as the Hanoi

Tower.
The temple is made up of three wooden poles and four flat, stone disks. The object is to move the

tower to another pole, without laying the disks on the ground, or letting a larger disk on top of a
smaller one.

Some other notable programs:


Hacker
Hacker, developed in the MIT lab, lays to rest the common myth that a computer will never be
able to program itself. Hacker is able to write programs for the computer that it is running on.
The logic necessary for Hackers skill is stored in packets of information which are referred to.
Also Hacker uses a programming library of common trouble-shooting, and is able to add tricks
to its library.
Sam
Sam is a program from Yale's AI lab which is able to read between the lines, and assume
certain facts.
The Story:
John went to New York by bus. On the bus he talked to an old lady. When he left the bus, he
thanked the driver. He took the subway to Leone's. On the subway his pocket was picked. He got
off the train and entered Leone's. He had some lasagna. When the check came, he discovered he
couldn't pay. The management told him he would have to wash dishes. When he left, he caught a
bus to New Haven.
Sam's comprehension: (Sam's answers are in blue.)
Why did John go to New York?
Because John wanted to go to Leone's
How did John get to Leone's?
John took a bus to New York and then he took the subway to Leone's.
Did anything unusual happen on the bus?

I don't remember anything


Did anything unusual happen on the subway?
A thief picked John's pocket.
What did John order?
John ordered lasagna.
Did anything unusual happen at the restaurant?
John discovered that he could not pay the check and so he had to wash dishes.
Why couldn't John pay the check?
Because John didn't have any money.

Why didn't John have any money?


Because a thief picked John's pocket.
How did John get back to New Haven?
John went from Leone's by subway and then he went to New Haven by bus.
How was John able to take the bus to New Haven?
Probably he had a ticket.

Sam's logic is represented in frames. For this story Sam might use a restaurant frame, and a
subway and bus frame. These frames spell out what events in order most likely would occur in
situations. Sam is impressive, because it can draw conclusions from the story that are not
specifically stated. Also, with the last response, Sam shows that he can make conjectures
without information from the story, with the use of frames.

AI AND OTHER TECHNOLOGY


AI AND BIOINFORMATICS
This special issue of AI Magazine focuses on some areas of research in bioinformatics that
have benefited from applying AI techniques. Undoubtedly, bioinformatics is a truly
interdisciplinary field: Although some researchers continuously affect wet labs in life science
through collaborations or provision of tools, others are rooted in the theory departments of exact
sciences (physics, chemistry, or engineering) or computer sciences. This wide variety creates
many different perspectives and terminologies. One result of this Babel of languages is that
there is no single definition for what the subject of this young field really is. Even the name of
the field varies: Bioinformatics, theoretical biology, biocomputing, or computational biology

are just a few of the terms used. In fact, this lack of a precise definition is not of the type, "I
recognize it when I see it"; rather, different representatives of the field have fairly different ideas
about what it actually is.
Here, we do not attempt to impose any specific definition of the field. The particular collection
of reviews presented constitutes a sparse sampling from the broad activities in the area. Larry
Hunter ("Life and Its Molecules: A Brief Introduction") describes some of the concepts and
terms prevalent in today's molecular biology. If you find the plethora of technical terms
overwhelming, be assured that modern-day biology is far more complex than suggested by the
simplified sketch presented here. In fact, researchers in life sciences live off the introduction of
new concepts; the discovery of exceptions; and the addition of details that usually complicate,
rather than simplify, the overall understanding of the field.
Possibly the most rapidly growing area of recent activity in bioinformatics is the analysis of
microarray data. The article by Michael Molla, Michael Waddell, David Page, and Jude Shavlik
("Using Machine Learning to Design and Interpret Gene-Expression Microarrays") introduces
some background information and provides a comprehensive description of how techniques
from machine learning can be used to help understand this high-dimensional and prolific geneexpression data. The authors point out that it is natural to apply machine learning to such data,
but it is also challenging because of its complexity.
The term protein function is not well defined; it encompasses a wide spectrum of biological
contexts in which proteins contribute to making an organism live. (Note that the term gene
function is somehow a misnomer in the sense that it means "the function of the protein encoded
by a particular gene.") This intrinsic complexity of terminology makes it extremely difficult to
build databases with controlled vocabularies for function. Furthermore, the vast majority of
experimental data is buried in free-text publications. Mining free text, such as MEDLINE
abstracts and machine learning interpretations of controlled vocabularies, constitutes another
area of increasing activity. Rajesh Nair and Burkhard Rost ("Annotating Protein Function
through Lexical Analysis") review a few of the recent methods that have begun influencing
experimental research. They observe that to date the technically simplest tools appear to be the
most successful ones and that the seemingly most simple problem--identifying the gene-protein
name from a publication--constitutes one of the major bottlenecks in incorporating free-text
mining systems into everyday MEDLINE searches. Ross King ("Applying Inductive Logic
Programming to Functional Genomics") reviews applications of inductive logic programming
that address the problem of predicting some aspects of protein function. In particular, he reviews
a method that combines the mining of controlled vocabulary with machine learning to render
genomewide annotations of function.

High-throughput experiments targeting the genome have become almost a standard tool for
experimental biology over the last decade (for example, large-scale sequencing, micro-arrays,
RNAi, two-hybrid methods, mass spectrometry). In contrast, the first comprehensive attempt at
realizing high-throughput experiments for proteins--structural genomics--is still in the phase of
pilot projects. One goal of structural genomics is to experimentally determine a structure for
each representative protein. This seemingly simple objective hides an avalanche of bottlenecks
and problems. Many of these will benefit from AI-driven solutions. One such bottleneck-protein crystallization--is addressed in the final two papers. Bruce Buchanan and Gary
Livingston ("Toward Automated Discovery in the Biological Sciences") focus on the use of a
novel data-mining technique to extract relationships from the data on crystal-growing
experiments. Igor Jurisica and Janice Glasgow ("Applications of Case-Based Reasoning in

Molecular Biology") demonstrate how case-based reasoning can be applied to assist in the
planning of such experiments. They also provide an overview of several other applications in
molecular biology that have benefited from case-based reasoning.
An alternative to experimental methods for determining protein structure is the application of
automated techniques for predicting structure from sequence. The paper by Claus Andersen and
Soren Brunak ("Amino Acid Sub-alphabets Can Improve Protein Structure Prediction") presents
some novel research that illustrates an interesting application of AI geared toward learning
about the relation between amino acid alphabets and protein. In particular, this work
demonstrates the importance of knowledge representation in extracting and integrating
information in biological databases.
A common theme among the articles is that biological data are complex, and the quantity of
such data is growing at an unprecedented rate (and arguably outgrowing the central processing
unit and storage capacity of computers). The problems that are faced in understanding molecular
sequence, structure, and function rely on the ability to manage and understand these data. Thus,
it is not surprising that AI techniques from knowledge representation, machine learning,
knowledge discovery, and reasoning are at the forefront in addressing the important questions
that are arising in molecular biology.

AI AND EDUCATION
Computers have been used in education for over 20 years. Computer-based training (CBT) and
computer aided instruction (CAI) were the first such systems deployed as an attempt to teach
using computers. In these kinds of systems, the instruction was not individualized to the
learner's needs. Instead, the decisions about how to move a student through the material were
script-like, such as ``if question 21 is answered correctly, proceed to question 54; otherwise go
to question 32.'' The learner's abilities were not taken into account.

While both CBT and CAI may be somewhat effective in helping learners, they do not provide
the same kind of individualized attention that a student would receive from a human tutor [5].
For a computer based educational system to provide such attention, it must reason about the
domain and the learner. This has prompted research in the field of intelligent tutoring systems
(ITSs). ITSs offer considerable flexibility in presentation of material and a greater ability to
respond to idiosyncratic student needs. These systems achieve their ``intelligence'' by
representing pedagogical decisions about how to teach as well as information about the learner.
This allows for greater versatility by altering the system's interactions with the student.
Intelligent tutoring systems have been shown to be highly effective at increasing students'
performance and motivation. For example, students using Smithtown, an ITS for economics,
performed equally well as students taking a traditional economics course, but required half as
much time covering the material [25].
In this paper, we start by providing an overview of the main components of intelligent tutoring
systems. We then provide a brief summary of different types of ITSs. Next, we present a
detailed discussion of two components, the student model and the pedagogical module. We
close by discussing some of the open questions in ITS as well as future directions of the field.

Components of Intelligent Tutoring Systems


Intelligent tutoring systems may outwardly appear to be monolithic systems, but for the
purposes of conceptualization and design, it is often easier to think about them as consisting of
several interdependent components. Previous research by Woolf [32] has identified four major
components: the student model, the pedagogical module, the domain knowledge module, and
the communication module. We have identified a fifth component, the expert model. Woolf
includes this component as part of the domain knowledge, but we feel that it is a separate entity.
Figure 1 provides a view of the interactions between the modules.

Student Model
The student model stores information that is specific to each individual learner. At a minimum,
such a model tracks how well a student is performing on the material being taught. A possible
addition to this is to also record misconceptions. Since the purpose of the student model is to
provide data for the pedagogical module of the system, all of the information gathered should be
able to be used by the tutor.

Pedagogical Module
This component provides a model of the teaching process. For example, information about when
to review, when to present a new topic, and which topic to present is controlled by the
pedagogical module. As mentioned earlier, the student model is used as input to this component,
so the pedagogical decisions reflect the differing needs of each student.

Domain Knowledge
This component contains information the tutor is teaching, and is the most important since
without it, there would be nothing to teach the student. Generally, it requires significant
knowledge engineering to represent a domain so that other parts of the tutor can access it. One
related research issue is how to represent knowledge so that it easily scales up to larger domains.
Another open question is how to represent domain knowledge other than facts and procedures,
such as concepts and mental models.

Communications Module
Interactions with the learner, including the dialogue and the screen layouts, are controlled by
this component. How should the material be presented to the student in the most effective way?
This component has not been researched as much as the others, but there has been some
promising work in this area [27, 31].

Expert Model
The expert model is similar to the domain knowledge in that it must contain the information
being taught to the learner. However, it is more than just a representation of the data; it is a
model of how someone skilled in a particular domain represents the knowledge. Most
commonly, this takes the form of a runnable expert model, i.e. one that is capable of solving
problems in the domain [8]. By using an expert model, the tutor can compare the learner's
solution to the expert's solution, pinpointing the places where the learner had difficulties.

Types of ITSs
There are several ways of categorizing ITSs; we will concentrate on two dimensions: abstraction
of the learning environment and the knowledge type of the instruction.

Abstraction of the learning environment


Many systems attempt to provide instruction by simulating a realistic working environment in
which the student can learn the task. There are many reasons for developing such systems,
including the possible danger of training using the actual equipment and the lack of domain
experts who can devote their expensive time to training novices. Therefore, a realistic simulated
learning environment can reduce both the cost and the risks of training.
An example of a simulation-based ITS is the Advanced Cardiac Life Support (ACLS) Tutor [9]
in which a student takes the role of team leader in providing emergency life support for patients
who have had heart attacks. The system not only monitors student actions, but runs a realistic
simulation of the patient's condition and maintains an environment that is reasonably faithful to

the ``real life'' situation. Thus, the goal is not only to test the student's knowledge about the
correct emergency procedures, but also to allow him to experience practicing those procedures
in a more realistic manner than is possible in a traditional classroom.
Some systems take a less rigorous approach to representing the environment; the situations
presented are similar to the real world scenarios in which the knowledge could be applied, but
they are not exact simulations. Smithtown [25] takes this approach by providing a simulated
setting for students to test hypotheses about economics. However, the underlying model of the
environment is not an exact simulation of how the laws of economics would be applied in the
real world. Another example of such a system is the Design for Manufacturing Tutor [10].
At the extreme opposite of the simulation based tutors are those that teach knowledge in a
decontextualized manner without attempting to simulate the real world. Many systems
throughout the history of ITS research fall into this category [2, 24]. These systems provide
problems for the learner to solve without trying to connect those problems to a real world
situation and are designed to teach abstract knowledge that can be transferred to multiple
problem solving situations.

Emphasis of Instruction
There is a long history of classifying instructional goals according to the type of knowledge
being taught. An important early attempt at this classification is Bloom's taxonomy [4] and
much recent work in categorizing knowledge has been derived from this. In addition to
classifying learning goals by knowledge type, one can also examine what the student will be
able to do upon completion of the ITS's lesson. This can vary from the student being able to
perform a set of skills in a manner similar to an expert to understanding abstract concepts such
as Newton's third law.
For ease of development, systems tend to concentrate on teaching one type of knowledge. The
most common type of ITS teaches procedural skills; the goal is for students to learn how to
perform a particular task. There has been substantial research in cognitive psychology about
human skill acquisition, so analyzing the domain knowledge in this framework can prove
beneficial to instruction. Systems that are designed according to these principles are often called
cognitive tutors. The most common result of this analysis is a set of rules that are part of a
runnable expert model. This set of expert rules often serves double duty as a knowledge of the
domain and as the pedagogical module. If a student encounters difficulty, the specific
remediation required can be determined from the expert model.

Other ITSs concentrate on teaching concepts and ``mental models'' to students. These systems
encounter two main difficulties. First, a more substantial domain knowledge is needed for
instruction. Second, since learning concepts and frameworks is less well understood than
learning procedures, there is less cognitive theory to guide knowledge representation and the
pedagogical module. For these reasons, ITSs of this type require a larger domain knowledge
base and are sometimes referred to as knowledge based tutors. As a result of not having a
strong model of skill acquisition or expert performance, these systems are forced to use general
teaching strategies. They also place more emphasis on the communication and presentation

system in order to achieve learning gains. An example of such a system is the Pedagogical
Explanation Generation (PEG) system [27] which has an explanation planning component that
uses a substantial domain knowledge base to construct answers to student queries in the domain
of electrical circuits.
These classifications are really points along a continuum, and serve as good rules of thumb
rather than a definitive method of classifying intelligent tutors. A system that does not fall into
either of these categories is Coach [31], which teaches how to use UNIX mail. This is a
procedural skill, and hence cognitive in nature. However, the emphasis of this system is also
knowledge based and involves generating explanations and using general pedagogical tactics for
generating feedback.
Generally, tutors that teach procedural skills use a cognitive task analysis of expert behavior,
while tutors that teach concepts and frameworks use a larger knowledge base and place more
emphasis on communication to be effective during instruction. There are exceptions to these
rules, but they serve as useful guidelines for classifying ITSs.

The Student Model


As noted previously, the student model is the component of an ITS that records information
about the student. This information reflects the system's belief of the learner's current knowledge
state. Since only overt student actions are visible, and the ITS only has a relatively narrow
channel of communication with the user, there is difficulty in obtaining an accurate
representation of the student's abilities. Therefore, the model of the student may not be perfectly
accurate and steps must be taken to ensure that the system's actions on the basis of this
inaccurate information are not inappropriate. For example, a tutor that interferes too much with
a learner who is performing satisfactorily can obviously be detrimental.
After considering the above difficulties, an obvious question concerning student models is why
to have one. Simply put, the student model is necessary in order to tailor instruction to a
student's idiosyncrasies and learning needs. Without this knowledge, the pedagogical component
of the tutor has no basis on which to make decisions, and is forced to treat all students similarly.
This is analogous to earlier efforts in CBT and CAI which did not customize instruction for
individual learners.

Representation of the student model


There are many methods for representing information about the student. Two commonly used
techniques are overlay models and Bayesian networks.
The standard paradigm for representing a student model is the overlay model [7] in which the
student's knowledge is considered to be a subset of the expert's knowledge (Figure 2a). With this
representation, an ITS presents material to the student so that his knowledge will exactly match
that of the expert. The knowledge types that can be represented within an overlay student model
include `topics', which correspond to elements of the domain knowledge, and production rules
[1].

A drawback of this approach is that it does not acknowledge that students may have beliefs that
are not part of the expert's knowledge base. For example, students frequently have
misconceptions about a domain. Therefore an extension to the overlay model explicitly

represents ``buggy'' knowledge that the student may have (Figure 2b) [11]. This extension
allows for better remediation of student mistakes, since the fact that a student believes
something that is incorrect is pedagogically significant.
Another mechanism for recording a student's knowledge is Bayesian networks [18]. These
networks probabilistically reason about a student's knowledge state based on his interactions
with the tutor. Each node in the network has a probability indicating the likelihood of the student
``knowing'' that piece of knowledge.

What to include in the student model


ITS designers have a tendency to include more information in the student model than the
pedagogical module can use [23]. However, the point of having a student model is to be able to
tailor the instruction for each student. Therefore, student models should only include data that
the tutor will actually use in creating this instruction. On the other hand, for research purposes, it
can be beneficial to include extra factors that are not used by the pedagogical module but
provide ITS designers with knowledge of what may be useful to include in future student
models.
Given this restriction, what should a student model contain? Clearly, it must record the student's
understanding of the domain. However, at what grain size should that understanding be
represented? At one extreme, the tutor could simply say ``the student knows this domain'' or
``the student does not know this domain.'' At the other extreme, the student model could record
every student action. Most student models fall in between these two end points and try to model
the student at the same granularity at which the domain is represented. Since most domains are
represented in terms of topics, this is the most common grain size for student models.
In addition to recording a student's understanding of the domain, a student model may also
include more general pedagogical information about the student. This kind of information could
include a student's general preferences, such as whether he likes to look at examples before
attempting to answer any questions or whether he likes examples about ponies but not those
about tanks.
Other general information about the student's learning can be included, such as acquisition and
retention. Acquisition measures how fast students learn new topics, and retention measures
how well they recall the material over time. Prior research suggests that examining general
factors such as acquisition and retention can be beneficial for student modeling. Work with the
LISP tutor [3] and with Stat Lady [24] indicates that general factors extracted from student
learning data are predictive of overall learning and allow for a more accurate response to the
idiosyncrasies of the student.

Pedagogical Module
The pedagogical module uses information from the student model to determine what aspects of
the domain knowledge should be presented to the learner. This information, for example, may
be new material, a review of previous topics, or feedback on the current topic. One pedagogical
concern for an ITS is the selection of a meta-strategy for teaching the domain. For example, the
system could decide to use the Socratic method [21] or it could select a topic and present an
example of a problem within that topic. Once the meta-strategy is selected, low level issues,
such as the exact example to use, must be decided. These low level issues have been fairly well
researched, and thus will be discussed first.

Low level issues


The tutor must decide the content of the material to be presented to the student. This involves
decisions about the topic, the problem, and the feedback.
Topic selection: To select a topic to present, the tutor must examine the student model to
determine the topics on which the student needs to focus. Many possibilities exist for the most
appropriate topic on which a student should work. For example, if the meta-strategy indicates
that review is in order, the tutor will select a topic the student has already ``learned.'' On the
other hand, if new information is to be presented, the tutor will choose a topic that the student
does not yet know.
Problem generation: Once the topic has been selected, a problem must be generated for the
student to solve. The grain size of the problem is determined by the domain. For example, in
SHERLOCK, the student will be asked to diagnose the fault in the station used to repair an F-15,
while in MFD [26], the student will be given a simple math problem, such as adding two
fractions. Whatever the granularity of the problem generated, it is important that the difficulty
be appropriate for the student's level of ability, which can be determined from the student
model.
Feedback: Most tutors work smoothly as long as students get everything right. Problems arise
when the student has difficulties and needs help from the tutor. In these situations, the tutor must
determine the kind of feedback to provide. The issue of how much help to provide the student is
also a very complex issue as too little feedback can lead to frustration and floundering [1] while
too much feedback can interfere with learning [12].
Once the system decides how much feedback to give, it must determine the content of the
advice. The feedback should contain enough information so that the student can proceed to the
next step in solving the problem. Furthermore, the advice given to the learner should be
appropriate for her ability level. Some systems use the student model to select a hint that most
closely matches the learner's level of ability. For example, in MFD, the more proficient the
student is at a particular skill, the more subtle the hint is. On the other hand, a student with low
proficiency in a skill would be presented with a more obvious hint. By using this technique,
learners will not be required to wade through many levels of hints before receiving useful help
[15].

Meta-strategy selection
High level strategy selection in ITSs has not received the same amount of attention as the low
level decisions. This is not to say that meta-strategies have not been researched. To the contrary,
educational research has identified many potential teaching strategies for use by an ITS [13].
Examples of these kinds of strategies include spiral teaching [6] and the Socratic method.
However, implementing these meta-strategies in an ITS has proven a formidable problem. Most
ITSs do not explicitly identify the strategies they are using for teaching and implicitly
implement one of the well-known strategies [17]. A better method is to use the student model to
select an appropriate strategy from those maintained by the system. Ideally a student's model
could track the instructional strategies that are most effective for teaching him. However,
because most systems do not have multiple teaching strategies, student models have not been
designed to provide selection information. Thus, representing multiple strategies explicitly and
the control knowledge to select among them is beyond the capabilities of most current systems.

Another obstacle in representing multiple teaching strategies is the limitations imposed by other
components of the ITS in addition to those placed by the student model. In particular, the
difficulty of representing knowledge impedes the ability to explicitly represent teaching
strategies. For example, the Socratic method requires substantial ``common sense'' knowledge
beyond what is maintained in a domain knowledge base. This problem of scaling up the
knowledge base is not unique to ITSs and is common to many areas of AI.

Computer and language


The computers are obviously the false too include/understand the human
language. They are to determine very fast word " center, " however, if it is sudden, if it
is not used obscenely or, it flummoxed completely decided.
Up to now artificial intelligence (AI) is only in the film service as 2001 and in
function Star Trek. ** time out ** if someone develop asterisk Reise-wie AI, then its PC
computer able will be with before pre sweeping by Web PAGE and to become will
decide, almost infallibly, if it its obscene (or merrily to interest or: select an adjective).
But does not occur at any time soon.
Here a figure for controlling this house. The philosophers can suggest complicated
definitions for, what means it for computers " include/understand " a page of the written
English text, but for our targets, us to say leave it that a computer "
includes/understands " something, if it can translate it exactly into another language.
Enter suggest, in order between different significances of the ambiguous words to
select and indicate the context and decode syntax - all things, which are important for
the translation both to decide and if the text is not obscene or. We cannot regard
entrails of a computer, in order to see whether it includes/understands something, but
we a volatile view to throw to be able, so that it is a good translation thinks. If it cannot
translate correctly, it probably not include/understand.
It checks that the dataprocessing specialists with machine translation had
operated since almost the paddle of the computers. The government of the United
States poured million in the search by the center of the fifties. The traditional example
became a far away well-known history in the computer industry and went back to the
Sechzigern, probably apocryphal:
A program machine was written to translate over English-Russian and turned
around. ** time out ** once point to VIPs what assign it, it need translation of d a Idiom "
the d spirit its spread, but d meat its d weakly " computers hum and cliquet and, after
one moment, come from a character character string of d Russian characters. But,
since no VIPs Russian could really read, the programmers executed the text in by the
other way. To have after more totals and cliquet, which appeared retranslation: " the
wine is good, but one faults the meat "
Hubert Dreyfus recapitulated the situation inward What Computers Can't Do, after
1972:

The attempts at the translation of the language by computers had success early,
the broadest search and most expensively and the freieste collapse..., [ 1966 ] " look "
a

status , a language and the machines of the government, distributed from that national
Academy up OF Sciences the advice citizens, expressed the last word on the post of
the translation. Human translations and products of the machine, afterwards carefully,
compare concluded the committee:
We noted already that, while we have the automated translation of the general scientific
text we do not have useful machine translation. Additionally, there is no immediate or
foreseeable prospect for useful machine translation.
... is the machine translation of the written scientific texts - even fewer spoken language
and more general hardware - always over the horizon and from the horizon seems to
push atan increasing kinetics back.
It was 1966. Surely thirty years after, we became much differently, quite? Finally
more than production and dataprocessing specialist gone and and, according to
Dreyfus, outstanding Marvin Minsky came had intended:
... one solve into production the problem for creating artificial intelligence
remarkably.
The translation actually did not show a discovery of the section of the time by
computers. Computers remain with context, with which desambiguisation lousy, jokes,
with which intention, which soundness, very much, which to set we call each " entering
" the last tests, which execute the human effortlessly, are not possibly for a computer.
Accurate machine translation, as the remainder of the strong objections of AI of the
sixties, is in the toilet.
Even could not the best program of AI include/understand, as, if the pencil reader
horn CO-Eds of the phase and the XXX of I of the years of the bright delightful
Adoleszenz of evil are by the way in mine narratiffluss, it without adviser: I really do not
speak about the applicable people, which deleted their clothes.
, reading this last paragraph, a AI would afterwards be there to intend if the bright
pictures expect us at the other end of these left? I was very much surprised.
And to say uselessly do not use the manufacturers of censorware the last and
larger technology of AI. They use modules of sweeping the keyword, probably those,
which were written them. These programs do not stop a probability. Majority of the
programmers in the commercial interlock of the place of the work few interest in the
forty years of the work of the artificial intelligence, which preceded it; they, like the
majority of the people, assume that the simple guidelines are enough. If a Web PAGE
contains the word " porn " fifty times
**time-out** ** time out ** ** time out ** porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of
porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of
porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of porn of
porn of porn

then it must be safe pornographic. This simple employs the analysis leads to the
collapse after collapse. If they are not the chests of the chicken or cancer of the center,
the following blocked thing is check of the conscientiousness of the center or a certain
weak article of Redbook, which checks exactly to mention the in the middle of the
author of the time too much.

It is time for companies of censorware to form a clean center of it to strike and for
center to open the problem (although they do not need, their in the middle). Excluded
on the asterisk journey the computers are never enough intelligent, webpages as to be
displayed we.
And, if you liked to see the proof of this, interlock here. It maintains completely. We
took this Web PAGE even and executed it by a compiler/translator of the point of the
texts of the nineties. We translated it by German and French, and again in English
therefore can you it read - and a volatile view in the " spirit " of the computer take. The
spirit can ausgebritten to become; see for, if the flesh is weak!

The quotation of Dreyfus is 1979 to access and the output, pp. rudders 91-93. The
emphase is meins.

AI ADVANTAGE AND DISADVANYAGE


ADVANTAGE:Realism
The most realistic AI is clearly the entity based AI. In the real world every living creature only
acts based on its perception of the world and its prior knowledge and experience. Globally based
AI breaks this rule by controlling each creature based on information that the creature could not
have had itself.

Strategy and cooperation


When a human player plays a game in which a high number of units is controlled then these
units might be said to be controlled using a collective (non-artificial) intelligence. The player
gives each unit orders according to some global strategy. The human player therefore acts as a
globally based AI (without being artificial, of course).
This situation occurs in various war games. This includes stylized war games such as chess.
Nobody would claim that a chess player lets each piece act on its own, independent from all
other pieces. The same argument applies real time strategy games. Imagine, for instance, that the
computer-controlled units in Command & Conquer should be able to determine its actions
autonomously. The resulting strategy would be much weaker, although more realistic. If
Command & Conquer had done that then we would have to require the same of the human
player. This could have been accomplished by representing the human player as a single unit
and letting that unit give orders to all units nearby.
According to [Woodcock] developers has been working with schemes such as the one described
above, but ditched them again because the resulting units sometimes did not do as intended by
the player. The developers thought that this situation was realistic but not one players would
think was fun. Personally, I do not think that such a scheme inherently is not fun to play. It just
requires that it is implemented in a way that players can easily understand and relate to.
In general, a collective AI is much better (and more efficient) at providing strategy and unit
cooperation than an autonomous AI.

Cheating
A collective AI is strictly speaking cheating. Imagine, for instance, that a party of adventurers in
a fantasy world is captured and is thrown into the prison of a great castle. By using information
given by the captured party the rescuers - being part of the collective AI - are able to locate the
prisoners automatically - simply because they have collective knowledge. Unless some
communication link is maintained, this is unrealistic and can be considered cheating.

Complexity
In general an AI is written to handle very specific situations in a game. A collective AI attempts
to encompass all strategy within one single logical unit in the game. This logical unit often gets
very complicated and a hassle to maintain and enhance.
An autonomous AI on the other hand uses more simple specifications. Each unit in the game is
told how to act in various situations. This means that new units can be added without changing
the AI of the other units. This goes very well with the general principles of object oriented
programming.
The story board is going to take an object oriented approach to authoring which implies that a
autonomous AI would be simple and understandable for story board writers. The story board
writer could simply add a new unit (possibly different from all other units) and it would be able
to interact with all other units already present in the world.
The idea of the autonomous AI is that each unit in itself should be fairly simple (compared to
the collective AI) and that the resulting AI of the game becomes more than its components. This
principle is used in many areas. For instance, the rules of Life is very simple, but when viewed
in a simulator the collective life forms seem to contain a higher level of intelligence than that
coded into each single cell.
The back side of the coin is that an autonomous AI sometimes result in sum of its components
that is undesired. This can be hard to foresee at design time. In case we say that the AI goes bad.

DISADVANTAGE:

It is not very good a making game wide strategies and unit cooperation compared to the
globally based AI (The games employing a good strategy and unit cooperation is not
strictly realistic, though).
It is often computationally more inefficient than the globally based AI.
The summation of many may entities may have unwanted side effect unforeseeable at
design time.

I believe that realism and ease of use by the story board writer weighs much heavier than
making strong game with strategic decisions. After all, Role Maker is a CRPG, not a
strategy game. We have previously stated that Role Maker should allow tactical combat and
one could argue that disfavoring strategy is a contradiction to this goal. One should
remember, though, that tactical combat is different from large-scale battles. Often every unit
in tactical combat has a clear view of the entire fight and therefore is without need of largescale strategic knowledge to fight efficiently.
In conclusion, we will require that Role Maker uses an entity based AI. We will require that
each active entity is controlled either by a player or by its own independent AI.
The problem that entity AIs use more computational power can be handled various ways as
already discussed in section 3.6. Active entities can be given different priority ratings resulting
in varying requirement in processing power. The situation can be improved further on a network
because it here is possible to let maps (a thereby active entities) migrate from node to node for
optimal efficiency.

A consequence of the decision to use an entity based AI is that the concept of encounters has no
real meaning. Encounters are simply represented implicitly by the fact that other active entities
and objects exist in the game world. When (or if) the player characters meet these active entities
or objects an encounter implicitly occurs.
Requirement: Role Maker must use an entity based AI. Each active entity is only allowed to act
based on information given by the rule system writer - usually only elements such as
knowledge, personality and external stimuli.
Limitation: Encounters should not be represented directly in the game.

FUTURE OF AI TECHNOLOGY
People often complain that AI is not developing as well as expected. They say, "Progress was
quick in the early years of AI, but now it is not growing so fast." I find this funny, because
people have been saying the same thing as long as I can remember. In fact we are still rapidly
developing new useful systems for recognizing patterns and for supervising processes.
Furthermore, modern hardware is so fast and reliable that we can employ almost any programs
we can create. Good new systems appear every year, for different "expert" applications.
However, progress has been slow in other areas, for example, in the field of understanding
natural language. This is because our computers have no access to the meanings of most
ordinary words and phrases. To see the problem, consider a word like "string" or "rope." No
computer today has any way to understand what those things mean. For example, you can pull
something with a string, but you cannot push anything. You can tie a package with string, or fly
a kite, but you cannot eat a string or make it into a balloon. In a few minutes, any young child
could tell you a hundred ways to use a string -- or not to use a string -- but no computer knows
any of this. The same is true for ten thousand other common words. Every expert must know
such things.
This is why our "expert systems" cannot communicate. We have programs to play chess, and
programs to recognize characters. But no chess program can read text, and no OCR system can
play chess. It is almost impossible today to get any two different programs to cooperate. I think
that this is because we have not yet developed any systems that can use "common sense." This
involves several different kinds of problems. Once we solve them, we will all benefit from the
great AI systems of the future.
The first problem of common sense is how to build up that "commonsense knowledge-base." It
will have to contain information about strings, roads, tools, energy, books, houses, clothing -- all
the knowledge that most children know. This will be hard because much of that knowledge is so
"obvious" that people don't need to have words for them. Also, our future commonsense
systems will need to understand the "functions" or "uses" of all those things because, to solve
real problems, our machine must know which tools or ideas are useful for each kind of purpose.
This also means that those knowledge-machines will need to know a lot about human
psychology, to understand what kinds of solutions are acceptable. Some research is already
under way in this area. One such project is at CM in the United States, and there are other
attempts in Japan. Generally, there is so little research in this area that the best applications of
AI are still waiting.
Another problem is that you cannot put knowledge into a computer until you find a way to
"represent" that knowledge. Technically speaking, for each fragment of knowledge we must first
choose some sort of "data-structure" or other way to build the knowledge into memory. It is here
that I believe the Computer Science community has used good reasons to make bad decisions!
Everywhere I go I find people arguing about which representation to use. One person says, "It is
best to use Logic." The next person says, "No, logic is too inflexible. Use Neural Networks."
The third person says, "No, Neural Nets are even less flexible, because you have to reduce
everything to mere numbers. Instead, you should use Semantic Networks. Then, the different
kinds of things can be linked by concepts instead of mere numbers!" But then the first person

might complain, "No, Semantic Nets are too arbitrary and undefined. If you use Formal Logic,
that will remove those ambiguities."

What is the answer? My opinion is that we can make versatile AI machines only by using
several different kinds of representations in the same system! This is because no single method
works well for all problems; each is good for certain tasks but not for others. Also different
kinds of problems need different kinds of reasoning. For example, much of the reasoning used in
computer programming can be logic-based. However, most real-world problems need methods
that are better at matching patterns and constructing analogies, making decisions based on
previous experience with examples, or using types of explanations that have worked well on
similar problems in the past. How can we encourage people to make systems that use multiple
methods for representing and reasoning? First we'll have to change some present-day ideas. For
example, many students like to ask, "Is it better to represent knowledge with Neural Nets,
Logical Deduction, Semantic Networks, Frames, Scripts, Rule-Based Systems or Natural
Language?" My teaching method is to try to get them to ask a different kind of question. "First
decide what kinds of reasoning might be best for each different kind of problem -- and then find
out which combination of representations might work well in each case." A trick that might help
them to start doing this is to begin by asking, for each problem, "How many different factors are
involved, and how much influence does each factor have?" This leads to a sort of "theorymatrix."
When there only a few causes, each with small effects, the problem will be trivial.
When there are many causes, each with a small effect, then statistical methods and neural
networks may work well.
But when we have only a few large-effect causes, that might be a good domain for logical and
symbolic problems.
Then, between those extremes, we may be able to reason by using semantic network. Or we
might be able to recognize the important patterns by using techniques like Toshiba's multiple
similarity methods, or other ways to discover which combinations of features are the most
important ones, when there are too many possibilities to explore them all.
When there too many causes with large effects, problems tend to become intractable. Yet even
when that happens, we may be able to find useful solutions by using learning and analogy.
In the field of theoretical physics, the researchers have a well- founded hope to discover a
"theory of everything" that has some simple and elegant form -- like one of those "unified"
theories. However, AI faces an "everything" that includes much more than the physicists face.
Because of this, we cannot expect always to simplify and unify our knowledge. Instead, we shall
have to learn how to combine and organize our ever-growing theories -- and we ought to
undertake that adventure with a positive view. Instead of envying the physicists, we could
recognize that ours is a harder and, ultimately, an even deeper and more interesting problem.
Our job is to find out how to make "unified theories" about how to combine non- unified
theories.

AI ACTIVITY IN INDIA
Work in Artificial Intelligence began in India in the early 1980's. The Management Information
Systems (MIS) Group at the Indian Institute of Management, Calcutta has been actively
involved in Artificial Intelligence (AI) research since the early 1980s. The AI work in India got
a significant boost with the UNDP funded Knowledge Based Computing Systems (KBCS)
project. This project started in November 1986 with a view to building institutional
infrastructure, keeping abreast of the state-of-the-art technology, training scientific manpower
and undertaking R&D in certain specific socio-economic areas that are amenable to this
technology. The major centres of the KBCS project were:

Tata Institute of Fundamental Research, Mumbai


National Centre for Software Technology (now Centre for Development of Advanced
Computing), Mumbai
Centre for Development of Advanced Computing, Pune
Indian Statistical Institute, Kolkata
Indian Institute of Technology, Chennai
Indian Institute of Science, Bangalore
Department of Electronics (now Department of Information Technology), Govt of India

The project has been highly successful in spreading research and application of different
techniques of Artificial Intelligence to not only most Universities and research institutes in
India but also across large sections of India's very successful software industry.

REFERENCE
Artificial intelligence

Rich and Knight


www.amazon.com/exec/obidos/ tg/detail
www.csee.usf.edu
accounting.rutgers.edu
www.ai-depto.com

Вам также может понравиться