Sei sulla pagina 1di 30

• Introduction

• 1.2 Intelligent systems


• 1.3 Knowledge-based systems
• 1.4 Knowledge representation and processing
• 1.5 Soft computing
• Intelligent systems generally have a capacity to acquire and apply
knowledge in an “intelligent” manner and have the capabilities of
perception, reasoning, learning, and making inferences (or
decisions) from incomplete information.
• modelling of these would be a considerably difficult task. In some
situations, even experimental modeling (or model identification) is
not feasible because the required inputs and outputs of the
system are not accessible or measurable.
• Even when modeling is possible, the models could be so complex
that accurate algorithms for decision making (e.g., generation of
control actions) based on these models could considerably
increase the costs of computing and hardware, and seriously
reduce the operating speed, thereby slowing the process and
introducing unacceptable time lags and possibly instabilities
Future generations of industrial machinery,
plants, and decision support systems may be
expected to carry out round-the-clock
operation, with minimal human intervention, in
manufacturing products or providing services systems
maintain consistency and repeatability of
operation and cope with disturbances and unexpected
variations within the system, its operating environment,
and performance objectives.
Machine intelligence
• In the context of machine intelligence, the term machine is normally
used to denote a computer or a computational machine. In this sense
machine intelligence and computational intelligence are synonymous.
Historically machine intelligence, computer intelligence and artificial
intelligence (AI) also have come to mean the same thing. Artificial
intelligence can be defined as the science of making machines do
things that would require intelligence if done by humans.
• According to Marvin Minsky of the Massachusetts Institute of
Technology, “artificial intelligence is the science of making machines
do things that would require intelligence if done by men.” In this
context it is the outward characteristics (outputs) of a computer that
may be termed “intelligent” rather than any similarity of the
computer programs to how a human processes information.
The associated decisionmaking task is an intelligent processing activity, which in
turn may lead to enhancement, refinement, and updating of the knowledge base.
Sensors, actuators, and controllers will be integral components of such a process and will
work cooperatively in making the behavior of the process intelligent
There are four basic components: the knowledge base (or knowledge source),
database, inference engine, and the system interface.
Central to a knowledge-based system is the so-called knowledge base. The knowledge base
contains knowledge and expertise in the specific domain, particularly domain-specific facts
and heuristics useful for solving problems in the domain. The knowledge source is
implemented as an identifiable and separate part of the program. This may be represented
in various forms, and commonly as a set of if-then rules (called productions).
The second basic component is the database, which is primarily a short-term memory. The
database contains the current status of the problem, inference states, and the history of
solutions to date. New information that is generated or arrives from external sources such
as sensors and human interfaces is stored in the database. This data represents the
“context” of the decision-making process.
Typically, this procedure consists of some form of “matching” of the
abstracted data with the knowledge base. In particular, for a knowledge base
K and a set of data or information D on the particular
process, the procedure of arriving at a decision or inference I may be
expressed as
I = M[P(D), K]
in which the “preprocessing operator” P(.) converts the context
information on the process into a form that is compatible with K. Knowledge-
base matching of the preprocessed information is performed using the
matching operation
M[.]. Knowledge-based systems such as rule based systems and fuzzy
decision-making systems in particular follow this model.
1.3.1 Architectures of knowledge-based systems
Three commonly used architectures are:
(1) Production systems
(2) Frame-based systems
(3) Blackboard systems.
In a production system, knowledge is represented by a set of rules (or productions)
stored in the knowledge base.
The operation (processing) of a typical rule based system proceeds as follows:
New data are generated (say, from sensors or external commands) and stored in
appropriate locations within the database of the system.
This is the new context. The inference engine tries to match the new data with the
condition part (i.e., the if part or the antecedent) of the rules in the knowledge base.
This is called rule searching.
If the condition part of a rule matches the data, that rule is “fired,” which generates an
action dictated by the action part (i.e., the then part or the consequent) of the rule. In
fact, firing of a rule amounts to the generation (inference) of new facts, and this in
turn may form a context that will lead to the satisfaction (firing) of other rules.
• For example, a maintenance or troubleshooting manual of a machine (e.g.,
automobile) contains such rules, perhaps in tabular form.
2
1.3.2.1 Reasoning strategies
Two strategies are available to perform
reasoning and make inferences in a
production system:
(1) Forward chaining ( Data driven system)
(2) Backward chaining.( goal driven system)
1.3.2.2 Conflict resolution methods
the context data are matched with the condition parts
of the rules in a rule base, it may be possible that
more than one rule is satisfied. The set of rules that is
satisfied in this manner is termed the conflict set.
Methods of conflict resolution include the following:
(1) First match
(2) Toughest match
(3) Privileged match
(4) Most recent match.
• In the first method, the very first rule that is satisfied
during searching will be fired.
• the second method, the rule with the most condition elements, within the conflict set,
will be fired. For example, suppose that the conflict set has the following two rules:
If the temperature is high then increase the coolant flow rate.
If the temperature is high and the coolant flow rate is maximum, then shut
down the plant.
Here, the toughest match is the second rule.
• The rules in a rule base may be assigned various weightings and priorities depending on
their significance.
The privileged match is the rule with the highest priority, within the conflict set. For
example, a priority may be assigned in proportion to the toughness of the match

• The most recent match is the rule in the conflict set whose condition part
satisfies the most recent entries of data. In this method, a higher priority is
given to more recently arrived data in the database.
Frame-based systems
frame is another arrangement for representing and processing knowledge
in artificial intelligence (AI) applications. Consequently, it can form the basis
of the architecture of a knowledge-based system. A frame is a data structure
developed to represent expectational knowledge,

This schematic frame will have a default label and a standard number
of default sets. Subsequent steps are as follows:
(1) Give a name (label) to the frame.
(2) Name the slots to represent objects contained within the frame.
(3) Open the slots one at a time, and either program the set of action rules or
define the lower-level frames as in Step 2.
(4) Repeat Step 3 as many times as required, depending on the required number
of levels in the hierarchy.
Note that in a hierarchical system of this type, the knowledge and actions
needed at a higher level are generally more “intelligent” than what are needed
at a lower level.
1.3.4 Blackboard systems

A suitable structure for a knowledge-based system would be a blackboard


architecture, which is a cooperative problem-solving architecture. It consists
of a global database called a blackboard,
several intelligent modules called knowledge sources, and a control unit, The main
feature of the blackboard architecture is the common data region (blackboard), which
is shared by and visible to the entire system. In particular, the database is shared by
the knowledge sources.
• The knowledge sources interact with the shared data region under the supervision
of the control unit.
• This architecture is generally fast, and particularly suitable for real-time control
applications.
1.3.4 Blackboard systems
1.3.5 Object-oriented programming
the data structure of one object may be modified without affecting the knowledge
base and the remaining objects of the system. This is different from the traditional
programs written in procedural languages such as FORTRAN, PASCAL, and C.

The architectures of knowledge-based systems provide a modularity that results from


the explicit representation of knowledge as a distinct component of the system, in the
form of a knowledge source. The knowledge source can be built incrementally and is
relatively easy to expand. Each module or object may be developed separately, and
appropriately interconnected, using object-oriented programming, to generate and
implement a very complex logic system, in a convenient manner.

As a result, object oriented extensions such as C++ and CLOS ( common Lisp object
system) to conventional programming languages such as C and LISP have been
developed
1.3.6 Expert systems
Expert systems are a class of production systems, which are typically used in a consultation
mode, and provide an alternative to consulting a human expert. They deal with complex
knowledge for which real expertise is required, and this knowledge is typically acquired
from human experts.
An expert system is defined as a software system with high symbolic and descriptive
information content, which can simulate the performance of a human expert in a specific
field or domain. Since an expert system is a special type of knowledge-based system, it
contains the traditional constituents of the latter such as a knowledge base, a database, an
inference engine, and a human/machine interface,
1.3.6.1 Development of an expert system
The development of an expert system requires the combined effort of domain
experts, who are human experts in the field of interest, and knowledge engineers,
who acquire and represent/program the knowledge in a suitable form.
This process will require a knowledge acquisition facility.

1.3.6.2 Knowledge engineering


“knowledge engineer” gathers the expertise about a particular domain from
one or more experts, and organizes that knowledge into the form required
by the particular expert system tool that is to be used
In summary, the tasks of knowledge engineering include the following:
(1) Acquisition of knowledge that is pertinent, from different sources
(experts, literature, media, etc.)
(2) Interpretation and integration of the knowledge (from various sources
and in different forms)
(3) Representation of the knowledge within the knowledge-based system
(suitable structure, language, etc. have to be chosen. Here, one should
consider aspects of incomplete knowledge, presence of analytical models,
accessibility of system variables for measurement, and availability of past
experience)
(4) Processing of knowledge for making inferences (this operation has to be
compatible with the knowledge base, objectives of the system, etc. Speed
of decision-making is crucial, particularly in real-time applications. The
form of the inferences should be consistent with the system objectives)
(5) System needs and constraints (accuracy, implications of incomplete
knowledge, and cost of an incorrect inference)
(6) Economic considerations (development cost; cost to the user in comparison
to the benefits).
1.4 Knowledge representation and processing

An appropriate representation of knowledge, including intuition and heuristic


knowledge, is central to the development of machine intelligence and of
knowledge-based systems.
In a knowledge-based system two types of knowledge are needed: knowledge of
the problem (problem representation or modeling) and knowledge regarding
methods for solving the problem.
Ways of representing and processing knowledge include:
logic, semantic networks, frames, production systems, and fuzzy logic.

1.4.1 Semantic networks


Semantic networks are useful in the graphical representation and processing
of knowledge.
.
1.4.2 Crisp logic
Logic is a useful technique of representing and processing knowledge, and is
applicable in knowledge-based systems. In logic, knowledge is represented by
statements called propositions, which may be joined together using connectives.
The knowledge may be processed through reasoning, by the application
of various laws of logic including an appropriate rule of inference. We shall
limit our discussion to crisp, binary (i.e., two-valued) logic.

Potrebbero piacerti anche