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

Books Recommended

Uploaded by

James
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Books Recommended

Uploaded by

James
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 6

Theory of Computation

Books Recommended.
[1] M. Sipser; Theory of computation, Cengage Learning India Pvt. Ltd. New
Delhi, 2007
[2] Peter Linz; An Introduction to Formal Languages and Automata, D.C. heath
and Company, 1996.
[3] K.L.P. Mishra and N. Chandrasekaran; Theory of Computer Science, 2 nd Ed.
Prentice-Hall of India pub. (1999).
[4] John E. Hopcroft, Rajeev Motwani, Jeffrey D Ullman; Introduction to
Automata Theory, Languages and Computation, Pearson, 3rd Edition, Pearson
Education, Inc. (2007)
[5] H. Lewis and C. H. Papadimitriou; Elements of the Theory of Computation,
2nd Ed. Prentice-Hall Inc. (1998)
Syllabus
Unit 1. Introduction of subject with basics and fundamental concepts,
Finite Automata: Introduction, Block diagram and representation. Construction
of finite automata, Construction of minimal finite automata(for finite and
infinite language), Compound Automata, Non-deterministic finite
automata(NFA), Conversion of NFA to DFA, Є-NFA, λ-closure of state, 1
Conversion of λ-NFA to NFA, Conversion of λ-NFA to DFA. Decision property
Theory of Computation
of FA, Comparison algorithm, Optimization and minimization of FA.
Unit 2:
Regular language: Prefix, Reverse, Regular expression and its type. Properties
of regular expression, Construction of regular expression, Conversion of FA to
regular expression (Arden’s lemma, State elimination method), Conversion of
regular expression to FA (Method of synthesis, Method of Decomposition),
Algebraic properties of regular expression, Closure properties of regular
expression, Pumping lemma, Weak form of Pumping lemma, Myhill Nerode
theorem.
Unit 3:
Finite Automata with output: Moore machine, Mealy machine, Its
representation, Construction and Conversion among each other.
Unit 4:
Grammar: Introduction, Definition, Types, Construction of grammar, Chomsky
hierarchy, Conversion of regular grammar into finite automata, Conversion of
FA to RG, Context free grammar and language, Unit production, Є-production,
Simplification, Normal form (CNF, GNF), Decision property of CFG, Push Down
Automata(PDA): Introduction, block diagram, Deterministic PDA,
2
Theory of Computation
Non-deterministic PDA, Closure property of CFL, Conversion of CFG to PDA,
Pumping lemma for CFL, Turing machine, REG, REL, Block diagram, Turing
machine as a transducer, Recursive set and Recursive enumerable set, LBA and
CSL.
Unit 5: Undecidability: Introduction, Satisfiability, P vs NP, Cook’s Theorem,
Reducibility and Undecidable Problem, Rice’s theorem, NP- Hard, NP-Complete
Three central problems are included in the theory of computation to answer
the question
what are the fundamental capabilities and limitations of computers?
These are
(i) Automata- An automata is defined as a system where energy, material and
information are transformed, transmitted and used for performing some
functions without direct participation of man.
Some examples are automatic machine tools, automatic packing machines and
automatic printing machines. In computer science, automata is the study of
abstract computing devices or machines. There can be deterministic and
nondeterministic finite automata. They accept regular languages and use
regular expressions to model protocols, electronic circuits, document description
3
Theory of Computation
languages that are pattern on context free grammars and many other systems.
(ii) Computability- Certain basic problems such as the problem of determining
whether a mathematical statement is true or false can not be solved by
computers. This opened the possibility of developing different computational
models.
(iii) Complexity - to get answers to what makes some problems computationally
hard and others easy? This resulted in classifying problems according to their
computational difficulties. When developing solutions to real problems, we often
confront the limitations of what software can do.
Undecidable things – no program whatever can do it.
Intractable things – there are programs, but no fast programs.
We will learn how to deal formally with discrete systems, develop proofs for their
correctness and gain experience with abstract models layered software
architectures and their constructions. Regular Languages and their descriptors.
Finite automata, nondeterministic finite automata, regular expressions.
Algorithms to decide questions about regular languages, e.g., is it empty? Closure
properties of regular languages.
Context-free grammars used to describe the syntax of essentially every
programming language. Context-free languages and their descriptors, Context-
free grammars, pushdown automata. Decision and closure properties. 4
Theory of Computation
Recursive and recursively enumerable languages. Turing machines, decidability of
problems. The limit of what can be computed. Intractable problems
Some of the theory of computation comes from linguistics and systems engineering
but most of it originates from mathematics and computer science.
Computer science is a practical discipline but also requires theory in order to
understand concepts and principles of machine design to programming. This
requires programming languages and compiler design. Computability by Turing
machines, recursive functions, decidability ( what a computer can do?) and
computational complexity are central areas of it.
Automation is known as the backbone of computer science. It is a link between
digital logic and algorithms used for modeling both H/W and S/ W. we also want to
study the limits of a computation.
A formal language is an abstraction of general characteristics of a programming
language. It is a system suitable for the expression of certain ideas, facts or
concepts including a set of symbols and rules for their manipulation. Formal
language, automata theory and theory of computation are different names for a
single concept. They serve as a basis for pattern matching algorithms,
communication protocols, control mechanisms sequential circuit design and host of
other applications. 5
Both grammars and automata play a fundamental role in decision processes by
Theory of Computation
which a specific piece of code is accepted as satisfying the conditions of a
programming language.
Computation happens everywhere, all the time, initiated by everyone and affecting us all.
It happens because sophisticated methods are developed for managing computer
resources, enabling communication, translating programs, designing chips and databases
and so on. The fundamental questions in computer science are
what is an algorithm? What can and can not be computed? When can an algorithm be
considered practically feasible?

You might also like