• Aucun résultat trouvé

#12 Intersection de matroïdes

N/A
N/A
Protected

Academic year: 2021

Partager "#12 Intersection de matroïdes"

Copied!
22
0
0

Texte intégral

(1)

Intersection de matro¨ıdes

MTH6311

S. Le Digabel, ´Ecole Polytechnique de Montr´eal

H2018

(2)

Plan

1. Introduction

2. Algorithme pour l’intersection de deux matro¨ıdes

3. Exemples

(3)

1. Introduction

2. Algorithme pour l’intersection de deux matro¨ıdes 3. Exemples

(4)

Probl`

eme

I Soient (E, F1) et (E, F2) deux matro¨ıdes d´efinis sur un

ensemble E et soit c : E → R+ une fonction.

I On veut d´eterminer un ensemble ind´ependant F ∈ F1∩ F2 de

(5)

Exemple 1 : Couplage de coˆ

ut maximum dans un

graphe biparti

I Soit G = (V = V1∪ V2, E) un graphe biparti et c : E → R+.

I Soit Ex l’ensemble des arˆetes incidentes `a x ∈ V dans G.

I On a E = S

x∈V1

Ex = S y∈V2

Ey.

I Soit F1= {F ⊆ E tel que |F ∩ Ex| ≤ 1 pout tout x ∈ V1}.

(E, F1) est un matro¨ıde de partition (unitaire).

I F2 = {F ⊆ E tel que |F ∩ Ey| ≤ 1 pout tout y ∈ V2}.

(E, F2) est un matro¨ıde de partition (unitaire).

I Un couplage dans G est un ensemble ind´ependant dans F1∩ F2.

(6)

Exemple 1 : Remarque

I Dans le matro¨ıde transversal, un ensemble ind´ependant est un sous-ensemble de V1.

I Si on associe des coˆuts aux sommets de V1, on peut

rechercher un couplage qui maximise les coˆuts des sommets de V1 incidents aux arˆetes du couplage.

I Ceci est un cas particulier du probl`eme de cet exemple dans lequel toutes les arˆetes de Ex ont le coˆut du sommet x ∈ V1.

I Alors que le couplage optimal dans le matro¨ıde transversal peut ˆetre d´etermin´e `a l’aide de l’algorithme glouton, un algorithme plus complexe est n´ecessaire pour la d´etermination d’un couplage optimal dans le cas o`u les arˆetes incidentes `a un mˆeme sommet de V1 peuvent avoir des coˆuts diff´erents.

(7)

Exemple 2 : Arborescence de poids maximum dans

un graphe

I Soit G = (V, A) un graphe orient´e, soit r ∈ V une racine dans G, et soit c : A → R+.

I On recherche une arborescence de racine r de coˆut total maximum.

I Une arborescence est un arbre orient´e. On recherche donc premi`erement un ensemble ind´ependant dans le matro¨ıde graphique associ´e `a G.

(8)

Exemple 2 (suite)

I De plus, pour que cet arbre soit une arborescence dans G, il faut que chaque sommet autre que la racine ait au plus un pr´ed´ecesseur dans l’arborescence et que la racine n’en ait pas.

I Notons Ax⊆ A l’ensemble des arcs pr´ed´ecesseurs de x dans

G. On a A = S

x∈V

Ax.

I Pour qu’un sous-ensemble F d’arcs dans G soit une

arborescence, il faut que |Ax∩ F | ≤ 1 pour tout x ∈ V − {r}

et |Ar∩ F | = ∅.

I Une arborescence est donc aussi un ensemble ind´ependant dans le matro¨ıde de partition d´ecrit ci-dessus, avec nx = 1

(9)

Exemple 2 (suite)

I Tout ´el´ement appartenant `a l’intersection des matro¨ıdes graphique et de partition d´ecrits ci-dessus d´efinit une

arborescence pour laquelle aucun arc dirig´e vers la racine n’est s´electionn´e.

I Cependant, la racine peut ne pas faire partie de l’arborescence.

I Ainsi, si on veut l’arborescence de racine r et de coˆut total maximum, il faut un ´el´ement dans l’intersection des matro¨ıdes qui contienne le noeud racine r.

(10)

1. Introduction

2. Algorithme pour l’intersection de deux matro¨ıdes 3. Exemples

(11)

Notations

I Rang : rgi(F ) = max

X⊆F,X∈Fi|X| = maxX∈Fi|X ∩ F |.

I Clˆoture : cli(F ) : plus grand sous-ensemble de E contenant F

et tel que rgi(F ) = rgi(cl(F )). Est unique.

I Stigme : Si(F, e) est l’unique stigme contenu dans F ∪ {e},

avec F ∈ Fi et e ∈ E − F tel que F ∪ {e} /∈ Fi.

(12)

Algorithme pour l’intersection de deux matro¨ıdes

L’algorithme suivant d´etermine des ensembles ind´ependants Fk ∈ F1∩ F2, pour k ∈ {0, 1, . . . , R}, tels que Fk est de coˆut

c(Fk) maximum parmi les ensembles ind´ependants de F1∩ F2 de

taille k.

Inter 2 Matro¨ıdes

0. k ← 0, Fk← ∅

c1(e) ← 0, c2(e) ← c(e) pour tout e ∈ E 1. Pour i ∈ {1, 2}

mi ← max{ci(e), e ∈ E − cli(Fk)}

Ei ← {e ∈ E − cli(Fk), c(e) = mi}

Si E1= ∅ ou E2 = ∅

STOP : Fk ens. ind´ep. dans l’un des matro¨ıdes (@F ∈ F1∩ F2 : |F | > |Fk|)

(13)

Algorithme (suite)

2. Construire G = (E, A) avec (x, y) ∈ A si x /∈ Fk, y ∈ Fk, x ∈ cl

1(Fk), y ∈ S1(Fk, x), c1(x) = c1(y)

ou

y /∈ Fk, x ∈ Fk, y ∈ cl

2(Fk), x ∈ S2(Fk, y), c2(x) = c2(y)

S’il existe un chemin dans G reliant E2 `a E1

3. Choisir un plus court chemin entre E2 et E1

Noter W les sommets de ce chemin

Fk+1← (Fk− W ) ∪ (W − Fk) (diff. sym´etrique)

k ← k + 1 Aller en 1.

(14)

Algorithme (suite)

4. W ← sommets atteignables depuis E2

δ1 ← min{c1(y) − c1(x) : x /∈ Fk, y ∈ Fk, x ∈ cl 1(Fk) ∩ W, y ∈ S1(Fk, x) − W } δ2 ← min{m1− c1(x) : x ∈ (E − cl1(Fk)) ∩ W } δ3 ← min{c2(y) − c2(x) : x /∈ Fk, y ∈ Fk, x ∈ cl 2(Fk) − W, y ∈ S2(Fk, x) ∩ W } δ4 ← min{m2− c2(x) : x ∈ (E − cl2(Fk)) − W } δ ← min i∈{1,2,3,4}δi Si δ = ∞ STOP : @F ∈ F1∩ F2: |F | > |Fk| Sinon c1(x) ← c1(x) + δ pour tout x ∈ W c2(x) ← c2(x) − δ pour tout x ∈ W Aller en 1.

(15)

Propri´

et´

es

I La fonction f (i) = c(Fi) est concave :

c(Fk+1) − c(Fk) ≤ c(Fk) − c(Fk−1) .

I Si on recherche un ensemble ind´ependant (pas n´ecessairement maximal) de coˆut total maximum, on peut s’arrˆeter d`es que c(Fk+1) ≤ c(Fk) : l’ensemble Fk est alors un ensemble ind´ependant de coˆut total maximum.

I A l’´` etape 3., on a c(Fk+1) − c(Fk) = m1+ m2.

I Comme m1 et m2 sont non croissants, on peut stopper

(16)

1. Introduction

2. Algorithme pour l’intersection de deux matro¨ıdes 3. Exemples

(17)

Exemple 3

Recherche d’un couplage de coˆut maximum dans le graphe ci-dessous :

(18)

Exemple 4

Recherche d’un couplage de coˆut maximum dans le graphe ci-dessous :

(19)

Exemple 5

Recherche d’une arborescence compl`ete de racine d et de coˆut minimum dans le graphe ci-dessous :

(20)

1. Introduction

2. Algorithme pour l’intersection de deux matro¨ıdes 3. Exemples

(21)

Probl`

eme

I Soient (E, Fi), i ∈ {1, 2, . . . , k}, des matro¨ıdes d´efinis sur un

ensemble E, avec k > 2. Soit c : E → R+ une fonction.

I On veut d´eterminer un ensemble ind´ependant F ∈

k

T

i=1

Fi de

coˆut c(F ) maximum.

I Il n’existe `a ce jour aucun algorithme efficace pour r´esoudre ce probl`eme.

(22)

Exemple 6 : Probl`

eme du chemin hamiltonien de

coˆ

ut minimum dans un graphe

I Sans perte de g´en´eralit´e, on peut consid´erer que ce probl`eme consiste `a maximiser des coˆuts positifs.

I Il ne s’agit pas du TSP car on cherche un chemin et non une tourn´ee.

I Il s’agit d’un probl`eme d’intersection de k = 3 matro¨ıdes, car un chemin hamiltonien est une arborescence dans laquelle chaque sommet a au plus un successeur. On a donc une intersection entre :

I Le matro¨ıde graphique (le chemin est un arbre).

I Un premier matro¨ıde de partition (chaque sommet a au plus un pr´ed´ecesseur).

I Un deuxi`eme matro¨ıde de partition (chaque sommet a au plus un successeur).

Références

Documents relatifs

Nous brancherons ensuite souvent des sommets à G ou ⊥ pour interdire ces couleurs, il s’agira toujours de ces mêmes sommets G et ⊥ (le gadget n’est présent qu’une seule

À tout mot qui n’est pas un encodage valide d’une formule CNF avec au plus 3 littéraux dans chaque clause, on associe simplement un mot qui n’est pas un encodage valide d’un

Universit´ e Pierre et Marie Curie – Paris 6 Examen de travaux pratiques Licence de Math´ ematiques LM380 – Analyse Hilbertienne et Num´ erique.. 28 mai 2008 8h30 `

Dans toute la suite du probl` eme, l’espace H et l’op´ erateur T sont ceux d´ efinis dans le pr´ eambule du probl` eme. (a) Calculer les valeurs propres et vecteurs propres

Cependant, L −1 2 L 1 est une matrice triangulaire inf´ erieure de type unit´ e en tant que produit de deux telles matrices, tandis que U 2 U 1 −1 est une matrice triangulaire

On mène une droite quelconque L coupant la première conique en m et m x et la seconde conique enn et 72!, points qu'on sait construire sans que les coniques soient décrites, et soit

Elle est obtenue par n’importe quel trajet qui oscille de part et d’autre de la maison num´ ero n+1 2 , mis ` a part le moment o` u le trajet passe par cette maison (le facteur

Lorsqu’un raisonnement utilise le r´ esultat d’une question pr´ ec´ edente, il est demand´ e au candidat d’indiquer pr´ ecis´ ement le num´ ero de la question utilis´ ee. F