Modulaarinen hajoaminen

Modulaarinen hajottelu on graafin hajoamista kärkien osajoukkoihin, joita kutsutaan moduuleiksi. Moduuli on graafin yhdistetyn komponentin yleistys. Toisin kuin liitettävyyskomponentit, yksi moduuli voi kuitenkin olla toisen osajoukko . Siksi moduulit johtavat graafin rekursiiviseen (hierarkkiseen) hajotukseen, eivät vain osioihin.

Suuntaamattomille ja suunnatuille graafeille on olemassa modulaarisia hajottelumuunnelmia . Jokaiselle suuntaamattomalle graafille tällainen jaottelu on ainutlaatuinen.

Käsite voidaan yleistää muihin rakenteisiin (kuten suunnattuihin kaavioihin), ja se on hyödyllinen kehitettäessä tehokkaita algoritmeja tiettyjen graafiluokkien tunnistamiseen , vertailtavien kaavioiden transitiivisten suuntausten löytämiseen , kaavioiden optimointiongelmiin ja kaavioiden visualisointiin .

Moduulit

Moduulin käsite on löydetty uudelleen monilta aloilta. Tätä käsitettä varten käytettiin nimiä autonomiset joukot , homogeeniset joukot , intervallit ja murtolukujoukot . Ilmeisesti varhaisin maininta ja ensimmäinen kuvaus tässä tapauksessa esiintyvistä modulaarisista osamääräistä ja graafien osittamisesta oli Galain artikkelissa vuonna 1967.

Graafimoduuli on yleistys yhdistetystä komponentista . Yhdistetyllä komponentilla on ominaisuus, että se on joukko pisteitä siten, että mikään jäsen ei ole minkään muun kuin pisteen naapuri . Yleistys on, on moduuli, kun jokaisessa kärjessä joko mikään jäsen ei ole naapuri tai mikä tahansa jäsen on naapuri .

Vastaavasti on moduuli, jos kaikilla jäsenillä on samat naapurit sellaisten kärkien joukossa, jotka eivät ole :ssä .

Toisin kuin yhdistetyt komponentit, graafin moduulit ovat samat kuin sen komplementin moduulit, ja moduulit voidaan "sisäistää" - yksi moduuli voi olla toisen osajoukko. Huomaa, että graafin kärkijoukko on moduuli, samoin kuin yksittäiset joukot ja tyhjä joukko . Niitä kutsutaan triviaalimoduuleiksi . Kaaviossa voi olla muita moduuleja tai ei. Graafia kutsutaan yksinkertaiseksi , jos kaikki sen moduulit ovat triviaaleja.

Eroista huolimatta moduulit säilyttävät halutun yhdistetyn komponentin ominaisuuden, eli monet yhdistetyn komponentin generoiman aligraafin ominaisuudet ovat riippumattomia muusta graafista. Samanlainen ilmiö havaitaan moduulien generoimien osagraafien kohdalla.

Graafimoduulit ovat siksi erittäin kiinnostavia algoritmisesti. Joukko sisäkkäisiä moduuleja, joista modulaarinen laajennus on esimerkki, voidaan käyttää rekursiivisen ratkaisun saamiseksi moniin kaavioiden kombinatorisiin ongelmiin, kuten vertailtavien graafien transitiivisen suunnan tunnistamiseen ja löytämiseen, permutaatiokaavioiden permutaatioesityksen tunnistamiseen ja löytämiseen . , tunnistaa, onko graafi kografi , tunnistaa intervallikuvaajat ja löytää sille intervalliesityksen , etäisyyden periytyvien graafien määrittely [1] ja graafin visualisointi [2] . Niillä on tärkeä rooli täydellisen graafin lauseen todistuksessa [3] .

Etäisyyden perittyjen kuvaajien ja ympyräkaavioiden tunnistamiseksi modulaarisen hajotuksen lisäyleistys, jota kutsutaan split-hajotelmaksi [1] , on erityisen hyödyllinen .

Yllä olevan määritelmän epäselvyyden välttämiseksi annamme seuraavan muodollisen määritelmän moduuleille. . on graafin moduuli , jos:

, ja kaikki singletons for ovat moduuleja ja niitä kutsutaan triviaalimoduuleiksi . Graafi on yksinkertainen , jos kaikki sen moduulit ovat triviaaleja. Graafin liitettävyyskomponentit tai niiden komplementit ovat myös graafin moduuleja .

on vahva graafimoduuli , jos se ei ole (osittain) päällekkäinen minkään muun grafiikkamoduulin kanssa — graafimoduuli on joko , tai , tai .

Modulaariset osamäärät ja tekijät

Jos ja ovat disjunktoituja moduuleja, on helppo nähdä, että joko mikä tahansa jäsen on minkä tahansa elementin naapuri tai mikään jäsen ei ole minkään :n jäsenen vieressä . Siten kahden ei-leikkaavan moduulin kaikki elementit ovat joko vierekkäin tai eivät vierekkäin . Näiden kahden ääripään välillä ei ole välitilaa.

Tämän vuoksi modulaariset hajotukset , joissa jokainen hajotteluluokka on moduuli, ovat erityisen kiinnostavia. Oletetaan, että se on modulaarinen hajotelma. Koska osioluokat eivät leikkaa, muodostaa niiden vierekkäisyydestä uuden graafin, osamäärägraafin , jonka kärjet ovat termit . Toisin sanoen jokainen kärkipiste on graafin G moduuli, ja näiden moduulien viereisyys määrittää reunat .

Alla olevassa kuvassa kärki 1, pisteet 2 - 4, kärki 5, pisteet 6 ja 7 sekä pisteet 8 - 11 ovat modulaarisia. Yläoikeassa kaaviossa näiden joukkojen väliset reunat osoittavat annetun jaottelun osamäärät, kun taas joukkojen sisällä olevat reunat vastaavat tekijät.

Osiot ja ovat triviaaleja modulaarisia osioita . on yhden kärjen graafi, kun taas . Oletetaan, että se on ei-triviaali moduuli. Tällöin yksielementtiosajoukko on myös ei-triviaali modulaarinen osio . Siten kaikkien ei-triviaalien moduulien olemassaolo tarkoittaa ei-triviaalien moduuliosioiden olemassaoloa. Yleensä useimmat tai kaikki jäsenet voivat olla ei-triviaaleja moduuleja.

If on ei-triviaali modulaarinen osio, niin se on kompakti esitys kaikista reunoista, jotka päättyvät eri osioluokkiin . Jokaiselle aligraafin luomaa luokkaa kutsutaan tekijäksi ja se antaa esityksen kaikista reunoista, joiden molemmat päät ovat . Siten graafin reunat voidaan rekonstruoida, jos osamäärägraafi ja sen tekijät tunnetaan. Termi yksinkertainen graafi tulee siitä tosiasiasta, että yksinkertaisella graafilla on vain triviaaleja osamäärät ja tekijät.

Jos on kerroin moduuliosamäärästä , voi käydä ilmi, että se voidaan kertoa rekursiivisesti ja osamäärät. Jokainen rekursiotaso tuottaa osamäärän. Perustapauksessa graafilla on yksi kärki. Graafi voidaan rekonstruoida rekonstruoimalla tekijöitä alhaalta, kääntämällä osiointivaiheet kokoamalla kertoimia osamäärällä kullakin tasolla.

Alla olevassa kuvassa tällainen rekursiivinen hajotelma on esitetty puuna, joka kuvastaa yhtä tapaa rekursiivisesti jakaa alkuperäiset modulaariset hajottelutekijät pienempiin modulaarisiin osioihin.

Menetelmä graafin rekursiiviseksi osittamiseksi tekijöiksi ja osamääräiksi ei ehkä ole ainoa. (Esimerkiksi kaikki täydellisen graafin kärkien osajoukot ovat moduuleja, mikä tarkoittaa, että on monia eri tapoja hajottaa graafi rekursiivisesti.) Jotkut hajotustavat voivat olla hyödyllisempiä kuin toiset.

Modularisointi

Onneksi on olemassa graafin rekursiivinen hajottaminen, joka edustaa implisiittisesti kaikkia tapoja, joilla se voidaan hajottaa. Tämä on modularisointia. Se on itsessään tapa hajottaa graafi rekursiivisesti osamääräiksi, mutta se sisältää kaikki muut. Alla olevassa kuvassa esitetty hajotus on tietyn graafin erityinen hajotelma.

Alla on keskeinen havainto modulaarisen hajoamisen ymmärtämiseksi:

If on kaavion moduuli ja on osajoukko , niin on moduuli silloin ja vain, jos se on moduulin .

Gallai [4] määritteli modulaarisen hajautuksen rekursiivisesti graafille, jossa on useita pisteitä seuraavasti:

  1. Perustapauksessa, jos sillä on vain yksi kärki, sen modulaarinen hajotelma on puu, jossa on yksi solmu.
  2. Gallai osoitti, että jos on kytketty ja niin on myös sen komplementti, niin maksimimoduulit, jotka ovat oikeita osajoukkoja , ovat osio . Siksi ne ovat modulaarisia. Niiden määrittämät osamäärät ovat yksinkertaisia. Puun juuri on merkitty yksinkertaiseksi solmuksi, ja joukon jälkeläiset hyväksyvät nämä moduulit . Koska ne ovat maksimaalisia, kaikki moduulit, joita ei esitetä tällä tavalla, sisältyvät :n jälkeläiseen . Joukon kullekin jälkeläiselle modularisointipuun korvaaminen modulaarisella hajotuspuulla antaa esityksen kaikista graafin moduuleista yllä olevan avainhavainnon mukaisesti.
  3. Jos sitä ei ole kytketty, sen komplementti on kytketty. Mikä tahansa yhdistettyjen komponenttien liitto on kuvaajamoduuli . Kaikki muut moduulit ovat erillisen liitettävyyskomponentin osajoukkoja. Tämä edustaa kaikkia moduuleja paitsi liitettävyyskomponenttien osajoukkoja. Kunkin komponentin korvaaminen modulaarisella hajotuspuulla antaa esityksen kaikista graafin moduuleista yllä olevan keskeisen havainnon mukaisesti. Puun juuri on merkitty rinnakkaiseksi solmuksi, mutta se on juuren lapsi. Jälkeläisen määrittelemä osamäärä on kokonaisen graafin komplementti.
  4. Jos graafin komplementtia ei ole yhdistetty, graafi on yhdistetty. Alipuut, jotka ovat lapsia, määritellään symmetrisesti tapaukseen, jossa graafia ei ole yhdistetty, koska graafin moduulit ovat samat kuin sen komplementin moduulit. Puun juuri on merkitty peräkkäiseksi solmuksi, ja jälkeläisten määrittelemä osamäärä on täydellinen graafi.

Lopullisessa puussa on yksittäinen joukko graafin kärkipisteitä lehtinä, jotka ovat perustapaus. Graafin kärkien joukko on moduuli silloin ja vain, jos se on puusolmu tai sarja- tai rinnakkaissolmun jälkeläisten liitto. Tämä määrittää implisiittisesti kaikki modulaariset laajennukset yläosaan . Tässä mielessä modulaarinen hajautuspuu "keskittää itseensä" kaikki muut tavat hajottaa graafi rekursiivisesti osittaisiksi.

Algoritmiset ongelmat

Modulaarisen hajottelupuun esittämiseen tarkoitetun tietorakenteen on tuettava operaatioita, jotka ottavat syötteeksi solmun ja palauttavat solmun edustaman graafin kärkijoukon . Ilmeinen tapa tehdä tämä on määrittää kullekin solmulle luettelo graafin pisteistä, joita solmu edustaa. Annettu osoitin solmuun, solmun edustama graafin kärkijoukko voidaan hakea ajassa . Tällainen rakenne vaatii kuitenkin muistia pahimmassa tapauksessa .

Muistivaihtoehto saadaan esittämällä modulaarinen hajotuspuu millä tahansa tavallisella juurtuneella puupohjaisella tietorakenteella ja merkitsemällä jokainen lehti sen edustamalla graafin kärjellä. Sisäisen solmun edustama joukko määritellään sen jälkeläisten lehtien etiketeillä. Tiedetään hyvin, että missä tahansa juurtuneessa puussa, jossa on lehtiä, on enintään sisäisiä solmuja. Voit käyttää syvyyshakua alkaen numerosta saadaksesi jälkeläisten lehtien tunnisteet kerralla .

Jokainen solmu on joukko graafin pisteitä, ja jos se on sisäinen solmu, jälkeläisten joukko on jako , jossa jokainen jaettu luokka on moduuli. Siksi ne tuottavat osamäärän . Tämän osamäärän kärjet ovat elementtejä , joten ne voidaan esittää muodostamalla reunat luvun lasten välille . Jos ja ovat kaksi termiä ja , , Sitten ja ovat vierekkäisiä, jos ja vain jos ja ovat vierekkäisiä osamäärässä. Kaikille graafin kärkipisteiden parille tämän määrittävät suurimman yhteisen esi-isän yksityiset jälkeläiset ja modulaarinen hajotuspuu. Siksi tällä tavalla osamääräiksi merkitty modulaarinen hajotelma antaa graafin täydellisen esityksen .

Monet kombinatoriset ongelmat voidaan ratkaista graafilla ratkaisemalla ne erikseen kullekin osamäärälle. Onko esimerkiksi vertailukäyrä jos ja vain jos jokainen osamäärä on vertailukelpoisuuskaavio [4] [5] . Siksi sen määrittämiseksi, onko graafi vertailukelpoinen graafi, riittää tarkistaa tämä kunkin osamäärän osalta. Itse asiassa vertailtavuusgraafin transitiivisen orientaation löytämiseksi riittää löytää kunkin osamäärän transitiivinen orientaatio modulaarisessa hajotuksessa [4] [5] . Samanlainen ilmiö havaitaan permutaatiograafien [6] , intervalligraafien [7] , täydellisen graafin ja muiden graafiluokkien kohdalla. Jotkut tärkeät graafien kombinatoriset optimointiongelmat voidaan ratkaista käyttämällä samanlaisia ​​strategioita [8] .

Kuvaajat ovat kaavioita, joiden modulaarisessa hajottelupuussa on vain rinnakkaisia ​​tai peräkkäisiä solmuja.

Ensimmäinen polynomiaikaalgoritmi graafin modulaarisen hajottelupuun laskemiseen julkaistiin vuonna 1972 [9] , ja nyt on saatavilla lineaarisia aikaalgoritmeja [6] [10] .

Yleistykset

Suunnattujen graafien modulaarinen hajotus voidaan saada lineaarisessa ajassa [11] .

Muutamia yksinkertaisia ​​poikkeuksia lukuun ottamatta jokaisella graafilla, jolla on ei-triviaali modulaarinen hajottelu, on myös vino osio [12] .

Muistiinpanot

  1. 12 Spinrad , 2003 .
  2. Papadopoulos, Voglis, 2005 .
  3. Golumbic, 1980 .
  4. 1 2 3 Gallai, 1967 , s. 25–66.
  5. 12 Möhring , 1985a , s. 41–101.
  6. 1 2 McConnell, Spinrad, 1999 , s. 189-241.
  7. Hsu, Ma, 1999 , s. 1004–1020.
  8. Möhring, 1985b , s. 195-225.
  9. James, Stanton, Cowan, 1972 , s. 281-290.
  10. Tedder, Corneil, Habib, Paul, 2008 , s. 634–645.
  11. McConnell, de Montgolfier, 2005 , s. 198-209.
  12. Reed, 2008 .

Kirjallisuus

Linkit