Automata Theory
In the lecture about theoretical computer science you have seen finite automata, pushdown automata and Turing machines. All three of them operate on finite words. However there are other automata models and automata that do not operate on finite words, but e.g. on infinite words, on nested words, on trees, etc. In this seminar we will have a look at automata models that you have not seen in the lecture on theoretical computer science as well as on related topics.
Course type  Seminar / Proseminar 

Instructors  Prof. Dr. Andreas Podelski, Dr. Matthias Heizmann, Alexander Nutz, Christian Schilling 
Kickoff meeting 
Thu, 4 May 2017, 14:00  16:00 c.t., building 52, room SR 02017 
Presentation language 
English (Seminar) / German (Proseminar) 
Credits 
4 (Seminar) / 3 (Proseminar) 
Course Catalog  Advanced Topics in Automata Theory (Seminar) Automatentheorie / Introduction to Automata Theory (Proseminar) 
News
 We assigned the topics, reviewers, and the dates for the talks.
 We fixed the schedule of the talks to the last three sessions in the lecture period, i.e., July 13, 20, and 27.
 Please send an email to Christian until Thu, May 11 that contains the following information:
 a list of 3 topics that you want to present (with priorities)
 whether you are a seminar or a proseminar student
 (optional) if you have time constraints
 (optional) if are an ESE student
Process of the seminar
 You participate in the kickoff meeting, where we present the
available topics. Feel free to hand in your favorite topic in advance.
 You contact the instructors to obtain a topic. You may suggest a topic by yourself, pick one of the suggested topics, or find a topic suitable for you in a discussion with your supervisor.
 You have a meeting with your supervisor in which we discuss relevant literature and develop a very coarse sketch of your talk (deadline: four weeks before your talk).
 You write a proposal in which you explain what you are going to present in your talk, together with an abstract of your talk. You submit your abstract and your proposal via email to your supervisor (deadline: three weeks before your talk).
 Your proposal is reviewed by your supervisor and two other participants.
 You
write two reviews about other participants' proposals and send them via
email to the supervisor (deadline: one week after you received the
proposal).
 You receive reviews for your proposal (deadline: two weeks before your talk).
 You submit your slides via email to your supervisor (deadline: one week before your talk).
 You have a meeting with your supervisor in which you get feedback for your slides.
 You give a talk of 30 minutes (Seminar) / 20 or 25 minutes (Proseminar, will be decided later).
 You attend the talks of all other participants.
Proposals of the talk
The proposal should consist of around five pages in which you explain what you are going to present in your talk. The proposal may contain:
 short overview for the reviewers (the reviewers will probably not know your topic)
 structure of your talk
 aspects of the topic that you present (why?) and ignore (why?)
 examples occurring in the talk (why these examples? Is there a running example that can be used for demonstration?)
 which definitions are presented formally? (why?), which definitions are just mentioned informally? (why?)
 which notation is used? (why?)
 which theorems are presented, which of them will be proven (why?), which proofs will be omitted (why?), will you use motivating examples in the proof?
Abstract of the talk
 The abstract consists of one paragraph that summarizes what you present in the talk.
 We will send an invitation for the seminar to all students and members of our chair. This invitation contains the abstracts of all talks.
The talk
 The goal of your talk is that the audience (bachelor and master students, familiar with computer science in general, probably no experts in the topic) has the possibility to learn something new about an interesting topic. How well you achieved this goal will determine the grade of your talk.
 In a seminar you have to show that you are able to present some topic to other people. You do not have to show how well you understood the topic for yourself. How well you understood the topic has no direct influence on your grade, but only how well you presented the topic to the audience.
 You may use and copy any source of information (but do not forget to cite it). If you think your talk is just a "remix" of existing talks tailored to your audience, you might have done a great job. But do not let yourself be fooled by wellstructured and fancy talks found in the web, each talk was prepared to a specific audience.
 If you agree, we will put your slides on this web page. Keep in mind that if you have copied images in your slides this might not be possible anymore (copyright restrictions). Of course, it will not have any effect on your grade whether we may publish your slides or not.
Review of the proposal
 Give a short summary of the talk based on the proposal (to detect misunderstandings right at the start).
 Be generous with your criticism. It is very unlikely that a student will get a bad grade because you revealed some problems in his/her proposal. However, it is very likely that a student will get a better grade if he/she was able to resolve a problem in his/her talk, thanks to your review.
 Give reasons for your criticism (e.g., "It is not possible to understand Lemma 2 because term foo was not explained."). You are also allowed to give your personal opinions, if you do so mark them as such (e.g., "Theorem 1 is very difficult to understand, in my opinion you should give an example first.").
 The following questions might be helpful to write your review
Is the proposal sufficiently well written to be readable?
Is the appearance and structure of the proposal appropriate?
Is the comprehensibility of the talk supported by relevant examples and figures?
Is the proposed structure of the talk sensible and balanced?
Are all propositions made by the author correct?
Is the line of reasoning concerning the presentation complete and accurate?
Has the author argued his/her case effectively?
Does the author use the common notation and terminology? Where would you suggest something different?
Is the schedule of the author sensible? Do you think the talk will fit into the time slot?
Grade
Your overall grade will be composed according to the following proportion.
 10% grade of your proposal
 20% grade of your reviews
 70% grade of your talk
Topics & literature
There is not a onetoone correspondence between seminar talks and topics. Several students may give talks on the same topic, but present different aspects. The suggested literature should give you a first impression of the topics. We assign the exact literature in cooperation with you after you stated your preferences for the topic. More literature does not mean more reading, just more options. The order of appearance is arbitrary.
If requested, some topics may also be presented in groups of two.
Some of the papers are only available via the network of our university (e.g., via vpn). If you have some problem accessing the papers, please ask us.
(1) Learning finite automata
 Literature: Learning regular sets from queries and counterexamples, Talk (min. 1530), Talk (min. 2034)
 Supervisor: Christian
 Talk: Jacob
 Reviewers: Annette, Paul
(1) Symbolic automata
 Literature: Applications of Symbolic Finite Automata, Minimization of symbolic automata
 Supervisor: Christian
 Talk: Paul
 Reviewers: Jacob, Valentin
(2) Petri nets
 Literature: Applied Automata Theory (Chapter 6), Recent and simple algorithms for Petri nets
 Supervisor: Matthias
 Talk: Annette
 Reviewers: Jacob, Valentin
(2) Cellular automata
 Cellular automata (Wikipedia), Game of Life (Wikipedia), Cellular Automata
 Supervisor: Christian
 Talk: Valentin
 Reviewers: Annette, Paul
(3) Efficient representation of finite sets
 Literature: Relation Algebras, Matrices, and Multivalued Decision Diagrams
 Supervisor: Alexander
 Talk: Jonas
 Reviewer: Konstantina
(3) Visibly pushdown automata
 Literature: Wikipedia, Visibly pushdown languages, Adding nesting structure to words
 Supervisor: Christian
 Talk: Konstantina
 Reviewer: Jonas
Not assigned
Büchi automata
 Automata theory  An algorithmic approach (Chapter 11 Section 12), Automata on infinite objects (Chapter I Section 12)
Tree automata
Parikh's theorem
Automata minimization
 Minimal unambiguous epsilonNFA
 Reduction of nondeterministic tree automata
 Forward bisimulations for nondeterministic symbolic finite automata
Complexity theory
 Minimisation of deterministic parity and Buchi automata and relative minimisation of deterministic finite automata
 Phardness of the emptiness problem for visibly pushdown languages
 Complete problems for deterministic polynomial time
 PushPush and Push1 are NPhard in 2D, Classic Nintendo games are (NP)hard, Gaming Is a hard job, but someone has to do it!, Playing games with algorithms: algorithmic combinatorial game theory
 The hardness of the Lemmings game, or Oh no, more NPcompleteness proofs, Computational complexity of twodimensional platform games, Lemmings is PSPACEcomplete
 Computers and intractability  A guide to the theory of NPcompleteness (Chapter 7.1)
Antichains
 Wikipedia
 Antichains: A new algorithm for checking universality of finite automata
 Antichain algorithms for finite automata
 When simulation meets antichains
Partial derivatives
Reversible finite automata
State complexity
DFA families
Set automata
 Deterministic set automata [technical report], Regularity and size of set automata, On computational complexity of set automata
muCalculus
 Automata, logics, and infinite games (Chapter 10)
Schedule
Each topic/talk has a slot number assigned. We have two slots in total.
The following table contains the deadlines for the groups. Please note that "Review" stands for the review deadline for the specific group's proposals. Each proseminar student has to write reviews for two other students.
Date  Proposal  Review  Slides  Talk 

Thu, June 8 
1  
Thu, June 15 
2  1  
Thu, June 22 
3  2  1  
Thu, June 29 
3  2  1 

Thu, July 6 
3  2  
Thu, July 13 
3 