| Person in charge: | Antoni Lozano Bojados (antoni |
| Others: | (-) |
| Credits | Dept. | Type | Requirements |
|---|---|---|---|
| 9.0 (7.2 ECTS) | LSI |
|
PS
- Prerequisite for DCSFW |
| Person in charge: | Antoni Lozano Bojados (antoni |
| Others: | (-) |
Upon finishing this subject, students should have an understanding of the basic elements of Theory of Computation, including Automata and Formal Language Theory, Computability Theory, Complexity Theory and Algorithmics. Students gain the understanding and the experience needed to be able to classify problems. Problems are classified according to the existence or absence of algorithms for solving them, and, in the case of the latter, based on the possibility of finding an efficient alfgorithmic solution.
Estimated time (hours):
| T | P | L | Alt | Ext. L | Stu | A. time |
| Theory | Problems | Laboratory | Other activities | External Laboratory | Study | Additional time |
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 6,0 | 0 | 0 | 0 | 10,0 | 0 | 20,0 | |||
|
Mathematical objects: sets, relations, functions, graphs, strings.
Enumerability and diagonalization. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 6,0 | 0 | 0 | 0 | 10,0 | 0 | 20,0 | |||
|
The Turing machine.
The Church-Turing thesis. Undecidable problems. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 5,0 | 0 | 0 | 0 | 9,0 | 0 | 18,0 | |||
|
Running time.
Analysis of algorithms. Complexity classes. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 5,0 | 0 | 0 | 0 | 9,0 | 0 | 18,0 | |||
|
Class NP.
Exhaustive search. Backtracking. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 5,0 | 5,0 | 0 | 0 | 0 | 10,0 | 0 | 20,0 | |||
|
Characteristics of greedy algorithms.
Selection problems. Algorithms on graphs. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 5,0 | 0 | 0 | 0 | 8,0 | 0 | 16,0 | |||
|
Matrix multiplication, integer knapsack.
Elements of dynamic programming. Largest common subsequence. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 7,0 | 0 | 0 | 0 | 11,0 | 0 | 22,0 | |||
|
Polynomial-time reductions, properties, and examples.
NP-completeness and Satisfiability. Approximation algorithms. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 5,0 | 0 | 0 | 0 | 8,0 | 0 | 16,0 | |||
|
The naive algorithm.
String matching with finite automata. Knuth-Morris-Pratt algorithm. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 5,0 | 0 | 0 | 0 | 8,0 | 0 | 16,0 | |||
|
Context-free grammars.
Chomsky normal form. Cocke-Kasami-Younger algorithm. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 1,0 | 2,0 | 0 | 0 | 0 | 3,0 | 0 | 6,0 | |||
|
Classification of regular and context-free languages.
Sketch of complexity classes. |
||||||||||
| Total per kind | T | P | L | Alt | Ext. L | Stu | A. time | Total |
| 35,0 | 51,0 | 0 | 0 | 0 | 86,0 | 0 | 172,0 | |
| Avaluation additional hours | 8,0 | |||||||
| Total work hours for student | 180,0 | |||||||
The first half of each two-hour class covers theory and the second half is spent doing exercises. At various junctures throughout the course, students will be given assignments to do during their personal study periods. The time scale for submissions will typically cover a few days.
The subject has a continued evaluation system and a final exam. The continued evaluation consists of k tests (3 <= k <= 10) made during the semester, while the final exam contains k problems, each of which has the same weight than the corresponding test. If the grades of the tests are c_1, ..., c_k and the grades of the problems of the final exam are f_1, ..., f_k, then the global grade of the subject is
max(c_1,f_1) + ... + max(c_k,f_k).
Each test of the continued evaluation (and the corresponding problem of the final exam) evaluates one or two topics, and its weight is the sum of the weights of the topics it contains. The weights of each topic can vary between 0.5 and 1.5, and their exact values will be announced at the Racó at the beginning of the course.
The tests will be made at the classroom during the exercises hour, will take place shortly after finishing the topic (or topics) they include, and will be announced at Racó at least one day before.
Programming knowledge and data structures.
Familiarity with logico-mathematical reasoning.