Noise automata
A Noise automata, abbreviated NA is a deterministic model of computation made by User:RainbowDash that computes through finding patterns in random data. NAs work via the very same ideas seen in Ramsey theory.
Specification
A Noise Automata takes in an input seed and a generation number. It repeatedly applies a function F to the seed, step by step, and stops once it reaches the specified generation. At that point, the machine outputs the result of the function at that generation.
Noise automatons can be simplified into a 2D function. F(X,I) where X is the input and I is the stopping generation or “index” and F is some transformation using X and I. For all inputs, there is an index such that a desired function is simulated to some finite precision. This is what the output of the computer is and thus how it calculates.
While the function F in a Noise Automaton is to be normally represented as a two-dimensional function F(X, I), it is not limited to only two inputs. In general, F may accept multiple inputs beyond the normal input X and index I, and can be extended accordingly to accommodate additional parameters. But, for clarity and simplicity, the remainder of this writing will focus on the two-dimensional form F(X, I).
Ramsey theory & Fundamental Application
Ramsey theory states that given enough random data you can find any pattern you want, this is the core of why NAs can compute any finite sequence.
The name "Noise automata" comes from the similarity between them and random number generators, which produce streams of random digits from a given seed. In this analogy, the seed acts as the input, and the number of generations represents the index. In this way, a Noise Automaton can be built using a PRNG: by running it for a certain number of steps (the index), you can find an output that matches the desired function for a given input. An issue arises however, in not knowing which generation gives the the correct function. To solve this, you can create another program to search through the output space for the desired function. Once the correct index is found, the NA can then reproduce the result by running the PRNG for that many generations.
In this we see that your random number generator creates patterns, and sometimes those patterns just happen to be a function you are looking for. The less precise you want your function to be, the higher of a chance you find your function given lower amounts of random numbers or data in Ramsey theories case.
It should be noted that the function that a Noise Automaton uses does not inherently have to be random. The Noise Automaton could just as easily iterate through a finite function space in a fashionable order. However, there is no reason on why the function can not be some PRNG or other function of the alike.
Computational class
It is currently unknown as of writing this if it is Turing-complete. It should be noted for anyone trying to answer it's computational class that, given any input a NA should theoretically be able to compute all computable outputs of a Turing machine based on a given input.
On the topic of infinity
Noise automatons are fundamentally not able to be extended for infinite means, they are only able to calculate finite sequences. This is because the range of all functions is an uncountable infinity, so you can not index every function ever. But you can theoretically index all computational finite functions.