CS4510 Automata and Complexity

Spring 2025

Ganesh (Section C) 12:30-1:45PM MW Howey L2

Ladha (Section B) 12:30-1:45PM TR Klaus 1443

Flammarion

People

Course Information

This course answers two main questions:

The first question is the study of the area of Computability theory. Most of its questions are solved, which is what makes this subject fun. We are concerned with such extremal, almost philosophical questions. What even is computation? What even is a computer? Are all problems solvable? We will explore several models of computation and explore their relative power, and weaknesses.

The second question is the study of Complexity theory. Most of its questions are unsolved. This subject does not have a happy ending (and perhaps won’t, in our lifetimes) but this contrast is what makes it interesting. We may not know how to solve certain questions, but ironically, we know a lot about how hard these questions are.

I like to think of this course as a finale to your CS degree. It is simultaneously the most important and least important course you will take. It is the least important as it doesn’t develop any single technical skill. It is the most important, as it develops your ability to conceptualize and theorize. This is the course where you will learn why computer science gets to be called a science. It puts the rest of your degree into context.

This course has a lot of pre-reqs, some of which I would disagree should be a requirement. All you really need is good proof skills, like those found CS2050. If you think you might be rusty, please refresh chapter zero of the Sipser book.

The book for the course is Introduction to the Theory of Computation by Michael Sipser. It is an excellent textbook, can’t count how many times I’ve read it. The notes and lectures for the course are the authoritative reference, but it is expected you follow along with Sipser’s book. Later on, I may reference the Arora-Barak and Li-Vitanyi books.

Evaluation

Schedule

This is subject to change.

Ganesh MW Ladha TR Subject Notes Other Video
01/06/25 01/07/25 Introduction NOTES L01A-B
01/08/25 01/09/25 Nondeterminism NOTES L02A-B
01/13/25 01/14/25 Regular Expressions notes L03A
01/15/25 01/16/25 The Pumping Lemma NOTES L03B
01/22/25 01/21/25 Context-Free Grammars notes L04A-B
01/27/25 01/23/25 Syntactic Structures notes L05A-B
01/29/25 01/28/25 Push Down Automata notes L06A-B
02/03/25 01/30/25 Equivalence of PDAs and CFGs notes L07A
02/05/25 02/04/25 Turing Machines slides, required reading1, required reading 2, required reading 3
02/10/25 02/06/25 Exam 1 notes L08A
02/12/25 02/11/25 The Church-Turing Thesis notes L08B
02/17/25 02/13/25 Turing Completeness notes L09A-B
02/19/25 02/18/25 Countability notes L10A-B
02/24/25 02/20/25 Foundations of Mathematics notes L11A-B
02/26/25 02/25/25 Godel Incompleteness notes L12A-B
03/03/25 02/27/25 Undecidability notes L13A
03/05/25 03/04/25 Art of Reduction notes L13B
03/10/25 03/06/25 Posts Correspondence Problem notes L14B
03/11/25 Kolmogorov Complexity
03/12/25 03/13/25 Exam 2
03/24/25 03/25/25 Complexity Classes notes L15A-B
03/26/25 03/27/25 In and around NP notes L16A-B
03/31/25 04/01/25 In and around PSPACE notes L17A-B
04/02/25 04/03/25 Relativization notes L18A-B
04/07/25 04/08/25 Circuits notes L19A-B
04/09/25 04/10/25 The Polynomial Hierarchy notes L20A
04/14/25 04/15/25 Karp-Lipton Theorems notes L20B
04/16/25 04/17/25 Exam 3
04/21/25 04/22/25 Open Topic notes

Other Resources

Besides the notes here, There are additional references:

Statement of Intent for Classroom Inclusivity

As a member of the Georgia Tech community, I am committed to creating a learning environment in which all of my students feel safe and included. Because we are individuals with varying needs, I am reliant on your feedback to achieve this goal. To that end, I invite you to enter into dialogue with me about the things I can stop, start, and continue doing to make my classroom an environment in which every student feels valued and can engage actively in our learning community.

Integrity Statement

Submission of any work not your own can result in anything from a zero on the assignment to a report to OSI.