Vous êtes sur la page 1sur 9

Artificial intelligence

Artificial intelligence (AI), sometimes called machine intelligence,


is intelligence demonstrated by machines, in contrast to the natural
intelligence displayed by humans and other animals. In computer
science AI research is defined as the study of "intelligent agents":
any device that perceives its environment and takes actions that
maximize its chance of successfully achieving its goals.

Applications

Applications in water resources engineering

To predict time series

Trend and variability analysis

Estimation of ground water quality

Reservoir operations

Knowledge Base Expert System


An expert system is a computer program or we can say an application that
can solve complex of the complex problem in a particular domain. It is
designed using the concept of Artificial Intelligence and was first introduced
in the Department of Computer Science, Stanford University. The expert
system can perform at the extraordinary level of human intelligence or
human experts. Basically, the expert system represents the knowledge of the
human expert in the form of heuristic (A heuristic is a mental shortcut that
allows people to solve problems and make judgments quickly and efficiently. These
rule-of-thumb strategies shorten decision-making time and allow people to function
without constantly stopping to think about their next course of action). It can be also
considered as an instance of a decision support system. The knowledge base
and decision rule are the most unique and distinguishing features of an
expert system.

The concept of the expert system is normally based on assumption that an


expert’s knowledge can be stored in computer memory and then applied by
other when needed. An expert system shares knowledge of a human expert
in a specific area of study such as production engineering, genetic
engineering and so on. It is found that the problem-solving capabilities of an
expert system are as good as that of human experts or sometimes even
better than the human experts.

Characteristics of Expert Systems

 High performance

 Understandable

 Reliable

 Highly responsive

Capabilities of Expert Systems


The expert systems are capable of −

 Advising

 Instructing and assisting human in decision making

 Demonstrating

 Deriving a solution

 Diagnosing

 Explaining

 Interpreting input

 Predicting results

 Justifying the conclusion

 Suggesting alternative options to a problem

They are incapable of −


 Substituting human decision makers

 Possessing human capabilities

 Producing accurate output for inadequate knowledge base

 Refining their own knowledge


Components of an expert system :

User

Working memory
User interface

Explanation Facility Inference engine

Knowledge acquisition Knowledge base


facility

Expert

Fig: Schematic View of Expert System Achitecture

User Interface :
It enables the users to enter instruction and information into the
expert system and to receive information from it. The information is in
the form of values assigned to certain variables. The user interface has
two parts –

1. Expert System Input: A user can use method for input command,
natural language and customize the interface.
2. Expert System Output: Expert systems are designed to provide
output or solution for a specific domain.

Knowledge Base:

It contains the fact that describes the problem area and knowledge
representation technique that describes manner. That means the knowledge
base contains a really high-quality and extraordinary knowledge in that
particular domain. The term problem domain is used to describe the problem.
Or basically, we can say that the knowledge base is the set of rules. The
rules in the knowledge base are usually coded in the form- if x, then y where
x is a condition, y is an action to be taken if the condition is true.

These kinds of rules are got from experience of human experts. The
knowledge of human experts is translated into the “if-then” statements. It is a
kind of job i.e. taking the knowledge from the experts and converting them
into such statements. A person who does this job is known as Knowledge
Engineer.

An exceptionally remarkable knowledge is required to model the intelligence


system. Since the whole success of an expert system depends upon the
knowledge that is so accurate and also the bug-free, that is why it is
considered as one of the important components of an expert system.

Components of Knowledge Base


The knowledge base of an ES is a store of both, factual and heuristic
knowledge.

 Factual Knowledge − It is the information widely accepted by the


Knowledge Engineers and scholars in the task domain.

 Heuristic Knowledge − It is about practice, accurate judgement,


one’s ability of evaluation, and guessing.

Inference Engine
Use of efficient procedures and rules by the Inference Engine is essential in deducting a

correct, flawless solution.

In case of knowledge-based ES, the Inference Engine acquires and manipulates the
knowledge from the knowledge base to arrive at a particular solution.

In case of rule based ES, it −

 Applies rules repeatedly to the facts, which are obtained from earlier rule

application.

 Adds new knowledge into the knowledge base if required.

 Resolves rules conflict when multiple rules are applicable to a particular case.

To recommend a solution, the Inference Engine uses the following strategies −


 Forward Chaining

 Backward Chaining

Forward Chaining
It is a strategy of an expert system to answer the question, “What can happen

next?”

Here, the Inference Engine follows the chain of conditions and derivations and finally
deduces the outcome. It considers all the facts and rules, and sorts them before

concluding to a solution.

This strategy is followed for working on conclusion, result, or effect. For example,

prediction of share market status as an effect of changes in interest rates.

Backward Chaining
With this strategy, an expert system finds out the answer to the
question, “Why this happened?”

On the basis of what has already happened, the Inference Engine tries to
find out which conditions could have happened in the past for this result.
This strategy is followed for finding out cause or reason. For example,
diagnosis of blood cancer in humans.
Working memory
Working memory contains the data that is received from the user during the expert
system session. Values in working memory are used to evaluate antecedents in the
knowledge base. Consequences from rules in the knowledge base may create new
values in working memory, update old values, or remove existing values.

Knowledge Acquisition
Knowledge acquisition is the accumulation, transfer and transformation of problem-
solving expertise from experts and/or documented knowledge sources to a computer
program for constructing or expanding the knowledge base. It is a subsystem which
helps experts to build knowledge bases. For knowledge acquisition, techniques used
are protocol analysis, interviews, and observation.

Explanation Facility
It is a subsystem that explains the system's actions. The explanation can range from
how the final or intermediate solutions were arrived at to justifying the need for
additional data. Here user would like to ask the basic questions why and how and
serves as a tutor in sharing the system’s knowledge with the user.

Stages in Expert System Development


There are five major stages in the development· of an expert system. Each stage has its own
unique features and a correlation with other stages.
Identification
Identification is the requirements analysis step carried out in traditional software
development. It involves a formal task analysis to determine the external requirements, form
of the input and output, setting where the program will be used and determines the user (Very
important!). The participants, the problems, the objectives, the resources, the costs and the
time frame need to be clearly identified at this stage.

Conceptualization
The second stage of ES development, conceptualization, involves designing the proposed
program to ensure that specific interactions and relationships in the problem domain are
understood and defined. The key concepts, relationships between objects and processes and
control mechanisms are determined. This is the initial stage of knowledge acquisition. It
involves the specific characterization of the situation and determines the expertise needed for
the solution of problem.

Formalization
Formalization involves organizing the key concepts, subproblems and information
flow into formal representations. In effect, the program logic is designed at this
stage. It is often useful to group or modularize the knowledge collected, perhaps
even attempting to display the problem solving steps graphically.
In effect, it is the job of the knowledge engineers to build a set of interrelated tree
structures for representing the knowledge base. They must decide the attributes to
be determined to solve the problem and then which of these attributes should be
asked of the user or represented by an internal set of decision trees.

Implementation
During the next stage, implementation, the formalized knowledge is mapped or
coded into the framework of the development tool to build a working prototype.
The contents of knowledge structures, inference rules and control strategies
established in the previous stages are organized into suitable format. Often,
knowledge engineers will have been using the program development tool to build a
working prototype to document and organize information collected during the
formalization stage, so that implementation is completed at this point. If not, the
notes from the earlier phases are coded at this time.

Testing and validation


The last stage, testing, involves considerably more than finding and fixing syntax
errors. It covers the verification of individual relationships, validation of program
performance and evaluation of the utility of the software package. Testing guides
reformulation of concepts, redesign of representations and other refinements.
Verification and validation must occur during the entire development process.
Verification proves that the models within the program are true relationships. It
ensures that the knowledge is accurately mimicked by having the domain expert
operate the program for all possible contingencies.

Validation is an ongoing process requiring the output recommendations be


accurate for a specific user's case. Validation is enhanced by allowing others to
review critically and recommend improvements. A formal project evaluation is
helpful to establish whether the system meets the intended original goal. The
evaluation process focuses on uncovering problems with the credibility,
acceptability and utility. This can be determined from the program accuracy that
is determined from comparisons with the real-world environment. Included are
the understanding and flexibility of the program, ease of use, adaptability of the
design and the correctness of solutions.

Vous aimerez peut-être aussi