• Aucun résultat trouvé

4.5 R´ eduction, d´ ecomposition des syst` emes

4.5.5 Choix de la d´ ecomposition

Nous sugg´erons deux crit`eres pour ´evaluer une d´ecomposition. En premier lieu, le

but de ces d´ecompositions est d’´eviter la construction d’un diagramme comportant

trop de variables. Pour cela, les deux sous-syst`emes produits `a chaque ´etape de la

d´ecomposition doivent avoir le minimum de variables en commun. Pour s’en convaincre,

il suffit de regarder le cas limite : dans le meilleur des cas, les deux sous-syst`emes ne

partagent pas de variables et peuvent ˆetre trait´es ind´ependamment.

Deuxi`emement, une bonne d´ecomposition doit comporter le minimum de sommets,

pour limiter le nombre d’op´erations `a effectuer. Cela implique d’arriver par partitions

successives `a des sous-syst`emes de support ((suffisamment petit)) le plus rapidement

possible. Une strat´egie simple consiste `a imposer qu’`a chaque ´etape la partition choisie

d´etermine deux sous-syst`emes comportant `a peu pr`es le mˆeme nombre de variables.

En suivant `a la lettre ces deux crit`eres, on arrive au probl`eme d’optimisation

sui-vant : pour une d´ecompositionAdonn´ee, soitkle nombre de ses sommets, et pour tout

S ∈ A, on d´efinit

α

S

=

−∞ si S est une feuille

|Y(S

0

)∩ Y(S

1

)| si S

0

etS

1

sont les fils deS

La d´ecomposition recherch´ee est celle minimisant l’objectif suivant :

obj =k+λmax

S∈A

α

S

o`u λ est un param`etre permettant de contrˆoler l’importance relative des 2 crit`eres.

Il faut bien admettre que ce probl`eme est un peu compliqu´e, et que par ailleurs, sa

r´esolution exacte n’est pas `a proprement parler cruciale.

Dans cet esprit, nous proposons dans la suite un algorithme glouton pour d´eterminer

une d´ecomposition. Son principe est le suivant : si un syst`eme donn´e comporte trop de

variables dans son support, alors on choisit une partition des contraintes, telle que les

deux sous-syst`emes ainsi form´es aient le moins de variables en commun, et

approxima-tivement le mˆeme nombre de variables au total. Cette mˆeme proc´edure est appliqu´ee

r´ecursivement, jusqu’`a ce que le nombre de variables dans le support des sous-syst`emes

aux feuilles soit assez petit.

Chaque ´etape de d´ecomposition en deux parties peut ˆetre vue comme un probl`eme

de graphe : soit C(X) = V

1≤i≤n

C

i(

X

(i)

) une contrainte etG = (C, V, E) le graphe de

conjonction associ´e, o`u C est l’ensemble des contraintes C

i,

V est l’ensemble des

va-riables apparaissant dansCetEl’ensemble des arˆetes du graphe.Gest un graphe biparti

contraintes – variables. Les voisins d’une contrainte dansG sont les variables

apparais-sant dans la contrainte. Par extension, les voisins d’un ensemble de sommets contrainte

sont exactement les variables apparaissant dans la conjonction de ces contraintes, ce

que nous avons not´e V(E) pour tout ensemble E de contraintes. Avec ces notations,

donnons maintenant un ´enonc´e formel du probl`eme de partition pos´e `a chaque ´etape

de la d´ecomposition.

Probl`eme : DECOMP-STEP

Donn´ees : graphe de conjonctionG = (C, V, E), r´eel ε

Solution : partition{A, B} de C telle que

|V(A)| ≤

1+2ε

|V|

|V(B)| ≤

1+ε 2

|V|

|V(A)∩ V(B)|est minimal

Ce probl`eme de partition peut ˆetre vu comme une variante d’un probl`eme bien

connu en th´eorie des graphes, connu sous le nom de Minimum Bisection Problem.

Ce dernier consiste `a d´eterminer une partition des sommets d’un graphe non orient´e

en deux parties de cardinal ´egal et minimisant la capacit´e des arˆetes coup´ees par la

partition. Sa g´en´eralisation aux partitions de taille k ((k, ε) balanced partitioning en

anglais)[1] est ´egalement bien ´etudi´ee. Il s’agit dans tous les cas de probl`emes difficiles :

Minimum Bisection Problem est prouv´e NP-complet, et la meilleure approximation en

temps polynomial est enO(log

2

(n)) o`unest le nombre de sommets dans le graphe. Nous

adaptons maintenant la preuve de NP-compl´etude `a DECOMP-STEP, qui proc`ede par

r´eduction de MAX-CUT, d´efini comme suit :

Probl`eme : MAX-CUT

Donn´ees : graphe non orient´e G= (V, E)

Solution : une partition {A, B} de V telle que

{{a, b} ∈E |a∈A∧b∈B} est de

cardi-nal minimal

Th´eor`eme 11. DECOMP-STEP est NP-complet.

D´emonstration. Consid´erons pour commencer une variante de DECOMP-STEP, nomm´ee

DECOMP-STEP’, o`u le nombre de variables partag´ees doit ˆetre maximis´e au lieu d’ˆetre

minimis´e. DECOMP-STEP’ peut ˆetre r´eduit en DECOMP-STEP (et r´eciproquement)

par une transformation simple du graphe : plutˆot que de relier une contrainte `a ses

variables libres, on relie une contrainteC aux variables qui n’apparaissent pas dansC.

Soit G = (V, E) un graphe non orient´e. On construit le graphe biparti H = (V ∪

W, E, E

0

) o`u :

– W est un ensemble de cardinal|V|disjoint deV

– E

0

est l’ensemble construit en ajoutant deux arˆetes {v,{v, v

0

}} et {v

0

,{v, v

0

}}

pour toute arˆete{v, v

0

} ∈E.

La solution de DECOMP-STEP’ surH etε= 0 fournit une solution `a MAX-CUT

Il nous reste enfin `a pr´eciser l’algorithme que nous avons utilis´e pour r´esoudre le

probl`eme DECOMP-STEP. Il existe un certain nombre d’algorithmes d’approximation

pour le probl`eme Minimum Bisection Problem, et ceux-ci peuvent ˆetre adapt´es pour

DECOMP-STEP. `A cette possibilit´e, nous avons pr´ef´er´e l’utilisation de techniques de

r´esolution de contraintes bool´eennes d´ecrites au prochain chapitre. Notons pour finir

que de tels probl`emes de partitionnement de graphes biologiques v´erifiant certaines

propri´et´es et partageant un minimum de sommets ont d´ej`a ´et´e introduits dans d’autres

contextes, notamment dans des ´etudes de modularit´e des syst`emes diff´erentiels [53], ou

dans le cadre des syst`emes diff´erentiels monotones [21].

Bilan

Dans ce chapitre nous avons d´ecrit une m´ethode de r´esolution des contraintes

qua-litatives, bas´ee sur les diagrammes de d´ecision. Nous avons tout d’abord montr´e

com-ment calculer efficacecom-ment l’ensemble des solutions d’une contrainte donn´ee `a partir

d’op´erations de composition des diagrammes. Le r´esultat est une structure de donn´ees

repr´esentant de mani`ere compacte chacune des solutions ; le gain en espace est obtenu

en exploitant les redondances trouv´ees entre les solutions. Dans un deuxi`eme temps,

nous avons mis `a profit cette structure de donn´ees pour ´etudier l’ensemble des

solu-tions. Ainsi on peut, par le biais de proc´edures r´ecursives parcourant le diagramme en

profondeur, calculer les invariants d’une contraintes, les probabilit´es marginales sous

une contrainte de chaque variable, ou les corrections minimales `a effectuer pour rendre

une contrainte compatible avec une mesure.

Le prix `a payer pour ces r´esultats, c’est le risque permanent de tomber sur une

contrainte dont la repr´esentation en m´emoire sous forme de diagramme de d´ecision

est trop volumineuse. Ce probl`eme nous a conduit `a mettre au point des proc´edures

de r´eduction et de d´ecomposition des syst`emes qualitatifs. Celles-ci sont applicables

quand une contrainte est une conjonction de contraintes comportant un petit nombre

de variables ; elles visent `a produire le r´esultat demand´e sur une contrainte sans jamais

construire compl`etement son diagramme.

Ces approches sont des r´eponses appropri´ees, mais il faut bien avouer qu’elles

com-pliquent un peu les calculs, et qu’elles ne sont pas toujours applicables. Notamment,

d`es que l’une des contraintes dans une conjonction comporte un grand nombre de

va-riables, on ne peut plus trouver de d´ecomposition ad´equate. Ce cas particulier survient

en pratique dans les probl´ematiques de reconstruction de r´eseau comme d´ecrites au

paragraphe 4.4.2.

Nous avons pour cette raison propos´e une seconde approche, qui repose sur des

techniques de r´esolution de contraintes bool´eennes. La strat´egie est cette fois totalement

diff´erente : pour une contrainte donn´ee, on cherche cette fois seulement `a d´eterminer

une solution. Le compromis recherch´e est de faciliter le traitement de donn´ees plus

volumineuses, quitte `a perdre certaines des possibilit´es offertes par les diagrammes de

d´ecision.

R´esolution par Answer Set

Programming

Nous revisitons dans ce chapitre les probl`emes formul´es plus haut `a l’aide de

tech-niques de r´esolution de contraintes bool´eennes. Plus pr´ecis´ement, il s’agit d’´etudier

les possibilit´es offertes par la programmation par ensemble r´eponse pour aborder les

probl`emes de v´erification, pr´ediction, correction/diagnostic. Il s’agit d’une technique

relativement r´ecente, qui peut ˆetre vue comme l’intersection de deux axes de recherche :

1. la d´efinition d’un langage et d’une s´emantique pour les programmes logiques

facilitant la mod´elisation de probl`emes

2. la recherche d’un moteur de r´esolution efficace pour d´eterminer le ou les mod`eles

d’un programme logique.

Cette combinaison permet d’appliquer la programmation par ensemble r´eponse pour

r´esoudre des probl`emes combinatoires ´eventuellement difficiles. La d´emarche consiste `a

´ecrire un programme logique dont les mod`eles sont exactement les solutions du probl`eme

consid´er´e ; on s’appuie ensuite sur un solveur d´edi´e pour trouver les mod`eles du

pro-gramme logique. L’efficacit´e actuelle des solveurs disponibles rend cette approche tout

`

a fait r´ealiste, mˆeme pour le traitement de donn´ees volumineuses.

Dans la suite, nous introduisons bri`evement la programmation par ensemble r´eponse,

puis nous montrons comment l’utiliser pour r´esoudre les probl`emes de v´erification, de

pr´ediction et de diagnostic/correction.

5.1 Une introduction `a la programmation par ensemble

r´eponse

La programmation par ensemble r´eponse (Answer Set Programming, ASP) d´esigne

une famille de langages de programmation logique. Cette famille est caract´eris´ee par

la s´emantique commune utilis´ee, dites des mod`eles stables, que nous introduirons plus

loin. Bri`evement, un programme ASP d´ecrit un ensemble d’atomes `a l’aide de r`egles. Un

atome est un terme, au sens habituel en programmation logique. L’ensemble d’atomes

d´ecrit est appel´e ensemble r´eponse (answer set) ou mod`ele du programme logique. Les

r`egles stipulent essentiellement que si certains atomes sont dans l’ensemble r´eponse

(corps positif d’une r`egle), et que d’autres atomes ne s’y trouvent pas (corps n´egatif

d’une r`egle), alors un ou plusieurs atomes (tˆete de la r`egle) doivent se trouver dans

l’ensemble r´eponse.

Un atome peut ˆetre vu comme un fait, et les r`egles comme des d´eductions permises

pour d´eterminer de nouveaux faits. La s´emantique des mod`eles stables assure 1. que

l’ensemble r´eponse d’un programme en v´erifie toutes les r`egles (autrement dit, que c’est

un mod`ele du programme), 2. que tout atome dans l’ensemble r´eponse est justifi´e par

au moins une r`egle du programme.

Dans la suite, nous introduisons en d´etail les programmes normaux (normal logic

programs), qui sont une variante de la programmation par ensemble r´eponse. Nous

mentionnerons ensuite plusieurs extensions.