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

lecture 0

Uploaded by

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

lecture 0

Uploaded by

aldardiseaseel
Copyright
© © All Rights Reserved
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