1 / 24

Bases de données déductives en pratique

Bases de données déductives en pratique. Par : Robert Denicourt Michael Glenn Le 16 décembre 2002. Plan de la présentation. Survol théorique Exemple du domaine médical Exemple du domaine de la gestion de réseau. Survol théorique. C’est quoi une BDD? C’est un SGBD dont le modèle de

Download Presentation

Bases de données déductives en pratique

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bases de données déductives en pratique Par : Robert Denicourt Michael Glenn Le 16 décembre 2002

  2. Plan de la présentation • Survol théorique • Exemple du domaine médical • Exemple du domaine de la gestion de réseau INF 7115 - Bases de données

  3. Survol théorique • C’est quoi une BDD? C’est un SGBD dont le modèle de données est le modèle relationnel. La principale particularité est qu’ils utilisent un langage de règles.(Prolog, Datalog) INF 7115 - Bases de données

  4. Survol théorique • Qui utilise un SGBD déductif ? • La médecine • La robotique • La modélisation scientifique • L’analyse financière • Les SE avec de gros volumes de données INF 7115 - Bases de données

  5. Survol théorique • La force de la BDD • C’est le langage de programmation. • Prolog premier langage Made in Montréal INF 7115 - Bases de données

  6. Domaine médical • Système expert DISI Système expert pour l’aide à la décision et à l’enseignement des diagnostics infirmiers Cette démarche est un processus de résolution de problèmes INF 7115 - Bases de données

  7. Domaine médical • Le processus de résolution de problème INF 7115 - Bases de données

  8. Domaine médical • La conception du système DISI • La base de connaissance • La base faits • Le moteur d’inférence INF 7115 - Bases de données

  9. Domaine médical • La base de connaissance INF 7115 - Bases de données

  10. Domaine médical • Syntaxe des règles dans ILOG Rules INF 7115 - Bases de données

  11. Domaine médical • Schéma de l’organisation du système DISI INF 7115 - Bases de données

  12. Domaine médical • La base de faits INF 7115 - Bases de données

  13. Domaine de la gestion de réseau • Système de Gestion de Réseau (SGR) : consiste à surveiller et contrôler le comportement du réseau afin d’optimiser son opération • Management Information Base (MIB) : composante du SGR qui emmagasine les données INF 7115 - Bases de données

  14. Domaine de la gestion de réseau • Types de données du MIB : • Composantes • Fonctions / Relations entre les composantes Base de données déducive Grand volume de données + Règles définissant les relations entre les données INF 7115 - Bases de données

  15. Domaine de la gestion de réseau INF 7115 - Bases de données

  16. Domaine de la gestion de réseau • Protocoles de gestion de réseau • Basés sur modèle OSI (Open Systems Interconnection) de l’ISO (International Standards Organization) • CMIS/CMIP (Common Management Information Services/Common Management Information Protocol) -> OSI • SNMP (Simple Network Management Protocol) -> TCP/IP INF 7115 - Bases de données

  17. Domaine de la gestion de réseau Modélisation avec ERC+ (Entity-Relationship for Complex objects INF 7115 - Bases de données

  18. Domaine de la gestion de réseau • Développé avec Aditi • Syntaxe similaire à Prolog • Faits (Relations) • Règles device(deviceid, modelid, asset#, serial#, type, location, owner, user, suppier, manager). cable_connection(deviceid_a, port#_a, deviceid_b, port#_b, line_number, wire_classification). INF 7115 - Bases de données

  19. Domaine de la gestion de réseau Les faits… device(cpu1, dx486, a_9201, tp_9211, cpu, lab_1, cams, students, total_peripherals, raj). device(cpu2, dx486, a_9202, tp_9212, cpu, lab_1, cams, students, total_peripherals, raj). device(cpu3, sx486, a_9203, tp_9213, cpu, lab_1, cams, students, total_peripherals, raj). cable_connection(cpu1, slotb, cpu2, slota, a1, coax). cable_connection(cpu2, slotb, cpu3, slota, a2, coax). Relation Attributs INF 7115 - Bases de données

  20. Domaine de la gestion de réseau Les règles… device_list(Device) :-device(Device,_,_,_,_,_,_,_,_,_). device_list(Device, Loc) :-device(Device,_,_,_,_,_,_,_,_,_). device_list(Device, Model, Type, Loc) :-device(Device,Model,_,_,Type,Loc,_,_,_,_). path(X,Y) :-cable_connection(X,_,Y,_,_,_). path(X,Y) :-cable_connection(X,_,Z,_,_,_),path(Z,Y). INF 7115 - Bases de données

  21. Domaine de la gestion de réseau Exemple 1 : <- device_list(Device). INF 7115 - Bases de données

  22. Domaine de la gestion de réseau Unification : association de faits à une variable… 3 device(cpu1, dx486, a_9201, tp_9211, cpu, lab_1, cams, students, total_peripherals, raj). device(cpu2, dx486, a_9202, tp_9212, cpu, lab_1, cams, students, total_peripherals, raj). device(cpu3, sx486, a_9203, tp_9213, cpu, lab_1, cams, students, total_peripherals, raj). cable_connection(cpu1, slotb, cpu2, slota, a1, coax). cable_connection(cpu2, slotb, cpu3, slota, a2, coax). device_list(Device):-device(Device,_,_,_,_,_,_,_,_,_). device_list(Device, Loc) :-device(Device,_,_,_,_,_,_,_,_,_). device_list(Device, Model, Type, Loc) :-device(Device,Model,_,_,Type,Loc,_,_,_,_). path(X,Y) :-cable_connection(X,_,Y,_,_,_). path(X,Y) :-cable_connection(X,_,Z,_,_,_),path(Z,Y). 2 1 <- device_list(Device). Answer Set for device : cpu1 cpu2 cpu3 1 Règle correspondante trouvée Évaluation des composantes de la règle 2 Unification des faits avec la variable 3 INF 7115 - Bases de données

  23. Domaine de la gestion de réseau Exemple 2 : <- path(cpu1,cpu3). INF 7115 - Bases de données

  24. Domaine de la gestion de réseau device(cpu1, dx486, a_9201, tp_9211, cpu, lab_1, cams, students, total_peripherals, raj). device(cpu2, dx486, a_9202, tp_9212, cpu, lab_1, cams, students, total_peripherals, raj). device(cpu3, sx486, a_9203, tp_9213, cpu, lab_1, cams, students, total_peripherals, raj). cable_connection(cpu1, slotb, cpu2, slota, a1, coax). cable_connection(cpu2, slotb, cpu3, slota, a2, coax). device_list(Device) :-device(Device,_,_,_,_,_,_,_,_,_). device_list(Device, Loc) :-device(Device,_,_,_,_,_,_,_,_,_). device_list(Device, Model, Type, Loc) :-device(Device,Model,_,_,Type,Loc,_,_,_,_). path(X,Y) :-cable_connection(X,_,Y,_,_,_). path(X,Y) :-cable_connection(X,_,Z,_,_,_),path(Z,Y). 5 1 2 3 4 6 ET logique 1 Règle correspondante trouvée Évaluation de la condition : cable_connection(cpu1, _, cpu3, _, _, _) -> Faux 2 Deuxième règle correspondante évaluée 3 Évaluation de la première condition : cable_connection(cpu1, _, Z, _, _, _) -> Z=cpu2(True) 4 5 Vérification de la deuxième condition (appel récursif) : path(cpu2, cpu3) -> True 6 <- path(cpu1,cpu3). True INF 7115 - Bases de données

More Related