Gráfok színezése
A matematika, azon belül a gráfelmélet területén a gráfok színezése a gráfcímkézés speciális esete: bizonyos megszorítások mentén „színeket” (vagy számokat) rendelünk hozzá egy gráf valamilyen alkotóelemeihez. A leggyakoribb formájában a gráf csúcsaihoz történik a hozzárendelés, ez csúcsszínezés vagy egyszerűen színezés. Ha a gráf éleihez rendelünk színeket, az a gráf élszínezése, ha pedig a csúcsok és az élek is színezésre kerülnek, totális színezésről beszélhetünk. Síkbarajzolható gráf tartományszínezésénél pedig a lerajzolás tartományaihoz rendelünk színeket.
A gráfszínezéseknél jó színezésnek azt tekintjük, ha a szomszédos elemek (csúcsszínezésnél az egymással összekötött csúcsok, élszínezésnél az egy csúcsból kiinduló élek, tartományszínezésnél a közös határral rendelkező területek) különböző színűek. Színezés alatt külön jelző nélkül is általában jó színezés értendő.
A gráfok színezése területének kiindulópontjában a csúcsszínezés áll, és a többi színezési probléma is visszavezethető csúcsszínezésre: például egy gráf élszínezése megegyezik élgráfjának, totális színezése totális gráfjának, síkgráf tartományszínezése pedig duálisának csúcsszínezésével. Mégis, a nem-csúcsszínezési problémákat gyakran eredeti változatukban vizsgálják – ennek oka a perspektíva, egyes problémák, mint az élszínezés, egyszerűen jobban átláthatók, jobban kezelhetők eredeti formájukban.
A színek hozzárendelésének hagyománya a térképek országainak színezéséből ered, ahol a tartományokat szó szerint kiszínezték. Ezt általánosították a síkba ágyazott gráf tartományainak színezésére. A dualitás miatt ebből csúcsok színezése lett, amit aztán minden gráfra általánosítottak. A matematikai és számítógépes megvalósításokban jellemzően az első néhány pozitív vagy nemnegatív számot használják „színekként”. Bármilyen véges halmaz alkalmas lehet „színhalmaznak” – a színezési probléma természete csak a színek számosságán múlik, nem a minőségükön.
A gráfszínezés területén számos gyakorlati alkalmazással, még több elméleti kihívással lehet találkozni. A klasszikusnak mondható problémák mellett különböző korlátok állíthatók fel a szóba jövő gráfra, a szín hozzárendelésének módjára vagy a színre magára. Jelenleg is igen aktívan kutatott terület.
Rövid történeti áttekintés
szerkesztésAz első gráfszínezési eredmények síkbarajzolható gráfokkal voltak kapcsolatosak, a legfontosabb feladat térképek színezése volt. Amíg Anglia megyéit próbálták meg színekkel ellátni, Francis Guthrie megfogalmazta a négyszín-sejtést, miszerint 4 szín elegendő a különböző tartományok megfestéséhez, ha szomszédos tartományok különböző színeket kapnak. Guthrie testvére továbbította ezt a kérdést a matematikatanára, Augustus De Morgan felé, aki szintén megosztotta a sejtést William Rowan Hamiltonnal. Arthur Cayley 1879-ben vetette fel a problémát a London Mathematical Society egy találkozóján. Még ebben az évben Alfred Kempe nyilvánosságra hozta bizonyítását, és egy évtizeden át helyesnek ítélték. Ennek köszönhetően elismerésben is részesült, a Royal Society tagjává választották, és később ő vált a London Mathematical Society elnökévé is.
1890-ben Heawood belátta, hogy Kempe bizonyítása hibás volt. Bár jó megoldást ő nem talált a problémára, az ötszín-tételt sikerült belátnia, vagyis bármilyen síktérkép kiszínezhető 5-nél nem több színnel. Ehhez Kempe ötleteit használta fel. A következő évszázadban rengeteg ötlet merült fel, hogy sikerüljön ezt a számot 4-re leszorítani, végül csak 1976-ban sikerül Kenneth Appelnek és Wolfgang Hakennek helyes bizonyítást adnia. Meglepetésre Heawoord és Kempe elgondolásait használták fel, számottevő kiterjesztés nélkül. A négyszín-tétel bizonyítása volt az első számítógépre alapozott bizonyítás.
1912-ben George David Birkhoff vezette be a kromatikus polinomot a színezési problémák megsegítésére, amit Tutte általánosított Tutte-polinom néven. Kempe már 1879-ben felhívta a figyelmet a nem síkbeli esetre, és a 20. század elején több eredmény is napvilágot látott magasabb dimenziójú felületek kiszínezésének terén.
1960-ban Claude Berge megfogalmazott egy másik gráfszínezéssel kapcsolatos sejtést, az erős perfekt gráf tételt, ami Shannon információ-elméleti munkásságából eredeztethető. A sejtés 40 évig megoldatlan maradt, 2002-ben sikerült a Chudnovsky, Robertson, Seymour, Thomas által alkotott csoportnak belátnia.
A gráfszínezést az 1970-es évek óta tanulmányozták algoritmuselméleti problémaként. A kromatikus szám problémája egyike Karp 21 NP-teljes problémájának 1972-ből, nagyjából ebben az időben jelent meg több exponenciális-idejű algoritmus is, mely a Zykov-kontrakción alapszik. Az egyik legjelentősebb alkalmazási terület, a fordítóprogramok regiszter-allokációja 1981-ben került bevezetésre.
Definíció és terminológia
szerkesztésCsúcsszínezés
szerkesztésHa egyéb jelző nélkül egy gráf színezését említjük, csaknem mindig a gráf jó csúcsszínezése értendő alatta, tehát a gráf csúcsainak színekkel való olyan címkézése, melyben ugyanazon éllel érintkező két csúcs színe mindig különböző. Ha egy csúcsból hurokél indulna ki, a gráfnak nem létezhetne jó csúcsszínezése, ezért ebben a szakaszban csak hurokmentes gráfokat veszünk figyelembe.
A csúcsok címkézésénél a színek használata a térképek színezésére vezethető vissza. Ha csak 2-3 szín fordul elő, piros, kék stb. címkéket használnak, de általában úgy tekintik, hogy a címkék az {1, 2, 3, ...} egész számok közül kerülnek ki.
Az olyan színezést, ami legfeljebb k színt használ, (jó) k-színezésnek neveznek. Az a legkisebb k szám, amire a G gráfnak van jó k-színezése, a gráf kromatikus száma (színezési száma), amit általában χ(G)-vel jelölnek. Néha az γ(G) jelölést is használatos, mivel a χ(G) a gráf karakterisztikáját is jelöli. Az olyan gráf, amihez tartozik (jó) k-színezés, k-színezhető, továbbá k-kromatikus, amennyiben kromatikus száma pontosan k.
A színezésnél azonos színt kapott csúcsok halmazát színosztálynak neveznek. Minden színosztály független csúcshalmazt alkot, tehát egy gráf k-színezése ugyanazt jelenti, mint csúcsainak k független csúcshalmazba való osztása, ezért a k-színezhető és a k-részes gráf fogalmak ugyanazt jelentik.
Kromatikus polinom
szerkesztésEgy gráf kromatikus polinomja megszámolja a gráf adott számú színnel történő csúcsszínezéseinek lehetőségét. Például a jobb oldalon látható gráfot három színnel tizenkétféleképpen lehet kiszínezni, két színnel egyáltalán nem lehetséges a színezés, négy színnel pedig 24 + 4⋅12 = 72-féleképpen lehetséges a színezés: mind a négy színt felhasználva 4! = 24 érvényes színezés lehetséges (bármely 4 csúcsú gráfban egy mind a 4 színt felhasználó színezés jó színezés); a négy színből hármat választva pedig 12 érvényes 3 színezés található. Így tehát a példagráf lehetséges színezések számának táblázata így kezdődik:
Felhasználható színek száma | 1 | 2 | 3 | 4 | … |
Színezések száma | 0 | 0 | 12 | 72 | … |
A kromatikus polinom olyan P(G, t) függvény, ami G t-színezéseit számolja meg. Ahogy a neve is mutatja, adott G esetén a függvény valóban t polinomja. A példagráf esetén P(G, t) = t(t − 1)2(t − 2), és valóban, P(G, 4) = 72.
A kromatikus polinom minimálisan annyi információt hordoz G gráf színezhetőségéről, mint a kromatikus szám. Valójában χ az a legkisebb pozitív egész szám, ami nem gyöke a kromatikus polinomnak:
Az n csúcsú egyszerű gráf kromatikus polinomja n-edfokú, egész együtthatós, az együtthatók pedig váltakozó előjelűek (a 0 megengedett az együtthatók között), főegyütthatója 1, konstans tagja zérus.
háromszög | |
teljes gráf | |
n csúcsú fagráf | |
körgráf | |
Petersen-gráf |
Élszínezés
szerkesztésEgy gráf élszínezése alatt éleinek jó színezése értendő, olyan színezés tehát, ahol egyetlen csúcs sem illeszkedik két azonos színű élre. A k színnel történő jó élszínezést k-élszínezésnek nevezik, és ekvivalens az élhalmaz k párosításra történő szétosztásával (particionálásával). Az a legkisebb k szám, amire a G gráfnak van jó k-élszínezése, a gráf élkromatikus száma vagy kromatikus indexe, amit χ′(G)-vel jelölnek. Tait-színezésnek a 3-reguláris gráfok 3-élszínezését nevezik. A négyszín-tétel azzal az állítással ekvivalens, miszerint minden síkbarajzolható 3-reguláris hídmentes gráfnak létezik Tait-színezése.
Az élkromatikus szám megegyezik a gráf élgráfjának kromatikus számával. Nyilvánvaló, hogy az élkromatikus szám nem lehet kisebb a maximális fokszámnál, hiszen az egy pontra illeszkedő éleket mind különböző színekre kell színezni. Viszont egyszerű gráfokra az élkromatikus szám ennél legfeljebb eggyel lehet nagyobb.
Totális színezés
szerkesztésA totális színezés során a gráf csúcsaihoz és éleihez is színeket rendelnek. Ha külön nem jelölik, általában jó totális színezésről van szó, amikor a gráfnak sem érintkező élei, sem valamely élének végpontjai nem lehetnek azonos színűek. A χ″(G) totális kromatikus szám a G totális színezéséhez szükséges legkevesebb szín száma.
Tulajdonságok
szerkesztésA kromatikus számra vonatkozó korlátok
szerkesztésHa minden csúcsot különbözőre színezünk, az mindig jó színezés, ezért:
Az 1-színezhető gráfok – – pontosan megegyeznek az élmentes gráfokkal, a 2-színezhetőek – – pedig az éllel rendelkező páros gráfokkal (köztük a fákkal, illetve erdőkkel). ha tartalmaz páratlan kört. Az n csúcsú teljes gráfok színezéséhez színre van szükség. Egy optimális színezésben a gráf m' éle közül legalább egy él húzódik minden színosztály-pár között, ezért:
Ha G tartalmaz k méretű klikket, annak színezéséhez legalább k színre van szükség – a kromatikus szám tehát legalább akkora, mint az klikkszám:
Ez az egyenlőtlenség perfekt gráfokra (így teljes gráfokra is) éles – ugyanis ha a gráf perfekt = minden feszített részgráfjára – néhány gráfra viszont nagyon rossz becslést ad.
A négyszín-tétel alapján minden síkbarajzolható gráf 4-színezhető – .
Mohó színezéssel megmutatható, hogy minden gráf kiszínezhető maximális fokszámánál legfeljebb 1-gyel több színnel:
Teljes gráfok esetében és , páratlan körökre pedig és , tehát ezekre a gráfokra a korlát a lehető legjobb. Más esetekben kissé javítható; a Brooks-tétel[1] szerint:
- a G összefüggő, egyszerű gráfra, kivéve ha G teljes gráf vagy páratlan kör.
A kromatikus számra vonatkozó alsó korlátok
szerkesztésAz évek során a kromatikus szám több alsó korlátját felfedezték:
Hoffman-féle korlát: Legyen valós szimmetrikus mátrix, melyben akkor áll fenn, ha nem egy él -ben. Definiáljuk -t, ahol a legnagyobb, illetve legkisebb sajátértékei. Legyen továbbá , ahol az előbbi definíció szerinti. Ekkor:
- .
Vektorkromatikus szám: Legyen pozitív szemidefinit mátrix, melyben , amennyiben egy él -ben. Legyen továbbá a legkisebb olyan k, melyre ez a mátrix létezik. Ekkor:
- .
Lovász-szám: A komplementer gráf Lovász-száma a kromatikus szám alsó korlátja egyben:
- .
Frakcionális kromatikus szám: a gráf frakcionális kromatikus száma a kromatikus szám alsó korlátja is:
- .
Ezeket a korlátokat így lehet sorba rendezni:
- .
Magas kromatikus számú gráfok
szerkesztésA nagy klikkekkel rendelkező gráfok kromatikus száma mindig magas, de ennek a megfordítása nem általánosan igaz. A Grötzsch-gráf egy háromszöggel nem rendelkező 4-kromatikus gráf, és a példa a Mycielski-konstrukció segítségével általánosítható.
- Mycielski-tétel (Alexander Zykov 1949, Jan Mycielski 1955): Tetszőlegesen nagy kromatikus számú háromszögmentes gráfok léteznek. Más megfogalmazásban: minden egész számra létezik olyan gráf, melyre és
A Brooks-tétel alapján a magas kromatikus számú gráfoknak magas maximális fokszámmal kell rendelkezniük. További lokális tulajdonság, ami magas kromatikus számhoz vezet, a nagy klikkek jelenléte. A színezhetőség azonban nem teljes mértékben lokális jelenség: egy magas girthű gráf lokálisan úgy néz ki, mint egy fa, hiszen az összes kör hosszú, kromatikus száma azonban mégsem feltétlenül 2:
- Tétel (Erdős): Léteznek tetszőlegesen magas girthparaméterrel és kromatikus számmal rendelkező gráfok.[2]
Az élkromatikus számra vonatkozó korlátok
szerkesztésA G gráf élszínezése megegyezik élgráfjának csúcsszínezésével és viszont. Ezért:
Szoros összefüggés van az élszínezhetőség és a gráf maximális fokszáma között. Mivel az ugyanabból a csúcsból kiinduló összes élnek különböző színűnek kell lennie, ezért:
Továbbá,
- Kőnig-tétel: , ha G páros gráf.
Általában véve a kapcsolat még erősebb, mint ami a csúcsszínezésre vonatkozó Brooks-tételnél tapasztalható:
- Vizing-tétel: a maximális fokszámú gráf élkromatikus száma (kromatikus indexe) vagy , vagy .
Egyéb tulajdonságok
szerkesztésEgy gráfnak pontosan akkor van k-színezése, ha létezik olyan körmentes irányítása, melyben a leghosszabb út hossza legfeljebb k; ez a Gallai–Hasse–Roy–Vitaver-tétel (Nešetřil & Ossona de Mendez 2012).
Síkbarajzolható gráfok esetén a csúcsszínezések lényegében a sehol sem nulla folyamok duálisai.
Végtelen gráfokról jóval kevesebbet lehet elmondani – néhány eredmény a végtelen gráfok színezésével kapcsolatban:
- Ha egy G végtelen gráf minden véges részgráfja k-színezhető, akkor G is az, ha igaznak fogadjuk el a kiválasztási axiómát. Ez a De Bruijn–Erdős-tétel (de Bruijn & Erdős 1951).
- Ha egy gráfnak van teljes n-színezése minden n ≥ n0-ra, akkor létezik végtelen teljes színezése (Fawcett 1978).
Nyitott kérdések
szerkesztésA fentiek alapján Reed egy 1998-as sejtése szerint a kromatikus szám lényegében az alsó korláthoz esik közelebb:
A sík kromatikus száma, ahol két pont akkor van összekötve, ha éppen egység távolságra vannak, ismeretlen, mindenesetre a 4, 5, 6 és 7 számok valamelyike. További, kromatikus számmal kapcsolatos megoldatlan kérdések közé tartozik a Hadwiger-sejtés, ami szerint a k kromatikus számú gráfok mindig tartalmazzák a k csúcsú teljes gráfot gráfminorként, az Erdős–Faber–Lovász-sejtés ami a teljes gráfok páronként pontosan egy közös csúcsot tartalmazó uniójának kromatikus számára állít fel korlátot, valamint az Albertson-sejtés, ami szerint a k-kromatikus gráfok között a teljes gráfoknak a legalacsonyabb a metszési száma.
Amikor Birkhoff és Lewis a négyszínsejtés megoldásának céljából bevezették a kromatikus polinomot, azt a sejtést fogalmazták meg, hogy G síkbarajzolható gráfok polinomja nem tartalmaz zérushelyet a régióban. Bár azt már sikerült igazolni, hogy ezen kromatikus polinomoknak nincs zérushelye az régióban és hogy , a sejtés mégis bizonyítatlan. További nyitott kérdés az azonos kromatikus polinommal rendelkező gráfok karakterizációja, valamit annak meghatározása, hogy melyik polinomok lehetnek gráfok kromatikus polinomjai.
Algoritmusok
szerkesztésPolinom idejű algoritmusok
szerkesztésAnnak meghatározása, hogy egy gráf két színnel színezhető-e, ekvivalens a gráf párosságának tesztelésével, így akár szélességi, akár mélységi kereséssel lineáris időben számítható. Általánosabban, a perfekt gráfok kromatikus száma és az ahhoz tartozó színezés szemidefinit programozással polinom időben meghatározható. A kromatikus polinom zárt alakban is előállítható sok gráftípus esetén, például erdőkre, merev körű gráfokra, körökre, kerékgráfokra és létragráfokra, ezeket így polinom időben ki lehet értékelni.
Ha a gráf síkba rajzolható, és alacsony a fafelbontásuk szélessége (vagy nem síkba rajzolható, de fafelbontásuk ismert), akkor dinamikus programozással szintén polinom időben színezhetők. Általánosan elmondható, hogy a szükséges idő a gráf méretének polinom, a fafelbontás szélességének viszont exponenciális függvénye.
Egzakt algoritmusok
szerkesztésEgy k-színezés brute-force keresése a k szín n csúcshoz való hozzárendelésének érvényességét vizsgálja. A kromatikus szám, illetve kromatikus polinom kiszámításánál ezt a módszert alkalmazzák minden értékre, ami csak a legkisebb bemeneti gráfoknál használható a gyakorlatban.
Dinamikus programozást használva, és a maximális független csúcshalmazok számának korlátját feltételezve a k-színezhetőség időben és térben eldönthető.[3] A tartalmazás és kizárás elvének, illetve Yates gyors zéta-transzformációs algoritmusának felhasználásával a k-színezhetőség [4] időben eldönthető tetszőleges k-ra. Ennél gyorsabb algoritmusok ismertek a 3- és 4-színezhetőségre, melyek ,[5] illetve [6] időben eldönthetők.
Élösszehúzás
szerkesztésEgy G gráf élösszehúzása vagy kontrakciója a G-hez egy olyan gráfot rendel, melyben az és közötti éleket elhagyjuk és a két csúcsot egy darab csúcsban egyesítjük, ami az összes, korábban -ban vagy -ben végződő él végpontja lesz. Ez a művelet fontos szerepet játszik a gráfok színezésének vizsgálatában.
A kromatikus szám (Zykov 1949) alapján kielégíti az alábbi rekurrencia-relációt:
ahol u és v nem szomszédos csúcsok, pedig az a gráf, ahol és közé egy él be van húzva. Több algoritmus is ennek a rekurziónak a kiszámításán alapszik. A számítás eredményével kapott számítási fát néha Zykov-fának nevezik. A futási idő és megválasztásától függ.
A kromatikus polinom az alábbi rekurzív formulát elégíti ki:
ahol és szomszédos csúcsok az a gráf, amit az él elhagyásával kapunk. az összes lehetséges színezését adja a gráfnak, ahol egy színt használhatunk többször is. A jó színezések száma ezen a módon két gráf színezésének összegeként áll elő: ha és különböző színűek, akkor nyugodtan vizsgálhatjuk azt a gráfot, ahol és szomszédosak, ha pedig és azonos színűek, akkor azt a gráfot vizsgáljuk, ahol az és csúcsokat egyesítettük.
Tuttét az iránti érdeklődése, hogy milyen egyéb gráftulajdonságok elégítenek ki hasonló rekurrenciákat, vezette el a kromatikus polinom kétváltozós általánosításának, a Tutte-polinomnak a felfedezéséhez.
Ezek a kifejezések adtak teret a deletion–contraction, avagy törlés-összevonás algoritmusnak, ami számos gráfszínezési algoritmus alapját képezi. A futásidő megegyezik a Fibonacci-számok rekurziójának felel meg, így a legrosszabb futási idő esetén az algoritmus polinom faktorában fut, ahol n a csúcsok, m az élek száma.[7] Az analízis javítható a bemeneti gráf feszítőfáinak számának polinom faktoráig.<[8] A gyakorlatban branch and bound („korlátozás és elágazás”) heurisztikák és az izomorfizmusok kiküszöbölése segítségével néhány rekurzív hívás kiküszöbölhető. A futásidő a csúcspár kiválasztásának stratégiáján múlik.
Mohó színezés
szerkesztésA színezés mohó algoritmusa a csúcsokat specifikus, ,…, sorrendben veszi figyelembe, és -hez azt a legkisebb elérhető színt rendeli hozzá, amit szomszédai ,…, között még nem használtak el. Ha nincs ilyen szín, akkor egy új színt rendel hozzá. A kapott színezés minősége a választott sorrendtől függ. Mindig létezik olyan sorrend, ami az optimális, azaz színt használó mohó színezéshez vezet. Másrészt a mohó színezéssel nagyon rossz eredmények is kijöhetnek. Például a két színnel színezhető, n csúcsú koronagráfok esetében a mohó színezés akár színt is felhasználhat.
Merev körű gráfok, és annak speciális esetei, az intervallumgráfok és egység-intervallumgráfok esetében a mohó algoritmussal polinom időben megtalálható az optimális színezés, a csúcsok sorrendjét a gráf perfekt eliminációs rendezésének fordítottjának választva. A perfekt rendezhető gráfok általánosítják ezt a tulajdonságot, de NP-nehéz ezen gráfok perfekt eliminációs rendezését megtalálni.
Ha a csúcsok fokszám szerint csökkenő sorrendben szerepelnek, a mohó színezés legfeljebb a gráf maximális fokszámánál 1-gyel több színt használ. Ezt a heurisztikát szokták Welsh–Powell-algoritmusnak nevezni.[9] A Brélaz által alkalmazott heurisztika a sorrendet dinamikusan választja meg, az algoritmus futása közben. Ebben a soron következő lépésnek mindig azt a csúcsot választja, aminek a szomszédai közt a legtöbb fajta szín szerepel.[10] Ezeket az algoritmusokat gyűjtőnevükön szekvenciális színező algoritmusoknak nevezik.
Adott gráf mohó színezése során (a csúcsok sorrendjének legrosszabb megválasztásával) elérhető maximális számú színt a gráf Grundy-szám-nak nevezik.
Párhuzamos és elosztott algoritmusok
szerkesztésAz elosztott algoritmusok területén a gráfszínezés szorosan kapcsolódik a szimmetriasértés problémájához. Elegendően nagy Δ maximális fokszámú gráfokon a legkorszerűbb véletlen algoritmusok gyorsabban végeznek a determinisztikus algoritmusoknál. A leggyorsabb véletlen algoritmusok a Schneider et al. által kifejlesztett multi-trials technikát („többszörös próba”) használják.[11]
Szimmetrikus gráfban determinisztikus algoritmus nem képes a jó csúcsszínezést megtalálni. Szükség van valamilyen segédinformációra a szimmetria elrontásához. Egy általános megoldás szerint minden csúcs eredetileg rendelkezik egyedi azonosítóval, például az {1, 2, ..., n} halmazból. Más megközelítésben, feltehetjük, hogy egy n-színezésből indulunk ki. A feladat a szükséges színek számának csökkentése n-ről például Δ + 1-re. Minél több felhasználható szín van, például használható fel, például Δ + 1 helyett O(Δ), annál kevesebb kommunikációs körre van szükség.[11]
A (Δ + 1)-színezés mohó algoritmusának kézenfekvő elosztott változata legrosszabb esetben Θ(n) kommunikációs kört igényel − az információnak el kell jutnia a hálózat egyik oldaláról a másikig.
A legegyszerűbb érdekes eset az n-kör. Richard Cole és Uzi Vishkin[12] megmutatja, hogy létezik olyan elosztott algoritmus, ami a felhasznált színek számát n-ről O(log n)-re csökkenti egyetlen szinkron kommunikációs lépésben. Ugyanezt a műveletet ismételgetve az n-kör 3-színezését O(log* n) kommunikációs lépésben el lehet végezni (feltéve, hogy egyedi csomóponti azonosítók vannak).
A log* művelet, avagy az iterált logaritmus (a tetráció inverz művelete) egy rendkívül lassan növekvő függvény, „szinte konstans”. Ezért Cole és Vishkin eredménye kapcsán felmerült a kérdés, hogy létezik-e konstans idejű elosztott algoritmus egy n-kör 3-színezésére. (Linial 1992) megmutatta, hogy ez nem lehetséges: bármely determinisztikus elosztott algoritmusnak Ω(log* n) kommunikációs lépésre van szüksége az n-kör n-színezésének 3-színezésre való redukálásához.
Cole és Vishkin technikáját tetszőleges, korlátos fokszámú gráfokra is alkalmazni lehet; a futási idő poly(Δ) + O(log* n).[13] A technikát Schneider et al. terjesztette ki egységkörgráfokra[14] A leggyorsabb, kis Δ értékre (Δ + 1)-színezést végző determinisztikus algoritmust Leonid Barenboim, Michael Elkin és Fabian Kuhn jegyzi.[15] Barenboim et al. algoritmusa O(Δ) + log*(n)/2 időben fut, ami n tekintetében optimális, mivel az ½ konstans faktor nem javítható Linial alsó korlátja miatt. (Panconesi & Srinivasan 1996) hálózati dekompozíciók segítségével talál Δ+1-színezést időben.
Az élszínezés elosztott modellű problémáját szintén megvizsgálták. (Panconesi & Rizzi 2001) (2Δ − 1)-színezést végzett O(Δ + log* n) időben ezzel a modellel. Az elosztott csúcsszínezés (Linial 1992)-féle alsó korlátja az elosztott élszínezési problémára is érvényes.
Decentralizált algoritmusok
szerkesztésA decentralizált algoritmusokban az üzenetküldés sem megengedett (ellentétben az elosztott algoritmusokkal, ahol a helyi üzenetküldés fontos szerepet kap). Léteznek hatékony decentralizált algoritmusok, melyek képesek egy gráf jó színezését megtalálni, ha az létezik. Ezek felteszik, hogy egy csúcs képes annak érzékelésére, ha bármelyik szomszédja vele megegyező színt használna, azaz ha egy helyi konfliktus történik. Ez egy több alkalmazásnál előforduló enyhe feltételezés, például a vezeték nélküli hálózatok kiosztásánál általában észszerű feltételezni, hogy egy bázisállomás észreveszi, hogy egy vele interferáló adó ugyanazt a csatornát használja (pl. a SINR, azaz „jel-zaj+interferencia viszony” mérésével). Ez az érzékelési képesség már elegendő ahhoz, hogy a tanuló gépeken alapuló algoritmusok 1 valószínűséggel rátaláljanak egy jó gráfszínezésre.[16]
Számítási bonyolultság
szerkesztésA gráfszínezés egy bonyolult számítási művelet. NP-teljes nehézségű annak eldöntése, hogy adott gráfnak adott k értékre létezik-e jó k-csúcsszínezése, kivéve a k ∈ {0,1,2} eseteket. NP-nehéz feladat a gráf kromatikus számának kiszámítása.[17] A 3-színezési probléma NP-teljes még 4-reguláris síkbarajzolható gráfok esetében is.[18] Mindazonáltal a k > 3 értékekre a síkbarajzolható gráfoknak mindig létezik k-színezése, a négyszín-tétel értelmében, ami polinom időben meg is található.
A legjobb ismert approximációs algoritmus a kromatikus szám O(n(log log n)2(log n)−3) faktorában számol színezést.[19] Tetszőleges ε > 0-ra a kromatikus szám n1−ε-n belüli approximációja NP-nehéz.[20]
Szintén NP-nehéz egy 3-színezhető gráf 4-színezését megtalálni,[21] vagy egy k-színezhető gráfot k(log k ) / 25 színnel kiszínezni elegendően nagy k konstansra.[22]
A kromatikus polinom együtthatóinak kiszámítása #P-nehéz. Valójában még a értékének kiszámítása bármely k racionális ponton is #P-nehéz, kivéve a k = 1 és k = 2 esetet.[23] Nem létezik FPRAS (teljesen polinom idejű randomizált approximációs séma) a kromatikus polinom kiszámítására bármely k ≥ 1,5 racionális ponton, a k = 2 esetet kivéve – hacsak nem igaz az, hogy NP = RP.[24]
Élszínezés Vizing eredményének bizonyítása meg is ad egy legfeljebb Δ+1 színt használó algoritmust. Annak eldöntése azonban, hogy az élkromatikus szám a két szóba jövő érték közül melyik, NP-teljes.[25] Approximációs algoritmusok tekintetében a Vizing-féle algoritmusból látható, hogy az élkromatikus szám 4/3-ra közelíthető, és a bonyolultsági eredmények azt mutatják, hogy semmilyen ε > 0 értékre nem létezik (4/3 − ε )-algoritmus, kivéve, ha P = NP. Ezek az approximációs algoritmusok között a legrégebbi eredmények közé tartoznak, bár egyik cikkben sem jelennek meg explicit módon.[26]
Alkalmazások
szerkesztésÜtemezés
szerkesztésA csúcsszínezés több ütemezési probléma modelljének tekinthető.[27] Legtisztább formájában feladatok adott halmazához időréseket kell rendelni, minden feladat egy időrést foglal el. A feladatok tetszőleges sorrendben végrehajthatók, de egyes feladatpárok konfliktusban lehetnek egymással, például mert ugyanazt a közös erőforrást (munkaerőt, helyiséget stb.) használják. Az ennek megfelelő gráf minden csúcsa egy-egy feladatnak felel meg, a konfliktusban lévő feladatok között húzódik él. A gráf kromatikus száma megegyezik a minimális teljes átfutási idővel, a feladatok konfliktusmentes végrehajtásának optimális idejével.
Az ütemezési probléma részletei határozzák meg a gráf szerkezetét. Ha például az egyes járatokhoz kell hozzárendelni repülőgépeket, a kapott konfliktusgráf egy intervallumgráf, aminek a színezése hatékonyan megoldható. Ha rádióállomások sávszélesség-kiosztását tekintjük, a kapott konfliktusgráf egységkörgráf, melynek színezése 3-approximálható.
Regiszterallokáció
szerkesztésA fordítóprogramok olyan számítógépes programok, melyek az egyik számítógépes nyelvről a másikra fordítanak. Az eredményül kapott kód futási idejének javítására szolgáló optimalizálási technikák egyike a regiszterallokáció, ahol a lefordított program leggyakrabban használt értékeit a processzor által gyorsan elérhető regiszterekben tárolják. Ideális esetben az értékadások és az értékekkel való műveletek is a (korlátozott számú) regiszterek valamelyikében történnek.
A tankönyvi megoldás a probléma gráfszínezésként történő modellezése.[28] A fordító ún. interferenciagráfot (interference graph) konstruál, melynek csúcsai a változók, és két csúcsot akkor köt össze él, ha a hozzájuk tartozó változókra azonos időben van szükség. Ha a gráf k színnel színezhető, akkor azokat a változókat, amikre a programnak azonos időben van szüksége, k regiszterben el lehet tárolni.
Egyéb alkalmazások
szerkesztésA gráfszínezés problémája számos gyakorlati területen felmerül, ilyenek például a mintaillesztés, sportesemények lebonyolítási rendjének meghatározása, ülésrendek, vizsgák időbeosztásának, taxik menetrendjének összeállítása, szúdoku rejtvények megoldása.[29]
Egyéb színezések
szerkesztésRamsey-elmélet
szerkesztésA „nem megfelelő színezések” egy fontos területét a Ramsey-elmélet tanulmányozza. A Ramsey-elmélet Frank Plumpton Ramsey matematikus–közgazdász harmincas években publikált eredménye által elindított igen fontos ága a kombinatorikának és a gráfelméletnek. Az elméletet összefűző filozófiát nagyon egyszerűen meg lehet fogalmazni: Ha egy struktúra hatalmas, akkor az nem kerülheti el az igen szabályos nagy részstruktúrákat.
Ennek egyik része, hogy a gráf éleihez rendelünk színeket és nincs megkötés a közös csúcsban találkozó élek színére. A Ramsey-tétel legegyszerűbb esete: a éleit tetszőlegesen megszínezve két színnel biztosan keletkezik benne egyszínű háromszög.
Egyéb színezések
szerkesztés
|
|
A színezési probléma előjeles gráfokra is értelmezhető.
Források
szerkesztés- Katona, Recski, Szabó "A számítástudomány alapjai." Typotex. Budapest, 2006.
- [1] Archiválva 2012. március 10-i dátummal a Wayback Machine-ben
- [2]
- Gráfszínezési problémák és ütemezési alkalmazásaik
- Gráfelmélet[halott link]
Irodalom
szerkesztés- Barenboim, L. & Elkin, M. (2009), "Distributed (Δ + 1)-coloring in linear (in Δ) time", Proceedings of the 41st Symposium on Theory of Computing, pp. 111–120, ISBN 978-1-60558-506-2, DOI 10.1145/1536414.1536432
- Beigel, R. & Eppstein, D. (2005), "3-coloring in time O(1.3289n)", Journal of Algorithms 54 (2)): 168–204, DOI 10.1016/j.jalgor.2004.06.008
- Björklund, A.; Husfeldt, T. & Koivisto, M. (2009), "Set partitioning via inclusion–exclusion", SIAM Journal on Computing 39 (2): 546–563, DOI 10.1137/070683933
- Brélaz, D. (1979), "New methods to color the vertices of a graph", Communications of the ACM 22 (4): 251–256, DOI 10.1145/359094.359101
- Brooks, R. L. (1941), "On colouring the nodes of a network", Proceedings of the Cambridge Philosophical Society 37 (2): 194–197, DOI 10.1017/S030500410002168X
- de Bruijn, N. G. & Erdős, P. (1951), "A colour problem for infinite graphs and a problem in the theory of relations", Nederl. Akad. Wetensch. Proc. Ser. A 54: 371–373, <http://www.math-inst.hu/~p_erdos/1951-01.pdf>. Hozzáférés ideje: 2018-04-15 (= Indag. Math. 13)
- Byskov, J.M. (2004), "Enumerating maximal independent sets with applications to graph colouring", Operations Research Letters 32 (6): 547–556, DOI 10.1016/j.orl.2004.03.002
- Chaitin, G. J. (1982), "Register allocation & spilling via graph colouring", Proc. 1982 SIGPLAN Symposium on Compiler Construction, pp. 98–105, ISBN 0-89791-074-5, DOI 10.1145/800230.806984
- Cole, R. & Vishkin, U. (1986), "Deterministic coin tossing with applications to optimal parallel list ranking", Information and Control 70 (1): 32–53, DOI 10.1016/S0019-9958(86)80023-7
- Cormen, T. H.; Leiserson, C. E. & Rivest, R. L. (1990), Introduction to Algorithms (1st ed.), The MIT Press
- Crescenzi, P. & Kann, V. (December 1998), "How to find the best approximation results — a follow-up to Garey and Johnson", ACM SIGACT News 29 (4): 90, DOI 10.1145/306198.306210
- Dailey, D. P. (1980), "Uniqueness of colorability and colorability of planar 4-regular graphs are NP-complete", Discrete Mathematics 30 (3): 289–293, DOI 10.1016/0012-365X(80)90236-8
- Duffy, K.; O'Connell, N. & Sapozhnikov, A. (2008), "Complexity analysis of a decentralised graph colouring algorithm", Information Processing Letters 107 (2): 60–63, doi:10.1016/j.ipl.2008.01.002, <http://www.hamilton.ie/ken_duffy/Downloads/cfl.pdf>
- Fawcett, B. W. (1978), "On infinite full colourings of graphs", Can. J. Math. 30: 455–457, DOI 10.4153/cjm-1978-039-8
- Fomin, F.V.; Gaspers, S. & Saurabh, S. (2007), "Improved Exact Algorithms for Counting 3- and 4-Colorings", Proc. 13th Annual International Conference, COCOON 2007, vol. 4598, Lecture Notes in Computer Science, Springer, pp. 65–74, ISBN 978-3-540-73544-1, DOI 10.1007/978-3-540-73545-8_9
- Garey, M. R. & Johnson, D. S. (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H. Freeman, ISBN 0-7167-1045-5
- Garey, M. R.; Johnson, D. S. & Stockmeyer, L. (1974), "Some simplified NP-complete problems", Proceedings of the Sixth Annual ACM Symposium on Theory of Computing, pp. 47–63, doi:10.1145/800119.803884, <http://portal.acm.org/citation.cfm?id=803884>
- Goldberg, L. A. & Jerrum, M. (July 2008), "Inapproximability of the Tutte polynomial", Information and Computation 206 (7): 908–929, DOI 10.1016/j.ic.2008.04.003
- Goldberg, A. V.; Plotkin, S. A. & Shannon, G. E. (1988), "Parallel symmetry-breaking in sparse graphs", SIAM Journal on Discrete Mathematics 1 (4): 434–446, DOI 10.1137/0401044
- Guruswami, V. & Khanna, S. (2000), "On the hardness of 4-coloring a 3-colorable graph", Proceedings of the 15th Annual IEEE Conference on Computational Complexity, pp. 188–197, ISBN 0-7695-0674-7, DOI 10.1109/CCC.2000.856749
- Halldórsson, M. M. (1993), "A still better performance guarantee for approximate graph coloring", Information Processing Letters 45: 19–23, DOI 10.1016/0020-0190(93)90246-6
- Holyer, I. (1981), "The NP-completeness of edge-coloring", SIAM Journal on Computing 10 (4): 718–720, DOI 10.1137/0210055
- Jaeger, F.; Vertigan, D. L. & Welsh, D. J. A. (1990), "On the computational complexity of the Jones and Tutte polynomials", Mathematical Proceedings of the Cambridge Philosophical Society 108: 35–53, DOI 10.1017/S0305004100068936
- Jensen, T. R. & Toft, B. (1995), Graph Coloring Problems, Wiley-Interscience, New York, ISBN 0-471-02865-7
- Khot, S. (2001), "Improved inapproximability results for MaxClique, chromatic number and approximate graph coloring", Proc. 42nd Annual Symposium on Foundations of Computer Science, pp. 600–609, ISBN 0-7695-1116-3, DOI 10.1109/SFCS.2001.959936
- Kubale, M. (2004), Graph Colorings, American Mathematical Society, ISBN 0-8218-3458-4
- Kuhn, F. (2009), "Weak graph colorings: distributed algorithms and applications", Proceedings of the 21st Symposium on Parallelism in Algorithms and Architectures, pp. 138–144, ISBN 978-1-60558-606-9, DOI 10.1145/1583991.1584032
- Lawler, E.L. (1976), "A note on the complexity of the chromatic number problem", Information Processing Letters 5 (3): 66–67, DOI 10.1016/0020-0190(76)90065-X
- Leith, D.J. & Clifford, P. (2006), "A Self-Managed Distributed Channel Selection Algorithm for WLAN", Proc. RAWNET 2006, Boston, MA, <http://www.hamilton.ie/peterc/downloads/rawnet06.pdf>. Hozzáférés ideje: 2016-03-03
- Linial, N. (1992), "Locality in distributed graph algorithms", SIAM Journal on Computing 21 (1): 193–201, DOI 10.1137/0221015
- van Lint, J. H. & Wilson, R. M. (2001), A Course in Combinatorics (2nd ed.), Cambridge University Press, ISBN 0-521-80340-3
- Marx, Dániel (2004), "Graph colouring problems and their applications in scheduling", Periodica Polytechnica, Electrical Engineering, vol. 48, pp. 11–16
- Mycielski, J. (1955), "Sur le coloriage des graphes", Colloq. Math. 3: 161–162, <http://matwbn.icm.edu.pl/ksiazki/cm/cm3/cm3119.pdf>.
- Nešetřil, Jaroslav & Ossona de Mendez, Patrice (2012), "Theorem 3.13", Sparsity: Graphs, Structures, and Algorithms, vol. 28, Algorithms and Combinatorics, Heidelberg: Springer, p. 42, ISBN 978-3-642-27874-7, DOI 10.1007/978-3-642-27875-4.
- Panconesi, Alessandro & Rizzi, Romeo (2001), "Some simple distributed algorithms for sparse networks", Distributed Computing (Berlin, New York: Springer-Verlag) 14 (2): 97–100, ISSN 0178-2770, DOI 10.1007/PL00008932
- Panconesi, A. & Srinivasan, A. (1996), "On the complexity of distributed network decomposition", Journal of Algorithms, vol. 20
- Sekine, K.; Imai, H. & Tani, S. (1995), "Computing the Tutte polynomial of a graph of moderate size", Proc. 6th International Symposium on Algorithms and Computation (ISAAC 1995), vol. 1004, Lecture Notes in Computer Science, Springer, pp. 224–233, ISBN 3-540-60573-8, DOI 10.1007/BFb0015427
- Schneider, J. (2010), "A new technique for distributed symmetry breaking", Proceedings of the Symposium on Principles of Distributed Computing
- Schneider, J. (2008), "A log-star distributed maximal independent set algorithm for growth-bounded graphs", Proceedings of the Symposium on Principles of Distributed Computing
- Welsh, D. J. A. & Powell, M. B. (1967), "An upper bound for the chromatic number of a graph and its application to timetabling problems", The Computer Journal 10 (1): 85–86, DOI 10.1093/comjnl/10.1.85
- West, D. B. (1996), Introduction to Graph Theory, Prentice-Hall, ISBN 0-13-227828-6
- Wilf, H. S. (1986), Algorithms and Complexity, Prentice–Hall
- Zuckerman, D. (2007), "Linear degree extractors and the inapproximability of Max Clique and Chromatic Number", Theory of Computing 3: 103–128, DOI 10.4086/toc.2007.v003a006
- Zykov, A. A. (1949), "О некоторых свойствах линейных комплексов", Mat. Sbornik N.S. 24 (66): 163–188, <http://mi.mathnet.ru/msb5974>. Translated into English in Amer. Math. Soc. Translation, 1952, MR0051516.
Jegyzetek
szerkesztés- ↑ (Brooks 1941)
- ↑ Erdős, Paul (1959), "Graph theory and probability", Canadian Journal of Mathematics 11: 34–38, DOI 10.4153/CJM-1959-003-9.
- ↑ (Lawler 1976)
- ↑ (Björklund, Husfeldt & Koivisto 2009)
- ↑ (Beigel & Eppstein 2005)
- ↑ (Fomin, Gaspers & Saurabh 2007)
- ↑ (Wilf 1986)
- ↑ (Sekine, Imai & Tani 1995)
- ↑ (Welsh & Powell 1967)
- ↑ (Brélaz 1979)
- ↑ a b (Schneider 2010)
- ↑ (Cole & Vishkin 1986), lásd még (Cormen, Leiserson & Rivest 1990, Section 30.5)
- ↑ (Goldberg, Plotkin & Shannon 1988)
- ↑ (Schneider 2008)
- ↑ (Barenboim & Elkin 2009); (Kuhn 2009)
- ↑ Pl. lásd (Leith & Clifford 2006) és (Duffy, O'Connell & Sapozhnikov 2008).
- ↑ (Garey, Johnson & Stockmeyer 1974); (Garey & Johnson 1979).
- ↑ (Dailey 1980)
- ↑ (Halldórsson 1993)
- ↑ (Zuckerman 2007)
- ↑ (Guruswami & Khanna 2000)
- ↑ (Khot 2001)
- ↑ (Jaeger, Vertigan & Welsh 1990)
- ↑ (Goldberg & Jerrum 2008)
- ↑ (Holyer 1981)
- ↑ (Crescenzi & Kann 1998)
- ↑ (Marx 2004)
- ↑ (Chaitin 1982)
- ↑ Lewis, R. A Guide to Graph Colouring: Algorithms and Applications. Springer International Publishers, 2015.