Linear-Inequality Affine Transformation Automata: Difference between revisions
m (→Formal Definition: Note that g is a linear function.) |
(→Formal Definition: Move Turing complete stuff to a new section and some general format cleanup.) |
||
Line 5: | Line 5: | ||
(a-b, 4b+2) & \text{if } a > b \\ | (a-b, 4b+2) & \text{if } a > b \\ | ||
(2a+1, b-a) & \text{if } a < b \\ | (2a+1, b-a) & \text{if } a < b \\ | ||
\end{cases}</math>where f(n,n) is undefined. BMO1 halts iff there exists k such that <math>f^k(1,2)</math> is undefined (in other words <math>f^{k-1}(1,2) = (n,n)</math> for some n). | \end{cases}</math>where <math>f(n,n)</math> is undefined. BMO1 halts iff there exists k such that <math>f^k(1,2)</math> is undefined (in other words <math>f^{k-1}(1,2) = (n,n)</math> for some n). | ||
This is a 2-dimension, 2-case LIATA. The 2 dimensions are the parameters a,b and the two cases are the | This is a 2-dimension, 2-case LIATA. The 2 dimensions are the parameters ''a,b'' and the two cases are the <math>a<b</math> and <math>a>b</math> rows. For each case the parameters are transformed via an affine transformation. | ||
== Formal Definition == | == Formal Definition == | ||
Line 15: | Line 15: | ||
& \vdots \\ | & \vdots \\ | ||
f_{k-1}(\vec{x}) & \text{if } C_{k-1}(\vec{x}) \\ | f_{k-1}(\vec{x}) & \text{if } C_{k-1}(\vec{x}) \\ | ||
\end{cases}</math>Where each <math>f_i: \Z^n \to \Z^n</math> is an affine function and each <math>C_i: \Z^n \to \{T,F\}</math> is a "linear inequality condition" (defined below) such that for all <math>\vec{x}</math> at most one condition <math>C_i(\vec{x})</math> applies. If none of the conditions apply | \end{cases}</math>Where each <math>f_i: \Z^n \to \Z^n</math> is an affine function and each <math>C_i: \Z^n \to \{T,F\}</math> is a "linear inequality condition" (defined below) such that for all <math>\vec{x}</math> at most one condition <math>C_i(\vec{x})</math> applies. If none of the conditions apply to <math>\vec{x}</math>, we say that it halts on that configuration. | ||
Let a '''linear inequality term''' be any equation of the form <math>g(\vec{x}) \sim c</math> where <math>g: \Z^n \to \Z</math> is a linear function and ~ is replaced by any (in)equality relation (=,<,≤,>,≥). Then let a '''linear inequality condition''' be any combination of linear inequality terms using logical AND, OR and NOT operations. | Let a '''linear inequality term''' be any equation of the form <math>g(\vec{x}) \sim c</math> where <math>g: \Z^n \to \Z</math> is a linear function and ~ is replaced by any (in)equality relation (=,<,≤,>,≥). Then let a '''linear inequality condition''' be any combination of linear inequality terms using logical AND, OR and NOT operations. | ||
Line 27: | Line 27: | ||
Given a LIATA ''f'', we say that it halts in ''k'' steps starting from configuration <math>\vec{x}</math> iff <math>f^k(\vec{x})</math> is undefined. | Given a LIATA ''f'', we say that it halts in ''k'' steps starting from configuration <math>\vec{x}</math> iff <math>f^k(\vec{x})</math> is undefined. | ||
== | == Turing Complete == | ||
LIATA are Turing complete. This has been proven by implementing Minsky machines as LIATA: | |||
* @Bard's | * @Bard's proved that 3-dim LIATA are Turing complete: [https://discord.com/channels/960643023006490684/1239205785913790465/1420457986564030641 Discord link] | ||
* @star's | * @star's proved that 2-dim LIATA are Turing complete: [https://discord.com/channels/960643023006490684/1239205785913790465/1421271424588451915 Discord link] | ||
* In progress: Shawn Ligocki is working on a proof that 2-case LIATA are Turing complete: [https://discord.com/channels/960643023006490684/1239205785913790465/1422772752980639866 Discord link] |
Latest revision as of 04:59, 1 October 2025
Linear-Inequality Affine Transformation Automata (LIATA) are a model for computation based upon applying affine transformations to vectors based on cases defined by linear inequalities. They are a generalization of the rules for BMO1 and were proven to be Turing complete.
Example
An example of a LIATA are the rules for BMO1:
This is a 2-dimension, 2-case LIATA. The 2 dimensions are the parameters a,b and the two cases are the and rows. For each case the parameters are transformed via an affine transformation.
Formal Definition
A n-dimension, k-case LIATA is a piecewise defined partial function :
Let a linear inequality term be any equation of the form where is a linear function and ~ is replaced by any (in)equality relation (=,<,≤,>,≥). Then let a linear inequality condition be any combination of linear inequality terms using logical AND, OR and NOT operations.
So, for example, the following are all linear inequality conditions:
- represented formally as
- represented formally as
- (note that we allow equalities as well)
Given a LIATA f, we say that it halts in k steps starting from configuration iff is undefined.
Turing Complete
LIATA are Turing complete. This has been proven by implementing Minsky machines as LIATA:
- @Bard's proved that 3-dim LIATA are Turing complete: Discord link
- @star's proved that 2-dim LIATA are Turing complete: Discord link
- In progress: Shawn Ligocki is working on a proof that 2-case LIATA are Turing complete: Discord link