La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Intégration d'un langage de modélisation algébrique (LMA) dans AROM

Présentations similaires


Présentation au sujet: "Intégration d'un langage de modélisation algébrique (LMA) dans AROM"— Transcription de la présentation:

1 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 , …

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 symbole
ex: P1, P2, P3…, …

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 = 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 domaine exemple: TYPE(PRODUITS)  TYPES plusieurs indices: relation entre les atomes de plusieurs domaines exemple: DEMANDE(PRODUITS,T)  REEL

14 Equation Elles sont de la forme: où:
x11(D1) x22(D2) ... xnn(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) Exemples: Similitude avec des clauses de Horn
Forme (rappel): x11(D1) x22(D2) ... xnn(Dn): v(x1, x2,..., xn) = expr Exemples: variable DEMANDE_TOT(T)  REEL t dans T: DEMANDE_TOT(t) = somme(p dans PRODUITS: DEMANDE(p,t)) variable DEMANDE(PRODUITS,T)  REEL p dans PRODUITS: = 2000 p dans PRODUITS, t dans T- 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

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

22 Exemple 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 AMIA VACATAIRES = {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: Vacation variables: variable: montant type: float class: Employé variable: salaire class: Permanent super-class: Employé variable: index type: integer class: Vacataire super-class: Employé variables: variable: salaire definition: sum(e in Effectue:e.quantité * e.vacation.montant) relation: Effectue roles: role: vacataire type:Vacataire role: vacation type: Vacation variable: quantité type: integer

26 Problème de la notation des variables
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: relation: A role: c1 type: C1 role: c2 type: C2 ... variable: x definition: c1.a1 + c2.a2 ou c1 dans C1, c2 dans C2: x[c1,c2] = ...

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ête class: Employé variables: variable: salaire
type: float queries: query: pauvre definition: salaire < 2000 filters: filter: toto set-base: Employé member(self, {toto,lulu,bibi}) filter: riches 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 contraintes
class: Employé variables: variable: statut type: string variable: salaire type: float constraint: 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 ?


Télécharger ppt "Intégration d'un langage de modélisation algébrique (LMA) dans AROM"

Présentations similaires


Annonces Google