1 Lecture 11 Studying structure of REC –Complexity theory overview –Automata theory preview Motivating Problem –string searching.

Slides:



Advertisements
Similar presentations
Formal Models of Computation Part III Computability & Complexity
Advertisements

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.
Programming Languages Wrap-up. Your Toolkit Object-oriented Imperative Functional Logic.
Recap CS605: The Mathematics and Theory of Computer Science.
1 CSC3130 Formal Languages and Automata Theory Tutorial 9 Undecidable Problem KN Hung SHB 1026.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
1 Lecture 4 Topics –Problem solving Subroutine Theme –REC language class The class of solvable problems Closure properties.
Tractable and intractable problems for parallel computers
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
1 Module 2: Fundamental Concepts Problems Programs –Programming languages.
1 Module 15 FSA’s –Defining FSA’s –Computing with FSA’s Defining L(M) –Defining language class LFSA –Comparing LFSA to set of solvable languages (REC)
Lecture 9 Recursive and r.e. language classes
1 Lecture 14 Language class LFSA –Study limits of what can be done with FSA’s –Closure Properties –Comparing to other language classes.
1 Module 13 Studying the internal structure of REC, the set of solvable problems –Complexity theory overview –Automata theory preview Motivating Problem.
1 Module 9 Recursive and r.e. language classes –representing solvable and half-solvable problems Proofs of closure properties –for the set of recursive.
1 Lecture 21 Regular languages review –Several ways to define regular languages –Two main types of proofs/algorithms Relative power of two computational.
Lecture 2: Fundamental Concepts
Module 5 Topics Proof of the existence of unsolvable problems
1 Lecture 1: Course Overview Course: CSE 360 Instructor: Dr. Eric Torng TA: Huamin Chen.
1 Module 7 Halting Problem –Fundamental program behavior problem –A specific unsolvable problem –Diagonalization technique revisited Proof more complex.
1 Lecture 10 Proving more specific problems are not recursive Reduction technique –Use subroutine theme to show that if one problem is unsolvable, so is.
1 Lecture 7 Halting Problem –Fundamental program behavior problem –A specific unsolvable problem –Diagonalization technique revisited Proof more complex.
The Theory of NP-Completeness
Recursion: Overview What is Recursion? Reasons to think recursively? An Example How does recursion work?
1 Lecture 16 FSA’s –Defining FSA’s –Computing with FSA’s Defining L(M) –Defining language class LFSA –Comparing LFSA to set of solvable languages (REC)
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
1 Lecture 7 Halting Problem –Fundamental program behavior problem –A specific unsolvable problem –Diagonalization technique revisited Proof more complex.
1 Lecture 16 FSA’s –Defining FSA’s –Computing with FSA’s Defining L(M) –Defining language class LFSA –Comparing LFSA to set of solvable languages (REC)
1 Lecture 18 Closure Properties of Language class LFSA –Remember ideas used in solvable languages unit –Set complement –Set intersection, union, difference,
1 Lecture 11 Proving more specific problems are not solvable Input transformation technique –Use subroutine theme to show that if one problem is unsolvable,
1 Lecture 7 Topics –Problems about program behavior At least problem input is a program/algorithm –Halting Problem Fundamental problem about program behavior.
1 Lecture 36 Attempt to prove that CFL’s are closed under intersection –Review previous constructions –Translate previous constructions to current setting.
1 Module 4: Formal Definition of Solvability Analysis of decision problems –Two types of inputs:yes inputs and no inputs –Language recognition problem.
Recursion Chapter 7. Chapter 7: Recursion2 Chapter Objectives To understand how to think recursively To learn how to trace a recursive method To learn.
1 Lecture 11 Proving more specific problems are not solvable Input transformation technique –Use subroutine theme to show that if one problem is unsolvable,
Hardness Results for Problems P: Class of “easy to solve” problems Absolute hardness results Relative hardness results –Reduction technique.
1 Module 10 Recursive and r.e. language classes –representing solvable and half-solvable problems Proofs of closure properties –for the set of recursive.
Hardness Results for Problems
1 Lecture 6 Topics –Proof of the existence of unsolvable problems Problems/languages not in REC Proof Technique –There are more problems/languages than.
1 Lecture 14 Studying the internal structure of REC, the set of solvable problems –Complexity theory overview –Automata theory preview Motivating Problem.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
Introduction to the Theory of Computation
Automata, Computability, and Complexity Lecture 1 Section 0.1 Wed, Aug 22, 2007.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
Introduction to Theory of Automata
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Models of Computation. Computation: Computation is a general term for any type of information processing information processing CPU memory.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,
CSCI 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Pushdown.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
1 Module 17 Closure Properties of Language class LFSA –Remember ideas used in solvable languages unit –Set complement –Set intersection, union, difference,
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
Lecture 16b Turing Machines Topics: Closure Properties of Context Free Languages Cocke-Younger-Kasimi Parsing Algorithm June 23, 2015 CSCE 355 Foundations.
Computability. Turing Machines Read input letter & tape letter, write tape letter, move left or right.
Computation Theory Asia Mahdi. Textbooks Programs, Machines and Computation: An Introduction to the Theory of Computing - Authors: Keith Clark and Don.
Lecture #5 Advanced Computation Theory Finite Automata.
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
Formal Foundations-II [Theory of Automata]
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Introduction to the Theory of Computation
CSE322 Recursive and Recursively enumerable sets
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
15th Scandinavian Workshop on Algorithm Theory
Presentation transcript:

1 Lecture 11 Studying structure of REC –Complexity theory overview –Automata theory preview Motivating Problem –string searching

2 Studying REC Complexity Theory Automata Theory

3 Current picture of all languages  ll Languages RE-REC  ll languages - RE Half Solvable Unsolvable Which language class should be studied further? REC Solvable REC Solvable

4 Complexity Theory In complexity theory, we differentiate problems by how hard a problem is to solve –Remember, all recursive problems are solvable How do we measure the hardness of a problem? –measure resources required to solve a problem –typical resources are running time memory REC RE - REC All languages - RE

5 Picture of REC Informal Definition: A problem L 1 is easier than problem L 2 if problem L 1 can be solved in less time than problem L 2. P: the set of problems which can be solved in polynomial time Major goal: Identify whether or not a problem belongs to P P Rest of REC REC RE - REC All languages - RE

6 Working with P PRest of REC How do you prove a problem L is in P? –Show there exists a program P which solves L in polynomial time How do you prove a problem L is not in P? –You must prove that no program P solves L in polynomial time –We are not very good at this. –For a large class of interesting problems, we have techniques (reductions) which show a problem L probably is not in P, but few which prove it.

7 Automata Theory In automata theory, we will define new models of computation which we call automata –Finite State Automata (FSA) –Pushdown Automata (PDA) Key concept –FSA’s and PDA’s are restricted models of computation We take away capabilities and resources –We then identify which problems can be solved using FSA’s and PDA’s REC RE - REC All languages - RE

8 New language classes REC is the set of solvable languages when we start with a general model of computation like C ++ programs We want to identify what subset of REC can be solved when using these restricted automata Rest of REC Solvable by FSA’s and PDA’s Solvable by PDA’s REC RE - REC All languages - RE

9 Recap Complexity Theory –Studies structure of REC –Method: analyze resources (processing time) used to solve a problem Automata Theory –Studies structure of REC –Method: define automata with restricted capabilities and resources and see what they can solve (and what they cannot solve) –This theory also has important implications in the development of programming languages and compilers

10 Motivating Problem String Searching

11 String Searching Input –String x –String y Tasks –Return location of y in string x –Does string y occur in string x? Can you identify applications of this type of problem in real life? Try and develop a solution to this problem.

12 String Searching II Input –String x –pattern y Tasks –Return location of y in string x –Does pattern y occur in string x? Pattern –[anything].html –$EN4$$ Do you see applications for this in real life? Try and develop a solution to this problem.

13 String Searching We will show an easy way to solve these string searching problems In particular, we will show that we can solve these problems in the following manner –write down the pattern –the computer automatically turns this into a program which performs the actual string search