Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Podobné dokumenty
Složitost. Teoretická informatika Tomáš Foltýnek

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Od Turingových strojů k P=NP

Třídy složitosti P a NP, NP-úplnost

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

YZTI - poznámky ke složitosti

Složitost Filip Hlásek

Definice 9.4. Nedeterministický algoritmus se v některých krocích může libovolně rozhodnout pro některé z několika možných různých pokračování.

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

NP-úplnost. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 23. května / 32

Třída PTIME a třída NPTIME. NP-úplnost.

KMI/VCS1 Vyčíslitelnost a složitost

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Problémy třídy Pa N P, převody problémů

NP-úplnost problému SAT

Složitost problémů. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 25. dubna / 23

Třída PTIME a třída NPTIME. NP-úplnost.

ALGORITMY A DATOVÉ STRUKTURY

Výpočetní složitost algoritmů

Výpočetní složitost I

10. Složitost a výkon

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Univerzální Turingův stroj a Nedeterministický Turingův stroj

Úvod do informatiky. Miroslav Kolařík

PŘÍJMENÍ a JMÉNO: Login studenta: DATUM:

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Týden 11. Přednáška. Teoretická informatika průběh výuky v semestru 1. Nejprve jsme dokončili témata zapsaná u minulé přednášky.

Další NP-úplné problémy

Fakulta informačních technologií. Teoretická informatika

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Složitost her. Herní algoritmy. Otakar Trunda

Složitost a moderní kryptografie

Z. Sawa (VŠB-TUO) Teoretická informatika 18. prosince / 67

Výroková a predikátová logika - II

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

11 VYPOČITATELNOST A VÝPOČTOVÁ SLOŽITOST

Formální jazyky a gramatiky Teorie programovacích jazyků

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Výroková a predikátová logika - II

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Digitální učební materiál

Výroková a predikátová logika - III

Poznámky k přednášce NTIN090 Úvod do složitosti a vyčíslitelnosti. Petr Kučera

Konečný automat Teorie programovacích jazyků

Poznámky k přednášce NTIN090 Úvod do složitosti a vyčíslitelnosti. Petr Kučera

Složitost a NP-úplnost

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

5.6.3 Rekursivní indexace složitostních tříd Uniformní diagonalizace Konstrukce rekursivních indexací a aplikace uniformní diagonalizace

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Matematická analýza pro informatiky I. Limita funkce

TURINGOVY STROJE. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Teoretická informatika průběh výuky v semestru 1

Vztah jazyků Chomskeho hierarchie a jazyků TS

Rekurentní rovnice, strukturální indukce

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Úvod do složitosti. Jan Konečný. 12. listopadu Jan Konečný Úvod do složitosti 12. listopadu / 27

Vzdálenost uzlů v neorientovaném grafu

Vlastnosti regulárních jazyků

Výroková a predikátová logika - IV

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

Časová složitost / Time complexity

Systém přirozené dedukce výrokové logiky

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Základy složitosti a vyčíslitelnosti

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13

NP-úplnost a další. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Základy složitosti a vyčíslitelnosti

TGH12 - Problém za milion dolarů

Turingovy stroje. Turingovy stroje 1 p.1/28

Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Usuzování za neurčitosti

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Výroková a predikátová logika - II

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Výroková a predikátová logika - XII

Složitost. Složitost p.1/46

(viztakéslidyktétopřednášce...) Poznámka. Neudělali jsme vše tak podrobně, jak je to v zápisu.

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

Popište a na příkladu ilustrujte(rychlý) algoritmus testující, zda dané dva automaty jsou izomorfní.

Výroková a predikátová logika - VII

Výroková a predikátová logika - V

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Minimalizace KA - Úvod

Úvod do informatiky. Miroslav Kolařík

Základy matematické analýzy

Úvod do kvantového počítání

Dijkstrův algoritmus

1. Algoritmy a problémy V matematice se často setkáváme s tvrzeními týkajícími se objektů, které neumíme zkonstruovat. Můžeme např.

Dynamické programování

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

Transkript:

Vztah teorie vyčíslitelnosti a teorie složitosti IB102 Automaty, gramatiky a složitost, 2. 12. 2013 1/31

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 2/31 Časová složitost algoritmu počet kroků výpočtu závisí na vstupu a výpočetním modelu jako základní model použijeme Turingův stroj zkoumáme nejhorší případ, tedy maximální počet kroků v závislosti na délce vstupu lze zkoumat i průměrný případ

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 3/31 Časová složitost deterministického Turingova stroje Definice. Necht M je úplný deterministický (jednopáskový nebo vícepáskový) Turingův stroj se vstupní abecedou Σ. Pro každé w Σ definujeme t M (w) jako počet kroků výpočtu stroje M na vstupu w. Časová složitost stroje M je pak funkce T M : N 0 N definovaná vztahem T M (n) = max{t M (w) w Σ n }.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 4/31 Příklad M = ({q 0, q 1, q acc, q rej },{0, 1},{0, 1,, },,,δ, q 0, q acc, q rej ) δ 0 1 (q 0,, R) (q 0, 0, R) (q 1, 1, R) (q acc,, ) (q rej,, ) (q 1, 1, R) (q acc,, ) q 0 q 1

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 5/31 Příklad M = ({q 0, q 1, r, s 0, s 1, q acc, q rej },{0, 1},{0, 1, X,, },,,δ, q 0, q acc, q rej ) δ 0 1 X q 0 (q 0,, R) (q 0, 0, R) (q 1, 1, R) (r,, L) q 1 (q rej,, ) (q 1, 1, R) (r,, L) r (s 0,, R) (r, 0, L) (r, 1, L) (r, X, L) s 0 (s 1, X, R) (q rej,, ) (s 1, X, R) (q acc,, ) s 1 (s 1, 0, R) (r, X, L) (s 1, X, R) (q rej,, ) 0 0 0 1 1 1...

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 6/31 Asymptotická analýza Motivace jaká složitost je lepší: 6n nebo n 2 + 5? na delších vstupech jsou výpočty obvykle delší zajímá nás chování pro n konstantní faktor neuvažujeme (výpočet lze zrychlit)

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 7/31 Asymptotická analýza Motivace Věta. Pro každý deterministický úplný TM M a pro každé m > 1 lze zkonstruovat deterministický úplný TM M tak, že L(M) = L(M ) a T M (n) = T M(n) m + n+1. Důkaz.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 8/31 O-notace Definice. Necht f, g : N 0 R + jsou funkce. Řekneme, že g je asymptotická horní závora pro f, a píšeme f O(g) nebo f = O(g), jestliže existují konstanty c, n 0 N takové, že n n 0 : f(n) cg(n). Příklad. 15n 3 + 3n 2 + 11n+7

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 9/31 Počítání s O-notací logaritmy: O(log n) sčítání: O(n 3 )+O(n) mocniny: 2 O(n)

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 10/31 Příklad TM M rozhodující {0 k 1 k k 0} lze popsat i takto: 1 Zjistí, zda vstup obsahuje nějakou 0 za 1. Pokud ano, zamítne. 2 Dokud je na pásce nějaká 0, projíždí pásku a vždy škrtne jednu 0 a jednu 1. Pokud se nepovede k nějaké 0 najít 1, zamítne. 3 Pokud po vyškrtání všech 0 zbude na pásce nějaká 1, zamítne. Jinak akceptuje.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 11/31 o-notace Definice. Necht f, g : N 0 R + jsou funkce. Řekneme, že g roste asymptoticky rychleji než f, a píšeme f o(g) nebo f = o(g), jestliže lim n f(n) g(n) = 0. Příklad. n log n = o(n 2 ) Lemma. f = o(g) = f = O(g) f = O(g) = g o(f)

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 12/31 Deterministické časové složitostní třídy problémů časová složitost problému = nejmenší časová složitost, s jakou lze daný problém rozhodnout Definice. Každá funkce f : N N definuje (deterministickou) časovou složitostní třídu problémů TIME(f(n)) = {L L je rozhodovaný nějakým deterministickým TM M s časovou složitostí T M (n) = O(f(n))}.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 13/31 Příklad L = {0 k 1 k k 0} ukázali jsme jednopáskový det. TM rozhodující L v čase O(n 2 ) existuje jednopáskový det. TM rozhodující L v čase O(n log n) neexistuje jednopáskový det. TM rozhodující L s menší složitostí existuje dvoupáskový deterministický TM rozhodující L v čase O(n), tedy L je ve třídě TIME(n)

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 14/31 Vliv výpočetního modelu na rozdíl od vyčíslitelnosti, ve složitosti na výpočetním modelu záleží rozdíl je i mezi jednopáskovým a dvoupáskovým deterministickým TM jaký model zvolit? je volba deterministického vícepáskového TM správná? rozdíly jsou u běžných sekvenčních deterministických výpočetních modelů poměrně malé např. RAM (random access machine) pracující v čase f(n) lze převést na vícepáskový deterministický TM pracující v čase O(f 3 (n) (f(n)+n) 2 ) nedeterminismus přináší výrazný rozdíl

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 15/31 Převod vícepáskového TM na jednopáskový Věta. Pro každý vícepáskový deterministický TM pracující v čase f(n) n lze sestrojit ekvivalentní jednopáskový deterministický TM pracující v čase O(f 2 (n)). Důkaz. 1 neprázdný obsah k pásek a polohy hlav zapíšeme za sebe na 1 pásku O(n) 2 simulace jednoho kroku zjistit informace pod hlavami = projít pásku, každá původní páska má max. f(n) neprázdných polí provést krok, zapsat nové symboly a posunout hlavy (případně přidat další políčka na původní pásky odsunutím obsahu dalších pásek, max. k políček) O(f(n)) O(f(n)) 3 simulujeme f(n) kroků celkem O(n)+O(f 2 (n))

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 16/31 Časová složitost nedet. Turingova stroje Definice. Necht M je úplný nedeterministický Turingův stroj se vstupní abecedou Σ. Pro každé w Σ definujeme t M (w) jako počet kroků nejdelšího výpočtu stroje M na vstupu w. Časová složitost stroje M je pak funkce T M : N 0 N definovaná vztahem T M (n) = max{t M (w) w Σ n }.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 17/31 Nedeterministické časové složitostní třídy problémů Definice. Každá funkce f : N N definuje (nedeterministickou) časovou složitostní třídu problémů NTIME(f(n)) = {L L je rozhodovaný nějakým nedeterministickým TM M s časovou složitostí T M (n) = O(f(n))}. Z definic plyne TIME(f(n)) NTIME(f(n)).

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 18/31 Převod nedeterministického TM na deterministický Věta. Pro každý nedeterministický jednopáskový TM pracující v čase f(n) n lze sestrojit ekvivalentní deterministický jednopáskový TM pracující v čase 2 O(f(n)). Důkaz. Nedet. TM M, který má z každé konfigurace max. k přechodů, simulujeme 3-páskovým deterministickým strojem, který prohledává strom výpočtů M do šířky. Pro každý uzel provedeme znovu výpočet z iniciální konfigurace. Strom výpočtů má hloubku nejvýše f(n) a tudíž má nejvýše k f(n) listů a méně než 2 k f(n) uzlů. O(k f(n) ) uzlů Simulace výpočtu do jednoho uzlu zabere nejvýše O(f(n)) kroků. 3-páskový stroj tedy pracuje v čase O(f(n) k f(n) ) = 2 O(f(n)). Převod na jednopáskový det. stroj: (2 O(f(n)) ) 2 = 2 O(2f(n)) = 2 O(f(n)).

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 19/31 Nejvýznamnější časové složitostní třídy deterministické nedeterministické P = PTIME = k N TIME(nk ) NP = k N NTIME(nk ) EXPTIME = k N TIME(2nk ) NEXPTIME = k N NTIME(2nk ) z definic a předchozí věty plyne: P NP EXPTIME NEXPTIME běžné deterministické sekvenční modely výpočtu lze mezi sebou převádět s polynomiálním nárůstem časové složitosti = definice P a EXPTIME nejsou citlivé na volbu modelu EXPTIME je obvykle složitost algoritmů řešících problém hrubou silou Cook-Karpova teze P obsahuje právě všechny prakticky řešitelné problémy.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 20/31 Vztah P a NP P? = NP asi nejznámější otevřený problém teoretické informatiky věří se, že platí P NP důsledky do počítačové bezpečnosti Clay Mathematics Institute (CMI) vypsal 1.000.000 USD za řešení

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 21/31 Příslušnost problémů v P stačí ukázat, že problém je řešitelný v polynomiálním počtu kroků a že každý krok je implementovatelný v polynomiálním čase kódování/dekódování objektů O do slov O musí být proveditelné v polynomiálním čase příklad vhodného kódování: reprezentace grafu maticí sousednosti Příklad nevhodného kódování: reprezentace sekvence číslic unárním zápisem čísla

Problém existence cesty Problém existence cesty je problém rozhodnout, zda v daném orientovaném grafu G existuje cesta z s to t. PATH = { G, s, t G je orientovaný graf obsahující cestu z s do t} Věta. PATH P. Důkaz. Postupně spočítáme uzly dosažitelné z s. 1 označ stav s 2 dokud lze označit nový stav opakuj: projdi všechny hrany v G a označ každý uzel, do kterého vede hrana z označeného uzlu 3 je-li t označeno, akceptuj; jinak zamítni Celkem O(n) kroků (n je počet stavů G), každý lze provést v polynomiálním čase. IB102 Automaty, gramatiky a složitost, 2. 12. 2013 22/31

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 23/31 Problém Hamiltonovské cesty Hamiltonovská cesta = cesta procházející každým uzlem právě jednou Problém Hamiltonovské cesty je problém rozhodnout, zda v daném orientovaném grafu G existuje Hamiltonovská cesta z s to t. HAMPATH = { G, s, t G je orientovaný graf obsahující Hamiltonovskou cestu z s do t}

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 24/31 Věta. HAMPATH NP. Důkaz. Problém Hamiltonovské cesty Hamiltonovská cesta v grafu G s n uzly má délku n 1 Hamiltonovskou cestu budeme nedeterministicky hádat 1 začni budovat cestu ze stavu s 2 (n 1)-krát opakuj: nedeterministicky vyber hranu vedoucí z posledního uzlu cesty a přidej ji na konec cesty 3 je-li t poslední uzel cesty a žádný uzel se neopakuje, akceptuj; jinak zamítni každý výpočet má O(n) polynomiálních kroků Hamiltonovská cesta existuje existuje akceptující výpočet

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 25/31 Problém složených čísel Problém složených čísel je problém rozhodnout, zda je dané číslo x složené, tedy součinem dvou čísel větších než 1. COMPOSITES = { x x = pq pro nějaká přirozená čísla p, q > 1} Věta. COMPOSITES NP. Důkaz. Zřejmý. Řešení problému lze deterministickým TM v polynomiální čase nalézt, je-li problém v P ověřit, je-li problém v NP (pokud nám to řešení někdo dodá)

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 26/31 Polynomiální verifikátor Polynomiální verifikátor pro jazyk L je deterministický TM V splňující w L existuje řetězec c takový, že V akceptuje w, c a pracující v polynomiálním čase vzhledem k w. Věta. L NP existuje polynomiální verifikátor pro L. Důkaz. = Necht N je nedeterministický TM akceptující L v polynomiálním čase. Verifikátor bude pro vstupu w, c simulovat N na vstupu w a c bude používat k deterministickému výběru z možných přechodů. = Necht V je polynomiální verifikátor pro L pracující pro vstupy w, c v čase w k. Nedeterministický stroj N nedeterministicky zvolí řetězec c délky nejvýše n k a pak simuluje V na vstupu w, c.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 27/31 Polynomiální redukce Definice. Necht A Σ a B Φ jsou jazyky. Řekneme, že A se polynomiálně redukuje na B, píšeme A p B, právě když A m B a redukční funkce f je vyčíslitelná Turingovým strojem pracujícím v polynomiálním čase. Funkci f nazveme redukcí A na B v polynomiálním čase.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 28/31 Polynomiální redukce a složitostní třídy Věta. Necht A p B. B P = A P B NP = A NP Důkaz. Necht f je redukce A na B v polynomiálním čase a M B je TM akceptující B. Stroj M A rozhodující A na vstupu w 1 spočítá f(w) 2 spustí M B na vstupu f(w) a vrátí stejný výsledek jako M B Je-li M B deterministický, pak je i M A deterministický. Krok 1 lze provést v polynomiálním čase vzhledem k w, krok 2 v polynomiálním čase vzhledem k f(w), což je polynomiální i vzhledem k w. M A tedy pracuje v polynomiálním čase.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 29/31 Polynomiální redukce a složitostní třídy Definice. Necht C je složitostní třída. Jazyk L nazveme těžký ve třídě C (C-těžký), právě když pro každý jazyk L C platí L p C. Řekneme, že L je úplný ve třídě C (C-úplný), pokud navíc L C.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 30/31 Problém splnitelnosti (SAT) Problém splnitelnosti (SAT) je problém rozhodnout, zda je daná Booleovská formule (formule poskládaná z výrokových proměnných s využitím operací, a ) splnitelná. SAT = { ϕ ϕ je splnitelná Booleovská formule} Věta. SAT je NP-úplný.

IB102 Automaty, gramatiky a složitost, 2. 12. 2013 31/31 SAT NP SAT = { ϕ ϕ je splnitelná Booleovská formule} SAT NP: