You are on page 1of 18

CENG205 - Theory of Computation

Assist. Prof. Dr. Emre ŞATIR


Week 1
Introduction to the Course
(This is closed off / done !)
• “What makes some problems computationally
hard and others easy?”

• What is computable in practice?

• Measures of complexity: Time and Space

• EASY: Sorting problems. - tractable


Complexity Theory
• HARD: Traveling Salesman Problem,
Scheduling Problem (Approximate Solutions) -
intractable

• An unusual computational area:


“Cryptography”
Whether a mathematical statement true or false.

Hilbert’s tenth problem (1900): Find a finite algorithm that decides whether a
polynomial has an integer root.
(There is no such algorithm (1970))

Does a program run forever?

Some Is a program correct?


Undecidable Are two programs equivalent?
Problems
Is a program optimal?

Question: Is this problem decidable or not?


Writing a program that decides a C program
is valid or not.
Mathematical Notations
and Terminology

• Sets
• Sequences and tuples
• Functions and relations
• Graphs
• Strings and languages
• Boolean logic
• Definitions, theorems
• Proofs

You might also like