{{Sources|1= úvod: https://www.youtube.com/watch?v=YX40hbAHx3s}}

  • Q je konečná množina stavů (řídící jednotky)

  • ∑ je konečná pásková abeceda ** obsahuje znak λ pro prázdné políčko

  •    $δ : Q \times ∑^k -> Q \times ∑^k \times \{R, N, L\}^k  ∪ \{⊥\}$ je **přechodová fce**
    

    ** ⊥ je nedefinovaný přechod

  •    q<sub>0</sub> ∈ Q je **počáteční** stav
    
  •    F ⊆ Q je **množina přijímajících** stavů.|
    

Úplné problémy pro trídu NP (9×🎓)

{{zkazky|1=

  • Np-úplnost (2014, konzultace) - definice: třídy NP, polynom.převoditelnost, NP-těžký, NP-úplný, zmínit P =? NP, Cook-Levinova věta + důkaz

  • NP-úplné problémy (2014) - Definoval jsem nedeterministický Turingův stroj, třídu NTIME, NP-úplnost a dokázal převod obecného NTS počítajícího nějaký NP problém na KACHL (Cook-Levinova věta). Na závěr jsem zmínil, že ještě existují další NP-úplné problémy např. SAT, Batoh, Obchodní cestující atd. Žádné další převody jsem nespecifikoval. Tato odpověď byla přijata bez jediné otázky.

  • Cook-Levinova veta (2012, Koubek) - definoval jsem NP, NPC, atd., dokazal vetu kachlikovanim. Pak se me ptal co znamena pojem uplnosti obecne a naky jeho zneni nebo dusledek Cook-Levinovy vety (neco jako ze kdyz bych umel polynomialne resit NPC problem, tak uz vsechny NP problemy jdou resit polynomialne). Pak chtel co je PSPACE uplnost a nakej priklad (obecna booleovska formule). SAT ve zneni s KNF se mu uplne nelibil, prej se vetsinou definuje obecne. Kdyz mu prisedici Majerech rikal, ze jak jsem ho definoval se to u nas vetsinou dela, tak se Koubek mracil :)

  • NP-Uplne problemy (2012) - Definoval jsem jazyk, problem, NP, prevody, NP-uplnost a strucne predvedl dukaz cook levina. Zkousejiciho opet neznam, ptal se jen na to jake dalsi NP-uplne problemy, jinak byl spokojen.

  • Úplné problémy pro třídu NP, Cook-Levinova věta (2012, Čepek/Koubek/Dvořák) - Člověk by řekl, že jednoduchá otázka, ale kurevsky mi zatopila, neb jsem nebyl schopen dát do kupy přesnou definici NP a převoditelnosti pomocí TS (a Čepek 5 minut před tím jednoho kolegu vyhodil, neb neznal definici). Naštěstí mě několikrát nakopli a tak jsme nakonec došli k tomu, co to teda je NP-úplný problém. C-L větu + důkaz převodem na kachlíkování jsem uměl, což Čepka evidetně potěšilo, takže nakonec v pohodě.

  • NP, NP-úplnost, příklady (2012, Král) - Trochu jsem se zamotal do toho, jestli je třeba, aby se NTS zastavil po polynomiálním počtu kroků (v první chvíli jsem myslel, že ne a že když to bude třeba, tak že NTS = DTS, ale to je blbost - třeba to sice není, ale pokud tak tu definici dáme, tak se nic nezmění). Byl hodný.

  • NP-uplnost, Cook-Levinova veta (2011, Kucera) - definice NP, prevoditelnost, NPC, prevod na kachlikovani a na SAT

  • NP-uplnost (2011, Loebl) - Zacal som definiciou Turingovho stoja a postupne som definoval vsetko az po NP-uplnost, dokazal kachlikovani, prave ked som pisal prevod KACHL->SAT tak prisiel skusajuci, pozrel sa na to vsetko a povedal ze to staci.

  • Úplné problémy pro třídu NP + Cook Levinova věta. (2010, Hladík) - Definice (od TS až k NPÚ), Důkaz Cook Levinovy věty (KACHL + převod na SAT), vyjmenovat problémy co byly na přednášce (zadání, otázka), ukázat převod SAT na KLIKA.

  • NP-úplnost (2009, Matoušek) - Přesná formální definice - rozhodovací problém, jazyk problému, NTS pro rozhodovací problém, složitost výpočtu NTS, NP. Převoditelnost aritmetických funkcí, problémů, NP-těžkost, NP-úplnost. Příklady problémů. Vztahy P, NP, NPC (obrázek s podmnožinami, je NPC doplněk k P v NP?). Alternativní definice NP přes ověřování řešení. Jak popsat NP, NPC laikovi.

}} {{multiple image

|align = tright |direction = horizontal

| image1 = Redukce.jpg

| width1 = 331 | caption1 = Ilustrace polynomiálního převodu/redukce z jazyka B na jazyk A pomocí redukční fce f. Pro vstup x ∈ {0,1}* má otázka zda xB stejnou odpověď jako otázka zda xA. 💡 myslím že je vidět proč se mu říká někdy redukce(btw f NENÍ prostá)

| image2 = Nphard.png

| width2 = 223 | caption2 = NP-těžkost ⇐ ∀ jazyk B ∈ NP: Bmp≤^p_m<font color=red>A</font>

}} Image:800px-P%20np%20np-complete%20np-hard.svg.jpg

  • odpověď typu ano/ne - rozhodovací problém (jestli vstup patří do binární relace L ⊆ {0, 1}*)

    • vstup - instance problému

  • úloha - pro daný vstup x nalézt y co splňuje požadovanou vlastnost ( jestli oba patří do binární relace R ⊆ {0, 1}* × {0, 1}* )

Definice třídy NP

Třídy polynomiálních jazyků, relací:

  • P=iNDTIME(ni) P= \bigcup_{i\in \mathbb N}DTIME(n^i) - problémy rozhodnutelné v polynomiálním čase

  • PSPACE=iNDSPACE(ni) PSPACE=\bigcup_{i\in\mathbb N}DSPACE(n^i) - problémy rozhodnutelné v polynomiálním prostoru

Třída polynomiálně ověřitelných problémů NPNP (nedeterministicky polynomiální)

Problém A je ve třídě NP, právě když existuje polynomiální NTS M, který řeší A.

:💡 Na rozdíl od deterministického případu netrváme na tom, že výpočet musí skončit i pro nepřijímané instance. :💡 NTS M=(Q,Σ,δ,q0,F)M=(Q, \Sigma, \delta, q_0, F), kde δ:Q×ΣP(Q×Σ×{R,N,L})\delta:Q\times\Sigma\mapsto\cal P(Q\times\Sigma\times\{R, N, L\}).

  • obdobně jako DTS, ale místo přechodové funkce je zde zobrazení do množiny možných pokračování

alternativní def. pomocí certifikátů ::

L ∈ NP ⇐ ∃ polynomiální algoritmus (daný jazykem B), že polynomiálně dlouhý certifikát *y *dosvědčuje fakt xL

:: 💡 Je opět nutné uvažovat pouze polynomiálně dlouhé certifikáty, neboť složitost ověřování se měří vzhledem k délce x i certifikátu y :: 💡 obecně platí P ⊆ NP, protože pokud umíme problém řešit polynomiálně nepotřebujeme certifikát

Polynomiální převoditelnost, úplnost a jejich vlastnosti.

*B *mp≤^p_mA (jazyk B polynomiálně převoditelný/redukovatelný na *A *) pokud f: {0,1}→{0, 1} spočitatelná v polynomiálním čase a platí: xB ⇔ f(x) ∈ A

Jazyk ANP-hard (NP-těžký) ⇐ ∀ jazyk B ∈ *NP *: *B *mp≤^p_mA

Jazyk ANPC (NP-Complete, NP-úplný) ⇐ ANPA ∈ NP-hard

Cook-Levin - KACHL ∈ NPC

::

::

Pseudopolynomiální algoritmy, silná NP-úplnost (6×🎓)

|

::

:: ::

:: :: ::

Pseudopolynomiální alg. pro (slabě NP-úplný) problém ∃součtu podmnožiny

::

:: :: * :: * * *