• Aucun résultat trouvé

Minimisation de la formulation du PCM

pas car nous pouvons travailler sur chaque o ∈ P de façon indépendante. Dès lors, nous pou-vons calculer en parallèle l’ensemble des patterns couvrant chaque observation pour finalement comparer les couvertures une fois la génération des patterns finie.

3.4.3 Génération des strong prime patterns

En utilisant l’ensemble des prime patterns et leur couverture, il est possible de déterminer ceux qui sont strong en comparant les couvertures deux à deux. Nous obtenons ainsi des prime pat-terns qui sont strong, donc des strong prime patpat-terns (d’après la propriété 2de la sous-section

2.2.2). L’algorithmeSPPC(algorithme27) détermine ainsi les strong prime patterns.

Données: L’ensembleP atdes prime patterns,

L’ensembleCovde la couverture de chaque prime pattern

Résultat: l’ensembleSP P des strong prime patterns

SP P =∅

pour tous lesp∈P atfaire

si@p0 ∈P attel queCov(p)⊂Cov(p0)alors SP P =SP P ∪ {p}

retourner(SPP)

Algorithme 27 :Sélection des strong prime patterns (SPPC)

3.5 Minimisation de la formulation du PCM

Lorsque nous générons l’ensemble des solutions non-dominées du PCM, nous obtenons régu-lièrement beaucoup de solutions. Dès lors, il est compliqué de déterminer les solutions les plus appropriées en fonction du critère de l’utilisateur.

Nous avons vu un premier critère qui consiste à minimiser la taille des solutions. Cette approche peut être utile pour concevoir des tests biologiques pour l’identification de groupes par exemple (voir section2.1). En effet, ces tests consistent à évaluer pour une observation donnée (une bactérie dans notre exemple) un sous-ensemble d’attributs (de gènes) afin de déterminer de quel groupe (pathovar) provient cette observation. Minimiser la taille des solutions permet ainsi de minimiser le nombre d’attributs à étudier pour évaluer l’observation.

Un autre critère peut être la minimisation de la formule logique associée à la solution sous sa forme normale disjonctive (DNF) par soucis de simplicité, de lisibilité et de facilité d’inter-prétation.

Définition 26. La taille d’une formule logique DNF est le nombre de conjonctions de littéraux connectés par le connecteur logique∨(i.e. le nombre de connecteurs +1 de ces conjonctions).

La minimisation de la formulation logique d’un groupeP revient à trouver la solution du PCM pour une instance consituée d’un groupe (P) contre les autres (N) telle qu’il n’existe pas de solution dont la formule associée au groupeP soit de taille inférieure selon la définition26.

Remarque 14. Dans cette section nous étudierons les solutions minimisant la formule d’un seul groupe pour une instance du PCM. Nous présenterons donc les méthodes de calcul de solutions d’un groupe contre tous les autres.

En prenant comme solution liée à l’instance globale l’union de toutes les solutions de chaque groupe, nous aurons une formule générale, mais pas nécessairement de plus petite taille (en terme d’attributs).

Exemple 23. Considérons l’exemple suivant :

Observations Groupes Attributs

a b c d e f g h 1 P 0 1 0 1 0 1 1 0 2 1 1 0 1 1 0 0 1 3 0 1 1 0 1 0 0 1 4 N 1 0 1 0 1 0 1 1 5 0 0 0 1 1 1 0 0 6 1 1 0 1 0 1 0 1 7 0 0 1 0 1 0 1 0

S1 = {f, g}est une solution du PCM. La formule logique associée à la solution S1 pour le groupe P est la DNF (f ∧g) ∨(¬f ∧ ¬g). Cette formule booléenne est de taille 2 car elle est constituée de deux conjonctions de littéraux connectées par le connecteur logique ∨

(disjonction) :(f∧g)ou( ¯f∧g¯).

La taille d’une formule d’un groupe associée à une solutionScorrespond donc au nombre d’observations de ce groupe différentes surS, ou autrement dit, au nombre de patternspi né-cessaire pour couvrir tout le groupe tel que∀i, V ar(pi)⊆S.

L’objectif d’un tel critère est d’obtenir des observations les plus similaires possible sur la so-lution. La description d’un groupe parait plus robuste si l’ensemble des observations respectent une unique description plutôt qu’une multitude de possibilités de description.

L’approche par patterns peut être particulièrement utile pour déterminer les solutions qui optimisent ce critère car plus petit est le nombre de prime patterns nécessaire pour couvrir le groupe, plus petite est la taille de la formule booléenne associée à la solution qui coïncide avec ces patterns (en terme d’attributs). Le nombre de patterns qui couvrent le groupe correspond à la taille de la formule logique.

3.5. MINIMISATION DE LA FORMULATION DU PCM 111

Remarque 15. Il est possible de ne travailler que sur les strong prime patterns car par défini-tion, la couverture de chaque pattern “non strong” sera strictement incluse dans la couverture d’un strong pattern. Ainsi, parmi les ensembles de patterns de plus petite taille couvrantP, au moins l’un d’eux sera composé de strong patterns uniquement.

Le problème de minimisation de la formule peut être décrit comme un problème classique de couverture par ensembles dès lors que l’on cherche le plus petit ensemble de patterns qui couvrent chaque observation du groupeP :

SoitP atl’ensemble des (strong) prime patterns, le vecteur booléenX = [x1,·, x|P at|] représen-tera la présence(1)/absence(0) de chaque pattern dans notre solution.

Nous voulons ainsi minimiser

|P at|

X

i=1

xi

Pour chaque observationo, nous introduisonsmo,i = 1si lei-ième patternpideP atcouvre

o, 0sinon. Ainsi, nous voulons que chaque observation o ∈ P soit couverte par au moins un pattern pi ∈ P at de la solution, i.e. tel que xi = 1(où pi est le i-ième pattern deP at). On a donc : ∀o ∈P, |P at| X i=1 mo,i xi >1

Nous pouvons regrouper toutes les valeursmo,i dans une matriceM de taille |P| × |P at|

où :

• Chaque ligne deM correspond à une observation du groupeP,

• Chaque colonne correspond à un pattern,

• M[o, i] =mo,i,

• Une ligneM[o, .]représente le vecteur booléen de couverture/non couverture des patterns pour l’observationo,

• Une colonneM[., i]représente le vecteur booléen de couverture/non couverture dui-ième pattern pour chaque observation.

Nous obtenons ainsi le programme linéaire suivant :

min: |P at| X i=1 xi s.t.: M .Xt>1t X ∈ {0,1}|P at|, X = [x1, ..., x|P at|]

où1représente un vecteur composé de1etVtest la transposée du vecteurV.

La matriceM est alors facile à générer dès lors qu’on utilise l’ensemble des couverturesCov

des patterns généré par exemple par l’algorithmePPC (algorithme26) puisqueM[o, i] = 1 si

o ∈Cov(pi),0sinon.

Les algorithmes présentés dans la sous-section 3.3 permettent de résoudre le programme linéaire et d’obtenir ainsi des solutions représentant un ensemble de patterns à connecter par le connecteur logique∨pour obtenir la formulation minimale du groupe.

Soit P = {p1,· · · , p|P|} l’ensemble des patterns d’une solution du programme linéaire, l’ensembleS =S|P|

i=1V ar(pi)sera donc une solution minimisant la formule DNF du groupeP.

Remarque 16. Soit une instance(Ω,A, D, G)avec deux groupesP etN, une solutionS mi-nimisant la formule du groupeP n’est pas nécessairement une solution non-dominée de l’ins-tance, même si la formule est constituée de prime patterns.

Exemple 24. Considérons l’instance représentée par le tableau suivant :

Observations Groupes Attributs a b c d e 1 P 0 0 0 1 1 2 0 0 1 1 1 3 1 1 0 0 1 4 1 1 0 1 0 5 N 1 1 1 0 1 6 1 1 1 1 0 7 0 0 0 0 0

La formule(a∧c¯)∨(d∧e)est une formule de taille minimale décrivant le groupeP, maisS =

V ar(a∧c¯)∪V ar(d∧e) ={a, c, d, e}est une solution dominée par la solutionS0 ={c, d, e}. Remarquons queS0 ne permet pas de créer une autre formule minimale du groupeP.

Remarque 17. L’algorithmeVS(algorithme17) permet de manière très efficace de déterminer pour une liste de solutions minimisant la formule d’un groupe lesquelles sont des solutions non-dominées.