Färglägga grafer

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 26 juni 2019; kontroller kräver 15 redigeringar .

Graffärgning är en grafteoretisk konstruktion , ett specialfall av  grafmarkering. Vid färgläggning tilldelas grafelement etiketter med vissa begränsningar; dessa etiketter kallas traditionellt för "färger". I det enklaste fallet kallas ett sådant sätt att färga toppen av en graf , där två närliggande hörn motsvarar olika färger, vertexfärgning . På liknande sätt tilldelar kantfärgning en färg till varje kant så att två intilliggande kanter har olika färger [1] . Slutligen tilldelar regionfärgningen av en plan graf en färg till varje region, så att vartannat område som delar en gräns inte kan ha samma färg.

Vertexfärgning  är huvudproblemet med graffärgning, alla andra problem i detta område kan reduceras till det. Till exempel är färgningen av kanterna på en graf färgningen av hörnen på dess linjegraf , och färgningen av regionerna i en plan graf är färgningen av hörnen på dess dubbla graf [1] . Men andra graffärgningsproblem uppstår och löses ofta i den ursprungliga inställningen. Anledningen till detta är dels för att det ger en bättre uppfattning om vad som händer och är mer avslöjande, dels för att vissa problem är mer bekväma att lösa på detta sätt (till exempel kantfärgning).

Graffärgning finner tillämpning inom många praktiska områden, och inte bara i teoretiska problem. Förutom de klassiska typerna av problem kan olika begränsningar även läggas på grafen, på hur färger tilldelas eller på själva färgerna. Denna metod används till exempel i det populära Sudoku- pusslet . Det finns fortfarande aktiv forskning inom detta område.

Historik

De första resultaten erhölls för plana grafer i kartfärgningsproblemet. I ett försök att färglägga en karta över grevskapen i England, formulerade Francis Guthrie fyrfärgsproblemet , och noterade att fyra färger räcker för att färglägga kartan så att två intilliggande regioner har olika färger. Hans bror hänvisade frågan till sin matematiklärare, Augustus de Morgan , som nämnde den i sitt brev till William Hamilton 1852. Arthur Cayley tog upp detta problem vid ett möte i London Mathematical Society 1878. Samma år föreslog Tate den första lösningen på detta problem. Han reducerade färgningen av hörnen på den ursprungliga grafen till färgningen av kanterna på den dubbla grafen och föreslog att detta problem alltid har en lösning [2] . 1880 publicerade Alfred Kempe en artikel som hävdade att han hade lyckats fastställa resultatet, och under ett decennium ansågs problemet med fyra färger vara löst. För denna prestation valdes Kempe till en kollega i Royal Society of London och senare president för London Mathematical Society [3] .

År 1890 hittade Heawood ett fel i Kempes bevis. I samma artikel bevisade han femfärgssatsen , vilket visar att vilken platt karta som helst kan färgläggas med högst fem färger. Därvid förlitade han sig på Kempes idéer. Under nästa århundrade utvecklades ett stort antal teorier i ett försök att minska det minsta antalet färger. Fyrfärgssatsen bevisades slutligen 1977 av forskarna Kenneth Appel och Wolfgang Haken med hjälp av datoruppräkning. Idén med beviset förlitade sig starkt på idéerna från Heawood och Kempe och ignorerade de flesta av mellanstudierna [4] . Beviset för fyrafärgssatsen är ett av de första bevisen där en dator användes.

År 1912 föreslog George David Birkhoff att använda det kromatiska polynomet , en viktig del av algebraisk grafteori, för att studera färgproblem . Det kromatiska polynomet generaliserades därefter av William Tutt ( Tutts polynom ). Kempe redan 1879 uppmärksammade det allmänna fallet då grafen inte var plan [5] . Många resultat av generaliseringar av färgplansgrafer på ytor av högre ordning dök upp i början av 1900-talet.

År 1960 formulerade Claude Burge den perfekta grafförmodan , motiverad av en idé från informationsteorin , nämligen grafkapaciteten nollfel [6] som introducerades av Shannon . Uttalandet förblev obekräftat i 40 år, tills det bevisades som den berömda strikta perfekta grafsatsen av matematikerna Chudnovskaya , Robertson , Seymour och Thomas 2002.

Graffärgning som ett algoritmiskt problem har studerats sedan 1970-talet: att bestämma det kromatiska talet  är ett av Karps 21 NP-kompletta problem (1972). Och ungefär samtidigt utvecklades olika algoritmer baserade på backtracking och Zykovs rekursiva radering och kontraktion [7] . Sedan 1981 har graffärgning använts för registerallokering i kompilatorer [8] .

Definition och terminologi

Vertexfärgning

När folk pratar om att färglägga grafer menar de nästan alltid att färga sina hörn, det vill säga att tilldela färgetiketter till grafens hörn så att alla två hörn som har en gemensam kant har olika färger. Eftersom loopade grafer inte kan färgas på detta sätt är de uteslutna.

Terminologin där etiketterna kallas färger kommer från färgläggningen av politiska kartor. Etiketter som rött eller blått används endast när antalet färger är litet, men etiketterna antas vanligtvis vara heltal .

Att färga med färger kallas -färgning . Det minsta antalet färger som behövs för att färga en graf kallas dess kromatiska tal och skrivs ofta som . Används ibland , eftersom det betecknar Euler-egenskapen . En delmängd av hörn markerade i en färg kallas en färgklass , varje sådan klass bildar en oberoende uppsättning . Således är -färgning detsamma som att dela upp hörn i oberoende mängder [1] .

Kromatiskt tal i termer av avståndet Gromov-Hausdorff

Låta vara en godtycklig graf med vertex set . Vi fixar två positiva reella tal , och vi kommer att betrakta det som ett metriskt utrymme där avstånden mellan angränsande hörn är lika med , och alla andra avstånd som inte är noll är lika med . Beteckna med det metriska utrymmet som består av punkter separerade från varandra med ett avstånd . Slutligen, för två metriska utrymmen och , beteckna Gromov-Hausdorff-avståndet mellan och . Då gäller följande resultat.

Sats (A.O. Ivanov, A.A. Tuzhilin) ​​[9] : Låt vara det största naturliga talet för vilket (om sådana naturliga tal inte finns, då sätter vi ). Sedan .

Kommentar.

Kromatiskt polynom

Ett kromatiskt polynom  är en funktion som räknar antalet t - färgningar i en graf . Av namnet följer att för givet är denna funktion ett polynom beroende på t .

Detta faktum upptäcktes av Birkhoff och Lewis när de försökte bevisa de fyra färgerna [10] .

Till exempel kan grafen i bilden till höger färgläggas på 12 sätt med 3 färger. Den kan i princip inte målas med två färger. Med 4 färger får vi 24+4*12 = 72 färgalternativ: när du använder alla 4 färgerna finns det 4! = 24 korrekta sätt ( varje tilldelning av 4 färger för en graf med 4 hörn är korrekt); och för varje 3 färger av dessa 4 finns det 12 sätt att färga. Sedan för grafen i exemplet börjar tabellen med antal korrekta färger så här:

Tillgängligt antal färger ett 2 3 fyra
Antal sätt att färga 0 0 12 72

För grafen i exemplet och, naturligtvis, .

Ett kromatiskt polynom innehåller minst lika mycket information om färgsättning som ett kromatiskt tal. Det är faktiskt  det minsta positiva heltal som inte är en rot av ett kromatiskt polynom.

Kromatiska polynom för vissa grafer
Triangulär
Komplett graf
träd med revben
Cykel
Greve av Petersen

Kantfärgning

En kantfärgning av en graf innebär att tilldela färger till kanter på ett sådant sätt att inte två kanter av samma färg hör till samma vertex. Detta problem motsvarar att dela upp uppsättningen ansikten i uppsättningar av oberoende ansikten . Det minsta antalet färger som behövs för en kantfärgning av en graf är  dess kromatiska index eller kantkromatiska nummer .

Total färgläggning

Totalfärgning  är en typ av färgläggning av hörn och kanter på en graf. Med det menas en sådan tilldelning av färger att varken angränsande hörn, eller intilliggande kanter, eller hörn och kanter som förbinder dem, har samma färg. Det totala kromatiska antalet av en graf  är det minsta antal färger som behövs för en komplett färgning.

Egenskaper

Egenskaper för det kromatiska polynomet

Restriktioner för kromatiskt nummer

För intervallgrafer är denna begränsning exakt. En graf är tvådelad om och endast om den inte innehåller cykler med udda längd [11] . för en sammankopplad, enkel graf om är varken en komplett graf eller en cykelgraf.

Grafer med stort kromatiskt tal

Mychelskis teorem (Alexander Zykov 1949, Jan Mychelski 1955): Det finns grafer utan trianglar med godtyckligt stora kromatiska tal. Erdős teorem : Det finns grafer med godtyckligt stor omkrets och kromatiskt tal [12] .

Restriktioner för det kromatiska indexet

Königs sats : , om är tvådelad. Vizings teorem: En graf med maximal vertexgrad har ett kantkromatiskt tal eller .

Andra egenskaper

  1. Om alla finita subgrafer i en oändlig graf är k -kromatiska, så är k - kromatiska (bevisade under antagandet av valets axiom ). Detta är formuleringen av de Bruijn-Erdős sats [16] .
  2. Om en graf medger en fullständig n -färgning för någon , då tillåter den en oändlig fullständig färgning [17] .

Öppna frågor

Det kromatiska numret för ett plan där två punkter ligger intill om det finns ett enhetsavstånd mellan dem är okänt. Det kan vara 5, 6 eller 7. Andra öppna frågor om det kromatiska antalet grafer inkluderar Hadwiger-förmodan , som säger att varje graf med kromatiskt nummer k har en komplett graf med k hörn som sin mindre , Erdős-Faber-Lovas gissningar , som begränsar det kromatiska antalet kompletta grafer som har exakt en gemensam vertex för varje par av grafer, och Albertsons gissning att bland k - kromatiska grafer är de med minst antal skärningspunkter kompletta .

När Birkov och Lewis introducerade det kromatiska polynomet i deras försök att lösa fyrfärgssatsen, hävdade de att för plana grafer har polynomet inga nollor i domänen . Även om det är känt att ett sådant kromatiskt polynom inte har några nollor i domänen , och att deras påstående förblir obevisade. Det förblir också en öppen fråga hur man särskiljer grafer med samma kromatiska polynom och hur man avgör att ett polynom är kromatiskt.

Färgläggningsalgoritmer

Polynomalgoritmer

För en tvådelad graf beräknas färgningsproblemet i linjär tid med hjälp av bredd-först-sökning . I fallet med perfekta grafer kan det kromatiska talet och dess motsvarande färgning hittas i polynomtid med semidefinite programmering . Exakta formler för att hitta det kromatiska talet är kända för många klasser av grafer (skogar, cykler , hjul , ackordsgrafer ) och kan även beräknas i polynomtid.

Exakta algoritmer

Den uttömmande sökalgoritmen för fallet med k-färgning beaktar alla kombinationer av färgarrangemang i en graf med n hörn och kontrollerar att de är korrekta. För att beräkna det kromatiska talet och det kromatiska polynomet tar denna algoritm varje k från 1 till n. I praktiken kan en sådan algoritm endast tillämpas på små grafer.

Genom att använda dynamisk programmering och uppskatta storleken på den största oberoende uppsättningen kan möjligheten för k-färgning i en graf lösas i tid [18] . Snabbare algoritmer för 3- och 4-färgningar är kända som går i tid [19] respektive [20] .

Sammandragning

Vertexkontraktion  är en operation som  gör en graf från en graf genom att identifiera hörn och , ta bort kanterna som förbinder dem och ersätta dem med en vertex , där kanterna faller in mot hörnen och omdirigeras . Denna operation spelar en viktig roll i graffärgningsanalys.

Det kromatiska talet uppfyller repetitionsrelationen

,

där och är icke-angränsande hörn, är en graf med en extra kant . Vissa algoritmer är baserade på detta förhållande och producerar ett träd som ett resultat, ibland kallat ett Zykov-träd. Exekveringstiden beror på vertexvalsmetoden och .

Det kromatiska polynomet uppfyller återfallsrelationen

,

där och är angränsande hörn, är en graf med kanten borttagen . representerar antalet möjliga korrekta färger av grafen, när hörnen och kan ha samma eller olika färger. Om och har olika färger, så kan vi överväga en graf där och är intilliggande. Om och har samma färger, kan vi överväga en graf där och är sammanslagna.

Uttrycken som ges ovan leder till en rekursiv procedur som kallas remove and contract algoritmen , som har legat till grund för många graffärgningsalgoritmer. Körtiden uppfyller samma återfallsrelation som Fibonacci-talen , så i värsta fall kommer algoritmen att köras i tid för n hörn och m kanter [21] . I praktiken undviker metoden förgrening och bunden och förkastandet av isomorfa grafer vissa rekursiva anrop, körtiden beror på metoden för att välja ett par hörn.

Girig färgläggning

Den giriga algoritmen sorterar hörnen ,..., och tilldelar sekventiellt till vertexen den minsta tillgängliga färgen som inte användes för att färga grannarna bland ,..., , eller lägger till en ny. Kvaliteten på den resulterande färgningen beror på den valda ordningen. Det finns alltid en ordning som för den giriga algoritmen till det optimala antalet färger. Å andra sidan kan en girig algoritm vara godtyckligt dålig; till exempel kan en krona med n hörn färgas med 2 färger, men det finns en ordning på hörn som resulterar i en girig färgning av färger.

För en ackordsgraf och för dess speciella fall (som en intervallgraf ), kan den giriga färgningsalgoritmen användas för att hitta den optimala färgningen i polynomtid genom att välja ordningen på hörnen så att den är den omvända av den perfekta elimineringsordningen . Denna algoritm kan tillämpas på en bredare klass av grafer ( helt beställningsbara grafer ), men att hitta en sådan ordning för sådana grafer är ett NP-svårt problem.

Om hörnen är ordnade efter deras grader, använder den giriga färgningsalgoritmen högst färger, vilket är högst 1 mer än (här ,  graden av vertex ). Denna heuristiska algoritm kallas ibland för Welsh-Powell-algoritmen [22] . En annan algoritm ställer in ordningen dynamiskt och väljer nästa vertex från den med de mest intilliggande hörnen av olika färger. Många andra graffärgningsalgoritmer är baserade på giriga färgsättningar och använder statiska eller dynamiska vertexordningsstrategier.

Parallella och distribuerade algoritmer

Ett liknande problem uppstår inom området distribuerade algoritmer. Låt oss säga att grafens hörn är datorer som kan kommunicera med varandra om de är förbundna med en kant. Målet är att varje dator ska välja en "färg" för sig själv, så att närliggande datorer väljer olika färger. Detta problem är nära relaterat till symmetribrytningsproblemet . De mest utvecklade probabilistiska algoritmerna är snabbare än deterministiska algoritmer för grafer med en tillräckligt stor maximal grad av hörn . De snabbaste probabilistiska algoritmerna använder tekniken med flera försök [23] .

I symmetriska grafer kan deterministiska distribuerade algoritmer inte hitta den optimala vertexfärgen. Mer information behövs för att undvika symmetri. Ett standardantagande görs att varje vertex initialt har en unik identifierare, till exempel från mängden . Med andra ord antas det att vi får en n -färgning. Uppgiften är att minska antalet färger från n till t.ex. Ju fler färger som används (till exempel istället för ), desto färre meddelandeutbyten kommer att krävas [23] .

En enkel version av den distribuerade giriga algoritmen för -färgning kräver kommunikationsrundor i värsta fall - information kan behöva gå från ena änden av nätverkssidan till den andra.

Det enklaste intressanta fallet är n -cykeln. Richard Cole och Uzi Vishkin [24] har visat att det finns en distribuerad algoritm som minskar antalet färger från n till , med endast ett grannmeddelande. Genom att upprepa samma procedur kan man få en n -cykel 3-färgning i anslutningsrundor (förutsatt att unika nodidentifierare ges).

Funktionen , itererad logaritm , är en extremt långsamt växande funktion, "nästan en konstant". Därför väcker resultaten av Cole och Vishkin frågan om det finns en distribuerad n-cykel 3-färgningsalgoritm som körs i konstant tid. Nathan Linial visade att detta är omöjligt: ​​varje deterministisk distribuerad algoritm kräver kommunikationsrundor för att reducera en N -färgning till en 3-färgning i en n-cykel [25] .

Tekniken från Cole och Vishkin kan också tillämpas på en godtycklig graf med en avgränsad grad av hörn, i vilket fall körtiden är [26] . Denna metod har generaliserats till enhetscirkelgrafen av Schneider et al [27] .

Kantfärgningsproblemet har också studerats i en distribuerad modell. Pansonezzi och Rizzi uppnådde -färgning för i denna modell [28] . Den nedre gränsen för distribuerad vertexfärgning som uppnås av Linial är också tillämplig på problemet med distribuerad kantfärgning [25] .

Decentraliserade algoritmer

Decentraliserade algoritmer kallas algoritmer där intern meddelandeöverföring inte är tillåten (i motsats till distribuerade algoritmer , där processer utbyter data med varandra). Det finns effektiva decentraliserade algoritmer som framgångsrikt klarar uppgiften att färglägga grafer. Dessa algoritmer fungerar utifrån antagandet att en vertex kan "känna" att någon av dess närliggande hörn har samma färg som den. Det är med andra ord möjligt att definiera en lokal konflikt. Ett sådant villkor uppfylls ganska ofta i verkliga applikationer - till exempel när data överförs över en trådlös kanal, har en sändande station som regel förmågan att upptäcka att en annan station försöker sända samtidigt på samma kanal. Förmågan att erhålla sådan information är tillräcklig för att algoritmer baserade på inlärningsautomater korrekt ska lösa graffärgningsproblemet [29] [30] med sannolikhet ett .

Beräkningskomplexitet

Graffärgning är en beräkningsmässigt svår uppgift. Att ta reda på om en graf kan k -färgas för ett givet k  är ett NP-komplett problem, förutom fallen k = 1 och k = 2. I synnerhet är problemet med att beräkna det kromatiska talet NP-hårt [31] . 3-färgsproblemet är NP-komplett även för fallet med en plan graf av grad 4 [32] .

Det är också ett NP-svårt problem att färga en 3-färgbar graf med 4 färger [33] och en k -färgbar graf för tillräckligt stora värden på k [34] .

Att beräkna koefficienterna för ett kromatiskt polynom är ett #P-hårt problem. Det har bevisats att det inte finns någon FPRAS- algoritm för att beräkna det kromatiska polynomet för något rationellt tal k ≥ 1,5 annat än k = 2, såvida inte NP = RP [35] .

Applikation

Planering

Vertexfärgning modellerar många planeringsproblem [36] . I sin enklaste inställning bör en given uppsättning jobb fördelas över tidsintervall, varje sådant jobb upptar ett segment. De kan utföras i vilken ordning som helst, men de två jobben kan komma i konflikt i den meningen att de inte kan utföras samtidigt eftersom de till exempel använder delade resurser. Motsvarande graf innehåller en vertex för varje jobb och en kant för varje motstridig par. Det kromatiska numret på den konstruerade grafen är den minsta tiden för att slutföra alla jobb utan konflikter.

Detaljerna i schemaläggningsproblemet bestämmer grafens struktur. Till exempel, när det finns en uppdelning av flygplan i flygningar, är den resulterande konfliktgrafen en intervallgraf , så färgningsproblemet kan lösas effektivt. Vid distribution av radiofrekvenser erhålls en graf över enhetskonfliktcirklar , och för ett sådant problem finns en 3-approximationsalgoritm .

Registertilldelning

En kompilator  är ett datorprogram som översätter ett datorspråk till ett annat. För att förbättra exekveringstiden för den resulterande koden är en av kompilatoroptimeringsteknikerna registerallokering , där de mest använda variablerna i det kompilerade programmet lagras i höghastighetsprocessorregister . Idealiskt lagras variabler i register så att de alla finns i register vid den tidpunkt de används.

Standardmetoden för detta problem är att reducera det till ett graffärgningsproblem [8] . Kompilatorn bygger en interferensgraf , där hörn motsvarar variabler, och en kant förbinder två av dem om de behövs samtidigt. Om denna graf är k -kromatisk kan variablerna lagras i k register.

Digitala vattenstämplar

Tekniken för digitala vattenstämplar ( eng.  digital watermarking ) låter dig överföra ett dolt meddelande tillsammans med data (vare sig det är mediafiler , körbara filer och andra) (" vattenstämpel ", vattenstämpel ). Ett sådant dolt meddelande kan användas i upphovsrättsskyddet för att identifiera ägaren av data.

Detta är viktigt, till exempel för att fastställa källan till deras illegala distribution. Eller för att bekräfta rättigheterna till data, till exempel - mjukvarusystem på ett chip ( system-on-chip ).

Meddelandet kan också kodas på det sätt som register tilldelas. En sådan teknik föreslogs av Qu och Potkonjak [37] (vilket är anledningen till att den ibland kallas QP-algoritmen).

Den består av följande: låt vara  inkompatibilitetsdiagrammet (interferensdiagram) för distributionen av processorregister, som nämndes ovan. Dess färgning används i programmet - dessutom används den på ett sådant sätt att det är tillåtet att ändra innehållet i grafen med en liten ökning av dess kromatiska nummer . Det visar sig att det är möjligt att koda ett meddelande i en mjukvaruprodukt med hjälp av graffärgning , det vill säga distributionen av register.

Du kan extrahera detta meddelande genom att jämföra distributionen av register med den ursprungliga färgen; [38] det finns också sätt att verifiera om ett meddelande kodades i programmet utan att använda originalet.

Därefter utvecklade och förfinade olika författare Qus och Potkonjaks idéer [39] . [38] [40]

Andra användningsområden

Graffärgningsproblemet har uppstått i många andra applikationer, inklusive mönstermatchning .

Att lösa ett Sudoku -pussel kan ses som att slutföra en 9-färgsfärgning av en given graf med 81 hörn.

Anteckningar

  1. 1 2 3 ( Molloy & Reed 2002 , The Basic Definitions )
  2. ( Donets & Shor 1982 , Historisk bakgrund )
  3. ( Kubale 2004 , Historia om graffärgning )
  4. ( van Lint & Wilson 2001 , kap. 33)
  5. ( Jensen & Toft 1995 , s. 2)
  6. CE Shannon, "Nullfelskapaciteten hos en bullrig kanal," IEEE Trans. Information Theory , s. 8-19, 1956.
  7. ( Zykov 1949 )
  8. 1 2 ( Chaitin 1982 )
  9. AOIvanov, AATuzhilin (2019), The Gromov-Hausdorff Distance between Simplexes and Two-Distance Spaces , < https://arxiv.org/pdf/1907.09942.pdf > Arkiverad 29 juli 2019 på Wayback Machine 
  10. ( Birkhoff & Lewis 1946 )
  11. 1 2 3 4 ( Tutte 1984 , Chromatic polynomial )
  12. 1 2 3 ( Diestel 2005 , Färga hörn )
  13. ( Brooks & Tutte 1941 )
  14. 1 2 ( Diestel 2005 , Coloring edges )
  15. ( Nesetřil & Ossona de Mendez 2012 )
  16. ( de Bruijn, Erdős 1951 )
  17. ( Fawcett 1978 )
  18. ( Lawler 1976 )
  19. ( Beigel & Eppstein 2005 )
  20. ( Fomin, Gaspers & Saurabh 2007 )
  21. ( Sekine, Imai & Tani 1995 )
  22. ( Welsh & Powell 1967 )
  23. 1 2 ( Schneider 2010 )
  24. ( Cole & Vishkin 1986 ), se även ( Cormen, Leiserson & Rivest 1990 , avsnitt 30.5)
  25. 1 2 ( Linial 1992 )
  26. ( Goldberg, Plotkin & Shannon 1988 )
  27. ( Schneider 2008 )
  28. ( Panconesi & Rizzi 2001 )
  29. ( Leith & Clifford 2006 )
  30. ( Duffy, O'Connell & Sapozhnikov 2008 )
  31. ( Garey, Johnson & Stockmeyer 1974 ); ( Garey & Johnson 1979 ).
  32. ( Dailey 1980 )
  33. ( Guruswami & Khanna 2000 )
  34. ( Khot 2001 )
  35. ( Goldberg & Jerrum 2008 )
  36. ( Marx 2004 )
  37. ( Qu & Potkonjak 1998 )
  38. 1 2 ( Zhu & Thomborson 2006 )
  39. ( Collberg, Thomborson & Townsend 2004 )
  40. ( Myles & Collberg 2003 )

Litteratur