Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Adarsh Salukhe, Ganesh Patil, Aniruddha Pawar, Gajanan Gangakhedkar, Prof. Ajay T. Sonawane
DOI Link: https://doi.org/10.22214/ijraset.2023.53969
Certificate: View Certificate
On the undergraduate level, this book is an introduction to the Theory of Computation. A public purpose of terminology must protect a combination of different classifications. Natural languages, programming languages, mathematical languages, etc. The notation of a natural language is like English, Hindi, etc. Informal language can be defined as a system suitable for expressing specific ideas, facts, or concepts, including symbols and rules to manipulate these. The language we consider for our discussion is an abstraction of natural languages. The theory of Computation is based on Logic, Algorithms, and Theorem-proving. A machine is used to perform the user\'s essential tasks (requirements). So, it is equally important to know the computing models that compare the study. The model tells us how the machine will work together to do Computation. The theory of Computation abstractly provides computational models.
I. INTRODUCTION
The languages we consider for our discussion are an abstraction of natural languages. Our focus here is on formal languages that need precise and standard definitions. Programming languages belong to this category. Design and Compiler- The Theory of Computation (TOC) revolves entirely around the design and construction of a compiler. The compiler is a program that accepts a program written in high-level language as an input and generates a program at a low level which is going to execute by a microprocessor. The compiler is a machine that accepts some information, processes it, and generates some output. Computer Programs are written to solve problems; a problem accepts input and produces desired results. The outcome is caused by doing some processing of information.
A. Steps Involved In
Computer Science is now a much more mature and established discipline, which is essential in a world of ubiquitous computing. In this paper, we are going from Chapter 1 to Chapter 6 from all the various combinations of the sections of parsing and recursive functions. A course emphasizes computability and the foundation of a Computer Science logic mighty under-work through a Chapter 1, 2, 3, 4, 5, and 6. Mainly logic is concentrated in Chapters 4, 5, and 6.
However, it is used with a sincere hope that the computational problem will contribute to the intellectual development of the upcoming generation of Computer Scientists by introducing them to the early stage of the Theory of Computation. The Theory of Computation is exquisite and profound and can be studied with a greater connection to reality. The theory of Computation is intended for a comprehensive presentation of the computational problems or theory. The mathematical representation varies according to the topic. The production is based on mathematical notations. The central/essential focus is on closure properties (*) throughout the Theory of Computation.
II. CONTENT
A. Finite Automata and Language
Introduction / Symbols, Strings and Alphabets / Languages / Finite Automata (FA) / Concept of state transition diagram and transition table / Deterministic Finite Automata (DFA) / Non-Deterministic Finite Automata (NDFA/NFA) / Conversion of NFA to DFA / Finite State Machine (FSM) with output / Moore Machine / Mealy Machine.
B. Regular Expressions and Languages
Introduction / Regular Expressions / Identities of Regular Expression (RE) / Operators of RE / Equivalence of regular expressions and regular languages (RL) / RE to FA utilizing straightforward approach / Modification of FA to RE utilizing Arden’s theorem, Pumping lemma for RL / Applications of Regular Expressions.
C. Context Free Grammar and Language
Introduction and representation / Regular Grammar (RG) / Context Free Grammar
(CFG) / Context Free Language (CFL) / Derivation Tree, Parse Tree / Ambiguous
Grammar and Unambiguous Grammar
D. Pushdown Automata and Post Machine
Introduction and Formal definition of Pushdown Automata (PDA) / Transition
Diagram and Table of PDA / Instantaneous Description of PDA / Deterministic PDA / Non-Deterministic PDA / Context Free Language and PDA / Conversion of CFG to PDA and PDA to CFG.
Post Machine (PM): Construction of Post Machine
E. Turing Machine
Introduction / Formal Definition of Turing Machine / Design of Turing machine /
Deterministic Turing machine (TM) / Non-Deterministic Turing machine (TM) /
Multi-Tape TM / Universal Turing Machine / Halting problem of TM / Church Turing thesis / Recursive Language and Recursively Enumerable Languages / Post Correspondence Problem.
F. Computational Complexity
Measuring Complexity / The Class P / The Class NP / Reducibility and Mapping Reducibility / Polynomial Period Squeezing and NP-Completeness / Satisfiability Problem / NP-Completeness of the SAT Problem / Asymptotic Notation.
Standard Forms: Boolean Expressions / Cook’s Theorem / Node-C over Problem
III. FINITE AUTOMATA
A. Symbols
Characters are inseparable entities or commodities that cannot be clarified. That is, Logos are the particles of the world of vocabulary. Characters are the particles of the world of terminologies. A character is any single entity such as a, 0, 1, #, initiate, or do. Usually, characters from a standard keyboard are only utilized as characters.
B. Alphabets
An alphabet exists as a finite, non-empty grouping of emblems. The alphabet of the language is normally denoted by ∑. When more additional than one alphabet is supposed for conversation, then subscripts may be used (∑1, ∑2), or sometimes other symbols like G may also be introduced.
∑ = {0, 1}
∑ = {a, b, c} ∑ = {#,?, ♠, β}
C. Strings or Words over Alphabet
A queue or observation over an alphabet ∑ is a delimited arrangement of attached symbols ∑ It is not the circumstance that a row over some alphabet should incorporate all the consistencies from the alphabet, for example {a, b, c} Prefixes: e, 0, 01, 011
Suffixes: e, 1, 11, 011
Substrings: e, 0, 1, 01, 11, 011
D. Formal Language
IV. THEORY OF COMPUTATION
V. REGULAR EXPRESSIONS
Regular Expression (RE) can be assembled utilizing three operators or a crossbreed of three operators that are cited
Priority * Higher . to + lower
A. Arden’s Theorem
Arden’s Theorem helps check the equivalence of two regular expressions and the conversion of DFA to the regular expression.
VI. PUMPING LEMMA FOR RL
Arden’s Theorem helps check the equivalence of two regular expressions and the conversion of DFA to the regular expression.
VII. CONTEXT FREE GRAMMAR
A. Elements of Regular Grammar
Grammar consists of mainly two types of essential elements
B. Context Free Grammar (CFG)
Mathematically context-free grammar is 4-tuple
G = (V, T, P, S) or G = (V, ∑ ,P, S)
V : finite set of non-terminals
T : finite set of terminals
P : finite set of rules or production in CFG
S : S is a non-terminal which is called as start symbol
The context in CFG is nothing but symbol substitution dependency, i.e., CFG is independent of substitution policy.
C. Context Free Language (CFL)
D. Ambiguous Grammar
E. Simplification of CFG
a. Here, we are going to identify those symbols which do not play any role in the derivation of any string and then eliminate the identified production.
b. A variable (production) is useless if it does not appear in the derivation of the string
2. Removal of Unit Production
a. A production of the form Non-terminal → One non-terminal production where A→B (Where A and B both are nonterminal)
3. Removal of ?-Production or Nullable Production
a. The production of the form A→ ? is called ? (epsilon) production and non-terminal. A is called a Nullable non-terminal.
b. Surely, if ? is in L(G), then we can not eliminate all ? production from G, but if ? is not in L(G), we can eliminate all the ? production from G.
F. Chomsky Normal Form
G. Pumping Lemma For CFL
The pumping lemma gives us a technique to show that specific languages are not context-free. However, the pumping lemma for CFL is more interesting than the pumping lemma for regular language
Definition: The pumping lemma for CFLs states that for the sufficiently long string in CFL, we can find two short, nearby substrings that we can “Pump” in tandem and the resulting series must also be in the language.
Example:
Let L be a CFL. Then there exists a constant p such that if z is any string in L, Where |z| ≥ p, then we can write z = uvwxyz subject to the condition
VIII. PUSHDOWN AUTOMATA
A. Pushdown Automata
The pushdown automata are finite automata with control of both an input tape and auxiliary storage (stack) to what it has read. A stack is a “LIFO” [LAST IN FIRST OUT] structure where symbols can be inserted or removed from only one end, i.e., the top. Pushdown automata can be deterministic or non-deterministic. Hence PDA is DPDA [Deterministic Pushdown Automata] or NPDA [Non-Deterministic Pushdown Automata]. The difference between DPDA and NPDA is ? [epsilon] transition. ? [epsilon] transitions are allowed in case of Non-Deterministic PDA and work based on “GUESS.” Hence NPDA, at all times, can have more than one more.
B. Elements of PDA
An input alphabet ( ∑ )
C. Post Machine
The post machine was designed as a “Universal algorithm machine.” It was invented by the scientist email Leon Post in 1936. By universal algorithm machine, we mean the device should accept any language that can be precisely defined by a human being
IX. TURING MACHINE
A. Formal Definition of Turing Machine
Mathematically Turing Machine is defined as
M = (Q, ∑, δ, q0, F, T, B/b)
Q : Non-empty finite set of states ∑: Non-empty finite set of inputs q0: Initial state of TM, ε Q F: Set of final states, ? Q
?: Set of tape symbols { ∑, b } ? ?
B/b: Blank symbol (Bounding symbol)
B. Variants of Turing Machine (TM)
Turing machines [TM] can perform fairly robust computation. To better understand their surprising power, we shall consider the effect of extending the Turing machine in various directions. We should subsequently use the additional feature when designing the Turing Machine to solve a particular problem.
Types of Turing Machine [TM]
C. Church-Turing Thesis
D. Turing Machine Halting problem
It is essential to determine whether the process of the Turing Machine will halt; this is known as the “Halting Problem of the Turing Machine.”
E. Post Correspondence Problem
Email Post Later introduced the Post Correspondence Problem (PCP), which was found to have many applications in the theory of formal languages. It is possible to reduce the PCP to many classes of 2 outputs.
X. COMPUTATIONAL COMPLEXITY
Decidable problem concerning regular Language
A problem whose language is recursive then it is decidable; else, it is undecidable
A. Mapping Reducibility
Deduction means communicating that one tribulation is “more comfortable” than another.
The entire idea behind reducibility is to transform the input of A into inputs of B
2. However, there are some implication problems of reductions.
3. We transform the input of A to the input of B. This is called an implication of reduction
B. Cook’s Theorem
Theorem:
SAT is NP-Complete
C. Node-Cover Problem
A vertex (node) exterior of a unidirectional diagram is a subset of its vertices such that for every edge (u, v) of the chart, either ‘u’ or ‘v’ is in the vertex cover. Although the representation is Vertex Exterior, the collection encircles all boundaries of the diagram
[1] Yan, Song Y. Co. Pte. Ltd. pp. 155–156, 1998. [2] Chakraborty, P., Saxena, P. C., Katti, C. P. 2011. Fifty Years of Automata Simulation: A Review. ACM Inroads, 2(4):59–70. http://dl.acm.org/citation.cfm?id=2038893&dl=ACM&coll=DL&CFID=65021406&CFTOKEN=86634854 \\ [3] Jirí Adámek and Vera Trnková. 1990. \"Automata and Algebras in Categories.\" Kluwer Academic Publishers:Dordrecht and Prague [4] S. Mac Lane, Categories for the Working Mathematician, Springer, New York 1971. [5] Meseguer, J., Montanari, U.: 1990 Petri nets are monoids. Information and Computation 88:105–155 X. S. B. Cooper, 2004. Computability Theory, Chapman & Hall/CRC. ISBN 1-58488-237-9 [6] N. Cutland, 1980. Computability, An intro to recursive process hypothesis, Cambridge University Press. ISBN 0-52129465-7 [7] Matiyasevich, 1993. Hilbert\'s Tenth Problem, MIT Press. ISBN 0-262-13295-8
Copyright © 2023 Adarsh Salukhe, Ganesh Patil, Aniruddha Pawar, Gajanan Gangakhedkar, Prof. Ajay T. Sonawane. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET53969
Publish Date : 2023-06-12
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here