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

Theory of Computation (CS F351) : BITS Pilani

This course introduces the theory of computation by examining mathematical models of computation like finite state machines, pushdown automata and Turing machines. These abstract machines are used to model different types of computers and their capabilities. The course aims to understand the fundamental concepts of algorithms, computability, and the hierarchy of formal languages that computers can manipulate like regular, context-free and recursive languages. Key topics include automata theory, grammars, undecidability and the Church-Turing thesis about the limits of computation.

Uploaded by

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

Theory of Computation (CS F351) : BITS Pilani

This course introduces the theory of computation by examining mathematical models of computation like finite state machines, pushdown automata and Turing machines. These abstract machines are used to model different types of computers and their capabilities. The course aims to understand the fundamental concepts of algorithms, computability, and the hierarchy of formal languages that computers can manipulate like regular, context-free and recursive languages. Key topics include automata theory, grammars, undecidability and the Church-Turing thesis about the limits of computation.

Uploaded by

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

Theory of Computation (CS F351)

Prof.R.Gururaj
BITS Pilani CS&IS Dept.
Hyderabad Campus
Want to know what this course is about?

The Theory of computation (Automata Theory)


examines the questions-
 What is a computer?
 What can it do?
 How Computer languages are represented and recognized?

What is a computer?

 HW
 OS
 Runs Applications
 Stores/manipulates/produces Data

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus


Every science has its basic foundation.

In this course, we study the ideas, models pertaining to


Computers.

As part of this course we study fundamental properties of


computers.

The ideas and models we examine are more mathematical in


nature.

It is all about the theory behind the computations done by


computers.
Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus
Computation is simply a sequence of steps that can be
performed by computer.

We work with abstract machines or models that represent


computers.

Some of them are very basic and others are as powerful as


real-world computers.

These simple machines allow us to introduce formalisms used


in theory.

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus


What is the common theory with
today's computers?

Can we say anything about what


computers can or cannot do that will
still be true thirty years from now?

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus


Purpose of this Course

We'll look at simplified, mathematical models for different


kinds of computers.

We understand the basic ideas and models of computer


science.

What is an algorithm.

What can be computed and what cannot be.

Data in computers is stored as strings. We study models


that manipulate strings (Automata).

How to represent languages (grammar).


Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus
We look at simplified, mathematical models for different
kinds of computers.

They vary by how much memory they have and how they
can access it.

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus


What Models we study?
A finite state machine – This is a restricted model of an
actual computer. Helps in recognizing languages (Regular
Languages).

A pushdown automaton has an infinite amount of memory,


but it can only access it by pushing an value onto its stack
or popping a value off of the stack, and it only has one
stack.

A Turing machine has an infinite amount of memory,


organized as a long tape with a head that can scan back
and forth on it.

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus


Why these machines

 These models are chosen because they have simple


descriptions.

 And for each kind of machine we can show that there


are clearly defined classes of things that they can and
cannot do.

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus


Anything the biggest, fastest computer in the world can do,
can be done by a Turing machine.

And there are things that a Turing machine cannot do.

This means that there are problems that no computer can


solve.

These are known as "undecidable" problems.

Some problems have solutions in theory. But are not


practical due to excessive time requirements.

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus


1.Summit, Oak Ridge National Laboratory (USA) ...
2.Sierra, Lawrence Livermore National Laboratory (USA) ...
3.Sunway TaihuLight, National Supercomputing Centre (Wuxi, China)

BITS Pilani, Hyderabad Campus


We study TOC in mathematical way and specifically we
deal with concepts related to –
 Sets
 Relations and
 Functions.

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus


What we gain from this course
1. Understand conceptual tools used in Computer Engg.
2. We gain knowledge to design a new programming
languages. (Grammars and Regular Expressions).
3. Designing compilers for computer languages.
4. Assess the solvability of problems, with the help of
theoretical principles we learn.
5. Theory gives you simpler and elegant side of computers.
This helps in building more beautiful systems.
6. Studying this would expand your mind and train you in
problem solving.
7. To have an understanding about the capabilities and
limitations of a computer.

Prof.R.Gururaj CSF351 Theory of Computation BITS Pilani, Hyderabad Campus

You might also like