Turing machines Flashcards

(59 cards)

1
Q

What is the most powerful computational model introduced in this course?

A

The Turing Machine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the two components of a Turing Machine?

A

A head (control unit) and a tape (infinite memory).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What can a Turing machine do at each step?

A

Read a symbol, write a symbol, and move left or right on the tape.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What type of memory does a Turing machine use?

A

An infinite tape of cells storing symbols.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What language can a finite automaton not recognize?

A

L = { aⁿbⁿ | n ≥ 0 }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What language can a pushdown automaton not recognize?

A

L = { aⁿbⁿcⁿ | n ≥ 0 }

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What language is undecidable by any machine?

A

The halting problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the formal definition of a Turing machine?

A

A 6-tuple (Q, Σ, Σ₀, s, δ, H) with states, tape alphabet, input alphabet, start state, transition function, and halting states.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What symbols must be included in the tape alphabet of a Turing machine?

A

▷ (start-of-tape marker) and ⊔ (blank symbol).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are halting states in a Turing machine?

A

States in which the machine stops executing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Can a Turing machine move left off the tape?

A

No — it cannot move left from the start-of-tape marker ▷.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a configuration of a Turing machine?

A

A 4-part description (q, u, a, v) — current state, left content, current symbol, right content.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How is a computation defined in a Turing machine?

A

A sequence of configurations from the initial to a halting configuration.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does it mean for a Turing machine to accept a word?

A

It halts on the input in an accepting state.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a semidecidable language?

A

A language where the TM halts for all strings in the language but may run forever on others.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a decidable language?

A

A language for which a TM halts on all inputs, accepting or rejecting correctly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is another name for a decidable language?

A

A recursive or Turing-decidable language.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What condition must hold for a language to be decidable?

A

Both the language and its complement must be semidecidable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is the Church-Turing Thesis (informally)?

A

Everything computable by an algorithm can be computed by a Turing machine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What does the Turing machine model provide in theoretical computer science?

A

A precise definition of computation and computability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is an algorithm (informally)?

A

A set of step-by-step rules or instructions for solving a problem.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What kind of function does an algorithm define?

A

A function f : X → Y mapping inputs to outputs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What does it mean for a function to be effectively calculable?

A

It can be computed by an algorithm.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is a partial function?

A

A function f : D ⊆ X → Y that is only defined for some inputs in D.

25
How do Turing machines represent partiality?
They halt for defined inputs, and run forever for undefined inputs.
26
When is a function computable?
If it can be implemented by a Turing machine that halts on all inputs in its domain.
27
What is the formal model used to define computable functions?
Turing machines.
28
What is the informal notion of computation?
Effectively calculable using a mechanical algorithm.
29
What is the Church–Turing Thesis?
A function is effectively calculable if and only if it is computable by a Turing machine.
30
Can the Church–Turing Thesis be proven?
No — it's a thesis, not a theorem.
31
What supports the Church–Turing Thesis?
All reasonable models of computation (lambda calculus, μ-recursive functions, etc.) agree with it.
32
What does it mean to describe a Turing machine at a formal level?
You specify all its states, symbols, and transition rules explicitly.
33
What is an implementation-level description of a Turing machine?
A step-by-step description of what the machine does, written in natural language.
34
What is a high-level description of a Turing machine?
A summary of the algorithm or problem-solving approach without tape-level details.
35
Is L = { a^2ⁿ | n ≥ 0 } decidable?
Yes — a TM can systematically mark every other a and verify the count.
36
How can a TM semidecide whether ax = b has a solution?
Try x = 0, 1, -1, 2, -2... until a solution is found; if one is found, halt.
37
How can a TM decide whether ax = b has a solution?
Check if b mod a = 0 using division; if yes, accept; else, reject.
38
What do all effectively calculable functions discovered so far have in common?
They can be implemented on a Turing machine.
39
Why do we consider TMs the standard model of computation?
They are simple yet powerful, and match all intuitive notions of algorithms.
40
What is the significance of alternative models agreeing with Turing machines?
It supports the validity of the Church–Turing Thesis.
41
What is the language L_DFA?
L_DFA = {⟨A, w⟩ | A is a DFA and A accepts w} — it is decidable.
42
What is the language L_NFA?
L_NFA = {⟨A, w⟩ | A is an NFA and A accepts w} — it is decidable.
43
How do we decide if a regular expression accepts a word?
Convert the regex to an NFA, then simulate the NFA.
44
What is L_TM?
L_TM = {⟨M, w⟩ | TM M halts on input w} — the halting problem.
45
Is L_TM decidable?
No — the halting problem is undecidable.
46
Is L_TM semi-decidable?
Yes — if M halts on w, we can simulate it and confirm; otherwise, it may loop forever.
47
What does it mean for a language to be semi-decidable?
A Turing machine halts for positive cases, but may loop forever on negatives.
48
What does it mean for a language to be decidable?
The Turing machine always halts with either accept or reject — you fully understand the problem.
49
What is the distinction between semi-decidable and decidable?
Semi-decidable = computable; Decidable = computable with total understanding (guaranteed termination).
50
What is a universal Turing machine?
A TM that can simulate any other TM on any input ⟨M, w⟩.
51
What is the significance of the universal TM?
It is the theoretical model behind modern general-purpose computers.
52
What is the core question of the halting problem?
Does a given TM halt on a given input?
53
What is the result of the halting problem?
It is undecidable — no TM can always decide halting for all other TMs.
54
What is the idea behind the halting problem proof?
Construct a machine that behaves paradoxically when asked if it halts on itself — leading to contradiction.
55
What kind of paradox does the halting proof resemble?
Russell’s Paradox — self-reference leads to logical contradiction.
56
Why can't we build a tool that always detects infinite loops in programs?
Because that would solve the halting problem, which is impossible.
57
What is Hilbert’s 10th problem?
Determine if a Diophantine equation has an integer solution — proven undecidable.
58
Who proved Hilbert’s 10th problem undecidable?
Davis, Putnam, Robinson, and Matiyasevich in 1970.
59
What real-world implication does the halting problem have?
We cannot build a perfect tool that detects all non-terminating code.