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

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

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

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

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.

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

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.

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

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

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

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

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

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

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.

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

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

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

FEI, VŠB-TUO, Teoretická informatika( /01) zadání referátů 1

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

Složitost her. Herní algoritmy. Otakar Trunda

KMI/VCS1 Vyčíslitelnost a složitost

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

NP-úplnost problému SAT

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

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

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

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

Výpočetní složitost I

10. Složitost a výkon

Dynamické programování

Vztah jazyků Chomskeho hierarchie a jazyků TS

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

Referáty budou přiděleny v zásadě na prvním cvičení. Studenti, kteří to nestihnou, se musí urychleně přihlásit cvičícímu(třeba em).

Automaty a gramatiky. Roman Barták, KTIML. Separované gramatiky. Kontextové gramatiky. Chomského hierarchie

Příklad 1/23. Pro rostoucí spojité fukce f(x), g(x) platí f(x) Ω(g(x)). Z toho plyne, že: a) f(x) Ο(g(x)) b) f(x) Θ(g(x)) d) g(x) Ω(f(x))

Výpočetní složitost algoritmů

ALGORITMY A DATOVÉ STRUKTURY

Pozn.MinulejsmesekPSPACEnedostali,protojezdepřekryvstextemzminula.

Složitost Filip Hlásek

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

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

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

MIDTERM D. Příjmení a jméno:

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

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

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

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

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

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

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

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

Základy složitosti a vyčíslitelnosti

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

Pravděpodobnostní algoritmy

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

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

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

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

PŘIJÍMACÍ TEST z informatiky a matematiky pro navazující magisterské studium Fakulta informatiky a managementu Univerzity Hradec Králové

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

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

Základy složitosti a vyčíslitelnosti

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

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

Doba běhu daného algoritmu/programu. 1. Který fragment programu z následujících dvou proběhne rychleji?

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

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

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.

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

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

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

Binární soubory (datové, typované)

DMA Přednáška Rekurentní rovnice. takovou, že po dosazení odpovídajících členů do dané rovnice dostáváme pro všechna n n 0 + m pravdivý výrok.

1 Algoritmus. 1.1 Úvod

Pravděpodobně skoro správné. PAC učení 1

Formální jazyky a automaty Petr Šimeček

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

Další NP-úplné problémy

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

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

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

Digitální učební materiál

Obor: Informatika Únor 2006 Okruh: Základy matematiky Otázka: 1. Jméno: Bodů:...

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

3.3. EXPONENCIÁLNÍ A LOGARITMICKÁ ROVNICE A NEROVNICE

COMPLEXITY

Časová složitost / Time complexity

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

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

Tematické okruhy k magisterské státní zkoušce z volitelných předmětů

Algoritmy I, složitost

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

YZTI - poznámky ke složitosti

Dynamické programování

MATEMATIKA. 1 Základní informace k zadání zkoušky

Cvičení z Lineární algebry 1

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

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

Vyčíslitelnost a složitost

Transkript:

PŘÍJMENÍ a JMÉNO: Login studenta: DATUM: Závěrečný test z předmětu Vyčíslitelnost a složitost Doba trvání: 90 minut Max. zisk: 100 bodů Obecné pokyny: Po obdržení testu ihned do pravého horního rohu napište čitelně své příjmení a jméno, svůj login a datum. K řešení úloh používejte pomocné papíry. Požadovaný výsledek zapište odpovídajícím způsobem do odpovídajícího místa přímo na zadání testu. V případě, že se vám (mimořádně) stane, že se řešení nevejde do vyhrazeného místa, pište jej na zvláštní list u příslušné úlohy (např. s číslem [8]) pak napište výrazné ZP (tj. zvláštní papír) a výsledek na zvláštním papíru označte zřetelně číslem úlohy (v našem příkladu tedy číslem 8). (Kromě doplněného zadání a případných označených zvláštních listů nakonec odevzdáte i pomocné papíry, aby se odstranily případné pochybnosti o tom, jak jste k výsledkům dospěli.) Úlohy řešte v libovolném pořadí, rozvrhněte si dobře čas. Poznámka: Tento ilustrační test má dát hrubou představu o struktuře a obsahu (skutečného) závěrečného zkušebního testu. Test obsahuje 10 příkladů. Tomu odpovídá níže načrtnutých 10 okruhů - každý okruh bude prověřen jedním příkladem. Pro konkrétnost je zde u každého okruhu jeden z možných příslušných příkladů uveden. (Jen poznamenávám, že pořadí příkladů ve skutečném testu nemusí odpovídat zde zvolenému pořadí okruhů.) Speciálně upozorňuji, že některé příklady budou předpokládat i pochopení látky, jež byla určena pro referáty na cvičení. =================== [1] (10 bodů) Okruh: Výpočetní model RAM, časová a prostorová složitost, uniformní (jednotková) a logaritmická míra. READ STORE N LOAD =2 while: STORE temp LOAD N JGTZ body LOAD temp WRITE HALT body: SUB =1 STORE N LOAD temp MUL temp JUMP while Pro uvedený RAM M uveďte co nejlepší (horní) odhad časové složitosti T M (n) v uniformní (tj. jednotkové) míře a co nejlepší (horní) odhad prostorové složitosti S M (n) v logaritmické míře: (v jednotk. míře) T M (n) (v logaritm. míře) S M (n) 1

[2] (8 bodů) Okruh: pochopení značení O, o, Ω, ω, Θ. Nechť funkce f, g jsou definovány vztahy f(n) = 158n 2 log n + 2541n 2 + 145n g(n) = max { 0, 0.0005n 3 1578n 2 } Uveďte všechny platné vztahy typu f X(g), g X(f), kde za X lze dosadit libovolný ze symbolů O, o, Ω, ω, Θ. [3] (10 bodů) Okruh: Turingův stroj, jeho různé varianty, jejich vzájemná polynomiální simulace, simulace RAMu pomocí TS a naopak. Uveďte co nejlepší asymptotický horní odhad časové složitosti jazyka L (tj. časové složitosti problému příslušnosti slova k jazyku L), kde L = {w {a, b} w = w R } (w R označuje zrcadlový obraz slova w) přičemž za referenční model algoritmu bereme a/ standardní Turingův stroj; v tom případě L T (f(n)), kde f(n) = b/ Turingův stroj s dvěma hlavami (přechodová funkce je typu δ : (Q F ) Γ Γ Q Γ { 1, 0, 1} Γ { 1, 0, 1}; hlavy stojí při startu na první buňce vstupního slova, pak se ale mohou rozjet ); v tom případě L T (f(n)), kde f(n) = [4] (12 bodů) Okruh: Obecné metody návrhu algoritmů: prohledávání, metoda rozděl a panuj, greedy algoritmy, dynamické programování. Mějme zadánu bezkontextovou gramatiku G; uvažujme problém příslušnosti k jazyku L(G) a níže načrtnutý algoritmus ALG, který ho řeší. ALG ilustruje jistou obecnou metodu návrhu algoritmů. Kterou? (Doplňte:) ALG pro vstup: slovo a 1 a 2... a n postupně vyplňuje políčka 2

P 1,1, P 2,1, P 3,1,..., P n,1 P 1,2, P 2,2, P 3,2,..., P n 1,2 P 1,3, P 2,3, P 3,3,..., P n 2,3... P 1,n Do každého políčka přiřadí ALG některé neterminály gramatiky G. Jakou podmínkou jsou charakterizovány (tedy co splňují) neterminály, které ALG přiřadí do políčka P i,j? (Doplňte:) neterminál A je přiřazen do P i,j Uveďte asymptotický (horní) odhad časové složitosti vyplnění jednoho políčka: a také odhad časové složitosti algoritmu ALG: [5] (8 bodů) Okruh: Pojem problém, specifikace konkrétních problémů. Specifikujte problém obchodního cestujícího (ANO/NE verze) Název: TSP (problém obchodního cestujícího) (ANO/NE verze) Vstup: Otázka: Uveďte nějaký (velmi jednoduchý) vstup pro nějž je odpověď ANO: pro nějž je odpověď NE: 3

[6] (8 bodů) Okruh: Třídy složitosti problémů (T (f(n)), S(f(n))), třídy PTIME, NPTIME, jejich robustnost vůči (rozumným) výpočetním modelům. Uveďte vztahy inkluze mezi třídami složitosti S(n 2 ), T (n), S(n), T (n 2 ), jejichž platnost umíte stručně zdůvodnit (pokud možno, toto zdůvodnění také uveďte): [7] (12 bodů) Okruh: Polynomiální převeditelnost problémů. NP-obtížnost, NP-úplnost. Ukažte, že problém 3-SAT je polynomiálně převeditelný na problém ILP (integer linear programming, tj. celočíselné lineární programování). Vaším úkolem je tedy načrtnout algoritmus Alg s polynomiální časovou složitostí, jenž očekává na vstupu (doplňte, co): a pro takový vstup vydá výstup (doplňte, co je výstupem): přičemž výstup musí splňovat následující podmínku (ve vztahu ke vstupu): Stačí, když budete algoritmus ilustrovat na jednoduchém příkladu (z něhož bude zřejmé, jaký výstup Alg k zadanému vstupu vyrobí) 4

[8] (8 bodů) Okruh: Vztahy tříd PTIME, NPTIME, PSPACE, NPSPACE, EXPTIME, EXPSPACE. Příklady problémů různé obtížnosti. O kterých vztazích inkluze mezi třídami PTIME, NPTIME, PSPACE, NPSPACE víte, že platí? Uveďte příklad (ANO/NE) problému, jenž je rozhodnutelný, ale který nepatří do NPSPACE: Název: Vstup: Otázka: - [9] (12 bodů) Okruh: Rozhodnutelné a částečně rozhodnutelné problémy. Rekurzivní a rekurzivně spočetné množiny (jazyky). Postova věta. Rekurzivní a částečně rekurzivní funkce. Church Turingova teze. Univerzální Turingův stroj. 5

Univerzální Turingův stroj U očekává vstup ve tvaru Kod(M) w ; pro něj pak (krok po kroku) simuluje činnost stroje M na vstupu w. Během této simulace si pochopitelně musí neustále pamatovat aktuální stav řídicí jednotky stroje M. Jak je toto u stroje U realizováno? [10] (12 bodů) Okruh: Nerozhodnutelnost Halting problému. Převeditelnost mezi problémy. Další nerozhodnutelné problémy. Riceova věta; její aplikace. Vyznačte (pokud možno, i stručně zdůvodněte), pro které z následujících problémů plyne/neplyne 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/ Je pravda, že pro lib. vstupní slovo M realizuje jeho zdvojení? 6