Introduction to the Theory of Computation

Slides:



Advertisements
Similar presentations
Pushdown Automata Section 2.2 CSC 4170 Theory of Computation.
Advertisements

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.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
CFG => PDA Sipser 2 (pages ).
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.
Costas Busch - RPI1 Pushdown Automata PDAs. Costas Busch - RPI2 Pushdown Automaton -- PDA Input String Stack States.
1 CSCI-2400 Models of Computation. 2 Computation CPU memory.
Courtesy Costas Busch - RPI1 Pushdown Automata PDAs.
Finite Automata Finite-state machine with no output. FA consists of States, Transitions between states FA is a 5-tuple Example! A string x is recognized.
Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Fall 2008.
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
CS5371 Theory of Computation General Info, Scope, Textbook Assessment, …
1 Normal Forms for Context-free Grammars. 2 Chomsky Normal Form All productions have form: variable and terminal.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
Fall 2006Costas Busch - RPI1 Pushdown Automata PDAs.
CS 490: Automata and Language Theory Daniel Firpo Spring 2003.
CS311 Automata and Complexity Theory. Admistrative Stuff Instructor: Shahab Baqai Room # 428, Ext 4428 Lectures:Mon & Wed 1530 – 1710.
Costas Busch - RPI1 CSCI-2400 Models of Computation.
Fall 2006Costas Busch - RPI1 The Chomsky Hierarchy.
Fall 2006Costas Busch - RPI1 CSCI-2400 Models of Computation.
A shorted version from: Anastasia Berdnikova & Denis Miretskiy.
Finite Automata Costas Busch - RPI.
Costas Busch - LSU1 Non-Deterministic Finite Automata.
Prof. Busch - LSU1 Pushdown Automata PDAs. Prof. Busch - LSU2 Pushdown Automaton -- PDA Input String Stack States.
Fall 2005Costas Busch - RPI1 Pushdown Automata PDAs.
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
CS 390 Introduction to Theoretical Computer Science.
CSC312 Automata Theory Lecture # 1 Introduction.
1 An Introduction to Formal Languages and Automata Provided by : Babak Salimi webAdd:
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.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
CSC312 Automata Theory Lecture # 1 Introduction.
CSC312 Automata Theory Lecture # 1 Introduction.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 2:20-5:10 PM, Tuesday Place: BL 112.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
Complexity and Computability Theory I Lecture #11 Instructor: Rina Zviel-Girshin Lea Epstein.
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.
Computer Theory Michael J. Watts
1 Formal Languages & Automata. 2 A formal language: Is an abstraction of the general characteristics of programming languages. Consists of a set of symbols.
Costas Busch - LSU1 Time Complexity. Costas Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
CSCI 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Pushdown.
Prof. Busch - LSU1 Time Complexity. Prof. Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
Theory of Computation Automata Theory Dr. Ayman Srour.
Costas Busch - RPI1 Decidability. Costas Busch - RPI2 Consider problems with answer YES or NO Examples: Does Machine have three states ? Is string a binary.
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).
Costas Busch - LSU1 Deterministic Finite Automata And Regular Languages.
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
Models of Computation.
Time Complexity Costas Busch - LSU.
Reductions Costas Busch - LSU.
Pushdown Automata PDAs
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
CSCI-2400 Models of Computation Costas Busch - RPI.
Non-Deterministic Finite Automata
Non-Deterministic Finite Automata
Pushdown automata a_introduction.htm.
CSCI-2400 Models of Computation.
The Off-Line Machine Input File read-only (once) Input string
Lecture One: Automata Theory Amjad Ali
The Chomsky Hierarchy Costas Busch - LSU.
Presentation transcript:

Introduction to the Theory of Computation CSC-4890 Introduction to the Theory of Computation Costas Busch - LSU

General Info about Course Instructor: Konstantin (Costas) Busch Books Introduction to the Theory of Computation, Michael Sipser An Introduction to Formal Languages and Automata, Peter Linz Costas Busch - LSU

Course Goals Provide computation Models Analyze power of Models Answer Intractability questions: What computational problems can each model solve? Answer Time Complexity questions: How much time we need to solve the problems? Costas Busch - LSU

A widely accepted model of computation memory CPU Costas Busch - LSU

The different components of memory temporary memory input CPU output Program memory Costas Busch - LSU

Example: temporary memory input CPU output Program memory compute Costas Busch - LSU

temporary memory input CPU output Program memory compute compute Costas Busch - LSU

temporary memory input CPU output Program memory compute compute Costas Busch - LSU

temporary memory input CPU Program memory output compute compute Costas Busch - LSU

Automaton temporary memory Automaton input CPU output Program memory Costas Busch - LSU

Automaton CPU+ProgramMem = States + Transitions temporary memory input output transition state CPU+ProgramMem = States + Transitions Costas Busch - LSU

Different Kinds of Automata Automata are distinguished by the temporary memory Finite Automata: no temporary memory Pushdown Automata: stack Turing Machines: random access memory Costas Busch - LSU

Memory affects computational power: More flexible memory results to The solution of more computational problems Costas Busch - LSU

Finite Automaton temporary memory input Finite Automaton output Example: Elevators, Vending Machines, Lexical Analyzers (small computing power) Costas Busch - LSU

Pushdown Automaton Stack Push, Pop input Pushdown Automaton output Temp. memory Stack Push, Pop input Pushdown Automaton output Example: Parsers for Programming Languages (medium computing power) Costas Busch - LSU

Turing Machine Random Access Memory input Turing Machine output Temp. memory Random Access Memory input Turing Machine output Examples: Any Algorithm (highest known computing power) Costas Busch - LSU

Power of Automata Finite Automata Pushdown Automata Turing Machine Simple problems More complex problems Hardest problems Finite Automata Pushdown Automata Turing Machine Less power More power Solve more computational problems Costas Busch - LSU

Turing Machine is the most powerful known computational model Question: can Turing Machines solve all computational problems? Answer: NO (there are unsolvable problems) Costas Busch - LSU

Time Complexity of Computational Problems: P problems: (Polynomial time problems) Solved in polynomial time NP-complete problems: (Non-deterministic Polynomial time problems) Believed to take exponential time to be solved Costas Busch - LSU