CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, ida.liu.se
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Outline Objectives & Motivations Organisation Contents Basic Notions
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Objectives: To teach a coherent set of basic concepts concerning computations: – Formal Languages – Automata – Computability – Complexity and their relevance to practice.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Basic Motivations : Modeling with automata design and analysis of complex systems language translation, compiler construction Specification of infinite languages Programming languages Computational problems Some problems: cannot be solved at all: UNDECIDABILITY require too much resources: COMPLEXITY
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Contents 1.Basic notions 2h 2.Automata and Languages 8h Finite automata and Regular Languages Push-down Automata and Context-free languages 3.Computability 4h Turing Machines – the notion of Algorithm Decidability, examples of undecidable problems 4.Complexity 8h Big-O notation, analysis of algorithms Time complexity classes P, NP NP-completeness and its practical relevance Basics of space complexity
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Basic Notions ( Chapter 02) Sets Functions and Relations Strings and Languages Countable sets (p.177)