Modulär sönderdelning - Modular decomposition

I grafteori är den modulära sönderdelningen en sönderdelning av en graf i delmängder av hörn som kallas moduler. En modul är en generalisering av en ansluten komponent i ett diagram. Till skillnad från anslutna komponenter kan emellertid en modul vara en riktig delmängd av en annan. Moduler leder därför till en rekursiv (hierarkisk) sönderdelning av grafen, istället för bara en partition.

Det finns varianter av modulär sönderdelning för oriktade grafer och riktade grafer . För varje oriktad graf är denna sönderdelning unik.

Denna uppfattning kan generaliseras till andra strukturer (till exempel riktade grafer) och är användbar för att utforma effektiva algoritmer för igenkänning av vissa grafflasser, för att hitta transitiva orienteringar av jämförbarhetsgrafer , för optimeringsproblem på grafer och för grafritning .

Moduler

Eftersom begreppet moduler har återupptäckts inom många områden har moduler också kallats autonoma uppsättningar , homogena uppsättningar , intervall och partitiva uppsättningar . Kanske den tidigaste hänvisningen till dem och den första beskrivningen av modulära kvoter och grafnedbrytningen de ger upphov till ( Gallai 1967).

En modul i en graf är en generalisering av en ansluten komponent . En ansluten komponent har egenskapen att det är en uppsättning hörnor så att varje medlem i är en icke-granne till varje toppunkt som inte finns i . (Det är en sammanslutning av anslutna komponenter om och bara om den har denna egenskap.) Mer allmänt är en modul om, för varje hörn , antingen varje medlem i är en icke-granne till eller varje medlem i är en granne till .

På motsvarande sätt är en modul om alla medlemmar har samma uppsättning grannar bland hörn som inte är i .

I motsats till de anslutna komponenterna är modulerna i ett diagram desamma som modulerna i dess komplement , och moduler kan "kapslas": en modul kan vara en riktig delmängd av en annan. Observera att uppsättningen hörn i en graf är en modul, liksom dess enelementundermängder och den tomma uppsättningen; dessa kallas triviala moduler . En graf kan ha eller inte ha andra moduler. En graf kallas primtal om alla dess moduler är triviala.

Trots dessa skillnader bevarar modulerna en önskvärd egenskap hos anslutna komponenter, vilket är att många egenskaper hos subgrafen som induceras av en ansluten komponent är oberoende av resten av grafen. Ett liknande fenomen gäller också för de subgrafer som induceras av moduler.

Modulerna i en graf är därför av stort algoritmiskt intresse. En uppsättning kapslade moduler, av vilka den modulära sönderdelningen är ett exempel, kan användas för att vägleda den rekursiva lösningen på många kombinatoriska problem på grafer, såsom att känna igen och transitivt orientera jämförbarhetsgrafer , känna igen och hitta permutationsrepresentationer av permutationsgrafer , erkänna om en graf är en cograph och att hitta ett certifikat för svaret på frågan, känna igen intervalldiagram och hitta intervallrepresentationer för dem, definiera avståndsarvliga grafer (Spinrad, 2003) och för grafritning (Papadopoulos, 2006). De spelar en viktig roll i Lovász berömda bevis på den perfekta grafsatsen (Golumbic, 1980).

För att känna igen avståndsärftliga grafer och cirkeldiagram är en ytterligare generalisering av modulär sönderdelning, kallad delad sönderdelning , särskilt användbar (Spinrad, 2003).

För att undvika möjligheten till oklarhet i definitionerna ovan ger vi följande formella definitioner av moduler. . är en modul med om:

  • hörnen på kan inte särskiljas med någon toppunkt i , dvs antingen ligger intill båda och eller är varken intill eller till .
  • hörnen av samma uppsättning av yttre grannar, dvs .

, och alla singletoner för är moduler, och kallas triviala moduler . En graf är prime om alla dess moduler är triviala. Anslutna komponenter i en graf eller dess komplementgraf är också moduler av .

är en stark modul i en graf om den inte överlappar någon annan modul av : modul av , antingen eller eller .

Modulära kvoter och faktorer

Om och är separata moduler, är det lätt att se att antingen varje medlem i är en granne till varje element i , eller ingen del av, intill någon medlem av . Således är förhållandet mellan två olika moduler antingen intilliggande eller icke -intilliggande . Inget samband mellan dessa två ytterligheter kan existera.

På grund av detta, modulära partitioner av där varje skiljevägg klass är en modul är av speciellt intresse. Antag att det är en modulär partition. Eftersom partitionsklasserna är oskiljaktiga utgör deras adjakenser ett nytt diagram, en kvotgraf , vars hörn är medlemmarna i . Det vill säga att varje hörn av är en modul av G, och adjakenserna för dessa moduler är kanterna på .

I figuren nedan är hörn 1, hörn 2 till 4, hörn 5, hörn 6 och 7 och hörn 8 till 11 en modulär partition. I diagrammet uppe till höger visar kanterna mellan dessa uppsättningar kvoten som ges av denna partition, medan kanterna inuti uppsättningarna visar motsvarande faktorer.

Partitionerna och är de triviala modulära partitionerna . är bara en-toppunktsdiagrammet, medan . Antag att det är en icke -privat modul. Sedan och delelementen med enelement är en icke-modulär partition av . Således, förekomsten av eventuella icke-triviala moduler innebär att det finns icke-triviala modulära partitioner. I allmänhet kan många eller alla medlemmar vara icke -privata moduler.

Om är en icke -modulär partition, är en kompakt representation av alla kanter som har slutpunkter i olika partitionsklasser av . För varje partitionsklass i kallas subgrafen inducerad av en faktor och ger en representation av alla kanter med båda slutpunkterna i . Därför kan kanterna av rekonstrueras endast med kvotdiagrammet och dess faktorer. Termen prime grafen kommer från det faktum att en utmärkt graf har endast triviala kvoter och faktorer.

När är en faktor för en modulär kvot , är det möjligt att rekursivt kan brytas ned i faktorer och kvoter. Varje nivå av rekursionen ger upphov till en kvot. Som ett grundfall har grafen bara en toppunkt. Sammantaget kan rekonstrueras induktivt genom att rekonstruera faktorerna nedifrån och upp, invertera nedbrytningens steg genom att kombinera faktorer med kvoten på varje nivå.

I figuren nedan representeras en sådan rekursiv sönderdelning av ett träd som visar ett sätt att rekursivt sönderdela faktorer för en initial modulär partition till mindre modulära partitioner.

Ett sätt att rekursivt sönderdela en graf till faktorer och kvoter är kanske inte unikt. (Till exempel är alla delmängder av hörnen i ett komplett diagram moduler, vilket innebär att det finns många olika sätt att sönderdela det rekursivt.) Vissa sätt kan vara mer användbara än andra.

Den modulära sönderdelningen

Lyckligtvis finns det en sådan rekursiv nedbrytning av en graf som implicit representerar alla sätt att sönderdela den; detta är den modulära sönderdelningen. Det är i sig ett sätt att sönderdela en graf rekursivt till kvoter, men den sammanfattar alla andra. Nedbrytningen som visas i figuren nedan är denna speciella sönderdelning för den givna grafen.

En graf, dess kvot där "påsar" med hörn i grafen motsvarar barnen i roten till det modulära sönderdelningsträdet och dess fullständiga modulära sönderdelningsträd: seriens noder är märkta "s", parallella noder "//" och prim noder "p".

Följande är en viktig observation för att förstå den modulära sönderdelningen:

Om är en modul av och är en delmängd av , så är en modul av , om och bara om den är en modul av .

I (Gallai, 1967) definierade Gallai den modulära sönderdelningen rekursivt på en graf med toppunktsuppsättning , enligt följande:

  1. Som ett basfall, om den bara har en toppunkt, är dess modulära sönderdelning en enda trädnod.
  2. Gallai visade att om den är ansluten och dess komplement, så är de maximala moduler som är rätt delmängder en partition av . De är därför en modulär partition. Kvoten som de definierar är prime. Trädets rot är märkt som en primär nod, och dessa moduler tilldelas som barn till . Eftersom de är maximala finns varje modul som inte representerats hittills i ett barn till . För varje barn av , ersättning med det modulära sönderdelningsträdet av ger en representation av alla moduler av , genom nyckelobservationen ovan.
  3. Om den är bortkopplad är dess komplement anslutet. Varje sammanslutning av anslutna komponenter är en modul av . Alla andra moduler är delmängder av en enda ansluten komponent. Detta representerar alla moduler, förutom delmängder av anslutna komponenter. För varje komponent ger ersättning med det modulära sönderdelningsträdet en representation av alla moduler av , med nyckelobservationen ovan. Trädets rot är märkt som en parallell nod, och den fästs istället som ett barn till roten. Kvoten som definieras av barnen är komplementet till en komplett graf.
  4. Om komplementet till är frånkopplat, är anslutet. Subträden som är barn till definieras på ett sätt som är symmetriskt med fallet där det är frånkopplat, eftersom modulerna i en graf är desamma som modulerna i dess komplement. Trädets rot är märkt som en seriell nod, och kvoten som definierats av barnen är en fullständig graf.

Det sista trädet har ett-element uppsättningar av hörn av som sina blad, på grund av basfodralet. En uppsättning hörn av är en modul om och bara om det är en nod i trädet eller en sammanslutning av barn i en serie eller parallell nod. Detta ger implicit alla modulära partitioner av . Det är i den meningen att det modulära sönderdelningsträdet "sänker" alla andra sätt att rekursivt sönderdelas till kvoter.

Algoritmiska frågor

En datastruktur för att representera det modulära sönderdelningsträdet bör stödja operationen som matar in en nod och returnerar den uppsättning hörn som noden representerar. Ett uppenbart sätt att göra detta är att tilldela varje nod en lista över de hörn som den representerar. Med en pekare till en nod kan den här strukturen returnera den uppsättning hörn som den representerar i tid. Denna datastruktur skulle dock kräva utrymme i värsta fall.

En representation av den modulära sönderdelningen

Ett alternativ för rymden som matchar denna prestanda erhålls genom att representera det modulära sönderdelningsträdet med hjälp av en standarddatastruktur med rotat träd och märka varje blad med toppunktet för det som det representerar. Uppsättningen som representeras av en intern nod ges av uppsättningen etiketter för dess bladavkomlingar. Det är välkänt att alla rotade träd med löv har högst interna noder. Man kan använda en djup-första sökning från och med att rapportera etiketterna på blad-ättlingar i tid.

Den modulära sönderdelningen, förstärkt med en kvot på barnen i varje intern nod, ger en fullständig representation av .

Varje nod är en uppsättning hörn av och, om det är en intern nod, är uppsättningen barn till en partition av var varje partitionsklass är en modul. De inducerar därför kvoten in . Hörnen för denna kvot är elementen i , så kan representeras genom att installera kanter bland barnen i . Om och är två medlemmar av och och , då och är intilliggande i om och bara om och är intilliggande i denna kvot. För alla hörnpar bestäms detta av kvoten hos barn till den minst vanliga förfadern till och i det modulära sönderdelningsträdet. Därför ger den modulära sönderdelningen, märkt på detta sätt med kvoter, en fullständig representation av .

Många kombinatoriska problem kan lösas genom att lösa problemet separat på var och en av dessa kvoter. Till exempel är en jämförbarhet graf om och bara om var och en av dessa kvoter är en jämförbarhet graf (Gallai, 67; Möhring, 85). Därför, för att hitta om en graf är en jämförbarhet graf, behöver man bara hitta om var och en av kvoterna är. För att hitta en transitiv orientering av ett jämförbarhetsgraf räcker det faktiskt med att transitivt orientera var och en av dessa kvoter av dess modulära sönderdelning (Gallai, 67; Möhring, 85). Ett liknande fenomen gäller permutationsgrafer, (McConnell och Spinrad '94), intervallgrafer (Hsu och Ma '99), perfekta grafer och andra grafklasser. Vissa viktiga kombinatoriska optimeringsproblem på grafer kan lösas med en liknande strategi (Möhring, 85).

Cographs är graferna som bara har parallella eller seriens noder i sitt modulära sönderdelningsträd.

Den första polynomalgoritmen för att beräkna det modulära sönderdelningsträdet i en graf publicerades 1972 (James, Stanton & Cowan 1972) och nu är linjära algoritmer tillgängliga (McConnell & Spinrad 1999, Tedder et al. 2007, Cournier & Habib 1994).

Generaliseringar

Modulär sönderdelning av riktade grafer kan göras i linjär tid ( McConnell & de Montgolfier 2005 ).

Med ett litet antal enkla undantag har varje graf med en icke -modulär sönderdelning också en sneddelning ( Reed 2008 ).

Referenser

externa länkar