Lecture 1 Introduction 1-0 Welcome to 433330 - - PDF document

lecture 1
SMART_READER_LITE
LIVE PREVIEW

Lecture 1 Introduction 1-0 Welcome to 433330 - - PDF document

The University of Melbourne Dept. of Computer Science and Software Eng. 433330 Theory of Computation Harald Sndergaard Lecture 1 Introduction 1-0 Welcome to 433330 http://www.cs.mu.oz.au/330/ Michael


slide-1
SLIDE 1

✬ ✫ ✩ ✪ The University of Melbourne

  • Dept. of Computer Science and Software Eng.

433–330 Theory of Computation Harald Søndergaard

Lecture 1

Introduction

1-0

slide-2
SLIDE 2

✬ ✫ ✩ ✪

Welcome to 433–330

http://www.cs.mu.oz.au/330/ Michael Sipser. Introduction to the Theory of

  • Computation. PWS Publ., 1997.
  • Formal languages, grammars and recognisers;
  • Models of computation: finite state machines,

pushdown automata, Turing machines;

  • Computability: the Church-Turing thesis,

decidability, reducibility;

  • Complexity: the classes P and NP,

NP-complete problems, space complexity;

  • Cryptography (from a complexity point of

view);

  • If time: Partial recursive functions, quantum

computing.

1-1

slide-3
SLIDE 3

✬ ✫ ✩ ✪

Questions, questions, . . .

What are the fundamental capabilities of a computer? What is “computable”? Are there limits, in principle, to what we can compute? What is an algorithm? How are algorithms and functions related? What is a useful taxonomy of computing power? Are there limits, in practice, to what we can compute? Why are some problems computationally hard? What is a useful taxonomy for “hardness” of problems?

1-2

slide-4
SLIDE 4

✬ ✫ ✩ ✪

Formal Languages

Closely related to the theory of computation. Here: language = set of strings. We can classify languages according to what sort

  • f rules (grammars) are allowed in describing how

strings are generated. We can then consider a machine’s ability to act as a recogniser for a language.

string yes no

1-3

slide-5
SLIDE 5

✬ ✫ ✩ ✪

Machines vs Languages

Regular Context-free Context sensitive Halting Decidable Turing recognisable Finite automata Pushdown automata Linear-bounded automata Turing machines Turing machines

1-4

slide-6
SLIDE 6

✬ ✫ ✩ ✪

The Universal Computer

A hundred years ago, a “computer” was a human (typically female) employed to do tedious numerical calculations: “Your application to work as a computer in the observatory has been successful.” Fifty years ago even computing pioneers had difficulty grasping the universality of mechanised computing: “If it should turn out that the basic logics

  • f a machine designed for the numerical

solution of differential equations coincide with the logics of a machine intended to make bills for a department store, I would regard this as the most amazing coincidence that I have ever encountered.” (Howard Aiken)

1-5

slide-7
SLIDE 7

✬ ✫ ✩ ✪

The Universal Computer (cont.)

And yet, 350 years ago, Hobbes, in discussing automated reasoning, wrote: “We must not think that computations, that is, ratiocination, has place only in numbers.” Leibniz, shortly after, outlined the great scope he saw for mechanised computing, in all fields of science, navigation, finance, and even law. He called for the development of a “universal language” as a vehicle for expressing knowledge and communicating it to a machine. Problems in human affairs could eventually be handled by a machine, with disputants agreeing to resolve differences by calculating: “Calculemus.”

1-6

slide-8
SLIDE 8

✬ ✫ ✩ ✪

The Universal Computer (cont.)

150 years ago, Babbage had the same broad ideas

  • f what a machine might be able to do. He said

about his “analytical engine” that “it could do everything except compose country dances.” Fifty years ago, Turing elaborated that position, suggesting that the range of things an electronic computer might be able to do was amazingly wide. Of course, Turing also understood the limitations

  • f computing, as well as anybody at the time.

1-7

slide-9
SLIDE 9

✬ ✫ ✩ ✪

The Entscheidungsproblem

Around 1930, first-order logic had been found to have a sound and complete axiomatisation. What was then considered the principal

  • utstanding problem of mathematical logic was

the so-called Entscheidungsproblem: whether there is a decision procedure for first-order logic. If the answer was yes (as was commonly assumed) then every theory that can be formalised in first-order logic would have an algorithm for deciding the truth of assertions in that theory. Inspired by G¨

  • del, Turing set out to prove that

the answer was no. For this, he needed a rigorous definition of “algorithm”.

1-8

slide-10
SLIDE 10

✬ ✫ ✩ ✪

Algorithms

What is an algorithm? read x and y while x != y if (x>y) let x = x-y else let y = y-x return x A procedure for solving a problem, a recipe? Mechanistic? Finitely described? Deterministic? Providing an answer in finite time? Written in which language? Written for which machine? Is it essentially a function? gcd(x, y) = max{z | ∃u, v : x = uz ∧ y = vz}

1-9

slide-11
SLIDE 11

✬ ✫ ✩ ✪

Models of Computability

Turing machines (A. Turing, 1936) Lambda calculus (A. Church, 1936) Partial recursive functions (S. Kleene, 1936) Post systems (E. Post, 1943) Markov algorithms (A. Markov, 1954) While programs Register machines Horn clauses . . .

1-10

slide-12
SLIDE 12

✬ ✫ ✩ ✪

The Church-Turing Thesis

The class of computable functions is exactly the class of functions that can be realised by insert your favourite model here External evidence: All the above models are “equivalent” in spite of the fact that they all look very different, and were developed independently. Internal evidence: It seems that no matter how we “extend” any of them, we fail to get something that is more powerful.

1-11