Theory Of Computation Flashcards

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

Define algorithm

A

A sequence of steps that can be followed to complete a task and that always terminates

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

What is representational abstraction?

A

Representation arrived at by removing unnecessary details

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

What is abstraction by generalisation/categorisation?

A

Grouping by common characteristics to arrive at a hierarchical relationship of the ‘is kind of’ type

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

What does procedural abstraction represent?

A

A computational method

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

What is a computational method or pattern?

A

The result of abstracting away the actual values used in any particular computation is a computational pattern or method (procedure)

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

What is information hiding

A

The process of hiding all details of an object that do not contribute to its essential characteristics

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

What happens to the particular computation method in functional abstraction?

A

It is hidden

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

What is the result of procedural abstraction

A

A procedure, not a function

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

What abstraction can get you a function

A

Functional abstraction - disregards the particular computation method

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

Define data abstraction

A

A methodology that enables us to isolate how a compound data object is used from the details of how it is constructed ie. Stack implemented as an array and pointer for top of stack

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

What is problem abstraction?

A

When details are removed until the problem is represented in a way that it is possible to solve the problem

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

Define procedural decomposition

A

Breaking a problem into a number of sub-problems so that each sub-problem accomplishes an identifiable task which might itself be further subdivided

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

How can you build a compositional abstraction?

A

By combining procedures to form compound procedures

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

How can you build data abstraction?

A

By combining data objects to form compound data for example a tree data structure

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

What does automation require?

A

Putting models into action to solve problems

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

How does automation achieve its requirements

A
  • creating algorithms
  • implementing algorithms in program code
  • implementing models in data structures
  • executing the code
17
Q

What is a mealy machine used for?

A

It is used to map an input string to an output string

18
Q

How is it similar/dissimilar to a Turing machine

A

Acts as a Turing machine but gives an output as well to create a new string of outputs

19
Q

How can a Turing machine be viewed as?

A

A computer with a single fixed program

20
Q

What are states that have no outgoing states called?

A

Halting states

21
Q

What are the 3 main components of a Turing machine?

A

-read/write head-looks at one square at a time on the tape
- CU - effectively the FSM
- infinite tape - contains a list of acceptable characters for a given Turing machine

22
Q

What is the difference between a Turing machine and a universal Turing machine?

A

UTM acts as an interpreter for TM
UTM defines what is actually computable
UTM uses an input string which is a description for the TM

23
Q

A Turing machine is a desc of a…

A

Single algorithm

24
Q

A UTM can…

A

Tackle any computable problem