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

Csci471 Intro Lecture 4

This lecture covered enumerators and the Church-Turing thesis. Enumerators are Turing machines that print strings without input and may print the same string multiple times or never halt. It was shown that a language is recognizable by a Turing machine if and only if it can be enumerated. The Church-Turing thesis from 1936 established Turing machines as a formal definition of algorithms and equivalence of Turing machines and recursive functions.

Uploaded by

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

Csci471 Intro Lecture 4

This lecture covered enumerators and the Church-Turing thesis. Enumerators are Turing machines that print strings without input and may print the same string multiple times or never halt. It was shown that a language is recognizable by a Turing machine if and only if it can be enumerated. The Church-Turing thesis from 1936 established Turing machines as a formal definition of algorithms and equivalence of Turing machines and recursive functions.

Uploaded by

Dokin Nikod
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

CSCI 471: Complexity and Computability

LECTURE 4
Today:
• Enumerators
• Church-Turing Thesis
• Decidable Languages

1
Meiram Murzabulatov
TM variant: TM with only “R and S”
A TM P = (Q, Σ, Γ, d, q0, qaccept , qreject)
Q is a finite set of states
Σ is the input alphabet, where ¨ Ï Σ
Γ is the tape alphabet, where ¨ Î Γ and Σ Í Γ
d : Q ´ Γ → Q ´ Γ ´ {R,S} is the transition function
q0 , qaccept , qreject Î Q are
the start, accept and reject states
TMs are equivalent to…
TMs are equivalent to multitape TMs (last time)

TMs are equivalent to nondeterministic TMs (last time)

TMs are equivalent to double unbounded TMs (last time)

TMs are equivalent to enumerators. (today)

TMs are equivalent to FIFO automata.

TM model is equivalent to recursive functions.


TM model is equivalent to lambda calculus.
TM variant: enumerator
FINITE tape
CONTROL

printer

• Starts with a blank tape


• Prints strings
L(E) = set of strings that E eventually prints.
May print the same string many times.
May never terminate even if the language is finite.
TMs are equivalent to enumerators

Theorem. A language is recognizable



some enumerator enumerates it.
Proof. The If-part: If an enumerator E enumerates the language A then a
TM M recognizes A.
M = “On input w
1. Run E. Everytime E outputs a string, compare it with w.
2. If w ever appears in the output of E, accept.”

Clearly M accepts only those strings that appear on E’s list.


TMs are equivalent to enumerators
Theorem. A language is recognizable

some enumerator enumerates it.
Proof. The Only-if-part: If a TM M recognizes a language A, we can
construct the following enumerator for A.
Assume s1, s2, s3, . . . is a list of possible strings in Σ ∗ .
E = “Ignore the input
1. Repeat the following for 𝑖 = 1, 2, 3, . . .
2. Run M for 𝑖 steps on each input s1, s2, s3, . . . s𝑖 .
3. If a computation accepts, print out the corresponding s𝑗.”
If M accepts a particular string, it will appear on the list generated by
E (in fact infinitely many times)
The Definition of Algorithm
• in 1900, Hilbert posed the following problem:
“Give a procedure for determining if a polynomial in k
variables has an integral root.”
• For example, 6x3yz2 + 3xy2 − x3 − 10 has a root at x = 5, y
= 3, z = 0.
• 70 years later Yuri Matijasevic showed that no algorithm
exists. (After formal definition of algorithms was given.)
• The intuitive notion of an algorithm may be good for giving
algorithms for certain tasks, but was useless for showing
no algorithm exists for a particular task.
The Church-Turing Thesis (1936)
In 1936, Alonzo Church and Alan Turing came up with
formalisms to define algorithms. These were shown to be
equivalent, leading to the

L is recognized by a program for some computer*



L is recognized by a TM
* The computer must be “reasonable”
Programming languages
• Programming languages like Java, Python,
C++, C, … are equivalent to TMs
• We call such languages Turing-complete

You might also like