tisk
Transkript
tisk
Věta o lineárním zrychlení X X Věty o hierarchii. X X 12.5.2005 UIN009 Efektivní algoritmy 1 Prostorová složitost X X Příklad: rozpoznávání palindromů Definice. k-páskový Turigův stroj (k≥1) se vstupem a výstupem je k páskový Turingův stroj splňující: Pokud δ(p,σ1,...,σk) = (q,ρ1,D1,...,ρk,Dk), pak X X Věta. Pro každý k-páskový (k ≥ 1) Turingův stroj s abecedou Σ pracující v čase f(n) existuje (k +2)-páskový Turingův stroj T´ se vstupem a výstupem, pracující v čase O(f(n)) takový, že T(x)=T´(x) pro každé x∈Σ*. 12.5.2005 UIN009 Efektivní algoritmy X 3 Věta o lineárním kompresi pro prostorovou složitost X 12.5.2005 Definice. Paměťovou náročnost výpočtu k-páskového Turingova stroje se vstupem a výstupem definujeme jako k-1 Σi=2 |wiui| , kde kn = (p,w1,u1,...,wk,uk) je poslední konfigurace výpočtu. Turingův stroj se vstupem a výstupem pracuje v paměti f(n), pokud pro každé n∈N platí: Je-li x∈Σ* slovo délky n, pak výpočet stroje T nad x má paměťovou náročnost nejvýše f(n). SPACE(f(n)) = {L ⊆ Σ* | existuje Turingův stroj T se vstupem a výstupem, pracující v paměti ≤ f(n), který rozhoduje L} 12.5.2005 X X UIN009 Efektivní algoritmy 2 UIN009 Efektivní algoritmy 4 Problém zastavení v k krocích Věta. Nechť L∈SPACE(f(n)). Pak pro libovolné ε > 0 platí L∈SPACE(ε⋅f(n)+1). 12.5.2005 UIN009 Efektivní algoritmy Třída SPACE(f(n)) – ρ1 = σ1 – Dk ≠ ← – ρ1 = b ⇒ D 1 = ← . X TIME(f(n)) = {L ⊆ Σ* | existuje Turingův stroj T, pracující v čase ≤ f(n), který rozhoduje L} Věta. Nechť L∈TIME(f(n)). Pak pro libovolné ε >0 platí L∈TIME(ε⋅f(n)+n+1). Justifikace asymptotické notace. Podobné tvrzení pro paměťovou složitost. 5 Funkce f : N → N je časově konstruovatelná, existuje-li Turingův stroj, který pro každé n∈N provede pro každý vstup délky n právě f(n) kroků. Buď f : N → N časově konstruovatelná funkce splňující f(n)≥n pro každé n∈N. Definujme problém Hf takto: Vstup: Turingův stroj T=(K,Σ,δ,s), x ∈ Σ* Výstup: Přijímá stroj T slovo x v nejvýše f(|x|) krocích? 12.5.2005 UIN009 Efektivní algoritmy 6 1 Věta o hierarchii X X X X Věta o zrychlení Lemma. (i) Hf ∈TIME(f(n)3) (ii) Hf ∉TIME(f(n/2)) Věta. TIME(f(n)) ⊂≠TIME(f(2n+1)3) pro libovolnou časově konstruovatelnou funkci f(n)≥n. Důsledek. P ⊂≠ EXP. Podobný výsledek pro paměťovou složitost. 12.5.2005 UIN009 Efektivní algoritmy X X 7 Věta (“Gap Theorem“). Pro každou vyčíslitelnou funkci ϕ(n)≥n existuje vyčíslitelná funkce f(n) taková, že TIME(ϕ(f(n))) = TIME(f(n)). Věta (o zrychlení). Pro každou vyčíslitelnou funkci ϕ(n) existuje rekurzivní jazyk L takový, že pro každý Turingův stroj T, který rozhoduje L v čase f(n), existuje Turingův stroj T’, který rozhoduje L v čase g(n), přičemž ϕ(g(n))) < f(n). 12.5.2005 UIN009 Efektivní algoritmy 8 2
Podobné dokumenty
Hladový algoritmus
Efektivní algoritmus: V každém kroku zvolím minci o
maximální denominaci, jejíž hodnota je ≤ než obnos, který
ještě zbývá rozměnit.
Dostanu tak vždy optimální řešení?
Stáhnout - KoKoS - Gymnázium Mikuláše Koperníka
n - počet prvků (v našem příkladu to byly knihy)
k – počet prvků, jejichž pořadí nás zajímá
V - celkový počet variací
Variací se využívá v úlohách, kde nám záleží na pořadí prvků.
Permutace
Permuta...