By: Er. Sukhwinder kaur.  Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do.

Slides:



Advertisements
Similar presentations
Theory of Computer Science - Algorithms
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.
CHAPTER 3 The Church-Turing Thesis
C SC 473 Automata, Grammars & Languages Automata, Grammars and Languages Discourse 01 Introduction.
Topics Automata Theory Grammars and Languages Complexities
Theory of Computation. General Concepts  Scope of course – Formal languages – Automata theory – Computability – Computational complexity.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Introduction to the Theory of Computation
1 Introduction to Automata Theory Reading: Chapter 1.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
CS 390 Introduction to Theoretical Computer Science.
1 i206: Lecture 18: Regular Expressions Marti Hearst Spring 2012.
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
L ECTURE 1 T HEORY OF C OMPUTATION Yasir Imtiaz Khan.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
CSC312 Automata Theory Lecture # 1 Introduction.
Chapter 11 Theory of Computation. © 2005 Pearson Addison-Wesley. All rights reserved 11-2 Chapter 11: Theory of Computation 11.1 Functions and Their 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.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
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.
Chapter 11 Theory of Computation © 2007 Pearson Addison-Wesley. All rights reserved.
Introduction Why do we study Theory of Computation ?
Finite-State Machines Fundamental Data Structures and Algorithms Peter Lee March 11, 2003.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
CSE 202 – Formal Languages and Automata Theory 1 REGULAR EXPRESSION.
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.
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).
Introduction Why do we study Theory of Computation ?
Introduction to Automata Theory
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Review : Theory of Computation. Regular Language and Finite Automata Context-free Language and Pushdown Automata Turing Machine and Recursive Enumerable.
CSE202: Introduction to Formal Languages and Automata Theory
Why Study Automata Theory and Formal Languages?
Formal Foundations-II [Theory of Automata]
Introduction to formal languages and automata
Chapter 12: Theory of Computation
Why do we study Theory of Computation ?
Non Deterministic Automata
Course 1 Introduction to Formal Languages and Automata Theory (part 1)
Deterministic FA/ PDA Sequential Machine Theory Prof. K. J. Hintz
Review : Theory of Computation
Linear Bounded Automata LBAs
Theory of Computation Theory of computation is mainly concerned with the study of how problems can be solved using algorithms.  Therefore, we can infer.
Chapter 11 Theory of Computation © 2007 Pearson Addison-Wesley.
Formal Language Theory
Course 2 Introduction to Formal Languages and Automata Theory (part 2)
Introduction to Automata Theory
Chapter 12: Theory of Computation
CSE322 The Chomsky Hierarchy
Why do we study Theory of Computation ?
Automata and Formal Languages (Final Review)
Non Deterministic Automata
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
P.V.G’s College of Engineering, Nashik
The Church-Turing Thesis and Turing-completeness
Sofya Raskhodnikova; Intro Theory of Computation
Presentation transcript:

by: Er. Sukhwinder kaur

 Computation Computation  Algorithm Algorithm  Objectives Objectives  What do we study in Theory of Computation ? What do we study in Theory of Computation ?  What do we study in Complexity Theory ? What do we study in Complexity Theory ?  History of Theory of Computation History of Theory of Computation

 Computation is a general term for any type of information processing that can be represented as an algorithm precisely (mathematically).  Examples:  Adding two numbers in our brains, on a piece of paper or using a calculator.  Converting a decimal number to its binary presentation or vise versa.  Finding the greatest common divisors of two numbers.  …

A very fundamental and traditional branch of Theory of Computation seeks: 1. A more tangible definition for the intuitive notion of algorithm which results in a more concrete definition for computation. 2. Finding the boundaries (limitations) of computation. back

 A finite sequence of simple instructions that is guaranteed to halt in a finite amount of time.  This is a very abstract definition, since: ◦ We didn’t specify the nature of this simple instructions.  For example an instruction can be “increment a number by one” or “Calculate the triple integral” ◦ We didn’t specify the entity which can execute these instructions.  For example is this entity a person, a computer, …  If it is a computer what is the processor type? How much memory does it have? …. ? back

 Introduce concepts in automata theory and theory of computation  Identify different formal language classes and their relationships  Design grammars and recognizers for different formal languages  Prove or disprove theorems in automata theory using its properties  Determine the decidability and intractability of computational problems back

What is computable, and what is not ? Basis of Algorithm analysis Complexity theory  What a computer can and cannot do  Are you trying to write a non-existing program?  Can you make your program more efficient? back

 What is easy, and what is difficult, to compute ?  What is easy, and what is hard for computers to do?  Is your cryptographic scheme safe? back

 Analysis of algorithms  Complexity Theory  Cryptography  Compilers  Circuit design

 1936 Alan Turing invented the Turing machine, and proved that there exists an unsolvable problem.  1940’s Stored-program computers were built.  1943 McCulloch and Pitts invented finite automata.  1956 Kleene invented regular expressions and proved the equivalence of regular expression and finite automata.

 1956 Chomsky defined Chomsky hierarchy, which organized languages recognized by different automata into hierarchical classes.  1959 Rabin and Scott introduced nondeterministic finite automata and proved its equivalence to (deterministic) finite automata.  1950’s-1960’s More works on languages, grammars, and compilers back

Thank You