Theory of Computation Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

Name the three primary components of a Turing machine

A

Read/write head
Finite state machine
Infinite tape

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

What is the format of a transition function?

How is it represented in a state transition diagram?

A

δ(current state, read) = (new state, write, move)

Arrows between states, each with a condition

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

What is the importance of a Turing machine?

A

Anything a Turing machine can compute, a real-world computer can also compute, and vice versa. Therefore, Turing machines prove there are problems that can’t be solved by computers.
It is a general purpose machine.

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

Define ‘Universal Turing Machine’.

A

A Turing Machine that can simulate the behaviour of any other Turing Machine. It faithfully executes operations on the data precisely as the simulated Turing Machine would.

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

What is the name of the set of symbols that a Turing Machine can recognise?

A

Alphabet

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

Why are Universal Turing Machines said to act as interpreters?

A

They read their instructions in sequence before executing operations on their input data.

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

What type of object is enclosed in <angle> in Backus-Naur Form?</angle>

A

Non-terminal

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

What type of object cannot be broken down further in BNF?

A

Terminal

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

Why is BNF capable of representing some languages that cannot be represented by regular expressions?

A

It supports recursion

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

What is an intractable problem?

A

It cannot be solved in a reasonable amount of time for all but the smallest versions of the problem.

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

What is the typical time complexity of an intractable problem?

A

Exponential or worse

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

How might a programmer ‘solve’ an intractable problem?

A

Approximate a solution by taking a heuristic approach.

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

What type of problems have a polynomial (or better) time complexity?

A

Tractable

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

What is the significance of the Halting problem?

A

Shows there exists some problems that cannot be solved by a computer.

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

Describe the Halting problem.

A

It is possible in general to write an algorithm that, given any program and its inputs and without executing the program, can tell if it will halt.

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