© M. Winter COSC/MATH 4P61 - Theory of Computation 1.11.1 COSC/MATH 4P61 Theory of Computation Michael Winter –office: J323 –office hours: Mon & Fri, 10:00am-noon.

Slides:



Advertisements
Similar presentations
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Advertisements

1 Welcome to CS105 and Happy and fruitful New Year שנה טובה (Happy New Year)
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Regular operations Sipser 1.2 (pages 47-63). First… a sample proof
CFG => PDA Sipser 2 (pages ). CS 311 Fall Formally… A pushdown automaton is a sextuple M = (Q, Σ, Γ, δ, q 0, F), where – Q is a finite set.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
CS 302: Discrete Math II A Review. An alphabet Σ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
CS5371 Theory of Computation General Info, Scope, Textbook Assessment, …
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
CS311 Automata and Complexity Theory. Admistrative Stuff Instructor: Shahab Baqai Room # 428, Ext 4428 Lectures:Mon & Wed 1530 – 1710.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 18 Instructor: Paul Beame.
Fall 2006Costas Busch - RPI1 CSCI-2400 Models of Computation.
Fall 2003Costas Busch - RPI1 Turing Machines (TMs) Linear Bounded Automata (LBAs)
Introduction to Formal Languages and Automata
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Introduction to the Theory of Computation
CS 454 Theory of Computation Sonoma State University, Fall 2012 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
Lei Bu Preliminary Introduction to the Theory of Computation.
CS355 – Theory of Computation Dr. Aidan Mooney, September 2006 National University of Ireland, Maynooth Department of Computer Science.
CS 390 Introduction to Theoretical Computer Science.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
1 Section 14.2 A Hierarchy of Languages Context-Sensitive Languages A context-sensitive grammar has productions of the form xAz  xyz, where A is a nonterminal.
Introduction to the Theory of Computation Fall Semester, School of Information, Renmin University of China.
Saeid Pashzadeh Jan 2009 Theory of Computation 1.
CSC312 Automata Theory Lecture # 1 Introduction.
Computational Structures Tim Sheard & James Hook Portland State University Class Preliminaries.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 2:20-5:10 PM, Tuesday Place: BL 112.
Computation Theory 主講人:虞台文. Content Overview The Limitation of Computing Complexities Textbooks & Grading.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
1 A well-parenthesized string is a string with the same number of (‘s as )’s which has the property that every prefix of the string has at least as many.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
D E C I D A B I L I T Y 1. 2 Objectives To investigate the power of algorithms to solve problems. To explore the limits of algorithmic solvability. To.
1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades.
CS 461 – Nov. 7 Decidability concepts –Countable = can number the elements  –Uncountable = numbering scheme impossible  –A TM undecidable –Language classes.
September1999 CMSC 203 / 0201 Fall 2002 Week #15 – 2/4/6 December 2002 Prof. Marie desJardins.
CS130: Theory of Computation An introductory course on the theory of automata and formal languages: models of machines, languages and grammars, relationship.
CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Why Study Automata? What the Course is About Administrivia 1 Welcome to CSE309.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
CS 154 Formal Languages and Computability May 12 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
CS6800 Advance Theory of Computation Spring 2016 Nasser Alsaedi
Computation Theory Asia Mahdi. Textbooks Programs, Machines and Computation: An Introduction to the Theory of Computing - Authors: Keith Clark and Don.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Review : Theory of Computation. Regular Language and Finite Automata Context-free Language and Pushdown Automata Turing Machine and Recursive Enumerable.
COSC 5V90 Functional Programming and Interactive Theorem Proving
Formal Foundations-II [Theory of Automata]
Why Study Automata? What the Course is About Administrivia
Recursively Enumerable and Recursive Languages
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Review : Theory of Computation
CSCI 2670 Introduction to Theory of Computing
CSCE 355 Foundations of Computation
Course 2 Introduction to Formal Languages and Automata Theory (part 2)
Summary.
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
CSCE 411 Design and Analysis of Algorithms
Non-Deterministic Finite Automata
Automata and Formal Languages
Chapter 1 Regular Language
Sub: Theoretical Foundations of Computer Sciences
Theoretical Foundations of Computer Sciences
Non Deterministic Automata
Presentation transcript:

© M. Winter COSC/MATH 4P61 - Theory of Computation COSC/MATH 4P61 Theory of Computation Michael Winter –office: J323 –office hours: Mon & Fri, 10:00am-noon – course web page: Main Text –John E. Hopcroft, Rajeev Motwani, and Jeffrey Ullman: Introduction to Automata Theory, Languages, and Computation (3rd ed.), Addison-Wesley (2007).

© M. Winter COSC/MATH 4P61 - Theory of Computation Course Work Marking Scheme –Term Tests (3x20%) 60% –Final Exam 40% Term Test 1 (30 min): October 01, 2015 (in class) Term Test 2 (30 min): November 05, 2015 (in class) Term Test 3 (30 min): November 26, 2015 (in class)

© M. Winter COSC/MATH 4P61 - Theory of Computation Course Outline WeekDateTopic 1Sep 10Introduction, Formal Languages and Computability 2Sep 17Finite Automata & Regular Languages: Definition, Kleene's Theorem 3Sep 24 Finite Automata & Regular Languages: Minimalization, Closure Properties, Pumping Lemma for Regular Languages 4Oct 01Context-Free Languages, CFG's, Parse-Trees, Normal Forms of CFG's (Test 1) 5Oct 08 Pushdown Automata, Equivalence for PDA's and CFG's, Pumping Lemma for Context-Free Languages 6*6* Oct 22Turing Machines, Universal Turing Machines 7Oct 29Context-Sensitive Languages 8Nov 05Recursively Enumerable Languages (Test 2) 9Nov 12Undecidable Problems, Halting Problem 10Nov 19Partial Recursive Functions, Primitive Recursive Functions 11Nov 26Complexity (Test 3) 12Dec 03Complexity, P vs. NP * October is Fall Reading Week, no classes

© M. Winter COSC/MATH 4P61 - Theory of Computation Imaging the following situation: You are working in a software company and your boss has the idea to develop a new antivirus system. This program should analyse automatically any incoming program file and will do the following: If the program will harm your computer, it will be deleted. If the program will not harm your computer, it will be started. Do you want to be the team leader for this project? Computability – What’s the deal?

© M. Winter COSC/MATH 4P61 - Theory of Computation Imaging the following situation: You are working in a software company and your boss has the idea to develop a new antivirus system. This program should analyse automatically any incoming program file and will do the following: If the program will harm your computer, it will be deleted. If the program will not harm your computer, it will be started. Do you want to be the team leader for this project? Probably not, because this is a so-called undecidable problem, i.e., such a program does not exist. Computability – What’s the deal?

© M. Winter COSC/MATH 4P61 - Theory of Computation Let us consider functions of the form f : ℕ → ℕ and programs (in any language of your choice) that take a natural number as input and return a natural number. How many functions/program do we have? Non-computable Functions

© M. Winter COSC/MATH 4P61 - Theory of Computation Diagonalization

© M. Winter COSC/MATH 4P61 - Theory of Computation Let us consider functions of the form f : ℕ → ℕ and programs (in any language of your choice) that take a natural number as input and return a natural number. How many functions/program do we have? 1.There are uncountable many functions of this form. Non-computable Functions

© M. Winter COSC/MATH 4P61 - Theory of Computation Coding Strings by Numbers Suppose we have the alphabet. Then we can code every string over this alphabet as a number natural number to the base. Example:

© M. Winter COSC/MATH 4P61 - Theory of Computation Let us consider functions of the form f : ℕ → ℕ and programs (in any language of your choice) that take a natural number as input and return a natural number. How many functions/program do we have? 1.There are uncountable many functions of this form. 2.There are countable many programs of this kind. There are more non-computable functions than there are computable ones. Can we provide reasonable examples for non-computable functions? Non-computable Functions

© M. Winter COSC/MATH 4P61 - Theory of Computation What are typical examples of non-computable functions? How long does it take to compute a certain result? Which of the algorithms at hand is better? Can I solve my problem using language xyz? Is it possible to make my program faster? In order answer those questions we need mathematical models of computation. During this course we will consider: Potential Questions Functions on natural numbers Languages (sets of strings) Finite Automatons Grammars Pushdown Automatons Turing Machines Recursive Functions

© M. Winter COSC/MATH 4P61 - Theory of Computation Finite Automaton

© M. Winter COSC/MATH 4P61 - Theory of Computation Finite Automaton where

© M. Winter COSC/MATH 4P61 - Theory of Computation Finite Automaton

© M. Winter COSC/MATH 4P61 - Theory of Computation Nondeterministic Finite Automaton where

© M. Winter COSC/MATH 4P61 - Theory of Computation Nondeterministic Finite Automaton

© M. Winter COSC/MATH 4P61 - Theory of Computation NFA with ε-Moves where

© M. Winter COSC/MATH 4P61 - Theory of Computation NFA with ε-Moves