0% found this document useful (0 votes)
20 views

An Introduction of Theory of Computation

Theory of computation

Uploaded by

anilgowda3103
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

An Introduction of Theory of Computation

Theory of computation

Uploaded by

anilgowda3103
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/324390754

An Introduction of Theory of Computation

Conference Paper · April 2018


DOI: 10.23883/ijrter.2018.4156.axkvi

CITATIONS READS

5 13,454

3 authors, including:

Manoj Kumar Sharma Nalin Chaudhary


Bhagwant University Central University of Haryana
113 PUBLICATIONS 260 CITATIONS 4 PUBLICATIONS 5 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Manoj Kumar Sharma on 10 April 2018.

The user has requested enhancement of the downloaded file.


An Introduction of Theory of Computation
Manoj Kumar1, Nalin Chaudhary2, Sagar Khubchandani3
1
Department of Mathematics, Bhagwant University,
2
Department of Computer Science & Engineering, Bhagwant University
3
Department Computer Application, Bhagwant University

Abstract— In this paper we are presenting an introduction of theory of computation. We are


discussing some important point of theory of computation. Theory of Computation is a part of
mathematics and computer science. Mostly theory of computation is used to computer hardware and
software. Theory of Computation can be divided into the following three areas: Complexity Theory,
Computability Theory, and Automata Theory.

Keywords—computation; Automata; computer science; complexity; mathematics;


I. INTRODUCTION
What follows is an extremely abbreviated look at some of the important ideas of the general areas
of automata theory, computability, and formal languages. In various respects, this can be thought of
as the elementary foundations of much of computer science. The classical theory of computation
traditionally deals with processing an input string of symbols into an output string of symbols. Note
that in the special case where the set of possible output strings is just {‘yes’, ‘no’}, (often
abbreviated {T, F} or {1, 0}), then we can think of the string processing as string (pattern)
recognition. We will take as given that any computer algorithm can be expressed as a computer
program, and hence, in particular, can be expressed as a finite string of ascii characters. Therefore,
since ASCII∗ is countable infinite, there are at most countable many computer algorithms/programs.
On the other hand, since a language is any arbitrary subset of A∗ for some alphabet A, there are
unaccountably many languages, since there are uncountable many subsets. This will be a quick tour
through some of the basics of the abstract theory of computation. We will start with a relatively
straightforward class of machines and languages – deterministic finite automata and regular
languages. In this context when we talk about a machine, we mean an abstract rather than a physical
machine, and in general will think in terms of a computer algorithm that could be implemented in a
physical machine. Our descriptions of machines will be abstract, but are intended to be sufficiently
precise that an implementation could be developed. In mathematics, a theorem is a statement that is
true. A proof is a s equence of mathematical statements that form an argument to show that a
theorem is true. The statements in the proof of a theorem include axioms (ass umptions about the
underlying mathematical structures), hypotheses of the theorem to be proved, and previously proved
theorems. The main question is “How do we go about proving theorems?” This question is similar to
the question of how to solve a given problem.

Theory of computation, computational complexity, and combinatorics related to computing are


solicited. In addition to theoretical results, we are particularly interested in submissions that report on
experimental and applied research of general algorithmic interest. I wanted certainty in the kind of
way in which people want religious faith. I thought that certainty is more likely to be found in
mathematics than elsewhere. But I discovered that many mathematical demonstrations, which my
teachers expected me to accept, were full of fallacies, and that, if certainty were indeed discoverable
in mathematics; it would be in a new field of mathematics, with more solid foundations than those

DOI:10.23883/IJRTER.2018.4156.AXKVI 498
International Journal of Recent Trends in Engineering & Research (IJRTER)
Volume 04, Issue 03; March- 2018 [ISSN: 2455-1457]

that had hitherto been thought secure. But as the work proceeded, I was continually reminded of the
fable about the elephant and the tortoise. Having constructed an elephant upon which the
mathematical world could rest, I found the elephant tottering, and proceeded to construct a tortoise to
keep the elephant from falling.

II. COMPLEXITY THEORY


Computational complexity is a branch of the theory of computation. It is used to measure how
hard a problem is solved and the common measures include time and space. The classes of time
complexity generally include: P, NP, NP-hard, NP-complete and EXPTIME; the classes of space
complexity generally include: PSPACE, NPSPACE, PSPACE-hard and PSPACE-complete.
Researching computational complexity of a problem can make it explicit whether there is an
effective solving algorithm of the problem or not. This paper introduces and analyzes some
fundamental concepts of computational complexity, and discusses complete problems of time
complexity and space complexity by examples; What's more, the relation among complexity classes
is analyzed in detail. Complexity Theory primarily focuses on worst-case complex ity of
computational problems. When we say, it is conjectured that Factoring is not solvable in P, we mean
that there is no algorithm that will factor every integer in polynomial time. It's organized around
techniques rather than results, though often the technique was developed for a particular result, and it
covers several seminal results and important proof techniques. Computational complexity theory is a
branch of the theory of computation in theoretical computer science that focuses on classifying
computational problems according to their inherent difficulty, and relating those classes to each
other. A computational problem is understood to be a task that is in principle amenable to being
solved by a computer, which is equivalent to stating that the problem may be solved by mechanical
application of mathematical steps, such as an algorithm. A problem is regarded as inherently difficult
if its solution requires significant resources, whatever the algorithm used. The theory formalizes this
intuition, by introducing mathematical models of computation to study these problems and
quantifying the amount of resources needed to solve them, such as time and storage. Other
complexity measures are also used, such as the amount of communication (used in communication
complexity), the number of gates in a circuit (used in circuit complexity) and the number of
processors (used in parallel computing). One of the roles of computational complexity theory is to
determine the practical limits on what computers can and cannot do. Closely related fields in
theoretical computer science are analysis of algorithms and computability theory. A key distinction
between analysis of algorithms and computational complexity theory is that the former is devoted to
analyzing the amount of resources needed by a particular algorithm to solve a problem, whereas the
latter asks a more general question about all possible algorithms that could be used to solve the same
problem. More precisely, computational complexity theory tries to classify problems that can or
cannot be solved with appropriately restricted resources. In turn, imposing restrictions on the
available resources is what distinguishes computational complexity from computability theory: the
latter theory asks what kind of problems can, in principle, be solved algorithmically.

III. COMPUTABILITY THEORY


Computability theory, also known as recursion theory, is a branch of mathematical logic, of
computer science, and of the theory of computation that originated in the 1930s with the study of
computable functions and Turing degrees. Computability theory, also known as recursion theory, is a
branch of mathematical logic, of computer science, and of the theory of computation that originated
in the 1930s with the study of computable functions and Turing degrees. The field has since
expanded to include the study of generalized computability and definability. In these areas, recursion
theory overlaps with proof theory and effective descriptive set theory.

@IJRTER-2018, All Rights Reserved 499


International Journal of Recent Trends in Engineering & Research (IJRTER)
Volume 04, Issue 03; March- 2018 [ISSN: 2455-1457]

Basic questions addressed by recursion theory include:


 What does it mean for a function on the natural numbers to be computable?
 How can non computable functions be classified into a hierarchy based on their level of non
computability?

Although there is considerable overlap in terms of knowledge and methods, mathematical recursion
theorists study the theory of relative computability, reducibility notions, and degree structures; those
in the computer science field focus on the theory of sub recursive hierarchies, formal methods, and
formal languages.

Recursion theory originated in the 1930s, with work of Kurt Gödel, Alonzo Church, Rózsa Péter,
Alan Turing, Stephen Kleene, and Emil Post.

The fundamental results the researchers obtained established Turing computability as the correct
formalization of the informal idea of effective calculation. These results led Stephen Kleene (1952)
to coin the two names "Church's thesis" (Kleene 1952:300) and "Turing's Thesis" (Kleene 1952:376).
Nowadays these are often considered as a single hypothesis, the Church–Turing thesis, which states
that any function that is computable by an algorithm is a computable function. Although initially
skeptical, by 1946 Gödel argued in favor of this thesis:

"Tarski has stressed in his lecture (and I think justly) the great importance of the concept of general
recursiveness (or Turing's computability). It seems to me that this importance is largely due to the
fact that with this concept one has for the first time succeeded in giving an absolute notion to an
interesting epistemological notion, i.e., one not depending on the formalism chosen.*"(Gödel 1946 in
Davis 1965:84).

IV. AUTOMATA THEORY


Automata theory is the study of abstract machines and automata, as well as the computational
problems that can be solved using them. It is a theory in theoretical computer science and discrete
mathematics (a subject of study in both mathematics and computer science).

The word automata (the plural of automaton) comes from the Greek word αὐτόματα, which means
"self-acting". The figure at right illustrates a finite-state machine, which belongs to a well-known
type of automaton. This automaton consists of states (represented in the figure by circles) and

@IJRTER-2018, All Rights Reserved 500


International Journal of Recent Trends in Engineering & Research (IJRTER)
Volume 04, Issue 03; March- 2018 [ISSN: 2455-1457]

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. Automata theory is closely related to formal language theory. An
automaton is a finite representation of a formal language that may be an infinite set. Automata are
often classified by the class of formal languages they can recognize, typically illustrated by the
Chomsky hierarchy, which describes the relations between various languages and kinds of
formalized logic. Automata play a major role in theory of computation, compiler construction,
artificial intelligence, parsing and formal verification.

V. CONCLUSION
In this paper we are discussing some theory of computation part. In this paper we are
presenting complexity theory, Computability theory and Automata theory. It is a theory in theoretical
computer science and discrete mathematics a subject of study in both mathematics and computer
science. Computability theory, also known as recursion theory, is a branch of mathematical logic, of
computer science, and of the theory of computation that originated in the 1930s with the study of
computable functions and Turing degrees.

REFERENCES
I. Yan, Song Y. “An Introduction to Formal Languages and Machine Computation. Singapore”. World Scientific
Publishing Co. Pte. Ltd. pp. 155–156, 1998.
II. 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
III. Jirí Adámek and Vera Trnková. 1990. “Automata and Algebras in Categories”. Kluwer Academic
Publishers:Dordrecht and Prague
IV. S. Mac Lane, Categories for the Working Mathematician, Springer, New York 1971 .
V. Cartesian closed category Archived November 16, 2011, at the Wayback Machine.
VI. The Category of Automata Archived September 15, 2011, at the Wayback Machine.
VII. http://www.math.cornell.edu/~worthing/asl2010.pdf James Worthington.2010.Determinizing, Forgetting, and
Automata in Monoidal Categories. ASL North American Annual Meeting, March 17, 2010
VIII. Aguiar, M. and Mahajan, S.2010. "Monoidal Functors, Species, and Hopf Algebras".
IX. 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
XI. N. Cutland, 1980. Computability, An introduction to recursive function theory, Cambridge University Press.
ISBN 0-521-29465-7
XII. Y. Matiyasevich, 1993. Hilbert's Tenth Problem, MIT Press. ISBN 0-262-13295-8

@IJRTER-2018, All Rights Reserved 501

View publication stats

You might also like