Ai Abhishek

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Department of Electrical Engineering

Maulana Azad National Institute of Technology

AI TECHNIQUES
ASSIGNMENT 1

Submitted By - Submitted To -

Abhishek Pratap Singh Dr. Shiwani Rai


Sch No. 211113251
Question 1 : What are the stages in the development of an Expert System ?

Ans. The five main stages you've mentioned for developing an expert system are a condensed
version of the typical stages in the development process. These stages provide a high-level
overview of the process, and here's a brief description of each:

1. Identification:

● In this stage, the problem that the expert system will address is identified and
defined.
● The scope and goals of the expert system are determined, and the need for such
a system is established.

2 . Conceptualization:

● This stage involves brainstorming and conceptualising how the expert system will
work and what it will achieve.
● The initial ideas and concepts for the system's design and functionality are
developed.

3. Formalization (Designing):

● In the formalisation stage, the conceptual ideas are transformed into a structured
plan for the expert system.
● The design of the knowledge base, inference engine, user interface, and other
components are formalised.
● Knowledge acquisition methods and representation techniques are determined.

4. Implementation:

● During implementation, the actual development of the expert system takes place.
● The knowledge base is populated with domain-specific knowledge, and the
inference engine is programmed to make decisions based on that knowledge.
● User interfaces are created, and the system is coded.

5. Testing (Validation, Verification, and Maintenance):

● The testing stage involves validating the expert system's performance and
ensuring it meets the requirements.
● Verification ensures that the system operates as intended.
● Validation involves testing it with real-world data or scenarios to ensure it produces
accurate results.
● Maintenance is an ongoing process where the system is updated, refined, and
kept up-to-date with changing domain knowledge.

These stages provide a simplified overview of the expert system development process. In
practice, the development may involve iterations, and these stages are not always strictly
sequential. Validation and verification, for example, often overlap during testing.
Additionally, maintenance is a continuous process that extends throughout the system's
lifecycle to keep it effective and up-to-date.

Question 2 : Explain Expert System with its architecture and advantages.

Ans. In artificial intelligence (AI), an expert system is a computer-based decision-making


system. It is designed to solve complex problems. To do so, it applies knowledge and logical
reasoning and adheres to certain rules. An expert system is one of the first successful forms of
artificial intelligence.

An expert system mainly consists of three components:

○ User Interface

○ Inference Engine

○ Knowledge Base

1. User Interface

With the help of a user interface, the expert system interacts with the user, takes queries as an
input in a readable format, and passes it to the inference engine. After getting the response
from the inference engine, it displays the output to the user. In other words, it is an interface
that helps a non-expert user to communicate with the expert system to find a solution.

2. Inference Engine(Rules of Engine)

○ The inference engine is known as the brain of the expert system as it is the main
processing unit of the system. It applies inference rules to the knowledge base to derive
a conclusion or deduce new information. It helps in deriving an error-free solution of
queries asked by the user.

○ With the help of an inference engine, the system extracts the knowledge from the
knowledge base.

○ There are two types of inference engine:

○ Deterministic Inference engine: The conclusions drawn from this type of inference
engine are assumed to be true. It is based on facts and rules.

○ Probabilistic Inference engine: This type of inference engine contains uncertainty in


conclusions, and based on the probability.

Inference engine uses the below modes to derive the solutions:


○ Forward Chaining: It starts from the known facts and rules, and applies the inference
rules to add their conclusion to the known facts.

○ Backward Chaining: It is a backward reasoning method that starts from the goal and
works backward to prove the known facts.

3. Knowledge Base

○ The knowledgebase is a type of storage that stores knowledge acquired from the
different experts of the particular domain. It is considered as a big storage of knowledge.
The more the knowledge base, the more precise will be the Expert System.

○ It is similar to a database that contains information and rules of a particular domain or


subject.

○ One can also view the knowledge base as collections of objects and their attributes.
Such as a Lion is an object and its attributes are it is a mammal, it is not a domestic
animal, etc.

Components of Knowledge Base

○ Factual Knowledge: The knowledge which is based on facts and accepted by


knowledge engineers comes under factual knowledge.

○ Heuristic Knowledge: This knowledge is based on practice, the ability to guess,


evaluation, and experiences.

Knowledge Representation: It is used to formalise the knowledge stored in the knowledge


base using the If-else rules.

Knowledge Acquisitions: It is the process of extracting, organising, and structuring the domain
knowledge, specifying the rules to acquire the knowledge from various experts, and storing that
knowledge into the knowledge base.

Question 3 : What are the Errors in development stages of expert system and how to
build a rule base Expert System ?

Ans . In the development of an expert system, various types of errors can occur at different
stages. These errors can affect the system's performance and reliability. Here are some
common errors that can occur during the development stages of an expert system:
1. Knowledge Acquisition Errors:
● Incorrect or incomplete knowledge: Errors can occur when capturing knowledge
from human experts, leading to inaccuracies or missing information in the
knowledge base.
● Bias: Knowledge engineers may introduce their own biases or misunderstand
expert input, leading to inaccurate rules.
2. Knowledge Representation Errors:
● Incorrect knowledge structure: The chosen knowledge representation method may
not accurately capture the domain's knowledge, leading to representation errors.
● Inconsistent or contradictory rules: Rules in the knowledge base may conflict or be
inconsistent, making it challenging for the inference engine to provide reliable
results.
3. Inference Engine Errors:
● Inefficient reasoning: The inference engine may not be optimized for efficient
reasoning, causing slow performance or excessive resource consumption.
● Incorrect rule execution: Errors in rule interpretation or execution can lead to
incorrect conclusions or recommendations.
4. User Interface Errors:
● Poor user experience: A poorly designed user interface can lead to user
frustration and difficulty in interacting with the expert system.
5. Testing and Validation Errors:
● Inadequate testing: Failing to test the expert system with a wide range of cases
can result in undetected errors or biases.
● Validation errors: Not validating the expert system with real-world data or domain
experts can lead to unreliable results.
6. Maintenance Errors:
● Neglecting updates: Failing to update the knowledge base to reflect changes in
the domain can lead to obsolete or inaccurate advice.
● Ignoring user feedback: Not considering user feedback can result in unaddressed
usability or knowledge issues.

To build a rule-based expert system, you can follow these steps:

1. Problem Identification:
● Clearly define the problem or decision-making task that the expert system will
address.
2. Knowledge Acquisition:
● Gather knowledge from domain experts through interviews, documentation, and
other knowledge acquisition methods.
● Organise and structure the knowledge in a format suitable for the expert system.
3. Knowledge Representation:
● Choose an appropriate knowledge representation method, such as production
rules, frames, semantic networks, or ontologies.
4. Rule Development:
● Create rules that represent the decision-making logic and knowledge of domain
experts.
● Use a rule authoring tool or a programming language to encode the rules.
5. Inference Engine:
● Develop or select an inference engine that can process the rules and make
inferences based on the knowledge.
6. User Interface:
● Design a user-friendly interface that allows users to interact with the expert system
effectively.
7. Testing and Validation:
● Test the expert system with various test cases and validate its results for accuracy.
8. Deployment:
● Deploy the expert system in the target environment and provide training to users.
9. Maintenance:
● Continuously update and maintain the knowledge base to keep it current and
accurate.
10. User Feedback:
● Encourage user feedback and incorporate it into system improvements and
refinements.

Building a rule-based expert system requires careful knowledge acquisition,


representation, and rule development to ensure the system's accuracy and reliability. It's
important to involve domain experts in the process and to thoroughly test the system to
identify and address errors and inaccuracies.

Question 4 : Difference between Expert System and Conventional Methods.

Ans. The principal distinction between expert systems and traditional problem solving
programs is the way in which the problem related expertise is coded. In conventional
applications, problem expertise is encoded in both program and data structures. In the expert
system approach all of the problem related expertise is encoded in data structures only, none is
in programs. Generally in expert systems, the use of knowledge is vital. But in conventional
systems data is used more efficiently than knowledge. Conventional systems are not capable of
explaining a particular conclusion for a problem. These systems try to solve problems in a
straightforward manner. But expert systems are capable of explaining how a particular
conclusion is reached and why requested information is needed during a process. However, the
problems are solved more efficiently than a conventional system by an expert system. Generally
in an expert system, it uses the symbolic representations for knowledge i.e. the rules, different
forms of networks, frames, scripts etc. and performs their inference through symbolic
computations. But conventional systems are unable to express these terms. They just simplify
the problems in a straightforward manner and are incapable of expressing the “how, why”
questions. Also the problem solving tools that are present in expert systems are purely absent
in conventional systems. The various types of problems are always solved by the experts in an
expert system. So the solution of the problem is more accurate than a conventional system.
Expert System Conventional methods

Processing mechanisms and knowledge Combined processing and knowledge units.


databases are separate entities.

The expert system does make mistakes. The program seldom makes errors (only
programming errors).

The expert system optimises continuously The system operates only when ready.
and launches with minor rules.

Execution takes place logically. Execution takes place logically.

It is functional with full or less data. Requires full data.

Question 5 : Explain verification, validation and design of Expert System.

Ans. In the development of an expert system, verification, validation, and design are crucial
stages to ensure that the system is accurate, reliable, and meets its intended purpose. Here's
an explanation of these three stages in the context of expert system development:

Design of Expert System:

The design stage is the initial phase where the architecture and structure of the expert system
are defined. Key aspects of design include:

● Knowledge Representation: Choose the appropriate knowledge representation method


(e.g., production rules, frames, semantic networks) to capture and organize
domain-specific knowledge effectively.

● Inference Engine Design: Define the inference engine that will process the knowledge
base and make inferences based on rules or heuristics. Specify how the engine will
perform forward or backward chaining, control strategies, and conflict resolution.

● User Interface Design: Develop a user-friendly interface that allows users to interact with
the expert system, input queries, and receive understandable responses.

● Knowledge Base Structure: Design the structure of the knowledge base, including how
facts, rules, and domain-specific information will be organized and represented.

● Data Integration: If necessary, design data integration mechanisms to access external


databases or information sources that the expert system may need.
Verification of Expert System:

Verification is the process of ensuring that the expert system is being built correctly, according to
its design specifications. It focuses on the following aspects:

● Rule Accuracy: Verify that the rules in the knowledge base are correctly encoded,
accurately represent the expert's knowledge, and align with the design.

● Knowledge Base Consistency: Ensure that the knowledge base does not contain
inconsistencies or contradictions that could lead to incorrect conclusions.

● Inference Engine Functionality: Verify that the inference engine operates as intended,
correctly applies the rules, and produces the expected results.

● Knowledge Acquisition Validation: Confirm that the knowledge acquired from domain
experts accurately reflects their expertise and is faithfully represented in the knowledge
base.

Validation of Expert System:

Validation is the process of evaluating the expert system's performance and ensuring that it
meets its intended purpose. It focuses on the following aspects:

● Testing with Test Cases: Test the expert system with a variety of test cases, including
both typical and edge cases, to ensure it provides accurate and reliable results.

● Real-World Data: Validate the system with real-world data or scenarios to assess its
practical effectiveness and reliability.

● User Feedback: Encourage feedback from users and domain experts and use their input
to evaluate the system's performance and identify areas for improvement.

● Performance and Scalability: Evaluate the system's performance, including response


time and resource usage, to ensure it meets the required performance standards.

● Usability: Assess the system's user interface for usability and user satisfaction. Identify
any usability issues and address them.

Validation is essential to ensure that the expert system not only operates correctly according to
its design but also provides valuable and reliable results in the intended domain.

In summary, the design of an expert system involves defining its structure, knowledge
representation, inference engine, user interface, and other architectural aspects. Verification
ensures that the system is built correctly according to the design, while validation evaluates its
real-world performance and reliability, making sure it meets its intended purpose and provides
accurate results.

You might also like