Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation...

31
Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999

Transcript of Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation...

Page 1: Intégration d'un langage de modélisation algébrique (LMA) dans AROM Michel Page - présentation équipe Arom 7 juin 1999.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

31

Problèmes en suspens le temps classifier pour calculer les

variables et calculer les variables pour classifier

extensibles, les types. Quid du LMA ?