intégration d'un langage de modélisation algébrique (lma) dans arom michel page -...
TRANSCRIPT
![Page 1: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/1.jpg)
Intégration d'un langage de modélisation
algébrique (LMA) dans AROM
Michel Page - présentation équipe Arom
7 juin 1999
![Page 2: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/2.jpg)
2
Objectifs de l'exposé Expliquer ce qu'est un LMA Montrer comment un LMA peut
être introduit dans un contexte objet
![Page 3: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/3.jpg)
3
Plan de l'exposé Introduction: Qu'est-ce qu'un LMA ?
Modélisation dans un LMA: l'exemple d'AMIA
Proposition d'un LMA pour Arom
![Page 4: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/4.jpg)
4
Introduction: qu'est-ce qu'un LMA ?
Principe de base: exploiter les notations algébriques
utilisées en maths
![Page 5: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/5.jpg)
5
Notations algébriques langage mathématique d'écriture
de systèmes d'équations et/ou de contraintes
variables et expressions indicées variables et expressions
ensemblistes opérateurs itérés: et , …
i I x x yi ijj I i j
![Page 6: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/6.jpg)
6
Utilisation des LMA introduits en RO pour la prog. linéaire et
non-linéaire (AMPL, GAMS, SML, …) ex AMPL: {i in I}: X[i] = sum {j in I diff {i}} X[i,j]*Y[j]
utilisés en simulation: AMIA récemment utilisés dans les langages de
prog. par contraintes (Newton, OPL)
similarité avec les langages prédicatifs à variables domaine utilisés dans les SGBD relationnels
![Page 7: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/7.jpg)
7
Intérêts des LMA permettent de représenter le numérique
aussi bien que le symbolique les variables et les expressions ne sont pas
indicées numériquement, mais symboliquement
déclaratif: chaque équation et/ou contrainte forme un
corpus de connaissances indépendant expressif:
pouvoir d'expression comparable à la logique des prédicats mais avec des variables quantifiées sur des domaines finis
![Page 8: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/8.jpg)
8
Plan de l'exposé Introduction: Qu'est-ce qu'un LMA ?
Modélisation avec un LMA: l'exemple d'AMIA
Proposition d'un LMA pour Arom
![Page 9: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/9.jpg)
9
Un exemple sur un marché existent un certain
nombre de produits P1, P2, …, Pn de deux types: T1 et T2
pour les années qui suivent, il est prévu:
une croissance annuelle de 10 % de la demande de chaque produit de type T1
produits de type T2:
• 20 % de la demande globale
• parts de marché identiques
![Page 10: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/10.jpg)
10
LMA dans AMIA Rappels:
AMIA est un environnement pour la simulation à base de connaissances
AMIA n'est pas OO 5 niveaux de représentation de
connaissances dans AMIA: atomes domaines variables équations contraintes
![Page 11: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/11.jpg)
11
Atome objet distinguable du monde réel
représenté par un symboleex: P1, P2, P3…, T1, T2, @1999, @2000, …
![Page 12: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/12.jpg)
12
Domaine ens. fini d'atomes ayant une
significations, des propriétés et un comportement commun exemples:
TYPES = {T1,T2}PRODUITS = {P1,P2,P3,...}T = {@1999,@2000,@2001,...}
note: le temps est un domaine 2 rôles:
• indicer les variables• co-domaine: ens. dans lequel une variable
peut prendre ses valeurs
![Page 13: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/13.jpg)
13
Variable fonction discrète (partielle ou totale)
sur un ens. de domaines Di :v: D1 D2 ... Dn D*
(x1, x2, ..., xn) v(x1, x2, ..., xn)
D* est un domaine (variable mono-valuée) ou l'ens des parties d'un domaine (variable multi-valuée)
un indice: propriété partagée par les atomes d'un domaineexemple: TYPE(PRODUITS) TYPES
plusieurs indices: relation entre les atomes de plusieurs domainesexemple: DEMANDE(PRODUITS,T) REEL
![Page 14: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/14.jpg)
14
Equation Elles sont de la forme:
x11(D1) x22(D2) ... xnn(Dn): v(x1, x2,..., xn) = expr
où:i(Di) : sous-ensemble du domaine Di
xi : variables muettes appelées index
expr : expr. de calcul bâtie à partir de:• constantes (numériques ou atomes) et variables• fonctions et op. num., logiques, atomiques,
ensemblistes• opérateurs itérés: somme, produit, moyenne, ...• expressions conditionnelles
![Page 15: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/15.jpg)
15
Equations (suite) Forme (rappel): x11(D1) x22(D2) ... xnn(Dn): v(x1, x2,..., xn) = expr
Exemples:variable DEMANDE_TOT(T) REELt dans T:
DEMANDE_TOT(t) = somme(p dans PRODUITS: DEMANDE(p,t))
variable DEMANDE(PRODUITS,T) REELp dans PRODUITS: DEMANDE(p, @1999) = 2000p dans PRODUITS, t dans T- {@1999}: DEMANDE(p,t) =
si TYPE (p) = T1 alors 1.1 * DEMANDE(p,t-1) sinon 0.2*DEMANDE_TOT(t) /
/ card( {p' dans PRODUITS: TYPE (p')=T2} )
Similitude avec des clauses de Horn
![Page 16: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/16.jpg)
16
Equations (fin) Forment des systèmes d'équations
simultanées aux différences
Sémantique d'AMIA: recherche des points fixes de
);,...,,( 01 tXXXFX ttt
F
![Page 17: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/17.jpg)
17
Contraintes Relation entre les variables du
modèles exemple:
p dans PRODUITS, t dans T: DEMANDE_TOT(t) >= DEMANDE(p,t)
pas utilisées de manière active dans AMIA
![Page 18: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/18.jpg)
18
Résumé: caractéristiques du LMA dans AMIA
variables à valeur symbolique et ensembliste
variables indicées symboliquement équations symboliques +
numériques variables et opérateurs itérés
![Page 19: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/19.jpg)
19
Plan de l'exposé Introduction: Qu'est-ce qu'un LMA ?
Modélisation dans un LMA: l'exemple d'AMIA
Proposition d'un LMA pour Arom
![Page 20: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/20.jpg)
20
Conclusion Nombreuses applications traitées
dont certaines de taille très importante mise en évidence de l'intérêt du
formalisme de représentation choisi et des algo associés
mais: nécessité de structurer les domaines nécessité de structurer les
hypothèses
![Page 21: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/21.jpg)
21
Analogies entre AMIA et Arom
AMIA Aromatome objetdomaine classevariable avec un indice variable de classevariable avec plusieursindices
variable de relation
![Page 22: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/22.jpg)
22
Exemple
0,n0,n
Permanentindice
Vacationmontant
Employésalaire
Vacataireeffectuequantité
On suppose:• pour un permanent: salaire = indice * 20• pour un vacataire: salaire = somme des montants par les quantités de vacations effectuées
![Page 23: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/23.jpg)
23
Description en AMIAVACATAIRES = {V1, V2,V3}PERMANENTS = {P1,P2,P3}VACATIONS = {VA1,VA2, VA3}
SALAIRE(PERMANENTS) REEL p dans PERMANENTS:
SALAIRE(p) = indice(v) * 20
QUANTITE(VACATAIRES,VACATIONS) ENTIER
MONTANT(VACATIONS) REEL
SALAIRE(VACATAIRES) REEL v dans VACATAIRES: SALAIRE(v) = somme(vac dans VACATIONS: QUANTITE(v,vac) * MONTANT(vac))
![Page 24: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/24.jpg)
24
Rôles du LMA en Arom langage d'écriture des équations
définissant les variables de classes et de relation
langage de requête langage de contraintes
![Page 25: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/25.jpg)
25
Définition de variables en Arom
class: Vacationvariables:
variable: montanttype: float
class: Employévariables:
variable: salairetype: float
class: Permanentsuper-class: Employévariables:
variable: indextype: integer
variable: salaire
class: Vacatairesuper-class: Employévariables:
variable: salairedefinition:
sum(e in Effectue:e.quantité * e.vacation.montant)
relation: Effectueroles:
role: vacatairetype:Vacataire
role: vacationtype: Vacation
variables:variable: quantité
type: integer
![Page 26: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/26.jpg)
26
en AMIA: notation fonctionnelle VAR(x,y) en Arom ?
• dans la plupart des systèmes 00, notation pointée obj.var
• La notation pointée convient pour un seul indice• Pb 1: le temps salaire(Employe,T). Comment noter le
salaire de l'employé e à l'instant t ? e.salaire[t] ou salaire[e,t]
• Pb 2: les variables de relation:
Problème de la notation des variables
relation: A…role: c1 type: C1role: c2 type: C2...variable: x
definition:c1.a1 + c2.a2
ouc1 dans C1, c2 dans C2:
x[c1,c2] = ...
0,nc2
0,nc1
C1a1
C2a2
Ax
![Page 27: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/27.jpg)
27
Langage de requête requête: similaire à une variable mais
sa valeur n'est pas conservée son type est quelconque
filtres de classes et de relations: définissent en compréhension un sous ens. d'éléments
![Page 28: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/28.jpg)
28
Exemples de requêteclass: Employévariables:
variable: salairetype: float
queries:query: pauvredefinition:
salaire < 2000
filters:filter: totoset-base: Employé
definition:member(self, {toto,lulu,bibi})
filter: richesset-base: Employé
definition:salaire > 10000
![Page 29: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/29.jpg)
29
Langage de contraintes 2 types de contraintes:
contraintes de variable: prédicat unire sur une variable
contrainte sur une classe ou une relation
![Page 30: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/30.jpg)
30
Exemples de contraintesclass: Employévariables:
variable: statuttype: string
variable: salairetype: floatconstraint: salaire >= 0
![Page 31: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999](https://reader038.vdocuments.net/reader038/viewer/2022110117/551d9dbb497959293b8dea1a/html5/thumbnails/31.jpg)
31
Problèmes en suspens le temps classifier pour calculer les
variables et calculer les variables pour classifier
extensibles, les types. Quid du LMA ?