heuristick é optimalizačné procesy

14
Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1 Heuristické optimalizačné procesy Výpočtová zložitosť [email protected] http://neuron.tuke.sk/~machm Marec, 2013

Upload: aubrey-durham

Post on 03-Jan-2016

42 views

Category:

Documents


1 download

DESCRIPTION

Heuristick é optimalizačné procesy. Výpočtová zložitosť Marian.Mach @ tuke.sk http ://neuron.tuke.sk/~machm Marec , 2013. Teória výpočtovej zložitosti. veľký priestor kandidátov inštancie problému typicky aspoň exponenciálne veľký vzhľadom na veľkosť inštancie - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 1

Heuristické optimalizačné procesy

Výpočtová zložitosť

[email protected]://neuron.tuke.sk/~machm

Marec, 2013

Page 2: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 2

Teória výpočtovej zložitosti

veľký priestor kandidátov inštancie problému typicky aspoň exponenciálne veľký vzhľadom na veľkosť inštancie

SAT: 2n |S(2n)| / |S(n)| = 2n

TSP: n! / 2n |S(2n)| / |S(n)| = (2n)! / 2n! GC: kn |S(2n)| / |S(n)| = kn

otázky čas potrebný pre vyriešenie inštancie problému ako funkcia veľkosti inštancie možno prehľadávať veľký priestor efektívne?

efektívne = polynomiálny čas voči veľkosti inštancie

Page 3: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 3

Zložitosť problémov a algoritmov

typy zložitosti časová a priestorová zložitosť priemerný prípad a najhorší prípad

zložitosť algoritmu funkčná závislosť medzi veľkosťou inštancie a časom/priestorom potrebným pre vyriešenie na báze modelu formálneho stroja

zložitosť inštancie problému meraná zložitosťou najlepšieho algoritmu pre daný problém problémy sú klasifikované do zložitostných tried

Page 4: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 4

Triedy P a NP trieda P

problém riešiteľný deterministickým strojom v polynomiálnom čase

trieda NP riešiteľný nedeterministickým strojom v polynomiálnom čase

vzťah medzi P a NP P NP NP P ??

mnoho aplikačných úloh patrí do triedy NP s rastúcou veľkosťou inštancií sa rýchlo stávajú neriešiteľné

Page 5: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 5

Triedy Np-hard a Np-complete trieda NP-hard

problém je aspoň tak zložitý ako hocijaký problém v NP

problémy z NP sú naň polynomiálne redukovateľné nemusí patriť do NP (môže byť ešte zložitejší)

trieda NP-complete sú to problémy, ktoré patria do NP-hard a súčasne sú z NP

príklady SAT – NP-complete (špec. prípady sú P) TSP – NP-hard (špec. prípady sú P)

Page 6: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 6

Kombinatorické úlohy NP-complete rozhodovací problém

hľadací a rozhodovací variant sú rovnako zložité rozhodovanie zahrnuté v hľadaní iteračná fixácia zložiek a rozhodovanie o existencii riešenia

NP-hard optimalizačný problém hľadací a ohodnocovací variant sú rovnako zložité

ohodnocovanie zahrnuté v hľadaní riešenie pomocou asociovaného rozhodovacieho problému

ak optimalizačný problém je možné vyriešiť efektívne, tak vieme riešiť aj rozhodovací problém

Page 7: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 7

Porovnanie tried

NP

P

NP-hard

NP-complete

Page 8: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 8

Riešenie NP problémov veľa praktických kombinatorických problémov je v NP triede (resp. NP-hard)

nevieme takéto úlohy riešiť v praxi ? možnosti pre riešenie

vlastnosti riešenej inštancie malá rozmernosť problému príslušnosť k podtriede zložitosti P najhorší vs. priemerný prípad úloha konštánt

zmena prístupu stochastický prístup aproximačný prístup

Page 9: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 9

NP jednoduchšie ako P výpočtová zložitosť

skúma asymptotické chovanie zanedbáva konštanty

príklad algoritmus A

polynomiálny algoritmus B

exponenciálny

n

t

A

B

Page 10: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 10

Stochastický prístup

Page 11: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 11

Aproximačný prístup hľadanie suboptimálneho riešenia stupeň suboptimality

aproximačný pomer: r = q / q*

asociovaný aproximačný problém minimalizácia: r α = 1 + є (pre є > 0) maximalizácia: r α = 1 – є (pre є > 0)

príklad – TSP všeobecný – neexistuje α trojuholníková nerovnosť – α = 1.5 (1976) Euklidovský TSP – α ľubovoľné (1998)

Page 12: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 12

Aproximačné triedy α-aproximačný algoritmus

problém patrí do nejakej triedy v závislosti na kvalite existujúceho polynomiálneho aproximačného algoritmu

triedy APX nejaké α PTAS ľubovoľné α, polynomiálny voči n FPTAS ľubovoľné α, polynomiálny voči n a 1/ є

vzťahy medzi triedami FPTAS PTAS APX NP-hard rovnosti iba v prípade, ak P = NP

Page 13: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 13

Randomizované algoritmy algoritmus robí svoje rozhodnutia náhodne

hádzanie mince uniformná distribúcia pravdepodobnosti

dosahované parametre sú náhodné premenné riešenie, aproximačný pomer, doba behu

vlastnosti výkonnosť

často urýchlenie voči deterministickým schémam distribúcia nad algoritmami - reštarty

zložitosť vyjadrenia jednoduchá štruktúra algoritmu náhodné generovanie riešenia

Page 14: Heuristick é  optimalizačné procesy

Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach 14

Randomizovaný MAX-SAT

(1 – 1 / 2k)-aproximačný algoritmus vykonávaným v polynomiálnom čase

input: π (n, m, k) n – počet premenných, m – počet klauzúl, k – minimálna dĺžka klauzúl output: s є S repeat s = random-variable-assignment() w = count-satisfied-clauses( s ) until w <= m – m / 2k