Expert Systems Notes
Expert Systems Notes
- playing chess
- diagnosis
- providing advice
- car mechanical diagnosis
- explaining conclusions
- giving solutions
components of an expert system.
knowledge base
this is the part of the system that holds all the knowledge of the system. it
contains facts and rules about the 'task domain'. task domain is the area of
expertise that the expert system is designed to work within. facts and rules are
captured by methods such as interviewing human experts to garner their
knowledge or completing detailed questionnaires. this process is called
knowledge engineering. extra rules and facts may be added to the knowledge
base as time passes and users provide feedback about the quality of the answers.
inference engine
this is the part of the expert system that works out a reasonable solution when
given a set of answers from the user by applying logical rules to the knowledge
base to deduce new information.
the inference engine will ask the user questions and based on the answer, it will
follow a line of logic;
chaining method:
chains together what is known as IF-THEN rules to form a line of reasoning
* forward chaining:
* back chaining:
the difference is that forward chaining starts with facts then looks through the
forward rules to find a desired goal; however, backward chaining begins with a
goal and then looks back through the interference rules to find facts that may
support the goal.
user interface
the expert system will present its questions and the user provides the answers.
this is the system that allows a non-expert user to query (question) the expert
system, and to receive advice. the user-interface is designed to be a simple to
use as possible
- online booking system: data about the customer will be collected for an
example in aeroplane ticket booking system, the information gathered
would be about the customers flight and plane number will be collected in
the transaction. a ticket will be provided and with this information it will
avoid having the same seat double booked.
- computer games: computer games require a very fast response when
imputed by the user so that the game can be controlled therefore, it needs
to have a real time processing system.
- financial advice: this would contain suggestions on how to manage debts,
reduce the total of income tax as well as suggesting the value of the
insurance. the user has to input their financial information so the expert
system could give them advice that would be useful to their situation.
- planning and scheduling: you can use the expert system for planning and
scheduling to make sure to achieve all tasks set and not miss anything.
*advantages*
*disadvantages*
model answer: impact of people having the ability to self diagnose their medical
issues using an expert system
on one hand, for many people, visiting an expert could be extremely expensive and
unaffordable, especially that healthcare costs have increased massively in many
countries. however, accessing a self diagnosis online is cheap and many websites do it
for free. moreover, if a doctor checks the patient diagnosis online and agreed with it
after checking their health that could speed up the process giving the patients to
receive a treatment quickly and that could speed up the recovery. on the other hand,
the user could wrongly diagnose themselves which would lead to false results due to
maybe not being able to fully recognize the symptoms or the lack of some medical
information and medical checkups that need to be provided. this could endanger many
patients if they have serious conditions that were not found out. In addition to that, the
user could get overwhelmed by the amount of diagnosis the system could provide and
then they would not be able to decide which of those match their symptoms most and
that could delay the recovery and their situation could worsen.
it is often not desirable to deal with a set of data inputs until a certain number
have occurred or a set time has passed. so they are stored until the system
comes online to process the data in one 'batch'. after loading the data into the
system, batch processing does not usually require any further interaction on the
part of the user. therefore the user interface is often code-based. the user enters
the parameters of the batch run then leaves it to carry on.
*online processing*
interactive processing takes place one transaction at a time. once the transaction
is accepted, the database will be updated. for example, if you use an online
system to book a hotel room, you will fill in a web form, submit it and it will
come back to inform you of the room you have booked. the user interface is
very important with interactive processing. it must be clear, intuitive, easy to
use and responsive. usually a fair bit of data validation also takes place to ensure
the correct input data is present. for instance, the form may check that you have
entered an address or telephone number.
*real-time processing*
real time processing is usually found in systems that use computer control. this
processing method is used when it is essential that the input request is dealt with
quickly enough so as to be able to control an output properly. real time
processing has to be programmed very carefully to ensure that no input events
are missed. the user interface of a real-time system may use specialist input
devices to provide data input. for example, a gamer may be using a joystick or
hand held control to interact with the real-time game.