Mikołaj Bojańczyk

2022/2023

Złożoność Obliczeniowa / Computational Complexity

A course on computational complexity for 4th year students (1st year of MSc programme).

Automata, Logic and Games 2023

This is a course about the interplay of automata, logic and games. Lecture: Wednesday 10:15, room 5840 Tutorial: Wednesday 12:15, same room The automata are finite automata, but often on objects that are not necessarily finite words. The logic is usually monadic second-order logic. The point is that the automata and the logic define the same languages. The games are infinite duration games, which appear as technical tool in the analysis of automata and logics on infinite objects. I will also use semigroups, as a third approach to defining languages.

2021/2022

Automata, logic and games

This is a course about the interplay of automata, logic and games. The automata are finite automata, but often on objects that are not necessarily finite words. The logic is usually monadic second-order logic. The point is that the automata and the logic define the same languages. The games are infinite duration games, which appear as technical tool in the analysis of automata and logics on infinite objects. I will also use semigroups, as a third approach to defining languages.

2020/2021

Computational Complexity / Złożoność obliczeniowa

A course on computational complexity for 4th year students (1st year of MSc programme).

A tutorial on logic, biased towards automata, for the TCFS programme at Simons

This is a 3 part tutorial about logic. It is organised around algorithms for checking if a formula is true in a model.There are two central variants of this problem. In the model checking problem $$M \stackrel ? \models \varphi,$$ we are given the model and the formula, and we want to know it the formula is true in the model. In the satisfiability (dually, validity) problem $$? \models \varphi$$ we are only given the formula, and we want to know if it is true in some (dually, every) model (perhaps from some fixed class of models). There are three parts of the tutorial (each set of slides contains a soundtrack):
  1. Part 1 (slides ) discusses the variant of the model checking problem where the model is fixed and only the formula is given on the input. (This is also known as deciding the theory of the model.)  I will particularly focus on cases where the problem can be solved using automata, and hence the corresponding logic is going to be monadic second-order logic, which is an old friend of automata.
  2. Part 2 (slides) discusses the satisfiability problem. Here, again, the main focus is on variants of the problem that can be solved using automata, namely monadic second-order logic on words, trees and graphs of bounded treewidth.
  3. Part 2 (slides) discusses the variant of the model checking problem where the formula is fixed and the model is the input. Apart from results that use automata (mainly Courcelle's theorem about MSO model checking on graphs of bounded treewidth), I will also discuss some results about first-order logic on sparse graph classes.
There is also an abbreviated one-part version, without a soundtrack.  

2019/2020

Transducers and their Krohn-Rhodes decompositions

This is a course on transducers, given before the Trends in Transformations workshop at FSTTCS 2019. The course covers rational, regular and polyregular string-to-string functions. A special emphasis is made on theorems a la Krohn-Rhodes, which decompose complicated functions into simpler prime functions.
  1. Mealy machines, the classical Krohn-Rhodes theorem, and its corollaries for sequential and rational functions (slides).
  2. Regular functions, and some of their equivalent representations (two-way transducers, mso transductions, streaming string transducers, and regular list functions). The prime regular functions (slides).
  3. Polyregular functions, and some of their equivalent representations (pebble transducers, for transducers, functional programs, mso interpretations). The prime polyregular functions (slides).

Algebraic language theory 2020

This course is about an alternative approach to regular languages, where one uses semigroups and monoids (and more fancy algebraic structures) instead of automata.

Soft skills

These are some slides for my Scientist's Workshop lecture.

2017/2018

Algebraic language theory (automaty a półgrupy)

This course is about an alternative approach to regular languages, where one uses monoids (and more fancy algebraic structures) instead of automata.  I use notes from this lecture, but I hope to create a new version in pdf for this one (this has not materialised, I'm sorry).

Advanced Topics in Automata 2017/2018 (Języki, Automaty i Obliczenia 2)

This lecture is a choice of slightly more advanced topics from automata theory.

2016/2017

Advanced Topics in Automata 2016/2017 (Języki, Automaty i Obliczenia 2)

This lecture is a choice of slightly more advanced topics from automata theory. The lecture is on Tuesdays, 12:15 in room 5820. The exercises are on Wednesdays, 16:15 in room 5820, with Wojciech Czerwiński. Here is a plan of the lecture. There was a similar lecture last year. Here are the topics for this year:
  1. automata on infinite words: determinisation
  2. games of infinite duration: the Büchi-Landweber theorem
  3. distance automata: decidability of limitedness
  4. treewidth and mso: Courcelle's theorem
  5. learning automata: the Angluin algorithm
  6. transducers
Exam. The exam is an oral exam, which is mainly questions about the proofs of theorems. Please email me to choose a time. You can improve your exam grade using the star exercises.  Choose any subset of the 6 topics in the list above, here is the exchange rate: • 2 topics: dostateczny • 3 topics: dobry • 4 topics: bardzo dobry

Infinite alphabets

This is a lecture on automata (and later other devices) that operate on infinite alphabets. The lecture is on Wednesdays at 12:15 in room 4060. The exercises are on Mondays at 14:15 in room 5050. The lecture and exercises are shared by Mikołaj Bojańczyk and Sławomir Lasota. Lecture notes Homework assignments Exam
  Here is an overview of the course Data words and their automata In the first half of the lecture, we discuss some concrete models, typically involving registers. The emptiness problem for most powerful of the models, data automata, will as hard as the famous reachability problem for vector addition systems, and the lecture will contain a description of the latter.
  1. Introduction to automata with registers
  2. Alternating automata with registers
  3. Data automata
  4. Logic on data words
  5. Reachability for vector addition systems
Sets with atoms In the second part of the lecture, we move to a more general setting, which describes some of the previous constructions in a cleaner mathematical model. This mathematical model will lead us to discover new questions.
  1. Sets with atoms and orbit-finiteness
  2. Automata in sets with atoms
  3. Atoms with structure other than equality
  4. Oligomorphism
  5. What is a computable function?
  6. Turing machines with atoms

Lipa

Lipa summer school 2017 (Warsaw, July 3-6)

The Lipa Summer School is a school on topics connected to logic in computer science. It is part of this grant. It was held in Warsaw, July 3-6 2017.  The school had 4 mini-courses given by:
  • Stephan Kreutzer (Berlin) Algorithmic meta-theorems (videos: 1, 2, 3, 4)
  • Joël Ouaknine (Saarbrücken) Decision Problems for Linear Recurrence Sequences (videos: 1234)
  • Moshe Vardi (Rice)  Linear-time verification and synthesis  (videos: 1234)
  • Mikołaj Bojańczyk (Warsaw, organiser) What is a recognisable language? (videos: 1234)
Each mini-course was 6 hours long (4 x 90 minutes). Here is the programme. Registration is closed. There will be free lunch and coffee breaks for registered participants, but not dinner (we will do an informal picnic on some evening without rain). The school is followed by ICALP.

Dates

  • May 30 Registration with request for student accommodation
  • June 20 Registration without request for student accommodation
  • July 3-6 School


Local information

The school was held at the University of Warsaw, in the Center of New Technologies, whose address is Banacha 2c. Be careful about the map on the Center's page, it's wrong, use the one below.   Picture of the conference venue and map below   A taxi from the airport should be around ≤ 20 PLN during the day (the official taxi queue is when you leave the airport, don't go with the people who whisper "taxi, taxi"). Here is a link for accessing the school from the airport using public transport (bus 175 or 188).  
The school is part of the grant Lipa that has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 683080).

Lipa Summer School 2018 (June 25-28)

The Lipa Summer School is a school on topics connected to logic in computer science. It is part of this grant. This is the second edition, the first one was in 2017 (there are videos).  It will be held in Warsaw, June 25-28 2018.  The school consists of 4 mini-courses given by: Each mini-course is 6 hours long (4 x 90 minutes). Here is the program. Click on the talk titles to get descriptions and slides. There will be videos, but a few months after the school is over. Registration is free, and we might have a limited number of student dormitories for free.  We will likely (depending on the number of registrations) have  free lunch and coffee breaks for registered participants, but no dinner (we will do an informal picnic on some evening without rain).  

Dates

  • May 15 End of registration with request for student accommodation
  • June 15 End of registration without request for student accommodation
  • June 25-28 School

Venue

The school will be held in (room C of the) Auditorium Maximum of the university of Warsaw, in the historical center of Warsaw. Here is the building: Here is a map:
The school is part of the grant Lipa that has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 683080).

2015/2016

Algebraic Language Theory

The general theme is monoids instead of automata. We will go deep (e.g. on the structure of finite monoids) and wide (on "monoids" for infinite words etc.)

Lecture: Thursday 12:15 – 13:45  (room 3170) Exercise: Thursday 14:15 – 15:45 (room 3170)

I will use the notes from my previous course, but modified.

Advanced Topics in Automata (Języki, Automaty i Obliczenia 2)

This lecture is a choice of slightly more advanced topics from automata theory. The lecture is on Tuesdays, 12:15 in room 5070. The exercises are on Wednesdays, 16:15 in in room 5820, with Wojciech Czerwiński.
  1. automata on infinite words: determinisation
  2. games of infinite duration: the Büchi-Landweber theorem
  3. weighted automata: decidable and undecidable problems
  4. distance automata: decidability of limitedness
  5. tree-walking automata: failure of determinisation
  6. transducers
  7. learning automata: the Angluin algorithm
  8. automata with infinite alphabets
  9. sets with atoms
Here are the star exercises and their solvers. Exam. The exam is an oral exam. Please email me to choose a time or use this link for Feb 15. Choose any subset of the 9 topics in the list above, here is the exchange rate: • 3 topics: dostateczny • 5 topics: dobry • 7 topics: bardzo dobry  

2014/2015

Algebraic Language Theory

This course is about an alternative approach to regular languages, where one uses monoids or semigroups instead of automata. Lecture: Tuesdays 8:45-10:15 (room 5070) Exercises: Tuesdays 10:25-11:55 (room 5070)

Języki i paradygmaty programowania

Laboratorium do wykładu Marcina Benke.

2013/2014

2011/2012

2009/2010

2008/2009