heuristické algoritmy pre farbenie grafov a jeho aplikácie...
TRANSCRIPT
![Page 1: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/1.jpg)
Heuristické algoritmy pre farbenie grafov Heuristické algoritmy pre farbenie grafov a jeho aplikáciea jeho aplikácie
David ChalupaDavid ChalupaSlovenská technická univerzita v BratislaveSlovenská technická univerzita v Bratislave
Ústav aplikovanej informatiky FIIT STU
školiteľ: prof. RNDr. Jiří Pospíchal, DrSc.
![Page 2: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/2.jpg)
ObsahObsah
farbenie grafov, kompletné podgrafy a klastre škálovateľnosť greedy heuristík
– Brélazova heuristika s haldou a jej zložitosť– GCCH – greedy clique covering heuristic– adaptácia GCCH pre klastrovanie grafov
aplikácia v sociálnych sieťach „evolúcia“ pomocou iterovanej greedy
heuristiky zhodnotenie a otvorené otázky
![Page 3: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/3.jpg)
Farbenie grafov, kompletné podgrafy a Farbenie grafov, kompletné podgrafy a klastreklastre
![Page 4: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/4.jpg)
Farbenie grafovFarbenie grafov
ofarbenie grafu– priradenie f: V → C– dekompozícia do tried S = {V1,V2,...,V|C|}
• aplikácie– Sudoku, n dám– plánovanie– priraďovanie– tvorba rozvrhov– odhaľovanie komunít
![Page 5: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/5.jpg)
Farbenie a pokrytie kompletnými Farbenie a pokrytie kompletnými podgrafmipodgrafmi
farbenie grafu– pokrytie grafu nezávislými
množinami– chromatické číslo χ(G)
• clique covering– pokrytie grafu kompletnými
podgrafmi– číslo kompletného pokrytia,
napr. ψ(G)– ψ(G) = χ(G)
![Page 6: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/6.jpg)
Klastrovanie grafovKlastrovanie grafov
klastrovanie grafov– neformálne definovaná
sada problémov– klaster musí byť hustejší,
než celý graf• metódy
– hierarchické, spektrálne, náhodné prechádzky, …
– clique covering je špeciálny prípad klastrovania grafov
![Page 7: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/7.jpg)
Škálovateľnosť greedy heuristík Škálovateľnosť greedy heuristík
![Page 8: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/8.jpg)
Škálovateľnosť greedy heuristíkŠkálovateľnosť greedy heuristík
základný problém– Je možné rozkladať obrovské grafy (napr. sociálne
siete) v „rozumnom“ čase?• výsledky
– podrobná analýza Brélazovej heuristiky pre farbenie grafov
– Brélazova heuristika s binárnou haldou, dôkaz zložitosti O(|V|(max{δ,1}log |V| + ∆))
– GCCH – heuristika pre clique covering, založená na farbení a jej adaptácia pre klastrovanie grafov
![Page 9: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/9.jpg)
Brélazova heuristikaBrélazova heuristika
princíp– postupne prechádzame vrcholy– každému priradíme prvú dostupnú farbu – First Fit
• permutácia vrcholov grafu– primárne podľa saturácie – počtu už použitých
farieb medzi susedmi vrchola– sekundárne podľa stupňa – počtu susedov vrchola– klasická verzia má zložitosť O(|V|2)– priorita vrchola pri(v
j) = |V| sat(v
j) + deg(v
j) -
umožňuje používať prioritný front
![Page 10: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/10.jpg)
Brélazova heuristikaBrélazova heuristika
![Page 11: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/11.jpg)
Brélazova heuristika s haldouBrélazova heuristika s haldou
myšlienka– použitie haldy na extrakciu vrchola v každej
iterácii v čase O(log |V|)– celková zložitosť O(|V|(max{δ,1}log |V| + ∆))– ∆ � maximálny stupeň; δ � priemerný stupeň
• náčrt dôkazu– prepis kódu na formulu pre zložitosť; následne
štandardné metódy z AZA
![Page 12: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/12.jpg)
Ďalšie alternatívy Brélazovej heuristiky s Ďalšie alternatívy Brélazovej heuristiky s haldouhaldou
dalšie verzie algoritmu– a) použitie Any Fit metódy – nevyberala by sa
prvá, ale hocijaká dostupná farba– vedie k lepšej zložitosti O((|E|+|V|)log |V|)), ale
dáva trošku slabšie odhady– b) použitie háld v každom vrchole na
implementáciu First Fit– viedlo by k rovnakej zložitosti so zachovaním
kvality, ale je to ťažkopádne pamäťovo aj implementačne
![Page 13: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/13.jpg)
GCCH – Greedy Clique Covering HeuristicGCCH – Greedy Clique Covering Heuristic
GCCH– používa myšlienky z
farbenia pre clique covering
– farbu možno priradiť vrcholu vtedy, keď je spojený so všetkými vrcholmi danej farby
– možnosť „saturačného“ prístupu (ako v Brélazovej heur.)
![Page 14: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/14.jpg)
Varianty algoritmu GCCHVarianty algoritmu GCCH
GCCH– používa „saturácie“ a stupne ako metriky, priority
sú uchované v halde, zložitosť O((|E|+|V|) log |V|)– v
j je vrchol na ofarbenie; w je počet jeho aktuálne
prejdených susedov s farbou c; potom vj môžeme pridať do triedy Vc,i, keď |V
c,i| - w = 0
adaptácia GCCH pre klastrovanie grafov– stačí zmeniť podmienku pre akceptáciu farby c:
![Page 15: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/15.jpg)
SumarizáciaSumarizácia
nová horná hranica zložitosti Brélazovej heuristiky farbenia grafov– viaceré varianty s haldou – First Fit, aj Any Fit– dôkazy zložitostí jednotlivých variantov; niekedy
môžu viesť k sub-kvadratickému času– kvalita výsledkov zostáva ťažkým otvoreným
problémom heuristika GCCH pre clique covering problém a
jej adaptácia pre „klasické“ klastrovanie grafov– dokázateľná zložitosť; môže byť sub-kvadratická– význam v komplexných sieťach
![Page 16: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/16.jpg)
Aplikácia v sociálnych sieťachAplikácia v sociálnych sieťach
![Page 17: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/17.jpg)
Aplikácia v sociálnych sieťachAplikácia v sociálnych sieťach
sub-kvadratická zložitosť– v Brélazovej heuristike, aj GCCH je podmienená
tým, že graf je dostatočne riedky– prakticky pre všetky diskutované algoritmy musí
platiť, že |E| = o(|V|2), resp. že δ = o(|V|); t.j. že graf je asympoticky riedky
sociálne siete– overiť ich asympotickú riedkosť analyticky je
prakticky nemožné – jedine pre referenčný model– empirická štúdia – preliezač siete pokec.sk,
extrahované siete do 20000 vrcholov
![Page 18: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/18.jpg)
Počet hránPočet hrán
![Page 19: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/19.jpg)
Priemerný stupeňPriemerný stupeň
![Page 20: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/20.jpg)
Diferencia priemerného stupňaDiferencia priemerného stupňa
![Page 21: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/21.jpg)
Iterovaná greedy heuristika pre pokrytie Iterovaná greedy heuristika pre pokrytie kompletnými podgrafmikompletnými podgrafmi
![Page 22: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/22.jpg)
Iterovaná greedy heuristikaIterovaná greedy heuristika
dôležitá veta pre farbenie grafov– pre každý graf existuje permutácia vrcholov, ktorá
vygeneruje optimálne ofarbenie– dôkaz je konštruktívny – z optimálneho ofarbenia
vyrobíme permutáciu tak, že vrcholy s rovnakými farbami dáme vedľa seba
pre GCCH veta evidentne tiež platí– stačí v permutácii vedľa seba umiestniť vrcholy z
rovnakých kompletných podgrafov– pravdepodobne to platí aj pre klastrovanie grafov
![Page 23: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/23.jpg)
Iterovaná greedy heuristikaIterovaná greedy heuristika
IG heuristika podľa Culbersona a Lua1
– pokiaľ v danej permutácii zmeníme poradie jednotlivých nezávislých množín, tak môžeme dostať ofarbenie aj s nižším počtom farieb
– 3 rôzne „mutácie“ permutácií – náhodná, reverzná, „largest first“
– IG mala veľmi dobré výsledky vo farbení na grafoch s vnorenými nezávislými množinami
– vďaka predošlým vlastnostiam je možné IG použiť aj na pokrytie kompletnými podgrafmi
1 Joseph C. Culberson and Feng Luo. Exploring the k-colorable landscape with iterated greedy. In Dimacs Series in Discrete Mathematics and Theoretical Computer Science, pages 245–284. American Mathematical Society, 1995.
![Page 24: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/24.jpg)
Sumarizácia výsledkovSumarizácia výsledkov
Brélazova heuristika s haldou– dôkaz zložitosti O(|V|(max{δ,1}log |V| + ∆))– praktický dopad – asi 50x zrýchlenie na náhodnom
grafe s 105 vrcholmi a hustotou 10-3
GCCH– efektívna heuristika pre clique covering a jej
adaptácia aj na klastrovanie grafov aplikácia v sociálnych sieťach
– ukážka na príklade siete pokec.sk, že v soc. sieťach rastie priemerný stupeň pomalšie, než |V|
![Page 25: Heuristické algoritmy pre farbenie grafov a jeho aplikácie ...kvasnicka/Seminar_of_AI/Chalupa_DP1.pdf · Heuristické algoritmy pre farbenie grafov a jeho aplikácie David Chalupa](https://reader036.vdocuments.net/reader036/viewer/2022070804/5f036d3a7e708231d4092668/html5/thumbnails/25.jpg)
Ďalšie smerovanieĎalšie smerovanie
použitie IG heuristiky na clique covering– pripravovaný článok na konferenciu GECCO
2012/BIOMA 2012On the Behavior of Iterated Greedy Heuristic for the Clique Covering Problem on Planted Clique Landscapes
sumarizácia výsledkov o Brélazovej heuristike– (snáď časopisecký) článok
An Analysis and New Results in the Complexity of Brélaz's Graph Coloring Heuristic
aplikačný projekt v sociálnych sieťach– podaná žiadosť o grant na NTB, spolu s L.
Clementisom