INF210 - Modelling of Computing

INF210 - Datamaskinteori

Spring 2019

Contents on this web page

Course outline and curriculum

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:

Teachers

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.

Schedule for lectures and seminar groups

After some initial confusion we finally ended up with the following teaching times.

Teaching is in the form of lectures, exercises and self studies.

Semester plan

The following teaching plan sums up the semester.
  1. Introduction, formal languages, the Chomsky hierarchy
  2. Regular languages (RL), regular expressions (Re), DFA (deterministic finite automata), NFA (clairvoyant finite automata), ε-NFA, *-NFA and their languages
  3. 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)
  4. 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
  5. Context-free grammars (CFG) and languages (CFL), closure properties, normal forms
  6. More normal forms for CFG, including Chomsky and Greibach normal forms
  7. PDA (clairvoyant 1-stack automata), ext-PDA, theorem CFL⊆L(PDA)
  8. Theorem L(PDA)⊆CFL
  9. Pumping theorem for CFL, closure properties of CFL
  10. 2-stack automata and Turing machines, decidable (recursive – R) and acceptable (recursive enumerable – RE) languages
  11. Easter break
  12. Equivalence between deterministic and clairvoyant Turing machines, P versus NP
  13. 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.
  14. Last details of proof for L(GG)=RE, summary of language classes and their relationsships, general grammars as computational devices (rewrite systems)
  15. Exam
The exam is Tuesday 11 June 2019.

Exercises

The exercises will be provided as the course evolves, check MittUiB.

Exam

The course is evaluated by an oral exam.
Last updated 2019-06-04 by Magne Haveraaen