PRŮBĚH PŘEDNÁŠKY VÝPOČTOVÁ SLOŽITOST (LETNÍ SEMESTR 2005/2006)

==========================  22.2.2006  ==============================

Aproximační algoritmus pro MAX-SAT. Kombinací rovnoměrného rozdělení
proměnných a rozdělení získaného řešením lineárního programování se
dosáhne aproximačního faktoru 3/4.

==========================  1.3.2006  ==============================

Definice třídy PCP.
Znění PCP věty: NP = PCP(O(log n),O(1)).
Důsledek 1. Transformace SAT na MAX-SAT, která dá buď splnitelnou formuli nebo
    formuli s m klausulemi, z nichž je splnitelných nejvýše (1-eps)m současně.
Důsledek 2. Neexistence aprox. alg. pro MAX-SAT s faktorem 1-eps.

==========================  8.3.2006  ==============================

Neaproximovatelnost problému kliky:
 - neexistuje (1-\epsilon) aprox. alg. (důkaz převodem z MAX-SAT)
 - součinový graf, velikost maximální kliky v součinovém grafu je
   součinem velikosti maximálních klik ve výchozích grafech.
 - aprox. alg. s faktorem 1/c => aprox. alg. s faktorem (1-\epsilon)
   pro libovolně malé epsilon.
 - důsledek je, že neexistuje aprox. alg. s faktorem 1/c pro žádné
   konstantní c.

Linearní Booleovské funkce:
 - Hammingovská vzdalenost \rho(f,g) = pocet x, pro které f(x) \not= g(x)
 - f,g lineární => \rho(f,g) je některá z hodnot 0, 1/2 2^n, 2^n.
 - lineární funkce g bez abs. členu splňuje g(x)+g(y)=g(x+y).
 - Obecná lineární funkce f s absolutním členem splňuje
    f(u+v1) + f(u+v2) = f(u) + f(u+v1+v2)
 - V Booleovském případě to lze nahradit
     f(u) + f(u+v1+v2) + f(u+v1) + f(u+v2) = 0   (*)
 - Model s černou skříňkou: neznáme f, ale můžeme zjistit f(u) pro
   libovolné dané u.
 - Cílem je ověřit, zda f je lineární nebo blízká lineární funkci
   ve smyslu Hammingovy vzdálenosti pomocí co možno nejméně dotazů.
 - Spolehlivé deterministické řešení neexistuje.
 - Existuje pravděpodobnostní řešení následujícího typu.
   Vygenerujeme t trojic náhodných vektorů u,v1,v2 a pro každou trojici
   zjistíme, zda splňuje (*). Pokud některá trojice nesplňuje (*),
   pak to znamená, že byl nalezen důkaz toho, že f není lineární.
   Pokud všechny splní, pak nemůžeme zaručit, že f je lineární.
   Platí ale následující.
   Pro libovolně malá kladná \delta a \alpha existuje t tak, že výše popsaný
   test splňuje:
   Pokud Hammingovská vzdálenost f od nejbližší lineární funkce je alespoň
   \delta 2^n, pak test najde důkaz nelinearity s pravděpodobností 
   alespoň (1-\alpha).

==========================  15.3.2006  ==============================

Dvě formulace věty o testu lineárních funkcí:

Věta 1.
Nechť \delta(1-\delta) < 1/6
a     \epsilon < \delta(1-\delta)(1 - \delta(1-\delta)).
Pak pro každou f platí implikace:
   Pokud neexistuje lineární h \rho(f,h) < \delta 2^n,
   pak pravděpodobnost nalezení důkazu nelinearity
   - v jednom kroku je \ge \epsilon.
   - v t krocích je \ge 1 - (1-\epsilon)^t

Věta 2.
Pro každé 0 < \delta < 1/2 a 0 < \alpha < 1 existtuje t
tak, že pro libovolné n a každou funkci f n proměnných platí:
   Pokud neexistuje lineární h \rho(f,h) < \delta 2^n,
   pak v t krocích je nalezen důkaz nelinearity 
s pravděpodobností \ge 1-\alpha.

PSPACE, zahrnuje NP, co-NP, \Sigma_k, \Pi_k.
NPSPACE = PSPACE přes s,t-souvislost grafu konfigurací.
PSPACE-úplnost. Zmínka, že KBF je PSPACE-úplný problém.

==========================  22.3.2006  ==============================

Informace o známých výsledcích o prostorové složitosti s-t souvislosti grafů.
Pro orientované O(log n), pro neorientované O(log^2 n).
KBF je PSPACE-úplný problém (zbývá převést formuli na standardní tvar).

==========================  29.3.2006  ==============================

Dokončení PSPACE-úplnosti KBF (převod formule do standardního tvaru).
Strom konečné hry a hledání vítězné strategie pomocí min-max strategie.
PSPACE-úplnost hry na grafech.

Zavedení Blumových axiomů pro složitost.
Formulace věty o zrychlení.
Plyne z ní nemožnost definovat složitost L jako složitost nejrychlejšího algoritmu
  pro L. Složitosti nejsou lineárně uspořádané. Lze pracovat pouze s odhady
  (L je nebo není prvkem DTIME(f(n))).
Připomenutí podobných jevů v nižších složitostech (násobení matic).
Věta o dírách. Zbývá konstrukce funkce s vlastností
  r \le n => pro každé |x|=n je time(M_r,x) mimo interval [f(n)+1, 2^f(n)].

==========================  5.4.2006  ==============================

Dokončení důkazu věty o dírách.
Definice funkce konstruovatelné v čase a v prostoru.
Charakterizace pomocí vyčíslení v čase O(t(n)) nebo prostoru O(s(n)).

Poznámka k odečítání časů výpočtu: TS s časem t2-t1 se udělá tak, že
se nejprve simuluje M1 rychlostí c1 a M2 rychlostí c2. Po dokončení
výpočtu M1 se výpočet M2 dokončí normální rychlostí. Pokud c2/c1 < t2/t1
a c2 = c1 + 1, je výsledný čas t1/c1 + t2 - c2*t1/c1 = t2 - t1.

==========================  12.4.2006  ==============================

Dokončení odečítání času TS.
Ukázka problému v generátoru pseudonáhodných čísel.
Sčítání i odčítání jedniček s testem na nulu lze v čase O(n).
Postačující podmínka na konstruovatelnost f pomocí složitosti
  jejího výpočtu v binární soustavě.
Algoritmy na výpočet odmocniny, logaritmu, exponenciály,
  zatím bez odhadu složitosti.
Problém funkce splňující f(f(x)) = exp(x).

==========================  19.4.2006  ==============================

Dirichletova věta o existenci racionální aproximace |x - p/q| \le 1/q^2 .
Dvě možné formulace důkazu:
1. Rozdělit interval [0,1] na n+1 stejně dlouhých uzavřených intervalů. 
   Pro úvahu nevadí, že mají společné krajní body.
   Uvažme zlomkové části {ix}, 0 \le i \le n, přičemž pro zlomkovou část {0x}
   budeme uvažovat obě možné hodnoty 0 i 1. Máme tedy n+2 zlomkových částí
   a tedy aspoň dvě z nich padnou do stejného úseku a mají tedy rozdíl
   nejvýše 1/(n+1).
2. Seřadit zlomkové části {ix} podle velikosti a sledovat jejich vzdálenosti
   na jednotkovém intervalu uzavřeném do kruhu. Máme celkem n+1 vzdáleností
   se součtem 1. Tedy aspoň jedna z nich je nejvýše 1/(n+1).
Dolní odhad chyby racionální aproximace algebraického čísla x stupně d
|x - p/q| \ge 1/(alpha q^d)
Důkaz transcendentnosti čísla 1.11000100000000000000001000000000...
(n-tá jednička na pozici n!, jinak 0).

Složitost výpočtu e^m s absolutní chybou 1/2^k. Byl použit výpočet pomocí
řady e^m = \sum_{i=0,...,infty} m^i/i! . Byl odhadnut potřebný počet členů
a potřebná přesnost výpočtu každého z nich. Výsledná časová složitost byla
polynomiální od délky výstupu a prostorová byla lineární od délky výstupu.

==========================  26.4.2006  ==============================

Věta o prostorové a časové hierarchii.
(K problému s čítačem: Neuvědomil jsem si, že už tři roky
používám definici DSPACE(s), která vyžaduje, aby se stroj
vždy zastavil. Důkaz prostorové hierarchie tedy již nevyžaduje
zařazení žádného čítače.)

==========================  3.5.2006  ==============================

Eulerova věta (zobecnění malé Fermatovy věty).
Použití Eucleidova algoritmu na nalezení inverzního prvku v Z_m.
RSA systém veřejného klíče (znám od roku 1977).
Diffie-Hellman systém distribuce tajného klíče (znám od roku 1976).
Wikipedia: RSA
Wikipedia: Diffie-Hellman

==========================  10.5.2006  ==============================

Věta: Číslo n je prvočíslo právě tehdy, když pro každé přirozené
   číslo a z intervalu [2,n-2] platí a^{n-1} = 1 mod n.
V důkazu se využije toho, že pro složené n lze zvolit a, které je s n soudělné.

Pokud chceme, aby svědků pro složené n bylo hodně, je nutné, aby jich byl
velký počet i mezi zbytkovými třídami nesoudělnými s n.
Toto nelze obecně zaručit.

Příklad: 561 je Carmichaelovo číslo.
Důkaz na základě vlastností jeho rozkladu.

Pravděpodobnostní test prvočíselnosti využívající silnější kriterium:
Nechť n-1 = q 2^k, kde q je liché.
Pak nechť x_i = a^{q 2^i} pro i = 0,...,k.

Číslo a je svědkem toho, že n je složené, pokud nastane jeden
z těchto případů:
1. x_k \not= 1
2. pro některé i = 0,...,k-1 platí současně 
   x_i \not\in {-1,1} a x_{i+1} = 1

Dokázali jsme, že pro složené číslo n existuje alespoň n/2 svědků
podle výše uvedeného kriteria.