heuristické algoritmy pre farbenie grafov a jeho aplikácie...
TRANSCRIPT
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.
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
Farbenie grafov, kompletné podgrafy a Farbenie grafov, kompletné podgrafy a klastreklastre
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
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)
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
Škálovateľnosť greedy heuristík Škálovateľnosť greedy heuristík
Š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
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
Brélazova heuristikaBrélazova heuristika
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
Ď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
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.)
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:
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
Aplikácia v sociálnych sieťachAplikácia v sociálnych sieťach
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
Počet hránPočet hrán
Priemerný stupeňPriemerný stupeň
Diferencia priemerného stupňaDiferencia priemerného stupňa
Iterovaná greedy heuristika pre pokrytie Iterovaná greedy heuristika pre pokrytie kompletnými podgrafmikompletnými podgrafmi
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
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.
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|
Ď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
Ďakujem za pozornosť.Ďakujem za pozornosť.
[email protected]@stuba.sk