Linear-Inequality Affine Transformation Automata: Difference between revisions

From BusyBeaverWiki
Jump to navigation Jump to search
(Created page with "'''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:<math display="block">f(a,b) = \begin{cases} (a-b, 4b+2) & \text{if } a > b \\ (2a+1, b-a) & \text{if } a < b \\ \end{cases}</ma...")
 
(→‎Formal Definition: Move Turing complete stuff to a new section and some general format cleanup.)
 
(One intermediate revision by the same user not shown)
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 a<nowiki><b and a>b rows. For each case the parameters are transformed via an affine transformation.</nowiki>
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, we say that it halts on that configuration <math>\vec{x}</math>.
\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 ~ 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.


So, for example, the following are all linear inequality conditions:
So, for example, the following are all linear inequality conditions:
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.


== See Also ==
== Turing Complete ==
 
LIATA are Turing complete. This has been proven by implementing Minsky machines as LIATA:
* @Bard's proof that 3-dim LIATA are Turing complete: [https://discord.com/channels/960643023006490684/1239205785913790465/1420457986564030641 Discord link]
* @Bard's proved that 3-dim LIATA are Turing complete: [https://discord.com/channels/960643023006490684/1239205785913790465/1420457986564030641 Discord link]
* @star's proof that 2-dim LIATA are Turing complete: [https://discord.com/channels/960643023006490684/1239205785913790465/1421271424588451915 Discord link]
* @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:

where is undefined. BMO1 halts iff there exists k such that is undefined (in other words 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 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 :

Where each is an affine function and each is a "linear inequality condition" (defined below) such that for all at most one condition applies. If none of the conditions apply to , we say that it halts on that configuration.

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