0% found this document useful (0 votes)
17 views13 pages

Ai Unit5 Notes

An expert system is an AI software that simulates human expertise in specific domains by utilizing a knowledge base and an inference engine to solve problems typically requiring human judgment. It consists of components such as a knowledge base, inference engine, user interface, and explanation module, and employs strategies like forward and backward chaining for reasoning. Expert systems have applications across various fields, including medical diagnosis and software development, but they also face limitations such as lack of human-like decision-making and the need for manual updates.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views13 pages

Ai Unit5 Notes

An expert system is an AI software that simulates human expertise in specific domains by utilizing a knowledge base and an inference engine to solve problems typically requiring human judgment. It consists of components such as a knowledge base, inference engine, user interface, and explanation module, and employs strategies like forward and backward chaining for reasoning. Expert systems have applications across various fields, including medical diagnosis and software development, but they also face limitations such as lack of human-like decision-making and the need for manual updates.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Expert Systems


Artificial Intelligence is a piece of software that simulates the behaviour and
judgement of a human or an organization that has experts in a particular domain is
known as an expert system. It does this by acquiring relevant knowledge from its
knowledge base and interpreting it according to the user’s problem. The data in the
knowledge base is added by humans that are expert in a particular domain and this
software is used by a non-expert user to acquire some information. It is widely
used in many areas such as medical diagnosis, accounting, coding, games etc.
An expert system is AI software that uses knowledge stored in a knowledge base to
solve problems that would usually require a human expert thus preserving a human
expert’s knowledge in its knowledge base. They can advise users as well as
provide explanations to them about how they reached a particular conclusion or
advice. Knowledge Engineering is the term used to define the process of building
an Expert System and its practitioners are called Knowledge Engineers. The
primary role of a knowledge engineer is to make sure that the computer possesses
all the knowledge required to solve a problem. The knowledge engineer must
choose one or more forms in which to represent the required knowledge as a
symbolic pattern in the memory of the computer.
Example : There are many examples of an expert system. Some of them are given
below –
 MYCIN –
One of the earliest expert systems based on backward chaining. It can identify
various bacteria that can cause severe infections and can also recommend drugs
based on the person’s weight.
 DENDRAL –
It was an artificial intelligence-based expert system used for chemical analysis.
It used a substance’s spectrographic data to predict its molecular structure.
 R1/XCON –
It could select specific software to generate a computer system wished by the
user.
 PXDES –
It could easily determine the type and the degree of lung cancer in a patient
based on the data.
 CaDet –
It is a clinical support system that could identify cancer in its early stages in
patients.
 DXplain –
It was also a clinical support system that could suggest a variety of diseases
based on the findings of the doctor.
Components of an Expert System :

Architecture of an Expert System

 Knowledge Base –
The knowledge base represents facts and rules. It consists of knowledge in a
particular domain as well as rules to solve a problem, procedures and intrinsic
data relevant to the domain.
 Inference Engine –
The function of the inference engine is to fetch the relevant knowledge from the
knowledge base, interpret it and to find a solution relevant to the user’s
problem. The inference engine acquires the rules from its knowledge base and
applies them to the known facts to infer new facts. Inference engines can also
include an explanation and debugging abilities.
 Knowledge Acquisition and Learning Module –
The function of this component is to allow the expert system to acquire more
and more knowledge from various sources and store it in the knowledge base.
 User Interface –
This module makes it possible for a non-expert user to interact with the expert
system and find a solution to the problem.
 Explanation Module –
This module helps the expert system to give the user an explanation about how
the expert system reached a particular conclusion.
The Inference Engine generally uses two strategies for acquiring knowledge from
the Knowledge Base, namely –
 Forward Chaining
 Backward Chaining
Forward Chaining –
Forward Chaining is a strategic process used by the Expert System to answer the
questions – What will happen next. This strategy is mostly used for managing tasks
like creating a conclusion, result or effect. Example – prediction or share market
movement status.
Forward Chaining

Backward Chaining –
Backward Chaining is a strategy used by the Expert System to answer the
questions – Why this has happened. This strategy is mostly used to find out the
root cause or reason behind it, considering what has already happened. Example –
diagnosis of stomach pain, blood cancer or dengue, etc.

Backward Chaining

Characteristics of an Expert System :


 Human experts are perishable, but an expert system is permanent.
 It helps to distribute the expertise of a human.
 One expert system may contain knowledge from more than one human experts
thus making the solutions more efficient.
 It decreases the cost of consulting an expert for various domains such as
medical diagnosis.
 They use a knowledge base and inference engine.
 Expert systems can solve complex problems by deducing new facts through
existing facts of knowledge, represented mostly as if-then rules rather than
through conventional procedural code.
 Expert systems were among the first truly successful forms of artificial
intelligence (AI) software.

Limitations :
 Do not have human-like decision-making power.
 Cannot possess human capabilities.
 Cannot produce correct result from less amount of knowledge.
 Requires excessive training.

Advantages :
 Low accessibility cost.
 Fast response.
 Not affected by emotions, unlike humans.
 Low error rate.
 Capable of explaining how they reached a solution.

Disadvantages :
 The expert system has no emotions.
 Common sense is the main issue of the expert system.
 It is developed for a specific domain.
 It needs to be updated manually. It does not learn itself.
 Not capable to explain the logic behind the decision.

Applications :
The application of an expert system can be found in almost all areas of business or
government. They include areas such as –
 Different types of medical diagnosis like internal medicine, blood diseases and
show on.
 Diagnosis of the complex electronic and electromechanical system.
 Diagnosis of a software development project.
 Planning experiment in biology, chemistry and molecular genetics.
 Forecasting crop damage.
 Diagnosis of the diesel-electric locomotive system.
 Identification of chemical compound structure.
 Scheduling of customer order, computer resources and various manufacturing
task.
 Assessment of geologic structure from dip meter logs.
 Assessment of space structure through satellite and robot.
 The design of VLSI system.
 Teaching students specialize task.
Expert systems success factors
 The type of application
 Importance of the system to business strategy
 Early, key, successful development
 Having a champion
 Existence of an information technology strategy
 Quality of domain experts
 Competent knowledge engineers
 Management support
 Overall fit between ES and business strategy
 Organizational culture may also have an effect.
 Assessment of log including civil case evaluation, product liability etc.

Expert systems can be classified into five categories:

Types of Expert Systems in AI


There are several types of Expert Systems used in AI:

1. Rule-Based Expert Systems: These systems use a collection of rules to make decisions. Rules
are created by human experts and guide the system’s reasoning process. An example is Mycin,
an expert system for diagnosing bacterial infections.

2. Frame-Based Expert Systems: Frame-based expert systems use frame representation to


organize knowledge. Frames capture structured information about entities and their attributes,
allowing the system to reason about specific instances. For example, an expert system for car
insurance might use frames to represent different types of coverage and associated costs.

3. Fuzzy Expert Systems: Fuzzy expert systems handle imprecise or uncertain data using fuzzy
logic. This allows the system to reason with degrees of truth rather than binary values. Fuzzy expert
systems are useful in domains where precise measurements are difficult or subjective, such as
weather forecasting or risk assessment.

4. Neural Expert Systems: Neural expert systems utilize neural networks to learn from data through
training processes. Neural networks can recognize patterns and make predictions based on input
data. They are particularly effective in areas such as image recognition and natural language
processing.

5. Neuro-Fuzzy Expert Systems: Neuro-fuzzy expert systems combine elements of fuzzy logic and
neural networks to make decisions based on both numerical and linguistic information. These
systems excel in complex domains where uncertainty and imprecision are prevalent, such as
financial forecasting or traffic management.
Knowledge Engineering in First-order logic

What is knowledge-engineering?
The process of constructing a knowledge-base in first-order logic is called as knowledge-
engineering. In knowledge-engineering, someone who investigates a particular domain, learns
important concept of that domain, and generates a formal representation of the objects, is
known as knowledge engineer.

In this topic, we will understand the Knowledge engineering process in an electronic circuit
domain, which is already familiar. This approach is mainly suitable for creating special-
purpose knowledge base.

The knowledge-engineering process:

Following are some main steps of the knowledge-engineering process. Using these steps, we
will develop a knowledge base which will allow us to reason about digital circuit (One-bit full
adder) which is given below

1. Identify the task:


The first step of the process is to identify the task, and for the digital circuit, there are various
reasoning tasks.

At the first level or highest level, we will examine the functionality of the circuit:

o Does the circuit add properly?


o What will be the output of gate A2, if all the inputs are high?

At the second level, we will examine the circuit structure details such as:

o Which gate is connected to the first input terminal?


o Does the circuit have feedback loops?

2. Assemble the relevant knowledge:


In the second step, we will assemble the relevant knowledge which is required for digital
circuits. So for digital circuits, we have the following required knowledge:

o Logic circuits are made up of wires and gates.


o Signal flows through wires to the input terminal of the gate, and each gate produces the
corresponding output which flows further.
o In this logic circuit, there are four types of gates used: AND, OR, XOR, and NOT.
o All these gates have one output terminal and two input terminals (except NOT gate, it
has one input terminal).

3. Decide on vocabulary:
The next step of the process is to select functions, predicate, and constants to represent the
circuits, terminals, signals, and gates. Firstly we will distinguish the gates from each other and
from other objects. Each gate is represented as an object which is named by a constant, such
as, Gate(X1). The functionality of each gate is determined by its type, which is taken as
constants such as AND, OR, XOR, or NOT. Circuits will be identified by a predicate: Circuit
(C1).

For the terminal, we will use predicate: Terminal(x).

For gate input, we will use the function In(1, X1) for denoting the first input terminal of the
gate, and for output terminal we will use Out (1, X1).

The function Arity(c, i, j) is used to denote that circuit c has i input, j output.

The connectivity between gates can be represented by predicate Connect(Out(1, X1), In(1,
X1)).

We use a unary predicate On (t), which is true if the signal at a terminal is on.

4. Encode general knowledge about the domain:

To encode the general knowledge about the logic circuit, we need some following rules:

o If two terminals are connected then they have the same input signal, it can be
represented as:

1. ∀ t1, t2 Terminal (t1) ∧ Terminal (t2) ∧ Connect (t1, t2) → Signal (t1) = Signal (2).

o Signal at every terminal will have either value 0 or 1, it will be represented as:
1. ∀ t Terminal (t) →Signal (t) = 1 ∨Signal (t) = 0.

o Connect predicates are commutative:

1. ∀ t1, t2 Connect(t1, t2) → Connect (t2, t1).

o Representation of types of gates:

1. ∀ g Gate(g) ∧ r = Type(g) → r = OR ∨r = AND ∨r = XOR ∨r = NOT.

o Output of AND gate will be zero if and only if any of its input is zero.

1. ∀ g Gate(g) ∧ Type(g) = AND →Signal (Out(1, g))= 0 ⇔ ∃n Signal (In(n, g))= 0.

o Output of OR gate is 1 if and only if any of its input is 1:

1. ∀ g Gate(g) ∧ Type(g) = OR → Signal (Out(1, g))= 1 ⇔ ∃n Signal (In(n, g))= 1

o Output of XOR gate is 1 if and only if its inputs are different:

1. ∀ g Gate(g) ∧ Type(g) = XOR → Signal (Out(1, g)) = 1 ⇔ Signal (In(1, g)) ≠ Signal (In(2,
g)).

o Output of NOT gate is invert of its input:

1. ∀ g Gate(g) ∧ Type(g) = NOT → Signal (In(1, g)) ≠ Signal (Out(1, g)).

o All the gates in the above circuit have two inputs and one output (except NOT gate).

1. ∀ g Gate(g) ∧ Type(g) = NOT → Arity(g, 1, 1)


2. ∀ g Gate(g) ∧ r =Type(g) ∧ (r= AND ∨r= OR ∨r= XOR) → Arity (g, 2, 1).

o All gates are logic circuits:

1. ∀ g Gate(g) → Circuit (g).

5. Encode a description of the problem instance:


Now we encode problem of circuit C1, firstly we categorize the circuit and its gate components.
This step is easy if ontology about the problem is already thought. This step involves the writing
simple atomics sentences of instances of concepts, which is known as ontology.

For the given circuit C1, we can encode the problem instance in atomic sentences as below:

Since in the circuit there are two XOR, two AND, and one OR gate so atomic sentences for
these gates will be:
1. For XOR gate: Type(x1)= XOR, Type(X2) = XOR
2. For AND gate: Type(A1) = AND, Type(A2)= AND
3. For OR gate: Type (O1) = OR.

And then represent the connections between all the gates.

Note: Ontology defines a particular theory of the nature of existence.

6. Pose queries to the inference procedure and get answers:

In this step, we will find all the possible set of values of all the terminal for the adder circuit.
The first query will be:

What should be the combination of input which would generate the first output of circuit C1,
as 0 and a second output to be 1?

1. ∃ i1, i2, i3 Signal (In(1, C1))=i1 ∧ Signal (In(2, C1))=i2 ∧ Signal (In(3, C1))= i3
2. ∧ Signal (Out(1, C1)) =0 ∧ Signal (Out(2, C1))=1

7. Debug the knowledge base:


Now we will debug the knowledge base, and this is the last step of the complete process. In
this step, we will try to debug the issues of knowledge base.

In the knowledge base, we may have omitted assertions like 1 ≠ 0.

Challenges during Knowledge Acquisition in KBS (Knowledge Based


Systems)
There are many challenges that Knowledge Engineer face during Knowledge Acquisition
process, a crucial process in Knowledge Engineering. To understand these challenges, we
first have to understand the stages/phases/steps of Knowledge Acquisition:

Knowledge Acquisition Process

Knowledge Acquisition process is a very crucial process in the development of Knowledge


Based Systems (KBS). It involves 5 major staeges/ steps/phases:

 Identification
 Conceptualization
 Formalization
 Implementation
 Testing

Challenges

Complexity of Knowledge
Knowledge possessed by experts is complex as most of it is tacit, and hence cannot be
captured without converting tacit knowledge to explicit knowledge (externalization), which is
very difficult. The only way to represent tacit knowledge is by representing only the most
relevant and important aspects of a specific expert domain.

Experts’ loyalty to their knowledge

Experts value their knowledge as it is the main source of their command or power in their
field. This makes them reluctant to share their knowledge with other experts in their own
field as well as knowledge engineers. Some experts may fail to provide full details, so that
they may remain competitive in their field, while others may fear being replaced by expert
systems.

Subjective Knowledge

When acquiring knowledge from different experts, they may provide highly arguable and
subjective knowledge. It is difficult to map this inter-subjectivity, to recognize mutual
understanding as well as conflicts, to come up with subjectivity-free domain-specific
knowledge.

Expert availability

Experts always have a tight schedule, with their expertise being critically required by their
clients, organizations and professional bodies. This makes it hard for knowledge engineers to
get valuable time with the experts, which means that the knowledge engineers have to be very
accurate when asking questions as well as representing the solutions, to make the most out of
that time. Unavailability of an expert may force the knowledge engineer to employ the
protocol analysis technique (Being present as the experts think out loud as they perform their
tasks, and recording the process for later analysis).

Rule development

Knowledge engineers need to create rules to make it easy to characterize knowledge during
knowledge acquisition. This might be difficult especially when the knowledge engineer is
drafting a rule base, stable enough to be used to gather feedback in structured knowledge
acquisition techniques

What is knowledge acquisition?


In artificial intelligence, knowledge acquisition is the process of gathering, selecting, and
interpreting information and experiences to create and maintain knowledge within a specific
domain. It is a key component of machine learning and knowledge-based systems.
There are many different methods of knowledge acquisition, including rule-based systems,
decision trees, artificial neural networks, and fuzzy logic systems. The most appropriate
method for a given application depends on the nature of the problem and the type of data
available.
Rule-based systems are the simplest form of knowledge-based system. They use a set of
rules, or heuristics, to make decisions. Decision trees are another common method, which use
a series of if-then-else statements to arrive at a decision.
Artificial neural networks are a more complex form of knowledge-based system, which
mimic the way the human brain learns. They are able to learn from data and make predictions
based on that data. Fuzzy logic systems are another type of complex knowledge-based
system, which use fuzzy set theory to make decisions.
The most important part of knowledge acquisition is the interpretation of information. This is
where human expertise is required. Machines are not able to interpret information in the same
way humans can. They can only make sense of data if it is presented in a certain way.
Humans need to select the right data and experiences to create knowledge. They also need to
interpret that data correctly. This is where artificial intelligence can help. AI systems can
automate the process of knowledge acquisition, making it faster and more accurate.

What are the goals of knowledge acquisition?


In artificial intelligence, knowledge acquisition is the process of gathering, selecting, and
interpreting information that can be used to solve problems. The goals of knowledge
acquisition are to reduce the amount of time and effort required to solve problems, and to
improve the quality of the solutions.
One of the challenges in knowledge acquisition is that it is often difficult to know what
information is relevant to the problem at hand. Another challenge is that the process of
acquiring knowledge can be time-consuming and expensive.
Despite these challenges, knowledge acquisition is an essential part of artificial intelligence.
By gathering and interpreting information, artificial intelligence can identify patterns and
relationships that would be difficult for humans to find. This allows artificial intelligence to
solve problems more efficiently and effectively.

What are the methods of knowledge acquisition?


There are a few methods of knowledge acquisition in AI:
1. Expert systems: In this method, experts in a particular field provide rules and knowledge to
a computer system, which can then be used to make decisions or solve problems in that
domain.
2. Learning from examples: This is a common method used in machine learning, where a
system is presented with a set of training data, and it “learns” from these examples to
generalize to new data.
3. Natural language processing: This is a method of extracting knowledge from text data,
using techniques like text mining and information extraction.
4. Semantic web: The semantic web is a way of representing knowledge on the internet using
standards like RDF and OWL, which can be processed by computers.
5. Knowledge representation and reasoning: This is a method of representing knowledge in a
formal way, using logic or other formalisms, which can then be used for automated
reasoning.

What are the challenges of knowledge acquisition?


One of the key challenges in AI is knowledge acquisition – that is, acquiring the right data
and information to train AI models to be effective. This can be a challenge for a number of
reasons.
First, data can be expensive to acquire. In some cases, it may be necessary to purchase data
from third-party providers. This can be a significant cost, especially for small businesses or
startups.
Second, data can be difficult to obtain. In some cases, it may be necessary to collect data
manually. This can be time-consuming and expensive.
Third, data can be noisy. That is, it can contain errors or be incomplete. This can make it
difficult to train AI models effectively.
Fourth, data can be biased. That is, it can be skewed to favor certain outcomes. This can lead
to AI models that are not effective or that produce results that are unfair.
Finally, data can be dynamic. That is, it can change over time. This can make it difficult to
keep AI models up-to-date.
These are just some of the challenges that can be associated with knowledge acquisition in
AI. Overcoming these challenges is essential to developing effective AI models.

What is the role of knowledge acquisition in AI?


In AI, knowledge acquisition is the process of acquiring knowledge from data sources and
then using that knowledge to improve the performance of AI systems. This process can be
used to improve the accuracy of predictions made by AI systems, or to help them learn new
tasks faster.
One of the most important aspects of knowledge acquisition is choosing the right data
sources. This is because the quality of the data that AI systems use to learn is crucial to the
performance of the system. For example, if an AI system is trying to learn how to identify
objects in images, it will need to be trained on a dataset of high-quality images.
Once the data has been collected, it needs to be processed and converted into a format that
can be used by AI systems. This process is known as feature engineering, and it is crucial to
the success of AI systems. After the data has been processed, it can be used to train AI
models.
Training AI models is a complex process, and it is important to choose the right algorithm for
the task at hand. There is a wide range of different algorithms that can be used for training AI
models, and each has its own strengths and weaknesses.
After the AI model has been trained, it can be deployed in a real-world environment. This is
where knowledge acquisition can really help to improve the performance of AI systems. By
constantly monitoring the data that is being generated by the system, knowledge acquisition
can help to identify areas where the system can be improved.
Overall, knowledge acquisition is a vital part of AI. By carefully selecting data sources,
processing that data, and then using it to train AI models, knowledge acquisition can help to
improve the performance of AI systems.

You might also like