I grafteori er et matchende , eller et uafhængigt sæt kanter i en graf, et sæt af parvise ikke-tilstødende kanter.
Lad en graf G = ( V , E ) være givet, en matchende M i G er et sæt af parvise ikke-tilstødende kanter, det vil sige kanter, der ikke har fælles hjørner, dvs. .
En maksimal matchning er en matchende M i en graf G , som ikke er indeholdt i nogen anden matchning af denne graf, det vil sige, det er umuligt at tilføje en enkelt kant til den, som ikke støder op til alle kanter af matchningen. Med andre ord, en matchende M af en graf G er maksimal, hvis en kant i G har et ikke-tomt skæringspunkt med mindst én kant fra M . Nedenfor er eksempler på maksimale matchninger (røde kanter) i tre grafer [1] .
Den største matchning (eller maksimal størrelse matching [2] ) er den matchning, der indeholder det maksimale antal kanter. Det matchende nummer [3] af en graf er antallet af kanter i den største matchning. En graf kan have et sæt af største matchninger. Desuden er enhver største matching maksimal, men ikke noget maksimum vil være størst. De næste tre figurer viser de største matchninger i de samme tre kolonner [1] .
Nogle forfattere bruger udtrykket "maksimal matchning" for den største matchning [4] [5] [6] [7] .
En perfekt matchning (eller 1-faktor ) er en matchning, hvor alle hjørnerne af grafen deltager. Det vil sige, at ethvert toppunkt på grafen falder sammen med nøjagtig en kant, der er inkluderet i matchningen. Figur (b) i figuren ovenfor er et eksempel på en sådan matchning. Enhver perfekt matchning er størst og maksimal. Et perfekt match er også en kantbeklædning af minimumsstørrelsen. I det generelle tilfælde , hvor er grafens kantdækselnummer , med andre ord overstiger størrelsen af den største matchning ikke størrelsen af den mindste kantdæksel.
En næsten perfekt matchning er en matchning, hvor præcis et toppunkt ikke deltager. Dette kan ske, hvis grafen har et ulige antal hjørner. I figuren ovenfor er matchningen i kolonne (c) næsten perfekt. Hvis der for et hvilket som helst toppunkt i grafen er en næsten perfekt match, der ikke indeholder præcis dette toppunkt, kaldes grafen faktor kritisk .
Lad et matchende M blive givet .
Berges lemma siger, at en matchning er maksimal, hvis og kun hvis der ikke er nogen komplementær vej.
Den genererende funktion af antallet af k -kantmatchninger i en graf kaldes matchende polynomium . Lad G være en graf og m k være antallet af k -kantmatchninger. Det matchende polynomium i grafen G er
Der er en anden definition af det matchende polynomium
,hvor n er antallet af hjørner i grafen. Begge definitioner har deres egne anvendelsesområder.
Matchningsproblemer opstår ofte, når man arbejder med todelte grafer . At finde den største overensstemmelse i en todelt graf [9] er måske det enkleste problem. Udfyldningsstialgoritmen får det ved at finde udfyldningsstien fra hvert vertex ind og tilføje den til matchningen, hvis en sti er fundet. En alternativ løsning er, at matchningen vil blive suppleret, så længe der er udvidede komplementære stier:
En forstærkende sti er en sti i formen , som er sand for . En forøgelsessti kaldes en ekspanderende sti, hvis .
Lemma: For enhver graf , matchende og færdiggørelsessti er matchende og gyldig . Bevis: Lad , og være den indledende toppunkt af , så og , og være den sidste toppunkt af , så at og , og være en mellemliggende toppunkt af , så . Det følger heraf, at der vil blive tilføjet en kant mere til grafen end fjernet fra den.
Lemma: For enhver graf og matchninger , således at følgende er sandt: Grafen indeholder et minimum af færdiggørelsesstier, der ikke skærer hinanden ved hjørner i forhold til . Bevis: Lad og , mens virkelig og og dermed følger . Lad for de forbundne komponenter i grafen . Fra følger
Toppunkterne i kommer skiftevis fra og . Lade
, men kun hvis er en forstærkende sti. og det betyder, at der skal være et minimum af komponenter med og som følge heraf komplementære veje. Ifølge definitionen af forbundne komponenter vil sådanne komplementære stier ikke skære hinanden ved toppunkter.
Du kan finde den komplementære vej som denne:
Da forstærkningsstien kan findes i DFS-tid, er køretiden for algoritmen . Denne løsning svarer til at tilføje en superkilde med kanter til alle toppunkter og en superstock med kanter fra alle toppunkter (graftransformation vil tage , og finde det maksimale flow fra til . Alle kanter der flyder fra for at danne en maksimal matchning, og størrelsen af den største matching vil være lig med Den tidsbaseredeHopcroft-Karp hurtigere. En anden tilgang er baseret på den hurtige matrix multiplikationsalgoritme og giver kompleksitet [10] , hvilket er bedre i teorien for tilstrækkelig tætte grafer , men i praksis algoritmen er langsommere. [11]
I en vægtet todelt graf tildeles hver kant en vægt. En maksimal vægtmatchning i en todelt graf [9] er defineret som en matchning, for hvilken summen af vægtene af matchningens kanter har en maksimal værdi. Hvis grafen ikke er en komplet todelt , tilføjes de manglende kanter med nul vægt. Problemet med at finde en sådan matching er kendt som opgaveproblemet . Den bemærkelsesværdige ungarske algoritme løser opgaveproblemet og var en af de første kombinatoriske optimeringsalgoritmer . Problemet kan løses ved hjælp af en modificeret søgning på den korteste vej i algoritmen for forøgelse af sti. Hvis Bellman-Ford-algoritmen bruges , vil køretiden være , eller prisen på kanten kan flyttes for at nå tidspunktet, når Dijkstras algoritme anvendes med en Fibonacci-heap [12] . [13]
Der er en polynomiel tidsalgoritme til at finde den største matchende eller maksimale vægtmatchning i en ikke-todelt graf. Efter Jack Edmonds kaldes det sti-, træ- og farvemetoden eller blot Edmonds matchende algoritme . Algoritmen bruger tovejsbuer . En generalisering af den samme teknik kan bruges til at finde det maksimale uafhængige sæt i grafer uden kløer . Edmods' algoritme blev efterfølgende forbedret til køretid , hvilket svarer til algoritmer for todelte grafer [14] . En anden (randomiseret) algoritme udviklet af Mucha og Sankovsim (Mucha, Sankowski) [10] , baseret på det hurtige produkt af matricer , giver kompleksitet .
Den maksimale matchning kan findes med en simpel grådig algoritme . Den største maksimale matchning er den største matchning, der kan findes i polynomisk tid. Implementering ved hjælp af pseudokode:
Imidlertid er der ingen polynomiel-tidsalgoritme kendt til at finde den mindste maksimale matchning , dvs. den maksimale matchning, der indeholder det mindst mulige antal kanter.
Bemærk, at den største matchning af k kanter er et kantdominerende sæt med k kanter. Omvendt, givet et minimalt kantdominerende sæt med k kanter, kan vi bygge den største matchning med k kanter i polynomisk tid. Problemet med at finde minimumsstørrelsen af den maksimale matchning svarer således til problemet med at finde det minimumskantdominerende sæt [15] . Begge disse optimeringsproblemer er kendt som NP-hard , og deres genkendelsesversioner er klassiske eksempler på NP-komplette problemer [16] . Begge problemer kan tilnærmes med en faktor 2 med polynomiel tid - find blot en vilkårlig maksimal matchende M [17] .
Antallet af matchninger i en graf er kendt som Hosoyya-indekset . Beregning af dette tal er #P-komplet . Problemet forbliver #P-komplet i det specielle tilfælde med at angive perfekte matchninger i en todelt graf , da beregning af permanenten af en tilfældig 0-1 matrix (et andet #P-komplet problem) er det samme som at beregne antallet af perfekte matchninger i en todelt graf med en given matrix som en tilstødende matrix . Der er dog et randomiseret polynomisk-tidstilnærmelsesskema til beregning af antallet af matchninger i en todelt graf [18] . En vidunderlig sætning fra Casteleyn om, at antallet af perfekte matchninger i en plan graf kan beregnes nøjagtigt i polynomisk tid ved hjælp af FKT-algoritmen .
Antallet af perfekte matchninger i en komplet graf K n (med lige n ) er givet ved dobbeltfaktoren ( n − 1)!! [19] . Antallet af matchninger i en komplet graf uden begrænsning, så matchningen er perfekt, er givet ved telefonnumre [20] .
Et af hovedproblemerne i teorien om matchninger er at finde alle kanter, der kan udvides til den største matchning. Den bedste deterministiske algoritme til at løse dette problem kører i tid [21] . Der findes en randomiseret algoritme, der løser problemet i tide [22] . I tilfælde af en todelt graf kan du finde den største matchning og bruge den til at finde alle de maksimalt matchende kanter i lineær tid [23] ; hvilket vil resultere for generelle todelte grafer og for tætte todelte grafer med . Hvis en af de største matchninger er kendt på forhånd [24] , vil den samlede køretid for algoritmen være .
Königs sætning siger, at i todelte grafer er størrelsen af den største matchning lig med størrelsen af den mindste toppunktsdæksel . Heraf følger det, at for todelte grafer kan problemerne med at finde det mindste toppunktsdæksel , det største uafhængige sæt og det maksimale toppunkt biclique løses i polynomisk tid .
Halls teorem (eller bryllupssætning) giver en karakterisering af todelte grafer, der har perfekte matchninger, mens Tutts teorem giver en karakterisering af vilkårlige grafer.
En perfekt matchning genererer en spændende 1-regulær subgraf, det vil sige en 1-faktor . Generelt er en spændende k - regulær subgraf en k -faktor .
Kekules strukturformel for aromatiske forbindelser består af perfekte matchninger af deres kulstofskelet , der viser placeringen af dobbeltbindingerne i den kemiske struktur . Disse strukturer er opkaldt efter Friedrich August Kekule , som viste, at benzen (i form af grafteori er det en cyklus på 6 hjørner) kan repræsenteres som en sådan struktur [25] .
Hosoyya-indekset er antallet af ikke-tomme matchninger plus én. Det bruges i beregningsmæssig og matematisk kemi til at studere organiske forbindelser.