You are on page 1of 11

Chapter Three

Computability Theory
Computability theory
 Computability theory is the branch of the theory of computation that
studies which problems are computationally solvable using different models
of computation.
 A central question of computer science is to address the limits of computing
devices by understanding the problems we can use computers to solve.
 One of the triumphs of 20th century mathematics is that it is possible to
show clear limits to the ability of computers, even given arbitrarily vast
computational resources, to solve even seemingly simple problems.
 While most of the fundamental research problems have been dealt with,
computability theory remains an active field of research and is commonly
used to discover the computational expressiveness of new ideas in computer
science, mathematics and physics.
Cont.

 Computability theory, also known as recursion theory, is a


branch of mathematical logic, computer science, and the
theory of computation that originated in the 1930s with the
study of computable functions and Turing degrees.
 The field has since expanded to include the study of
generalized computability and definability.
 In these areas, computability theory overlaps with
proof theory and effective descriptive set theory.
Cont.

 Basic questions addressed by computability theory include:


1.What does it mean for a function on the natural numbers to
be computable?
2.How can non computable functions be classified into a
hierarchy based on their level of non computability?
 Although there is considerable overlap in terms of
knowledge and methods, mathematical computability
theorists study the theory of relative computability,
reducibility notions, and degree structures; those in the
computer science field focus on the theory of sub recursive
hierarchies, formal methods, and formal languages.
Cont.…
 The aim of this project is to acquaint the student with the fundamentals of
computability theory and treat at least one subject of intermediate difficulty.
 This knowledge will come in handy at the graduate level as questions
concerning computability, The Halting Problem, Turing machines, etc.,
permeate all branches advanced computer science. In addition, the student
will be able to distinguish between what can, and what cannot be done with
computers, whether they be desktop machines, Turing machines, humans,
DNA computers, collections of membranes, or unspeakable alien devices
from beyond the pale.
 The project is of a purely theoretical nature, and some mathematical maturity
is required. Matematisk bifag is an advantage, but not a prerequisite.
Recursive and Recursively Enumerable

 A language is recursively enumerable (r.e.) if it is the set of


strings accepted by some TM.
 A language is recursive if it is the set of strings accepted by some
TM that halts on every input.
 For example, any regular language is recursive.
Closure Facts
a. The set of R.E. languages is closed under union and intersection.
b. The set of recursive languages is closed under union and
intersection
Functions, sets and languages
 If a function f only takes two values (which we assume without
loss of generality to be 0 and 1) then we can identify f with the
set, A, of inputs for which the function takes the value 1.
 In formulas x ∈ A ⇔ f(x)=1. In this connection sets are also
called languages ,e.g. the set of prime numbers could be called the
language of prime numbers. The reason for this is historical and
comes from the theory of formal languages.
 The function f is called the characteristic function of A.
Sometimes the characteristic function of A will be denoted by XA.
 A set is called recursive iff its characteristic function is recursive.
Thus A is recursive iff given x one can mechanically decide
whether x ∈ A.
Recursively enumerable sets
 A set A is recursively enumerable iff there is a Turing machine MA
which, when started on the empty input tape, lists the members of A on its
output tape.
 If a set is recursive then it is recursively enumerable. However there are
sets that are recursively enumerable that are not recursive.
 A is recursive if and only if both A and the complement of A, (A¯) are r.e.
 Proof:
 If A is recursive then also A¯ is recursive (we get a machine recognizing
A¯ from a machine recognizing A by changing the output). Since any
recursive set is r.e. we have proved one direction of the theorem. For the
converse to decide whether x ∈ A we just enumerate A and A¯ in
parallel, and when x appears in one of lists, which we know it will , we
can give the answer and halt
N.B The halting problem is not recursive.
Recursive, R.e, and Complements

 Theorem. A language is recursive if and only if both it and its


complement are r.e.
 If L is recursive, then so is its complement (interchange states ha
and hr).
 Assume both L and L¯ are r.e.; that is, they have TMs. Then run the
two TMs in parallel. At least one will halt, and that gives us the
answer.
A Printer Turing Machine

 A printer-TM is TM with an added printer-tape. The printer-


TM writes strings on the printer-tape (separated by ∆); once
written, a string is not altered.
 Theorem. A language is r.e. if and only if some printer-TM
outputs precisely those strings.
Summary

 Recursive languages are accepted by TMs that always halt;


r.e. languages are accepted by TMs.
 These two families are closed under intersection and union.
If a language is recursive, then so is its complement; if both a
language and its complement are r.e., then the language is
recursive
 There is a connection with printer-TMs.

You might also like