INF210 - Datamaskinteori
Spring 2019
Contents on this web page
The course revolves around formal languages and how this connects with computing.
It covers mathematical models of computing like finite automata, pushdown automata and Turing Machines.
It also covers grammar formalisms which centers around context-free with limitations (regular) and generalisations.
The connection between automata, grammars, formal languages and limits of computational models (P, NP) are covered.
Reading Material
The curriculum consists of
all lectures, notes, handouts, exercises, and related course material.
There are many books on this topic and the student is free to choose among these.
Different books have slightly different notation, definitions and theorems, and may do proofs in different ways. Often the ordering of material also deviates, even between editions of the same book.
Some relevant books:
- Harry R. Lewis and Christos H. Papadimitriou: Elements of the theory of Computation. Prentice-Hall, 1981. ISBN 0-13-273426-5.
- Thomas A. Sudkamp: Languages and Machines - An Introduction to the Theory of Computer Science. Addison-Wesley, 1988. ISBN 0-201-15768-3.
Lecturer and course responsible: Magne Haveraaen
Teaching assistant: Jonathan Cubides
The participants are adviced to organise study groups for discussing
the topics of the course and assist each other in solving the exercises.
After some initial confusion we finally ended up with the following teaching times.
- Monday 1415 - 1600 in seminar room 405O2 ("aquarium") Høyteknologisenteret, exercise class, starting week 5
- Thursdays 0815 - 1000 in seminar room 405O2 ("aquarium") Høyteknologisenteret, lectures
- Fridays 1215 - 1400 in seminar room 405O2 ("aquarium") Høyteknologisenteret, lectures
Teaching is in the form of lectures, exercises and self studies.
The following teaching plan sums up the semester.
- Introduction, formal languages, the Chomsky hierarchy
- Regular languages (RL), regular expressions (Re), DFA (deterministic finite automata), NFA (clairvoyant finite automata), ε-NFA, *-NFA and their languages
- Theorems on the equivalence of all finite automata (they define the same class of formal languages) and the closure properties of these language (they define the regular languages)
- Re-NFA, pumping theorem for regular languages, regular grammars and equivalence with finite automata, definition of homomorphisms on strings (monoid homomorphisms) and theorems about homomorphisms and languages
- Context-free grammars (CFG) and languages (CFL), closure properties, normal forms
- More normal forms for CFG, including Chomsky and Greibach normal forms
- —
- PDA (clairvoyant 1-stack automata), ext-PDA, theorem CFL⊆L(PDA)
- Theorem L(PDA)⊆CFL
- Pumping theorem for CFL, closure properties of CFL
- —
- —
- 2-stack automata and Turing machines, decidable (recursive – R) and acceptable (recursive enumerable – RE) languages
- Easter break
- Equivalence between deterministic and clairvoyant Turing machines, P versus NP
- Universal Turing machine as an interpreter of Turing machines versus running a Turing machine, closure properties for RL CFL R RE (also mentioning conjunctive and boolean grammars), general grammars (GG) and equivalence with RE.
- Last details of proof for L(GG)=RE, summary of language classes and their relationsships, general grammars as computational devices (rewrite systems)
- —
- —
- —
- —
- Exam
The exam is Tuesday 11 June 2019.
The exercises will be provided as the course evolves,
check MittUiB.
The course is evaluated by an oral exam.
Last updated 2019-06-04 by
Magne Haveraaen