Vous êtes sur la page 1sur 29

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Probl`me de voyageur de commerce e


Maria Malek

28 novembre 2011

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Rappel Probl`me de larbre couvrant minimum e Algorithme de Kruskal Cha nes et cycles eulriens e Principal rsultat e Algorithmes Cycles Hamiltoniens Quelques proprits simples ee Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Algorithme de Kruskal

Probl`me de larbre couvrant minimum e

Etant donn un graphe simple connexe G =(X,E) valu par e e +. lapplication v dans R Trouver un graphe connexe de G : T=(X,A) tel que c(T ) = eA v (e) soit minimum. T est ncessairement un arbre couvrant sinon on contredit la e minimalit ! ! e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Algorithme de Kruskal

Exemple du probl`me e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Algorithme de Kruskal

Exemple de la solution

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Algorithme de Kruskal

Probl`me de larbre couvrant minimum : solution e

La recherche exhaustive dune solution est tr`s coteuse. e u Examen de tous les arbres couvrants possibles ! ! procd tr`s coteux, estim en milliers de si`cles ! ! ! e e e u e e On applique lalgorithme glouton qui narrive pas forcement ` a la solution optimale. En sappuyant sur la proposition XIII on ajoute au fur et ` a measure une arte e qui ne cr pas de cycle avec celles dj` e ee ea retenues, tel que v(e) soit minimum.

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Algorithme de Kruskal

Algorithme de Kruskal
procedure Kruskal (G,v) F E A tantque |A| < n 1 faire Trouver e F tel que v(e) soit minimum F F e si G (A {e}) est acyclique alors A A {e} n si n tantque

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Algorithme de Kruskal

Algorithme de Kruskal : complexit e

Evaluation de la complexit de : e
Tri des artes ` tester : tri rapide O(m*log(m)). e a Gestion des composantes connexes de G(A) : Procdure un e peu complique mais qui peut se faire en O(m (n)) tant e e une fonction tr`s lente avec une valeur infrieur ` 4. e e a Lalgorithme de Kruskal est pratiquement linaire (si les artes e e sont dj` tries). ea e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Dnitions & Origines e


Une cha eulrienne dun graphe G est une cha simple ne e ne qui contient toutes les artes de G (qui passe une fois par e chaque arte de G). e Un cycle eulrien de G est une cha eulrienne ferme. e ne e e Un graphe est dit eulrien sil poss`de un cycle eulrien. e e e Origine : Probl`me des ponts de Konigsberg - (XVIII e si`cle) : e e
Sept ponts disposs sur une euve e Est ce possible de les traverser, chacun une fois avec retour au mme point de dpart ? e e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Les ponts de Konigsberg - 1

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Le Graphe des ponts de Konigsberg - 2

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Exemples de graphes eulriens e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Thor`me dEuler - 1 e e

` THEOREME Un graphe connexe G tel que m >= 1 est eulrien ssi tous ses sommets sont de degrs pairs e e PREUVE (la condition ncessaire) e
En suivant le cycle eulrien de graphe : e On passe par chaque sommet un nombre pair de fois car : chaque fois quon arrive ` un sommet on repart via une autre a arte ; e Chaque fois, par des pairs dartes direntes, etc. e e Jusqu` larrive au point de dpart. a e e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Thor`me dEuler : Algorithme rcursif e e e


fonction Euler(G) : cycle construire-Cycle(C,G) si E (G ) \ E (C ) <> alors determiner-Composantes (H1 , H2 , .., Hk ) i 1 tantque i <= k faire Ci Euler (Hi ) n tantque intercaler (C1 , C2 , .., Ck ) n si RETOURNER C Algorithme linaire : O(m). e
Maria Malek Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Algorithme dEuler : Exemple - 1

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Algorithme dEuler : Exemple - 2

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Principal rsultat e Algorithmes

Algorithme dEuler : Exemple - 3

C = (a, b, c, d, e, f , g , h, i) Deux composantes connexes H1 , H2


C1 = (o, u, v , r , p, q, x, t, s, w , n) obtenu apr`s appel rcursif e e en intercalant (u, v , r ) dans (o, p, q, x, t, s, w , n) C2 = (k, l, m, j)

Le cycle eulrien : e (a, o, u, v , r , p, q, x, t, s, w , n, b, k, l, m, j, c, d, e, f , g , h, i)

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

Dnitions e

Soit G un graphe simple non orient, un cycle hamiltonien est e un cycle lmentaire qui passe par tous les sommets de G. ee Un graphe G est dit hamiltonien sil poss`de un cycle e hamiltonien. Une cha hamiltonienne est une cha lmentaire qui ne ne e e passe par tous les sommets du graphe (sans retour obligatoire au point de dpart) e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

Proprits & Thor`mes ee e e


Un graphe complet kn avec n 3 est hamiltonien (il contient (n1)! cycles dirents). e 2 Un graphe biparti G=(X,Y,E) ne peut tre hamiltonien que si e | X |=| Y | PROPOSITION 1 Si le graphe G=(X,E) est hamiltonien alors pour S X tel que S <> et S <> X , et si p(G-S) les nombre de composantes connexes du sous graphe G-S on a : p(G S) | S | THEOREME 1 Un graphe simple G=(X,E) est hamiltonien si d(x) + d(y ) >= n quelques soient deux sommets non voisins x et y.
Maria Malek Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

Probl`me du voyageur de commerce : PVC e

Faire la tourne dun certain nombre de villes en passant une e fois par chacune et en retournant ` la ville de dpart. a e Souhaite rendre minimale la distance parcourue. Modlisation : Un graphe G=(X,E) complet Kn valu par e e v : E R+ Il sagit d trouver un cycle hamiltonien C dans G tel que v(C),soit minimal.

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

PVC Gographie : Algorithme approch - Exemple e e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

PVC : Notion dalgorithme -approch e


PVC : probl`me dicile NP-complet non ralisable en temps e e polynomial ( (n1)! cas ` tester ! !) a 2 Stratgie gloutonne choue ici. e e essayer une solution approche e
Soit I une instance du PVC, R(I) lensemble de solutions ralisables : e v (I ) = minC R(I ) v (C ) v (I ) correspond ` la valeur optimale de I. Si C est une a solution optimale de I on a v (I ) = v (C ) Un algorithme approch est un algorithme qui propose une e solution C tel que : v (C ) v (I ) v (C ) ou bien : 1 v (C ) (I ) v 1
Maria Malek Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

Modlisation en GNU Prolog e

xi est le site ` visiter apr`s le site i a e wi est le cot de la visite ` partir de i (la distance). u a {yi1 , .., yin } : cots de la ville i aux n autres villes. u min n wi tq : i=1 xi {1, ..n}, pour i {1, ..n} wi {yi1 , .., yin },pour i {1, ..n} element(xi , [yi1 , .., yin ], wi ) cycle(k, [x1 , .., xn ]) k tant le nombre de voyageur (de cycles) e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

PVC Gographie : Algorithme approch e e


Le PVC gographique est un PVC pour lequel lingalit e e e triangulaire est vrie. e e Soit G(X,E), x, y , z X , v (xz) v (xy ) + v (yz) Voil` les tapes de lalgorithme : a e
1. Construire un arbre couvrant T de G ` laide de lalgorithme de a Kruskal (algorithme linaire : O(m)). e 2. Doubler chaque arte de T pour obtenir un graphe eulrien U. e e Trouver le cycle eulrien D de U (algorithme linaire : O(m)). e e 3. Raccourcir la suite de D en supprimant tout sommet dj` ea rencontr auparavant (parcours linaire). e e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

PVC Gographie : Algorithme approch - Exemple e e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

PVC Gographie : Algorithme approch - 1 e e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

PVC Gographie : Algorithme approch - 2 e e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

PVC Gographie : Algorithme approch - 3 e e

Maria Malek

Probl`me de voyageur de commerce e

Rappel Probl`me de larbre couvrant minimum e Cha nes et cycles eulriens e Cycles Hamiltoniens

Quelques proprits simples e e Probl`me du voyageur de commerce e Notion dalgorithme -approch e Approximation du PVC gographique e Justications

PVC Gographie : Algorithme approch - Justication e e


Soit C le cycle obtenu ` ltape 3. Il est hamiltonien car il a e passe par tous les sommets de G. T larbre couvrant minimum vrie la relation v (T ) v (I ) e La valeur totale du cycle eulrien D : v (D) = 2v (T ) e A ltape 3 un raccourcissement dune cha (x1 , x2 , .., xk ) e ne par x1 xk vrie (grce ` lingalit e a a e e triangulaire) :v (x1 xk ) k1 v (xi xi+1 ) i=1 On a ainsi : v (C ) v (D) = 2v (T ), donc v (C ) 2v (I ) et donc : v (C ) 1 v (I ) 1 1 2 Lalgorithme est alors 1 -approch pour le PVC gographique. e e 2
Maria Malek Probl`me de voyageur de commerce e