Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Turing Machine Instruction Table

The definitions of Turing Machine say that it is prohibited for one to read/modify it's instruction table (program). Exactly, Turing Machine has no access to it's own program.

What benefits can be achieved if one could weaken this restriction? If a machine could analise and/or modify it's program. Would that extend the class of turing-computable tasks?

like image 558
Bubba88 Avatar asked Oct 08 '09 04:10

Bubba88


People also ask

What is a Turing machine table?

A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algorithm.

What is Turing machine with example?

A Turing Machine (TM) is a mathematical model which consists of an infinite length tape divided into cells on which input is given. It consists of a head which reads the input tape. A state register stores the state of the Turing machine.

What are the 7 tuples of Turing machine?

A Turing machine (TM) is a 7-tuple, , where Q is a finite set of states, S is a finite input alphabet, G (which contains S and has B, the blank tape symbol, as an element) is a finite tape alphabet, q0 in Q is the distinguished start state and F contained in Q is the set of accepting (final) states.


2 Answers

The Turing machine can already implement another Turing machine, and change its rules, say, to take as input a modifiable program. In particular, the Turing machine can compute any computable function. It could in theory implement a lisp interpreter, which would have macros, "self-modifing" code, etc.

So, the answer is NO. Remember, no one, and I mean absolutely no one person anywhere, ever, has actually wanted a Turing machine, though no doubt zillions of simulators have been written. (I won't admit to it, but as an undergrad I may have done something like that...) It's just something that various important proofs are based on.

like image 80
DigitalRoss Avatar answered Sep 28 '22 16:09

DigitalRoss


More completely: There's a difference between a "Universal Turing Machine" and a "Turing "Machine". An ordinary Turing Machine has a hardwired ruleset, so can't be self-modifying. What you've described is a Universal Turing Machine, which reads its ruleset off of the same tape that it uses for I/O, and has the ability to modify that ruleset. If the UTM has the ability to reload (reboot) that modified ruleset from tape, then it is in fact already self-modifying.

like image 22
stevegt Avatar answered Sep 28 '22 15:09

stevegt