EPIGRAPH
Up to now, the Lord helped us.
(1 Samuel 7:12)
DEDICATION
To you my father MANDALA ASAMBA JONAS and my mother DINANGA
MANDALA Marie; you are the symbols of goodness by excellence for me, the source
of tenderness and the example of devotion that didn't stop to encourage and
pray for me. Your prayer and your blessings were with a great help for me to
conduct correctly my studies. None of dedication will be sufficient to express
what you deserve for all of your sacrifices that you didn't stop to offer me.
This work is the fruit of your sacrifices that you consented to my education
and my training. I dedicate you this work in order that I may testify my deep
love to you. May god helps you accomplishing your longing.
To my brothers and sisters: ALICE KABUKA, RAPHAEL ASAMBA,
ESTHER MISA, BABASHI LEMBA, PATSHIO KUPE, FULL KIZEMA, AKO LUNGENYI, EPHA
DIAMI; I miss the word to express my affection and love that I have for you; I
dedicate this work with all of the best.
To you my sweetheart NANA MUNDA, I cannot find right and
sincere words to express my love and affection I have for you. Thus, I dedicate
you this work to testify the endless love that joins us.
ACKNOWLEDGEMENTS
My acknowledgements are addressed first to God the all mighty,
the one who created earth and heaven, for in him we live and move.
Secondly, I must thank my director: professor KUTANGILA MAYOYA
SANCTUS for his availability and the time he consecrated during elaboration of
this work.
My great acknowledgements are also addressed to my
co-director: Professor MALEKANI KAPELE for his precious patience and support
during the elaboration of this work.
I am expressing also my gratitude to paternal and maternal
uncles, grand fathers and mothers: KISALO FELLYCIEN, KIMASA KISALO, JULIE
KENGESHA, MANDALA BONAVE, ESTHER MBOMBO, MUANGU MUALLY, FELLY MBONGELA, OLIPE
KATOMBA, EVARISTE KATOMBA, MAURICE KUAHA, and FRISSAY KISALO.
I cannot be ungrateful to nephews, and cousins: THETHE IHEMBA,
LAUREINE KENGESHA, GRACE KAMI, ISAKA MUANGU, ESTHER NDJINDI, ARNOLD MINGU, IVE
KITENGE, OBED KATOMBA, BIJOUX MAMBULU, MANDALA MAMBULU, BIJOUX MUANGU, MUKOLE
KISALO and others.
Finally, I am expressing my gratitude to friends,
acquaintance, and families: MUKHU'T MAURICE, MUNDSU JACOB, MAZEMBA MUKOSO,
MAKHANO ROGER, MUNDAYI PALAKI, KANKU RUBEN, MABWANA KANDOLO, NGWABA JOSEPH,
MBOMA LUNIANGU, MINGA SHANGA, MARTIANE KIBA, JUNIOR KOMBA, BLANCHARD NGANDU,
GEDEON MAZEMBA, CHRITELLE KAJIBALE, KUKUMPELA DIMENI TONZI, BLANCHARD
KANGULUMBA, TSHIBAMBA MUYAYA, FRAGILE KIKANJI, TOTON TAYELE, TRESOR TONZI,
ASSINA KEZA, VANGU NSEVOLO, KANDA NGOMA, GENTILLE BILONDA, and PRINCE
KAFULU.
GLOSSARY
ES: Expert System
AI: Artificial Intelligence
MAC: Manufacture Assisted by Computer
KB: Knowledge base
US: United State
LAN: Local Area Network
MAN: Metropolitan Area Network
WAN: Wide Area Network
WLAN: wide Local Area Network
DB: Database
MAU: Multi station Access Unit
GSM: Total System of Mobile communication
GPRS: General Packet Radio operator Service
UMTS: Universal Mobile System of Telecommunication
Wi-Fi: Wireless Fidelity
AIA: Anglais et Informatique des Affaires
TABLE OF CONTENTS
EPIGRAPH
i
DEDICATION
ii
ACKNOWLEDGEMENTS
iii
GLOSSARY
iv
INTRODUCTION
1
1. The
problem
1
2.
Hypothesis
1
3. Method and
Techniques
2
a)
method
2
b) The
techniques
2
4. Scope of the
topic
2
5. Choice and
interest of the subject
2
6. Summary of the
work
2
CHAPTER I: GENERAL CONSIDERATIONS ON ARTIFICIAL
INTELLIGENCE AND EXPERT SYSTEM.
3
Introduction
3
I.1. Artificial
intelligence
3
I.1.1. definition
3
I. 1.2. Historical overview of artificial
intelligence
4
I. 1.3. Some fields of artificial
intelligence
6
I.1.4. Intelligent agents
6
I.1.4.3. the nature of the
environment
9
I.1.4.4. Structure of the
agents
10
Example of the program of an
agent
11
1. Simple reactive
agents
12
1. Reactive agents
based on the models
13
2. Agents based on
the objectives
15
3. Agents based on
utility
17
4. Learning agents
learning
17
General structure of the learning
agents
18
I.2. Notion of the expert
systems
20
I.2.1. Advantages of an expert
system
21
I.2.2. General Concept of the expert
systems
22
I.2.3. Characteristics of an expert
system
24
I. 2.4. Languages, shells and
tools
24
I.2.5. Elements of an expert
system
27
I.2.6. Systems of production
34
a) Systems of
production of the rules
34
Conclusion
36
CHAPTER II: SOME GENERALITIES ON COMPTUTER
NETWORK
37
Introduction
37
II.1. Concepts of networks
37
II.1.1.Definition
37
II.1.2. Interest of a network
37
II.1.3. various types of
network
37
II.1.4. various types of physical
topologies of the networks
38
II.1.5. Wireless networks
39
II.1.5.1. Wireless Personal
networks
39
Conclusion
40
CHAPTER III: DESIGN OF THE EXPERT
SYSTEM
41
Introduction
41
III.1. Description of the knowledge
base
41
III.2. Presentation of rules and
facts
41
III.2. Implementation
57
III.2.1 presentation of chosen programming
language
57
III.2.1.1 CLIPS language
57
III.2.2. presentation of
interfaces
58
III.2.2.1. First interface
(logo)
58
III.2.2.4. fourth interface
60
VI.2.21. twentieth -one
interface
69
III.3 SOURCE CODES
73
CONCLUSION
87
BIBLIOGRAPHY
88
a) Books and course
notes:
88
a) Web
sites
88
INTRODUCTION
In this part of my work, I'm going to deal with the problem,
hypothesis, method and techniques, the scope of the topic, the choice and the
interest of the subject, and finally the summary of the work.
1. The
problem
Indeed, according to Congolese pedagogical system and the
systems of most of the universities of other countries, the last day of the
course is normally dedicated to evaluating students; and this evaluation is
presented like a kind of questionnaire aiming at testing students. It is worth
nothing that these evaluations are more often presented, as I mentioned
earlier, like a kind of paper questionnaire; that is to say, teachers use to
correct the sheets tests done by students.
Thus, At the University of Kinshasa in general and in the
faculty of letters in particular, it may well be that there are more than five
hundred students in some classes such as in the department of English business
and Computer sciences. This situation has deeply allowed me to think about the
way teachers deal with making the papers of students; according to enquiry,
teachers mark the papers of students manually; as a result, teachers face many
difficulties such as the slowness during the correction, the correction
mistakes of papers, and the slowness during the transcription of grades of the
students. Sometimes, that is due to the number of students which is high. It is
for this reason in the search for the strategies of solving this problem; one
question has particularly drawn my attention: is there any means to advocate in
order to find a solution for the aforementioned problem? If yes, which one?
2.
Hypothesis
A hypothesis is a provisional answer that is given to a
question or raised problem. In this respect, the hypothesis of this study
appears in the following way:
The manual system of evaluation as it is used by teachers is
supposed to be ineffective for a quick decision making; for this reason, it
would be very important to automate this system; that is to say, to put
underway the use of computer system by putting available an expert system which
can be capable to evaluate students.
3.
Method and Techniques
a) method
A method can be understood as a way which researchers use in
order to lead their procedure at the end. Thus, in my search, I have used
analytical method.
b) The techniques
Techniques are tools that the researchers use in order to
collect data during the research process. Thus, in this search, we have used
the following techniques:
- The interview technique: this technique helped me to obtain
the qualitative data. So, this tool allowed me to interact with respondent
face-to-face; sometimes on telephone.
- The technique of documentation: this technique helped me to
consult books, journals, websites, as well as lecture notes to gather
information about my work.
4.
Scope of the topic
In any scientific work of this kind, the boundary turns
important to avoid erroneous results. Indeed, this study covers the network
course, and in time, it covers the year 2015.
5.
Choice and interest of the subject
My choice intends to develop an expert system for students'
evaluation in order to stop with manual system that causes many difficulties
listed up.
6.
Summary of the work
In addition to this introduction and the conclusion, this work
consists of four chapters, the first is dealing with the concept of artificial
intelligence and expert system; the second chapter is giving an overview of
computing network; the third is the design of expert system; and the last
chapter is concerning the implementation of the application.
CHAPTER I: GENERAL CONSIDERATIONS ON ARTIFICIAL INTELLIGENCE
AND EXPERT SYSTEM.
In this chapter, I'm going to deal with definition of
artificial intelligence, historical overview of artificial intelligence, fields
of the artificial intelligence, intelligent agents, advantages of an expert
system, characteristics of an expert system, and elements of an expert
system.
I.1. Artificial intelligence
I.1.1. definition
Several authors have defined the artificial intelligence
according to their understanding because there is not any consensus of the term
`'artificial intelligence». Here are some definitions that we had found in
the literature:
ü The study of mental faculties using models of the
calculative type. CHARNIAK et al (1985);
ü Conception of intelligent agents. POOLE et al (1998)
ü The automation of the activities associated with the
human reasoning, such as making the decision, solving problems, and the
training. BELLMAN (1978);
ü Construction of the machines which can be like human
being (vision, comprehension...)
ü The artificial intelligence is a whole of techniques
aiming to approach the human reasoning.
As we can notice it, these definitions agree each other on the
fact that the objective of the AI is to create intelligent systems, but they
are different in their way of defining the intelligence. Some are focused on
the behavior of the system, while others consider that what is important is the
working procedure (reasoning) of the system.
A second distinction can be made between those who define the
intelligence starting from the human being and those who do not refer to humans
but to a general standard of rationality. Thus, we can indicate four ways to
see the artificial intelligence:
- To create systems which behave like the human beings. This
operational definition of the AI was promoted by ALAN TURING, who introduced
his famous "test of Turing" according to which a machine is regarded as
intelligent if it can converse in the way that the questions (humans) cannot
distinguish it from a human being.
- To create systems which think like human beings. If we agree
with this second definition, that implies that the AI is an applied science,
because it is necessary to include/understand, as a preliminary the way in
which the human one thinks (if not, how to know if a machine thinks like a
man?) and then to assess the systems compared to their similarities with the
human reasoning.
- To create systems which think rationally. According to this
definition, the system must reason in a rational way, i.e. following the
logical rules. This approach can be criticized because it seems that some
capacities (perception, for example) are not easily expressible in logic. This
standard of rationality cannot be reached in practice because current
technology does not allow to realize complex calculations.
- To create systems which possess rational behaviors. This
last definition of the AI relates to the development of the agents which act
for better so as to satisfy their objectives. It is worth noticing that this
definition is more general than the preceding one.
I. 1.2. Historical overview of artificial intelligence
Here are the third significant steps in the history of the
Artificial Intelligence:
· Gestation of the AI (1943-1955):
During this period was carried out the first work which can be
considered as the beginning of the artificial intelligence (even if the term
did not exist yet). We can quote the works of McCulloch and Pitts which was
introduced in 1943 a model of artificial neurons. Some years ago,
Hebb proposed a rule to modify neuron connections. Minsky and
Edmo built the first network of neurons. It is during this period that Turing
published its famous article in which he introduces the test of Turing.
· Expert Systems (1969-1979): the first
expert system, known by the name of «Dendral» was created in 1969 in
order to determine the molecular structure of a molecule being given its
Formula and the results of its mass spectrometer. DENDRAL, like all the expert
systems, is based on a great number of heuristic rules worked out by human
experts. After the success of DENDRAL, other systems of experts were created,
in particular the system MYCIN, which carried out a diagnosis of the blood
infections. With 450 rules, MYCIN succeeded to diagnose at a level close to the
human experts and considerably better than the young doctors.
· The IA in Industry (1980- until now):
At the beginning of the Eighties, the company «DEC» started to use an
expert system for the assistance at the configuration of computer system which
enabled them to save tens of million dollars each year. And then, most of
companies started to be interested in the Artificial intelligence and to train
their own teams of research. The United States and the Japan financed large
projects in AI, and the United Kingdom started again its program of financing.
· The return of the neurons networks (1986-until
now) To the medium of the years 80, four groups of researchers have
discovered the apprenticeship rule "Back-propagation" which allowed the
development of neurons network able to learn the very complex functions
(curiously, this rule dad been proposed in 1969, but had any echo in the
scientific community). Since then year, the automatic apprenticeship has become
one of the most active fields of the AI, and has been applied successfully to
many problems (example the excavation of data).
· The Modern AI (1987-until now): As
time goes by, the artificial intelligence has become more and more a rigorous
and formal scientific matter. The majority of the approaches studied today are
based on mathematical theories or experimental studies rather than on the
intuition, and are applied more often to problems stem from the real world.
I. 1.3. Some fields of artificial intelligence
§ Expert systems: it is in this field
that we perform diagnosis, supervision, or breakdown service of industrial
facility tasks. In our days, medical diagnosis programs are capable to perform
diagnoses which are as reliable as human specialists.
§ Robotics and MAC (manufacture assisted by
computer): This discipline aims at realizing physical agents (robots)
which can act in the world. These robots acquire information with the help of
sensors or cameras.
§ Treatment of the natural language and automatic
translation: This field aims targets the comprehension, the
translation, or the production of the language (written or spoken).
§ Logistics: A program of logistic
planning was used by the American army to coordinate its vehicles, its
equipment and its soldiers during the period of the gulf war in 1991. Thanks to
this system, the problems, which in the past would have taken weeks to be
solved it were solved in a few hours.
I.1.4. Intelligent agents
I.1.4.1. Agents and their environment
By definition, an agent is something able to perceive its
environment with the help of the sensors and to act on this environment with
the help of the effectors. The figure I.1 illustrates the way in which the
agents interact with their environment:
?
AGENT
Sensors
Effectors
Figure I.1. Interaction between the agent and its environment
I.1.4.1.1 Example:
A human agent has got eyes, ears and other sensory organs
(sensors), and the hands, the feet and other parts of the body to act
(effector).
The word perception is used in this context to indicate that
the agent can receive entries at any moment. The continuation of perceptions of
an agent reflects the complete history of what the agent received. In general,
an agent will take a decision in a given moment given according to the complete
continuation of perceptions until that moment. In mathematical terms we can say
that the behavior of the agent is given by the function of the agent which
projects a given perception on an action.
The function which describes the behavior of an agent can be
presented in the form of a table. In view of an agent, on which we wants to
test, we can build this table by taking into account all the sequences of
perceptions and by determining which action the agent realizes in response; the
table is an external characterization of the agent. Initially, the function of
the agent for an artificial agent is implemented in the program of the
agent.
I.1.4.2. the concept of rationality
A rational agent is the one who acts correctly. So, to act
correctly means to do something which is correct; it's what allows the agent to
obtain better results (to succeed). There is therefore the necessity of
determining the way of measuring the successthe means of measuring the
success.
1. Measurements of output
Measurements of output include the criteria which determine
the success in the behavior of the agent. When the agent is located in an
environment, it generates a sequence of actions in accordance with perceptions
which it receives. This continuation of actions is the one which makes that its
habitat passes by a succession of states. If the continuation is that wanted,
then the agent will have acted correctly.
But there is not a single adequate measurement for all the
agents. In general, it is better to conceive measurements of utility in
agreement with what we want in the environment, more than in accordance with
how we believe that the agent should behave.
2. Rationality
Rationality in a given moment depends on four factors:
o The measurement of performance which describes the criterion
of success;
o The knowledge of the environment accumulated by the agent;
o The actions which the agent can achieve;
o The continuation of perceptions of the agent until this
moment.
This leads us to the definition of the rational agent:
In each possible continuation of the perceptions, a rational
agent will have to undertake actions which maximize its measurement of output,
while being based on the evidences brought by the sequence of perceptions and
on knowledge that the agent stored.
3. Omniscience, training and autonomy
It is necessary to pay attention by distinguishing rationality
from omniscience. An omniscient agent knows the result of its action and acts
as consequence. But actually omniscience is not possible.
Rationality is different from the perfection. Rationality
maximizes the awaited output, whereas the perfection maximizes the real result.
Thus, the definition suggested for rationality does not
require omniscience, since the rational choice depends only on the continuation
of perceptions received until a given date.
A rational agent is also that which learns the possible
maximum of what it perceives. The initial configuration of an agent can reflect
a preliminary knowledge of the environment, but as the agent acquires the
experiment, its knowledge can change and increase. There are exceptional cases
where one knows the environment completely a priori. In these cases, the agent
does not need to perceive nor to learn; it acts simply in a correct way. But
these agents are very fragile.
An agent misses autonomy when it is based more on its initial
knowledge which its originator provides him than on his own perceptions. A
rational agent must be autonomous, must know to learn how to determine, how to
compensate for an incomplete or initially partial knowledge.
In practice, it is little of time that a complete autonomy is
required as of the beginning: when the agent has little or no experiment, it
will have to act in a random way unless the originator does not provide him
with any help.
I.1.4.3. the nature of the environment
The environments of work are primarily the "problems" for
which the rational agents are "solutions".
Measurements of performance (or output), the environment, the
effectors and the sensors form what is called environment of work. In the
design of an agent, the first stage must always be the specification of the
environment of work.
If we consider the problem of an automatic taxi man, the task
to lead a car in its totality is extremely unlimited. There is no limit on the
number of the new combinations of the circumstances which can emerge.
I.1.4.3.1. Properties of the
environments of work
The environment of work can be:
1. completely or partially observable:
An environment of work is completely observable if the sensors
detect all the aspects which are depend on the decision-making while an
environment can be partially observable because of the noises and the existence
of sensors are less accurate.
If the following state of the area is completely determined by
the current state and the action carried out by the agent, then the environment
is deterministic; if not, it is stochastic.
2. episodical or sequential.
In an episodical environment of work, the experiment of the
agent is divided into atomic episodes. Each episode consists of the perception
of the agent and the realization of a single posterior action.
The episodes are independent from/to each other. In the
sequential environments, the current decision can affect the future
decisions.
3. static or dynamic:
If the environment can change when the agent is deliberating,
then the environment is dynamic for the agent, otherwise, the environment is
static.
4. discreet or continuous.
The distinction between discreet and continuous can apply to
the state of the medium, the way in which time is to handle, and to perceptions
and actions of the agent. A medium is discreet if it has a finished number of
perceptions and actions, such as the plays of the failures. But a taxi man
who is driving defines a continuous state and a problem of continuous time. The
image taken by digital cameras are discrete in a strict sense but are treated
like continuous representations of variable localizations and intensities.
5. Environment with individual agent or multi agents
An environment is with individual agent if there is only one
agent while an environment is with multi agents if there are several agents
working in competition or cooperation.
A multi agent environment is competitive when the agent B
seeks to maximize its measurement of output, which, according to rules'
minimizes the measurement of output of A. In a cooperative environment, each
agent seeks to maximize the measurement of output of all the other agents of
the environment. For example a system of medical diagnosis is in an environment
with individual agent while the player with the failures is in competitive
environment multi agents. In a communication system, the agents are in a
cooperative environment multi agents. The taxi men, by avoiding the faults and
the disturbances the ones with the others, are in a cooperative environment
with a certain competition because only one taxi must occupy a parking bay.
I.1.4.4. Structure of the agents
The work of the artificial intelligence is to conceive
the program of the agent which implements the function of the
agent and then that function projects perceptions on the actions. It is
supposed that the- program will be carried out on a certain type of computer
equipped with the physical sensors and effector
(architecture).
Agent = architecture + program
· Programs of the agents
The programs of the agents that we will describe in this work
have the same architecture: they receive current perceptions like entries of
the sensors and put out an action to the effector.
· Algorithm of description in pseudocode
I describe the algorithms in pseudocode which must be familiar
with the users of the languages Java, C++ and Lisp. But I have to point out
some idiosyncrasies:
v Static variables: We use the key word
«static» for saying that a variable receives an initial value the
first time that a function is called and retains this value in the next calls
of the function.
v Functions: The functions and the procedures
have names in capital letters, and the variables have names in italic and tiny.
A call of a function is similar to FN(X).
v The tables start with 1. The first index of
a table is 1 as in the usual mathematical notation and not 0 as in Java and
C++.
v The indentation is significant. The
indentation is used to mark the field of a loop or conditional, as in the
Python language, contrary to the language Java and C++ (which use accodances)
or Pascal and Visual BASIC language (which use end).
Example of the program of an agent
The program Agent-directed-with the help of-table which is
bound to for each new perception and return an action to each moment. The
program stores a succession of perceptions by using its own private structure
of data.
Function Agent-directed-with the help
of-table (perception) returns an action
Static variables: perceptions, a
continuation, empty initially
Count, a table of actions, indexed by continuations of
perceptions, completely definite initially.
To add perceptionI at the end of
perceptions
Action? CONSULTATION (perceptions, table)
Return an action
This pseudo code shows the program of a very simple agent
which stores the continuation of perceptions and afterwards, compares them with
the continuations stored in the table of actions to decide what it must do.
The table explicitly represents the function which defines the
program of the agent. To build a rational agent in this way, the designers must
carry out a table which contains the actions associated with each continuation
with perceptions.
But because of the large dimensions of the tables, it is
practically impossible to design agents directed by the help of tables.
Thus, we present the four fundamental types of the programs of
the agents which embody the fundamental principles of all the intelligent
agents:
· Simple reactive agents
· Reactive agents based on the models
· Agents based on the objectives
· Agents based on the utility.
1. Simple reactive agents
The simplest type of the agent is the simple reactive agent.
This type of agent chooses the actions according to current perceptions, being
unaware of the remainder of historical perceptions. For example, the Cleaner
agent whose function of agent can arise in a partial table hereafter:
Continuation of perceptions
|
Actions
|
[ A, clean ]
[ A, dirty ]
[ B, clean ]
[ B, dirty ]
[ A, clean ], [ A, clean ]
[ A, clean ], [ A, dirty ]
[ B, clean ], [ B, clean ]
[ B, clean ], [ B, dirty ]
[ A, clean ], [ A, clean ], [ A, clean ]
[ A, clean ], [ A, clean ], [ A, dirty ]
[ B, clean ], [ B, clean ], [ B, clean ]
[ B, clean ], [ B, clean ], [ B, dirty ]
|
Right-hand side
aspirate
Left
aspirate
Right-hand side
aspirate
Left
aspirate
Right-hand side
aspirate
Left
Aspirate
|
The cleaner agent is a simple reactive agent because it makes
its decisions while being based on the state of the current localization. Its
program of agent arises as follows:
Function CLEANER_REACTIF_AGENT
([localization, state]) returns an action
If state = dirty return
Aspirer
Otherwise if localization = A then
return Right-hand side
Otherwise if localization = B then
return Left
1. Reactive agents based on the models
The most effective manner for the
agents to handle the partial visibility is to store information on these parts
of the world which they cannot see. Thus, the agent must maintain a certain
type of internal state which depends on the perceived history which can reflect
at least the non-observable aspects of the current state. The use of the
information of the state interns as time passes requires codifying two types of
knowledge in the program of the agent:
Ø The knowledge concerning how evolves/moves the world
independently of the agent;
Ø The information on how the actions of the agent
affect the world.
This knowledge on how the world functions, whether it is
implemented with a simple Boolean circuit or complete scientific theories, is
called "model of the world". An agent which uses this model is an agent based on the models.
The structure of a simple reactive agent with state interns
arises as follows:
How is currently the world?
Which action do I have to take?
state
Which effects my actions cause
Rules of production
This structure shows how current perception combines with the
state interns old to generate the brought up to date description of the current
state. The program of the agent arises as follows:
Function reactive-Agent-with-state
(perception) returns an action
Static: state, a current
description of the state of the world
Rules, a whole of rules condition-action
Action, the more recent action, initially none
State refresh-state (state, action, perception)
Rule: Rule-coincidence (state, rules)
Action Rule-Action [Rule]
Return action
A reactive agent based on the models, which stores information on
the current state of the world by bringing up to date an internal model. Then
an action chooses in the same way that the reactive agent.
The interesting part is the one corresponding to
refresh-state function, which is responsible for the creation of the new
description of the internal state. In addition to the interpretation of the new
perception starting from existing knowledge on the state, it uses information
relating to the way in which the world evolves/moves to know more about the
parts of the world which are not visible; for that reason it must know which is
the effect of the actions of the agent on the state of the world.
2. Agents based on the objectives
Knowledge on the current state of the world is not always
sufficient to decide what to make. For example, in a crossing of ways, the
taxi-man can transfer on the left, to transfer on the right or continue right.
The correct decision depends on where the taxi wants to go. In other words, in
addition to the description of the current state, the agent needs certain
information on its objective which describes the situations
which are desirable, for example, to arrive at the destination suggested by the
passenger. The program of the agent can combine with information on the results
of the possible actions (same information used to bring up to date the internal
state in the case of the reactive agent) to choose the actions which make it-
possible to achieve the goal. The structure of the agent based on the
objectives arises as follows:
How is currently the world?
Which action do I have to take now?
state
How the world evolves/moves ?
Which effects my actions cause?
Objectives
Senseurs
Effectors
How is currently the world?
Agent
Agent based on the objectives and on the models, which stores
the information of the state of the world as well as the whole of the
objectives that it tries to reach, and which is able to choose the action which
possibly will guide it towards the attack of its objectives.
In some occasions, the choice of the actions based on the
objectives is direct, when to achieve the goals is the immediate result of an
individual action. In other occasions, this choice can be complicated, when the
agent must consider complex sequences to find the way which enables him to find
the objective. Research and planning are
under the fields of the Artificial Intelligence which are focused on how to
find the sequences of the actions which make possible the agents to achieve
their goals.
It should be considered that the decision-making of this type
is basically different from the rules of condition - action described before,
in which it is necessary to take account of the considerations on the future
(such as "what will occur if I do this or that?" and "this will return to me it
happy?"). In the designs of the reactive agents, this information is not
represented explicitly, because the rules which the agent handles directly
project perceptions on the actions. The reactive agent slows down when it sees
the lights of brake. An agent based on the objectives, at the beginning, can
reason that if the vehicle which it sees in front of A of the lit lamps of
brake, therefore it is spirit to reduce its speed. Being given the way in which
the world evolves/moves normally, the single action which makes it possible to
achieve the goal not to knock itself against other vehicles, it is to slow
down.
Although the agent based on the objectives can appear less
efficient, it is more flexible since the knowledge which supports its decision
is represented explicitly and can be modified. If it starts to rain, the agent
can bring up to date its knowledge on how behave the brakes; what will imply
that all the concerning manners to bring up to date deteriorate automatically
to adapt to the new circumstances. For the reactive agent, in addition, we will
have to rewrite much rules of condition-action. The behavior of the agent based
on the objectives can change easily so that it moves to a different
localization. Rules of the reactive agents in connection with when to transfer
and when to continue straight are valid only for one concrete destination and
must be modified each time the agent moves to another destination.
3. Agents based on utility
The objectives itself are not sufficient to generate a
behavior of great quality in the majority of the environments. For example,
there are many sequences of actions which will lead the taxi to its
destination, but some are faster, sourer, more reliable, or less expensive than
others. The objectives alone provide a raw binary distinction between the
states of "happiness" and "sadness", whereas a measurement of more general
efficiency should allow a comparison between various states of the world
compared to the exact level of happiness than the agent reaches when it arrives
in a state or other. As the "happiness" term does not sound more scientific,
the traditional terminology uses in these cases to indicate that we prefer a
state of the world is a state with more utility than another
for the agent.
A function of utility projects a state (or
a sequence of states) on a real number which represents a level of happiness.
The complete definition of a function of utility makes it possible to make
rational decisions in two types of case in which the objectives are inadequate,
when there is conflict of objectives and that only some of them must be reached
(for example, speed and safety), the function of utility determines adequate
balance. Secondly, when there are several objectives and that none of them can
be reached with certainty, the utility provides a mechanism to balance the
probability of success according to the importance of the objectives.
4. Learning agents learning
An agent which learns can be divided into four conceptual
components that can be shown in the following figure:
General structure of the learning agents
The more significant distinction between the element
of training and the element of dealing is that former
first has the responsibility to make improvements and the later has the
responsibility for the choice of the external actions. The element of dealing
is what we had considered before as the complete agent: it receives the stimuli
and determines the actions to realize. The element of apprenticeship supplies
with criticisms on the schemes of the agent and determines how
the element of schemes must change to provide better results in the future.
The design of the element of training depends much on the
design of the element of dealing. When we try to design an agent which has the
capacity to learn, the first question is be to answered is "how to teach to
learn?" if not "Of which type of element of dealing the agent needs to achieve
its objective, when it learned how to do it?". I view of a design for an agent;
we can build the mechanisms of training necessary to improve each part of the
agent.
Criticism indicates to the element of training how the agent
acts compared to a level of fixed dealing. Criticism is necessary because
perceptions itself do not envisage an indication of the success of the agent.
So, it is significant to fix the level of dealing.
The last component of the agent which learns is the
generator of the problems. It suggests actions which will lead the
agent towards new and informative experiments. What is interesting is that if
the element of dealing goes on its way, it can continue to achieve better
actions, in view of its knowledge. But if the agent is laid out to explore a
little, and to achieve actions which are not completely optimal in the short
run, it can discover better long-term actions. The work of the generator of the
problems is to suggest these exploratory actions. It is what the scientists do
when they realize the experiments.
To carry out a complete design, we can reuse the example of
the automated taxi. The element of dealing consists of the collection of
knowledge and procedures which the taxi has to choose its actions of control.
The taxi is started and circulates by using this element of dealing. Criticism
observes the world and provides information to the element of training. For
example, after the taxi goes to opposite band (i.e. on its left) in a fast way,
criticism observes the scandalous language which use of other drivers. From
this experiment, the element of training is able to formulate a rule which
indicates that "to pass quickly to the opposite band" is an ill deed, and the
element of dealing changes by incorporating the new rule. The generator of the
problems must identify certain zones of behavior which must improve and suggest
experiments.
The element of training can make exchanges in any of the
components of "knowledge" which are shown in the diagrams of the agent. The
simpler cases include the direct training starting from the perceived
sequences. The observation of a certain number of successive states of the
environment can allow that the agent learns "how the world evolves/moves", and
the observation of the results of its actions can allow that the agent learns
"what make its actions". For example, if the taxi exerts a certain pressure on
the brakes when it is circulating on a wet road, it knows how the vehicle
decelerates. In light, these two tasks of training are more difficult if there
is only one sight partial of the environment.
The kinds of training shown in the paragraphs up do not
require the access to the levels of external dealing, in a certain manner, the
level is that used universally to make forecasts in accordance with the
experimentation. The situation is slightly more complex for an agent based on
the utility which wishes to acquire information to create its function of
utility.
I.2. Notion of the expert systems
Professor Edward Feigenbaum of the University of Stanford,
pioneer in technology of the expert systems defined it as "a program of
intelligent treatment which uses knowledge and the procedures of inference to
solve problems which are so difficult that they require a significant human
experiment for their solution" (Feigenbaum 82).
Thus, an expert system is a system of treatment which
emulates the skill to make decisions of a human specialist.
The verb «emulate» means that the expert system has
the objective to act in all the aspects like a human specialist.
The expert systems are a branch of the artificial intelligence
which makes full use of knowledge specialized to solve problems like a human
specialist. This last is a person who has a knowledge
developed in a given field. The specialist thus has special knowledge
or skills that the majority does not know, it can solve problems which the
majority cannot solve, or it solves them with much more efficiency.
The terms expert systems or system
based on knowledge or expert system based on knowledge
are used like synonyms.
The I.2 figure illustrates the basic concept of an expert
system. It includes two principal components: The base of knowledge
contains the knowledge which allows the mechanism inference
to make conclusions; these one are answers of the expert system to the
special consultation of the user. The following figure is showing basic
concepts of functioning of an expert system:
User
Basic knowledge
Inference mechanisme
Facts
Experts
Aptitudes
Figure 1.1 Basic Concepts of functioning of
Expert system
Contrary to the general techniques of the solution of the
problems, the knowledge of a specialist specifically concentrates on
the field of the problem, like medicine, finances, sciences,
engineering, etc, in which the specialist can solve problems with facility. The
expert systems are conceived specialized in a field of the problem.
The knowledge of the specialist to solve specific problems is
called field of knowledge of the expert.
In its field of knowledge, an expert system reasons or makes
inferences in the same way that a human specialist can deduce
the solution of a problem. I.e., being given certain facts, we deduce a
solution.
I.2.1.
Advantages of an expert system
The attractive advantages of expert systems are as follows:
o Great availability: The experiment is
available for any equipment of adequate treatment. In a more real direction, an
expert system is the massive production of the experiment.
o Reduced cost: The cost to place the
experiment at the disposal of the user is enormously reduced.
o Reduced danger: The expert systems can be
used in environments which could be dangerous for a human being.
o Permanence: The experiment is permanent.
Contrary to the human specialists who can withdraw themselves, give up or die,
the knowledge of an expert system will last indefinitely.
o Multiple experiment: The knowledge of
several specialists can be available to work simultaneously and continuously on
a problem, at any hour of the night or day. The level of experiment combined
with many expert systems can exceed that of only one human specialist (Harmon
85).
o Explanation: The expert system can explain
clearly and in detail the reasoning which leads to a conclusion that increases
the confidence which the decision taken was correct. A human being can be
tired, can give up or not to be able to always do it.
o Fast answer: A fast response or in real
time can be necessary for certain applications. According to the software or
hardware used, an expert system can answer more quickly and to be pus laid out
that a human specialist, so that an expert system in real time constitutes a
good choice (Hugh 88, Ennis 86).
o Solid, complete answers and without emotions, in any
moment: This can be very significant in real time and situations of
emergence, when a human specialist does not function with all his capacity
because of the pressure and tiredness.
o Intelligent teaching: An expert system can
act as an intelligent teacher while leaving that the student carries out
programs of example and by explaining the reasoning of the system.
o Intelligent Base data: The expert systems
can be used to have access to a data base in an intelligent way.
I.2.2.
General Concept of the expert systems
The knowledge of an expert system can be represented several
in manners (it can be encapsulated in the rules and the objects).
A common method to represent knowledge is in form of
the rules of the type IF... then...
For example:
IF the light is red THEN you stop.
A traditional expert system embarks a not written knowledge
which must be obtained from a specialist through intense interviews by
an engineer in knowledge (knowledge engineer)
for a long period. The process of the construction of an expert system is
called engineering of knowledge and consists of the
acquisition of knowledge near a human specialist or another source, and its
coding in the expert system.
General stages of the development of an expert system are
developed in the figure 1.3 here after:
Human specialist
Engineer of knowledge
Basic knowledge of the expert system
Dialogue
Clarification in rules
The engineer of knowledge establishes initially a dialogue
with a specialist to obtain his knowledge. Then, the engineer of knowledge
explicitly codifies knowledge in the basic knowledge in form of the rules. The
specialist then evaluates the expert system and present criticisms at the
engineer of knowledge. This process is repeated until the expert considers
satisfying the behavior of the expert system.
The expert systems are often conceived differently from the
conventional programs because the problems generally do not have an algorithmic
solution and depend on the inferences to obtain a reasonable solution, by
considering the solution obtained as best which one can expect if there is no
algorithm leading the optimal solution. Because the expert system depends on
the inference, it must be able to explain its reasoning so that it is checked.
The facility of explanation forms the
integral part of the sophisticated expert systems.
Some expert systems allow that the system learns from the
rules through the example by using the induction of the rules
starting from the tables of the data.
I.2.3.
Characteristics of an expert system
An expert system can be conceived so that it has the following
characteristic:
o High output: The system must have the
capacity to answer to a qualification level equal or higher than a specialist
in the field. That means that the quality of council given by a system must be
very high.
o Adequate response time: The system must
act as a reasonable time, comparable or better at the time required by a
specialist, to make a decision.
o Reliability: the expert system must be
reliable and does not have to know "faults" if not it will not be used.
o Comprehensible: the system must be able to
explain the stages of its reasoning while they are carried out, instead of
being only one block box which produces a miraculous answer.
o Flexibility: Considering the great quantity
of knowledge which an expert system can have, it is significant to have an
efficient mechanism to add, modify, and eliminate knowledge.
A reason of the popularity of the expert systems based on the
rules is the efficient and modular capacity of storage of the rules.
I.
2.4. Languages, shells and tools
Although the expert systems are a branch of the AI, there are
languages specialized for expert systems which are completely different from
the common languages of the AI, like LISP and PROLOG. Although, many others
were developed, like IPL-II, SAIL, CONNIVER, KRL and Smalltalk. They are used
amply, except for ends of research.
A language for expert systems is language of a nature higher
than the languages like LISP or C because it makes possible to make certain
things with many facilities, but also it makes it possible to attack a very
small row of problems. This means that the specialized nature of these
languages makes them adaptable to work out expert systems, but not for the
programming in general. In most of case, it is even necessary to leave
temporally the language for expert system and to carry out a function in a
language of conventional treatment.
The principal functional difference between these languages is
the approach of the representation. The procedural languages concentrate to
provide flexible and robust techniques to represent the data. For example, the
structures of data like the matrices, the registers, the chained lists, the
piles, the queues and the trees are created and handled easily. The modern
languages as Modulated-2, Ada, C++, Java, and so on, are conceived to
facilitate the abstraction of the data, by providing
structures for their encapsulation like modules or packages. This provides a
level of abstraction which is then established with methods like operators and
instructions of control to produce a program. Data are closely dependent with
methods which handle them. On the other hand, the languages for expert systems
concentrate to provide robust and flexible forms to represent knowledge; the
paradigm of the expert systems allows two levels of abstraction: abstraction of
the data and abstraction of knowledge. The languages for
expert systems specifically separate the data of the methods to handle them. An
example of this separation is the one of facts (abstraction of the data) and of
the rules (abstraction of knowledge) which employ a language for expert system
based on the rules.
The difference in approach provides also the difference in
methodology of design of the program. Because of the close connection between
the data and knowledge in the directed programs treatment, the programmers must
describe the sequences of execution carefully. However, the explicit separation
of the data and knowledge in the languages for expert systems requires a
control much less rigid of the sequence of execution. In general, we use a part
of code completely separated, the mechanism of inference, to apply knowledge to
the data; this separation between knowledge and data allows a high degree of
parallelism and modularity.
By choosing a language, a fundamental question must be if the
problem requires more knowledge or of intelligence? The expert systems depend
on a great quantity on specialized knowledge or experiment to solve a problem,
while the AI puts the emphasis on a method for the solution of the problem. It
is common that the expert systems depend on the correspondence of the models in
a field of knowledge restricted to guide their execution, while the AI usually
concentrates in the search for paradigms in less restricted fields.
The usual manner to determine whether it required there of an
expert system is to decide if we want to program the experiment of a human
specialist, if this one exists and wants to cooperate. At this point in time a
proposal of the expert system can have success.
The way to choose a language for expert system is full with
confusions. A few years ago, the choice of a language for expert system was
very direct, there was only nearly 6 languages available and was in general
free or cost a nominal price which was paid at the university where they
developed.
However, with the increasing commercial explosion in the field
of the expert systems, since the Seventies, the choice of a language is not
simple any more. Currently, there is dozen languages available, with prices
which arrive up to 75.000 $ US. Although it is still possible to obtain free
some of the old languages like the OPS5.
In addition to the confusion of choice among the languages
available, the terminology used to describe them is confused. Certain salesmen
talk about «tools», while others talk about «shells» and
some others about «integrated environments». To keep clearness, these
terms will be defined as follows:
Language: it is a translator of orders
written with a specific syntax. A language for expert system provides also a
mechanism of inference which carries out the instructions of the language.
According to the way in which it is implemented, the mechanism of inference can
provide the front, back chaining or both at the same time. According to this
definition, LISP is not a language for expert system, but PROLOG, yes. However,
it is possible to write a language of expert system by using LISP and the AI in
PROLOG. We can even write a language for expert systems or the AI out of
assembler. The questions concerning the time of development, suitability, the
conservation, the effectiveness and speed determine in which language must be
written the software.
Tool: is a language additionally associated
to the tools for facilitating the development, the purification and the use of
the application programs. The tools can include the image and text editors, the
purifying ones, the managers of files and even the generators of code. We can
also adapt assemblers of platform crossed to transport the code of development
to a different hardware. For example, an expert system can be developed in VAX
of DEC and then to be assembled to be carried out in Motorola 68000. Certain
tools can even admit the use of different paradigms, like the chaining before
and back in an application.
Shell: tool for special purposes, conceived
for a certain type of applications in which the user must only provide the base
of knowledge. The traditional example is Shell of EMYCIN (MYCIN empties) which
was carried out by eliminating the base from medical knowledge of expert system
MYCIN.
I.2.5.
Elements of an expert system
The figure 5.4 shows the elements of a typical expert system.
In a system based on the rules, the base of knowledge contains the knowledge of
field necessary to solve the problems codified in the form of rules. While the
rules are a popular paradigm to represent knowledge, other types of expert
systems use various representations.
An expert system includes the following elements:
1. User interface: the mechanism which
allows the communication between the user and the expert system.
2. Means of explanation: explain to the user
the reasoning of the system.
3. Active memory: A total data base
of the facts used by the rules.
4. Mechanism of inference: makes inferences
while deciding which rules satisfy the facts or the objects, priority gives to
the satisfied rules and carries out the rule with the highest priority.
5. Diary: created by the mechanism of
inference, the diary is a list with priorities assigned with the rules whose
models satisfy the facts or the objects of the active memory.
6. Means of acquisition of knowledge: sees
automatic so that the user introduces knowledge into the system, without having
the engineer of knowledge so that it codifies the explicit knowledge of manner.
According to the establishment of the system, the user
interface can be a simple screen of text or a very sophisticated screen, of
high resolution, with maps of bits which in general, is used to simulate a
control panel with buttons and windows.
In an expert system based on the rules, the base of knowledge
receives also the name of memory of production. Let us take
the example of the problem for deciding on the crossing of a street. The
production for the two rules is as follows, where the arrows mean that the
system will carry out the actions which are on the right arrow if the
conditions of A left are true:
the light is red ? Stop
the light is green ? cross
The production of rules can be expressed in a pseudo-code
equivalent with the format IF... THEN, as follows:
Rule: light is red
IF
the light is red
THEN
Stop
Rule: Light is green
IF
the light is green
THEN
Cross
Each rule is identified by a name, follow-up of the part IF
rule. The section between the parts IF and THEN bears several names like
antecedent, conditional, model part or right side.
The individual condition
The «light is green» is called conditional
element or model.
Certain examples of the rules of the real expert systems are:
System MYCIN for the diagnosis of meningitides and bacterial
infections.
IF
The culture medium is blood, and
The identity of the organization is not known with certainty,
and
The colouring of the organization is gram negative, and
The morphology of the organization is in sticks, and
The patient presents a rise in the temperature
THEN
There is a weak obviousness which suggests (4) the identity of
the organization is pseudomone
System XCON/R1 to configure the systems of treatment VAX of
DEC.
IF
The current context is the assignment of the devices to the
Unibus modules and
There is a disk drive with dual port which was not assigned
and
The type of necessary controller is known and there are two
controllers and none them has an assigned device and
The number of devices which these controllers can support is
known
THEN
To assign the disk drive to each controller, and
To revise that the two controllers were associated and that
each one supports drive
In a system based on the rules, the mechanism of inference
determines which antecedents of rule, if there is, were satisfied by the facts.
Two general methods of inferences which are used with frequency as strategies
for the solution of the problems with the expert systems are: the
chaining before and the back chaining. Other methods
used for more specific needs can include the analysis of the means and ends,
the reduction of the problem, the localization in towards, the test of
generation of the plans, the hierarchical planning of the problem, etc.
The front chaining is the active reasoning of the facts to the
conclusions which result from it. For example, if you see that it is spirit to
rain before leaving the house (made), then you must leave with an umbrella
(conclusion).
The back chaining implies reasoning reverses energy of an
assumption aiming at checking a possible conclusion, with the facts. For
example, if you did not look at outside and somebody enters with wet shoes and
an umbrella, your assumption will be that it is spirit to rain; to support it
you could ask the person if in truth it is spirit to then rain, if the answer
is yes, the assumption is true and is converted into a fact. Like known as
front, an assumption can be seen as a fact whose veracity is in doubt and
requires to be restored. The assumption can then be interpreted like an
objective to check.
According to the design, a mechanism of inference will carry
out the chaining before or the back chaining. For example, OPS5 and CLIPS are
designed to carry out the front chaining, whereas MYCIN carries out the back
chaining, and other types of mechanisms of inference, like ART and KEE carry
out both. The choice of mechanism of inference depends on the type of the
problem. The diagnostic one of the problems is solved better with the back
chaining, while the supervision and control are carried out better with the
help of the front chaining.
The active memory can contain facts which contemplate the
current state of the light, as "the light is green" or "the light is red". One
of these facts or all can be in the active memory at the same time. If the
semaphore functions normally, only one of these facts will be in the memory.
However, it is possible that two facts are in the memory if there is a
dysfunction in the semaphore. Note that there is a difference between the base
of knowledge and the active memory. The facts cannot interact between them; the
fact "the light is green" does not have an effect on the fact "the light is
red"; on the other hand our knowledge of the semaphore says that if the two
facts are present in a simultaneous way, then there is a fault in the
semaphore.
If there is a fact "the light is green" in the active memory,
the mechanism of inference will realize that this fact satisfies the
conditional part of the rule of green light and will put this rule in its
diary. If a rule has several models, then all must be satisfied with a
simultaneous way so that the rule passes to the diary. Certain models can be
satisfied by specifying the absence with certain facts in the active memory.
When all the models of a rule are satisfied, it is said that
it is activated or initiated. Several
activated rules can be in the diary at the same time, in which case, the
mechanism of inference must choose a rule of discharge. The term to discharge
comes from the neurophysiology, the study of the nervous system. An individual
nervous cell or neuron emits an electric signal when it is stimulated; the lack
of much of stimulus can cause that the neuron still discharges for a short
period; this phenomenon is called refraction. The expert systems based on the
rules are built by using the refraction with an aim of preventing commonplace
embrouillements. I.e., that if the rule of the green light continues to
discharge several times on the same fact, the expert system will not complete a
useful work.
Several methods were invented to obtain the refraction. In a
language for expert systems called OPS5, each fact receives a single, known
identifier like labels time, when it is introduced into the
active memory. After a rule discharged a fact, the inference engine will not
discharge any more on the same fact because its label of time was already used.
After the part THEN of a rule, there is a series of
actions which will be carried out when the rule discharges.
This part of the rule is known like the consequence or
right side. When the rule of the red light discharges, its
action is to cross. In general, the specific actions include the addition or
the suppression of the facts in the active memory or the results of
impressions. The format of these actions depends on the syntax of the language
used; for example, in OPS5, ART and CLIPS, the addition of a new fact called
"to stop" with the memory activates would be (to affirm to stop). Had to their
predecessor LISP, these languages were conceived to require brackets around the
models and actions.
The mechanism of inference operates in cycles. Several names
were given to describe the cycle, like cycle act-recognition, cycle
selection-execution, cycle situation-answer and cycle
situation-action. It does not matter the name, the mechanism of
inference will carry out a group of some tasks repeated until certain criteria
cause the stop of the execution. The tasks of a cycle for OPS5, Shell of expert
system typical, are shown in the pseudocode according to like
resolution of conflict, act, correspondence and
checking of the interruptions.
As long as nothing is done
Resolution of conflict: if there are
activations, then to select that having more raised priority
Act: sequentially to carry out the actions
on the right side of selected activation. Those which change the memory
activates have an immediate effect in this cycle. To eliminate from the diary
the activation which has just discharged.
Correspondence: to update the diary while
revising if the left side of an unspecified rule is satisfied. In this case, to
activate the rule. To eliminate the actions if the left sides of the rules are
not satisfied any more.
Checking of the interruptions: if an action
of interruption is carried out or an ordering of rupture is given, then to
carry out them.
END - AS LONG AS
To accept the orders of the new user.
Several rules can be activated and pass to the diary during a
cycle. Activations of the former cycles will also remain in the diary unless
which they were decontaminated because their left sides are not read satisfied.
Thus, the number of activations in the diary will vary during the execution.
According to the program, an activation can in the diary but ever be always
selected to discharge; same manner, certain rules can never not be activated.
In these cases, the objectives of these rules should be re-examined because
either they are not necessary, or their models had not been well designed.
The mechanism of inference carries out the actions of
activation having the highest degree of priority in the diary, then, those of
following in degree of priority and so on until there is no activation. Various
diagrams of priority were conceived in the shells of the expert systems. In
general, all the shells allow that the engineer of knowledge defines the
priority of the rules.
The conflicts in the diary arrive when various activations
have the same degree of priority and that the mechanism of inference must
decide which rule to discharge. Different the shells has different manners to
deal with this problem: in the original paradigm of Newell and Simon, the rules
which entered the first in the system have the predetermined priority highest
(Newell 72, p. 33); in OPS5, the rules with more complex models have the most
raised priority; in ART and CLIPS, the rules have the same predetermined
priority unless the engineer of knowledge assigns distinct priorities to them.
For this moment, control turns over at the maximum
level of interpreter of the orders so that the user gives more
instructions to Shell of the expert system. The maximum level is the
predetermined manner in which the user communicates himself with the expert
system, and it is indicated by the task "To accept new orders of the user".
The maximum level is the user interface with Shell while an
application of expert system develops. Regularly user interfaces more
sophisticated are designed to facilitate the operation of the expert systems.
For example an expert system to control a manufacturing plant can have a user
interface which shows the bar chart of the factory, with posting of high
resolution of map of bits colors. The warnings and the messages of state can
appear brilliant colors, with buttons and scales simulated. Actually, the main
effort can be devoted to the design and the implementation of the user
interface, and not to the base of knowledge of the expert system, especially
when it is about a prototype. According to the capacities of Shell, the user
interface can be implemented starting from the rules or in another language
called by the expert system.
A means of explanation must admit that the user puts the
question how the system arrived at a certain conclusion or why certain
information is necessary. For an expert system based on the rules, the question
of knowing how the system arrived at a certain conclusion is easy to answer
because it is possible to keep in a panel a history of the activated rules and
contents of the active memory. The sophisticated means of explanation allow
that the user puts questions of the type "that would happen it if...?" to
explore the ways of reasoning which are alternated through the hypothetical
reasoning.
I.2.6.
Systems of production
a) Systems of
production of the rules
One of the most popular types of the expert systems currently
is that based on the rules. The rules are popular for various reasons:
· Modularity: This makes easier to encapsulate knowledge
and to extend the expert system starting from an increasing development.
· Means of explanation: It is simple to build means of
explanation with rules because the antecedents of a rule specify exactly what
is necessary to activate it. By keeping the register of the rules which
discharged, a means of explanation can present the chain of reasoning which led
to a certain conclusion.
· Similarity with the human cognitive process: While
being based on the work of Newell and Simon, the rules appear as a natural
model in the way in which the human ones solve the problems. The Representation
IF... THEN rules facilitates the explanation of the specialists concerning the
structure of the knowledge which one tries to obtain from them. Other
advantages of the rules are described in Beam-Roth (85).
The rules are a type of production whose origins go back to
the Fifties. Had with the importance of the systems based on the rules, it is
worth the sorrow to examine the development of the concept of the rule. This
will give a better idea on why the systems based on the rules are so useful for
the expert systems.
b) Systems of
production of Post
The system of production was used initially in symbolic logic
by Post, which gave the origin to its name. It checked the significant one and
surprising result that unspecified mathematical system or logic could be
written like a certain type of system of the rules of production. This result
established the great capacity of the rules of production to represent larger
classes of knowledge instead of being limited to some types. Under the term
to rewrite rules, these one are also used in linguistics
like a manner of defining the grammar of a language. The languages of computer
are usually defined by using the form Backus-Naur (BNF) rules of production.
The basic idea of Post was that unspecified mathematical
system or logic represented only one whole of rules which specified how to
change a succession of symbols into another. I.e., being taken an action
pursuant of entry, the antecedent, a rule of production could produce a new
continuation, the consequence. This idea is also valid with programs and expert
systems in which the initial continuation of the symbols is consisted by the
input data and the continuation of exit is a transformation of what was
introduced.
Here is a simple case, let us suppose that the chain of entry
is "the patient has the fever", the chain of exit could be "take an aspirin".
Note that there is no significance which binds the two chains. I.e. the
handling of the chains is based on syntax and not on the semantics or the
comprehension of what fever, patient or aspirin mean. Human knows what these
chains in terms of the real world mean, but a system of Post production is only
one manner of transforming a chain into another. A rule of production for this
example could be:
Antecedent ? Consequence
Does the patient have the fever? Let him take an aspirin;
Where, the arrow indicates the transformation of a chain into
another. This rule can be interpreted in terms of the more familiar notation
IF... THEN in this manner:
IF the patient has the fever then let him take an aspirin
The rules of production can also have multiple antecedents.
For example:
The patient has the fever and
Is the fever with more than 39 ? let him see the doctor
Note that the special connector "and" does not form part of
the continuation; it states simply that the rule has several antecedents.
A system of production of Post consists of a group of rules of
production, as the following ones (the figures between brackets are there for
ends of analysis):
(1) Doesn't the car start ? let revise the battery
(2) Doesn't the car start ? let revise the fuel
(3) To revise the battery and if the battery is bad ? to
replace the battery
(4) To revise the fuel and if there is no fuel ? let fill the
fuel tank
expert system.
Conclusion
This chapter was about general notions of artificial
intelligence and expert system; it helped me to know what artificial
intelligence and expert system are, their structure and their functioning.
CHAPTER II: SOME GENERALITIES ON COMPTUTER NETWORK
This chapter is focusing on the definition, the interest, types,
and the topology of computer network.
II.1. Concepts of networks
II.1.1.Definition
A network is collection objects which are interconnected to
one another. It allows elements to make movement between these
objects according to well-defined rules.
- Computer network
A computer network is a collection of hardware and software
equipment interconnected the ones with the others with the aim of sharing
resources (given). This equipment can be moved away or brought closer.
According to the distance between this equipment, we distinguish the following
networks:
- The LAN (Local Area Network)
- The MAN (Metropolitan Area Network)
- The WAN (Wide Area Network)
- The WLAN (Wide LAN)
II.1.2. Interest of a network
Recently, the need for communication and the division of
information in real time imposes the companies the setting in network of their
computer equipment in order to improve their outputs. A network allows:
- The communication between people (thanks to the electronic
mail, the discussion on line, and so on.)
- The communication between process (between industrial
machines)
- Guarantee of the unicity of information (data bases)
- The application, file sharing and so on.
II.1.3. various types of network
Generally, distinguish two types of network, having all the
same similarities.
- The Peer to Peer network (equal to equal)
- Network organized around servers (customer/server)
These two types of network have different capacities. The type
of network to install depends on the following criteria:
- Size of the company
- Necessary level of safety
- Type of activity
- Available level of Administration competence
- Volume of the traffic on the network needs of users on the
network.
II.1.4. various types of physical topologies of the networks
Physical topology is the way in which equipments (computers)
are connected between them. There are three kinds:
- Bus topology: (bus topology is
characterized by a central cable on which all the members of the network are
connected). In this type of architecture, information is sent in the two
directions; thus, the server is in the center. The passing on of the data on
the bus is done after listening and absence of announcement on the bus). the
following figure presents bus topology:
Figure II.1. (Bus topology)
- Star topology: (star topology is
characterized by a central point (HUB or SWITH) on which all the members of the
network are connected. The HUB transports10 Mbps whereas the switch transport
100 Mbps, and it is used at least in a network of 50 stations. The figure
below presents four working stations connected by a switch or hub.
Figure II.2. (Star Topology)
- Ring topology: Ring topology just likes
star topology; it is characterized by a central point on which all the members
of the office of the network are connected. This central point is commonly
called MAU
(MultistationAccessUnit).
The figure below presents ring topology:
Figure II.3. (Ring topology)
II.1.5. Wireless networks
a) Definition
A wireless network (in French réseau sans fil) is a
network in which at least two terminals can communicate without telegraphic
connection. The wireless networks are based on a connection use, of the radio
waves (radio and infra-red) instead of usual cables. Wireless networks make
possible to connect easily the distant equipment of ten meter to a few
kilometers.
b) Various types of wireless networks
We distinguish several categories of wireless networks, according
to the zone of cover.
II.1.5.1. Wireless Personal networks
The wireless personal network (also called wireless individual
network or wireless domestic network; and noted WPAN:
Wireless Personal Area Network), concerns the wireless
networks of a short distance (approximately 10 meters). There are several
technologies used for the WPAN:
- Bluetooth: Principal technology used for
the WPAN is Bluetooth, proposing a theoretical output of 1Mbps
for a maximum range of about thirty meters. Bluetooth, known also under the
name IEEE 802.15.1.
- HRF (Home Radio operator Frequency):
launched by HRF Working Group (formed in particular by manufacturers Compaq,
HP, INTEL, Siemens, Motorola and Microsoft) proposes a theoretical output of 10
Mbps (a range from approximately 50 to 100 meters without amplifier. This
technology was replaced by Wi-Fi (wireless fidelity) with incorporation of a
microprocessor and a Wi-Fi adapter)
- ZigBee technology (known under the name
IEEE 802.15.4) makes possible to obtain connections without wire.
§ Wireless Local Area Networks (WLAN):
The Wireless Local Area Network is a network which makes possible to cover the
equivalent of a local area network, that is to say a range of approximately a
hundred meters.
§ Wireless underground railway networks
(WMAN): The Wireless underground railway network (Wireless
Metropolitan is based on the standard IEEE 802.16. The Radio Loop Local offers,
a productive flow from 1 to 10 Mbit/s for a range from 4 to 10 km, which
intends mainly this technology to the operators of telecommunication.
§ Wireless Wide Area Networks (WWAN):
The Wireless Network WWAN is also known under the name of mobile cellular
network. They are the most widespread wireless networks because all the mobile
telephones are connected to a wireless wide area network. Here are its
principal technologies:
o GSM (Total System for Mobile Communication)
o GPRS (General packet Radio operator Service)
o UMTS (Universal Mobile System Telecommunication System)
Conclusion
The second chapter of my work has deal with the generality of
computer network; this chapter is very important because its theories helped me
to compose the network evaluation.
CHAPTER III: DESIGN OF THE EXPERT SYSTEM
This chapter deals with the design of my expert system; this
design is divided in two parts: the former is the construction of the knowledge
base, and the last is the implementation of the application.
III.1. Description of the knowledge base
The knowledge base is a part of an expert system containing
the collection of information, particularly rules and facts, which constitute
the domain of competence of the system. It contains the knowledge which allows
the inference mechanism to make conclusions; those are answers of the expert
system to the special consultation of the user.
III.2. Presentation of rules and facts
Global variables definition: name, pwd, cote,
Rule display logo:
If initial fact is present in the fact list
Then
Clear the window, display the home screen:
"*==========================================================*"
"*
*"
"*
UNIVERSITY OF KINSHASA *"
"*
*"
"* FACULTY OF ART AND HUMAN
SCIENCES *"
"* DEPARTEMENT OF BUSINESS ENGLISH AND COMPUTER
*"
"*
*"
"*
*"
"*
*"
"*
*"
"* ================================================
*"
"* =
= *"
"* = NETWORK COURSE EVALUATION EXPERT SYSTEM =
*"
"* =
= *"
"* ================================================
*"
"*
*"
"*
*"
"*
*"
"*
*"
"*
*"
"*
*"
"* DONE BY:
*"
"*
*"
"* ILUNGA MANDALA Jacques
*"
"*
*"
"*
*"
"* MONITORED BY:
*"
"*
*"
"* - prof KUTANGILA MAYOYA Sanctus
*"
"*
*"
"* -prof MALEKANI ATHNASE
*"
"============================================================"
Introduce the fact (home) in the facts list
Rule display home:
If the fact (home) is in the fact list
Then
Remove the fact (home)
Reset
Clear the window
Display:
"*======================================================*"
"*
*"
"* WELCOME TO NETWORK EXAM
*"
"*
*"
"*======================================================*"
"INPUT YOUR FULL NAME:"
Read and store the name in the variable name
While name is not equal to one of these names:
"ILUNGA MANDALA" "NANA MUNDA"
"IHEMBA KATOMBA" "KANKU RUBEN"
"NGUABA JOSEPH"
Clear the window-window
Display this message:
"SORRY, YOU HAVE INPUTED INVALID USER NAME...TRY AGAIN PLEASE,
AND BE SURE THAT IT IS IN CAPITAL LETTER!"
"INPUT A VALID NAME:"
Read and store the password in the variable name
Introduce the fact (password in the facts list)
Rule display password:
If the fact (password) is in the fact list
Then
Clear the window
Display:
"======================================================"
"=
="
"= WELCOME "name"!
="
"=
="
"======================================================"
"INPUT YOUR PASSWORD PLEASE:
Read and store the password in the variable pwd
While name equals "ILUNGA MANDALA" and the password different
"NANA" clear-window
Do
Display this message:
"SORRY, YOUR PASSWORD IS INCORRECT! TRY AGAIN, AND BE SURE
THAT IT IS IN CAPITAL LETTER."
"INPUT A VALID PASSWORD PLEASE:"
Read and store the password in the variable pwd
While name equals "IHEMBA KATOMBA" and the password different
from "MUNDA",
Clear-window
Do
Display this message:
"SORRY, YOUR PASSWORD IS INCORRECT! TRY AGAIN, AND BE SURE
THAT IT IS IN CAPITAL LETTER."
"INPUT A VALID PASSWORD PLEASE:"
Read and store the password in the variable pwd
While name equals "KANKU RUBEN" and the password different
from "MBUYI", clear-window
Do
Display this message:
"SORRY, YOUR PASSWORD IS INCORRECT! TRY AGAIN, AND BE SURE
THAT IT IS IN CAPITAL LETTER."
"INPUT A VALID PASSWORD PLEASE:"
While name is "NGUABA JOSEPH" and password different from
"PRISCA",
Clear-window
Do
Display this message:
"SORRY, YOUR PASSWORD IS INCORRECT! TRY AGAIN, AND BE SURE
THAT IT IS IN CAPITAL LETTER."
"INPUT A VALID PASSWORD PLEASE: ")
Read and store the password in the variable pwd
If name equals "ILUNGA MANDALA" and password equals "NANA"
Then
Introduce the fact (order)
If name equals "IHEMBA KATOMBA" or "ihemba katomba" and
password equals "MUNDA"
Then
Introduce the fact (order)
If name equals "KANKU RUBEN" and password equals "MBUYI"
Then introduce the fact (order)
If name equals "NGUABA JOSEPH" and password equals "PRISCA"
Then
Introduce the fact (order).
Rule display order
If the fact (order) is in the fact list
Then
Clear the window
Display:
***********************************************************
*
*
* GOOD LUCK "name"!
*
*
*
***********************************************************
"PRESS ENTER TO START YOUR EXAM"
Introduce the fact (questiona)
Rule display questiona:
If the fact (questiona) is in the fact list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 1.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"The concept of network means?"
"a. A distributed group of people or things that communicate
with one another and work together as a unit or system"
"b. A tool or machine designed to perform a particular task or
function"
"c. An electronic device enabling the user to speak to and
hear others with similar equipment"
"d. A system of communications using telephones"
"e. A communication carried out using the telephone"
"THE CORRECT ANSWER IS THE LETTER:"
Read and store the answer in the variable answer
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID
VALUE:"
Read and store the answer in the variable answer
If the answer is "a" or "A"
Then
Add 2 marks in the variable grade
If the answer is different from "a" or "A"
Then
Add 0 mark in the variable grade
Introduce the fact (resulta)
Rule display resulta:
If the fact (resulta) is in the fact list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:" " "cote" ""/20""
*"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE:"
Introduce the fact (questionb)
Rule display questionb
If the fact (questionb) is in the fact list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 2.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"Wide Area Network (WAN) is:"
"a. A private network whose size does not exceed 1
kilometer."
"b. A public network whose size does not exceed 1
kilometer."
"c. A network at short distance which can not cover a
significant geographical area"
"d. A network at long distance which covers a significant
geographical area"
"e. All these answers are corrects"
THE CORRECT ANSWER IS THE LETTER:
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE:
"
Read and store the answer in the variable answer
If the answer is "d" or "D"
Then
Add 2 marks to the variable grade
If the answer is different from "d" or "D"
Then add 0 mark to the variable grade
Introduce the fact (resultb)
Rule display result:
If the fact (resultb) is in the list fact
Then
Clear-window
Display
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:"
cote" ""/20"" *"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE:"
Introduce the fact (questionc)
Rule display questionc
If the fact (questionc) is in the list fact
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 3.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"The difference between peer to peer and customer-server
network is:"
"a. Customer-server network is smallest than peer to peer
network."
"b. Peer to peer uses 12 computers at least while
customer-server uses at most ten computers"
"c. The correct answer is the assertion a"
"d. all these answers are corrects"
"e. All these answers are incorrect"
"THE CORRECT ANSWER IS THE LETTER:"
Read and store the answer in the variable answer
While the "A" "a" "B" "b" "C" "c" "D" "d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID
VALUE:"
Read and store the answer in the variable answer
If the answer is "e" or "E"
Then
Add 2 marks to the variable grade
If the answer is different from "e" or "E"
Then
Add 0 to the variable grade
Introduce the fact (resultc)
Rule display resultc:
If the fact (resultc) is in the list fact
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:" " "cote" ""/20""
*"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE:"
Introduce the fact (questiond)
Rule display questiond:
If the fact (questiond) is in the list fact
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 4.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"Physical topology of network refers to:"
"-----------------------------"
"a. The wireless network."
"b. Computers which are not connected"
"c. The way in which equipments (computers) are connected
between them."
"d. all these answers are corrects"
"e. The way of communication between computers"
"THE CORRECT ANSWER IS THE LETTER:"
Read and store the answer in the variable answer
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID
VALUE:"
If the answer is "c" or "C"
Then
Add 2 marks to the variable grade
If the answer is different from "C"
Then
Add 0 marks to the variable grade
Introduce the fact(resultd)
Rule display resultd:
If the fact (resultd) is in the list fact
Then
Clear-window
Display:
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:" " "cote" ""/20""
*"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE:"
Introduce the fact (questione)
Rule display questione:
If the fact (questione) is in the facts list
Then
Clear the window
Display
"***********************************************************"
"*
*"
"* QUESTION NUMBER 5.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"The topology of network characterized by a central point on
which all the members of the network are connected is:"
"a. Ring topology."
"b. Wireless topology"
"c. Bluetooth topology"
"d. Bus topology"
"e. Star toplogy"
"THE CORRECT ANSWER IS THE LETTER: "
Read and store the answer in the variable answer
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID
VALUE:"
Read and store the answer in the variable answer
If the answer is "e" or "E"
Then
Add 2 marks in the variable grade
If the answer is different from "e" or "E"
Then
Add 0 to the variable grade
Introduce the fact (resulte)
Rule display resulte:
If the fact (resulte) is in the facts list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:" " "cote" ""/20""
*"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE:"
Introduce the fact (questionf)
Rule display question:
If the fact (questionf) is in the facts list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 6.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"The topology of network characterized by a central cable on
which all the members of the network are connected is:"
"-----------------------------"
"a. Ring topology."
"b. Wireless topology."
"c. Bluetooth topology."
"d. Bus topology."
"e. Star topology."
"THE CORRECT ANSWER IS THE LETTER:"
Read and store the answer in the variable answer
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID
VALUE:"
Read and store the answer in the variable answer
If the answer is "d" or "D"
Then
Add 2 marks to the variable grade
If the answer is different from "d" or "D"
Then add 0 to the variable grade
Introduce the fact (resultf)
Rule display resultf:
If the fact (resultf) is in the facts list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:" " "cote" ""/20""
*"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE:"
Introduce the fact (questiong)
Rule display questiong:
If the fact (questiong) is in the facts list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 7.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"Wireless network is:"
"-----------------------------"
"a. A network in which terminals can communicate without
telegraphic connection."
"b. A network in which at least two computers are
connected."
"c. A network which is able to share date with others"
"d. All answers are corrects."
"e. All answers are incorrect."
"THE CORRECT ANSWER IS THE LETTER: "
Read and store the answer in the variable answer
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID
VALUE:"
Read and store the answer in the variable answer
If the answer is "a" or "A"
Then add 2 marks to the variable grade
If the answer is different from "a" or "A"
Then
Add 0 mark to the variable grade
Introduce the fact (resultg)
Rule display resultg:
If the fact (resultg) is in the facts list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:"
cote" ""/20"" *"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE:"
Introduce the fact (questionh)
Rule display question:
If the fact (questionh)is in the factys list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 8.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"The principal technology used for the wireless personal
network is :"
"-----------------------------"
"a. Wifi."
"b. Bluetooth."
"c. MODEM"
"d. RJ-45."
"e. All answers are incorrects."
"THE CORRECT ANSWER IS THE LETTER:"
Read and store the answer in the variable answer
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE:
"
Read and store the answer in the variable answer
If the answer is "b" or "B"
Then
Add 2 marks to the variable grade
If the answer is different from "b" or "B"
Then
Add 0 to the variable grade
Introduce the fact (resulth)
Rule display resulth:
If the fact (resulth) is in the facts list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:"
cote " ""/20"" *"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE:"
Introduce the fact (questioni)
Rule display questioni:
If the fact (questioni) is in the facts list
Then
Clear the window
Display this message:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 9.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"GPRS is the meaning of:"
"-----------------------------"
"a. General Packet Radio operator Service"
"b. General Packet Radio Service."
"c. Generalization of Packege Radio Service"
"d. All answers are corrects"
"e. The correct enswer is the assertion is b."
"THE CORRECT ANSWER IS THE LETTER: "
Read and store the answer in the variable answer
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE:
"
If the answer is "a" or "A"
Then
Add 2 marks to the variable grade
If the answer is differnt from "a" or "A"
Then add 0 mark to the variable grade
Introduce the fact (resulti)
Rule display resulti:
If the fact (resulti) is in the facts list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* YOUR CURRENT GRADE IS:" " "
cote" ""/20"" *"
"*
*"
"***********************************************************"
"PRESS ENTER TO CONTINUE: "
introduce the fact (questionj))
Rule display question:
If the fact (questionj) is in the facts list
Then
Clear the window
Display:
"***********************************************************"
"*
*"
"* QUESTION NUMBER 10.
*"
"*
*"
"***********************************************************"
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."
"IEEE 802.15.1 is the equivalence to:"
"-----------------------------"
"a. WiFi"
"b. ZigBee technology»
"c. HRF (Home Radio operator Frequency)"
"d. Bluetooth"
"e. The correct answer is the assertion is c"
"THE CORRECT ANSWER IS THE LETTER:"
Read and store the answer in the variable answer
while the answer is different from "A" "a" "B" "b" "C" "c" "D"
"d" "E" "e"
Do
Display this message:
"YOU HAVE TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE:
"
If the answer is "d" or "D"
Then
Add 2 marks to the variable grade
If the answer is different from "d" or "D"
Then
Add 0 mark to the variable grade
Introduce the fact (resultj)
Rule display resultj:
If the fact (resultj) is in the facts list
Then
Clear the window
Display:
"============================================================"
"=
="
"= RESULT:"" "name" ""got"" "cote"/20""
="
"=
="
"============================================================"
"PRESS: (s) TO SAVE YOUR RESULT"
"PRESS: (r) TO RESTART THE EXAM "
"PRESS: (e) TO EXIT "
Read and store the answer in the variable answer
While the answer is different from "s" "r" "e" "S" "R" "E"
Do
Display this message:
"INPUT A VALID VALUE:"
Read and store the answer in the variable answer
If the answer is "s" or "S"
Then
Introduce the fact (next)
If the answer is "r" or "R"
Then introduce the fact (home)
If the answer is "e" or "E"
Then
Exit
Rule display next:
If the fact (next) is in the facts list
Then
Clear the window
Display:
"YOUR RESULT WAS SUCCESSFULLY SAVED"
"PRESS ENTER TO EXIT:"
Introduce the fact (finish)
Rule display finish:
If the fact (finish) is in the facts list
Then
Exit.
III.2. Implementation
III.2.1 presentation of chosen programming language
III.2.1.1 CLIPS language
A programming language is a coded language used by programmer
to write instructions that a computer can understand. There are many of them
but in my case, I have chosen CLIPS language because it is a complete
environment to develop expert systems, including characteristics such as an
integrated editor and a tool of debugging.
III.2.2. presentation of interfaces
An interface is a common boundary by two devices, or by a
person and a device, across which data or information flows. On one hand, it
helps the user to read or to input data; on the other hand, it helps the system
(computer) to get information from the user in order to treat it.
III.2.2.1. First interface (logo)
This interface displays information such as the name of my
university, my faculty and my department; in the middle there is the title of
my work; finally, this interface is showing my full name, and names of my
monitors. At the end, there is blinking information that asks the user to
continue. Here is the first interface:
III.2.2.2. Second interface (home page)
The second interface is the home page, this one displays two
information: the first information is a welcome message, and the second one is
a blinking message asking the user to input his name. Let us note that it is
not anyone who can use this system; only those (students) who are order...while
the user is not in order, he cannot continue until he will be recommended.
Those who are supposed to access from the moment are: ILUNGA MANDALA, KANKU
RUBEN, NGUABA JOSEPH and IHEMBA KATOMBA. Because ILUNGA MANDALA is among those
who are in order, I am going to input his name, and then, he can continue.
After typing ILUNGA MANDALA's name, look at how my interface will be
represented:
III.2.2.3. third interface (authentification)
After typing a valid username on the previous interface, the
third interface appears and displays information: on top, it is a welcome
message with the username; below, it is blinking information asking the user to
input his password. Each user has his password, consequently, a user cannot
continue with a wrong password or with another user's password. On the
interface below, I have typed «NANA» which is the valid password for
the user ILUNGA MANDALA:
III.2.2.4. fourth interface
After typing the valid password; once the user press
«enter», the fourth interface appears and displays two messages: on
top, it is a message wishing good luck to the user; the second message is
asking the user to press «enter» for starting the exam. It appears as
follow:
III.2.2.5. fifth interface (question number
1)
If the user presses on «enter» then the fifth
interface appears and displays the first question and assertions from
«a» to «e»; the first question is about the meaning of the
concept of network; and then, the user(student) can choose the assertion
corresponding to the correct answer. In the following interface, I choose the
assertion «a»; so, let us see what is going on:
III.2.2.6. sixth interface (current grade of the question
1)
After choosing an assertion and pressing on «enter»
on the previous interface, the following is showing two messages: on top, we
have the current result (grade) that the student got after answering to the
first question; so, he got 2/20 because the correct answer was the assertion
«a»; below this, there is another blinking message asking the user to
press on «enter» to continue.
III.2.2.7. seventh interface (question number
2)
This interface displays the second question, and then the user
has the possibility to choose one assertion; the question is about the meaning
of WAN:
III.2.2.8. eighth interface (current grade from the
question 1 to question 2)
Up to now, I have answered and succeeded in only two
questions; that's why the current grade that was 2/20 on the first result has
become 4/20 because I have given a correct answer to the second question. The
more I succeed, the more my grade increases; and the more I fail, the more the
grade stays the same:
III.2.2.9. ninth interface (question number
3)
This interface displays the third question, and asks the user
to choose the correct answer. The question is about the difference between peer
to peer and customer-server network. Here, the correct answer is the assertion
«a» but let us choose the assertion «b» to show the
evolution of my current grade.
III.2.2.10. tenth interface (current grade from the
question 1 to question 3)
As we can see that, the current grade stays the same because I
failed to the third question, the correct answer was the assertion
«e».
III.2.2.11. Eleventh interface (question number
4)
This one displays the question number four question, it is
about physical topology of network; I inputted the assertion «c»; let
see the result:
III.2.2.12. twelfth interface (current grade from the
question 1 to question 4)
As we can see it clearly, the current grade passed from 4/20 to
6/20 because the answer to the previous question was correct:
III.2.2.13. thirteenth interface (question number
5)
This interface displays the question number five; and then,
the user has to input the answer. I have inputted the assertion «e»,
let see what is going on:
III.2.2.14. fourteenth interface (current grade from the
question 1 to question 5)
After answering to the previous question, we see that the
current grade has increased from 6/20 to 8/20 because the correct answer was
the assertion «e»:
III.2.2.15. fifteenth interface (question number
6)
This interface shows the sixth question. Here I have supposed the
case where the user has inputted the assertion «d»:
III.2.2.16. sixteenth interface (current grade from the
question 1 to question 6)
This interface is showing the result from the first question
to the sixth question; the current grade has passed from 8 to 10 because we
succeeded to the sixth question:
III.2.2.17. seventeenth interface (question number
7)
Until now, the user is still being evaluated, I am now to the
seventh question; this interface displays the question number seven; here, I
suppose that the user has chosen the assertion «b».
III.2.2.18. eighteenth interface (current grade from the
question 1 to question 7)
The following interface displays the current grade from the
question 1 to the question 7; as we can see that, our grade doesn't change
because I failed to the question number seven.
III.2.2.19. nineteenth interface (question number
8)
This interface displays the next question (8); and I suppose
that the user chosen the assertion «b».
III.2.2.20. twentieth interface (current grade from the
question 1 to question 8)
This interface displays the current grade from the question 1
to question 8; then, we can see that our grade has passed from 10 to 12 because
the assertion «b» was the correct answer to the question 8.
VI.2.21. twentieth -one interface (question
9)
This interface displays the before the last question of the
evaluation; and I suppose that the user has chosen the assertion «a».
Let see:
III.2.2.22. twentieth -two interface (current grade from
the question 1 to question 9)
This interface is showing the current grade from the question
1 to question 9; here, our grade has passed from 12 to 14 because I succeeded
to the previous question.
III.2.2.23. twentieth -three interface (question
9)
This interface displays the last question of the evaluation;
the question is about the equivalence of IEEE 802.15.1; and then, we suppose
that the user has inputted the assertion «d»:
III.2.2.24. twentieth four interface (final grade from
the question 1 to question 10)
This interface displays the final result that the user has got
from the question 1 to the last question; below are three blinking information:
the first is giving to the user the possibility to save the final result; the
second is giving the possibility to restart exam; and the last is giving him
the possibility to exit the application. If the user chooses to restart the
exam, he will not have the same questions; so, it will be another set of
questions.
III.3 SOURCE CODES
A code is symbols, numbers, or signals that conveys information
to a computer.
a) Codes for the global variables
(defglobal ?*name* = "")
(defglobal ?*pwd* = "")
(defglobal ?*cote* = 0)
(defglobal ?*course* = "in Network course")
(defglobal ?*cota* = 0)
b) Rule 1
(defrule display_logo
=>
(clear-window)
(printout t
"*===================================================================*"crlf
"*
*"crlf
"*
UNIVERSITY OF KINSHASA *"crlf
"*
*"crlf
"*
FACULTY OF ART AND HUMAN SCIENCES *"crlf
"* DEPARTEMENT OF BUSINESS
ENGLISH AND COMPUTER *"crlf
"*
*"crlf
"*
*"crlf
"*
*"crlf
"*
*"crlf
"*
================================================ *"crlf
"* =
=
*"crlf
"* = NETWORK COURSE EVALUATION
EXPERT SYSTEM = *"crlf
"* =
=
*"crlf
"*
================================================ *"crlf
"*
*"crlf
"*
*"crlf
"*
*"crlf
"*
*"crlf
"*
*"crlf
"*
*"crlf
"*
DONE BY:
*"crlf
"*
*"crlf
"*
ILUNGA MANDALA Jacques *"crlf
"*
*"crlf
"*
*"crlf
"*
MONITORED BY:
*"crlf
"*
*"crlf
"* -Phd
KUTANGILA MAYOYA Sanctus *"crlf
"*
*"crlf
"* -Phd
MALEKANI ATHNASE *"crlf
"====================================================================="crlf
crlf crlf)
(printout t" PRESS ANY KEY TO CONTINUE...")(readline)
(assert(home)))
c) Rule 2
(defrule display_home
?a<-(home)
=>
(retract ?a)
(reset)
(clear-window)
(printout t
"*======================================================*"crlf
"*
*"crlf
"* WELCOME TO
NETWORK EXAM *"crlf
"*
*"crlf
"*======================================================*"crlf
crlf crlf)
(printout t" INPUT YOUR FULL NAME: ") (bind ?*name*(readline))
(while(neq ?*name* "ILUNGA MANDALA" "NANA MUNDA" "IHEMBA KATOMBA"
"KANKU RUBEN" "NGUABA JOSEPH") (clear-window) do
(printout t" SORRY, INVALID USERNAME...TRY AGAIN PLEASE, AND BE
SURE THAT IT IS IN CAPITAL LETTER!" crlf crlf crlf
"INPUT A VALID NAME: ")(bind ?*name*(readline)))
(assert(password))
)
d) Rule 3
(defrule display_password
(password)
=>
(clear-window)
(printout t
"======================================================"crlf
"=
="crlf
"=
WELCOME" " "?*name*"! ="crlf
"=
="crlf
"======================================================"crlf crlf
crlf crlf
"INPUT YOUR PASSWORD PLEASE: ")(bind ?*pwd*(readline))
(while(and(eq ?*name* "ILUNGA MANDALA") (neq ?*pwd*
"NANA"))(clear-window) do(printout t"SORRY, YOUR PASSWORD IS INCORRECT! TRY
AGAIN, AND BE SURE THAT IT IS IN CAPITAL LETTER."crlf crlf crlf
"INPUT A VALID PASSWORD PLEASE: ") (bind ?*pwd*(readline)))
(while(and(eq ?*name* "IHEMBA KATOMBA") (neq ?*pwd*
"MUNDA"))(clear-window) do(printout t"SORRY, YOUR PASSWORD IS INCORRECT! TRY
AGAIN, AND BE SURE THAT IT IS IN CAPITAL LETTER."crlf crlf crlf
"INPUT A VALID PASSWORD PLEASE: ") (bind ?*pwd*(readline)))
(while(and(eq ?*name* "KANKU RUBEN") (neq ?*pwd*
"MBUYI"))(clear-window) do(printout t"SORRY, YOUR PASSWORD IS INCORRECT! TRY
AGAIN, AND BE SURE THAT IT IS IN CAPITAL LETTER."crlf crlf crlf
"INPUT A VALID PASSWORD PLEASE: ") (bind ?*pwd*(readline)))
(while(and(eq ?*name* "NGUABA JOSEPH") (neq ?*pwd*
"EKOLO"))(clear-window) do(printout t"SORRY, YOUR PASSWORD IS INCORRECT! TRY
AGAIN, AND BE SURE THAT IT IS IN CAPITAL LETTER."crlf crlf crlf
"INPUT A VALID PASSWORD PLEASE: ") (bind ?*pwd*(readline)))
(if(and(eq ?*name* "ILUNGA MANDALA") (eq ?*pwd* "NANA"))
then(assert(order)))
(if(and(eq ?*name* "IHEMBA KATOMBA") (eq ?*pwd* "MUNDA"))
then(assert(order)))
(if(and(eq ?*name* "KANKU RUBEN") (eq ?*pwd* "MBUYI"))
then(assert(order)))
(if(and(eq ?*name* "NGUABA JOSEPH") (eq ?*pwd* "EKOLO"))
then(assert(order)))
)
e) Rule 4
(defrule display_order
(order)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"*
GOOD LUCK" " "?*name* "! ""*"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO START YOUR EXAM")(readline)
(assert(questiona)))
f) Rule 5
(defrule display_questiona
(questiona)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* QUESTION NUMBER 1.
*"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"The concept of network means?:" crlf
"-----------------------------" crlf crlf crlf
"a. A distributed group of people or things that communicate with
one another and work together as a unit or system"crlf crlf
"b. A tool or machine designed to perform a particular task or
function"crlf crlf
"c. An electronic device enabling the user to speak to and hear
others with similar equipment"crlf crlf
"d. A system of communications using telephones"crlf crlf
"e. A communication carried out using the telephone"crlf crlf
crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "a") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "a") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resulta))
)
g) Rule 6
(defrule display_resulta
(resulta)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questionb))
)
(defrule display_questionb
(questionb)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"*
QUESTION NUMBER 2. *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"Wide Area Network (WAN) is:" crlf
"-----------------------------" crlf crlf crlf
"a. A private network whose size does not exceed 1
kilometer."crlf crlf
"b. A public network whose size does not exceed 1 kilometer."crlf
crlf
"c. A network at short distance which can not cover a significant
geographical area"crlf crlf
"d. A network at long distance which covers a significant
geographical area"crlf crlf
"e. All these answers are corrects"crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "d") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "d") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resultb))
)
h) Rule 7
(defrule display_resultb
(resultb)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questionc))
)
i) Rule 8
(defrule display_questionc
(questionc)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* QUESTION NUMBER 3.
*"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"The difference between peer to peer and customer-server network
is:" crlf
"-----------------------------" crlf crlf crlf
"a. Customer-server network is smallest than peer to peer
network."crlf crlf
"b. Peer to peer uses 12 computers at least while customer-server
uses at most ten computers"crlf crlf
"c. The correct answer is the assertion a"crlf crlf
"d. all these answers are corrects"crlf crlf
"e. All these answers are incorrects"crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "e") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "e") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resultc))
)
j) Rule 9
(defrule display_resultc
(resultc)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questiond))
)
k) Rule 10
(defrule display_questiond
(questiond)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"*
QUESTION NUMBER 4. *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"Physical topology of network refers to:" crlf
"-----------------------------" crlf crlf crlf
"a. The wireless network."crlf crlf
"b. Computers which are not connected"crlf crlf
"c. The way in which equipments (computers) are connected between
them. "crlf crlf
"d. all these answers are corrects"crlf crlf
"e. The way of communication between computers"crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "c") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "c") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resultd))
)
l) Rule 11
(defrule display_resultd
(resultd)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questione))
)
m) Rule 12
(defrule display_questione
(questione)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* QUESTION NUMBER 5.
*"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"The topology of network characterized by a central point on
which all the members of the network are connected is:" crlf
"-----------------------------" crlf crlf crlf
"a. Ring topology."crlf crlf
"b. Wireless topology"crlf crlf
"c. Bluetooth topology"crlf crlf
"d. Bus topology"crlf crlf
"e. Star toplogy"crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "e") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "e") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resulte))
)
n) Rule 13
(defrule display_resulte
(resulte)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questionf))
)
o) Rule 14
(defrule display_questionf
(questionf)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"*
QUESTION NUMBER 6. *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"The topology of network characterized by a central cable on
which all the members of the network are connectedis:" crlf
"-----------------------------" crlf crlf crlf
"a. Ring topology."crlf crlf
"b. Wireless topology."crlf crlf
"c. Bluetooth topology."crlf crlf
"d. Bus topology."crlf crlf
"e. Star toplogy."crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "d") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "d") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resultf))
)
p) Rule 15
(defrule display_resultf
(resultf)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questiong))
)
q) Rule 16
(defrule display_questiong
(questiong)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"*
QUESTION NUMBER 7. *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"Wireless network is:" crlf
"-----------------------------" crlf crlf crlf
"a. A network in which terminals can communicate without
telegraphic connection."crlf crlf
"b. A network in which at least two computers are connected."crlf
crlf
"c. A network which is able to share date with others"crlf
crlf
"d. All answers are corrects."crlf crlf
"e. All answers are incorrects."crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "a") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "a") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resultg))
)
r) Rule 17
(defrule display_resultg
(resultg)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questionh))
)
s) Rule 18
(defrule display_questionh
(questionh)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"*
QUESTION NUMBER 8. *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"The principal technology used for the wireless personal network
is :" crlf
"-----------------------------" crlf crlf crlf
"a. Wifi."crlf crlf
"b. Bluetooth."crlf crlf
"c. MODEM"crlf crlf
"d. RJ-45."crlf crlf
"e. All answers are incorrects."crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "b") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "b") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resulth))
)
t) Rule 19
(defrule display_resulth
(resulth)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questioni))
)
u) Rule 20
(defrule display_questioni
(questioni)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"*
QUESTION NUMBER 9. *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"GPRS is the meaning of:" crlf
"-----------------------------" crlf crlf crlf
"a. General Packet Radio operator Service"crlf crlf
"b. General Packet Radio Service."crlf crlf
"c. Generalization of Packege Radio Service"crlf crlf
"d. All answers are corrects"crlf crlf
"e. The correct enswer is the assertion is b."crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "a") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "a") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resulti))
)
v) Rule 21
(defrule display_resulti
(resulti)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"* YOUR CURRENT GRADE IS:" " "?*cote*"
""/20"" *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf
"PRESS ENTER TO CONTINUE: ")(readline)
(assert(questionj))
)
w) Rule 22
(defrule display_questionj
(questionj)
=>
(clear-window)
(printout t
"***********************************************************"crlf
"*
*"crlf
"*
QUESTION NUMBER 10. *"crlf
"*
*"crlf
"***********************************************************"crlf
crlf crlf crlf
"CHOOSE THE LETTER CORRESPONDING TO THE CORRECT ANSWER."crlf crlf
crlf
"IEEE 802.15.1 is the equivalence to:" crlf
"-----------------------------" crlf crlf crlf
"a. WiFi"crlf crlf
"b. ZigBee technology ."crlf crlf
"c. HRF (Home Radio operator Frequency)"crlf crlf
"d. Bluetooth"crlf crlf
"e. The correct enswer is the assertion is c."crlf crlf crlf)
(printout t "THE CORRECT ANSWER IS THE LETTER: ") (bind
?ansa(readline))
(while(neq ?ansa "a" "b" "c" "d" "e") do(printout t" YOU HAVE
TYPED AN INVALID VALUE, PLEASE INPUT A VALID VALUE: ")(bind
?ansa(readline)))
(if(eq ?ansa "d") then (bind ?*cote*(+ 2 ?*cote*)))
(if(neq ?ansa "d") then (bind ?*cote*(+ 0 ?*cote*)))
(assert(resultj))
)
x) Rule 23
(defrule display_resultj
(resultj)
=>
(clear-window)
(printout t
"============================================================"crlf
"=
="crlf
"= RESULT:"" "?*name*" ""got""
"?*cote*"/20"" ="crlf
"=
="crlf
"============================================================"crlf
crlf crlf
"PRESS: (s) TO SAVE YOUR RESULT "crlf crlf
"PRESS: (r) TO RESTART THE EXAM "crlf crlf
"PRESS: (e) TO EXIT "crlf crlf)
(bind ?ans(readline))
(while(neq ?ans "s" "r" "e") do(printout t"INPUT A VALID
LETTER:") (bind ?ans(readline)))
(if(eq ?ans "s") then (assert(next)))
(if(eq ?ans "r") then (assert(nexta)))
(if(eq ?ans "e") then (exit))
)
y) Rule 24
(defrule display_next
(next)
=>
(clear-window)
(printout t
" "crlf
"YOUR RESULT WAS SUCCESSFULLY SAVED"crlf crlf crlf)
(printout t" PRESS ENTER TO EXIT: ") (readline)
(assert(finish))
)
z) Rule 25
(defrule display_finish
(finish)
=>
(exit))
CONCLUSION
To sum up a scientific work has never been easy because the
science develops approximately in our days; and so with the contribution of new
technology, what was said yesterday can be modified.
This study relating to the development of an expert system for
students' evaluation enabled me to practice theoretical knowledge acquired
during my academic training. The setting up of this system has been easy for me
thanks to CLIPS language that is a complete environment for developing expert
systems.
Indeed, in consideration of trials realized with this
application, I am really convinced for having accomplished my purpose, and I am
satisfied for its operation.
Thus, I am recommending teachers of Kinshasa's University in
general, and those of the department of AIA in particular to use this
application in order to improve their students' evaluation.
For a better continuation in science, I remain open to any
remark and suggestion which would contribute to the improvement of my work.
BIBLIOGRAPHY
a) Books and course notes:
· BATUBENGA J.D ; cours de réseaux
informatiques ; L1 AIA/Unikin ; 2013-2014
· Crowley, L. (1999); «introduction aux
systèmes experts» ; 3e année ENSIMAG,
Inc.
· Joseph, C. «CLIPS User's Guide»
· KUSIAK Andrew, "Computational Intelligence in
design and manufacturing", ed. John Wiley & Sons, 2000, 535 p.
· KUTANGILA MAYOYA D. « Notes de cours d'intelligence
artificielle et système expert», L2 conception/Unikin,
2014-2015.
· LUGER George F. and STUBBLEFIELD William A.,
"Artificial Intelligence and the Design of expert Systems", ed.
Benjamin Cummings, 1989, 659 p.
· RUSSEL Stuart and NORVIG Peter; "Artificial
Intelligence, a modern approach"; Ed. Prentice Hall International
editions, 1995, 922 p.
· Song, S. «Building Decision Tree & Implementing
in CLIPs»
a) Web sites :
· http// :
www.memoireonline.com
(22.07.2015)
· http// :
www.commentçamarche.net
(06.07.2015)
· http// :
www.learningword.net
(06.07.2015)
|