WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

On the developpement of an expert system for student's evaluation: case of a network course

( Télécharger le fichier original )
par Jacques ILUNGA MANDALA
Université de Kinshasa - Licence 2015
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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)






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo