Академический Документы
Профессиональный Документы
Культура Документы
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
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.
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.
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.
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
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.
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.
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!
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.
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
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.
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
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.
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.
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.
Photo of stripped down robot frame with 2 wheels and pneumatic actuator.
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
Massive parallelism
Fault tolerance
Adapting to circumstances
Where can neural network systems help?
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.
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).
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.
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.
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.
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.
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.
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
o
o
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
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
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
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
Boltzmann
Layers (also called levels, fields or slabs)
o Organized into a series of layers
input layer
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.
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
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.
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.
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?
--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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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