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

Post on 07-Jun-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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ť.

xchalupa@stuba.skxchalupa@stuba.sk

top related