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

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

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

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

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

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.

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

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

Složitost Filip Hlásek

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

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

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

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

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

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

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

Od Turingových strojů k P=NP

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

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

Z. Sawa (VŠB-TUO) Teoretická informatika 11. prosince / 63

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

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Rozhodnutelné a nerozhodnutelné problémy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 24. dubna / 49

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

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

Dynamické programování

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.

5 Orientované grafy, Toky v sítích

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

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

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

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

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

Modely Herbrandovské interpretace

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

Úvod do teorie her

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

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

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

c/mávnějakémpřípaděvýpočetstroje Mvícekrokůnežtisícinásobekdélkyvstupu?

Další NP-úplné problémy

Cvičení ke kursu Vyčíslitelnost

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

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

Dynamické programování UIN009 Efektivní algoritmy 1

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

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

Úvod do problematiky

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

Základy algoritmizace

Výpočetní složitost algoritmů

Dijkstrův algoritmus

Principy indukce a rekursivní algoritmy

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

NP-úplnost problému SAT

Odpřednesenou látku naleznete v kapitole 3.1 skript Abstraktní a konkrétní lineární algebra.

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

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

ALGORITMY A DATOVÉ STRUKTURY

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

Pravděpodobnostní algoritmy

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Vyčíslitelnost a složitost 1. Mgr. Viktor PAVLISKA

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

Úvod do informatiky. Miroslav Kolařík

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

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

Studijnı opora k prˇedmeˇtu m teoreticke informatiky Petr Jancˇar 22. u nora 2005

Vrcholová barevnost grafu

Úvod do informatiky. Miroslav Kolařík

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

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

Prohledávání do šířky = algoritmus vlny

10 Podgrafy, isomorfismus grafů

Vila Lanna, , 2011

TGH12 - Problém za milion dolarů

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

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

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

YZTI - poznámky ke složitosti

Základní pojmy teorie množin Vektorové prostory

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

Základy logiky a teorie množin

PŘEDNÁŠKA 2 POSLOUPNOSTI

Lineární algebra : Lineární prostor

Základy složitosti a vyčíslitelnosti

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

Matematická analýza 1

Lineární algebra : Násobení matic a inverzní matice

Základy složitosti a vyčíslitelnosti

Dynamické programování

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

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

Hammingův odhad. perfektní kódy. koule, objem koule perfektní kód. triviální, Hammingův, Golayův váhový polynom. výpočet. příklad

1 Algoritmus. 1.1 Úvod

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

Lineární algebra : Násobení matic a inverzní matice

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

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

Transkript:

VAS - Přednáška 9 Úvod ke kursu. Složitost algoritmu. Model RAM. Odhady složitosti. Metoda rozděl a panuj. Greedy algoritmy. Metoda dynamického programování. Problémy, třídy složitosti problémů, horní a dolní odhady. Turingovy stroje, vztah k dalším výpočetním modelům. Třída PTIME a třída NPTIME. NP-úplnost. NP-úplné problémy. Otázka, zda P=NP. Další třídy časové i prostorové složitosti. Church-Turingova teze. Rozhodnutelnost a částečná rozhodnutelnost problémů. Univerzální algoritmus. Některé nerozhodnutelné problémy. Riceova věta. Další témata teorie a praxe algoritmů. (Aproximační algoritmy, pravděpodobnostní algoritmy, paralelní algoritmy, distribuované algoritmy; nové výpočetní modely.) Petr Jančar (FEI VŠB-TUO) Vyčíslitelnost a složitost LS 2005/2006 1 / 5

Vstupně/výstupní vlastnosti programů Vlastnost programů (Turingových strojů) nazveme vstupně/výstupní, jestliže každé dva programy, které realizují totéž vstupně/výstupní zobrazení, buď oba vlastnost mají nebo oba vlastnost nemají. Např. z vlastností, které jsou dány následujícími otázkami a/ Zastaví se M na řetězec 001? b/ Má M více než sto stavů? c/ Má v nějakém případě výpočet stroje M více kroků než tisícinásobek délky vstupu? d/ Platí, že pro libovolné n se M na vstupech délky nejvýše n vícekrát zastaví než nezastaví? e/ Má M polynomiální časovou složitost? f/ Je pravda, že pro lib. vstupní slovo M realizuje jeho zdvojení? g/ Je pravda, že M má nejvýše sto stavů nebo více než sto stavů? jsou vstupně výstupními: a, d, f, g Vlastnost programů nazveme netriviální, jestliže existuje program, který vlastnost má, a existuje program, který ji nemá. (Např. g/ je triviální.) Petr Jančar (FEI VŠB-TUO) Vyčíslitelnost a složitost LS 2005/2006 2 / 5

Riceova věta Riceova věta (neformálněji): Jakákoli netriviální vstupně/výstupní vlastnost programů je nerozhodnutelná (tj. množina všech programů s danou vlastností je nerozhodnutelná; tedy pro žádnou takovou vlastnost V neexistuje algoritmus, který by pro zadaný program vždy rozhodl, zda má vlastnost V ). Riceova věta (formálněji): Nechť A je neprázdnou vlastní podmnožinou množiny všech algoritmicky vyčíslitelných (částečných) zobrazení typu {0, 1} {0, 1}. (A je tedy množina, která zahrnuje některá, ale ne všechna možná, vstupně/výstupní zobrazení realizovatelná algoritmy [programy].) Potom množina (kódů) Turingových strojů je nerozhodnutelná. M A = {M M realizuje zobrazení patřící do A} Petr Jančar (FEI VŠB-TUO) Vyčíslitelnost a složitost LS 2005/2006 3 / 5

Důkaz Riceovy věty Uvažujme množinu A splňující předpoklady. Nechť nikde nedefinované zobrazení : {0, 1} {0, 1} nepatří do A (opačný případ se řeší podobně). Jistě existuje M 1 realizující, tedy M 1 M A, a musí existovat i M 2 realizující nějaké zobrazení z A; tedy M 2 M A. Ukážeme, že DHP je převeditelný na (problém příslušnosti k) M A. Algoritmus převodu DHP M A k danému stroji (kódu stroje) M (tj. ke vstupu problému DHP) sestaví stroj M, který je naprogramován tak, že jeho činnost je následovná: M nejprve vpravo vedle svého vstupu (na kterém v této chvíli nezáleží) zapíše slovo Kod(M) a na něj spustí (podprogram) M; pokud tento (pod)výpočet skončí, smaže M případný zbytek po tomto výpočtu, najede na původně daný vstup a spustí na něj M 2. Je zřejmé: když M se zastaví na Kod(M), realizuje M totéž zobrazení jako M 2 a tedy patří do M A ; když M se nezastaví na Kod(M), realizuje M zobrazení, tedy totéž jako M 1, a tedy do M A nepatří. Petr Jančar (FEI VŠB-TUO) Vyčíslitelnost a složitost LS 2005/2006 4 / 5

Příklad na užití Riceovy věty Zjistěte (a zdůvodněte), pro které z následujících problémů plyne jejich nerozhodnutelnost z Riceovy věty. Instancí (tj. vstupem problému) je vždy Turingův stroj M, proto uvádíme jen otázky: a/ Zastaví se M na řetězec 001? b/ Má M více než sto stavů? c/ Má v nějakém případě výpočet stroje M více kroků než tisícinásobek délky vstupu? d/ Platí, že pro libovolné n se M na vstupech délky nejvýše n vícekrát zastaví než nezastaví? e/ Má M polynomiální časovou složitost? f/ Je pravda, že pro lib. vstupní slovo M realizuje jeho zdvojení? g/ Je pravda, že M má nejvýše sto stavů nebo více než sto stavů? Odpověď: (netriviální vstupně/výstupní vlastnosti jsou) a, d, f (Zde i c/ a e/ jsou nerozhodnutelné, neplyne to ovšem z Riceovy věty.) Petr Jančar (FEI VŠB-TUO) Vyčíslitelnost a složitost LS 2005/2006 5 / 5