January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.

Slides:



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

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.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Lecture 24 MAS 714 Hartmut Klauck
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.
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Pages COMPUTABILITY THEORY.
1 Welcome to CS105 and Happy and fruitful New Year שנה טובה (Happy New Year)
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
January 7, 2015CS21 Lecture 21 CS21 Decidability and Tractability Lecture 2 January 7, 2015.
CIT 596 Theory of computing Traditional course (CIS 511, CIS 262) and other similarly named courses in other universities are divided into 3 parts that.
CS21 Decidability and Tractability
Computability and Complexity 5-1 Classifying Problems Computability and Complexity Andrei Bulatov.
1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Introduction to Computability Theory
Welcome to CSE105 and Happy and fruitful New Year
CS5371 Theory of Computation
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Fall 2008.
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2009 with acknowledgement.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
Introduction to Finite Automata Adapted from the slides of Stanford CS154.
David Evans cs302: Theory of Computation University of Virginia Computer Science Lecture 2: Modeling Computers.
CS21 Decidability and Tractability
Class 19: Undecidability in Theory and Practice David Evans cs302: Theory of Computation University of Virginia Computer.
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
 2004 SDU Introduction to the Theory of Computation My name: 冯好娣 My office: 计算中心 430
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
Introduction to the Theory of Computation
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
1 Unit 1: Automata Theory and Formal Languages Readings 1, 2.2, 2.3.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Pushdown Automata CS 130: Theory of Computation HMU textbook, Chap 6.
Theory of Computation - Lecture 3 Regular Languages What is a computer? Complicated, we need idealized computer for managing mathematical theories... Hence:
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Part 1 – Pages COMPUTABILITY THEORY.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2010 with acknowledgement.
Lecture Notes 
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
Turing Machines CS 130 Theory of Computation HMU Textbook: Chap 8.
Turing Machines- Cont. Theory of Computation Lecture 11 Tasneem Ghnaimat.
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).
Theory of Computation Automata Theory Dr. Ayman Srour.
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]
Why Study Automata? What the Course is About Administrivia
Introduction to the Theory of Computation
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Turing Machines.
Jaya Krishna, M.Tech, Assistant Professor
CS21 Decidability and Tractability
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CS21 Decidability and Tractability
Decidability and Tractability
Lecture One: Automata Theory Amjad Ali
Presentation transcript:

January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015

CS21 Lecture 12 Outline administrative stuff motivation and overview of the course problems and languages Finite Automata

January 5, 2015CS21 Lecture 13 Administrative Stuff Text: Introduction to the Theory of Computation – 3 rd Edition by Mike Sipser Lectures self-contained Weekly homework –collaboration in groups of 2-3 encouraged –separate write-ups (clarity counts) Midterm and final –indistinguishable from homework except cumulative, no collaboration allowed

January 5, 2015CS21 Lecture 14 Administrative Stuff No programming in this course Things I assume you are familiar with: –programming and basic algorithms –asymptotic notation “big-oh” –sets, graphs –proofs, especially induction proofs

January 5, 2015CS21 Lecture 15 Motivation/Overview This course: introduction to Theory of Computation –what does it mean? –why do we care? –what will this course cover?

January 5, 2015CS21 Lecture 16 Motivation/Overview Algorithms Systems and Software Design and Implementation Computability and Complexity Theory

January 5, 2015CS21 Lecture 17 Motivation/Overview At the heart of programs lie algorithms To study algorithms we must be able to speak mathematically about: –computational problems –computers –algorithms

January 5, 2015CS21 Lecture 18 Motivation/Overview In a perfect world –for each problem we would have an algorithm –the algorithm would be the fastest possible (requires proof that no others are faster) What would CS look like in this world?

January 5, 2015CS21 Lecture 19 Motivation/Overview Our world (fortunately) is not so perfect: –not all problems have algorithms (we will prove this) –for many problems we know embarrassingly little about what the fastest algorithm is multiplying two integers factoring an integer into primes determining shortest tour of given n cities –for certain problems, fast algorithms would change the world (we will see this)

January 5, 2015CS21 Lecture 110 Motivation/Overview Part One: computational problems, models of computation, characterizations of the problems they solve, and limits on their power Finite Automata and Regular Languages Pushdown Automata and Context Free Grammars

January 5, 2015CS21 Lecture 111 Motivation/Overview Part Two: Turing Machines, and limits on their power (undecidability), reductions between problems Part Three: complexity classes P and NP, NP- completeness, limits of efficient computation

January 5, 2015CS21 Lecture 112 Main Points of Course (un)-decidability Some problems have no algorithms! (in)-tractability Many problems that we’d like to solve probably have no efficient algorithms! (no one knows how to prove this yet…)

January 5, 2015CS21 Lecture 113 What is a problem? Some examples: –given n integers, produce a sorted list –given a graph and nodes s and t, find the (first) shortest path from s to t –given an integer, find its prime factors problem associates each input to an output input and output are strings over a finite alphabet Σ

January 5, 2015CS21 Lecture 114 What is a problem? A problem is a function: f:Σ * → Σ * Simple. Can we make it simpler? Yes. Decision problems: f:Σ * → {accept, reject} Does this still capture our notion of problem, or is it too restrictive?

January 5, 2015CS21 Lecture 115 What is a problem? Example: factoring: –given an integer m, find its prime factors f factor : {0,1} * → {0,1} * Decision version: –given 2 integers m,k, accept iff m has a prime factor p < k Can use one to solve the other and vice versa. True in general (homework).

January 5, 2015CS21 Lecture 116 What is a problem? For most of this course, a problem is a decision problem: f:Σ * → {accept, reject} Equivalent notion: language L  Σ * the set of strings that map to “accept” Example: L = set of pairs (m,k) for which m has a prime factor p < k

January 5, 2015CS21 Lecture 117 What is computation? the set of strings that lead to “accept” is the language recognized by this machine if every other string leads to “reject”, then this language is decided by the machine machine input accept reject loop forever

January 5, 2015CS21 Lecture 118 Terminology finite alphabet Σ : a set of symbols language L  Σ * : subset of strings over Σ a machine takes an input string and either –accepts, rejects, or –loops forever a machine recognizes the set of strings that lead to accept a machine decides a language L if it accepts x  L and rejects x  L

January 5, 2015CS21 Lecture 119 What goes inside the box? We want the simplest mathematical formalization of computation possible. Strategy: –endow box with a feature of computation –try to characterize the languages decided –identify language we “know” real computers can decide that machine cannot –add new feature to overcome limits machine input accept reject loop forever

January 5, 2015CS21 Lecture 120 Finite Automata simple model of computation reads input from left to right, one symbol at a time maintains state: information about what seen so far (“memory”) –finite automaton has finite # of states: cannot remember more things for longer inputs 2 ways to describe: by diagram, or formally

January 5, 2015CS21 Lecture 121 FA diagrams read input one symbol at a time; follow arrows; accept if end in accept state states (single) start state (several) accept states 1 alphabet Σ = {0,1} 0 0,1 transition for each symbol

January 5, 2015CS21 Lecture 122 FA operation Example of FA operation: 1 0 0,1 input:0101 not accepted

January 5, 2015CS21 Lecture 123 FA operation Example of FA operation: 1 0 0,1 input:101 accepted What language does this FA recognize? L = {x : x  {0,1}*, x 1 = 1}