programmatic nature of subatomic make up

ok, so i can't say i have much depth of undestanding of subatomic makeup. however, the more i learn about programming and design, the more i see it mimicking what nature has been doing for aeons. well designed code anyway. this leads me to reason that not only should biology be an analogue for programming, but it is likely that the physical world itself has characteristics that we are now convergently using in our code.

take a 3D virtual reality world... if it were possible (ie., no limit on processing power or distributed processing) then the best way to code that world would be to build the world from atoms, putting all the info needed for phyiscal behaviour etc, into each one of those atoms. OOPing at the lowest level. at least, that's how i would see the 'best' way to build that world.

we have seen that our newly developed methods of programming are mimicking what biology has achieved and found to be a 'good' general design strategy... so IMO it stands to reason that physics has done the same thing. that each atom has the physical constants and equations 'hardwired' into their subatomic makeup. from there it comes down to interaction between these particles and the cumulative result of that distributed processing....

any thoughts?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

i guess i should add that i a

i guess i should add that i am not sure if this is an appropriate forum for this discussion as i only just joined today...

should i try elsewhere?? or is this a suitable forum? :)


Actually this is a bit OT for LtU. If anyone has suggestions for more appropriate forums, or other advice, it'd be best if you offer it by email.

For what it's worth

Most of physics consists of laws and equations that deal, in a broad, generic way, with macroscopic objects as idealized entities. A planet, for instance, can be neatly treated like a point mass for many calculations. The laws don't seem to inhere to the individual particles at all--in fact, there's a problem in contemporary physics about dealing with the "collapse of the wave function"--how do we get from quantum mechanical phenomena, much of it weird and "random", to the single observable universe we macroscopically notice?

Tyson Burghardt
"Ma che sciagura d'essere senza coglioni!"
--Voltaire, _Candide_

That would be a New Kind of Science

Steve Wolfram has been thinking the same thing for a while and wrote a really big book about it:

He tells the story how Mathematica was created to explore this physics and there's even a lite version of Mathematica to go with it.

programmatic nature of quantum electrodynamics

Browsing Feynman's wonderful QED lectures, I was struck by

When an event can happen in alternative ways, you add the complex numbers; when it can happen only as a succession of steps, you multiply the complex numbers.
These two ways of analyzing events underlie quantum electrodynamics. Similarly, programs are built on sum and product types. Knowing little category theory, I couldn't say how far up this correpondence goes. Could the collapse of the wave function and "decoherence" be analogous to continuations?

LTU has mentioned quantum programming languages. But the correspondence is not just relevant to quantum computers; it's to the behavior of all electrodynamic systems. As Feynman puts it, that's "all the phenomena of the physical world except the gravitation effect ... and radioactive phenomena".

Continuations are negation

This analogy goes farther than you'd think, but not far enough to get you to QM.

Interpreted logically, product and sum types are AND and OR, and function types are implication. You can extend the Curry-Howard isomorphism to continuations, by treating continuations as NOT. Basically, functional languages with continuations have a Curry-Howard isomorphism with classical logics, in the same way that functional languages without first-class continuations have a Curry-Howard isomorphism with intuitionistic logic.

Now, the models of classical propositional logic are the Boolean algebras. (Think of the set of subsets of a set S -- you can create other subsets by taking any combination of the intersection, union and complement operations, which correspond to AND, OR, and NOT.)

Quantum logic is a weaker logic than classical logic; its models are the orthomodular lattices, which are a more general structure than Boolean algebras, and so validate fewer theorems. In particular, the law of distributivity of AND over OR does not hold. There's a whole lot more there, but I'm getting out of my depth. :)

I don't know what a programming language based on CH isomorphism with a quantum logic would look like, but I bet it would be pretty cool.

Refactoring the Universe

...the best way to code that world would be to build the world from atoms, putting all the info needed for phyiscal behaviour etc, into each one of those atoms. OOPing at the lowest level. at least, that's how i would see the 'best' way to build that world.

Naw, I'd make the particles just "dumb" data structures--possibly atomic (this is a real knee-slapper, trust me)--and have a smart "Controller" class that manipulates 'em. That way you can try out different rules in the middle of the run. :)

By the way, why would you start with atoms? It would sure limit your simulation!

To be serious, the theory that the universe could be some sort of digital computer has been kicked around ever since we discovered that energy and mass are quantized, that is, can only take on discrete values which are an integer multiple of Planck's constant. I've built data files for my Frink programming language that have the fundamental constants of the universe as the base dimensions, as opposed to the base units of the SI (meter, second, kg, etc.) It gives some interesting insights.

To bring this back on topic, Konrad Zuse was one of the early pioneers of both high-level programming languages, and a digital theory of the universe. Read about his theories. They're fun.

Zuse and his followers proposed a universal Turing machine that would simulate all possible universes by running all possible Turing machine programs (possibly on a single machine.) I wouldn't expect any less of a thought-experiment from a supreme being. God must have kick-ass hardware.

The Last Simulation

Listen, everyone talks about the universe but nobody does anything about it. So I'm going to start. My previous posting about the ultimate simulation shows me just how easy it would be. Making a Turing machine is easy. I have the one I wrote in 8th grade on my old TRS-80. I just have to run all possible programs on it, but I want to make sure that I'm not forgetting anything. The experiment checklist requires the following:
  1. Run all possible Turing programs. Check. They're enumerable easily enough, even without Knuth's 4th book being done.
  2. Simulate all possible initial tape configurations? Yeah, I guess I gotta, or we'll miss some states. Again, they're conceptually easy enough to enumerate. Check.
  3. Make a non-deterministic Turing machine? Well, it looks like our own universe calculates all possible paths of photons. The many-worlds interpretation, Feynmann's summation of probabilities over infinite paths and all that? So I gotta be non-deterministic, right, to get the same complexity? Well, no. You can simulate any non-deterministic Turing machine on a deterministic Turing machine. So I just saved myself some coding. W00t!

So, I'm going to start this running tonight, but I don't want to forget anything that reduces my search space. Am I missing anything? Geez, put this way, it's all so bleedin' simple.

We should coin a phrase for the search of all possible digital states and their evolution to other states in this manner. Turing-infinite, anyone?

I'm in a hurry to get started. I figure that if some of the emergent beings in my simulation start deifying me by Monday, I'm not even going to go to work. Work is for sucks, not deities. I'm gonna rest on the freakin' eighth day, too.