heuristické algoritmy pre farbenie grafov a jeho aplikácie...

26
Heuristické algoritmy pre farbenie grafov Heuristické algoritmy pre farbenie grafov a jeho aplikácie a jeho aplikácie David Chalupa David Chalupa Slovenská technická univerzita v Bratislave Slovenská technická univerzita v Bratislave Ústav aplikovanej informatiky FIIT STU školiteľ: prof. RNDr. Jiří Pospíchal, DrSc.

Upload: others

Post on 07-Jun-2020

1 views

Category:

Documents


0 download

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

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

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

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

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

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

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

Š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

Š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

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

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

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

Ď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

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

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

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

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

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

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

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

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

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

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

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

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

Ď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

Page 26: 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

Ďakujem za pozornosť.Ďakujem za pozornosť.

[email protected]@stuba.sk