• Aucun résultat trouvé

Agrégation et intégration de contraintes dans les réseaux GAI

2.2 Représentation des préférences par des réseaux GAI

2.2.4 Agrégation et intégration de contraintes dans les réseaux GAI

Les réseaux GAI représentent des préférences. Toutefois pour certains problèmes, il est nécessaire de mêler ces préférences avec des contraintes (budgétaires par exemple). Les réseaux GAI permettent de mélanger ces deux concepts, de façon similaire aux réseaux de contraintes exibles (Weighted-CSP (Dechter, 2003; Larrosa et Schiex, 2003)), au moyen d'une opération que nous nommerons agrégation.

Dénition 59 (Agrégation de graphes markoviens) Soit G1

M  pV1

M, EM1 q et G2 M  pV2

M, E2Mq deux graphes markoviens. On dit que GM  pVM, EMq est le graphe markovien agrégé de G1

M et G2

M si, et seulement si, VM  V1 M Y V2 M et EM  E1 M Y E2 M. On notera GM  G1 M G2M. Note : l'intersection de V1 M et V2

M n'est pas nécessairement vide.

L'agrégation de deux graphes markoviens consiste à former un nouveau graphe mar-kovien contenant tous les attributs des deux graphes, et l'union de toutes les arêtes de ces graphes. En procédant de cette façon, nous pouvons être sûrs que toutes les dépendances sont respectées : toute clique représentant une fonction de sous-utilité se retrouvera dans le graphe markovien agrégé. En pratique, nous ne manipulons jamais directement les graphes markoviens, mais une représentation utilisant une forêt de jonction. Nous avons vu précédemment que la transposition d'un graphe markovien en une forêt de jonction est simple, et correspond à une triangulation (suivie d'une réduction). La dénition de l'agrégation de graphes markoviens trouve donc naturellement sa transposée pour les forêts de jonction :

Dénition 60 (Agrégation de forêts de jonction) Soit F1et F2deux forêts de jonc-tion, de graphes markoviens respectifs G1

M et G2

M. Une forêt de jonction agrégée de F1

et F2 est une forêt de jonction obtenue par triangulation (et réduction) de G1 M G2

M. L'agrégation de deux forêts de jonction est donc une opération respectant les dépen-dances de ces forêts étant donné que ce respect des dépendépen-dances existe pour l'agrégation des graphes markoviens et pour la procédure de triangulation. Supposons maintenant

que dans le cadre d'un problème donné, nous soyons amenés à manipuler deux réseaux GAI représentant deux fonctions d'utilité u1 et u2, et que le problème nous amène à considérer la fonction d'utilité u  u1 u2. Cette fonction reste GAI-décomposable, et ses sous-fonctions d'utilité sont les sous-fonctions d'utilité de u1 et u2, le réseau GAI représentant u doit donc être un réseau respectant toutes les dépendances de u1 et u2. Il en découle donc la dénition suivante :

Dénition 61 (Agrégation par sommation de réseaux GAI) Soit X  ±n i1Xi

un espace d'alternatives, u1 et u2 deux fonctions d'utilité GAI-décomposables représen-tables par deux réseaux GAI dont les forêts de jonction sont F1 et F2. Le réseau GAI agrégé de u1 et u2 est un réseau GAI représentant u vériant :

 Sa forêt de jonction est une agrégation de F1 et F2.  @x P X upxq  u1pxq u2pxq.

Puisque la forêt de jonction du réseau GAI représentant u respecte toutes les dépen-dances de u1 et u2, pour toute sous-fonction d'utilité ui

j, il existera une clique formant un sur-ensemble des attributs du domaine de dénition de ui

j. Il sut donc d'assigner à chaque sous-fonction d'utilité sa clique correspondante par sommation.

Remarque 11 Nous avons choisi de préciser  par sommation  car nous développe-rons une nouvelle façon d'agréger des réseaux GAI. Toutefois, quelle que soit la façon d'agréger ces réseaux, les dénitions de base (sur les graphes markoviens et les forêts de jonction) restent inchangées. Il est donc important de prendre en compte deux aspects de l'agrégation : la prise en compte des dépendances (aspect qui s'exprime graphiquement) et la manière de placer les sous-fonctions d'utilité dans les cliques (ici, par sommation). Une application directe de ces dénitions est l'intégration de contraintes dans les réseaux GAI. Dans la littérature, les contraintes sont souvent représentées par des en-sembles représentant des restrictions, mais pour faciliter l'intégration des contraintes dans le contexte qui nous intéresse, nous allons les dénir directement de manière fonctionnelle. Cette dénition n'est pas restrictive et est particulièrement adaptée aux raisonnements par forêt de jonction (voir le livre de Dechter (2003)).

Dénition 62 (Contrainte) Soit X  ±n

i1Xi un espace d'alternatives. On dénit une contrainte sur les attributs indicés par N „ t1, . . . , nu comme étant une fonction c :±

jPNXj Ñ t0, 8u.

Cette dénition étant proche des sous-fonctions d'utilité, il semble naturel de l'utiliser au sein d'un réseau GAI pour représenter des associations d'attributs interdites (8) ou autorisées (0).

Dénition 63 (Fonction d'utilité étendue) Soit X un espace d'alternatives, Á une relation de préférence sur X représentable par une fonction d'utilité u : X Ñ R et tc1, . . . , cq1u des fonctions représentant des contraintes. La fonction d'utilité u étendue aux contraintes tc1, . . . , cq1u (de domaines de dénition respectifs XC1, . . . , XC

q1) est une fonction ¯u : X Ñ R Y t8u vériant @x P X ¯upxq  upxq °q1

2. Décision avec le modèle GAI 57 Propriété 19 (Respect des contraintes) Soit ¯u : X Ñ RYt8u une fonction d'uti-lité u étendue à un ensemble de contraintes. @x P X on a :

 Si ¯upxq  8 alors x ne respecte pas au moins une des contraintes de l'extension.  Si Da P R ¯upxq  a alors x respecte toutes les contraintes de l'extension, et upxq  a. Ainsi, si un réseau GAI ne représente non plus la fonction d'utilité u mais son ex-tension à un ensemble de contraintes ¯u, il est aisé de savoir si une contrainte est violée, et, dans le cas contraire, la valeur de l'utilité initiale. Dans le cadre de fonctions GAI-décomposables, on aura donc une fonction ¯u de la forme ¯u °iui °

jcj. L'agrégation par sommation nous permet de générer, à partir d'un réseau GAI représentant u, un ré-seau GAI représentant ¯u si on considère qu'à chaque contrainte, il est possible d'associer un graphe markovien de la façon suivante :

Dénition 64 (Graphe markovien d'une contrainte) Soit ci :XCi Ñ t0, 8u une contrainte. Le graphe markovien associé à ci est un graphe non orienté GM  pVM, EMq tel que VM  tXj{j P Ciu et EM  ttXj, Xku{j P Ci et k P Ciu.

Le graphe markovien d'une contrainte est donc une clique sur l'ensemble des attributs intervenant dans la contrainte. En exploitant cette dénition, on en déduit l'algorithme 4 d'intégration de contraintes.

Algorithme 4 : IntégrerContraintes Entrées :

F : forêt de jonction,

tu1, . . . , uqu : sous-fonctions d'utilité associées aux cliques de F , tc1, . . . , cq1u : ensemble de contraintes à respecter

Sortie : F1 : réseau GAI intégrant les contraintes GM Ð générer graphe markovien de F ;

1

pour j variant de 1 à q1 faire

2

G1

M Ð générer le graphe markovien de cj;

3 GM Ð GM G1 M; 4 n 5

F1 Ð trianguler (et réduire) GM;

6

pour i variant de 1 à q faire

7

Placer par sommation ui dans F1;

8

n

9

pour j variant de 1 à q1 faire

10

Placer par sommation cj dans F1;

11

n

12

Ce pseudo-code contient deux parties : l'agrégation des graphes markoviens (lignes 01 à 06) et le placement des sous-fonctions d'utilité (lignes 07 à 12). L'agrégation respecte les dénitions énoncées plus haut : la forêt de jonction F1 obtenue à la ligne 06 est une triangulation d'un graphe markovien agrégé (GM) contenant toutes les dépendances de la forêt de jonction initiale (ligne 01) et toutes les dépendances des contraintes (ligne 03).

Nous disposons donc d'une extension des réseaux GAI permettant de prendre en compte conjointement préférences et contraintes. Dans la suite de cette thèse, nous rai-sonnerons sur des réseaux GAI  classiques , mais l'intégralité des algorithmes exploitant des réseaux GAI s'appliqueront aussi aux réseaux prenant en compte les contraintes.

2.3 Exploitation des réseaux GAI pour la résolution de