Computation and Hypercomputation
Abstract
:1. Introduction
2. Materials and Methods
3. Results
3.1. Definitions of Hypercomputing
- ℵ-many Registers for storage of inputs, outputs and workings of a computation. For ease of exposition there will be disjoint sets of registers for inputs, outputs and workings. Input registers are read-only and contain inputs in the hypercomputer’s initial state. Separate input, working and output registers are not essential, as registers can always be moved around and working space created, but I hope their use makes the exposition easier to follow. Working registers are read-write and receive a copy of the inputs when the program starts. Output registers receive a copy of the content of the working registers, are write-only by the program and contain the outputs of the program in the hypercomputer’s halting state (see below). A register consists of an ordinal identifier and a data field, written for , which can contain 0 or 1. By default, all registers are initialized with the value 0 (representing “empty”). Input registers will be written , working registers , and output registers . It is convenient to allow multiple disjoint sets of working registers, , to facilitate operations on data set and it will be assumed in this paper that working registers are partitioned into disjoint sets. Disjoint sets of registers can be reproduced by coding the set of disjoint sequences by the concatenation . This coding depends on each sequence having a fixed length, ℵ for each sequence of registers in this case. To avoid complexities associated with the computability of functions that jump between registers, registers perform like infinite linear tapes of length ℵ terminated on the left, with being the register with lowest ordinal and only registers and , where they exist, being accessible from . is treated as a special register as it is set to 0 by default and set to 1 if a program (or subprogram) runs to completion, after steps, where is the least ordinal of cardinality ℵ. This register can be used as a “flag” to capture the output of the program;
- Symbols0 and 1;
- ℶ-many States which determine which action the hypercomputer takes and any output it produces. A state can be identified by an ordinal, which is general will not have a finite notation. There are at least two special states, an initial state, identified by the ordinal 0, where a program (see below) starts and a halting state where a program stops. The hypercomputer enters the halting state, i.e., stops, when none of the instructions (see below) applies, when an instruction is executed that puts the program in the halting state, or when the computation maximum length is reached (when the contents of are set to 1). Ordinary states are like line numbers in a hypercomputer program (see Koepke [4]), so, from the initial state, the program will enter the first ordinary state, 1 say, and as the number of instructions executed (i.e., the length of the computation) increases towards limit ordinal , the program jumps to state unless there is a state with a smaller least upper bound. (It is of course possible to become stuck in a particular state and for the program not to output given a particular set of register values, but equally it is possible to loop back to the same state if the register value is 0 say, and then at the next limit ordinal for the program to read a 1, when the program may move to a different state.) It makes sense not to be able to jump past a limit ordinal, so, for successor ordinal state , only states with ordinal are accessible from , where is the preceding limit ordinal and is the next limit ordinal ;
- An initial configuration, comprising data loaded into the input registers, an initial state and an initial current register ( by default and likewise and when these sets of registers are accessed);
- A program of length ℶ, which is a (in general transfinite) sequence of 5-tuples 〈Current State, Register Set, Symbol, Action, Next, State〉, called program instructions, read as “if the hypercomputer is in Current State and the current register in the Register Set contains Symbol then do Action and move into Next, State”, where an Action may be to do nothing, write a 0 or 1 to a current register, , in any set of registers, to move left or right where possible, i.e., from to or if is a successor ordinal and from to otherwise, or set the current register to the 0-th register, i.e., . The instructions can be grouped by state into a table of instructions. For ease of exposition, the program length will refer to the number of state entries in the table. As these operations apply to each disjoint set of registers, I, , O, there are 11 instruction types (as “do nothing” applies to all registers and I cannot be written to). For definiteness, “do nothing” is represented by 0, “write a 0” to the current register of by , “write a 0” to the current register of O by 5, “write a 1” to the current register of by , “write a 1” to the current register of O by 6, “move left” by 3 (for I), (for ) and 9 (for O), “move right” by 4 (for I), (for ) and 10 (for O), and “reset register” by 11 (for I), (for ) and 13 (for O). Each program comprises a standard introduction which copies the input registers to working registers (i.e., a set of 5-tuples with source set of registers I and destination set of registers ), a program that manipulates the working registers, and a standard conclusion which copies working registers to output registers (i.e., a set of 5-tuples with source registers and destination registers O). A program to copy the registers from and destination registers O has one ordinary state, 1, and comprises the instructions , , , , , , , . The sequence will move the computation to the halting state, 2, when it completes copying. A program to copy the registers from I and destination has one ordinary state, 1, and comprises the instructions , ,, , , , . The sequence will move the computation to the halting state, 2, when it completes copying. It is not possible for humans to write down infinitely long programs, but it is possible to write program schemas. An example is a program schema for the logical conjunction of a set of registers of cardinality ℵ given by a finite program could be written , , , where is an ordinal parameter for the state and is the halt state. Program schemas are concise, but finite programs suffice in the example of logical conjunction (the state number does not have to be increased every time the head moves right). For example, take a program which has two states (other than the standard special states), 1 and 2, the standard introduction and conclusion for input and output being ignored for simplicity. In state 1, if the program reads a register containing a 1, it writes a 1 in register and stays in state 1. In state 1, if the program reads a register containing a 1, it moves right to and stays in state 1, while, if contains a 0, it writes a 0 in register and terminates by moving to the halting state, 2. When reading registers with limit ordinal , the program will be in the highest state achieved (i.e., 1 in practice) when reading registers and the value of any register after limit ordinal steps of the program will be the value of an eventually constant sequence for steps or 1, otherwise. It can be seen that contains 1 if and only if every for ordinal contains 1. The program implements infinite logical conjunction (i.e., infinite logical “and”) of propositions with truth values stored in . This program can be written formally as follows in the notation of this paper: , , . The last three instructions implement the flag set to 1 in when the program completes, and moves the program to the halt state. Infinite “or” can be done similarly with the two state machine: in state 1, if the program reads a register containing a 0 it writes a 0 to , moves to and stays in state 1; if it reads a register containing a 1 it writes a 1 to and moves to halting state 2. It is also worth explaining how transfinite recursion such as and , where is abstraction in the lambda calculus, for ordinal for arbitrary ordinal if are hypercomputable functions, can be implemented. If we assume that F uses (a set of states including) state 1, f uses (a set of states called by state 1 including) state 2 and g uses (a set of states called by state 1 including) state 3, we can represent a transfinite recursion for F by using one working register set, say, as a counter (up to cell , preset to 1 on the input tape), a second set, say, to contain (a binary code) of the output to f, a third set, say, to contain the output to g, and a fourth set of registers, say, to contain the output of F. Aside from coding and decoding from the binary representation on the tape, the program works until the counter hits the -th cell when it copies the output of to the output tape (in state 1), starting by copying f from the input, incrementing the counter, copying those values in to the input of g (state 2), running g, copying the output of g in to the input of g, appending the output of g at the end of the output of F in , and incrementing the counter, at limits copying the output of F in to the input of g in (state 3). To enable markers (0s) to be put at the end of outputs, we can code the working registers by leaving every second cell of 0 value and marking a 0 marker cell with a 1 when the end of the output is reached;
- many steps in the computation;
- Output is the contents of the output registers when the program is in a halting state.
- ;
- where ;
- ;
- if and is a successor ordinal;
- if and is a successor ordinal;
- if and is a successor ordinal;
- if ;
- if ;
- if ;
- if ;
- if ;
- if ;
- otherwise;
- for all ;
- if and ;
- if and ;
- if and ;
- if and ;
- otherwise for all ;
- if is a limit ordinal;
- if is a limit ordinal;
- if is a limit ordinal.
3.2. Definitions of Computing
- ;
- ;
- ;
- ifandis a successor ordinal;
- if and is a successor ordinal;
- if and is a successor ordinal;
- if;
- if;
- if;
- if;
- if;
- if;
- otherwise;
- for all;
- if and ;
- if and ;
- ifand;
- ifand;
- otherwise for all.
3.3. Hypercomputation and Trees
3.4. A -Computer
3.5. A Hierarchy of Hypercomputers by Strength
4. Discussion
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Hamkins, J.; Lewis, A. Infinite Time Turing machines. J. Symb. Log. 2000, 65, 567–604. [Google Scholar] [CrossRef] [Green Version]
- Koepke, P. Infinite Time Register Machines; CiE 2006; Beckmann, A., Ed.; University of Athens: Athens, Greece, 2006; Volume LNCS 3988, pp. 257–266. [Google Scholar]
- Koepke, P.; Miller, R.G. An enhanced theory of infinite time register machines. In Logic and the Theory of Algorithms; Lecture Notes in Computer Science; Beckmann, A., Ed.; Springer: Berlin, Germany, 2008; Volume 5028. [Google Scholar]
- Koepke, P. Turing Computations on Ordinals. Bull. Symb. Log. 2005, 11, 377–397. [Google Scholar] [CrossRef] [Green Version]
- Koepke, P.; Koerwien, M. Ordinal computations. Math. Struct. Comput. Sci. 2006, 16, 1–18. [Google Scholar] [CrossRef] [Green Version]
- Koepke, P.; Siders, R. Register Computations on Ordinals. Arch. Math. Log. 2008, 47, 529–548. [Google Scholar] [CrossRef]
- Carl, M.; Fischbach, T.; Koepke, P.; Miller, R.; Nasif, M.; Weckbecker, G. The basic theory of infinite time register machines. Arch. Math. Log. 2010, 49, 249–273. [Google Scholar] [CrossRef] [Green Version]
- Carl, M.; Ouazzani, S.; Welch, P.D. Taming Koepke’s Zoo. In Proceedings of the Sailing Routes in the World of Computation—14th Conference on Computability in Europe, Kiel, Germany, 30 July–3 August 2018; Lecture Notes in Computer Science. Manea, F., Miller, R.G., Nowotka, D., Eds.; Springer: Berlin, Germany, 2018; Volume 10936, pp. 136–145. [Google Scholar]
- Carl, M. Ordinal Computability: An Introduction to Infinitary Machines; De Gruyter Series in Logic and Its Applications; De Gruyter: Berlin, Germany, 2019. [Google Scholar]
- Carl, M. Taming Koepke’s Zoo II: Register machines. Ann. Pure Appl. Log. 2022, 173, 103041. [Google Scholar] [CrossRef]
- Koepke, P. Ordinal Computability. In Mathematical Theory and Computational Practice; Number 5635 in Lecture Notes in Science; Ambos-Spies, K., Ed.; Springer: Berlin, Germany, 2009; pp. 280–289. [Google Scholar]
- Hamkins, J.; Miller, R. Post’s Problem for ordinal register machines: An explicit approach. Ann. Pure Appl. Log. 2009, 60, 302–309. [Google Scholar] [CrossRef] [Green Version]
- Welch, P.D. Characteristics of discrete transfinite time Turing machine models: Halting times, stabilization times, and Normal Form theorems. Theor. Comput. Sci. 2009, 210, 426–442. [Google Scholar] [CrossRef] [Green Version]
- Welch, P.D. Discrete transfinite computation models. In Computability in Context: Computation and Logic in the Real World; Cooper, S.B., Sorbi, A., Eds.; World Scientific: Singapore, 2011; pp. 375–414. [Google Scholar]
- Blanchetti, M. Weaker variants of infinite time Turing machines. Arch. Math. Log. 2020, 59, 335–365. [Google Scholar] [CrossRef]
- Rin, B. The computational strengths of alpha-tape infinite time Turing machines. Ann. Pure Appl. Log. 2014, 1165, 1501–1511. [Google Scholar] [CrossRef]
- Welch, P.D. Characterisations of variant transfinite computational models: Infinite time Turing, ordinal time Turing, and Blum–Shub–Smale machines. Computability 2021, 10, 159–180. [Google Scholar] [CrossRef]
- Koepke, P.; Seyfferth, B. Ordinal machines and admissible recursion theory. Ann. Pure Appl. Log. 2009, 160, 310–318. [Google Scholar] [CrossRef]
- Schindler, R. P [not =] NP infinite time Turing machines. Monatshefte für Math. 2003, 139, 335–340. [Google Scholar] [CrossRef] [Green Version]
- Hamkins, J.D.; Welch, P.D. Pf not =NPf for almost all f. Math. Log. Q. 2003, 49, 536–540. [Google Scholar] [CrossRef]
- Deolalikar, V.; Hamkins, J.D.; Schindler, R. P [not =] NP [intersect] co-NP for infinite time turing machines. Log. Comput. 2005, 15, 577–592. [Google Scholar] [CrossRef]
- Carl, M. Space and time complexity for infinite time Turing machines. Log. Comput. 2020, 30, 1239–1258. [Google Scholar] [CrossRef]
- Hellman, G. Mathematics without Numbers. Towards a Modal-Structural Interpretation; Clarendon Press: Oxford, UK, 1989. [Google Scholar]
- Turing, A. On Computable Numbers, with an Application to the Entscheidungsproblem. Proc. Lond. Math. Soc. 1937, s2-42, 230–265. [Google Scholar] [CrossRef]
- Clarkson, M.; Schneider, F. Hyperproperties. In Proceedings of the 21st IEEE Computer Security Foundations Symposium, Pittsburgh, PA, USA, 23–25 June 2008; IEEE Computer Society: Washington, DC, USA, 2008; pp. 51–65. [Google Scholar]
- Kleene, S. Recursive predicates and quantifiers. Trans. Am. Math. Soc. 1943, 53, 41–73. [Google Scholar] [CrossRef]
- Peter, R. Recursive Functions; Academic Press: New York, NY, USA, 1967. [Google Scholar]
- Arora, S.; Barak, B. Computational Complexity: A Modern Approach; Cambridge University Press: Cambridge, UK, 2009. [Google Scholar]
- Fortnow, L. Diagonalization. In Current Trends in Theoretical Computer Science; Chapter Diagonalization; Păun, B., Rozenberg, G., Salomaa, A., Eds.; World Scientific: Singapore, 2001; Volume 102–114, Chapter C.8. [Google Scholar]
- Martin, D.A. Descriptive set theory: Projective sets. In Handbook of Mathematical Logic; Studies in Logic and the Foundations of Mathematics; Barwise, J., Ed.; North-Holland: Amsterdam, The Netherlands, 1977; Volume 90, pp. 783–818. [Google Scholar]
- Monk, J.D. Introduction to Set Theory; McGraw Hill: New York, NY, USA, 1969. [Google Scholar]
- Gödel, K. Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme, I. Monatshefte für Math. Und Phys. 1931, 38, 173–198. [Google Scholar] [CrossRef]
- Smorynski, C. The Incompleteness Theorems. In Handbook of Mathematical Logic; Studies in Logic and the Foundations of Mathematics; Barwise, J., Ed.; North-Holland: Amsterdam, The Netherlands, 1977; Volume 90, Chapter D.1; pp. 821–865. [Google Scholar]
- Jech, T. About the axiom of choice. In Handbook of Mathematical Logic; Studies in Logic and the Foundations of Mathematics; Barwise, J., Ed.; North-Holland: Amsterdam, The Netherlands, 1977; Volume 90, Chapter B.2; pp. 345–370. [Google Scholar]
- Fraenkel, A.; Bar-Hillel, Y.; Levy, A. Foundations of Set Theory; Studies in Logic and the Foundations of Mathematics; North-Holland: Amsterdam, The Netherlands, 1973; Volume 67. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Powell, A. Computation and Hypercomputation. Mathematics 2022, 10, 997. https://doi.org/10.3390/math10060997
Powell A. Computation and Hypercomputation. Mathematics. 2022; 10(6):997. https://doi.org/10.3390/math10060997
Chicago/Turabian StylePowell, Andrew. 2022. "Computation and Hypercomputation" Mathematics 10, no. 6: 997. https://doi.org/10.3390/math10060997
APA StylePowell, A. (2022). Computation and Hypercomputation. Mathematics, 10(6), 997. https://doi.org/10.3390/math10060997