Hoppa till huvudinnehållet

DD2371 Automatteori 6,0 hp

Automata are mathematical machines, that is, abstract computing devices. Their purpose is to capture, study and compare different models and views of the abstract notion of computation and its various aspects. The computational power of automata can be characterized through the classes of languages (that is, sets of strings over a finite alphabet of symbols) they can accept/recognize. Important notions in computer science like state, nondeterminism and minimization are captured in the simple model of finite automata, which recognize the class of regular languages. Automata provide the basis for the implementation of many programming languages, with parsing being a typical example for the application of pushdown automata, which recognize the more powerful class of context-free languages. Another important reason for studying automata is to capture the notion of effective computability, that is, to characterize the notion of computation as a process which can be physically implemented. This allows the important question to be posed: what problems can be decided algorithmically, and where are the limits to this? The most influential model for studying these issues is Turing machines.

Kursomgångar saknas för tidigare och kommande terminer, samt för innevarande termin.
Rubriker med innehåll från kursplan DD2371 (VT 2009–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

  • Part I. Finite Automata and Regular Languages: determinisation, regular expressions, state minimization, proving non-regularity with the pumping lemma, Myhill-Nerode relations.
  • Part II. Pushdown Automata and Context-Free Languages: context-free grammars and languages, normal forms, proving non-context-freeness with the pumping lemma, pushdown automata.
  • Part III. Turing Machines and Effective Computability: Turing machines, recursive sets, universal Turning machines, decidable and undecidable problems, reduction, other models of computability.

Lärandemål

The overall aim of the course is to provide students with a profound understanding of computation and effective computability through the abstract notion of automata and the language classes they recognize.

Along with this, the students will get acquainted with the important notions of state, nondeterminism and minimization.

After the course, the successful student will be able to perform the following constructions:

1. Determinize and minimize automata;

2. Construct an automaton for a given regular expression;

3. Construct a pushdown automaton for a given context-free language;

4. Construct a Turing machine deciding a given problem,

5. Prove whether a language is or isn't regular or context-free by using the Pumping Lemma;

6. Prove that a given context-free grammar generates a given context-free language;

7. Prove undecidability of a given problem by reducing from a known undecidable problem,

8. Apply the fundamental theorems of the course: Myhill-Nerode, Chomsky-Schützenberger, and Rice's theorems.

For passing the course, a student has to be proficient at problems of type 1-5; for the highest grade he/she has to be equally proficient at the remaining types of problems.

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet

Ingen information tillagd

Rekommenderade förkunskaper

5B1118/SF1610 Discrete Mathematics, mandatory
5B1928/SF1642 Logic, recommended

Utrustning

Ingen information tillagd

Kurslitteratur

Dexter Kozen: Automata and Computability, Springer, 1997.

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • TEN1 - Tentamen, 6,0 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Övriga krav för slutbetyg

Examination (TEN1; 6 university credits).

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Profile picture Dilian Gurov

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kurswebb

Ingen information tillagd

Ges av

CSC/Datalogi

Huvudområde

Ingen information tillagd

Utbildningsnivå

Avancerad nivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Dilian Gurov, tel: 790 8198, e-post: dilian@csc.kth.se

Övrig information

Kursen har ersatts av DD2372 Automater och språk.