Přednáška seznamující se základy teorie algoritmů, efektivní vyčíslitelnosti a teorie složitosti. První část přednášky
je věnována základům vyčíslitelnosti: Turingovy stroje. RAM. Rekurzivní a rekurzivně spočetné jazyky a množiny.
Algoritmicky nerozhodnutelné problémy. Druhá část přednášky je věnována studiu tříd časové a prostorové
složitosti: Ekvivalence PSPACE a NPSPACE. Věty o hierarchiích. Třída NP. Polynomiální převoditelnost problémů.
Důkazy NP-úplnosti. Aproximační algoritmy a schémata.
Poslední úprava: T_KTI (28.04.2015)
This is a basic course on the theory of algorithms, computability and computational complexity. Roughly the first
half of the course is devoted to the introduction to computability theory: Turing machines. Computable functions.
Recursive and recursively enumerable languages and sets. Undecidable problems. The second half of the
course is devoted to the study of space and time complexity classes: Equivalence of PSPACE and NPSPACE.
Deterministic hierarchy theorems. Class NP. Polynomial reducibility among problems. Proofs of NP-
completeness. Approximation algorithms and approximation schemes.
Poslední úprava: T_KTI (28.04.2015)
Cíl předmětu -
Naučit základy teorie složitosti a vyčíslitelnosti.
Poslední úprava: T_KTI (23.05.2008)
To teach basics of complexity theory and theory of computation.
Poslední úprava: Kučera Petr, RNDr., Ph.D. (04.09.2014)
Podmínky zakončení předmětu -
Ke splnění předmětu je nutné získat zápočet a následně složit zkoušku. K získání zápočtu je potřeba získat požadovaný počet bodů za domácí úkoly řešené během semestru. V případě nedostatečného počtu bodů na konci semestru je možno některé z domácích úkolů nahradit řešením doplňkových domácích úkolů. Vzhledem k povaze kontroly studia předmětu nejsou náhradní termíny zápočtu přípustné. K zapsání na zkoušku je nutné mít zápočet. Zkouška je ústní, přičemž ústní části může předcházet písemná. S ohledem na situaci může zkouška proběhnout distančně.
Poslední úprava: Kučera Petr, RNDr., Ph.D. (18.09.2020)
To finish the subject it is necessary to get the credit and then to pass the exam. To get get the credit, it is necessary to acquire a given number of points for homework which are being solved during the semester. In case a student does not have enough points at the end of semester, it is possible to get some additional points for additional homework. Due to the nature of conditions for getting the credit it is not possible to have substitute dates of obtaining the credit. It is necessary to have the credit before coming to exam. Exam is oral although the oral part may be preceded with a written test. Depending on the current situation, it is possible that the exam will proceed remotely.
Poslední úprava: Kučera Petr, RNDr., Ph.D. (18.09.2020)
Garey, Johnson. Computers and intractability - a guide to the theory of NP-completeness, W.H. Freeman 1978
Arora S., Barak B.: Computational Complexity: A Modern Approach. Cambridge University Press 2009 (Draft available online).
Poslední úprava: Töpfer Pavel, doc. RNDr., CSc. (25.05.2022)
Požadavky ke zkoušce -
Zkouška sestává z písemné a ústní části. Písemná část předchází části ústní, její nesplnění znamená, že celá zkouška je hodnocena známkou nevyhověl(a) a ústní částí se již nepokračuje. Nesložení ústní části znamená, že při příštím termínu je nutno opakovat obě části zkoušky, písemnou i ústní. Známka ze zkoušky se stanoví na základě bodového hodnocení písemné i ústní části.
Písemná část bude sestávat ze tří příkladů z témat, která korespondují se sylabem přednášky a současně odpovídají tomu, co bylo procvičováno na cvičení.
Požadavky u ústní části zkoušky odpovídají sylabu předmětu v rozsahu, který byl prezentován na přednášce. Seznam možných otázek bude zveřejněn před začátkem zkouškového období na stránkách k předmětu.
Poslední úprava: Kučera Petr, RNDr., Ph.D. (08.10.2017)
The exam has two parts, the written part and the oral part. The written part precedes the oral part and in case when a student fails to pass the written part, the exam does not continue with the oral part. In case the exam is finished due to failing the oral part, it is necessary to pass both the written part and the oral part at the next exam. Grade depends on the number of points given for both parts.
The written part consists of three assignments which correspond to the lecture syllabus. These assignments are similar to the exercises which are given during the practicals.
The requirements of the oral part correspond to the lecture syllabus to extent which was presented on the lecture during the semester. A list of possible questions is published at the web pages related to the subject before the exam period starts.
Poslední úprava: Kučera Petr, RNDr., Ph.D. (08.10.2017)
Sylabus -
1. Turingovy stroje a jejich varianty. Churchova-Turingova teze
2. Halting problém a další nerozhodnutelné problémy
3. RAM a jeho ekvivalence s Turingovými stroji. Algoritmicky vyčíslitelné funkce
4. Rozhodnutelné a částečně rozhodnutelné jazyky a jejich vlastnosti
5. m-převoditelnost a m-úplné jazyky
6. Riceova věta
7. Nedeterministické Turingovy stroje, základní třídy složitosti, třídy P, NP, PSPACE, EXP
8. Savičova věta
9. Věty o deterministické prostorové a časové hierarchii
10. Polynomiální převoditelnost problémů, pojmy NP-těžkosti a NP-úplnosti