Log In Sign Up

Quantum Random Self-Modifiable Computation

by   Michael Stephen Fiske, et al.

Among the fundamental questions in computer science, at least two have a deep impact on mathematics. What can computation compute? How many steps does a computation require to solve an instance of the 3-SAT problem? Our work addresses the first question, by introducing a new model called the x-machine. The x-machine executes Turing machine instructions and two special types of instructions. Quantum random instructions are physically realizable with a quantum random number generator. Meta instructions can add new states and add new instructions to the x-machine. A countable set of x-machines is constructed, each with a finite number of states and instructions; each x-machine can compute a Turing incomputable language, whenever the quantum randomness measurements behave like unbiased Bernoulli trials. In 1936, Alan Turing posed the halting problem for Turing machines and proved that this problem is unsolvable for Turing machines. Consider an enumeration E_a(i) = (M_i, T_i) of all Turing machines M_i and initial tapes T_i. Does there exist an x-machine X that has at least one evolutionary path X --> X_1 --> X_2 --> . . . --> X_m, so at the mth stage x-machine X_m can correctly determine for 0 <= i <= m whether M_i's execution on tape T_i eventually halts? We demonstrate an x-machine Q(x) that has one such evolutionary path. The existence of this evolutionary path suggests that David Hilbert was not misguided to propose in 1900 that mathematicians search for finite processes to help construct mathematical proofs. Our refinement is that we cannot use a fixed computer program that behaves according to a fixed set of mechanical rules. We must pursue methods that exploit randomness and self-modification so that the complexity of the program can increase as it computes.


page 1

page 2

page 3

page 4


Evolutionary Turing in the Context of Evolutionary Machines

One of the roots of evolutionary computation was the idea of Turing abou...

Program algebra for Turing-machine programs

This note presents an algebraic theory of instruction sequences with ins...

A Relative Church-Turing-Deutsch Thesis from Special Relativity and Undecidability

Beginning with Turing's seminal work in 1950, artificial intelligence pr...

Turing machine interaction problem

The article introduces some ideas for solving special cases of the follo...

Time and Space Measures for a Complete Graph Computation Model

We present a computation model based on a subclass of GP 2 graph program...

Prefix-free quantum Kolmogorov complexity

We introduce quantum-K (QK), a measure of the descriptive complexity of ...

Quantum Random Access Stored-Program Machines

Random access machines (RAMs) and random access stored-program machines ...

1 Introduction

Consider two fundamental questions in computer science:

  1. What can a computing machine compute?

  2. How many computational steps does a computational machine require to solve an instance of the 3-SAT problem? The 3-SAT problem [27] is the basis for the famous problem [26].

These two questions are usually studied with the assumption that the Turing machine (TM) [97] is the standard model of computation [30, 45, 63, 69, 78, 89].

We introduce a new model, called the ex-machine, and reexamine the first question. The ex-machine model bifurcates the first question into two questions. What is computation? What can computation compute? An ex-machine computation adds two special types of instructions to the Turing machine instructions. The name ex-machine — derived from the latin extra machinam — was chosen because ex-machine computation generates new dynamical behaviors that one may no longer recognize as a machine.

The meta instruction is one type of special instruction. When an ex-machine executes a meta instruction, the meta instruction can add new states and add new instructions or replace instructions. The meta instruction enables the complexity [88, 83] of an ex-machine to increase during its execution, unlike a typical machine (e.g., the inclined plane, lever, pulley, wedge, wheel and axle, Archimedean screw, Galilean telescope or bicycle).

The quantum random instruction is the other special instruction. It can be physically realized with a quantum random number generator [44, 64, 72, 77, 96, 93, 94, 101]. Due to the quantum random instructions, the execution behavior of two ex-machines may be distinct, even though the two ex-machines start their execution with the same input on the tape, the same instructions, the same initial states, and so on. Two distinct identical ex-machines may exhibit different execution behaviors even when started with identical initial conditions. When this property of the quantum random instructions is combined with the appropriate use of meta instructions, two identical machines with the same initial conditions can evolve to two different ex-machines as the execution of each respective machine proceeds.

Some of the ex-machine programs provided here compute beyond the Turing barrier. A countable set of ex-machines are explicitly defined. Every one of these ex-machines can evolve to compute a Turing incomputable language with probability measure 1, whenever the quantum random measurements (trials) behave like unbiased Bernoulli trials. (A Turing machine cannot compute a Turing incomputable language.)

In 1936, Alan Turing posed the halting problem and proved that the halting problem for Turing machines is unsolvable by a Turing machine [30, 69, 78, 97]. Consider the ex-machine halting problem: Given an enumeration of all Turing machines and initial tapes , each finitely bounded and containing only blank symbols outside the bounds, does there exist an ex-machine that has at least one evolutionary path , so at stage , the ex-machine can correctly determine for whether ’s execution on tape eventually halts? We demonstrate an ex-machine that has one such evolutionary path. At stage , the self-modifying ex-machine’s evolutionary path has used a finite amount of computational resources and measured a finite amount of quantum randomness.

Consider the Goldbach Conjecture [50] and the Riemann Hypothesis [76], which are both famous, unsolved math problems. Each of these problems can be expressed as an instance of Turing’s halting problem with a particular Turing machine. (See machine instructions 3 and [98].) A large scale, physical realization of an ex-machine and further research might present an opportunity to study these mathematical problems and other difficult problems with new computational and conceptual tools.

1.1 Related Work – Computation

The rest of the introduction discusses some related results on computation using quantum randomness, and the theory of quantum randomness. Some related work on computation is in [41] and [43]. In [41], a parallel computational machine, called the active element machine, uses its meta commands and quantum randomness to construct a computational procedure that behaves like a quantum black box. Using quantum randomness as a source of unpredictability and the meta commands to self-modify the active element machine, this procedure emulates a universal Turing machine so that an outside observer is unable to comprehend what Turing machine instructions are being executed by the emulation of the universal Turing machine.

In [43], based on a Turing machine’s states and alphabet symbols, a transformation was defined from the Turing machine’s instructions to a finite number of affine functions in the two dimensional plane , where is the rational numbers. Now for the details: let states , alphabet , a halt state that is not in , and program be a Turing machine. This next part defines a one-to-one mapping from Turing program to a finite set of affine functions, whose domain is a bounded subset of . Set . Define symbol value function  as  , and .

is the alphabet symbol in the th tape square. maps right computational step to the affine function . During this computational step, state moves to state . Alphabet symbol replaces on tape square , and the tape head moves to tape square , one square to the right.

Similarly, maps left computational step to the affine function   . maps machine configuration to the point    in the plane. Point is in because only a finite number of tape squares contain non-blank symbols, so the tail of each infinite sum is a geometric series.

Each affine function’s domain is a subset of some unit square and , where and are integers. Via the transformation, a finitely bounded initial tape and initial state of the Turing machine are mapped to an initial point with rational cooordinates in one of the unit squares. Hence, transforms Turing’s halting problem to the following dynamical systems problem. If machine configuration halts after computational steps, then the orbit of exits one of the unit squares on the th iteration. If machine configuration is immortal (i.e., never halts), then the orbit of remains in these finite number of unit squares forever.

Dynamical system and is autonomous if the independent variable does not appear in and . A discrete, autonomous dynamical system is comprised of a function , where is a topological space and the orbits and are studied.

Consider the following augmentation of the discrete, autonomous dynamical system . After the 1st iteration, is perturbed to where and after the second iteration is perturbed to so that and and so on where for all . Then the dynamical system is a discrete, non-autonomous dynamical system [40].

For a particular Turing machine, set equal to the union of all the unit squares induced by and define based on the finite number of affine functions, resulting from the transformation. In terms of dynamical systems theory, the transformation shows that each Turing machine is a discrete, autonomous dynamical system. In [43], we stated that an active element machine using quantum randomness was a non-autonomous dynamical system capable of generating non-Turing computational behaviors; however, no new specific machines exhibiting novel behaviors were provided, except for a reference to procedure 2 in [41]. In this sense, our research is a continuation of [41, 43], but arguably provides a more transparent computational model for studying what can be computed with randomness and self-modification.

1.2 Related Work – Quantum Randomness

Some other related work pertains to the theory of quantum randomness. The classic EPR paper [36] presented a paradox that led Einstein, Podolsky and Rosen to conclude that quantum mechanics is an incomplete theory and should be supplemented with additional variables. They believed that the statistical predictions of quantum mechanics were correct, but only as a consequence of the statistical distributions of these hidden variables. Moreover, they believed that the specification of these hidden variables could predetermine the result of measuring any observable of the system.

Due to an ambiguity in the EPR argument, Bohr [8] explained that no paradox or contradiction can be derived from the assumption that Schrodinger’s wave function [84] contains a complete description of physical reality. Namely, in the quantum theory, it is impossible to control the interaction between the object being observed and the measurement apparatus. Per Heisenberg’s uncertainty principle [52], momentum is transferred between them during position measurements, and the object is displaced during momentum measurements. Based on the link between the wave function and the probability amplitude, first proposed by Born [10], Bohr’s response set the stage for the problem of hidden variables and the development of quantum mechanics as a statistical scientific theory.

In [6], Bohm and Aharanov advocated a Stern-Gerlach magnet [46, 47, 48] example to address the hidden variables problem. Using a gedankenexperiment [7] of Bohm, Bell showed that no local hidden variable theory can reproduce all of the statistical predictions of quantum mechanics and maintain local realism [4]. Clauser, Horne, Shimony and Holt derived a new form of Bell’s inequality [24], called the CHSH inequality, along with a proposed physically-realizable experiment to test their inequality.

In [86], their experiment tests the CHSH inequality. Using entangled photon pairs, their experiment found a loophole-free [62]

violation of local realism. They estimated the degree to which a local realistic system could predict their measurement choices, and obtained a smallest adjusted

-value equal to . Hence, they rejected the hypothesis that local realism governed their experiment. Recently, a quantum randomness expander has been constructed, based on the CHSH inequality [72].

By taking into account the algebraic structure of quantum mechanical observables, Kochen and Specker [59] provided a proof for the nonexistence of hidden variables. In [96], Svozil proposed three criteria for building quantum random number generators based on beam splitters: (A) Have three or more mutually exclusive outcomes correspond to the invocation of Hilbert spaces with dimension at least 3; (B) Use pure states in conjugated bases for preparation and detection; (C) Use entangled singlet (unique) states to eliminate bias.

By extending the theory of Kochen and Specker, Calude and Svozil developed an initial Turing incomputable theory of quantum randomness [13] — applicable to beam splitters — that has been recently advanced further by Abbott, Calude, and Svozil [14, 15, 16]. A more comprehensive summary of their work will be provided in section 3.

2 The Ex-Machine

We introduce a quantum random, self-modifiable machine that adds two special types of instructions to the Turing machine [97]. Before the quantum random and meta instructions are defined, we present some preliminary notation, the standard instructions, and a Collatz machine example.

denotes the integers. and are the non-negative and positive integers, respectively. The finite set represents the ex-machine states. This representation of the ex-machine states helps specify how new states are added to when a meta instruction is executed. Let , where each represents a distinct symbol. The set 0, 1, # consists of alphabet (tape) symbols, where # is the blank symbol and # is the empty set. In some ex-machines, 0, 1, #, Y, N, a, where Y, N, a. In some ex-machines, 0, 1, #, where is the empty set. The alphabet symbols are read from and written on the tape. The ex-machine tape is a function with an initial condition: before the ex-machine starts executing, there exists an so that # when . In other words, before the ex-machine starts executing, all tape squares contain blank symbols, except for a finite number of tape squares. When this initial condition holds for tape , we say that tape is finitely bounded.

2.1 Standard Instructions

Definition 2.1.

Execution of Standard Instructions

The standard ex-machine instructions satisfy and a uniqueness condition: If and and , then or. A standard instruction is similar to a Turing machine tuple [30, 75, 97]. When the ex-machine is in state and the tape head is scanning alphabet symbol at tape square , instruction is executed as follows:

  • The ex-machine state moves from state to state .

  • The ex-machine replaces alphabet symbol with alphabet symbol so that . The rest of the tape remains unchanged.

  • If , the ex-machine moves its tape head one square to the left on the tape and is subsequently scanning the alphabet symbol in tape square .

  • If , the ex-machine moves its tape head one square to the right on the tape and is subsequently scanning the alphabet symbol in tape square .

  • If , the ex-machine does not moves its tape head and is subsequently scanning the alphabet symbol in tape square .

Remark 2.1.

A Turing machine [97] has a finite set of states , a finite alphabet , a finitely bounded tape, and a finite set of standard ex-machine instructions that are executed according to definition 2.1. In other words, an ex-machine that uses only standard instructions is computationally equivalent to a Turing machine. Hence, an ex-machine with only standard instructions will be called a standard machine or a Turing machine.

The Collatz conjecture has an interesting relationship to Turing’s halting problem, which will be discussed further in section 7. Furthermore, there is a generalization of the Collatz function that is unsolvable for a standard machine [25].

Definition 2.2.

Collatz Conjecture

Define the Collatz function , where when is even and when

is odd. Zero iterations of

is . iterations of is represented as . The orbit of with respect to is . Observe that , , , , , so . The Collatz conjecture states that for any positive integer , contains .

We specify a Turing machine that for each computes the orbit . The standard machine halts if the orbit contains 1. Set 0, 1, #, E. Set a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, q where a , b , c , , n , p , and q .

Machine instructions 1 shows a list of standard instructions that compute . The initial tape is # # 1#, where it is understood that the remaining tape squares, beyond the leftmost # and rightmost #, contain only blank symbols. The space means the tape head is scanning the  #  adjacent to the leftmost 1. The initial state is q.

Machine Instructions 1.

Collatz Machine

    ;;  Comments follow two semicolons.
    (q,  #,  a,  #,  1)
    (q,  0,  p,  0,  1)
    (q,  1,  p,  1,  1)

    (a,  #,  p,  #,  1)
    (a,  0,  p,  0,  1)
    (a,  1,  b,  1,  1)

    (b,  #,  h,  #,  -1)   ;; Valid halt # 1#. The Collatz orbit reached 1.
    (b,  0,  p,  0,  1)
    (b,  1,  c,  1,  1)

    (c,  #,  e,  #,  -1)
    (c,  0,  p,  0,  1)
    (c,  1,  d,  1,  1)

    (d,  #,  k,  #,  -1)
    (d,  0,  p,  0,  1)
    (d,  1,  c,  1,  1)

    ;;  n / 2  computation
    (e,  #,  g,  #,  1)
    (e,  0,  p,  0,  1)
    (e,  1,  f,  0,  -1)

    (f,  #,  g,  #,  1)
    (f,  0,  p,  0,  1)
    (f,  1,  f,  1,  -1)

    (g,  #,  j,  #,  -1)
    (g,  0,  g,  1,  1)
    (g,  1,  i,  #,  1)

    (i,  #,  p,  #,  1)
    (i,  0,  e,  0,  -1)
    (i,  1,  i,  1,  1)

    (j,  #,  a,  #,  1)
    (j,  0,  p,  0,  1)
    (j,  1,  j,  1,  -1)

    ;;  3n + 1 computation
    (k,  #,  n,  #,  1)
    (k,  0,  k,  0,  -1)
    (k,  1,  l,  0,  1)

    (l,  #,  m,  0,  1)
    (l,  0,  l,  0,  1)
    (l,  1,  p,  1,  1)

    (m,  #,  k,  0,  -1)
    (m,  0,  p,  0,  1)
    (m,  1,  p,  1,  1)

    ;;  Start  n / 2  computation
    (n,  #,  f,  0,  -1)
    (n,  0,  n,  1,  1)
    (n,  1,  p,  1,  1)

    ;;  HALT with ERROR.  Alphabet symbol E represents an error.
    (p,  #,  h,  E,  0)
    (p,  0,  h,  E,  0)
    (p,  1,  h,  E,  0)

With input # #1#, the execution of the Collatz machine halts (i.e., moves to the halting state ) if the orbit reaches 1. Below shows the Collatz machine executing the first ten instructions with initial tape # #11111# and initial state q. Each row shows the current tape and machine state after the instruction in that row has been executed. The complete execution of the Collatz machine is shown in the appendix 8. It computes .

a         ## 11111#####         1         (q, #, a, #, 1)
b         ##1 1111#####         2         (a, 1, b, 1, 1)
c         ##11 111#####         3         (b, 1, c, 1, 1)
d         ##111 11#####         4         (c, 1, d, 1, 1)
c         ##1111 1#####         5         (d, 1, c, 1, 1)
d         ##11111 #####         6         (c, 1, d, 1, 1)
k         ##1111 1#####         5         (d, #, k, #, -1)              Compute 3*5 + 1
l         ##11110 #####         6         (k, 1, l, 0, 1)
m         ##111100 ####         7         (l, #, m, 0, 1)
k         ##11110 00###         6         (m, #, k, 0, -1)

2.2 Quantum Random Instructions

Repeated independent trials are called quantum random Bernoulli trials [37] if there are only two possible outcomes for each trial (i.e., quantum random measurement) and the probability of each outcome remains constant for all trials. Unbiased means the probability of both outcomes is the same. Below are the formal definitions.

Axiom 1.

Unbiased Trials.

Consider the bit sequence in the infinite product space . A single outcome of a bit sequence generated by quantum randomness is unbiased. The probability of measuring a 0 or a 1 are equal: .

Axiom 2.

Stochastic Independence.

History has no effect on the next quantum random measurement. Each outcome is independent of the history. No correlation exists between previous or future outcomes. This is expressed in terms of the conditional probabilities: and for each .

In order to not detract from the formal description of the ex-machine, section 3 provides a physical basis for the axioms and a discussion of quantum randomness.

The quantum random instructions are subsets of are inand in and in that satisfy a uniqueness condition defined below.

Definition 2.3.

Execution of Quantum Random Instructions

The quantum random instructions satisfy and the following uniqueness condition: If and and , then or. When the tape head is scanning alphabet symbol and the ex-machine is in state , the quantum random instruction executes as follows:

  • The ex-machine measures a quantum random source that returns a random bit . (It is assumed that the quantum measurements satisfy unbiased Bernoulli trial axioms 1 and 2.)

  • On the tape, alphabet symbol is replaced with random bit .

    (This is why always contains both symbols 0 and 1.)

  • The ex-machine state changes to state .

  • The ex-machine moves its tape head left if , right if , or the tape head does not move if .

Machine instructions 2 lists a random walk machine that has only standard instructions and quantum random instructions. Alphabet 0, 1, #, E. The states are 0, 1, 2, 3, 4, 5, 6, h, where the halting state h . A valid initial tape contains only blank symbols; that is, # ##. The valid initial state is 0.

There are three quantum random instructions: (0, #, 0, 0), (1, #, 1, 0) and (4, #, 4, 0). The random instruction (0, #, 0, 0) is executed first. If the quantum random source measures a 1, the machine jumps to state 4 and the tape head moves to the right of tape square 0. If the quantum random source measures a 0, the machine jumps to state 1 and the tape head moves to the left of tape square 0. Instructions containing alphabet symbol E provide error checking for an invalid initial tape or initial state; in this case, the machine halts with an error.

Machine Instructions 2.

Random Walk

    ;;  Comments follow two semicolons.
    (0, #, 0, 0)
    (0, 0, 1, 0, -1)
    (0, 1, 4, 1, 1)

    ;;  Continue random walk to the left of tape square 0
    (1, #, 1, 0)
    (1, 0, 1, 0, -1)
    (1, 1, 2, #, 1)

    (2, 0, 3, #, 1)
    (2, #, h, E, 0)
    (2, 1, h, E, 0)

    ;; Go back to state 0.  Numbers of random 0’s = number of random 1’s.
    (3, #, 0, #, -1)

    ;; Go back to state 1.  Numbers of random 0’s > number of random 1’s.
    (3, 0, 1, 0, -1)
    (3, 1, h, E, 0)

    ;;  Continue random walk to the right of tape square 0
    (4, #, 4, 0)
    (4, 1, 4, 1, 1)
    (4, 0, 5, #, -1)

    (5, 1, 6, #, -1)
    (5, #, h, E, 0)
    (5, 0, h, E, 0)

    ;; Go back to state 0.  Numbers of random 0’s = number of random 1’s.
    (6, #, 0, #, 1)

    ;; Go back to state 4.  Numbers of random 1’s > number of random 0’s.
    (6, 1, 4, 1, 1)

    (6, 0, h, E, 0)

Below are 31 computational steps of the ex-machine’s first execution. This random walk machine never halts when the initial tape is blank and the initial state is 0. The first quantum random instruction executed is (0, #, 0, 0). The quantum random source measured a 0, so the execution of this instruction is shown as (0, #, 0, 0_qr, 0) . The second quantum random instruction executed is (1, #, 1, 0) . The quantum random source measured a 1, so the execution of instruction (1, #, 1, 0) is shown as (1, #, 1, 1_qr, 0) .

1st Execution of Random Walk Machine. Computational Steps 1-31.

   0      ##### 0##            0             (0, #,  0, 0_qr, 0)
   1      #### #0##           -1             (0, 0,  1, 0, -1)
   1      #### 10##           -1             (1, #,  1, 1_qr, 0)
   2      ##### 0##            0             (1, 1,  2, #, 1)
   3      ###### ##            1             (2, 0,  3, #, 1)
   0      ##### ###            0             (3, #,  0, #, -1)
   0      ##### 0##            0             (0, #,  0, 0_qr, 0)
   1      #### #0##           -1             (0, 0,  1, 0, -1)
   1      #### 00##           -1             (1, #,  1, 0_qr, 0)
   1      ### #00##           -2             (1, 0,  1, 0, -1)
   1      ### 000##           -2             (1, #,  1, 0_qr, 0)
   1      ## #000##           -3             (1, 0,  1, 0, -1)
   1      ## 1000##           -3             (1, #,  1, 1_qr, 0)
   2      ### 000##           -2             (1, 1,  2, #, 1)
   3      #### 00##           -1             (2, 0,  3, #, 1)
   1      ### #00##           -2             (3, 0,  1, 0, -1)
   1      ### 100##           -2             (1, #,  1, 1_qr, 0)
   2      #### 00##           -1             (1, 1,  2, #, 1)
   3      ##### 0##            0             (2, 0,  3, #, 1)
   1      #### #0##           -1             (3, 0,  1, 0, -1)
   1      #### 10##           -1             (1, #,  1, 1_qr, 0)
   2      ##### 0##            0             (1, 1,  2, #, 1)
   3      ###### ##            1             (2, 0,  3, #, 1)
   0      ##### ###            0             (3, #,  0, #, -1)
   0      ##### 0##            0             (0, #,  0, 0_qr, 0)
   1      #### #0##           -1             (0, 0,  1, 0, -1)
   1      #### 00##           -1             (1, #,  1, 0_qr, 0)
   1      ### #00##           -2             (1, 0,  1, 0, -1)
   1      ### 000##           -2             (1, #,  1, 0_qr, 0)
   1      ## #000##           -3             (1, 0,  1, 0, -1)
   1      ## 1000##           -3             (1, #,  1, 1_qr, 0)

Below are the first 31 steps of the ex-machine’s second execution. The first quantum random instruction executed is (0, #, 0, 0) . The quantum random bit measured was 1, so the result of this instruction is shown as (0, #, 0, 1_qr, 0) . The second quantum random instruction executed is (1, #, 1, 0) , which measured a 0, so the result of this instruction is shown as (1, #, 1, 0_qr, 0) .

2nd Execution of Random Walk Machine. Computational Steps 1-31.

  0       ## 1#####          0             (0, #,  0, 1_qr, 0)
  4       ##1 #####          1             (0, 1,  4, 1, 1)
  4       ##1 0####          1             (4, #,  4, 0_qr, 0)
  5       ## 1#####          0             (4, 0,  5, #, -1)
  6       # #######         -1             (5, 1,  6, #, -1)
  0       ## ######          0             (6, #,  0, #, 1)
  0       ## 1#####          0             (0, #,  0, 1_qr, 0)
  4       ##1 #####          1             (0, 1,  4, 1, 1)
  4       ##1 1####          1             (4, #,  4, 1_qr, 0)
  4       ##11 ####          2             (4, 1,  4, 1, 1)
  4       ##11 1###          2             (4, #,  4, 1_qr, 0)
  4       ##111 ###          3             (4, 1,  4, 1, 1)
  4       ##111 1##          3             (4, #,  4, 1_qr, 0)
  4       ##1111 ##          4             (4, 1,  4, 1, 1)
  4       ##1111 0#          4             (4, #,  4, 0_qr, 0)
  5       ##111 1##          3             (4, 0,  5, #, -1)
  6       ##11 1###          2             (5, 1,  6, #, -1)
  4       ##111 ###          3             (6, 1,  4, 1, 1)
  4       ##111 0##          3             (4, #,  4, 0_qr, 0)
  5       ##11 1###          2             (4, 0,  5, #, -1)
  6       ##1 1####          1             (5, 1,  6, #, -1)
  4       ##11 ####          2             (6, 1,  4, 1, 1)
  4       ##11 0###          2             (4, #,  4, 0_qr, 0)
  5       ##1 1####          1             (4, 0,  5, #, -1)
  6       ## 1#####          0             (5, 1,  6, #, -1)
  4       ##1 #####          1             (6, 1,  4, 1, 1)
  4       ##1 0####          1             (4, #,  4, 0_qr, 0)
  5       ## 1#####          0             (4, 0,  5, #, -1)
  6       # #######         -1             (5, 1,  6, #, -1)
  0       ## ######          0             (6, #,  0, #, 1)
  0       ## 0#####          0             (0, #,  0, 0_qr, 0)
  1       # #0#####         -1             (0, 0,  1, 0, -1)

The first and second executions of the random walk ex-machine verify our statement in the introduction: in contrast with the Turing machine, the execution behavior of the same ex-machine may be distinct at two different instances, even though each instance of the ex-machine starts its execution with the same input on the tape, the same initial states and same initial instructions. Hence, the ex-machine is a discrete, non-autonomous dynamical system.

2.3 Meta Instructions

Meta instructions are the second type of special instructions. The execution of a meta instruction enables the ex-machine to self-modify its instructions. This means that an ex-machine’s meta instructions can add new states, add new instructions or replace instructions. Formally, the meta instructions satisfy andandand instruction.

Define , as the set of standard, quantum random, and meta instructions. To help describe how a meta instruction modifies , the unique state, scanning symbol condition is defined: for any two distinct instructions chosen from at least one of the first two coordinates must differ. More precisely, all 6 of the following uniqueness conditions must hold.

  1. If and are both in , then or.

  2. If and or vice versa, then or.

  3. If and are both in , then or.

  4. If and or vice versa, then or.

  5. If and or vice versa, then or.

  6. If and are both in , then or.

Before a valid machine execution starts, it is assumed that the standard, quantum random and meta instructions always satisfy the unique state, scanning symbol condition. This condition assures that there is no ambiguity on what instruction should be executed when the machine is in state and is scanning tape symbol . Furthermore, the execution of a meta instruction preserves this uniqueness condition.

Definition 2.4.

Execution of Meta Instructions

A meta instruction in is executed as follows.

  • The first five coordinates are executed as a standard instruction according to definition 2.1 with one caveat. State may be expressed as and state may be expressed as or , where . When is executed, if is expressed as , the value of is instantiated to the current value of minus . Similarly, if is expressed as or , the value of state is instantiated to the current value of or minus , respectively.

  • Subsequently, instruction modifies , where instruction has one of the two forms: or .

  • For both forms, if still satisfies the unique state, scanning symbol condition, then is updated to .

  • Otherwise, there is an instruction in whose first two coordinates , , are equal to instruction ’s first two coordinates. In this case, instruction replaces instruction in . That is, is updated to .

Remark 2.2.

Ex-machine States and Instructions are Sequences of Sets

Now that the meta instruction has been defined, the purpose of this remark is to clarify, in terms of set theory, the definitions of machine states, standard, random, and meta instructions. In order to be compatible with the foundations of set theory, the machine states are formally a sequence of sets. Similarly, the standard instructions, random instructions and all ex-machine instructions are sequences of sets. Hence, the machine states should be expressed as , where indicates that the ex-machine has executed its th computational step. When our notation is formally precise, the standard instructions, random instructions and all ex-machine instructions should be expressed as , , and , respectively. To simplify our notation and not detract from the main ideas, we usually do not include “” when referring to , , , or .

In regard to definition 2.4, example 1 shows how instruction is added to and how new states are instantiated and added to .

Example 1.

Adding New States

Consider the meta instruction , where . After the standard instruction is executed, this meta instruction adds one new state to the machine states and also adds the instruction , instantiated with the current value of . Figure 1 shows the execution of this meta instruction for the specific values , #, 0, 1, , , , , , #, and . States and alphabet symbols are shown in red and blue, respectively.

Figure 1: Meta Instruction Execution

Let be an ex-machine. The instantiation of and in a meta instruction invokes self-reflection about

’s current number of states, at the moment when

executes . This simple type of self-reflection poses no obstacles in physical realizations. In particular, a LISP implementation [70] along with quantum random bits measured from [101] simulates all executions of the ex-machines provided herein.

Definition 2.5.

Simple Meta Instructions

A simple meta instruction has one of the forms , , , , , where . The expressions , and are instantiated to a state based on the current value of when the instruction is executed.

In this paper, ex-machines only self-reflect with the symbols and .

Example 2.

Execution of Simple Meta Instructions

Let 0, 1, # and . ex-machine has 3 simple meta instructions.

(|Q|-1, #, |Q|-1, 1, 0)
(|Q|-1, 1, |Q|, 0, 1)
(|Q|-1, 0, |Q|, 0, 0)

With an initial blank tape and starting state of 0, the first four computational steps are shown below. In the first step, ’s tape head is scanning a # and the ex-machine state is 0. Since , simple meta instruction (Q-1, #,Q-1, 1, 0) instantiates to (0, #, 0, 1, 0), and executes.

   0      ## 1###         0          (0, #, 0, 1, 0)       (0, #, 0, 1, 0)
   1      ##0 ###         1          (0, 1, 1, 0, 1)       (0, 1, 1, 0, 1)
   1      ##0 1##         1          (1, #, 1, 1, 0)       (1, #, 1, 1, 0)
   2      ##00 ##         2          (1, 1, 2, 0, 1)       (1, 1, 2, 0, 1)

In the second step, the tape head is scanning a and the state is 0. Since , instruction (Q-1, 1,Q, 0, 1) instantiates to (0, 1, 1, 0, 1), executes and updates . In the third step, the tape head is scanning a # and the state is 1. Since , instruction (Q-1, #,Q-1, 1, 0) instantiates to (1, #, 1, 1, 0) and executes. In the fourth step, the tape head is scanning a and the state is 1. Since , instruction (Q-1, 1,Q, 0, 1) instantiates to (1, 1, 2, 0, 1), executes and updates . During these four steps, two simple meta instructions create four new instructions and add new states 1 and 2.

Definition 2.6.

Finite Initial Conditions

An ex-machine is said to have finite initial conditions if the following four conditions are satisfied before the ex-machine starts executing.

  • The number of states is finite.

  • The number of alphabet symbols is finite.

  • The number of machine instructions is finite.

  • The tape is finitely bounded.

It may be useful to think about the initial conditions of an ex-machine as analogous to the boundary value conditions of a differential equation. While trivial to verify, the purpose of remark 2.3 is to assure that computations performed with an ex-machine are physically plausible.

Remark 2.3.

Finite Initial Conditions

If the machine starts its execution with finite initial conditions, then after the machine has executed instructions for any positive integer , the current number of states is finite and the current set of instructions is finite. Also, the tape is still finitely bounded and the number of measurements obtained from the quantum random source is finite.


The remark follows immediately from definition 2.6 of finite initial conditions and machine instruction definitions 2.1, 2.3, and 2.4. In particular, the execution of one meta instruction adds at most one new instruction and one new state to . ∎

Definition 2.7 defines new ex-machines that may have evolved from computations of prior ex-machines that have halted. The notion of evolving is useful because the quantum random and meta instructions can self-modify an ex-machine’s instructions as it executes. In contrast with the ex-machine, after a Turing machine halts, its instructions have not changed.

This difference motivates the next definition, which is illustrated by the following. Consider an initial ex-machine that has 9 initial states and 15 initial instructions. starts executing on a finitely bounded tape and halts. When the ex-machine halts, it (now called ) has 14 states and 24 instructions and the current tape is . We say that ex-machine with tape evolves to ex-machine with tape .

Definition 2.7.

Evolving an ex-machine

Let , , each be a finitely bounded tape. Consider ex-machine with finite initial conditions. starts executing with tape and evolves to ex-machine with tape . Subsequently, starts executing with tape and evolves to with tape . This means that when ex-machine starts executing on tape , its instructions are preserved after the halt with tape . The ex-machine evolution continues until starts executing with tape and evolves to ex-machine with tape . One says that ex-machine with finitely bounded tapes , , evolves to ex-machine after halts.

When ex-machine evolves to and subsequently evolves to and so on up to ex-machine , then ex-machine is called an ancestor of ex-machine whenever . Similarly, ex-machine is called a descendant of ex-machine whenever . The sequence of ex-machines is called an evolutionary path.

3 Quantum Randomness

On a first reading, one may choose to skip this section, by assuming that there is adequate physical justification for axioms 1 and 2. Overall, the ex-machine uses quantum randomness as a computational tool. Hence, part of our goal was to use axioms 1 and 2 for our quantum random instructions, because the axioms are supported by the empirical evidence of various quantum random number generators [1, 5, 61, 64, 77, 93, 94, 101, 102]. In practice, however, a physical implementation of a quantum random number generator can only generate a finite amount of data and only a finite number of statistical tests can be performed on the data. Due to these limitations, one goal of quantum random theory [72, 14, 15, 16, 96], besides general understanding, is to certify the mathematical properties, assumed about actual quantum random number generators, and assure that the theory is a reasonable extension of quantum mechanics [8, 9, 10, 51, 52, 53, 84, 85, 36, 4, 24, 59].

We believe it is valuable to reach both a pragmatic (experimental) and theoretical viewpoint. In pure mathematics, the formal system and the logical steps in the mathematical proofs need to be checked. In our situation, it is possible for a mathematical theory of quantum randomness (or for that matter any theory in physics) to be consistent (i.e., in the sense of mathematics) and have valid mathematical proofs, yet the theory still does not adequately model the observable properties of the underlying physical reality. If just one subtle mistake or oversight is made while deriving a mathematical formalism from some physical assumptions, then the mathematical conclusions arrived at – based on the theory – may represent physical nonsense. Due to the infinite nature of randomness, this branch of science is faced with the challenging situation that the mathematical properties of randomness can only be provably tested with an infinite amount of experimental data and an infinite number of tests. Since we only have the means to collect a finite amount of data and perform a finite amount of statistical tests, we must acknowledge that experimental tests on a quantum random number generator, designed according to a mathematical / physical theory, can only falsify the theory [74] for that class of quantum random number generators. As more experiments are performed, successful statistical tests calculated on longer sequences of random data may strengthen the empirical evidence, but they cannot scientifically prove the theory. This paragraph provides at least some motivation for some of our pragmatic points, described in the next three paragraphs.

In sections 4 and 6, the mathematical proofs rely upon the property that for any , all binary strings are equally likely to occur when a quantum random number generator takes binary measurements.111One has to be careful not to misinterpret quantum random axioms 1 and 2. For example, the Champernowne sequence is sometimes cited as a sequence that is Borel normal, yet still Turing computable. However, based on the mathematics of random walks [37], the Champernowne sequence catastrophically fails the expected number of changes of sign as . Since all strings are equally likely, the expected value of changes of sign follows from the reflection principle and simple counting arguments, as shown in III.5 of [37]. In terms of the ex-machine computation performed, how one of these binary strings is generated from some particular type of quantum process is not the critical issue.

Furthermore, most of the binary strings have high Kolmogorov complexity [90, 60, 20]. This fact leads to the following mathematical intuition that enables new computational behaviors: the execution of quantum random instructions working together with meta instructions enables the ex-machine to increase its program complexity [88, 83] as it evolves. In some cases, the increase in program complexity can increase the ex-machine’s computational power as the ex-machine evolves. Also, notice the distinction here between the program complexity of the ex-machine and Kolmogorov complexity. The definition of Kolmogorov complexity only applies to standard machines. Moreover, the program complexity (e.g., the Shannon complexity [88]) stays fixed for standard machines. In contrast, an ex-machine’s program complexity can increase without bound, when the ex-machine executes quantum random and meta instructions that productively work together. (For example, see ex-machine 1, called .)

With this intuition about complexity in mind, we provide a concrete example. Suppose the quantum random generator demonstrated in [61], certified by the strong Kochen-Specker theorem [96, 14, 15, 16], outputs the 100-bit string 1011000010101111001100110011100010001110010101011011110000000010011001

000011010101101111001101010000 to ex-machine .

Suppose a distinct quantum random generator using radioactive decay [77] outputs the same 100-bit string to a distinct ex-machine . Suppose and have identical programs with the same initial tapes and same initial state. Even though radioactive decay [28, 29, 79, 80, 81] was discovered over 100 years ago and its physical basis is still phenomenological, the execution behavior of and are indistinguishable for the first 100 executions of their quantum random instructions. In other words, ex-machines and exhibit execution behaviors that are independent of the quantum process that generated these two identical binary strings.

3.1 Mathematical Determinism and Unpredictability

Before some of the deeper theory on quantum randomness is reviewed, we take a step back to view randomness from a broader theoretical perspective. While we generally agree with the philosophy of Eagle [35] that randomness is unpredictablity, example 3 helps sharpen the differences between indeterminism and unpredictability.

Example 3.

A Mathematical Gedankenexperiment

Our gedankenexperiment demonstrates a deterministic system which exhibits an extreme amount of unpredictability. Some work is needed to define the dynamical system and summarize its mathematical properties before we can present the gedankenexperiment.

Consider the quadratic map , where . Set and . Set . Define the set for all . is a fixed point of and , so the boundary points of lie in . Furthermore, whenever , then and . This means all orbits that exit head off to .

The inverse image is two open intervals and such that . Topologically, behaves like Cantor’s open middle third of and behaves like Cantor’s open middle third of . Repeating the inverse image indefinitely, define the set . Now and .

Using dynamical systems notation, set . Define the shift map , where . For each in , ’s trajectory in and corresponds to a unique point in : define as such that for each , set if and if .

For any two points and in , define the metric . Via the standard topology on inducing the subspace topology on , it is straightforward to verify that is a homeomorphism from to . Moreover, , so is a topological conjugacy. The set and the topological conjugacy enable us to verify that is a Cantor set. This means that is uncountable, totally disconnected, compact and every point of is a limit point of .

We are ready to pose our mathematical gedankenexperiment. We make the following assumption about our mathematical observer. When our observer takes a physical measurement of a point in , she measures a 0 if lies in and measures a 1 if lies in . We assume that she cannot make her observation any more accurate based on our idealization that is analogous to the following: measurements at the quantum level have limited resolution due to the wavelike properties of matter [33, 34, 10, 51, 52, 84, 39]. Similarly, at the second observation, our observer measures a 0 if lies in and 1 if lies in . Our observer continues to make these observations until she has measured whether is in or in . Before making her st observation, can our observer make an effective prediction whether lies in or that is correct for more than 50% of her predictions?

The answer is no when is a generic point (i.e., in the sense of Lebesgue measure) in . Set to the Martin-Löf random points in . Then has Lebesgue measure 1 in [37, 21], so its complement has Lebesgue measure 0. For any such that lies in , then our observer cannot predict the orbit of with a Turing machine. Hence, via the topological conjugacy , we see that for a generic point in , ’s orbit between and is Martin-Löf random – even though is mathematically deterministic and is a Turing computable function.

Overall, the dynamical system is mathematically deterministic and each real number in has a definite value. However, due to the lack of resolution in the observer’s measurements, the orbit of generic point is unpredictable – in the sense of Martin-Löf random.

3.2 Quantum Random Theory

A deeper theory on quantum randomness stems from the seminal EPR paper [36]. Einstein, Podolsky and Rosen propose a necessary condition for a complete theory of quantum mechanics: Every element of physical reality must have a counterpart in the physical theory. Furthermore, they state that elements of physical reality must be found by the results of experiments and measurements. While mentioning that there might be other ways of recognizing a physical reality, EPR propose the following as a reasonable criterion for a complete theory of quantum mechanics:

If, without in any way disturbing a system, one can predict with certainty (i.e., with probability equal to unity) the value of a physical quantity, then there exists an element of physical reality corresponding to this physical quantity.

They consider a quantum-mechanical description of a particle, having one degree of freedom. After some analysis, they conclude that a

definite value of the coordinate, for a particle in the state given by , is not predictable, but may be obtained only by a direct measurement. However, such a measurement disturbs the particle and changes its state. They remind us that in quantum mechanics, when the momentum of the particle is known, its coordinate has no physical reality. This phenomenon has a more general mathematical condition that if the operators corresponding to two physical quantities, say and , do not commute, then a precise knowledge of one of them precludes a precise knowledge of the other. Hence, EPR reach the following conclusion:

  • The quantum-mechanical description of physical reality given by the wave function is not complete.


  • When the operators corresponding to two physical quantities (e.g., position and momentum) do not commute (i.e. ), the two quantities cannot have the same simultaneous reality.

EPR justifies this conclusion by reasoning that if both physical quantities had a simultaneous reality and consequently definite values, then these definite values would be part of the complete description. Moreover, if the wave function provides a complete description of physical reality, then the wave function would contain these definite values and the definite values would be predictable.

From their conclusion of I OR

II, EPR assumes the negation of I – that the wave function does give a complete description of physical reality. They analyze two systems that interact over a finite interval of time. And show by a thought experiment of measuring each system via wave packet reduction that it is possible to assign two different wave functions to the same physical reality. Upon further analysis of two wave functions that are eigenfunctions of two non-commuting operators, they arrive at the conclusion that two physical quantities, with non-commuting operators can have simultaneous reality. From this contradiction or paradox (depending on one’s perspective), they conclude that the quantum-mechanical description of reality is not complete.

In [8], Bohr responds to the EPR paper. Via an analysis involving single slit experiments and double slit (two or more) experiments, Bohr explains how during position measurements that momentum is transferred between the object being observed and the measurement apparatus. Similarly, Bohr explains that during momentum measurements the object is displaced. Bohr also makes a similar observation about time and energy: “it is excluded in principle to control the energy which goes into the clocks without interfering essentially with their use as time indicators”. Because at the quantum level it is impossible to control the interaction between the object being observed and the measurement apparatus, Bohr argues for a “final renunciation of the classical ideal of causality” and a “radical revision of physical reality”.

From his experimental analysis, Bohr concludes that the meaning of EPR’s expression without in any way disturbing the system creates an ambiguity in their argument. Bohr states: “There is essentially the question of an influence on the very conditions which define the possible types of predictions regarding the future behavior of the system. Since these conditions constitute an inherent element of the description of any phenomenon to which the term physical reality can be properly attached, we see that the argumentation of the mentioned authors does not justify their conclusion that quantum-mechanical description is essentially incomplete.” Overall, the EPR versus Bohr-Born-Heisenberg position set the stage for the problem of hidden variables in the theory of quantum mechanics.

The Kochen-Specker [91, 59] approach – to a hidden variable theory in quantum mechanics – is addressed independently of any reference to locality or non-locality [4]. Instead, they assume a stronger condition than locality: hidden variables are only associated with the quantum system being measured. No hidden variables are associated with the measurement apparatus. This is the physical (non-formal) notion of non-contextuality.

In their theory, a set of observables are defined, where in the case of quantum mechanics, the observables (more general) are represented by the self-adjoint operators on a separable Hilbert space. The Kochen-Specker theorem [91, 59] proves that it is impossible for a non-contexual hidden variable theory to assign values to finite sets of observables, which is also consistent with the theory of quantum mechanics. More precisely, the Kochen-Specker theorem demonstrates a contradiction between the following two assumptions:

  • The set of observables in question have pre-assigned definite values. Due to complementarity, the observables may not be all simultaneously co-measurable, where the formal definition of co-measurable means that the observables commute.

  • The measurement outcomes of observables are non-contextual. This means the outcomes are independent of the other co-measurable observables that are measured along side them, along with the requirement that in any “complete” set of mutually co-measurable yes-no propositions, exactly one proposition should be assigned the value “yes”.

Making assumption more precise, the mutually co-measurable yes-no propositions are represented by mutually orthogonal projectors spanning the Hilbert space.

The Kochen-Specker theorem does not explicitly identify the observables that violate at least one of the assumptions or . The original Kochen-Specker theorem was not developed with a goal of locating the particular observable(s) that violate assumptions or .

In [14], Abbott, Calude and Svozil (ACS) advance beyond the Kochen-Specker theory, but also preserve the quantum logic formalism of von Neumann [99, 100] and Kochen-Specker [57, 58]. Their work can be summarized as follows:

  1. They explicitly formalize the physical notions of value definiteness (indefiniteness) and contextuality.

  2. They sharpen in what sense the Kochen-Specker and Bell-like theorems imply the violation of the non-contextuality assumption .

  3. They provide collections of observables that do not produce Kochen-Specker contradictions.

  4. They propose the reasonable statement that quantum random number generators222 There are quantum random number expanders [72, 86], based on the Bell inequalities [4, 24] and non-locality. We believe random number expanders are better suited for cryptographic applications where an active adversary may be attempting to subvert the generation of a cryptographic key. In this paper, advancing cryptography is not one of our goals. should be certified by value indefiniteness, based on the particular observables utilized for that purpose. Hence, their extension of the Kochen-Specker theory needs to locate the violations of non-classicality.

The key intuition for quantum random number generators that are designed according to the ACS protocol is that value indefiniteness implies unpredictability. One of the primary strengths of ACS theory over the Kochen-Specker and Bell-type theorems is that it helps identify the particular observables that are value indefinite. The identification of value indefinite observables helps design a quantum random number generator, based on mathematics with reasonable physical assumptions rather than ad hoc arguments. In particular, their results assure that, if quantum mechanics is correct, the particular observables – used in the measurements that produce the random number sequences – are provably value indefinite. In order for a quantum random number generator to capture the value indefiniteness during its measurements, their main idea is to identify pairs of projection observables that satisfy the following: if one of the projection observables is assigned the value 1 by an admissible assignment function such that the projector observables are non-contextual, then the other observable in the pair must be value indefinite.

Now, some of their formal definitions are briefly reviewed to clarify how the ACS corollary helps design a protocol for a dichotomic quantum random bit generator, operating in a three-dimensional Hilbert space. Vectors

lie in the Hilbert space , where is the complex numbers. The observables are a non-empty subset of the projection operators , that project onto the linear subspace of , spanned by non-zero vector . They only consider pure states. The set of measurement contexts over is the set and for . A context is a maximal set of compatible projection observables, where compatible means the observables can be simultaneously measured.

Let and be a partial function. For some and , then means both and are defined and they have equal values in . The expression means either or are not defined or they are both defined but have different values. is called an assignment function and formally expresses the notion of a hidden variable. specifies in advance the result obtained from the measurement of an observable.

An observable is value definite in the context with respect to if is defined. Otherwise, is value indefinite in . If is value definite in all contexts for which , then is called value definite with respect to If is value indefinite in all contexts , then is called value indefinite with respect to .

The set is value definite with respect to if every observable is value definite with respect to . This formal definition of value definiteness corresponds to the classical notion of determinism. Namely, assigns a definite value to an observable, which expresses that we are able to predict in advance the value obtained via measurement.

An observable is non-contextual with respect to if for all contexts such that and , then . Otherwise, is contextual. The set of observables is non-contextual with respect to if every observable which is not value indefinite (i.e. value definite in some context) is non-contextual with respect to . Otherwise, the set of observables is contextual. Non-contextuality corresponds to the classical notion that the value obtained via measurement is independent of other compatible observables measured alongside it. If an observable is non-contextual, then it is value definite. However, this is false for sets of observables: can be non-contextual but not value definite if contains an observable that is value indefinite.

An assignment function is admissible if the following two conditions hold for :

  • If there exists an with , then for all .

  • If there exists an such that , for all , then

Admissibility is analogous to a two-valued measure used in quantum logic [2, 3, 104, 55, 95]. These definitions lead us to the ACS corollary which helps design a protocol for a quantum random bit generator that relies upon value indefiniteness.

ACS Corollary.     Let , in be unit vectors such that . Then there exists a set of projection observables containing and and a set of contexts over such that there is no admissible assignment function under which is non-contextual, has the value 1 and is value definite.

The ACS experimental protocol starts with a spin-1 source and consists of two sequential measurements. Spin-1 particles are prepared in the state. (From their eigenstate assumption, this operator has a definite value.) Specifically, the first measurement puts the particle in the eigenstate of the spin operator . Since the preparation state is an eigenstate of the

projector observable with eigenvalue 0, this outcome has a definite value and theoretically cannot be reached. The second measurement is performed in the eigenbasis of the

operator with two outcomes .

Figure 2:  Quantum Observables Rendering Random Bits via Value Indefiniteness.

The outcomes can be assigned 0 and 1, respectively. Moreover, since , the ACS corollary implies that neither of the outcomes can have a pre-determined definite value. This ACS design provides two key properties: (1) Bits 0 and 1 are generated by value indefiniteness. (2) Bits 0 and 1 are generated independently with a 50/50 probability. Quantum random axioms 1 and 2 only require the second property. It is worth noting, however, that the first property (value indefiniteness) helps sharpen the results in section 4.

In [61], a quantum random number generator was built, empirically tested and implemented the ACS protocol that is shown in figure 2. During testing, the bias of the bits showed a

mean frequency of obtaining a 0 outcome and a standard deviation of

that is consistent with a bucket size of 999302 bits. The entropy for unbiased random numbers obtained from 10 Gigabits of raw data was 7.999999 per byte. The ideal value is, of course, 8. The data passed all standard NIST and Diehard statistical test suites [71, 31]. Furthermore, the quantum random bits were analyzed with a test [17] directly related to algorithmic randomness: the raw bits generated from [61] were used to test the primality of Carmichael numbers smaller than with the Solovay-Strassen probabilistic algorithm. The metric is the minimum number of random bits needed to confirm compositeness. Ten sequences of raw quantum random bits of length demonstrated a significant advantage over sequences of the same length, produced from three modern pseudo-random generators – Random123, PCG and xoroshilro128+.

In [15], Abbott, Calude and Svozil show that the occurrence of quantum randomness due to quantum indeterminacy is not a fluke. They show that the breakdown of non-contextual hidden variable theories occurs almost everywhere and prove that quantum indeterminacy (i.e. contextuality or value indefiniteness) is a global property. They prove that after one arbitrary observable is fixed so that it occurs with certainty, almost all (Lebesgue measure one) remaining observables are value indefinite.

4 Computing Ex-Machine Languages

A class of ex-machines are defined as evolutions of the fundamental ex-machine , whose 15 initial instructions are listed under ex-machine 1. These ex-machines compute languages that are subsets of aa. The expression a represents a string of consecutive a’s. For example, a aaaaa and a is the empty string.

Define the set of languages

For each function , definition 4.1 defines a unique language in .

Definition 4.1.


Consider any function . This means is a member of the set . Function induces the language a. In other words, for each non-negative integer , string a is in the language if and only if .

Trivially, is a language in . Moreover, these functions generate all of .

Remark 4.1.

In order to define the halting syntax for the language in that an ex-machine computes, choose alphabet set #, 0, 1, N, Y, a.

Definition 4.2.

Language in that ex-machine computes

Let be an ex-machine. The language in that computes is defined as follows. A valid initial tape has the form #   #a#. The valid initial tape #   ## represents the empty string. After machine starts executing with initial tape #   #a#,  string a is in ’s language if ex-machine halts with tape #a#   Y#.  String a is not in ’s language if halts with tape #a#   N#.

The use of special alphabet symbols Y and N – to decide whether a is in the language or not in the language – follows [63].

For a particular string #   #a#, some ex-machine could first halt with #a#   N# and in a second computation with input #   #a# could halt with #a#   Y#. This oscillation of halting outputs could continue indefinitely and in some cases the oscillation can be aperiodic. In this case, ’s language would not be well-defined according to definition 4.2. These types of ex-machines will be avoided in this paper.

There is a subtle difference between and an ex-machine whose halting output never stabilizes. In contrast to the Turing machine, two different instances of the ex-machine can evolve to two different machines and compute distinct languages according to definition 4.2. However, after has evolved to a new machine as a result of a prior execution with input tape #   #a#, then for each with , machine always halts with the same output when presented with input tape # #a#. In other words, ’s halting output stabilizes on all input strings a where . Furthermore, it is the ability of to exploit the non-autonomous behavior of its two quantum random instructions that enables an evolution of to compute languages that are Turing incomputable.

We designed ex-machines that compute subsets of a rather than subsets of because the resulting specification of is much simpler and more elegant. It is straightforward to list a standard machine that bijectively translates each a to a binary string in as follows. The empty string in a maps to the empty string in . Let represent this translation map. Hence, a 0,  aa 1,  aaa 00,  a 01,  a 10,  a 11,  a 000, and so on. Similarly, an inverse translation standard machine computes the inverse of . Hence 0 a,  1 aa,  00 aaa, and so on. The translation and inverse translation computations immediately transfer any results about the ex-machine computation of subsets of a to corresponding subsets of via . In particular, the following remark is relevant for our discussion.

Remark 4.2.

Every subset of a is computable by some ex-machine if and only if every subset of is computable by some ex-machine.


The remark immediately follows from the fact that the translation map and the inverse translation map are computable with a standard machine. ∎

When the quantum randomness in ’s two quantum random instructions satisfy axiom 1 (unbiased bernoulli trials) and axiom 2 (stochastic independence), for each , all finite paths of length in the infinite, binary tree of figure 3 are equally likely. (Feller [37, 38] covers random walks.) Moreover, there is a one-to-one correspondence between a function and an infinite downward path in the infinite binary tree of figure 3. The beginning of an infinite downward path is shown in red, and starts as .

Figure 3: Infinite Binary Tree. A Graphical Representation of .

Based on this one-to-one correspondence between functions and downward paths in the infinite binary tree, an examination of ’s execution behavior will show that can evolve to compute any language in when quantum random instructions (x, #, x, 0) and (x, a, t, 0) satisfy axioms 1 and 2.

Ex-Machine 1.

#, 0, 1, N, Y, a. States where halting state h , and states n , y , t </