Graafiteoriassa yhteensopiva tai riippumaton joukko graafin reunoja on joukko pareittain ei-vierekkäisiä reunoja.
Olkoon graafi G = ( V , E ), G : ssä vastaava M on joukko pareittain ei-vierekkäisiä reunoja, eli reunoja, joilla ei ole yhteisiä pisteitä, ts. .
Maksimisovitus on graafin G vastaava M , joka ei sisälly mihinkään muuhun tämän graafin sovitukseen, eli siihen on mahdotonta lisätä yhtä reunaa, joka ei ole sovituksen kaikkien reunojen vieressä. Toisin sanoen graafin G vastaava M on maksimaalinen, jos jollakin G :n reunalla on ei-tyhjä leikkauspiste vähintään yhden M :n reunan kanssa . Alla on esimerkkejä enimmäissovituksista (punaiset reunat) kolmessa kaaviossa [1] .
Suurin yhteensopivuus (tai maksimikokosovitus [2] ) on sovitus, joka sisältää enimmäismäärän reunoja. Graafin täsmäytysluku [3] on reunojen lukumäärä suurimmassa sovituksessa. Kaaviolla voi olla joukko suurimpia vastaavuuksia. Lisäksi mikä tahansa suurin vastaavuus on suurin, mutta mikään maksimi ei ole suurin. Seuraavat kolme kuvaa osoittavat suurimmat vastaavuudet samoissa kolmessa sarakkeessa [1] .
Jotkut kirjoittajat käyttävät termiä "maksimi vastaavuus" suurimmasta vastaavuudesta [4] [5] [6] [7] .
Täydellinen sovitus (tai 1-tekijä ) on sovitus, jossa kaikki graafin kärjet osallistuvat. Toisin sanoen mikä tahansa graafin kärkikohta osuu täsmälleen yhteen sovitukseen sisältyvään reunaan. Yllä olevan kuvan kuva (b) on esimerkki tällaisesta sovituksesta. Mikä tahansa täydellinen vastaavuus on suurin ja maksimaalinen. Täydellinen yhteensopivuus on myös minimikokoinen reunapäällyste . Yleisessä tapauksessa missä on graafin reunakannen numero, eli suurimman vastaavuuden koko ei ylitä pienimmän reunapeitteen kokoa.
Lähes täydellinen vastaavuus on sovitus, jossa täsmälleen yksi kärki ei osallistu. Tämä voi tapahtua, jos graafissa on pariton määrä pisteitä. Yllä olevassa kuvassa sarakkeen (c) vastaavuus on lähes täydellinen. Jos jollakin graafin kärjellä on lähes täydellinen vastaavuus, joka ei sisällä täsmälleen tätä kärkeä, kuvaajaa kutsutaan tekijäkriittiseksi .
Olkoon vastaava M .
Bergen lemma sanoo, että yhteensopivuus on maksimaalinen silloin ja vain, jos ei ole täydentävää polkua.
Graafissa k -reunasovitusten määrän generoivaa funktiota kutsutaan sovituspolynomiksi . Olkoon G graafi ja m k k -reunasovitusten lukumäärä . Kuvaajan G sovituspolynomi on
Vastaavalle polynomille on toinenkin määritelmä
,missä n on graafin kärkien lukumäärä. Molemmilla määritelmillä on omat käyttöalueet.
Vastaavuusongelmia syntyy usein työskenneltäessä kaksiosaisten graafien kanssa . Suurimman vastaavuuden löytäminen kaksiosaisesta graafista [9] on ehkä yksinkertaisin ongelma. Täytepolun algoritmi saa sen etsimällä täytepolun jokaisesta kärjestä ja lisäämällä sen vastaavuuteen, jos polku löytyy. Vaihtoehtoinen ratkaisu on, että yhteensovitusta täydennetään niin kauan kuin on olemassa laajenevia täydentäviä polkuja:
Lisäävä polku on polku, jonka muoto on totta . Kasvavaa polkua kutsutaan laajenevaksi poluksi, jos .
Lemma: Jokaiselle kuvaajalle , sovitus- ja täydennyspolulle vastaavuus ja on voimassa . Todistus: Antaa , Ja olla alkupiste , Niin ja , Ja olla viimeinen kärkipiste , Niin että ja , Ja olla välipiste , Niin . Tästä seuraa, että graafiin lisätään yksi reuna enemmän kuin siitä poistetaan.
Lemma: Kaikille kuvaajan ja vastaavuuksia siten , että seuraava on totta: kaavio sisältää vähintään loppuun polkuja, jotka eivät leikkaa pisteissä suhteessa . Todiste: Antaa ja , kun taas todella ja ja näin seuraa . Olkoon kaavion yhdistetyille komponenteille . Seuraavilta _
Vertices in tulevat vuorotellen ja . Päästää
, mutta vain jos se on lisäävä polku. ja tämä tarkoittaa, että komponentteja on oltava minimissään ja sen seurauksena täydentäviä polkuja. Yhdistettyjen komponenttien määritelmän mukaan tällaiset komplementaariset polut eivät leikkaa pisteissä.
Löydät täydentävän polun seuraavasti:
Koska lisäyspolku löytyy DFS-ajasta, algoritmin ajoaika on . Tämä ratkaisu vastaa superlähteen , jossa on reunat, lisäämistä kaikkiin kärkipisteisiin ja supervaraston , jossa on reunat kaikista pisteistä (kuvaajan muunnos kestää , ja maksimivirtauksen löytäminen kohteesta kohteeseen . Kaikki reunat, jotka virtaavat osoitteesta muodostavat maksimivastaavuuden, ja koko suurimmasta vastaavuudesta on yhtä suuri kuin aikapohjainenHopcroft-Karp nopeampi. Toinen lähestymistapa perustuu nopeaan matriisikerto -algoritmiin ja antaa monimutkaisuuden [10] , joka on teoriassa parempi riittävän tiheille kaavioille , mutta käytännössä algoritmi on hitaampi [11]
Painotetussa kaksiosaisessa graafissa jokaiselle reunalle on määritetty paino. Maksimipainosovitus kaksiosaisessa graafissa [9] määritellään vastaavuudeksi, jolle vastaavuuden reunojen painojen summalla on maksimiarvo. Jos graafi ei ole täydellinen kaksiosainen , puuttuvat reunat lisätään nollapainolla. Tällaisen vastaavuuden löytämisen ongelma tunnetaan määritysongelmana . Merkittävä unkarilainen algoritmi ratkaisee määritysongelman ja oli yksi ensimmäisistä kombinatorisista optimointialgoritmeista . Ongelma voidaan ratkaista käyttämällä modifioitua lyhimmän polun hakua lisäyspolun algoritmissa. Jos käytetään Bellman-Ford-algoritmia , ajoaika on , tai reunan hintaa voidaan siirtää sellaiseen aikaan, kun Dijkstran algoritmia käytetään Fibonacci-kasalla [12] . [13]
On olemassa polynominen aika-algoritmi suurimman vastaavuuden tai maksimipainosovituksen löytämiseksi ei-kaksiosaisesta graafista. Jack Edmondsin mukaan sitä kutsutaan polku-, puu- ja värimenetelmäksi tai yksinkertaisesti Edmonds-sovitusalgoritmiksi . Algoritmi käyttää kaksisuuntaisia kaaria . Saman tekniikan yleistystä voidaan käyttää suurimman riippumattoman joukon löytämiseen kaavioissa ilman kynsiä . Edmodsin algoritmia parannettiin myöhemmin ajoajaksi , joka vastaa kaksiosaisten graafien algoritmeja [14] . Toinen Muchan ja Sankovsimin (Mucha, Sankowski) [10] kehittämä (satunnaistettu) algoritmi , joka perustuu matriisien nopeaan tuloon , antaa kompleksisuuden .
Suurin vastaavuus löytyy yksinkertaisella ahneella algoritmilla . Suurin maksimisovitus on suurin polynomiajassa löydettävissä oleva vastaavuus. Toteutus pseudokoodilla:
Mitään polynomiaikaista algoritmia ei kuitenkaan tunneta, joka löytäisi pienimmän maksimisovituksen , eli maksimisovituksen, joka sisältää mahdollisimman pienen määrän reunoja.
Huomaa, että k reunan suurin vastaavuus on reunadominoiva joukko , jossa on k reunaa. Päinvastoin, kun otetaan huomioon minimaalinen reunadominoiva joukko, jossa on k reunaa, voimme rakentaa suurimman vastaavuuden k reunalla polynomiajassa. Siten ongelma suurimman sovituksen minimikoon löytämisessä vastaa ongelmaa minimireunadominoivan joukon löytämisessä [15] . Molemmat optimointiongelmat tunnetaan nimellä NP-hard , ja niiden tunnistusversiot ovat klassisia esimerkkejä NP-täydellisistä ongelmista [16] . Molemmat tehtävät voidaan approksimoida kertoimella 2 polynomisella ajalla - etsi vain mielivaltainen maksimi, joka vastaa M [17] .
Kaavion osumien lukumäärä tunnetaan Hosoyya-indeksinä . Tämän luvun laskeminen on #P-täydellinen . Ongelma pysyy #P-täydellisessä erikoistapauksessa täydellisten vastaavuuksien listaamisessa kaksiosaisessa graafissa , koska satunnaisen 0-1 matriisin pysyvän laskeminen (toinen #P-täydellinen tehtävä) on sama kuin täydellisten vastaavuuksien lukumäärän laskeminen kaksiosainen graafi, jossa on annettu matriisi vierekkäisyysmatriisina . On kuitenkin olemassa satunnaistettu polynomi-ajan approksimaatiomalli vastaavuuksien määrän laskemiseksi kaksiosaisessa graafissa [18] . Casteleynin upea lause , jonka mukaan täydellisten täsmäysten lukumäärä tasograafissa voidaan laskea tarkasti polynomiajassa FKT-algoritmin avulla .
Täydellisten vastaavuuksien lukumäärä täydellisessä graafissa K n (parillisella n ) saadaan kaksoistekijällä ( n − 1)!! [19] . Täydellisen kaavion täsmäysten määrä ilman rajoituksia, jotta täsmäys olisi täydellinen, annetaan puhelinnumeroilla [20] .
Yksi sovitusteorian tärkeimmistä ongelmista on löytää kaikki reunat, jotka voidaan laajentaa suurimpaan yhteensovitukseen. Paras deterministinen algoritmi tämän ongelman ratkaisemiseksi toimii ajassa [21] . On olemassa satunnaistettu algoritmi, joka ratkaisee ongelman ajoissa [22] . Kaksiosaisen graafin tapauksessa voit löytää suurimman yhteensopivuuden ja käyttää sitä kaikkien maksimaalisten yhteensopivien reunojen etsimiseen lineaarisessa ajassa [23] ; mikä johtaa yleisille kaksiosaisille graafiille ja tiheille kaksiosaisille graafiille, joissa on . Jos yksi suurimmista vastaavuuksista tiedetään etukäteen [24] , algoritmin kokonaisajoaika on .
Königin lause sanoo, että kaksiosaisissa graafissa suurimman sovituksen koko on yhtä suuri kuin pienimmän kärjen peitteen koko . Tästä seuraa, että kaksiosaisten graafien osalta ongelmat pienimmän kärjen peitteen , suurimman itsenäisen joukon ja maksimipisteen kaksiklikkien löytämisessä voidaan ratkaista polynomiajassa .
Hallin teoreema (tai häälause) tarjoaa karakterisoinnin kaksiosaisille kaavioille, joilla on täydellinen yhteensopivuus, kun taas Tuttin lause tarjoaa mielivaltaisten graafien karakterisoinnin.
Täydellinen vastaavuus luo kattavan 1-säännöllisen aligraafin, eli 1-kertoimen . Yleensä kattava k -säännöllinen osagraafi on k - tekijä .
Kekulen aromaattisten yhdisteiden rakennekaava koostuu niiden hiilirungon täydellisestä yhteensovittamisesta , mikä osoittaa kaksoissidosten sijainnin kemiallisessa rakenteessa . Nämä rakenteet on nimetty Friedrich August Kekulen mukaan, joka osoitti, että bentseeni (graafiteoriassa se on 6 kärjen sykli) voidaan esittää sellaisena rakenteena [25] .
Hosoyya-indeksi on ei-tyhjien osumien lukumäärä plus yksi. Sitä käytetään laskennallisessa ja matemaattisessa kemiassa orgaanisten yhdisteiden tutkimiseen.