Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation...
-
Upload
thiodore-cornu -
Category
Documents
-
view
104 -
download
0
Transcript of Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation...
Intégration d'un langage de modélisation
algébrique (LMA) dans AROM
Michel Page - présentation équipe Arom
7 juin 1999
2
Objectifs de l'exposé Expliquer ce qu'est un LMA Montrer comment un LMA peut
être introduit dans un contexte objet
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
4
Introduction: qu'est-ce qu'un LMA ?
Principe de base: exploiter les notations algébriques
utilisées en maths
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
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
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
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
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
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
11
Atome objet distinguable du monde réel
représenté par un symboleex: P1, P2, P3…, T1, T2, @1999, @2000, …
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
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
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
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
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
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
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
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
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
21
Analogies entre AMIA et Arom
AMIA Aromatome objetdomaine classevariable avec un indice variable de classevariable avec plusieursindices
variable de relation
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
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))
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
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
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
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
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
29
Langage de contraintes 2 types de contraintes:
contraintes de variable: prédicat unire sur une variable
contrainte sur une classe ou une relation
30
Exemples de contraintesclass: Employévariables:
variable: statuttype: string
variable: salairetype: floatconstraint: salaire >= 0
31
Problèmes en suspens le temps classifier pour calculer les
variables et calculer les variables pour classifier
extensibles, les types. Quid du LMA ?