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

Soyez le premier à donner votre avis sur cette source.

Vue 27 524 fois - Téléchargée 3 190 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

Ajouter un commentaire Commentaires
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
15 mars 2015 à 09:31
Nouvelle version : pour Windows 64, il faut forcer le mode 32 bits, j'ai aussi modifier légèrement le code pour éviter l'avertissement sur les retours de fonction.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
5 mai 2007 à 12:57
100% Reflective Class Diagram Creation Tool
www.codeproject.com/csharp/AutoDiagrammer.asp
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
2 mai 2007 à 16:45
J'ai mis 3 mois pour adapter TurboExpert V1.20 en VBBrainBox et faire une doc.

Le plan de la base de données est ici :
http://patrice.dargenton.free.fr/ia/vbbrainbox/index.html#_Toc39118541

La table des matières du programme est ici :
http://patrice.dargenton.free.fr/ia/vbbrainbox/VBBrainBoxSrc.html
Comme il n'y a que 3 classes (clsBD, clsBR et clsDico), il suffit de rechercher ensuite chaque classe dans le code source via le projet VS.Net.
cs_houri Messages postés 2 Date d'inscription mardi 24 avril 2007 Statut Membre Dernière intervention 1 mai 2007
1 mai 2007 à 21:53
salut, je ne sais pas comment le generer automatiquement mais tu peux just donne les noms des classes utilises avec les relations entre elle (heritage...). en faite ca ta pris combien de temps pour faire ce travail. merci
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
25 avril 2007 à 09:22
Salut, merci. Ok pour le diagramme de classe... au fait on fait comment pour le générer ? j'ai VS 2003 et VB 2005 Express, on peut le générer avec ? j'ai l'habitude de faire des diagrammes de relation pour les bd mais pas pour la POO, car je n'ai pas bcp de codes en vrai POO actuellement (en tout cas pas de codes très compliqués). VBBrainBox est converti depuis VB6, il n'est pas vraiment optimisé selon les principes de la POO. Pour le diagramme de comportement de l'application, je ne vois pas comment on pourrait le générer facilement en pratique.

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.