18 terms

Turing machine (TM)

An FSM that controls one or more tapes, where at least one tape is of unbounded length (i.e. infinitely long)

Equivalent Turing machine

All other types of computing machine are reducible to an equivalent Turing machine.

Power of a Turing machine

no physical computing device can be more powerful than a Turing machine. If a Turing machine cannot solve a yes/no problem, nor can any physical computing device.

Universal Turing machine (UTM)

U is an interpreter that reads the description <M> of any arbitrary Turing machine M and faithfully executes operations on data D precisely as M does. For single-tape Turing machine, imagine that <M> is written at the beginning of the tape, followed by D.

Interpreter

An interpreter works its way through a set of instructions identifying the next instruction then executing it.

Principle of universality

A universal machine is a machine capable of simulating any other machine.

Non-computable

Describes an algorithmic problem that admits no algorithm.

Decision problems

A yes/no algorithm problem

Decidable

Describes a decision problem that has a yes/no answer.

Undecidable

Describes a decision-type algorithmic problem that is non-computable.

Tractable

Describes a problem that has a reasonable (polynomial) time solution as the size of the input increases.

Intractable

Describes a problem for which no reasonable (polynomial) time solution has yet been found.

Heuristic

Describes an approach that uses know-how and experience to make informed guesses that assist in finding a polynomial time solution to an intractable algorithmic problem.

Halting problem

it is possible in general to write a program that can tell, given any problem and its inputs and without executing this program, whether the given program with its given inputs will halt?

Regular language

Any language that an FSM will accept.

Regular expression

A notation for defining all the valid strings of a formal language or a special text string for describing a search pattern.

Backus-Naur form (BNF)

A notation for expressing the rules for constructing valid strings in a regular language.

Recursive definition

Is one that is defined in terms of itself.