| Person in charge: | Guillermo Godoy Balil (ggodoy Rafel Cases Muñoz (cases |
| Others: | Dieter Wilhelm Mitsche M () Enrique Romero Merino (eromero Glyn Verden Morrill (morrill Luis Marquez Villodre (lluism M. Del Carme Alvarez Faura (alvarez |
| Credits | Dept. | Type | Requirements |
|---|---|---|---|
| 9.0 (7.2 ECTS) | LSI |
|
ADA
- Prerequisite for DIE , DCSYS MATD - Prerequisite for DIE , DCSYS |
| Person in charge: | Guillermo Godoy Balil (ggodoy Rafel Cases Muñoz (cases |
| Others: | Dieter Wilhelm Mitsche M () Enrique Romero Merino (eromero Glyn Verden Morrill (morrill Luis Marquez Villodre (lluism M. Del Carme Alvarez Faura (alvarez |
The aim of this subject is to provide a theoretical structure allowing the analysis of processes in the basis on their difficulty. Studying the relationship between generativity (grammars) and solvability (automata), motivated by their use in compilers. Students should also acquire a theoretical knowledge of the limitations of these processes (undecidible problems). Upon finishing this subject, students should be familiar with the degrees of complexity intrinsic to regular and context-free languages. They will have a number of tools for describing, recognising, and characterising these languages.
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 | |||
|
1. Introduction
2. Definition 3. Derivation trees. Ambiguity 4. Grammar verification 5. Basic operations with grammars 6. The intersection of two CFLs cannot be a CFL (Context-Free Language). |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 2,0 | 0 | 0 | 0 | 4,0 | 0 | 8,0 | |||
|
1. Introduction 2. Elimination of null checks 3. Elimination of bound checks 4. Elimination of useless symbols 5. Refined grammars 6. Chomsky"s normal form |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 0 | 0 | 0 | 8,0 | 0 | 16,0 | |||
|
1. Introduction 2. Deterministic finite automata 3. Verification of finite automata 4. Indeterminate finite automata 5. Equivalent between NFAs and DFAs 6. Finite automata with lambda transitions 7. Basic operations with automata 8. Non-regular languages |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 2,0 | 0 | 0 | 0 | 4,0 | 0 | 8,0 | |||
|
1. DFA minimisation 2. Algorithm minimisation 3. Over the minimum DFA cut-off point 4. Automata equivalences |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 0 | 0 | 0 | 8,0 | 0 | 16,0 | |||
|
1. Introduction 2. Regular expressions 3. Linear equations between languages. Arden"s lemma 4. Systems of linear equations associated with an NFA 5. Regular grammars 6. Correspondence between regular grammars and finite automata 7. Morphisms and substitutions on regular languages |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 4,0 | 0 | 0 | 0 | 6,0 | 0 | 12,0 | |||
|
1. The pumping lemma of regular languages 2. Pumping lemmas in non-contextual languages |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 2,0 | 0 | 0 | 0 | 6,0 | 0 | 12,0 | |||
|
1. Introduction 2. Deterministic stack automata 3. Non-deterministic stack automata 4. Equivalence between stack automata and non-contextual grammars 5. CFL and DCFL closure properties |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 2,0 | 0 | 0 | 0 | 4,0 | 0 | 8,0 | |||
|
1. Introduction 2. Finite two-way automata 3. Two-way stack automata - 1. 4. Relationship between the studied languages 5. Chomsky hierarchy. Type 0 grammars |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 3,0 | 0 | 0 | 0 | 6,0 | 0 | 12,0 | |||
|
1. Introduction to calculability. Undecidable problems
2. Definition of a TM. Interpretation 3. Computation. Convergence and divergence 4. Language recognised and computed by a Turing Machine (TM) 5. TM - safe halt. Calculation time 6. Recursively enumerable languages and decidable languages 7. Computable functions 8. Extensions of the basic TM |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 2,0 | 0 | 0 | 0 | 4,0 | 0 | 8,0 | |||
|
1. Basic algorithm schemes 2. TM coding 3. Interpreters and simulators. The universal Turing Machine (TM) 4. The Church-Turing thesis. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 2,0 | 0 | 0 | 0 | 4,0 | 0 | 8,0 | |||
|
1. Projection Theorem 2. Closure properties of rp/decidable languages 3. Complementarity Theorem 4. Some r.p. languages The "K" programming language 5. Undecidable languages |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 5,0 | 0 | 0 | 0 | 7,0 | 0 | 14,0 | |||
|
1. Reduction between problems 2. Properties of reductions. Examples of reductions 3. Rice"s Theorem 4. Recursively enumerable complete sets |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 3,0 | 0 | 0 | 0 | 0 | 3,0 | 0 | 6,0 | |||
|
1. The Thue Problem (Word Problem) 2. The Post Office Problem 3. Undecidable problems in non-contextual languages |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 2,0 | 0 | 0 | 0 | 0 | 2,0 | 0 | 4,0 | |||
|
1. Calculation time 2. Calculation space 3. Classes of complexity 4. Properties |
||||||||||
| Total per kind | T | P | L | Alt | Ext. L | Stu | A. time | Total |
| 41,0 | 39,0 | 0 | 0 | 0 | 80,0 | 0 | 160,0 | |
| Avaluation additional hours | 20,0 | |||||||
| Total work hours for student | 180,0 | |||||||
(-)
Assessment is based on two components:
1. A succession of tests throughout the term. P denotes the sum of all these tests. The maximum value of P will lie between 2 and 3.
2. Final exam. F denotes the grade obtained (out of 10).
The overall grade, N, is calculated as follows: N = P + F·(1 - P/10).
Ability to express problems framed in terms of logical formulae in everyday language.
Ability to manipulate logical formulae.
Fundamental algebraic concepts: monoids, groups, closures, morphisms.
Basic principles of combinatorial algebra.
Ability to fully exploit the properties of Boolean algebra.
Understand basic data structures and the fundamental principles governing algorithms.
Ability to evaluate the temporal complexity of algorithms.