# 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 | Matthias Heizmann, Christian Schilling |

Kick-off meeting |
Thu, 22 October 2015, 12:00 - 14:00 c.t., building 052, room 02-017 |

Presentations | weekly Thu 12:00 - 14:00 c.t., building 052, room 02-017 (starting 14 January) |

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

- The schedule, topics, groups, reviewers, and supervisors have been assigned.
- There are no regular meetings before the talks start.
- We added a list of available topics at the bottom of this page. Please
choose three of the topics listed below (possibly including your own
suggestions) and send your
choices sorted according to your preferences to Christian Schilling by next Thursday morning (October 29). If you prefer to work in a group with a particular student, please also write this in your email. If you are not attending (and have not attended) a lecture on theoretical computer science (Informatik III), please also write this in your email.
- The duration of the Proseminar talks was corrected to 20 minutes.
- The first meeting takes place on 22 October. We will have weekly meetings for the talks, probably not starting before December.

## Process of the seminar

- Participate in the kick-off meeting, where we present the available topics. Feel free to hand in your favorite topic in advance.
- 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.
- Have a meeting with your supervisor in which we discuss relevant literature and develop a very coarse sketch of your talk. (in the first weeks of the semester).
- You write a proposal in which you explain what you are going to present in your talk.
- You write an abstract of your talk.
- You submit your abstract and your proposal via email to the instructors (deadline: three weeks before your talk).
- Your proposal is reviewed by two other participants.
- You write two reviews about other participants' proposals and send them via email to the instructors (deadline: one week after you received the proposal).
- You receive reviews of your proposal (deadline: two weeks before your talk).
- You submit your slides via email to the instructors (deadline: one week before your talk).
- You have a short meeting with the instructors in which you get feedback for your slides.
- You give a ca. 30 min (Seminar) / 20 min (Proseminar) talk (schedule see below).
- 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 e.g.:

- 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

- 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 (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 well-structured and fancy talks found in the web, each talk was tailored to a specific audience.
- If you agree we put your slides on this website. Keep in mind that if you have copied images in your slides this might not be possible any more (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 talk. 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 30 min 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

There is not a one-to-one 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.

There are some topics for which it is mandatory to work in groups of two students, indicated by "(2)".

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.

## Topics for the Proseminar "Introduction to Automata Theory"

**(A) Petri nets**

- Literature: Applied Automata Theory (Chapter 6)
- Talk by: Nico
- Supervisor: Matthias Heizmann
- Reviewers: Dominik, Lars
- Slides: Petri Netze

**(A) Berry-Sethi algorithm**

- Literature: From regular expressions to deterministic automata
- Talk by: Christopher
- Supervisor: Christian Schilling
- Reviewers: Jonas, Nico
- Slides: Berry-Sethi Algorithmus

**(A) Local languages**

- Literature: Local languages and the Berry-Sethi algorithm
- Talk by: Jonas
- Supervisor: Christian Schilling
- Reviewers: Christopher, Nico
- Slides: Lokale Sprachen

**(B) Reachability in pushdown systems**

- Literature: Applied Automata Theory (Chapter 4.2)
- Talk by: Dennis
- Supervisor: Christian Schilling
- Reviewers: Anand, Robin

**(B) Turing completeness of 2-counter systems**

- Literature: Applied Automata Theory (Chapter 4.4)
- Talk by: Robin
- Supervisor: Christian Schilling
- Reviewers: Anna & Francine, Dennis
- Slides: Zwei-Zähler-Systeme

**(C) ω-Automata**

- Literature: Automata on Infinite Objects, ω-Automata, The complementation problem for Büchi automata with applications to temporal logic Automata theory - An algorithmic approach (Chapter 11)

- Talk by: Anna & Francine
- Supervisor: Matthias Heizmann
- Reviewers: Anand, Ben

**(D) Tree automata**

- Literature: Applied Automata Theory (Chapter 3)
- Talk by: Lars
- Supervisor: Christian Schilling
- Reviewers: Christopher, Jonas
- Slides: Baumautomaten

**(D) Automata and MSO logic**

- Literature: Applied Automata Theory (Chapter 1)
- Talk by: Ben
- Supervisor: Matthias Heizmann
- Reviewers: Anna & Francine, Dennis, Lars

**(F) Nested word automata**

- Literature: Wikipedia, Nested Words, Adding nested structure to words
- Talk by: Anand
- Supervisor: Christian Schilling
- Reviewers: Ben, Robin

## Topics for the Seminar "Automata Theory"

**(C) Safra's Büchi determinization algorithm**

- Literature: Omega Automata, Determinization of Büchi-Automata, From Nondeterministic Büchi and Streett Automata to Deterministic Parity Automata
- Talk by: Aditya
- Supervisor: Matthias Heizmann
- Reviewers: Jennifer, Pranav
- Slides: Safra's Büchi determinization algorithm

**(E) Minimization of Büchi automata**

- Literature: Advanced automata minimization, Automata theory script
- Talk by: Pranav
- Supervisor: Matthias Heizmann
- Reviewers: Aditya, Jeremias

**(E) Antichains in automata theory**

- Literature: Wikipedia, Antichains: A New Algorithm for Checking Universality of Finite Automata, Antichain Algorithms for Finite Automata, When Simulation meets Antichains
- Talk by: Jeremias
- Supervisor: Matthias Heizmann
- Reviewers: Jennifer, Pranav
- Slides: Antichains in automata theory

**(E) Timed automata**

- Literature: Decision Problems for Timed Automata: A Survey
- Talk by: Jennifer
- Supervisor: Matthias Heizmann
- Reviewers: Aditya, Jeremias
- Slides: Timed automata

## Schedule

We have five meetings for the talks, hence five groups (see topics).

The following table contains the deadlines for the groups. Please note that "review" stands for the review deadline *for* the specific group. Each student has to write reviews for *two* other students.

Date | Proposal | Review | Slides | Talk |
---|---|---|---|---|

10th Dec. | A | |||

17th Dec. | B | A | ||

7th Jan. |
C | B | A | |

14th Jan. | D |
C | B |
A |

21st Jan. | E |
D |
C | B |

28th Jan. | E |
D |
C | |

4th Feb. |
E | D | ||

11th Feb. |
E | |||

8th Feb. |
F |
|||

15th Feb. | F | |||

22nd Feb. | F |
|||

25th Feb. | F |