|
|
|
|
Automata and Formal Languages 2018/19
|
|
|
|
|
This lecture requires basic knowledge in automata theory, e.g., obtained during the course 'Einführung in die theoretische Informatik'. A detailed description of the contents can be found in the lecture notes. Here is an outline:
Automata on finite words
- Automata classes and conversions
- Regular expressions, deterministic and nondetermistic automata
- Conversion algorithms
- Minimization and reduction
- Minimizing DFAs
- Reducing NFAs
- Boolean operations and tests
- Implementation on DFAs
- Membership, complement, union, intersection, emptiness, universality, inclusion, equality.
- Implementation on NFAs
- Membership, complement, union, intersection, emptiness, universality, inclusion, equality.
- Operations on relations
- Projection, join, post, pre.
- Operations on finite universes: decision diagrams.
- Automata and logic
- Applications: pattern-matching, verification, Presburger arithmetic
Automata on infinite words
- Automata classes and conversions
- Omega-regular expressions
- Büchi, Streett, and Rabin automata
- Boolean operations
- Union and intersection
- Complement
- Emptiness check
- Applications: verification using temporal logic