×
its time to be "SERIOUS".
--Your friends at LectureNotes

Note for Theory Of Computation - TC by Shubham Pal

• Theory Of Computation - TC
• Note
• Computer Science Engineering
• B.Tech
• 9 Topics
• 5067 Views
• Uploaded 1 year ago
0 User(s)

Text from page-1

BCS 303 THEORY OF COMPUTATION (3-1-0) Cr.-4 Module – I (10 Lectures) Introduction to Automata: The Methods Introduction to Finite Automata, Structural Representations, Automata and Complexity. Proving Equivalences about Sets, The Contrapositive, Proof by Contradiction, Inductive Proofs: General Concepts of Automata Theory: Alphabets Strings, Languages, Applications of Automata Theory. Finite Automata: The Ground Rules, The Protocol, Deterministic Finite Automata: Definition of a Deterministic Finite Automata, How a DFA Processes Strings, Simpler Notations for DFA’s, Extending the Transition Function to Strings, The Language of a DFA Nondeterministic Finite Automata: An Informal View. The Extended Transition Function, The Languages of an NFA, Equivalence of Deterministic and Nondeterministic Finite Automata. Finite Automata With Epsilon-Transitions: Uses of ∈-Transitions, The Formal Notation for an ∈-NFA, Epsilon-Closures, Extended Transitions and Languages for ∈-NFA’s, Eliminating ∈Transitions. Module – II (10 Lectures) Regular Expressions and Languages: Regular Expressions: The Operators of regular Expressions, Building Regular Expressions, Precedence of Regular-Expression Operators, Precedence of Regular-Expression Operators Finite Automata and Regular Expressions: From DFA’s to Regular Expressions, Converting DFA’s to Regular Expressions, Converting DFA’s to Regular Expressions by Eliminating States, Converting Regular Expressions to Automata. Algebraic Laws for Regular Expressions: Properties of Regular Languages: The Pumping Lemma for Regular Languages, Applications of the Pumping Lemma Closure Properties of Regular Languages, Decision Properties of Regular Languages, Equivalence and Minimization of Automata, Context-Free Grammars and Languages: Definition of Context-Free Grammars, Derivations Using a Grammars Leftmost and Rightmost Derivations, The Languages of a Grammar, Parse Trees: Constructing Parse Trees, The Yield of a Parse Tree, Inference Derivations, and Parse Trees, From Inferences to Trees, From Trees to Derivations, From Derivation to Recursive Inferences, Applications of Context-Free Grammars: Parsers, Ambiguity in Grammars and Languages: Ambiguous Grammars, Removing Ambiguity From Grammars, Leftmost Derivations as a Way to Express Ambiguity, Inherent Anbiguity Module – III (10 Lectures)

Text from page-2

Pushdown Automata: Definition Formal Definition of Pushdown Automata, A Graphical Notation for PDA’s, Instantaneous Descriptions of a PDA, Languages of PDA: Acceptance by Final State, Acceptance by Empty Stack, From Empty Stack to Final State, From Final State to Empty Stack Equivalence of PDA’s and CFG’s: From Grammars to Pushdown Automata, From PDA’s to Grammars Deterministic Pushdown Automata: Definition of a Deterministic PDA, Regular Languages and Deterministic PDA’s, DPDA’s and Context-Free Languages, DPDA’s and Ambiguous Grammars Properties of Context-Free Languages: Normal Forms for Context-Free Grammars, The Pumping Lemma for Context-Free Languages, Closure Properties of Context-Free Languages, Decision Properties of CFL’s Module –IV (10 Lectures) Introduction to Turing Machines: The Turing Machine: The Instantaneous Descriptions for Turing Machines, Transition Diagrams for Turing Machines, The Language of a Turing Machine, Turing Machines and Halting Programming Techniques for Turing Machines, Extensions to the Basic Turing Machine, Restricted Turing Machines, Turing Machines and Computers, Undecidability: A Language That is Not Recursively Enumerable, Enumerating the Binary Strings, Codes for Turing Machines, The Diagonalization Language An Undecidable Problem That Is RE: Recursive Languages, Complements of Recursive and RE languages, The Universal Languages, Undecidability of the Universal Language Undecidable Problems About Turing Machines: Reductions, Turing Machines That Accept the Empty Language. Post’s Correspondence Problem: Definition of Post’s Correspondence Problem, The “Modified” PCP, Other Undecidable Problems: Undecidability of Ambiguity for CFG’s Text Book: 1. Introduction to Automata Theory Languages, and Computation, by J.E.Hopcroft, R.Motwani & J.D.Ullman (3rd Edition) – Pearson Education 2. Theory of Computer Science (Automata Language & Computations), by K.L.Mishra & N. Chandrashekhar, PHI

Text from page-3

MODULE-I What is TOC?? In theoretical computer science, the theory of computation is the branch that deals with whether and how efficiently problems can be solved on a model of computation, using an algorithm. The field is divided into three major branches: automata theory, computability theory and computational complexity theory. In order to perform a rigorous study of computation, computer scientists work with a mathematical abstraction of computers called a model of computation. There are several models in use, but the most commonly examined is the Turing machine. Automata theory In theoretical computer science, automata theory is the study of abstract machines (or more appropriately, abstract 'mathematical' machines or systems) and the computational problems that can be solved using these machines. These abstract machines are called automata. This automaton consists of • states (represented in the figure by circles), • and transitions (represented by arrows). As the automaton sees a symbol of input, it makes a transition (or jump) to another state, according to its transition function (which takes the current state and the recent symbol as its inputs). Uses of Automata: compiler design and parsing. Introduction to formal proof: Basic Symbols used : U – Union ∩- Conjunction ϵ - Empty String Φ – NULL set 7- negation ‘ – compliment = > implies

Text from page-4

Additive inverse: a+(-a)=0 Multiplicative inverse: a*1/a=1 Universal set U={1,2,3,4,5} Subset A={1,3} A’ ={2,4,5} Absorption law: AU(A ∩B) = A, A∩(AUB) = A De Morgan’s Law: (AUB)’ =A’ ∩ B’ (A∩B)’ = A’ U B’ Double compliment (A’)’ =A A ∩ A’ = Φ Logic relations: a  b = > 7a U b 7(a∩b)=7a U 7b Relations: Let a and b be two sets a relation R contains aXb. Relations used in TOC: Reflexive: a = a Symmetric: aRb = > bRa Transition: aRb, bRc = > aRc If a given relation is reflexive, symmentric and transitive then the relation is called equivalence relation. Deductive proof: Consists of sequence of statements whose truth lead us from some initial statement called the hypothesis or the give statement to a conclusion statement. Additional forms of proof: Proof of sets Proof by contradiction Proof by counter example Direct proof (AKA) Constructive proof: If p is true then q is true Eg: if a and b are odd numbers then product is also an odd number. Odd number can be represented as 2n+1 a=2x+1, b=2y+1 product of a X b = (2x+1) X (2y+1) = 2(2xy+x+y)+1 = 2z+1 (odd number)