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

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í?

Více

tisk

tisk UIN009 Efektivní algoritmy

Více

Stáhnout - KoKoS - Gymnázium Mikuláše Koperníka

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

Více