Formal Foundations-II [Theory of Automata]

Slides:



Advertisements
Similar presentations
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.
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.
Recap CS605: The Mathematics and Theory of Computer Science.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
1 CSCI-2400 Models of Computation. 2 Computation CPU memory.
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, …
Dr. Muhammed Al-Mulhem 1ICS ICS 535 Design and Implementation of Programming Languages Part 1 Computability (Chapter 2) ICS 535 Design and Implementation.
UMass Lowell Computer Science Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009.
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2009 with acknowledgement.
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 CSCI-2400 Models of Computation.
A shorted version from: Anastasia Berdnikova & Denis Miretskiy.
Prof. Busch - LSU1 Pushdown Automata PDAs. Prof. Busch - LSU2 Pushdown Automaton -- PDA Input String Stack States.
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.
1 CSCI 2400 section 3 Models of Computation Instructor: Costas Busch.
Introduction to the Theory of Computation
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
CS355 – Theory of Computation Dr. Aidan Mooney, September 2006 National University of Ireland, Maynooth Department of Computer Science.
Introduction to the Theory of Computation
CS 390 Introduction to Theoretical Computer Science.
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.
Saeid Pashzadeh Jan 2009 Theory of Computation 1.
CSC312 Automata Theory Lecture # 1 Introduction.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
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.
Costas Busch - LSU1 Time Complexity. Costas Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
Why Study Automata? What the Course is About Administrivia 1 Welcome to CSE309.
Copyright © Curt Hill Other Automata Pushdown through Turing machines.
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.
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).
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
NP-Completeness A problem is NP-complete if: It is in NP
Why Study Automata? What the Course is About Administrivia
Introduction to the Theory of Computation
G. Pullaiah College of Engineering and Technology
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Introduction to the Theory of Computation
Models of Computation.
Course 1 Introduction to Formal Languages and Automata Theory (part 1)
Time Complexity Costas Busch - LSU.
G. Pullaiah College of Engineering and Technology
Pushdown Automata PDAs
Pushdown Automata PDAs
Pushdown Automata PDAs
AUTOMATA THEORY VI.
Intro to Theory of Computation
CSCI-2400 Models of Computation Costas Busch - RPI.
Deterministic Finite Automata And Regular Languages Prof. Busch - LSU.
Non-Deterministic Finite Automata
CSCI-2400 Models of Computation.
Principles of Computing – UFCFA3-30-1
Lecture One: Automata Theory Amjad Ali
Formal Languages and Automata Theory BODDEDA HARITHA LAKSHMI,
The Chomsky Hierarchy Costas Busch - LSU.
Normal Forms for Context-free Grammars
Sofya Raskhodnikova; Intro Theory of Computation
Automata theory and formal languages COS 3112 – AUTOMATA THEORY PRELIM PERIOD WEEK 1 AND 2.
Presentation transcript:

Formal Foundations-II [Theory of Automata] Dr. Malik Jahan Khan Assistant Professor (Computer Science) malik.jahan@namal.edu.pk

Course Organization Text Book: Michael Sipser, “Introduction to Theory of Computation”, Course Technology, MIT Weights: Homeworks Formative Quizzes Formative Midterm 15% Final Exam 75%

What we will do Automata = abstract computing devices Turing studied Turing Machines (= computers) before there were any real computers We will also look at simpler devices than Turing machines (Finite State Automata, Pushdown Automata, . . . ), and specification means, such as grammars and regular expressions. NP-hardness = what cannot be efficiently computed

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? Prof. Busch - LSU

A widely accepted model of computation memory CPU Prof. Busch - LSU

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

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

temporary memory input CPU output Program memory compute compute Prof. Busch - LSU

temporary memory input CPU output Program memory compute compute Prof. Busch - LSU

temporary memory input CPU Program memory output compute compute Prof. Busch - LSU

Automaton temporary memory Automaton input CPU output Program memory Prof. Busch - LSU

Automaton CPU+ProgramMem = States + Transitions temporary memory input output transition state CPU+ProgramMem = States + Transitions Prof. 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 Prof. Busch - LSU

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

Finite Automaton temporary memory input Finite Automaton output Example: Elevators, Vending Machines, Lexical Analyzers (small computing power) Prof. 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) Prof. 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) Prof. 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 Prof. 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) Prof. 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 Prof. Busch - LSU