Welcome

Research and teaching @ TUHH

Saturday, April 9, 2011

Computability and Complexity

Preface 

Why do we need a formalization of the notion of algorithm or effective computation? In order to show that a specific problem is algorithmically solvable, it is sufficient to provide an algorithm that solves it in a sufficiently precise manner. However, in order to prove that a problem is in principle not solvable by an algorithm, a rigorous formalism is necessary that allows mathematical proofs. The need for such a formalism became apparent in the work of David Hilbert (1900) about the foundations of mathematics and Kurt Gödel (1931) about the incompleteness of elementary arithmetic.

The first investigations in the field were conducted by the logicians Alonzo Church, Stephen Kleene, Emil Post, and Alan Turing in the early 1930s. They provided the foundation of computability theory as a branch of theoretical computer science. The fundamental results established Turing computability as the correct formalization of the informal idea of effective calculation. The results led to Church’s thesis stating that ”everything computable is computable by a Turing machine”. The theory of computability has grown rapidly from its beginning. Its questions and methods are penetrating many other mathematical disciplines. Today, computability theory provides an important theoretical background for logicians and computer scientists.

Many mathematical problems are known to be undecidable such as the word problem for groups, the halting problem, and Hilbert’s tenth problem.

Contents - Computability:
  • Register Machine
  • Primitive Recursive Functions
  • Partial Recursive Functions
  • Ackermann's Function
  • Acceptable Programming Systems
  • Turing Machine
  • Undecidability
  • Word Problems

2 comments:

  1. There is a similar typo [David Hilbert (1990)] also in the Preface of the Lecture Notes.

    ReplyDelete