Tuesday, June 29, 2010

Logic Programming and the Multiverse

I'm reading Iain M Banks's new Culture novel, "Matter", at the moment, and there's a scenario where a royal servant from an early Victiorian era society is travelling through space on a Culture ship thinking about the implications of the all-possible-worlds multiverse theory. It's charaterised, I think intentionally from the POV of the character, in terms of everything that can happen has already or is already happening.

I tend to think of this philosophy in terms of Quantum Theory (although this is just the first time that physics hints at the mechanism, not the first time the philosophy was expounded), and I often try imagining the universe splitting into a near-infinite set of parallel states once every quantum tick, with all possible particle movements, and energy transfers taking all possible states. This still doesn't really lead me to think of the parallel universes in terms of human affairs, imagining that my evil twin is living in some parallel universe and making radically different decisions to me, but pretty much surrounded by the same other stuff (as usually happens in parallel universe fiction). Maybe my imagination is limited and the realm of all possible worlds is bigger than I imagine - but I think the requirement that every possible world be derived by some possible state changes at quantum time intervals rules out a lot of possible worlds. i.e. the set of impossible worlds is much larger than the set of possible worlds, even though they are both effectively infinite. And switching between universes as a coherent personality construct is impossible, so we effectively navigate only one route through the multiverse, and for all intents and purposes can call this the universe.

Anyway, my current work involves me writing rules for model transformation that use a logic progamming basis. In this style of programming (especially as reflected in the syntax of Tefkat, the langauage and engine for performing the transformations), rules that relate the source model state to the target model state are effectively a multiverse, where all possible solutions to a pattern are calculated "simultaneously". The usual job of the logic programmer then is to write rules that constrain the effective target state to the one desirable universe, however, we often write rules or patterns that start by creating an exploded state space where all possible matches are made against all the source models. Source model == Universe snaphot at time 0, Rules and Patterns == Laws of Physics that constrain the possible next state, Target model == Selection from the Multiverse of a Universe at time 0+1quantum.

0 Comments:

Post a Comment

<< Home