28-12-2012, 02:58 PM
PC Troubleshooting Expert PROJECT REPORT
1PC Troubleshooting.pdf (Size: 528.07 KB / Downloads: 90)
ABSTRACT
An expert system for personal computer troubleshooting, developed as
part of MCA 6th semester Course project work, National Institute of Technology, Calicut, is
presented. It is implemented on a personal computer. The proposed system includes many
characteristics of an expert system because it can be expanded easily by adding new
information to its knowledge base or by changing its existing information. The basic idea
behind this expert system is to provide a non-expert with the necessary information and
interaction in order to troubleshoot a personal computer hardware problem in a very userfriendly
environment. This also aims to take advantage of the user’s experience to expand
and modify the knowledge base of the expert system.
INTRODUCTION
PC Troubleshooting Expert is a full-featured stand alone software
application. The term stand alone means that the software can be installed anywhere without
any difficulty. There is no need of network for using this software.
The system is based on the concepts of Expert System which comes under the area
of Artificial Intelligence. It has got very user friendly interface where user is required to press
only 3 keys (y, n and w).
The next section gives a detailed description about System analysis done for this
project. That gives a view about the various requirements for this project, followed by system
design section. That gives a view about the design methods accepted for this project. The
chapter implementation gives a view about the implementation techniques adopted for this
project.
Since we (I and Vishal Kumar) have done this project as a group, we have divided
this implementation into two sections. I have done the section on the implementation of the
knowledge Base. Vishal has done the section for implementing the Inference Engine and
Explanation Subsystem of PC troubleshooting Expert.
Purpose and scope of the document
This section outlines the expected contents of the system. The deliverable
document from the System Design process will include a set of technical specifications that
will be used to generate (build) and implement the new system. The System Design
Document must be complete and in sufficient detail to allow a technical resource unfamiliar
with the project to be able to construct the system based solely on this document and
materials referenced herein.
Definitions and acronyms
AI- Artificial Intelligence
ES- Expert System
KB- Knowledge Base
IE- Inference Engine
UI- User Interface.
Features of PC Troubleshooting Expert
Features diagram (Figure 3) of PC Troubleshooting Expert is given above. The
features diagram, as the name implies shows the features present in the expert system. The
expert system developed is used for giving suggestions regarding commonly occurring
hardware and software problems. So the system is developed in such a way that it asks the
user response in each step before progressing to new steps. So it finds out from the user, the
problem area the user is in.
The expert system has a simple user interface. The system has explanation capability
for ‘Why’. The explanation is presented in a user understandable way. From the system, the
user knows about the problem area. Another important feature is the backtracking feature. If
the user feels he is not in correct problem area, the system provides backtracking to some
other relevant area according to the rules written for it.
The system also looks for inconsistencies in user response. It does this by making
user of an internal stack for saving the user response. There can be positive and negative
conditions that are to be satisfied for a rule to fire. If the positive conditions are already
asked, the user need not answer those questions again. Again inconsistencies do not arise
from the user since the system does not ask negative conditions for a positive condition
already answered.
Design issues related to Knowledge Base
Expert systems are AI programs that achieve expert-level competence in solving
problems in task areas by bringing to bear a body of knowledge about specific tasks. These
programs' knowledge base contains the knowledge used by human experts.
Every expert system consists of two principal parts: the knowledge base;
and the inference engine. The knowledge base contains the factual knowledge
of the domain in which the expert system is deve loped.
Procedural programs
Engineering problem solving involves numerical computations, in addition to
inference using knowledge. In a real- life expert system, the system has to perform numerical
computations at different stages of the solution process. The amount of computations may be
very small in some cases and quite large in many cases. Based on the values inferred, a
detailed analysis of the artifact may have to be carried out to evaluate the correctness of the
parameters arrived at. The quantitative knowledge required for such computations can be
represented as functions/programs written in high-level programming languages such as C.
An expert system should be able to call these programs as and when required during
problem solving. Hence, they also form part of the knowledge base of the expert system.
Most expert system development shells provide facilities to represent knowledge in the three
forms. Viz., rules, frames and functions in procedural languages. The predicate logic form of
knowledge representation is the natural form in Prolog. Prolog provides predicate logic
based representation with backtracking inference, which is inadequate for developing large
expert systems for practical application.