From: Thomas Walker Lynch Date: Mon, 13 Jul 2026 10:29:42 +0000 (+0000) Subject: . X-Git-Url: https://git.reasoningtechnology.com/D_10.png?a=commitdiff_plain;h=0c58f84a1843455a9daade2627a23ed54c57892b;p=TM-2026 . --- diff --git a/document/TM-2026.html b/document/TM-2026.html index c246a7f..a509eae 100644 --- a/document/TM-2026.html +++ b/document/TM-2026.html @@ -326,10 +326,49 @@

+ The computation theory Turing Machine + +

This is the definition of the Turing Machine from Hopcroft and Ullman's book John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation (Reading: Addison Wesley, 1979).. +

+ + + M = (Q, \Sigma, \Gamma, \delta, q_0, □, F) + + +

Where the components have the following meanings:

+ + + +

I have introduced the qualifier programmed in front of the finite state machine controller because each Turing Machine that accomplishes a different task, has a different finite state machine controller. The rest of the Turing Machine remains fixed. Hence, when the mathematician defines a custom task controller, he is essentially programming the machine.

+ +

Here the input alphabet is said to be a subset of a larger alphabet. This allows some symbols to be set aside and only used by the machine. In the architecture description given below, those symbols in the larger set, but not in the input set are called control symbols. Hopcroft and Ullman have included the empty symbol as a control symbol. However, the empty symbol is found on tapes. This might make it challenging to write machines that are given descriptions of tape contents as input.

+ +

State transitions are gated by the read value from the tape. Each state transition function includes actions to be taken, hence their programmable controller is a Mealy style state controller. The step action is mandatory, though it can be in either direction. The write action must be specified, but the write could be the same symbol that is read, hence it is actually an optional action.

+ +

A goal of the computation theorist in defining a Turing Machine is to make the math elegant and simple. In contrast, the goal of the computer architect is to provide a clear path to implementation. Perhaps if a computer architect were to define the computational Turing Machine, it would look more like this:

+ + The Turing Machine architecture/organization -

- In this interpretation of the Turing Machine, the architecture utilizes a single ended tape, as done in Hopcroft and Ullman's book John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation (Reading: Addison Wesley, 1979).. If a computation requires a two way infinite tape, the single ended tape machine can emulate it by interleaving the addresses: assigning odd addressed cells to represent the right going half, and even addressed cells to represent the left going half. This emulation requires taking two steps instead of one to advance in a given logical direction. When analyzing the time complexity of an algorithm, this overhead merely doubles the constant on the linear term, leaving the asymptotic order of complexity entirely unchanged. The outcomes of decider programs are unaffected. Therefore, utilizing a single ended tape is an inconsequential variation of the two way tape machine. + + + +If a computation requires a two way infinite tape, the single ended tape machine can emulate it by interleaving the addresses: assigning odd addressed cells to represent the right going half, and even addressed cells to represent the left going half. This emulation requires taking two steps instead of one to advance in a given logical direction. When analyzing the time complexity of an algorithm, this overhead merely doubles the constant on the linear term, leaving the asymptotic order of complexity entirely unchanged. The outcomes of decider programs are unaffected. Therefore, utilizing a single ended tape is an inconsequential variation of the two way tape machine.

@@ -598,6 +637,30 @@ Mathematically, a Turing Machine tape can be expressed as a path graph. However, a tape model and a path graph model imply different ontological contexts. The neighbor property of a Turing Machine tape cell specifically informs a clock driven atomic step function where to place the machine head next. The machine only has defined meaning at the state points on the programmed controller. In contrast, a path graph exists in the wider context of graph theory. A path graph has edges and each edge can be focused on, said to be traversed over, and given general properties. These are things we explicitly excluded in the tape definition. If we were to move the tape from the context of the machine and into the more abstract mathematical context by modeling the tape with a path graph, then we would do so for the purpose of analyzing the tape, which is a higher order and more abstract activity. However, in the current exercise we are not reaching towards the more abstract; rather, we are reaching in the other direction, towards machine architecture.

+

Tape transport unit, TTU

+ +, from which tapes can be mounted and unmounted. Multiple TTUs can be plugged in. Each TTU contains: + +mount/unmount + +
    +
  1. a read/write head
  2. +
  3. a single symbol FIFO read data buffer, written by the TTU, read by the programmable controller
  4. +
  5. a single symbol FIFO status buffer, written by the TTU,, read by the programmable controller
  6. +
  7. a single symbol FIFO command buffer, written by the programmed controller, acted upon immediately by the TTU.
  8. +
+ + +

+ The tape head consists of a reference to exactly one of the tape cells and a set of four functions: read, write, step-left, and step-right. In addition, the tape head can throw an error, left-of-leftmost, if the Turing Machine attempts to step left from the leftmost cell. When stepping, the cell reference in the head is updated based on the neighbor properties of the currently referenced cell. The cell referenced by the head is called the cell the head is on, or more simply, the head cell, or more generally as the indicated cell. +

+ +

+ A person can also say that the head indexes the head cell. This utilizes the classical mechanical definition, where an index is a mark for aligning gears. This physical meaning contrasts with an index integer used for addressing an array. The architectural definition of the Turing Machine developed here relies strictly upon the topological properties of the tape, independent of the definition of Natural Numbers. Addresses, which do rely on Natural Numbers, are discussed further on in this volume. This represents a minor divergence from Alan Turing's original paper, as he took it as a given that numbers naturally paired with the squares. We explicitly establish that pairing only after deriving Natural Numbers using the Turing Machine itself. +

+ + +

The customer programmed components

The customer programmed portion of the programmed control consists of:

@@ -727,14 +790,6 @@

Machine

-

The customer programmable components:

-
    -
  1. a custom predefined read only data alphabet
  2. -
  3. a custom predefined immutable programmed controller with states that can be referenced
  4. -
  5. a custom predefined constant initial state reference
  6. -
  7. a custom predefined constant halt state reference
  8. -
-

The immutable structural components:

  1. a read only empty symbol that is distinct from any symbol in the data alphabet. The examples in this document use the symbol '□'
  2. @@ -768,15 +823,6 @@

    Each highlighted term is a short name for the associated item.

    -

    The TTU

    - -

    - The tape head consists of a reference to exactly one of the tape cells and a set of four functions: read, write, step-left, and step-right. In addition, the tape head can throw an error, left-of-leftmost, if the Turing Machine attempts to step left from the leftmost cell. When stepping, the cell reference in the head is updated based on the neighbor properties of the currently referenced cell. The cell referenced by the head is called the cell the head is on, or more simply, the head cell, or more generally as the indicated cell. -

    - -

    - A person can also say that the head indexes the head cell. This utilizes the classical mechanical definition, where an index is a mark for aligning gears. This physical meaning contrasts with an index integer used for addressing an array. The architectural definition of the Turing Machine developed here relies strictly upon the topological properties of the tape, independent of the definition of Natural Numbers. Addresses, which do rely on Natural Numbers, are discussed further on in this volume. This represents a minor divergence from Alan Turing's original paper, as he took it as a given that numbers naturally paired with the squares. We explicitly establish that pairing only after deriving Natural Numbers using the Turing Machine itself. -

    Operation logic

    @@ -3390,3 +3436,6 @@ Now suppose defining a Turing Machine that initially has the head on the leftmos in the original Turing machine Architecture, add three tapes, stdin, stdout, and stderr --> + +