{"slug": "where-does-computation-end", "title": "Where Does Computation End?", "summary": "Jürgen Schmidhuber's Gödel Machine, a hypothetical self-improving AI that requires proof before modifying itself, remains unimplemented, but its ideas persist in modern AI research through self-modifying agents, meta-learning, and program synthesis. The exploration of its limitations leads to the Halting Problem, which demonstrates that no universal algorithm can determine whether any program halts, a boundary formalized by Turing machines, lambda calculus, and recursive functions in the 1930s, supporting the Church–Turing thesis.", "body_md": "# Where Does Computation End?\n\n# Where Does Computation End?\n\nI started with a fairly specific question: **Is the Gödel Machine actually used today?** [Jürgen Schmidhuber, \"Gödel Machines\"](https://arxiv.org/abs/cs/0309048). I expected the answer to lead somewhere inside AI. Instead, it led me into a much stranger question:\n\nWhat does it actually mean for something to be computable?\n\nAnd eventually, an even stranger one:\n\nIs the limit of computation a fundamental property of reality, or is it a boundary created by the way we choose to model reality?\n\nThis is my attempt to follow that rabbit hole.\n\n## 1. The Gödel Machine has a strange problem\n\nA Gödel Machine is, roughly speaking, a hypothetical self-improving AI. It runs its current program, searches for a mathematical proof that changing its own program would increase its expected utility, and only then allows itself to rewrite its code.\n\nThat sounds reasonable until you ask a simple question: **What if the modification is genuinely better, but the machine can't prove that it is?** Imagine a chess-playing Gödel Machine. Its current algorithm is mediocre. It discovers a new algorithm that would play substantially better chess. But before replacing itself, it needs to prove that the new algorithm will produce greater utility than the old one.\n\nThat proof might require reasoning about every possible future game. For arbitrary programs, questions about future behavior can run directly into undecidability. While the Godel Machine's did not manifest into a real system the idea behind it still lives on in different forms like Self-modifying / self-improving agents,Meta-learning,AI systems that optimize their own reasoning/search,Program synthesis and automated theorem proving,AI agents that evaluate and improve their own generated code,Recursive/iterative AI improvement*.\n\n*these generally use empirical evaluation, gradient optimization, search, or heuristics, rather than the Gödel Machine's extremely strict “prove the modification is better, then execute it” mechanism\n\nAnd that led me to the Halting Problem.\n\n## 2. The Halting Problem is not about waiting long enough\n\nAt first, the Halting Problem sounded almost trivial. Surely, if I inspect a program carefully enough, I should eventually be able to determine whether it stops. And for many individual programs, I can.\n\nThe actual claim is much stronger:\n\nCan we create one algorithm that takes\n\nany program and any inputand always determines whether that program will eventually halt?\n\nSuppose we had:\n\n``` python\ndef halts(program, input):\n    # returns True if program eventually stops\n```\n\nNow construct a program that deliberately does the opposite of whatever `halts`\n\npredicts:\n\n``` python\ndef evil(program):\n    if halts(program, program):\n        while True:\n            pass\n    else:\n        return\n```\n\nNow ask:\n\n```\nhalts(evil, evil)\n```\n\nIf it says `True`\n\n, `evil`\n\nloops forever. If it says `False`\n\n, `evil`\n\nimmediately terminates. Either way, the prediction is wrong.\n\nThe problem isn't that computers are too slow. The problem is that **no universal algorithm of this form can exist within ordinary computation**. That distinction is important. We can solve many individual halting questions. What we cannot have is a universal procedure that solves *all* of them.\n\nIn the 1930s, several people formalized “mechanical computation” in very different ways:\n\n- Turing machines — Turing\n- Lambda calculus — Church\n- Recursive functions — Kleene\n- Post machines — Post\n\nThey weren't simply copies of each other. They started from different mathematical ideas. Yet they all ended up characterizing essentially the same class of computable functions.\n\nThat was one of the major reasons the Church–Turing thesis became compelling: Maybe the Turing boundary isn't an arbitrary choice of one mathematical model. Maybe it is capturing something fundamental about what an algorithmic process is.\n\n## 3. So what exactly is computation?\n\nThis question bothered me more than the Halting Problem itself. We casually say:\n\n\"The computer computed it.\"\n\nBut what is computation? At the simplest level, it is the systematic transformation of information according to rules. Turing's great contribution was to formalize what we mean by a mechanical procedure.\n\nA Turing machine is absurdly simple:\n\n- a tape\n- symbols\n- a read/write head\n- a finite set of rules\n- a current state\n\nAnd yet this tiny abstraction can represent general computation. What made Turing's model especially interesting was that other researchers independently developed different formalisms --- lambda calculus, recursive functions, Post systems --- and they ended up describing essentially the same class of computable functions.\n\nThis convergence gave us the Church--Turing thesis:\n\nAnything that can be computed by a reasonable mechanical procedure can be computed by a Turing machine.\n\nBut notice the wording. It is a **thesis**, not a mathematical theorem. \"Reasonable mechanical procedure\" is not itself a mathematical definition. And this opens an uncomfortable door.\n\n## 4. What if computation could be defined differently?\n\nWhy should the Turing machine be the final word? We can define stronger mathematical models.\n\nAn Oracle Turing Machine, for example, can be given access to a hypothetical oracle that instantly answers the Halting Problem.\n\nThen:\n\n```\nordinary computation\n        ↓\nTuring machine + HALT oracle\n        ↓\nstronger computational model\n```\n\nBut something strange happens. The oracle machine gets its own Halting Problem. You can ask whether an oracle-equipped machine halts, producing a new problem that the original oracle cannot solve.\n\nSo you get a hierarchy:\n\n```\nordinary computation\n        ↓\nHALT oracle\n        ↓\noracle-level HALT problem\n        ↓\nstronger oracle\n        ↓\nanother undecidable problem\n        ↓\n...\n```\n\nThis doesn't eliminate undecidability. It moves the boundary. That made me wonder: **Could there be some physically realizable mechanism that plays the role of an oracle?**\n\n(for the sake of this article lets define an Oracle as a hypothetical computational black box that can answer a specific question that an ordinary Turing machine cannot algorithmically solve.)\n\n## 5. Hypercomputation\n\nThis is where I discovered the idea of **hypercomputation**. Hypercomputation studies computational models that, in some sense, go beyond ordinary Turing computation. There are several theoretical approaches.\n\n### Oracle computation (cleanest mathematically)\n\nGiven a turing machine that can answer an undecidable question, (Turing Machine + HALT Oracle)\n\nNow the halting problem can be solved by the oracle, but the oracle is essentitally a black boc containing information that we don't know how to compute so you can construct a new halting problem for machines using that oracle (lol).\n\nSoooo, its powerful but does not give us a physical implementation.\n\n### Infinite-time computation (pretty cool)\n\nInstead of requiring:\n\n```\n1, 2, 3, 4, ... forever\n```\n\nto actually take infinite time, you allow the machine to perform infinitely many computational steps and then reach a limit stage.\n\nThis lets it decide certain problems ordinary Turing machines cannot. The problem is obvious: How the hell do you physically perform infinitely many operations?\n\nAs you could probably guess, we don't know how :/\n\n### Analog computation\n\nNow imagine a machine that is capable of storing a number with LITERALLY INFINITE precision. You could encode an enormous amount of information into the digits of on real number, including information that is not computable by the turing machine, then you could compute on that nuumber and extract it.\n\nBut we run into the same wall as we did before: How do you physically perform infinitely many operations?\n\n### Relativistic and CTC-based computation\n\nUse unusual spacetime structures, such as closed timelike curves, to alter what computation could theoretically accomplish. And there have actually been quantum experiments simulating CTC behavior. In 2026, researchers experimentally implemented a postselected CTC protocol on Quantinuum and IBM quantum processors: [arXiv](https://arxiv.org/abs/2501.16335).\n\n(THEY SIMULATED THE BEHVAIOR OF A CTC, AND NOT ACTUALLY CREATE ONE)\n\nnow a CTC is basically a path through spacetime where you can follow the curve and eventually arrive back at an earlier point in your own timeline.\n\n```\nPast → Future → Past\n          ↑       │\n          └───────┘\n```\n\nNow we ALL know that we cannot travel back in time but if we could (BIG IF), we could follow a CTC and arrive back at an earlier point in our own timeline.\n\nBut to even realise the dream of making a CTC work, we would require exotic conditions like rapidly rotating cosmic strings, special wormhole geometries and enormous gravitational fields.\n\nAnd then there is quantum computing. Quantum computers are incredibly powerful for certain problems, but they aren't known to cross the boundary of Turing computability. They provide computational **speedups**, not necessarily computational **possibilities**. That distinction matters enormously.\n\n## 6. A faster computer isn't necessarily a more powerful computer\n\nThis became one of the recurring distinctions throughout this rabbit hole. Suppose Computer A takes:\n\n```\n1,000,000,000 years\n```\n\nto solve a problem. And Computer B takes:\n\n```\n1 second\n```\n\nThat's an enormous improvement. But if the problem is Turing-computable, both machines are still operating inside the same computability boundary.\n\nHypercomputation would mean something fundamentally different. It would mean:\n\nThere exists a problem that Computer B can solve that\n\nno ordinary Turing machine can solve at all.\n\nNot slower. Not impractical. Not astronomically expensive. **Uncomputable.** That is a much higher bar.\n\n## 7. Maybe physics itself could provide the missing computation\n\nThis is where the question became much more interesting to me. A Turing machine is an abstraction. A physical computer is not. A real computer is made from:\n\n- electrons\n- photons\n- fields\n- materials\n- quantum states\n- physical interactions\n\nSo perhaps the question shouldn't be:\n\n\"Can we design a clever enough algorithm to beat Turing?\"\n\nMaybe it should be:\n\n\"Does nature contain physical processes that cannot be captured by Turing computation?\"\n\nThis brings us to the **Physical Church--Turing Thesis**. Roughly:\n\nIs everything physically computable also Turing-computable?\n\nUnlike the ordinary mathematical limits of Turing machines, this is not something we have proved from mathematics alone. It is a question about the relationship between computation and physical reality. And that's a much more uncomfortable question.\n\n## 8. What about continuous physics?\n\nConsider an analog computer. Instead of representing a value using discrete bits, it could represent it using something like voltage:\n\n```\n1 V     → 1\n2.5 V   → 2.5\n7.3 V   → 7.3\n```\n\nMathematically, a voltage can be treated as a real number:\n\n```\n3.1415926535897932384626...\n```\n\nAnd a real number has infinitely many digits. This creates a fascinating theoretical possibility. Suppose a physical system could store and manipulate a real number with genuinely infinite precision. Then that number could, mathematically, encode information that is not Turing-computable.\n\nFor example, imagine a number:\n\n```\nx = 0.H₁H₂H₃H₄H₅...\n```\n\nwhere:\n\n```\nHₙ = 1  if program n halts\nHₙ = 0  otherwise\n```\n\nThat single real number would contain the entire Halting Problem. If we could physically access arbitrary digits of it, we would effectively have a Halting oracle. That would be extraordinary. But there is a catch.\n\n**The infinite precision is doing all the work.**\n\n## 9. The problem with infinite precision\n\nReal physical systems have:\n\n- thermal noise\n- quantum fluctuations\n- finite measurement precision\n- finite energy\n- finite bandwidth\n- finite time\n\nA mathematical real number can have infinitely many digits. A physical measurement cannot simply assume that all those digits are accessible. This creates an important distinction:\n\nA physical state\n\ncontainingnoncomputable information is not necessarily a physical computerusingnoncomputable information.\n\nSuppose nature somehow contains a noncomputable real. Great. Can I manipulate it? Can I measure it? Can I extract its 10,000th digit? Can I do that reliably? Can a finite observer actually obtain useful information from it? If the answer is no, then its theoretical existence doesn't give us a hypercomputer.\n\nThe real challenge is:\n\n```\nphysical state\n      ↓\ncontrollable interaction\n      ↓\nmeasurement\n      ↓\nusable non-Turing information\n```\n\nThat middle section is where everything becomes difficult.\n\n## 10. What if we don't need infinite precision?\n\nThis was one of the ideas I found most interesting. Maybe demanding a single perfectly precise real number is the wrong approach. What if instead a physical system has an enormous continuous state space? Imagine it naturally produces states like:\n\n```\n0.384729...\n0.918273...\n0.101101...\n0.777291...\n...\n```\n\nInstead of requiring infinite precision from one state, perhaps we could explore the state space until the system reaches some state containing the structure we want. This sounds promising. But immediately another problem appears: **How do we recognize the useful state?**\n\nSuppose the Halting Problem is encoded in some mysterious state:\n\n```\n0.101101001...\n```\n\nHow do I know that this is the special state? If I need a computable procedure to recognize it, the difficulty may simply have moved from:\n\ncomputing the answer\n\nto:\n\nrecognizing the state containing the answer.\n\nAnd if the search itself is Turing-computable, then perhaps I've merely hidden the computation inside the physical process. Still, I think the question is worth asking more carefully:\n\nCan a physical system explore a continuous state space and expose useful structure without explicitly computing that structure step by step?\n\nThat feels like a much more concrete research question.\n\n## 11. What about dimensionality?\n\nAnother thought I had was whether increasing physical dimensionality could help. A Turing machine is essentially one-dimensional. Physical systems can be:\n\n```\n1D\n2D\n3D\n...\n```\n\nA 3D optical system can have an enormous number of interacting degrees of freedom. But more dimensions don't automatically mean more computability. This is similar to something familiar from machine learning. Cover's theorem tells us that transforming data into a higher-dimensional representation can make a problem linearly separable. You don't necessarily create a physically new dimension. You transform the representation.\n\nFor example:\n\n```\n(x₁, x₂)\n      ↓\n(x₁, x₂, x₁x₂)\n```\n\nSuddenly a problem that wasn't linearly separable may become separable by a plane. This analogy is interesting for computation. Perhaps a physical system could perform a transformation that makes an apparently impossible computational problem accessible.\n\nBut there is a hard boundary:\n\nIf the transformation itself is Turing-computable, you haven't escaped Turing computation.\n\nFor this idea to genuinely break the boundary, the **physical transformation itself** would need to introduce non-Turing-computable information. And that's exactly the question.\n\n## 12. What about closed timelike curves?\n\nClosed timelike curves, or CTCs, are another fascinating theoretical possibility. A CTC is not simply \"the universe reversing time.\" It is a path through spacetime that, in certain solutions of general relativity, can return to an earlier spacetime event. Certain computational models involving CTCs have surprising computational consequences.\n\nThe appeal is obvious: instead of giving a computer an oracle explicitly, perhaps the structure of spacetime itself provides an additional computational resource. But there is a massive difference between:\n\n```\nmathematically allowed spacetime solution\n```\n\nand:\n\n```\nphysically realizable machine\n```\n\nWe have no demonstrated CTC that can be used as a computational resource. There are also serious physical questions about whether nature permits such structures to exist at all. So CTCs are better described as **theoretical routes toward hypercomputation**, not functioning time-travel computers.\n\n## 13. So are we actually close to breaking Turing?\n\nNo. And this is where the excitement needs to be separated from the evidence. We currently have:\n\n- no physical Halting oracle\n- no demonstrated hypercomputer\n- no demonstrated physical process that computes a genuinely Turing-uncomputable function\n\nWe *do* have fascinating research in:\n\n- analog computation\n- optical computation\n- quantum computing\n- nonlinear dynamical systems\n- relativistic computation\n- computable analysis\n- physical computation\n\nSome of these systems can produce enormous improvements in speed, energy efficiency, parallelism, or physical capability. But none has demonstrated that the universe allows us to compute something fundamentally beyond Turing computation.\n\n## 14. The question I actually care about\n\nAfter following this chain for a while, I think the original question about the Gödel Machine was almost incidental. The question I'm now interested in is:\n\nIs the Turing boundary a fundamental boundary imposed by physical reality, or is it partly a boundary produced by our abstraction of physical systems?\n\nThere is an important subtlety here. If I abstract a physical object into a finite description, then of course I can usually represent it using some finite computational model. But nature isn't obligated to hand us finite descriptions. Physical systems contain enormous numbers of interacting degrees of freedom. Continuous systems involve real-valued quantities. The universe may contain structures whose exact mathematical descriptions are inaccessible to finite observers.\n\nThat doesn't automatically imply hypercomputation. But it makes the question interesting. Perhaps computation isn't something we merely impose on physics. Perhaps computation is something that **emerges from certain physical structures**. And perhaps there are physical structures whose computational capabilities we haven't fully understood.\n\n## 15. The research question\n\nIf I wanted to turn this rabbit hole into an actual research direction, I wouldn't start with:\n\n\"How do I build a hypercomputer?\"\n\nThat's too vague. I'd start with something much more constrained:\n\nCan a finite, noisy, continuous physical dynamical system provide computationally useful information that is genuinely not Turing-computable?\n\nThen attack it from both directions.\n\n### Try to prove it can't happen.\n\nMaybe every physically meaningful, finite, noisy, measurable continuous system ultimately admits a sufficiently good Turing simulation. If so, that would tell us something deep about the relationship between physics and computation.\n\n### Try to find a counterexample.\n\nFind a physical system where:\n\n```\nfinite physical resources\n        ↓\ncontinuous dynamics\n        ↓\nobservable\n        ↓\ngenuinely non-Turing-computable information\n```\n\nAnd then prove that the information cannot simply be reinterpreted as a hidden oracle or an unphysical infinite-precision assumption. That would be much more interesting than merely proposing another theoretical machine.\n\n## 16. What I want to learn next\n\nThe rabbit hole seems to lead through several fields:\n\n**Computability theory**- Turing machines\n- reductions\n- diagonalization\n- undecidability\n- Turing degrees\n- arithmetical hierarchy\n\n**Computable analysis**- computable real numbers\n- continuous functions\n- differential equations\n- computability in physical systems\n\n**Analog computation**- Shannon's differential analyzer\n- GPACs\n- Blum--Shub--Smale computation\n- finite precision\n- robustness\n\n**Physical computation**- Physical Church--Turing Thesis\n- what it means for a physical system to compute\n\n**Hypercomputation**- oracle machines\n- supertasks\n- relativistic computation\n- CTC computation\n\n**Modern physical implementations**- nonlinear optical systems\n- analog computing\n- optical computing\n- quantum information\n\nOne paper that particularly caught my attention is work connecting nonlinear optical resonators with Turing-completeness and undecidability. It is a concrete example of the strange boundary between physical dynamics and computation.\n\n## 17. Maybe the question is backwards\n\nThe more I think about it, the less interesting the question\n\n\"Can we build something faster than a Turing machine?\"\n\nbecomes. We already know how to build faster computers. The deeper question is:\n\nCan nature compute something that no Turing machine can compute?\n\nAnd then an even deeper question follows:\n\nIf it can, how would a finite observer know?\n\nBecause if a physical system contains some infinitely precise, noncomputable object but we cannot reliably extract information from it, it hasn't given us a useful computational advantage.\n\nThe real breakthrough would have to be:\n\n```\nphysical reality\n      ↓\nnon-Turing information\n      ↓\nfinite observer\n      ↓\nreliable extraction\n```\n\nwithout quietly hiding an oracle, infinite resources, infinite precision, or an infinite amount of computation somewhere in the assumptions.\n\nThat is an extraordinarily high bar. But it is also a beautiful question. Maybe the Turing machine really does describe the computational limits of every physically realizable process. Or maybe it describes something narrower: **the limits of computation after we've reduced reality to the kind of abstraction a Turing machine can represent.**\n\nI don't know which is true. That's probably the reason I want to understand it.\n\n## Recommended reading\n\nIf I were starting from here, these are the main references I would read next:\n\n-\n**Pour-El & Richards,*** Computability in Analysis and Physics*\n\nProbably the most relevant starting point for questions about continuous physical systems and computability.\n\n[Book / Cambridge University Press](https://www.cambridge.org/core/books/computability-in-analysis-and-physics/DFC40C2556AF863C770EFEA0A4F30FD9) -\n**Paolo Cotogno, \"Hypercomputation and the Physical Church--Turing Thesis\"**\n\nA useful overview of analog, quantum, retrocausal, supertask, and other attempts to go beyond Turing computation.\n\n[Paper](https://www.journals.uchicago.edu/doi/10.1093/bjps/54.2.181) -\n**Li & Marandi, \"Turing-Completeness and Undecidability in Coupled Nonlinear Optical Resonators\"**\n\nDirectly relevant to the optical-computation angle: nonlinear optical resonators as a concrete setting where physical dynamics and undecidability meet.\n\n[arXiv](https://arxiv.org/abs/2501.06966) -\n**Aaronson & Watrous, \"Closed Timelike Curves Make Quantum and Classical Computing Equivalent\"**\n\nA foundational paper on the computational consequences of closed timelike curves.\n\n[arXiv](https://arxiv.org/abs/0808.2669) -\n**Aaronson et al., \"Computability Theory of Closed Timelike Curves\"**\n\nA deeper look at the computational hierarchy associated with CTC models.\n\n[arXiv](https://arxiv.org/abs/1609.05507) -\n**Microsoft Research, \"An analog optical computer for AI inference and combinatorial optimization\"**\n\nA concrete modern implementation of real analog/optical computing, showing how physical continuous dynamics can be exploited for practical computation without claiming to exceed Turing computability.\n\n[Nature](https://www.nature.com/articles/s41586-025-09430-z)\n\nSuggested order: **Pour-El & Richards → Cotogno → Microsoft Research → Li & Marandi → the CTC papers**.", "url": "https://wpnews.pro/news/where-does-computation-end", "canonical_source": "https://sslog.dpdns.org/where-does-computation-end.html", "published_at": "2026-08-18 00:00:00+00:00", "updated_at": "2026-08-18 17:10:44.758565+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-research", "ai-safety"], "entities": ["Jürgen Schmidhuber", "Gödel Machine", "Alan Turing", "Alonzo Church", "Stephen Kleene", "Emil Post"], "alternates": {"html": "https://wpnews.pro/news/where-does-computation-end", "markdown": "https://wpnews.pro/news/where-does-computation-end.md", "text": "https://wpnews.pro/news/where-does-computation-end.txt", "jsonld": "https://wpnews.pro/news/where-does-computation-end.jsonld"}}