Obsah

Řešení příkladů ze zkoušek TAL

Disclaimer: Nejlíp se vždy na učím na příkladech. Takže místo biflování skript řeším příklady ze zkoušky jako přípravu na státnice. Odpovědi nejsou matematicky přesné, ale psané tak abych si je zapamatoval. — David Vávra (Destil) 2012/05/20 15:00

Složitosti

Co to znamená f(n) = O(g(n))

Existuje kladná konstanta c, kde platí že f(n) ≤ c g(n) od nějakého přirozeného čísla n.

Definice Ω(g(n)).

Existuje kladná konstanta c, kde platí že f(n) ≥ c g(n) od nějakého přirozeného čísla n.

Co platí pro f(n) = Θ(g(n))?

Existují kladné konstanty c1 a c2, kde platí že c1 g(n) ≤ f(n) ≤ c2 g(n) od nějakého přirozeného čísla n.

Mame f(n) = 2n^(log n) + (log n)^n + 10n + 5, najdete nejmensi nejjednodussi a nejkrasnejsi g(n) takove, ze f(n) = O(g(n))

g(n) = n^n

Je dána fce f(n) = n log^3 n + n^2 + ...., najdi nejjednodušší g(n) tak, aby platilo f(n) = Θ(g(n))

g(n) = n^2

Prozkoumej T(n) = 2 T(n/2) + 1. Příklad na Master Theorem.

T(n) = 3T(n/4) + n^2

Zjisti složitost, co to dělá a dokaž správnost:

Give(m,n,s)
  s = 0; i = 1;
  while i <= n
    j = 1;
    while j <= m
      s = s + j*n;
      j = j + 1;
    end;
    i = i + 1;
  end;
  Output s

O(n^2) Nevím co alg. dělá

Turingův stroj

Co je to Turingův stroj a co to znamená, když přijímá jazyk L?

Turingův stroj je teoretický model počítače. Obsahuje:

TS přijímá jazyk L, pokus se úspěšně zastaví na každém slově z jazyka.

Nadefinujte nedeterministicky Turinguv stroj.

Stejná definice jako v minulé otázce ale přechodová funkce může obsahovat více přechodů pro daný vstup a stav.

Rozdíl mezi tím, když TM nějaký jazyk přijímá a když jej rozhoduje.

Jaky je vztah mezi tridami jazyku rozpoznavanymi deterministickym a nedeterministickym Turingovym strojem?

Nedeterministický TS lze vždy převést na deterministický. Proto jazyk rozpoznávaný DTS je podmnožinout jazyka rozpoznávaného NTS.

Je dán jazyk L, jehož slova mají tvar: {0|1}* - libovolná posloupnost 0 a 1, kde ale musí být víc jedniček. Napiš TM, který rozhoduje tento jazyk. Stačí slovní popis nebo klidně i přechody. Napiš jeden netriviální stav jako přechodovou funkci.

Přechodová funkce pro úplně první stav q1 (hledání jedničky):

Vytvorte nedeterministicky Turinguv stroj, ktery prijima slova {w#w|w je {0,1}^*} (dve slova za sebou oddelene #).

Dobré vysvětlení TS, slide 17

NP

Co je to třída NP a napiš jeden rozhodovací problém, který do ní nepatří.

Rozhodovací problém leží v NP pokud existuje nedeterministický Turingův stroj, který jí vyřeší a pracuje v polynomiálním čase. Ověření správného výsledku musí být v polynomiálním čase.

Nepatří např. Existuje minimální kostra grafu menší než k?

Jaký je vztah mezi jazyky ROZHODOVANÝMI deterministickým TM a jazyky rozhodovanými nedeterministikým TM.

Rozhodování těchto jazyků je ve třídě P resp. NP.

Definovat třídu NPC

Problém je v NPC, pokud je v NP a zároveň na něj jdou polynomiálně převést všechny NP problémy.

Popiš postup pro důkaz toho, že je něco NP úplné. Popiš redukci atd. Můžeš buďto všeobecně a nebo na příkladu nějakého převodu.

Při redukci musíme dokázat, že:

Příklad převodu SAT na 3-SAT:

Vyjmenovat dvě úlohy patřící do NPC, dvě úlohy patřící no NP

NPC jsou podle definice také NP. Takže třeba:

Definuje NP-hard a uveď příklad, který není NP-complete

Problém je NP-hard, pokud existuje polynomiální redukce z NP-complete problému, ale nevíme jestli je také v NP.

Např. halting problem není NP-complete. Ptá se na to „jestli program na daný vstup doběhne“. Lze převést ze SATu pro ANO instance, ale pro NE instance je nerozhodnutelný.

Definujte PSPACE a NPSPACE

Podle Sawitchovy věty PSPACE=NPSPACE

Reknete priklad jazyka patriciho do NPSPACE

Kterýkoli NP problém, třeba obchodní cestující.

Vztah mezi P, NP, PSPACE, NPSPACE, EXP

P ⊆ NP ⊆ (PSPACE=NPSPACE) ⊆ EXP

Definujte tridu jazyku RP a ZPP

Jazyk patří do RP, pokud ho rozhoduje randomizovaný TS (TS s další náhodnou páskou) a ANO instance odhalí s pravděpodobností > 50%.

Jazyk patří do ZPP, když rozhodne jazyk randomizovaným TS pro ANO i NE instance.

Reknete priklad jazyka patriciho do RP

Rabin-Millerův test přijímá složená čísla s pravděpodobností 75% a pro žádné prvočíslo neprohlásí, že je složené.

Co jsou to rekurzivní a rekurzivně spočetné jazyky.

U <| V (redukce) a vite, ze V je rekurzivne spocetny, co muzete rict o U (nadefinujte i redukci (trojuhelnicek))

Redukce znamená že se ANO instance budou shodovat. U bude tedy také rekurzivně spočetný. Jestli se na NE instancích zacyklí nebo ne (rekurzivní jazyk) neřešíme