7 jours d'essai offerts
Cet ouvrage et des milliers d'autres sont disponibles en abonnement pour 8,99€/mois
Algorithmique et Programmation Projet : Algorithme d’Edmonds pour les couplage maximaux dans un graphe
Ecolenormalesupe´rieure De´partementdinformatique td-algo@di.ens.fr 2011-2012
Dans un graphe arbitraire, uncouplagesnmeutensedontetesarˆbledosse´timertxeselesuttont distinctes.Uncouplagemaximalestuncouplagecontenantleplusgrandnombredarˆetespossible.Dans les graphes bipartis, calculer un couplage maximal est relativement facile, en utilisant des algorithmes deotmaximal.Cestdailleursassezbienconnu,etdiscut´eende´taildansdenombreuxouvrages,dont l’incontournable [1]. Danslesgraphesg´ene´raux,lescouplagesmaximauxsontbiend´enis,etilesttoujourspossibledeles calculerentempspolynomialparunalgorithmeduˆ`aEdmondsen1965,maisquiestbienmoinsconnu. Comme dans l’algorithme de couplage maximal sur les graphes bipartis , il s’agit de construire des couplagesdeplusenplusgrandenajoignantaupr´ece´dentunchemin augmentant.
1 Terminologie ´ Etantdonn´euncouplageM, un sommet est ditlibreuctoneilsetedraeˆucenehuaM. Un chemin dans le graphe est ditalternantmentdansreanitevssnoattlaresteˆeissMet hors deM(donc si une arˆetesurdeuxestdansM). Unchemin augmentanttlestdonrnanalterat´dpestedopnihcnunimetse etdarriv´eesontdeuxsommetslibres.Onpeutde´montrer(etonadmettra)quuncouplageestmaximal silnexistepasdecheminaugmentantparrapporta`lui(cestaussivraidanslesgraphesbipartique dans les graphes ordinaires). On a donc un algorithme simple pour le couplage maximal : 1:functionMaximum-Matching(G) 2:M← ∅ 3:loop 4:PAugmenting-Path(G, M) 5:ifP=then returnMelseMMP 6:end loop 7:end function Ici,MPlaneiges´dener´di´mteecyseiruqunagrrˆaepedleeusxc-diershte-s`(asnltnadiduosseetqs oulautremaispasdanslesdeux).Leprobl`emerestedoncdetrouverdescheminsaugmentants.Autant dansungraphebipartitecestassezsimple`afaireavecunsimpleparcoursenprofondeur,autantdans lesgraphesg´en´erauxcestunpeupluscomplique´. Dansungraphe,lope´rationdeitcartnocerˆetuneaonduvitera`ersietocsnenoitnqeestuearletrˆ a`fusionnerles deux sommetsuetvemrte´usL.semosioixvaudenstsetnatltnecajdauet dev. Unefleurilesdtseneevolppseuqarelroepctduneiolbmesedeagrodsenu´eestitensparlctnose entourentchezcertainsv´eg´etaux.Pourcequinousint´eresse,uneeurestcompose´edunecorolle, qui estlapartiedelaeurform´eeparlensembledesespe´tales,etdunetigevite`acoJevousin.lusnret Wikipe´diapourplusded´etailsbotaniques
2Id´eesous-jascente:lacontractiondeseurs ´ Etantdonn´eungrapheG,counalpup(egofsae´crmentmaximal)MdeG, et un sommet libres, une fleurp)elatranemeluntetmmbrlidntsounermfostecnudee´tlanimehntdeernaueurlong(ee´aprieullevtn stnujqsutelaalet`aunsommvk(c’est latige), et d’un chemin alternant de longueur impaire partant de vktt`raevenanevk(c’est lacorolle). Le sommetvkest labasede la corolle.
1