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

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

Embed Size (px)

Citation preview

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

Bases de données déductives en pratique

Par : Robert DenicourtMichael Glenn

Le 16 décembre 2002

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

16 décembre 2002 INF 7115 - Bases de données 2

Plan de la présentation

Survol théoriqueExemple du domaine médicalExemple du domaine de la gestion de

réseau

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

16 décembre 2002 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)

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

16 décembre 2002 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

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

16 décembre 2002 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

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

16 décembre 2002 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

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

16 décembre 2002 INF 7115 - Bases de données 7

Domaine médical

Le processus de résolution de problème

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

16 décembre 2002 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

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

16 décembre 2002 INF 7115 - Bases de données 9

Domaine médical

La base de connaissance

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

16 décembre 2002 INF 7115 - Bases de données 10

Domaine médical

Syntaxe des règles dans ILOG Rules

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

16 décembre 2002 INF 7115 - Bases de données 11

Domaine médical

Schéma de l’organisation du système DISI

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

16 décembre 2002 INF 7115 - Bases de données 12

Domaine médical

La base de faits

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

16 décembre 2002 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

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

16 décembre 2002 INF 7115 - Bases de données 14

Domaine de la gestion de réseau

Types de données du MIB :ComposantesFonctions / Relations entre les

composantes

Grand volume de données+

Règles définissant les relations entre les données

Base de données déducive

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

16 décembre 2002 INF 7115 - Bases de données 15

Domaine de la gestion de réseau

SGR MIB

Requêtes / Réponses

SGR MIB

Requêtes / Réponses

SGR MIB

SGR MIB

Requêtes / Réponses

SGR MIB

SGR MIB

Centralisé Distribué

Hybride

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

16 décembre 2002 INF 7115 - Bases de données 16

Domaine de la gestion de réseau

Protocoles de gestion de réseauBasé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

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

16 décembre 2002 INF 7115 - Bases de données 17

Domaine de la gestion de réseau

Modélisation avec ERC+ (Entity-Relationship for Complex objects

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

16 décembre 2002 INF 7115 - Bases de données 18

Domaine de la gestion de réseau

Développé avec AditiSyntaxe 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).

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

16 décembre 2002 INF 7115 - Bases de données 19

Domaine de la gestion de réseau

cpu1 cpu2 cpu3

slotb slota slotb slota

device

cable_connection

a2a1

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).

Les faits…

Relation Attributs

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

16 décembre 2002 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).

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

16 décembre 2002 INF 7115 - Bases de données 21

Domaine de la gestion de réseau

Exemple 1 : <- device_list(Device).

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

16 décembre 2002 INF 7115 - Bases de données 22

Domaine de la gestion de réseau

Unification : association de faits à une variable…

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).

12

3

<- device_list(Device).Answer Set for device :cpu1cpu2cpu3

1

2

3

Règle correspondante trouvée

Évaluation des composantes de la règle

Unification des faits avec la variable

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

16 décembre 2002 INF 7115 - Bases de données 23

Domaine de la gestion de réseau

<- path(cpu1,cpu3).Exemple 2 :

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

16 décembre 2002 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).

1 2

3

<- path(cpu1,cpu3).True

1

2

3

Règle correspondante trouvée

Évaluation de la condition : cable_connection(cpu1, _, cpu3, _, _, _) -> Faux

Deuxième règle correspondante évaluée

4

5

4 5 Évaluation de la première condition : cable_connection(cpu1, _, Z, _, _, _) -> Z=cpu2 (True)

6

6 Vérification de la deuxième condition (appel récursif) : path(cpu2, cpu3) -> True

ET logique