HOME

TheInfoList



OR:

Although some authors use the name "
register machine In mathematical logic and theoretical computer science a register machine is a generic class of abstract machines used in a manner similar to a Turing machine. All the models are Turing equivalent. Overview The register machine gets its name from ...
" synonymously with "
counter machine A counter machine is an abstract machine used in a formal logic and theoretical computer science to model computation. It is the most primitive of the four types of register machines. A counter machine comprises a set of one or more unbounded ''re ...
", this article will give details and examples of only of the most primitive speciesthe "counter machine"of the genus "register machine." Within the species "counter machine" there are a number of varieties: the models of
Hermes Hermes (; grc-gre, Ἑρμῆς) is an Olympian deity in ancient Greek religion and mythology. Hermes is considered the herald of the gods. He is also considered the protector of human heralds, travellers, thieves, merchants, and orato ...
(1954), Kaphengst (1957), Ershov (1958), Péter (1958), Minsky (1961) and Minsky (1967), Melzak (1961), Lambek (1961), Shepherdson and Sturgis (1963), and Schönhage (1980). These models will be described in more detail in the following.


The models in more detail


1954: Hermes' model

Shepherdson and Sturgis observe that "the proof of this universality f digital computers to Turing machines... seems to have been first written down by Hermes, who showed in --their reference numberhow an idealized computer could be programmed to duplicate the behavior of any Turing machine" (Shepherdson and Sturgis, p. 219). Shepherdson and Sturgis observe that: :"Kaphengst's approach is interesting in that it gives a direct proof of the universality of present-day digital computers, at least when idealized to the extent of admitting an infinity of storage registers each capable of storing arbitrarily long words" (Shepherdson and Sturgis, p. 219) The only two ''arithmetic'' instructions are # Successor operation # Testing two numbers for equality The rest of the operations are transfers from register-to-accumulator or accumulator-to-register or test-jumps. Kaphengst's paper is written in German; Sheperdson and Sturgis's translation uses terms such as "mill" and "orders". The machine contains "a mill" (accumulator). Kaphengst designates his mill/accumulator with the "infinity" symbol but we will use "A" in the following description. It also contains an "order register" ("order" as in "instruction", not as in "sequence"). (This usage came from the Burks–Goldstine–von Neumann (1946) report's description of "...an Electronic Computing Instrument".) The order/instruction register is register "0". And, although not clear from Sheperdson and Sturgis's exposition, the model contains an "extension register" designated by Kaphengst "infinity-prime"; we will use "E". The instructions are stored in the registers: :"...so the machine, like an actual computer, is capable of doing arithmetic operations on its own program" (p. 244). Thus this model is actually a
random-access machine In computer science, random-access machine (RAM) is an abstract machine in the general class of register machines. The RAM is very similar to the counter machine but with the added capability of 'indirect addressing' of its registers. Like the cou ...
. In the following, " r indicates "contents of" register r, etc. Shepherdson and Sturgis remove the mill/accumulator A and reduce the Kaphengst instructions to register-to-register "copy", arithmetic operation "increment", and "register-to-register compare". ''Observe that there is no decrement''. This model, almost verbatim, is to be found in Minsky (1967); see more in the section below.


1958: Ershov's class of operator algorithms

Shepherdson and Sturgis (1963) observe that Ersov's model allows for storage of the program in the registers. They assert that Ersov's model is as follows:


1958: Péter's "treatment"

Shepherdson and Sturgis (1963) observe that Péter's "treatment" (they are not too specific here) has an equivalence to the instructions shown in the following table. They comment specifically about these instructions, that: :"from the point of view of proving as quickly as possible the computability of all
partial recursive function In mathematical logic and computer science, a general recursive function, partial recursive function, or μ-recursive function is a partial function from natural numbers to natural numbers that is "computable" in an intuitive sense – as well as i ...
s Péter's is perhaps the best; for proving their computability by
Turing machine 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 algori ...
s a further analysis of the copying operation is necessary along the lines we have taken above." (Shepherdson and Sturgis (1963) p. 246)


1961: Minsky's model of a partial recursive function reduced to a "program" of only two instructions

In his inquiry into problems of
Emil Post Emil Leon Post (; February 11, 1897 – April 21, 1954) was an American mathematician and logician. He is best known for his work in the field that eventually became known as computability theory. Life Post was born in Augustów, Suwałki Govern ...
(the
tag system A tag system is a deterministic computational model published by Emil Leon Post in 1943 as a simple form of a Post canonical system. A tag system may also be viewed as an abstract machine, called a Post tag machine (not to be confused with Post–T ...
) and
Hilbert David Hilbert (; ; 23 January 1862 – 14 February 1943) was a German mathematician, one of the most influential mathematicians of the 19th and early 20th centuries. Hilbert discovered and developed a broad range of fundamental ideas in many ...
's 10th problem (
Hilbert's problems Hilbert's problems are 23 problems in mathematics published by German mathematician David Hilbert in 1900. They were all unsolved at the time, and several proved to be very influential for 20th-century mathematics. Hilbert presented ten of the pro ...
,
Diophantine equation In mathematics, a Diophantine equation is an equation, typically a polynomial equation in two or more unknowns with integer coefficients, such that the only solutions of interest are the integer ones. A linear Diophantine equation equates to a c ...
) led Minsky to the following definition of: :"an interesting basis for recursive function theory involving programs of only the simplest arithmetic operations" (Minsky (1961) p. 437). His "Theorem Ia" asserts that any partial recursive function is represented by "a program operating on ''two'' integers S1 and S2 using instructions Ij of the forms (cf. Minsky (1961) p. 449): The first theorem is the context of a second "Theorem IIa" that : "...represents any partial recursive function by a program operating on one integer S ontained in a single register r1using instructions Ij of the forms": In this second form the machine uses Gödel numbers to process "the integer S". He asserts that the first machine/model does not need to do this if it has 4 registers available to it.


1961: Melzak model: a single ternary instruction with addition and proper subtraction

:"It is our object to describe a primitive device, to be called a Q-machine, which arrives at effective computability via arithmetic rather than via logic. Its three operations are keeping tally, comparing non-negative integers, and transferring" (Melzak (1961) p. 281) If we use the context of his model, "keeping tally" means "adding by successive increments" (throwing a pebbles into) or "subtracting by successive decrements"; transferring means moving (not copying) the contents from hole A to hole B, and comparing numbers is self-evident. This appears to be a blend of the three base models. Melzak's physical model is holes in the ground together with an unlimited supply of pebbles in a special hole S (Sink or Supply or both? Melzak doesn't say). :"The Q-machine consists of an indefinitely large number of locations: S, A1, A2, ..., an indefinitely large supply of counters distributed among these locations, a program, and an operator whose sole purpose is to carry out the instructions. Initially all but a finite number from among the locations ... are empty and each of the remaining ones contains a finite number of counters" (p. 283, boldface added) The instruction is a ''single'' "ternary operation" he calls "XYZ": :"XYZ" denotes the operation of Of all the possible operations, some are not allowed, as shown in the table below: Some observations about the Melzak model:


1961: Lambek "abacus" model: atomizing Melzak's model to X+, X- with test

Original "abacus" model of Lambek (1962): Lambek references Melzak's paper. He atomizes Melzak's single 3-parameter operation (really 4 if we count the instruction addresses) into a 2-parameter increment "X+" and 3-parameter decrement "X-". He also provides both an informal and ''formal'' definition of "a program". This form is virtually identical to the Minsky (1961) model, and has been adopted by Boolos-Burgess-Jeffrey (2002). Abacus model of Boolos-Burgess (1970, etc.), Boolos-Burgess-Jeffrey (2002): The various editions beginning with 1970 the authors use the Lambek (1961) model of an "infinite abacus". This series of Wikipedia articles is using their symbolism, e.g. " r +1 → r" "the contents of register identified as number 'r', plus 1, replaces the contents of s put intoregister number 'r' ". They use Lambek's name "abacus" but follow Melzak's pebble-in-holes model, modified by them to a 'stones-in-boxes' model. Like the original abacus model of Lambek, their model retains the Minsky (1961) use of non-sequential instructionsunlike the "conventional" computer-like default sequential instruction execution, the next instruction Ia is contained within the instruction. Observe, however, that B-B and B-B-J do not use a variable "X" in the mnemonics with a specifying parameter (as shown in the Lambek version) --i.e. "X+" and "X-"but rather the instruction mnemonics specifies the registers themselves, e.g. "2+", or "3-":


1963: Shepherdson and Sturgis's model

On page 218 Shepherdson and Sturgis references Minsky (1961) as it appeared for them in the form of an
MIT Lincoln Laboratory The MIT Lincoln Laboratory, located in Lexington, Massachusetts, is a United States Department of Defense federally funded research and development center chartered to apply advanced technology to problems of national security. Research and dev ...
report: : In Section 10 we show that theorems (including Minsky's results 1, their reference on the computation of partial recursive functions by one or two tapes can be obtained rather easily from one of our intermediate forms (p. 218). Their model is strongly influenced by the model and the spirit of Hao Wang (1957) and his
Wang B-machine As presented by Hao Wang (1954, 1957), his basic machine B is an extremely simple computational model equivalent to the Turing machine. It is "the first formulation of a Turing-machine theory in terms of computer-like models" (Minsky, 1967: 200). ...
(also see
Post–Turing machine A Post–Turing machineRajendra Kumar, ''Theory of Automata'', Tata McGraw-Hill Education, 2010, p. 343. is a "program formulation" of a type of Turing machine, comprising a variant of Emil Post's Turing-equivalent model of computation. Post's mode ...
). They "sum up by saying": :"...we have tried to carry a step further the 'rapprochement' between the practical and theoretical aspects of computation suggested and started by Wang." Unlimited Register Machine URM: This, their "most flexible machine... consists of a denumerable sequence of registers numbered 1, 2, 3, ..., each of which can store any natural number...Each particular program, however involves only a finite number of these registers" (p. 219). In other words, the number of registers is potentially infinite, and each register's "size" is infinite. They offer the following instruction set (p. 219), and the following "Notes": Notes. # This set of instructions is chosen for ease of programming the computation of partial recursive functions rather than economy; it is shown in Section 4 that this set is equivalent to a smaller set. # There are infinitely many instructions in this list since m, n contents of rj, etc.range over all positive integers. # In instructions a, b, c, d the contents of all registers except n are supposed to be left unchanged; in instructions e, f, the contents of all registers are unchanged (p. 219). Indeed, they show how to reduce this set further, to the following (for an infinite number of registers each of infinite size): Limited Register Machine LRM: Here they restrict the machine to a finite number of registers N, but they also allow more registers to "be brought in" or removed if empty (cf. p. 228). They show that the remove-register instruction need not require an empty register. Single-Register Machine SRM: Here they are implementing the
tag system A tag system is a deterministic computational model published by Emil Leon Post in 1943 as a simple form of a Post canonical system. A tag system may also be viewed as an abstract machine, called a Post tag machine (not to be confused with Post–T ...
of
Emil Post Emil Leon Post (; February 11, 1897 – April 21, 1954) was an American mathematician and logician. He is best known for his work in the field that eventually became known as computability theory. Life Post was born in Augustów, Suwałki Govern ...
and thereby allow only writing to the end of the string and erasing from the beginning. This is shown in their Figure 1 as a tape with a read head on the left and a write head on the right, and it can only move the tape right. "A" is their "word" (p. 229): :a. P(i) ;add ai to the end of A :b. D ;delete the first letter of A :f'. Ji 1 ;If A begins with ai jump to exit 1. They also provide a model as "a stack of cards" with the symbols (p. 232 and Appendix C p. 248): # add card at top printed 1 # add card at top printed 1 # remove bottom card; if printed 1 jump to instruction m, else next instruction.


1967: Minsky's "Simple Universal Base for a Program Computer"

Ultimately, in Problem 11.7-1 Minsky observes that many bases of computation can be formed from a tiny collection: :"Many other combinations of operation types 0 ' - O- and RPT form universal basis. Find some of these basis. Which combinations of three operations are not universal basis? Invent some other operations..." (p. 214) The following are definitions of the various instructions he treats: Minsky (1967) begins with a model that consists of the three operations plus HALT: : He observes that we can dispense with 0 if we allow for a specific register e.g. w already "empty" (Minsky (1967) p. 206). Later (pages 255ff) he compresses the three , into two . But he admits the model is easier if he adds some seudoinstructions O- (combined 0 and - and "go(n)". He builds "go(n)" out of the register w pre-set to 0, so that -(w, (n)) is an unconditional jump. In his section 11.5 "The equivalence of Program Machines with General-recursive functions" he introduces two new subroutines: :f. :j. ::Jump unless equal": IF rj rk THEN jump to zth instruction ELSE next instruction He proceeds to show how to replace the "successor-predecessor" set with the "successor-equality" set . And then he defines his "REPEAT" PTand shows that we can define any
primitive recursive function In computability theory, a primitive recursive function is roughly speaking a function that can be computed by a computer program whose loops are all "for" loops (that is, an upper bound of the number of iterations of every loop can be determined ...
by the "successor-repeat" set (where the range of the RPT cannot include itself. If it does, we get what is called the mu operator (see also
mu recursive function In mathematical logic and computer science, a general recursive function, partial recursive function, or μ-recursive function is a partial function from natural numbers to natural numbers that is "computable" in an intuitive sense – as well as i ...
s) (p. 213)): :Any general recursive function can be computed by a program computer using only operations 0 ' RPT if we permit a RPT operation to lie in its own range ... oweverin general a RPT operation could not be an instruction in the finite-state part of the machine... f it werethis might exhaust any particular amount of storage allowed in the finite part of the machine. RPT operations require infinite registers of their own, in general... etc." (p. 214)


1980: Schönhage's 0-parameter model RAM0

Schönhage (1980) developed his computational model in context of a "new" model he called the Storage Machine Modification model (SMM), his variety of
pointer machine In theoretical computer science a pointer machine is an "atomistic" ''abstract computational machine'' model akin to the random-access machine. A pointer algorithm is an algorithm restricted to the pointer machine model. Depending on the type, a ...
. His development described a RAM (
random-access machine In computer science, random-access machine (RAM) is an abstract machine in the general class of register machines. The RAM is very similar to the counter machine but with the added capability of 'indirect addressing' of its registers. Like the cou ...
) model with a remarkable instruction set requiring no operands at all, excepting, perhaps, the "conditional jump" (and even that could be achieved without an operand): :"...the RAM0 version deserves special attention for its extreme simplicity; its instruction set consists of only a few one-letter codes, without any (explicit) addressing" (p. 494) The way Schönhage did this is of interest. He (i) atomizes the conventional register "address:datum" into its two parts: "address", and "datum", and (ii) generates the "address" in a specific register n to which the finite-state machine instructions (i.e. the "machine code") would have access, and (iii) provides an "accumulator" register z where all arithmetic operations are to occur. In his particular RAM0 model has only two "arithmetic operations""Z" for "set contents of register z to zero", and "A" for "add one to contents of register z". The only access to address-register n is via a copy-from-A-to-N instruction called "set address n". To store a "datum" in accumulator z in a given register, the machine uses the contents of n to specify the register's address and register z to supply the datum to be sent to the register. Peculiarities: A first peculiarity of the Schönhage RAM0 is how it "loads" something into register z: register z first supplies the register-address and then secondly, receives the datum from the registera form of indirect "load". The second peculiarity is the specification of the COMPARE operation. This is a "jump if accumulator-register z=''zero'' (not, for example, "compare the contents of z to the contents of the register pointed to by n). Apparently if the test fails the machine skips over the next instruction which always must be in the form of "goto λ" where "λ" is the jump-to address. The instruction"compare contents of z to ''zero''" is unlike the Schonhage successor-RAM1 model (or any other known successor-models) with the more conventional "compare contents of register z to contents of register a for equality". Primarily for referencethis is a RAM model, not a counter-machine modelthe following is the Schönhage RAM0 instruction set: Again, the above instruction set is for a ''random-access machine'', a ''RAM''a counter machine with indirect addressing; instruction "N" allows for indirect storage of the accumulator, and instruction "L" allows for indirect load of the accumulator. While peculiar, Schönhage's model shows how the conventional counter-machine's "register-to-register" or "read-modify-write" instruction set can be atomized to its simplest 0-parameter form.


References

*
George Boolos George Stephen Boolos (; 4 September 1940 – 27 May 1996) was an American philosopher and a mathematical logician who taught at the Massachusetts Institute of Technology. Life Boolos is of Greek-Jewish descent. He graduated with an A.B. in ...
,
John P. Burgess John Patton Burgess (born 5 June 1948) is an American philosopher. He is John N. Woodhull Professor of Philosophy at Princeton University where he specializes in logic and philosophy of mathematics. Education and career Burgess received his Ph.D ...
,
Richard Jeffrey Richard Carl Jeffrey (August 5, 1926 – November 9, 2002) was an American philosopher, logician, and probability theorist. He is best known for developing and championing the philosophy of radical probabilism and the associated heuristic of pr ...
(2002), ''Computability and Logic: Fourth Edition'', Cambridge University Press, Cambridge, England. The original Boolos-Jeffrey text has been extensively revised by Burgess: more advanced than an introductory textbook. "Abacus machine" model is extensively developed in Chapter 5 ''Abacus Computability''; it is one of three models extensively treated and compared—the Turing machine (still in Boolos' original 4-tuple form) and recursion the other two. * . Develops time hierarchy and space hierarchy theorems for counter machines, analogous to the hierarchies for Turing machines. *
Donald Knuth Donald Ervin Knuth ( ; born January 10, 1938) is an American computer scientist, mathematician, and professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of computer sc ...
(1968), ''The Art of Computer Programming'', Second Edition 1973, Addison-Wesley, Reading, Massachusetts. Cf pages 462-463 where he defines "a new kind of abstract machine or 'automaton' which deals with linked structures." *
Joachim Lambek Joachim "Jim" Lambek (5 December 1922 – 23 June 2014) was a German-born Canadian mathematician. He was Peter Redpath Emeritus Professor of Pure Mathematics at McGill University, where he earned his PhD degree in 1950 with Hans Zassenhaus as ...
(1961, received 15 June 1961), ''How to Program an Infinite Abacus'', Mathematical Bulletin, vol. 4, no. 3. September 1961 pages 295–302. In his Appendix II, Lambek proposes a "formal definition of 'program'. He references Melzak (1961) and Kleene (1952) ''Introduction to Metamathematics''. * Z. A. Melzak (1961, received 15 May 1961), ''An informal Arithmetical Approach to Computability and Computation'',
Canadian Mathematical Bulletin The ''Canadian Mathematical Bulletin'' (french: Bulletin Canadien de Mathématiques) is a mathematics journal, established in 1958 and published quarterly by the Canadian Mathematical Society. The current editors-in-chief of the journal are Antoni ...
, vol. 4, no. 3. September 1961 pages 279-293. Melzak offers no references but acknowledges "the benefit of conversations with Drs. R. Hamming, D. McIlroy and V. Vyssots of the Bell telephone Laborators and with Dr. H. Wang of Oxford University." * * In particular see chapter 11: ''Models Similar to Digital Computers'' and chapter 14: ''Very Simple Bases for Computability''. In the former chapter he defines "Program machines" and in the later chapter he discusses "Universal Program machines with Two Registers" and "...with one register", etc. * John C. Shepherdson and H. E. Sturgis (1961) received December 1961 ''Computability of Recursive Functions'', Journal of the Association of Computing Machinery (JACM) 10:217-255, 1963. An extremely valuable reference paper. In their Appendix A the authors cite 4 others with reference to "Minimality of Instructions Used in 4.1: Comparison with Similar Systems". ** Kaphengst, Heinz, ''Eine Abstrakte programmgesteuerte Rechenmaschine, Zeitschrift fur mathematische Logik und Grundlagen der Mathematik:''5'' (1959), 366-379. ** Ershov, A. P. ''On operator algorithms'', (Russian) Dok. Akad. Nauk 122 (1958), 967-970. English translation, Automat. Express 1 (1959), 20-23. ** Péter, Rózsa ''Graphschemata und rekursive Funktionen'', Dialectica 12 (1958), 373. ** Hermes, Hans ''Die Universalität programmgesteuerter Rechenmaschinen.'' Math.-Phys. Semesterberichte (Göttingen) 4 (1954), 42–53. * A. Schōnhage (1980), ''Storage Modification Machines'', Society for Industrial and Applied Mathematics, SIAM J. Comput. Vol. 9, No. 3, August 1980. Wherein Schōnhage shows the equivalence of his SMM with the "successor RAM" (Random Access Machine), etc. * Rich Schroeppel, May 1972, "A Two counter Machine Cannot Calculate 2N", Massachusetts Institute of Technology, A. I. Laboratory, Artificial Intelligence Memo #257. The author references Minsky 1967 and notes that "
Frances Yao Frances Foong Chu Yao () is a Chinese-born American mathematician and theoretical computer scientist. She is currently a Chair Professor at the Institute for Interdisciplinary Information Sciences (IIIS) of Tsinghua University. She was Chair Prof ...
independently proved the non-computability using a similar method in April 1971." *
Peter van Emde Boas Peter van Emde Boas (born 3 April 1945, Amsterdam) is a Dutch computer scientist and professor at the University of Amsterdam. He gained his doctorate in 1974 under Adriaan van Wijngaarden. The Van Emde Boas tree A van Emde Boas tree (), also k ...
, ''Machine Models and Simulations'' pp. 3–66, appearing in: ::
Jan van Leeuwen Jan van Leeuwen (born December 17, 1946, in Waddinxveen) is a Dutch computer scientist and Emeritus professor of computer science at the Department of Information and Computing Sciences at Utrecht University.
, ed. ''Handbook of Theoretical Computer Science. Volume A: Algorithms and Complexity'', The MIT PRESS/Elsevier, 1990. {{ISBN, 0-444-88071-2 (volume A). QA 76.H279 1990. : van Emde Boas' treatment of SMMs appears on pp. 32-35. This treatment clarifies Schōnhage 1980 -- it closely follows but expands slightly the Schōnhage treatment. Both references may be needed for effective understanding. * Hao Wang (1957), ''A Variant to Turing's Theory of Computing Machines'', JACM (Journal of the Association for Computing Machinery) 4; 63–92. Presented at the meeting of the Association, June 23–25, 1954. Models of computation