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

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Bases de données déductives  en pratique

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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