Od Turingových strojů k P=NP

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

Složitost Filip Hlásek

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

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

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

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

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

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

10. Složitost a výkon

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.

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

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

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

YZTI - poznámky ke složitosti

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

12. Globální metody MI-PAA

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.

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

Úvod do informatiky. Miroslav Kolařík

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

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

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

Složitost her. Herní algoritmy. Otakar Trunda

Výpočetní složitost I

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

ALGORITMY A DATOVÉ STRUKTURY

Výpočetní složitost algoritmů

Složitost a moderní kryptografie

TGH12 - Problém za milion dolarů

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

Další NP-úplné problémy

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

NP-úplnost problému SAT

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

KMI/VCS1 Vyčíslitelnost a složitost

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

Převoditelnost problémů nezávislé množiny na problém hamiltonovského cyklu () IS HC 1/10

Pavel Erlebach. Abstrakt: Tato práce popisuje základy teorie složitosti. Jsou zde ukázány jen základní

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

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

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

Základy složitosti a vyčíslitelnosti

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

Základy složitosti a vyčíslitelnosti

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

Algoritmus pro hledání nejkratší cesty orientovaným grafem

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

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

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

Definice barevnosti grafu, základní vlastnosti. Varinaty problému barvení.

KMA/P506 Pravděpodobnost a statistika KMA/P507 Statistika na PC

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

Pravděpodobnostní algoritmy

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

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

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

2. Složitost, grafové algoritmy (zapsal Martin Koutecký)

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Úvod do informatiky. Miroslav Kolařík

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem

Přijímací zkouška - matematika

Matematika III. 4. října Vysoká škola báňská - Technická univerzita Ostrava. Matematika III

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 Σ

Úvod do problematiky

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

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

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

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

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

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

Intervalová data a výpočet některých statistik

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

ROZHODOVACÍ PROCEDURY A VERIFIKACE PAVEL SURYNEK, KTIML

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

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

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

Logika. 5. Rezoluční princip. RNDr. Luděk Cienciala, Ph. D.

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál

Základy logiky a teorie množin

Matematická analýza pro informatiky I. Limita funkce

Databáze, sítě a techniky programování X33DSP

Týden 14. Přednáška. Teoretická informatika průběh výuky v semestru 1. PSPACE, NPSPACE, PSPACE-úplnost

Výroková logika - opakování

Cvičení ke kursu Vyčíslitelnost

Vztah jazyků Chomskeho hierarchie a jazyků TS

MKI Funkce f(z) má singularitu v bodě 0. a) Stanovte oblast, ve které konverguje hlavní část Laurentova rozvoje funkce f(z) v bodě 0.

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

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

Unbounded Model Checking

Pravděpodobnost a statistika I KMA/K413

Časová a prostorová složitost algoritmů

( + ) ( ) f x x f x. x bude zmenšovat nekonečně přesný. = derivace funkce f v bodě x. nazýváme ji derivací funkce f v bodě x. - náš základní zápis

Datové struktury 2: Rozptylovací tabulky

Vyčíslitelnost a složitost HASHIM HABIBALLA - TIBOR KMEŤ Přírodovědecká fakulta OU, Ostrava Fakulta prírodných vied UKF, Nitra

Základy algoritmizace

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Kvantové algoritmy a bezpečnost. Václav Potoček

Transkript:

Složitost Od Turingových strojů k P=NP Zbyněk Konečný Zimnění 2011 12. 16.2.2011 Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 1 / 24

O čem to dnes bude? 1 Co to je složitost 2 Výpočetní modely 3 Vyčíslitelnost 4 Složitost na TS 5 Složitostní třídy Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 2 / 24

Problém, jazyk Co to je složitost rozhodovací problém: máme rozhodnout, jestli má nějaký objekt nějakou vlastnost (Je výroková formule splnitelná? Lze graf obarvit čtyřmi barvami?) výpočetní problém: máme na základě jednoho objektu najít jiný objekt (Co dosadit do formule, aby byla splněna? Jak obarvit graf?) na této přednášce budeme mluvit pouze o rozhodovacích jazykem nazýváme množinu všech kódů (binárních, nebo nad jinou konečnou abecedou) objektů, které mají nějakou vlastnost rozpoznávat jazyk = řešit rozhodovací problém instance problému = konkrétní objekt, o němž se má rozhodnout Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 3 / 24

Složitost Co to je složitost složitost algoritmu = množství zdrojů spotřebovanéné algoritmem k vyřešení problému v závislosti na velikosti instance složitost problému = množství zdrojů potřebné k vyřešení problému v závislosti na velikosti jeho instance typicky čas (počet operací) a prostor (množství pamětí) závisí na výpočetním modelu Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 4 / 24

Turingův stroj Výpočetní modely chceme počítat provedené instrukce běžný počítač: 32b / 64b, RISC/CISC... pro formální popis je lepší Turingův stroj (dále TS) má jednu proměnnou ve které je uložen stav, a nekonečně dlouhou pásku, na které je ze začátku vstup na pásku může zapisovat pouze symboly dané abecedy na začátku pásky je nepřepsatelné δ program je funkce, která symbolu na pásce a stavu přiřadí nový symbol, nový stav a posun na pásce dva speciální stavy: přijato a zamítnuto Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 5 / 24

TS a jazyky Výpočetní modely TS částečně rozpoznává jazyk L pokud nad jeho slovy skončí ve stavu přijato, pro ostatní slova se zacykĺı nebo skončí ve stavu zamítnuto TS rozpoznává jazyk L pokud nad jeho slovy skončí ve stavu přijato a nad ostatními ve stavu zamítnuto Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 6 / 24

Příklady Výpočetní modely najděte TS pro binární zápisy čísel dělitelných 7 najděte TS pro jazyk všech slov, která obsahují stejně znaků A, B a C Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 7 / 24

Výpočetní modely Alternativní definice více hlav více pásek oboustranná páska pevná abeceda δ, 0, 1, pouze jeden stav (pak je potřeba velká abeceda) Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 8 / 24

Slabší modely Výpočetní modely stroj má dvě pásky, na výstupní pásce musí hlava vždy ukazovat na poslední symbol různý od - (zásobníkový automat) stroj smí pouze číst a hlavou pohybvat pouze doprava (konečný automat) omezení na počet operací / délku popsané pásky Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 9 / 24

Další modely Výpočetní modely nedeterministické Turingovy stroje běžné počítače + programovací jazyky (C, Pascal, Java) while-programy Random Access Machine paralelní počítače kvantové počítače všechny tyto modely umí řešit stejné problémy, ale různě rychle Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 10 / 24

Vyčíslitelnost Trocha teorie množin Turingovy stroje lze očíslovat (je jich spočetně) jazyky očíslovat nelze (je jich stejně jako reálných čísel) existují jazyky, které nelze částečně rozpoznat ostatní nazýváme rekurzivně spočetné (Re) Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 11 / 24

Halting problem Vyčíslitelnost existuje program, který by dle zdrojáku určil, zda program pro daný vstup skončí? jistě lze rozpoznat částečně (simulace) předpokládejme, že halt vstup (i,x) akceptuje, pokud TS číslo i nad vstupem x skončí; jinak zamítá vyrobme TS confuse, který vstup i zamítá, pokud halt akceptuje (i,i); jinak confuse cykĺı necht e je číslo programu confuse. Pokud confuse(e) = 0, pak halt(e, e) = 0, tedy confuse(e) cykĺı. pokud confuse(e) cykĺı, pak halt(e, e) 0. To znamená, že halt(e, e) = 0, spor. Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 12 / 24

Rekurzivní jazyky Vyčíslitelnost některé jazyky (např. jazyk čísel všech TS, které necykĺı) jsou jen částečně rozpoznatelné ostatní nazýváme rekurzivní (Rec) doplněk rekurzivního jazyka je jistě rekurzivní doplněk rekurzivně spočetného L nemusí je rekurzivně spočetný, právě když je L rekurzivní Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 13 / 24

Složitost na TS Složitost na TS časová složitost TS = maximální možný počet přechodů TS (v závislosti na délce vstupu) pro nedeterministický stroj délka nejkratšího možného výpočtu časová složitost problému = časová složitost nejlepšího TS, který problém řeší uvažujeme TS se dvěma páskami, první je read only prostorová složitost TS = maximální počet poĺı druhé pásky, který je třeba popsat (v závislosti na délce vstupu) prostorová složitost problému = opět optimum při nedeterminismu opět minimum přes výpočty Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 14 / 24

Landauova notace Složitost na TS f O(g) funkce f roste nejvýše tak rychle, jako g (jejich poměr neroste do nekonečna) f o(g) funkce f roste výrazně pomaleji, než g (jejich poměr klesá do nuly) f θ(g) platí oboje výše uvedené více nž Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 15 / 24

Složitostní třídy Složitostní třídy dané konkrétní fcí f je funkce DTIME(f ), DSPACE(f ), NTIME(f ), NSPACE(f ) značí množiny problémů s časovou / prostorovou složitostí v O(f ) a to na deterministickém / nedeterministickém stroji DTIME(f ) DSPACE(f ), NTIME(f ) NSPACE(f ) DSPACE(f ) DTIME(2 f ), NSPACE(f ) NTIME(2 f ) Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 16 / 24

Savitchova věta Složitostní třídy NSPACE(f ) DSPACE(f 2 ) myšlenka: máme orientovaný graf konfigurací TS (až 2 f vrcholů), hledáme cestu rekurze, půlení intervalů Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 17 / 24

Složitostní třídy Obecné složitostní třídy P polynomiální časová složitost NP nedeterministická obdoba P PSPACE polynomiální časová složitost NPSPACE nepoužívá se (dle Savithovy věty splývá s PSPACE E, NE časová složitost v 2 O (n) EXPTIME, NEXPTIME časová složitost v 2 O (n k ) pro nějaké k EXPSPACE Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 18 / 24

P=NP Složitostní třídy jeden z Problémů milénia (odměna milion USD) In a 2002 poll of 100 researchers, 61 believed the answer to be no, 9 believed the answer is yes, and 22 were unsure; 8 believed the question may be independent of the currently accepted axioms and so impossible to prove or disprove. spousta pokusů o důkaz (poslední seriózně vypadající v létě 2010) Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 19 / 24

NP-úplné problémy Složitostní třídy problém A se polynomiálně redukuje na problém B pokud existuje turingův stroj řešící A tak, že udělá polynomiálně mnoho operací a polynomiálně mnohokrát odsimuluje stroj B nad vstupem, který má polynomiální délku vzhledem k původnímu vstupu NP-těžký problém je takový, že se na něj redukují všechny NP problémy NP-úplný problém je NP těžký NP problém problém splnitelnosti (SAT) je NP-úplný Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 20 / 24

3-SAT Složitostní třídy formule v konjunktivní normální formě, pouze 3 literály (proměnná nebo neproměnná) v každé klauzuli SAT se redukuje na 3-SAT 2-SAT je v P Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 21 / 24

Subset sum Složitostní třídy Umíme z dané množiny vybrat podmnožinu s pevně daným součtem? Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 22 / 24

Složitostní třídy Hamiltonovský cyklus Existuje v grafu cyklus který prochází každým vrcholem právě jednou. Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 23 / 24

Složitostní třídy Další možná rozšíření P ZPP algoritmus dostává náhodná data (krom vstupu), nulová pravděpodobnost chyby, průměrná doba běhu je polynomiální (pod NP) RP algoritmus dostává náhodná data (krom vstupu), v případě záporné odpovědi nulová pravděpodobnost chyby, v případě záporné omezená pravděpodobnost chyby. Průměrná doba běhu je polynomiální (pod NP) BPP algoritmus dostává náhodná data (krom vstupu), omezená pravděpodobnost chyby BQP používá kvantové výpočty, jinak totéž, co BPP Kondr (Než vám klesnou víčka 2011) Složitost 12. 16.2.2011 24 / 24