1 CS 3261 Computability Course Summary Zeph Grunschlag.

Slides:



Advertisements
Similar presentations
Simplifications of Context-Free Grammars
Advertisements

Variations of the Turing Machine
PDAs Accept Context-Free Languages
ALAK ROY. Assistant Professor Dept. of CSE NIT Agartala
Source of slides: Introduction to Automata Theory, Languages and Computation.
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Formal Models of Computation Part III Computability & Complexity
Reductions Complexity ©D.Moshkovitz.
Lecture 10: Context-Free Languages Contextually David Evans
Measuring Time Complexity
Chapter 11: Models of Computation
Turing Machines.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 17: ProvingUndecidability.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 11: Parsimonious Parsing.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
How to convert a left linear grammar to a right linear grammar
Formal Languages: main findings so far A problem can be formalised as a formal language A formal language can be defined in various ways, e.g.: the language.
25 seconds left…...
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
Finite-state Recognizers
Conjunctive Grammars and Alternating Automata Tamar Aizikowitz and Michael Kaminski Technion – Israel Institute of Technology WoLLIC 2008 Heriot-Watt University.
Week 1.
1 Let’s Recapitulate. 2 Regular Languages DFAs NFAs Regular Expressions Regular Grammars.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Copyright © 2012 Pearson Education, Inc. Chapter 12: Theory of Computation Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear.
PSSA Preparation.
Introduction to Computability Theory
1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the.
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
The Pumping Lemma for CFL’s
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 13: Turing Machines.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
8/25/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 1 Theory of Computation Course information Overview of the area Finite Automata Sofya.
Recap CS605: The Mathematics and Theory of Computer Science.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Foundations of (Theoretical) Computer Science Chapter 4 Lecture Notes (Section 4.1: Decidable Languages) David Martin With modifications.
CS 490: Automata and Language Theory Daniel Firpo Spring 2003.
CS21 Decidability and Tractability
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Remaining Topics Decidability Concept 4.1 The Halting Problem 4.2
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
CS490 Presentation: Automata & Language Theory Thong Lam Ran Shi.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Decidable languages Section 4.1 CSC 4170 Theory of Computation.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
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.
CS130: Theory of Computation An introductory course on the theory of automata and formal languages: models of machines, languages and grammars, relationship.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Finite-State Machines Fundamental Data Structures and Algorithms Peter Lee March 11, 2003.
1 Unit – 5 : STATE MACHINES Syllabus: Languages and Grammars – Finite State Machines State machines and languages – Turing Machines – Computational Complexity.
CS 154 Formal Languages and Computability May 12 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
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).
Formal Foundations-II [Theory of Automata]
CSE 105 theory of computation
Linear Bounded Automata LBAs
CSE 105 theory of computation
Summary.
Jaya Krishna, M.Tech, Assistant Professor
Automata and Formal Languages (Final Review)
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CSE 105 theory of computation
Sub: Theoretical Foundations of Computer Sciences
Presentation transcript:

1 CS 3261 Computability Course Summary Zeph Grunschlag

2 Announcements Last hw due now Look out for a final exam practice problems coming out over the weekend I will hold final review session on Tuesday 12/11, 3-5 pm, 833 Mudd. Pick-up final hws. I will hold daily OHs next week and Monday 12/17, 12:00-1:30 except Thursday, 12/13 Final exam: Tuesday 12/18, 9-12, 833 Mudd

3 Computability Concepts AIM: Reduce Computer Science to its bare theoretical essentials. APPROACH: Algorithmic Problems Formal Languages

4 Formal Languages Fundamental insight of Theoretical CS: By understanding how formal languages can be computed, will understand how any algorithmic problem can be solved. Algorithmic input/output problems involve creating procedures for procuring outputs from given inputs. Can be turned into a formal languages by re-writing as yes/no questions. EG: Find the shortest path… becomes Is there a path shorter than…

5 Computability Concepts AIM: Reduce Computer Science to its bare theoretical essentials. Algorithmic Problems Formal Languages Computers Graph based machine models Questions to investigate: 1) What sorts of problems can be solved by each computer model? 2) What languages does each model accept? 3) What are the practical limits on what a computer can do?

6 Abstract Machine Models DFAs DFAs model computers with strictly bounded memory a b b a a,b

7 Abstract Machine Models DFAs Q: Whats the accepted language? a b b a a,b

8 Abstract Machine Models DFAs A: a*b a b b a a,b

9 Abstract Machine Models NFAs Nondeterminism is a powerful concept. Often 1 st view of a problem is nondeterministic a a b a a,b

10 Abstract Machine Models NFAs Q: Whats the accepted language? a a b a a,b

11 Abstract Machine Models NFAs A: a + b* a a b a a,b

12 Abstract Machine Models PDAs By allowing a pushdown stack, increase flexibility and accept more languages a, X b,X 0 $ $

13 Abstract Machine Models PDAs Q: Whats the accepted language? 12 3 a, X b,X 0 $ $

14 Abstract Machine Models PDAs A: {a n b n | n 0} 12 3 a, X b,X 0 $ $

15 Abstract Machine Models TMs By allowing a read-write tape, amazingly get most general possible computer model! 12 X R 0 1 $,R L acc 34 X L $ L 1 L $ R 1 X,R 1 R X R X L 5 1 L 1|X L

16 Abstract Machine Models TMs Q: Whats the accepted language? 12 X R 0 1 $,R L acc 34 X L $ L 1 L $ R 1 X,R 1 R X R X L 5 1 L 1|X L

17 Abstract Machine Models TMs A: Unary powers of X R 0 1 $,R L acc 34 X L $ L 1 L $ R 1 X,R 1 R X R X L 5 1 L 1|X L

18 I/O Versions Each class of languages has its own I/O version. Regular: Finite State Transducers More powerful models exist (e.g. with s) Context free: (didnt study any) Compilers: Input is a string, output is a parse-tree (or even executable code) Turing Machines: I/O TMs

19 Robust Formal Language Classes Turns out these models are very robust Many equivalent ways to generate same classes: Regular languages FAs, NFAs, Regular Expressions, Right-Linear Grammars Context Free Languages PDAs, Context Free Grammars Recognizable languages –Church-Turing thesis TMs, k-tape machines, k-track machines NTMs, Queue Machines, 2-Stack PDAs, RAMs, Unrestricted Grammars Complexity classes P and NP For NP: Poly. NTMs, Poly. Verifiers, Poly. Proofs We learned algorithms for converting between most of the different views Language classes closed under natural operations.

20 System Design Often computer system creation involves designing a formal language to describe system communication. Components receive communication streams and have to effect actions based on these. Computability theory can help drive design at a high level. EG: Might come up with a communication stream thats seems like regular language. Could then show that it isnt using pumping lemma. With this knowledge, final design tweaks original to obtain a regular language and therefore DFA based ultra-fast and super-reliable system components!

21 Negative Examples As above, it is very important to be able to tell when particular languages cannot be accepted by a certain model of computation. We have several tools at our disposal: Irregularity: pumping lemma (PL) Non-Context-Freeness: CFPL Undecidability: Reductions from undecidable languages Intractability: Poly-time reduction from NP- hard languages

22 System Design Learned useful concepts that can help modularization when designing systems. Often can express a language as a union, intersection, negation, concatenation or Kleene-* of simpler languages. More complex language may be put together by using simple components along with off the shelf reconstruction techniques:

Language Design Class Negate Concat. Kleene- * DFAs Cartesian Product Accept Non-accepts NFAs Parallel Cartesian Product SerialLoop PDAs Parallel SerialLoop Deciders Run in parallel Accept Non-accepts Break string up Recursive algorithm Recognizers Run in parallel

24 Language Class Hierarchy All REC = accepted by TM DEC = decided by TM Context Free Deterministic Context Free Regular = accepted by FAs Finite languages

25 Known Complexity Hierarchy Get the following RAM hierarchy diagram: REC DEC P TIME(n) CFL TIME(n 3 ) REG EQ REX

26 Unknown Complexity Hierarchy Decidable NP NP but not NP-hard P Finite languages Does anything exist here?

27 Conjectured Hierarchy Inside of DEC most conjecture: DEC NP P co-NP NP complete PRIME SAT

28 Follow-ups to Computability Related Electives: Analysis of Algorithms 4231 (fall) Computational Complexity 4236 (spring) Cryptography –generic course no (this Spring with Michael Rabin!!!) Courses Requiring Computability: Programming Languages and Translators 4115 (every semester) Compilers 4117 (this Spring with Al Aho!!!) Portions of several other courses

29 Final Remarks With the horrors at the beginning of the semester….

30 Final Remarks Thanks for putting in the effort and helping make this my best semester thus far!