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

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

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

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

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

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

10. Složitost a výkon

YZTI - poznámky ke složitosti

Složitost Filip Hlásek

ALGORITMY A DATOVÉ STRUKTURY

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

Od Turingových strojů k P=NP

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

KMI/VCS1 Vyčíslitelnost a složitost

Digitální učební materiál

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

Úvod do informatiky. Miroslav Kolařík

Časová složitost / Time complexity

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

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

Neurčité rovnice. In: Jan Vyšín (author): Neurčité rovnice. (Czech). Praha: Jednota československých matematiků a fyziků, pp

Určování složitosti algoritmů. Základy diskrétní matematiky, BI-ZDM

Výpočetní složitost algoritmů

Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Rekurentní rovnice, strukturální indukce

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


HASHING GENERAL Hashovací (=rozptylovací) funkce

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

COMPLEXITY


Obsah přednášky. Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41

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

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

Základy složitosti a vyčíslitelnosti

Složitosti základních operací B + stromu

Postup objednávky Microsoft Action Pack Subscription

Vztah jazyků Chomskeho hierarchie a jazyků TS

Základy složitosti a vyčíslitelnosti

Tato tematika je zpracována v Záznamy přednášek: str

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 a moderní kryptografie


Základy algoritmizace, návrh algoritmu

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

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

LINEÁRNÍ ROVNICE S ABSOLUTNÍ HODNOTOU

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

Rekurentní rovnice, strukturální indukce

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

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

AIC ČESKÁ REPUBLIKA CZECH REPUBLIC

1.3.2 Množinové operace

Složitost algoritmů. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.


Algoritmy a datové struktury

ALGORITMY. 0. krok (inicializace algoritmu): položme a 0 = a, b 0 = b. 2. krok: určíme zbytek r 1 (a 1, b 1 ) při dělení a 1

Algoritmy I, složitost

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.

SPECIAL THEORY OF RELATIVITY


Složitost her. Herní algoritmy. Otakar Trunda

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

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

Použití derivací L HOSPITALOVO PRAVIDLO POČÍTÁNÍ LIMIT. Monotónie. Konvexita. V této části budou uvedena některá použití derivací.

Uživatelská příručka. Xperia P TV Dock DK21

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

Supplier Web Uživatelská příručka. Supplier Web. Copyright Telefónica O2 Czech Republic, a.s. All rights reserved. 1/10

ŽÁDOST PRO OBČANY EVROPSKÉ UNIE A JEJICH RODINNÉ PŘÍSLUŠNÍKY / APPLICATION FOR THE EUROPEAN UNION CITIZENS AND THEIR FAMILY MEMBERS

TGH12 - Problém za milion dolarů


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.

1 Algoritmus. 1.1 Úvod

Použití derivací. V této části budou uvedena některá použití derivací. LEKCE08-PRU. Použití derivací. l Hospital

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

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

Definice funkce tangens na jednotkové kružnici :

Instalace Pokyny pro instalaci v operačním systému Windows XP / Vista / Win7 / Win8

Aktivita CLIL Chemie I.

Co víme o přirozených číslech

Digitální učební materiál

Dynamické programování


Matematická analýza III.

TGH05 - Problém za milion dolarů.

Další NP-úplné problémy


Digitální učební materiál

Úvod do problematiky

2. FUNKCE JEDNÉ PROMĚNNÉ

Základy kryptologie. Kamil Malinka Fakulta informačních technologií

SIGNÁLY A LINEÁRNÍ SYSTÉMY

15. Goniometrické funkce

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

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

Algoritmy vyhledávání a řazení. Zatím nad lineární datovou strukturou (polem)

PŘECHODNICE. Matematicky lze klotoidu odvodit z hlediska bezpečnosti jízdy vozidla pro křivku, které vozidlo vytváří po přechodnici a její tvar je:

Klasifikace: bodů výborně bodů velmi dobře bodů dobře 0-49 bodů nevyhověl. Příklad testu je na následující straně.

( + ) ( ) 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

Centrální plánování cest pro mnoho agentů Centralized Multi-agent Path Planning

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

Transkript:

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

Dosud: vyčíslitelnost = které problémy lze řešit na stroji a které ne? Od teď: složitost = které z řešitelných problémů lze řešit efektivně a které ne? Jan Konečný Úvod do složitosti 12. listopadu 2013 2 / 27

Agenda Agenda Složitost časová a paměťová Asymptotická složitost Třídy složitosti Třídy P, NP Jan Konečný Úvod do složitosti 12. listopadu 2013 3 / 27

Složitost už znáte už z předchozích kurzů Definice T TS, zastavuje pro každé slovo. Časová složitost = funkce f : N N 0, kde f(n) je maximální počet kroků při výpočtu nad jakýmkoli vstupem délky n. Paměťová složitost = funkce f : N N, kde f(n) je maximální počet políček použitých při výpočtu nad jakýmkoli vstupem délky n.? vztah mezi časovou a paměťovou složitostí? Jan Konečný Úvod do složitosti 12. listopadu 2013 4 / 27

Časová složitost TS: určíme: f(1), f(2), f(3), f(4),... Jan Konečný Úvod do složitosti 12. listopadu 2013 5 / 27

Časová složitost f(1): 0: (q 0, 0, 1) (q 1, X, 2) (q, X, 3) (2 kroky) 1: (q 0, 1, 1) (q, 1, 2) (1 krok) f(1) = 2 f(2): 00: (q 0, 00, 1) (q 1, X0, 2) (q 1, X0, 2) (q, X0, 4) (3 kroky) 01: (q 0, 01, 1) (q 1, X1, 2) (q 2, XY, 1) (q 0, XY, 2) (q 3, XY, 3) (q +, XY, 4) (5 kroků) 10: (q 0, 10, 1) (q, 10, 2) (1 krok) 11: (q 0, 11, 1) (q, 11, 2) (1 krok) f(2) = 5 Jan Konečný Úvod do složitosti 12. listopadu 2013 6 / 27

Časová složitost TS: f(n) = n2 2 + n + 1 (pro n sudé) f(n) = n2 2 + n + 1 2 (pro n liché) Jan Konečný Úvod do složitosti 12. listopadu 2013 7 / 27

Asymptotická složitost Definice f, g : N R g(n) je asymptotická horní hranice f(n), když existují c, n 0 N, t.ž. pro každé n n 0 : Notace: f(n) = O(g(n)) f(n) c g(n) Jan Konečný Úvod do složitosti 12. listopadu 2013 8 / 27

Asymptotická složitost Příklad: f 1 (n) = 5n 3 + 2n 2 + 22n + 6 f 1 (n) = O(n 3 ) pro c = 6, n 0 = 10. Ale taky: f 1 (n) = O(n 4 ) f 1 (n) = O(n 5 ) f 1 (n) = O(2 n )... Jan Konečný Úvod do složitosti 12. listopadu 2013 9 / 27

Motivační tabulka f(n) 20 40 60 80 100 1000 n 20ns 40ns 60ns 80ns 100ns 1µs n log(n) 86ns 0.2µs 0.35µs 0.5µs 0.7µs 10µs n 2 0.4µs 1.6µs 3.6µs 6.4µs 10µs 1 ms n 4 0.16ms 2.5 ms 13 ms 41 ms 0.1 s 16.8min 2 n 1 ms 16.8min 36.6let n! 77let Jan Konečný Úvod do složitosti 12. listopadu 2013 10 / 27

Motivační tabulka 2 vstup délky 100 jsme schopni zpracovat... zrychlíme stroj: f(n) n n log(n) n 2 n 4 2 n n! 1 100 100 100 100 100 100 100 10000 5362 1000 316 106 100 1000 100000 43150 3162 562 109 101 Jan Konečný Úvod do složitosti 12. listopadu 2013 11 / 27

Efektivně řešitelné = řešitelné s polynomiální časovou složitostí. Bacha! Nebrat to dogmaticky: f(n) = 2 100 n vs. f(n) = 2 n0.0001 Jan Konečný Úvod do složitosti 12. listopadu 2013 12 / 27

Třídy složitosti Definice TIME(t(n)) = {L L rozhodovaný TS v čase O(t(n))}. SPACE(s(n)) = {L L rozhodovaný TS v paměti O(s(n))}. {0 k 1 k k > 0} TIME(n 2 ) Jan Konečný Úvod do složitosti 12. listopadu 2013 13 / 27

Složitost a rožšíření modelu TS Složitost a rožšíření modelu TS? TS s oboustranně nekonečnou páskou, vícepáskový TS, nedeterministický TS. Jan Konečný Úvod do složitosti 12. listopadu 2013 14 / 27

vícepáskový TS Ovládací jednotka páska 1... páska 2 Časová: vícepáskový TS časová složitost t(n)... TS časová složitost O(t 2 (n)) Paměťová: nemění se.... Jan Konečný Úvod do složitosti 12. listopadu 2013 15 / 27

vícepáskový TS Jak se to dokáže: Ovládací jednotka páska 1 páska 2............ Jan Konečný Úvod do složitosti 12. listopadu 2013 16 / 27

NTS Složitost nedeterministického TS: Definice NTS rozhodující jazyk. Časová složitost = funkce f : N N 0, kde f(n) je maximální počet kroků použitých v jakékoli větvi jeho výpočtu při jakémkoli vstupu délky n. Paměťová složitost = funkce f : N N, kde f(n) je maximální počet políček použitých v jakékoli větvi jeho výpočtu při jakémkoli vstupu délky n. Jan Konečný Úvod do složitosti 12. listopadu 2013 17 / 27

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

NTS Časová: NTS časová složitost t(n)... TS časová složitost 2 O(t(n)). Paměťová: NTS paměťová složitost t(n)... TS časová složitost O(t 2 (n)). Jan Konečný Úvod do složitosti 12. listopadu 2013 19 / 27

NTS Definice NTIME(t(n)) = {L L rozhodovaný NTS v čase O(t(n))}. NSPACE(s(n)) = {L L rozhodovaný NTS v paměti O(s(n))}. Jan Konečný Úvod do složitosti 12. listopadu 2013 20 / 27

Třídy P a NP Definice P = {TIME(n k ) k N} NP = {NTIME(n k ) k N} Příklad: {0 k 1 k k > 0} P Jan Konečný Úvod do složitosti 12. listopadu 2013 21 / 27

Definice Verifikátor pro jazyk A je TS V, t.ž.. A = {w [w, c] V pro nějaké c Σ Říkáme, že c je certifikát; V verifikuje A. Pokud V pracuje v čase t, říkáme, že A je verifikovaný v čase t (s tím, že se uvažuje jen délka slova w při určování složitosti) Definice Jazyky verifikované v polynomiálním čase = NP. Jan Konečný Úvod do složitosti 12. listopadu 2013 22 / 27

P NP? P NP P = NP Jan Konečný Úvod do složitosti 12. listopadu 2013 23 / 27

Pikantnost: P /NP Policy The JACM frequently receives submissions purporting to solve a long-standing open problem in complexity theory, such as the P/NP problem. Such submissions tax the voluntary editorial and peer-reviewing resources used by the JACM, by requiring the review process to identify the errors in them. The JACM remains open to the possibility of eventual resolution of P/NP and related questions, and continues to welcome submissions on the subject. However, to mitigate the burden of repeated resubmissions of incremental corrections of errors identified during editorial review, the JACM has adopted the following policy: No author may submit more than one paper on the P/NP or related long-standing questions in complexity theory in any 24 month period, except by invitation of the Editor-in-Chief. This applies to resubmissions of previously rejected manuscripts. Jan Konečný Úvod do složitosti 12. listopadu 2013 24 / 27

Co nás teda čeká příště? Problémy, které jsou P, Problémy, které jsou NP, Vztah P a NP, NP-úplné problémy Jan Konečný Úvod do složitosti 12. listopadu 2013 25 / 27

Pojmy k zapamatování: Časová a paměťová složitost TS, časová a paměťová složitost NTS, asymptotická složitost, O-notace, třídy složitosti, třída P, třída NP, třída P-SPACE, třída NP-SPACE. Jan Konečný Úvod do složitosti 12. listopadu 2013 26 / 27

1 Ukažte, že P je uzavřená vzhledem k: obrácení, sjednocení, konkatenaci, uzávěru, doplňku. 2 Ukažte, že NP je uzavřená vzhledem k: obrácení, sjednocení, konkatenaci, uzávěru. Jan Konečný Úvod do složitosti 12. listopadu 2013 27 / 27