CodeS-SourceS
Rechercher un code, un tuto, une réponse

Ia : vbbrainbox : un système expert d'ordre 0+ en vb .net

Soyez le premier à donner votre avis sur cette source.

Vue 23 128 fois - Téléchargée 2 566 fois

Description

Vous vous souvenez du fameux syllogisme avec Socrate ?

TOUT HOMME EST MORTEL
OR SOCRATE EST UN HOMME
DONC ?
DONC SOCRATE EST MORTEL

C'était avec le logiciel IAVB, un mini système expert issu de celui de Philippe LARVET :
www.vbfrance.com/article.asp?Val=2204

Hé bien cette fois, il ne s'agit plus seulement d'un logiciel ludique mais bel et bien d'un véritable système expert d'ordre 0+, issu d'un programme du même auteur : Turbo-Expert 1.2 en VB6 de Philippe LARVET.

Un système expert est un logiciel qui, à partir d'une base de règles (BR) et d'une base de faits (BF), cherche à établir des conclusions grâce à son moteur d'inférence (MI). C'est un véritable système de programmation déclarative, où les données sont séparées du code de l'application (le MI), et traitées dans un ordre quelconque, contrairement à la programmation procédurale.
Il est capable de manipuler des expressions logiques d'ordre 0+, c'est-à-dire du type :
Si Distance < 2 km Alors AllerAPied
Le MI fonctionne en chaînage avant et en régime irrévocable seulement (une fois qu'un nouveau fait a été déduit, il n'y a pas de "backtrack" ou retour en arrière possible), selon la logique monotone ou bien non monotone, c'est configurable.

J'ai converti le programme VB6 (Turbo Expert 1.21, qui est inclus dans le .zip) en VB .NET, et j'y ai ajouté un calcul de logique floue, du type de celui de MYCIN conçu en... 1975 !!!
Selon la configuration, la logique floue ne modifie pas le déroulement du programme, on ajoute seulement un degré de fiabilité aux règles et aux faits initiaux, et on en déduit des indices de vraisemblance pour les conclusions obtenues. Il y a cependant un mode de fonctionnement plus cohérent dans lequel l'interprétation de la logique floue peut changer le déroulement de l'expertise.

J'ai aussi conçu une base de données pour simplifier la création d'application, et on peut échanger des applications en exportant des petits fichiers textes de la base.

En somme, VBBrainBox = Turbo-Expert + Logique Floue + Base de données.

En bonus : une application délirante pour partir à la chasse aux trolls ! fumage de moquette garanti :-)

Source / Exemple :


The .Zip

Conclusion :


Note : pour ceux qui n'ont pas Visual Studio .NET, l'exécutable est inclus dans le .zip (il suffit d'avoir le framework .NET qui est gratuit). A la rigueur, il est également possible de compiler gratuitement les sources avec le SDK, mais il faudrait alors trouver un bon éditeur de code source. Sinon, il reste la version VB6, mais son code n'est pas aussi simple que celui de VBBrainBox (voir la doc pour connaître les limites de la version VB6).

A vous de jouer maintenant !

Par Patrice Dargenton
patrice.dargenton@free.fr
http://patrice.dargenton.free.fr/ia/vbbrainbox/index.html
http://patrice.dargenton.free.fr/index.html

Mots clés : Intelligence Artificielle, Système expert, Logique d'ordre 0+, Logique floue, Visual Basic .NET, DOTNET.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.