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
  

précédent sommaire suivant

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

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.

précédent sommaire suivant






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








"Le doute est le commencement de la sagesse"   Aristote