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

lecture 0

Uploaded by

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

lecture 0

Uploaded by

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

Theory of Computation

CS 401220
Introduction
Textbook

Text
- Introduction to the
Theory of Computation
Sipser, 3rd Edition US.
Introduction
• One of the most fundamental courses of
computer science.

• Will help you understand how people viewed


computing as a science over 60 years ago
Some applications of
computational
theory
Computational theory answers a set of
questions:
Three fundamental questions
What can be computed?
(Computing models and computability)

What can be computed efficiently?


(Complexity)

How can we build practical computing devices


Objective

Make a theory out of the idea of computation


What is
"computation"?

“Processing of information based on a finite


set of operations or rules”
Arithmetic
What do we want in a “theory”?
• Generality
• Technology-independent
• Abstraction: Ignores inessential details.
• Precision
• Mathematical, formal.
• Can prove theorems about computation, both
positive (what can be computed) and negative
(what which cannot be calculated).
Problem

To solve a problem means to find a way of


determining the unknowns from the given data
such that the conditions of the problem are
satisfied.
Representation of "information"
• Alphabet
- For example: A, B, C,..., Z.
• Strings: finite sequence (concatenation) of
alphabet symbols, order is important
-Example: Qaz, abbab
-ɛ = empty string (length 0, sometimes e)
• inputs (and outputs) of computation are strings.
Computation Problems (i.e. Tasks)
• A single question that has infinitely many
different instances
• given a string x, does it have an even number of
a's?
• given a string x, does it have more a's than b's?
Examples of computational
problems on numbers

ADDITION: given two numbers x, y, compute


x+y
PRIMALITY: given a number x, is x prime?
Examples of computational
problems about computer program
•SYNTACTICALLY CORRECT C PROGRAM: given a
string of ASCII symbols, does it follow the syntax
rules for C programming language?

•HALTING PROBLEM: Given a computer program


(say in C), can it ever get stuck in an infinite loop?
Characteristics of computational
problems
• Discretion
“State of the system ” can be represented as a
finite amount of information”
• Abstraction
“Irrelevant details” can be ignored
• Generality
A single mathematical model applies to many
devices

You might also like