IT-833 Artificial Intelligence

advertisement
PAGE
NO.
INDEX
SYLLABUS
2
Unit IV
1.Game playing techniques
1.1.Mini max procedure
2. Alpha-beta cut-offs
3. Planning
4. Study of the block world problem in robotics
5. Introduction to understanding and
natural languages
processing
Unit V
6. Introduction to learning
7. Various techniques used in learning
8. Introduction to neural networks
9. Applications of neural networks
9.1. Real-life applications
9.2.Neural networks and neuroscience
10. Common sense
11. Reasoning
12. Some example of expert systems
12.1. Advantages
12.2. Disadvantages
REFERENCES
Page 1
3
3
5
6
7
9
11
11
11
17
17
17
18
19
20
20
21
21
23
IT 833 Artificial Intelligence
Branch : Information Technology, VIII Semester
Course: Artificial Intelligence
Unit I: Meaning and definition of artificial intelligence, Various types of
production systems,
Characteristics of production systems, Study and comparison of breadth first
search and depth first
search. Techniques, other Search Techniques like hill Climbing, Best first Search.
A* algorithm,
AO* algorithms etc, and various types of control strategies.
Unit II: Knowledge Representation, Problems in representing knowledge,
knowledge
representation using propositional and predicate logic, comparison of propositional
and predicate
logic, Resolution, refutation, deduction, theorem proving, inferencing, monotonic
and nonmonotonic
reasoning.
Unit III: Probabilistic reasoning, Baye's theorem, semantic networks, scripts,
schemas, frames,
conceptual dependency, fuzzy logic, forward and backward reasoning.
Unit IV: Game playing techniques like minimax procedure, alpha-beta cut-offs
etc, planning, Study
of the block world problem in robotics, Introduction to understanding and natural
languages
processing.
Unit V: Introduction to learning, Various techniques used in learning, introduction
to neural networks, applications of neural networks, common sense, reasoning,
some example of expert systems.
Page 2
Unit IV
1. Game playing techniques
Game playing has been a major topic of AI since the very beginning. Beside the
attraction of the topic to people, it is also because its close relation to
"intelligence", and its well-defined states and rules.
The most common used AI technique in game is search. In some other problemsolving activities, state change is solely caused by the action of the system itself.
However, in multi-player games, states also depend on the actions of other players
(systems) who usually have different goals.
A special situation that has been studied most is two-person zero-sum game, where
the two players have exactly opposite goals, that is, each state can be evaluated by
a score from one player's viewpoint, and the other's viewpoint is exactly the
opposite. This type of game is common, and easy to analyze, though not all
competitions are zero-sum!
There are perfect information games (such as Chess and Go) and imperfect
information games (such as Bridge and games where dice are used). Given
sufficient time and space, usually an optimum solution can be obtained for the
former by exhaustive search, though not for the latter. However, for most
interesting games, such a solution is usually too inefficient to be practically used.
2. Mini max procedure
Minimax is a decision rule used in decision theory, game theory, statistics and
philosophy for minimizing the possible loss for a worst case (maximum loss)
scenario. Originally formulated for two-player zero-sum game theory, covering
both the cases where players take alternate moves and those where they make
simultaneous moves, it has also been extended to more complex games and to
general decision making in the presence of uncertainty.
For two-person zero-sum perfect-information game, if the two players take turn to
move, the minimax procedure can solve the problem given sufficient
computational resources. This algorithm assumes each player takes the best move
Page 3
in each step. First, we distinguish two types of nodes, MAX and MIN, in the state
graph, determined by the depth of the search tree.
Minimax procedure: starting from the leaves of the tree (with final scores with
respect to one player, MAX), and go backwards towards the root (the starting
state). At each step, one player (MAX) takes the action that leads to the highest
score, while the other player (MIN) takes the action that leads to the lowest score.
All nodes in the tree will all be scored, and the path from root to the actual result is
the one on which all nodes have the same score.
Example:
Because of computational resources limitation, the search depth is usually
restricted, and estimated scores generated by a heuristic function are used in place
of the actual score in the above procedure.
Example: Tic-tac-toe, with the difference of possible win paths as the henristic
function.
Page 4
3. Alpha-beta cut-offs
Alpha–beta pruning is a search algorithm that seeks to decrease the number of
nodes that are evaluated by the minimax algorithm in its search tree. It is an
adversarial search algorithm used commonly for machine playing of two-player
games (Tic-tac-toe, Chess, Go, etc.). It stops completely evaluating a move when
at least one possibility has been found that proves the move to be worse than a
previously examined move. Such moves need not be evaluated further. When
applied to a standard minimax tree, it returns the same move as minimax would,
but prunes away branches that cannot possibly influence the final decision.
In Alpha-Beta Pruning, each MAX node has an alpha value, which never
decreases; each MIN node has a beta value, which never increases. These values
are set and updated when the value of a child is obtained. Search is depth-first, and
stops at any MIN node whose beta value is smaller than or equal to the alpha value
of its parent, as well as at any MAX node whose alpha value is greater than or
equal to the beta value of its parent.
Page 5
Examples: in the following partial trees, the other children of node (5) do not need
to be generated.
(1)MAX[>=3] ----- (2)MIN[==3] ----- (3)MAX[==5]
|
|------------ (4)MAX[==3]
|
|------------ (5)MIN[<=0] ----- (6)MAX[==0]
|-----------X
|-----------X
(1)MIN[<=5] ----- (2)MAX[==5] ----- (3)MIN[==5]
|
|------------ (4)MIN[==3]
|
|------------ (5)MAX[>=8] ----- (6)MIN[==8]
|-----------X
|-----------X
This method is used in a Prolog program that plays Tic-tac-toe.
4. Planning
The planning problem in Artificial Intelligence is about the decision making
performed by intelligent creatures like robots, humans, or computer programs
when trying to achieve some goal. It involves choosing a sequence of actions that
will (with a high likelihood) transform the state of the world, step by step, so that it
will satisfy the goal. The world is typically viewed to consist of atomic facts (state
variables), and actions make some facts true and some facts false. In the following
we discuss a number of ways of formalizing planning, and show how the planning
problem can be solved automatically.
We will only focus on the simplest AI planning problem, characterized by the
restriction to one agent in a deterministic environment that can be fully observed.
More complex forms of planning can be formalized e.g. in the framework of
Marvov decision processes, with uncertainty about the effects of actions and
therefore without the possibility to predict the results of a plan with certainty.
The most basic planning problem is one instance of the general s-t reachability
problem for succinctly represented transition graphs, which has other important
applications in Computer Aided Verification (reachability analysis, modelPage 6
checking), Intelligent Control, discrete event-systems diagnosis, and so on. All of
the methods described below are equally applicable to all of these other problems
as well, and many of these methods were initially developed and applied in the
context of these other problems.
5. Study of the block world problem in robotics
Many areas of Computer Science use simple, abstract domains for both analytical
and empirical studies. For example, an early AI study of planning and robotics
(STRIPS) used a block world in which a robot arm performed tasks involving the
manipulation
of
blocks.
In this problem you will model a simple block world under certain rules and
constraints. Rather than determine how to achieve a specified state, you will
"program" a robotic arm to respond to a limited set of commands.
The problem is to parse a series of commands that instruct a robot arm in how to
manipulate blocks that lie on a flat table. Initially there are n blocks on the table
(numbered from 0 to n-1) with block bi adjacent to block bi+1 for all 0 <= i < n-1
as shown in the diagram below:
The valid commands for the robot arm that manipulates blocks are:
b
move
a
onto
where a and b are block numbers, puts block a onto block b after returning any
blocks that are stacked on top of blocks a and b to their initial positions.
move
a
over
b
where a and b are block numbers, puts block a onto the top of the stack containing
block b, after returning any blocks that are stacked on top of block a to their initial
positions.
pile
a
onto
b
where a and b are block numbers, moves the pile of blocks consisting of block a,
Page 7
and any blocks that are stacked above block a, onto block b. All blocks on top of
block b are moved to their initial positions prior to the pile taking place. The
blocks stacked above block a retain their order when moved.
pile
a
over
b
where a and b are block numbers, puts the pile of blocks consisting of block a, and
any blocks that are stacked above block a, onto the top of the stack containing
block b. The blocks stacked above block a retain their original order when moved.
quit
terminates manipulations in the block world.
Any command in which a = b or in which a and b are in the same stack of blocks is
an illegal command. All illegal commands should be ignored and should have no
affect on the configuration of blocks.
Input
The input begins with an integer n on a line by itself representing the number of
blocks in the block world. You may assume that 0 < n < 25.
The number of blocks is followed by a sequence of block commands, one
command per line. Your program should process all commands until the quit
command
is
encountered.
You may assume that all commands will be of the form specified above. There will
be no syntactically incorrect commands.
Output
The output should consist of the final state of the blocks world. Each original block
position numbered i ( 0 <= i < n where n is the number of blocks) should appear
followed immediately by a colon. If there is at least a block on it, the colon must be
followed by one space, followed by a list of blocks that appear stacked in that
position with each block number separated from other block numbers by a space.
Don't
put
any
trailing
spaces
on
a
line.
There should be one line of output for each block position (i.e., n lines of output
where n is the integer on the first line of input).
Page 8
Sample Input
10
move 9 onto 1
move 8 over 1
move 7 over 1
move 6 over 1
pile 8 over 6
pile 8 over 5
move 2 over 1
move 4 over 9
quit
Sample Output
0: 0
1: 1 9 2 4
2:
3: 3
4:
5: 5 8 7 6
6:
7:
8:
9:
6. Introduction to understanding and natural languages
processing
Natural language understanding is a subtopic of natural language processing in
artificial intelligence that deals with machine reading comprehension.
The process of disassembling and parsing input is more complex than the reverse
process of assembling output in natural language generation because of the
occurrence of unknown and unexpected features in the input and the need to
determine the appropriate syntactic and semantic schemes to apply to it, factors
which are pre-determined when outputting language.[dubious – discuss]
Page 9
There is considerable commercial interest in the field because of its application to
news-gathering, text categorization, voice-activation, archiving and large-scale
content-analysis.
The umbrella term "natural language understanding" can be applied to a diverse set
of computer applications, ranging from small, relatively simple tasks such as short
commands issued to robots, to highly complex endeavors such as the full
comprehension of newspaper articles or poetry passages. Many real world
applications fall between the two extremes, for instance text classification for the
automatic analysis of emails and their routing to a suitable department in a
corporation does not require in depth understanding of the text, but is far more
complex than the management of simple queries to database tables with fixed
schemata
Page
10
Unit V
1.
Introduction to learning
Learning can be described as normally a relatively permanent change that occurs
in behavior as a result of experience. Learning occurs in various regimes. For
example, it is possible to learn to open a lock as a result of trial and error;
possible to learn how to use a word processor as a result of following particular
instructions.
Once the internal model of what ought to happen is set, it is possible to learn by
practicing the skill until the performance converges on the desired model. One
begins by paying attention to what needs to be done, but with more practice, one
will need to monitor only the trickier parts of the performance.
Automatic performance of some skills by the brain points out that the brain is
capable of doing things in parallel i.e. one part is devoted to the skill whilst
another part mediates conscious experience.
There's no decisive definition of learning but here are some that do justice:
· "Learning denotes changes in a system that ... enables a system to do the
same task more efficiently the next time." --Herbert Simon
· "Learning is constructing or modifying representations of what is being
experienced." --Ryszard Michalski
· "Learning is making useful changes in our minds." --Marvin Minsky
2. Various techniques used in learning
The following components are part of any learning problem:
Task :-The behavior or task that is being improved
Data :- The experiences that are used to improve performance in the task
measure of improvement, How the improvement is measured - for example, new
skills that were not present initially, increasing accuracy in prediction, or improved
speed , Consider the agent internals of Figure .1.
Page
11
Figure 1.: Offline and online decomposition of an agent
The problem of learning is to take in prior knowledge and data (e.g., about the
experiences of the agent) and to create an internal representation (the knowledge
base) that is used by the agent as it acts. This internal representation could be the
raw experiences themselves, but it is typically a compact representation that
summarizes the data. The problem of inferring an internal representation based on
examples is often called induction and can be contrasted with deduction, which is
deriving consequences of a knowledge base, and abduction(Abduction is a form
of reasoning where assumptions are made to explain observations. For
example, if an agent were to observe that some light was not working, it can
hypothesize what is happening in the world to explain why the light was not
working. An intelligent tutoring system could try to explain why a student
gives some answer in terms of what the student understands and does not
understand.), which is hypothesizing what may be true about a particular case.
There are two principles that are at odds in choosing a representation scheme:


The richer the representation scheme, the more useful it is for subsequent
problems solving. For an agent to learn a way to solve a problem, the
representation must be rich enough to express a way to solve the problem.
The richer the representation, the more difficult it is to learn. A very rich
representation is difficult to learn because it requires a great deal of data, and
often many different hypotheses are consistent with the data.
Page
12
The representations required for intelligence are a compromise between many
desiderata (see Section 2).
Figure 2: The role of representations in solving problems
The ability to learn the representation is one of them, but it is not the only one.
Learning techniques face the following issues:
Task
Virtually any task for which an agent can get data or experiences can be
learned. The most commonly studied learning task is supervised learning:
given some input features, some target features, and a set of training
examples where the input features and the target features are specified,
predict the target features of a new example for which the input features are
given. This is called classification when the target variables are discrete and
regression when the target features are continuous.
Other learning tasks include learning classifications when the examples are
not already classified (unsupervised learning), learning what to do based on
rewards and punishments (reinforcement learning), learning to reason faster
(analytic learning), and learning richer representations such as logic
programs (inductive logic programming) or Bayesian networks.
Page
13
Feedback
Learning tasks can be characterized by the feedback given to the learner. In
supervised learning, what has to be learned is specified for each example.
Supervised classification occurs when a trainer provides the classification
for each example. Supervised learning of actions occurs when the agent is
given immediate feedback about the value of each action. Unsupervised
learning occurs when no classifications are given and the learner must
discover categories and regularities in the data. Feedback often falls between
these extremes, such as in reinforcement learning, where the feedback in
terms of rewards and punishments occurs after a sequence of actions. This
leads to the credit-assignment problem of determining which actions were
responsible for the rewards or punishments. For example, a user could give
rewards to the delivery robot without telling it exactly what it is being
rewarded for. The robot then must either learn what it is being rewarded for
or learn which actions are preferred in which situations. It is possible that it
can learn what actions to perform without actually determining which
consequences of the actions are responsible for rewards.
Representation
For an agent to use its experiences, the experiences must affect the agent's
internal representation. Much of machine learning is studied in the context
of particular representations (e.g., decision trees, neural networks, or case
bases). This chapter presents some standard representations to show the
common features behind learning.
Online and offline
In offline learning, all of the training examples are available to an agent
before it needs to act. In online learning, training examples arrive as the
agent is acting. An agent that learns online requires some representation of
its previously seen examples before it has seen all of its examples. As new
examples are observed, the agent must update its representation. Typically,
an agent never sees all of its examples. Active learning is a form of online
learning in which the agent acts to acquire useful examples from which to
learn. In active learning, the agent reasons about which examples would be
useful to learn from and acts to collect these examples.
Page
14
Measuring success
Learning is defined in terms of improving performance based on some
measure. To know whether an agent has learned, we must define a measure
of success. The measure is usually not how well the agent performs on the
training experiences, but how well the agent performs for new experiences.
In classification, being able to correctly classify all training examples is not
the problem. For example, consider the problem of predicting a Boolean
feature based on a set of examples. Suppose that there were two agents P
and N. Agent P claims that all of the negative examples seen were the only
negative examples and that every other instance is positive. Agent N claims
that the positive examples in the training set were the only positive examples
and that every other instance is negative. Both of these agents correctly
classify every example in the training set but disagree on every other
example. Success in learning should not be judged on correctly classifying
the training set but on being able to correctly classify unseen examples.
Thus, the learner must generalize: go beyond the specific given examples to
classify unseen examples.
A standard way to measure success is to divide the examples into a training
set and a test set. A representation is built using the training set, and then the
predictive accuracy is measured on the test set. Of course, this is only an
approximation of what is wanted; the real measure is its performance on
some future task.
Bias
The tendency to prefer one hypothesis over another is called a bias.
Consider the agents N and P defined earlier. Saying that a hypothesis is
better than N's or P's hypothesis is not something that is obtained from the
data - both N and P accurately predict all of the data given - but is something
external to the data. Without a bias, an agent will not be able to make any
predictions on unseen examples. The hypotheses adopted by P and N
disagree on all further examples, and, if a learning agent cannot choose some
hypotheses as better, the agent will not be able to resolve this disagreement.
To have any inductive process make predictions on unseen data, an agent
requires a bias. What constitutes a good bias is an empirical question about
which biases work best in practice; we do not imagine that either P's or N's
biases work well in practice.
Page
15
Learning as search
Given a representation and a bias, the problem of learning can be reduced to
one of search. Learning is a search through the space of possible
representations, trying to find the representation or representations that best
fits the data given the bias. Unfortunately, the search spaces are typically
prohibitively large for systematic search, except for the simplest of
examples. Nearly all of the search techniques used in machine learning can
be seen as forms of local search through a space of representations. The
definition of the learning algorithm then becomes one of defining the search
space, the evaluation function, and the search method.
Noise
In most real-world situations, the data are not perfect. Noise exists in the
data (some of the features have been assigned the wrong value), there are
inadequate features (the features given do not predict the classification), and
often there are examples with missing features. One of the important
properties of a learning algorithm is its ability to handle noisy data in all of
its forms.
Interpolation and extrapolation
For cases in which there is a natural interpretation of "between," such as
where the prediction is about time or space, interpolation involves making a
prediction between cases for which there are data. Extrapolation involves
making a prediction that goes beyond the seen examples. Extrapolation is
usually much more inaccurate than interpolation. For example, in ancient
astronomy, the Ptolemaic system and heliocentric system of Copernicus
made detailed models of the movement of solar system in terms of epicycles
(cycles within cycles). The parameters for the models could be made to fit
the data very well and they were very good at interpolation; however, the
models were very poor at extrapolation. As another example, it is often easy
to predict a stock price on a certain day given data about the prices on the
days before and the days after that day. It is very difficult to predict the price
that a stock will be tomorrow, and it would be very profitable to be able to
do so. An agent must be careful if its test cases mostly involve interpolating
between data points, but the learned model is used for extrapolation.
Page
16
3. Introduction to neural networks
Artificial Intelligence has had its fair share from the field of neuroscience.
Neuroscience is the study of nervous system, particularly the brain. How the brain
enables human beings to think has remained a mystery until the present day. But
significant leaps and bounds in the field have enabled scientists to come close to
the nature of thought processes inside a brain.
Neural Network research has gone through a number of these lulls, as new
methods have been created have shown brief promise, have been over-promoted,
and have suffered from some setback. However scientists have always come back
to the technology because it is a real attempt to model neural mechanisms despite
the hype.
Neural Networks can be loosely separated into Neural Models, Network Models
and Learning Rules. the earliest mathematical models of the Neuron pre-date
Mcullock and Pitts who developed the first Network models to explain how the
signals passed from one neuron to another within the network. When you hear of a
network being described as a feed forward or feedback network, they are
describing how the network connects neurons in one layer to neurons in the next.
Weiners work allowed Mculloch and Pitts to describe how these different
connection types would affect the operation of the network.
4. Applications of neural networks
The utility of artificial neural network models lies in the fact that they can be used
to infer a function from observations. This is particularly useful in applications
where the complexity of the data or task makes the design of such a function by
hand impractical.
a). Real-life applications
The tasks artificial neural networks are applied to tend to fall within the following
broad categories:

Function approximation, or regression analysis, including time series
prediction, fitness approximation and modeling.
Page
17




Classification, including pattern and sequence recognition, novelty detection
and sequential decision making.
Data processing, including filtering, clustering, blind source separation and
compression.
Robotics, including directing manipulators, prosthesis.
Control, including Computer numerical control.
Application areas include the system identification and control (vehicle control,
process control, natural resources management), quantum chemistry,[41] gameplaying and decision making (backgammon, chess, poker), pattern recognition
(radar systems, face identification, object recognition and more), sequence
recognition (gesture, speech, handwritten text recognition), medical diagnosis,
financial applications (e.g. automated trading systems), data mining (or knowledge
discovery in databases, "KDD"), visualization and e-mail spam filtering.
Artificial neural networks have also been used to diagnose several cancers. An
ANN based hybrid lung cancer detection system named HLND improves the
accuracy of diagnosis and the speed of lung cancer radiology.[42] These networks
have also been used to diagnose prostate cancer. The diagnoses can be used to
make specific models taken from a large group of patients compared to
information of one given patient. The models do not depend on assumptions about
correlations of different variables. Colorectal cancer has also been predicted using
the neural networks. Neural networks could predict the outcome for a patient with
colorectal cancer with more accuracy than the current clinical methods. After
training, the networks could predict multiple patient outcomes from unrelated
institutions.[43]
b). Neural networks and neuroscience
Theoretical and computational neuroscience is the field concerned with the
theoretical analysis and the computational modeling of biological neural systems.
Since neural systems are intimately related to cognitive processes and behavior, the
field is closely related to cognitive and behavioral modeling.
The aim of the field is to create models of biological neural systems in order to
understand how biological systems work. To gain this understanding,
neuroscientists strive to make a link between observed biological processes (data),
biologically plausible mechanisms for neural processing and learning (biological
neural network models) and theory (statistical learning theory and information
theory).
Page
18
5. Common sense
In artificial intelligence research, commonsense knowledge is the collection of
facts and information that an ordinary person is expected to know. The
commonsense knowledge problem is the ongoing project in the field of
knowledge representation (a sub-field of artificial intelligence) to create a
commonsense knowledge base: a database containing all the general knowledge
that most people possess, represented in a way that it is available to artificial
intelligence programs that use natural language or make inferences about the
ordinary world. Such a database is a type of ontology of which the most general
are called upper ontologies.
The problem is considered to be among the hardest in all of AI research because
the breadth and detail of commonsense knowledge is enormous. Any task that
requires commonsense knowledge is considered AI-complete: to be done as well as
a human being does it, it requires the machine to appear as intelligent as a human
being. These tasks include machine translation, object recognition, text mining and
many others. To do these tasks perfectly, the machine simply has to know what the
text is talking about or what objects it may be looking at, and this is impossible in
general unless the machine is familiar with all the same concepts that an ordinary
person is familiar with.
Information in a commonsense knowledge base may include, but is not limited to,
the following:













An ontology of classes and individuals
Parts and materials of objects
Properties of objects (such as color and size)
Functions and uses of objects
Locations of objects and layouts of locations
Locations of actions and events
Durations of actions and events
Preconditions of actions and events
Effects (postconditions) of actions and events
Subjects and objects of actions
Behaviors of devices
Stereotypical situations or scripts
Human goals and needs
Page
19




Emotions
Plans and strategies
Story themes
Contexts
6. Reasoning
To reason is to draw inferences appropriate to the situation. Inferences are
classified as either deductive or inductive. An example of the former is, “Fred must
be in either the museum or the café. He is not in the café; therefore he is in the
museum,” and of the latter, “Previous accidents of this sort were caused by
instrument failure; therefore this accident was caused by instrument failure.” The
most significant difference between these forms of reasoning is that in the
deductive case the truth of the premises guarantees the truth of the conclusion,
whereas in the inductive case the truth of the premise lends support to the
conclusion without giving absolute assurance. Inductive reasoning is common in
science, where data are collected and tentative models are developed to describe
and predict future behaviour—until the appearance of anomalous data forces the
model to be revised. Deductive reasoning is common in mathematics and logic,
where elaborate structures of irrefutable theorems are built up from a small set of
basic axioms and rules.
There has been considerable success in programming computers to draw
inferences, especially deductive inferences. However, true reasoning involves more
than just drawing inferences; it involves drawing inferences relevant to the solution
of the particular task or situation.
7.
Some example of expert systems
In artificial intelligence, an expert system is a computer system that emulates the
decision-making ability of a human expert. Expert systems are designed to solve
complex problems by reasoning about knowledge, represented primarily as if–then
rules rather than through conventional procedural code. The first expert systems
were created in the 1970s and then proliferated in the 1980s. Expert systems were
among the first truly successful forms of AI software. An expert system is divided
into two sub-systems: the inference engine and the knowledge base. The
Page
20
knowledge base represents facts and rules. The inference engine applies the rules
to the known facts to deduce new facts. Inference engines can also include
explanation and debugging capabilities.
a). Advantages
The goal of knowledge-based systems is to make the critical information required
for the system to work explicit rather than implicit. In a traditional computer
program the logic is embedded in code that can typically only be reviewed by an
IT specialist. With an expert system the goal was to specify the rules in a format
that was intuitive and easily understood, reviewed, and even edited by domain
experts rather than IT experts. The benefits of this explicit knowledge
representation were rapid development and ease of maintenance.
Ease of maintenance is the most obvious benefit. This was achieved in two ways.
First, by removing the need to write conventional code many of the normal
problems that can be caused by even small changes to a system could be avoided
with expert systems. Essentially, the logical flow of the program (at least at the
highest level) was simply a given for the system, simply invoke the inference
engine. This also was a reason for the second benefit: rapid prototyping. With an
expert system shell it was possible to enter a few rules and have a prototype
developed in days rather than the months or year typically associated with complex
IT projects.
b). Disadvantages
The most common disadvantage cited for expert systems in the academic literature
is the knowledge acquisition problem. Obtaining the time of domain experts for
any software application is always difficult but for expert systems it was especially
difficult because the experts were by definition highly valued and in constant
demand by the organization. As a result of this problem a great deal of research in
the later years of expert systems was focused on tools for knowledge acquisition,
to help automate the process of designing, debugging, and maintaining rules
defined by experts. However, when looking at the life-cycle of expert systems in
actual use other problems seem at least as critical as knowledge acquisition. These
problems were essentially the same as those of any other large system: integration,
access to large databases, and performance.
Page
21
Performance was especially problematic because early expert systems were built
using tools such as Lisp, which executed interpreted rather than compiled code.
Interpreting provided an extremely powerful development environment but with
the drawback that it was virtually impossible to match the efficiency of the fastest
compiled languages of the time, such as C. System and database integration were
difficult for early expert systems because the tools were mostly in languages and
platforms that were neither familiar to nor welcomed in most corporate IT
environments – programming languages such as Lisp and Prolog and hardware
platforms such as Lisp Machines and personal computers. As a result a great deal
of effort in the later stages of expert system tool development was focused on
integration with legacy environments such as COBOL, integration with large
database systems, and porting to more standard platforms. These issues were
resolved primarily by the client-server paradigm shift as PCs were gradually
accepted in the IT world as a legitimate platform for serious business system
development and as affordable minicomputer servers provided the processing
power needed for AI applications.
Page
22
References:1. Rich E and Knight K, “Artificial Intelligence”, TMH, New Delhi.
2. Nelsson N.J., “Principles of Artificial Intelligence”, Springer Verlag,
Berlin.
Page
23
Download