Overview of E0222: Automata and Computability



Similar documents
The Halting Problem is Undecidable

Introduction to Automata Theory. Reading: Chapter 1

Model 2.4 Faculty member + student

Honors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology

SRM UNIVERSITY FACULTY OF ENGINEERING & TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF SOFTWARE ENGINEERING COURSE PLAN

CS 301 Course Information

3515ICT Theory of Computation Turing Machines

Automata and Computability. Solutions to Exercises

Chapter 7 Uncomputability

(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.

Automata and Formal Languages

CSE 135: Introduction to Theory of Computation Decidability and Recognizability

Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, School of Informatics University of Edinburgh als@inf.ed.ac.

CS 341: Foundations of Computer Science II elearning Section Syllabus, Spring 2015

Computer Science Theory. From the course description:

Turing Machines: An Introduction

Computer Architecture Syllabus of Qualifying Examination

Philadelphia University Faculty of Information Technology Department of Computer Science First Semester, 2007/2008.

Computability Theory

Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP

CS 3719 (Theory of Computation and Algorithms) Lecture 4

Course Manual Automata & Complexity 2015

Finite Automata. Reading: Chapter 2

Fast nondeterministic recognition of context-free languages using two queues

Informatique Fondamentale IMA S8

T Reactive Systems: Introduction and Finite State Automata

Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile

CS5236 Advanced Automata Theory

Regular Languages and Finite Automata

Computational Models Lecture 8, Spring 2009

Course Syllabus. Also listed as CS U1 Automata Theory (

Finite Automata. Reading: Chapter 2

CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.

6.080/6.089 GITCS Feb 12, Lecture 3

Pushdown Automata. International PhD School in Formal Languages and Applications Rovira i Virgili University Tarragona, Spain

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Regular Languages and Finite State Machines

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

Introduction to Turing Machines

Finite Automata and Formal Languages

Formal Grammars and Languages

Genetic programming with regular expressions

Software Model Checking: Theory and Practice

THEORY of COMPUTATION

Compiler Construction

CS5310 Algorithms 3 credit hours 2 hours lecture and 2 hours recitation every week

Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi

Deterministic Finite Automata

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

Grammars with Regulated Rewriting

Automata on Infinite Words and Trees

CODING TRUE ARITHMETIC IN THE MEDVEDEV AND MUCHNIK DEGREES

Universal Turing Machine: A Model for all Computational Problems

24 Uses of Turing Machines

Increasing Interaction and Support in the Formal Languages and Automata Theory Course

Fixed-Point Logics and Computation

Models of Sequential Computation

Omega Automata: Minimization and Learning 1

Division of Mathematical Sciences

Formal Verification of Software

Two-dimensional Languages

CHAPTER 7 GENERAL PROOF SYSTEMS

Algorithmic Software Verification

University of Toronto Department of Electrical and Computer Engineering. Midterm Examination. CSC467 Compilers and Interpreters Fall Semester, 2005

Teaching Formal Methods for Computational Linguistics at Uppsala University

Prime Numbers. Difficulties in Factoring a Number: from the Perspective of Computation. Computation Theory. Turing Machine 電 腦 安 全

recursively enumerable languages context-free languages regular languages

Testing LTL Formula Translation into Büchi Automata

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

Module Catalogue for the Bachelor Program in Computational Linguistics at the University of Heidelberg

On String Languages Generated by Spiking Neural P Systems

Software Verification: Infinite-State Model Checking and Static Program

Lecture summary for Theory of Computation

CS & Applied Mathematics Dual Degree Curriculum Content

Verification of hybrid dynamical systems

How To Understand The Theory Of Computer Science

There is no degree invariant half-jump

Universality in the theory of algorithms and computer science

Intrusion Detection via Static Analysis

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 4 Nancy Lynch

ÖVNINGSUPPGIFTER I SAMMANHANGSFRIA SPRÅK. 15 april Master Edition

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:

Reading 13 : Finite State Automata and Regular Expressions

The Optimum One-Pass Strategy for Juliet

Syllabus of. BCA III (Bachelor of Computer Application) Semester-V

Connecting Discrete Mathematics and Software Engineering

Theory of Computation Chapter 2: Turing Machines

Compiler I: Syntax Analysis Human Thought

Scalable Automated Symbolic Analysis of Administrative Role-Based Access Control Policies by SMT solving

School of Computer Science

Transcription:

Overview of E0222: Automata and Computability Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. August 3, 2011

What this course is about What we study Models of computation and their expressive power. Formal notion of an algorithm or program. Theory of computability.

Different State Machines a a b a b a a a b b b a b q a a b a b a a a b b a Finite-State Automata Pushdown Automata Turing Machines q X Y X X a a b a b a a a b b q

Kind of results we study Expressive power of the models. What kind of languages do they recognize? What kind of languages can they not recognize? Characterisations of the class of languages they recognize: Myhill-Nerode theorem. Büchi s logical characterisation. Parikh s characterisation of Context-Free Languages. Existence of languages even Turing machines cannot recognize (undecidable languages).

Kind of results we study: Computability Notion of a function being computable. Formalize the notion of an algorithm or a program. Connection with language recognition A function f can be represented as a language L f = {u#v f (u) = v}. f is computable iff L f is decidable. Existence of uncomputable or unsolvable problems. Does a given C program ever terminate?

Why study automata theory? Corner stone of many subjects in CS: 1 Compilers Lexical analysis, parsing, regular expression search 2 Digital circuits (state minimization, analysis). 3 Mathematical Logic (decision procedures for logical problems). 4 Complexity Theory (algorithmic hardness of problems) 5 Formal Verification Is L(A) L(B)? 6 Program Analysis

Uses in Verification and Logic 1 Useful problems for Verification Is L(A) empty? Is L(A) L(B)? Is a particular configuration of a pushdown automaton reachable? 2 System models are natural extensions of automata 3 Decide satisfiability problems for logics by translating them into automata.

Overview of what we do Machines and grammars: b a b S bs at ǫ T bt as a

Overview of what we do PDA LBA TM CFG CSG Type 0 FSA Reg Machines Grammars The Chomsky Hierarchy

Some topics which may be new to you Myhill-Nerode Theorem: Every regular language has a canonical DFA accepting it. b b b a b a a a a b a b Some consequences: Any DFA for L is a refinement of its canonical DFA. minimal DFA s for L are isomorphic.

Büchi s logical characterisation of automata Describe properties of strings in a logical language Eg. For all positions x in a word which are labelled a, there is a later position labelled b x(q a (x) y(y > x & Q b (y))). Büchi s result: A language is regular iff it is definable by a sentence in this logic.

First-Order logic of (N, <). Interpreted over N = {0,1,2,3,...}. What you can say: x < y, xϕ, xϕ,, &,. Examples: 1 x y(x < y).

First-Order logic of (N, <). Interpreted over N = {0,1,2,3,...}. What you can say: Examples: 1 x y(x < y). 2 x y(y < x). x < y, xϕ, xϕ,, &,.

First-Order logic of (N, <). Interpreted over N = {0,1,2,3,...}. What you can say: Examples: 1 x y(x < y). 2 x y(y < x). 3 x( y(y x)). x < y, xϕ, xϕ,, &,.

First-Order logic of (N, <). Interpreted over N = {0,1,2,3,...}. What you can say: Examples: x < y, xϕ, xϕ,, &,. 1 x y(x < y). 2 x y(y < x). 3 x( y(y x)). 4 x y((x < y) = z(x < z < y)).

First-Order logic of (N, <). Interpreted over N = {0,1,2,3,...}. What you can say: Examples: x < y, xϕ, xϕ,, &,. 1 x y(x < y). 2 x y(y < x). 3 x( y(y x)). 4 x y((x < y) = z(x < z < y)). Question: Is there an algorithm to decide if a given FO(N,<) sentence is true or not?

Ultimate periodicity of regular languages Ultimate periodicity For any regular language L, len(l) = { w : w L} is ultimately periodic. Show properties like There exist languages L such that neither L nor its complement contain an infinite regular language.

Parikh s Theorem for CFL s ψ(w): Letter-count of a string w: Eg : ψ(aabab) = (3,2). If L is a context-free language, then ψ(l) is semi-linear (Equivalently: Every CFL is letter-equivalent to a regular language). Can be used to show certain languages are not context-free: Eg. L = {a 2n n 0}. a, aa, aaaa, aaaaaaaa, aaaaaaaaaaaaaaaa,...

Reachable configurations of a Pushdown automaton The set of reachable configurations of a Pushdown automaton is regular. Useful for program analysis and verification of pushdown systems.

Rice s Theorem Every non-trivial property of languages accepted by Turing Machines is undecidable. Can show that checking whether a given TM accepts a regular language is undecidable.

Gödel s Incompleteness result There cannot be a sound and complete proof system for first-order arithmetic. Formal language-theoretic proof: Th(N,+,.) is not even recursively enumerable.

Course details Weightage: 40% assignments + seminar, 20% midsem exam, 40% final exam. Assignments to be done on your own. Dishonesty Policy: Any instance of copying in an assignment will fetch you a 0 in that assignment + one grade reduction. Seminar (in pairs) can be chosen from list on course webpage or on your own. Course webpage: www.csa.iisc.ernet.in/~deepakd/atc-2011/atc.html Teaching assistants for the course: Sumesh Divakaran and Raghunandan M. A..