CSCI 2670 Introduction to Theory of Computing October 12, 2005.

Slides:



Advertisements
Similar presentations
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Advertisements

Variants of Turing machines
1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
More Turing Machines Sipser 3.2 (pages ). CS 311 Fall Multitape Turing Machines Formally, we need only change the transition function to.
1 Introduction to Computability Theory Discussion1: Non-Deterministic Finite Automatons Prof. Amos Israeli.
Decidable languages Sipser 4.1 (pages ). CS 311 Mount Holyoke College 2 Hierarchy of languages All languages Turing-recognizable Turing-decidable.
CSCI 2670 Introduction to Theory of Computing October 19, 2005.
Courtesy Costas Busch - RPI1 Non Deterministic Automata.
Fall 2006Costas Busch - RPI1 Regular Expressions.
Decidability. Why study un-solvability? When a problem is algorithmically unsolvable, we realize that the problem must be simplified or altered before.
Lecture 5 Turing Machines
CS 310 – Fall 2006 Pacific University CS310 Decidability Section 4.1/4.2 November 10, 2006.
1 Single Final State for NFAs and DFAs. 2 Observation Any Finite Automaton (NFA or DFA) can be converted to an equivalent NFA with a single final state.
Fall 2004COMP 3351 Reducibility. Fall 2004COMP 3352 Problem is reduced to problem If we can solve problem then we can solve problem.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 6 Decidability Jan Maluszynski, IDA, 2007
Foundations of (Theoretical) Computer Science Chapter 4 Lecture Notes (Section 4.1: Decidable Languages) David Martin With modifications.
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
1 Non-Deterministic Automata Regular Expressions.
Fall 2004COMP 3351 Another NFA Example. Fall 2004COMP 3352 Language accepted (redundant state)
Costas Busch - LSU1 Non-Deterministic Finite Automata.
CS5371 Theory of Computation Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)
Remaining Topics Decidability Concept 4.1 The Halting Problem 4.2
CSCI 2670 Introduction to Theory of Computing November 4, 2004.
Computability Construct TMs. Decidability. Preview: next class: diagonalization and Halting theorem.
Prof. Busch - LSU1 NFAs accept the Regular Languages.
CSCI 2670 Introduction to Theory of Computing September 1, 2005.
Decidable languages Section 4.1 CSC 4170 Theory of Computation.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
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.
Regular Expressions Costas Busch - LSU.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Recursively Enumerable and Recursive Languages
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
CSCI 2670 Introduction to Theory of Computing September 7, 2004.
 2005 SDU Lecture11 Decidability.  2005 SDU 2 Topics Discuss the power of algorithms to solve problems. Demonstrate that some problems can be solved.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Decidable.
The Church-Turing Thesis
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Non Deterministic Automata
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Reductions Costas Busch - LSU.
CSE 105 theory of computation
CSE 2001: Introduction to Theory of Computation Fall 2013
CSCI 2670 Introduction to Theory of Computing
CSE 105 theory of computation
Intro to Theory of Computation
Non-Deterministic Finite Automata
Non-Deterministic Finite Automata
CSCI 2670 Introduction to Theory of Computing
Non Deterministic Automata
CSC 4170 Theory of Computation Decidable languages Section 4.1.
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Theory of Computability
CSCI 2670 Introduction to Theory of Computing
CSE 105 theory of computation
CSCI 2670 Introduction to Theory of Computing
CSCI 2670 Introduction to Theory of Computing
Intro to Theory of Computation
CSCI 2670 Introduction to Theory of Computing
CSE 105 theory of computation
Presentation transcript:

CSCI 2670 Introduction to Theory of Computing October 12, 2005

2 Agenda Yesterday –Enumerators Equivalence of enumerators and TM’s –Definition of algorithm Church-Turing thesis –Decidable languages Today –More on DFA’s and decidability Tomorrow –CFG’s and decidability

October 12, Decidable languages A language is decidable if some Turing machine decides it –Every string in  * is either accepted or rejected Not all languages can be decided by a Turing machine

October 12, Some decidable languages A DFA = { | B is a DFA that accepts input string w} A NFA = { | B is an NFA that accepts input string w} A REX = { | R is a regular expression that generates string w}

October 12, Emptiness testing problem Consider the language E DFA = { | A is a DFA and L(A) =  } Theorem: E DFA is a decidable language Proof: Consider the following TM, T T = “On input string, where A is a DFA 1.Mark the start state 2.Repeat until no new states get marked  Mark any state that has a transition coming into it from any state already marked 3.If no accept states are marked, accept. Otherwise, reject.”

October 12, DFA equivalence problem EQ DFA = { | A and B are DFA’s and L(A) = L(B)} Theorem: EQ DFA is a decidable language Proof: Consider the following language (L(A)  L(B))  (L(A)  L(B))

October 12, DFA equivalence problem (L(A)  L(B))  (L(A)  L(B)) L(A)L(B)

October 12, DFA equivalence problem EQ DFA = { | A and B are DFA’s and L(A) = L(B)} Theorem: EQ DFA is a decidable language Proof: Consider DFA C that accepts L(C) = (L(A)  L(B))  (L(A)  L(B)) How do we know such a DFA exists? If L(C) = , then L(A) = L(B)

October 12, TM that decides EQ DFA Q = “On input string, where A and B are DFAs 1.Create DFA C such that L(C) = (L(A)  L(B))  (L(A)  L(B)) 2.Submit C to Turing machine T that decides E DFA 3.If T accepts C, accept. Otherwise, reject.”