# BIT 4405 BAC 2305 – EXPERT SYSTEMS KCA Past Paper

UNIVERSITY EXAMINATIONS: 2019/2020
EXAMINATION FOR THE DEGREE OF BACHELOR OF SCIENCE IN
INFORMATION TECHNOLOGY/ APPLIED COMPUTING
BIT 4405/ BAC 2305: EXPERT SYSTEMS
FULL TIME/PART TIME/DISTANCE LEARNING
DATE: MAY 2020 TIME: 6 HOURS
SECTION B: (20 MARKS)

QUESTION ONE
a) Consider the decision-making situation defined by the following rules:
i. If it is a nice day and it is summer, then I go to the golf course.
ii. If it is a nice day and it is winter, then I go to the ski resort.
iii. If it is not a nice day and it is summer, then I go to work.
iv. If it is not a nice day and it is winter, then I go to class.
v. If I go to the golf course, then I play golf.
vi. If I go to the ski resort, then I go skiing.
vii. If I go skiing or I play golf, then I have fun.
viii. If I go to work, then I make money.
ix. If I go to class, then I learn something.
Follow the rules for the following situations (what do you conclude for each one?):
i. It is a nice day and it is summer.
ii. It is not a nice day and it is winter.
iii. It is a nice day and it is winter.
iv. It is not a nice day and it is summer.
b) Are there any other combinations that are valid? Explain.
c) What needs to happen for you to “learn something” in this knowledge universe? Start
with the conclusion “learn something” and identify the rules used (backward) to get to the
needed facts.
d) Encode the knowledge into a graphical diagram (like an influence diagram). Use a circle
to represent a fact such as: The day is nice or The day is not nice and an arrow to indicate
influence.
e) Write a conventional program to execute this knowledge. Use IF- THEN (ELSE)
statements in your implementation. How many lines long is it? How hard would it be to
modify the program to insert new facts and a rule such as: If it is cloudy and it is warm
and it is not raining and it is summer then I go play golf.
f) In an implementation similar to the one in part (d), write a new implementation but store
the knowledge in variables. Let the program search the arrays to make decisions.
SECTION C: (20 MARKS)
QUESTION ONE
You are required to develop a small rule based Expert System. First, choose a suitable problem
domain to work with. Given the limited time available, you should try to pick something
“simple”, for example:
1. Where to go on holiday
2. How to best supplement one’s income
3. Where to go for a night out in Birmingham
5. How to find a good husband/wife/boyfriend/girlfriend
6. How to pass your expert system exam.
It will be assumed that the ‘knowledge engineers’ are already familiar with the technical
terminology and jargon associated with the problem domain. You will soon find out how much,
and the steps that will lead to them. Think about the different outputs your system should be able
to produce. Clearly, how the Expert System should respond at each stage will depend on many
different things (such as the age, sex, affluence, tastes, intelligence, skills, mood, etc. of the
user), and appropriate rules will need to be built into the system so that it responds appropriately
to each potential user in each potential situation. The ‘knowledge engineers’ should build up an
appropriate intermediate representation that their ‘expert’ can help them refine. Think about what
kind of intermediate representation would be most appropriate for your chosen problem – a
semantic network, or decision tree maybe? You should also consider whether your system needs
to be capable of reasoning with uncertain or fuzzy information, and if so, how in practice you
could do this. You clearly won’t have time to convert your intermediate representation into a
fully functional expert system, but you should think about how you would go about doing it if
you did have the time. You should aim to consider as many different aspects of Expert System
building as you can, rather than concentrating on one aspect in detail.

(Visited 159 times, 1 visits today)