vendredi 9 septembre 2011

Entanglement and retro-causality

I would like to (try) to explain you the most difficult concept I have recently wrestled with in the context of DramaticGames. That is to say: Entanglement, or keeping causally dependent non-collapsed entities and behaviors in synch.
A definition of entanglement can be found here, but it can be summarized as the link that keeps in synch two non collapsed particles that have potentially interacted with each others. For instance, a non collapsed electron (superposed at multiple places) that potentially have collided and bounced from another non collapsed electron (also in states superposition).  As the two electrons are entangled, when one will collapse by being observed, the other electron will also collapse in a position that, some time, will be influenced by the potential collision that virtually occurred.  Actually, it’s collapsing post synchronization, or a form of retro-causality. This phenomenon is proven experimentally.

To explain entanglement in the context of DramaticGames, we first need to explain what a behavior is. We will take the example of the behavior of the murderer (the Perpetrator) in the context of our previous criminal investigation game example. This behavior could be represented by a classical goal tree as follow:


We see that the murder has a dynamic behavior to “oppose” to the player that investigate the criminal case. This is what I previously named the “Thinking Villain”. This mechanism insures that the game is a dynamic interactive experience and not a static puzzle.

This goal tree example shows a classical reactive behavior, with goals and sub goal triggered by conditions to be matched against the current beliefs of the Perpetrator.  This is the classical way of doing AI.  However, what we want to achieve is completely different; we want to do retro-causality as explained is my previous post: “Does the past exist yet?”.  To do so, we need to implement what I call a “Potential-Goal trees”. Here is the previous reactive-goal tree restated as a potential-goal tree:

Click to enlarge, then save the image for a better viewing experience in an external image viewer


You will notice three changes:
  1. The conditions are now named causes
  2. The leaf goals are named effectors and have an effect definition
  3. Most sub goals have been defined as “generic” goals using goal variables definition. This is not related to retro-causality because, for the sake of generic representation, this is also done in reactive goal trees.


Now, the difficult part is explaining how it all works J
Here is the same potential-goals tree but with a retro-causality process example:

Click to enlarge, then save the image for a better viewing experience in an external image viewer


This is quite difficult to grasp because it is counter intuitive.  The good news is that entanglement seems enough to avoid the many world interpretation of Quantum physics that would have been cumbersome to implement in a story world.  It must also be noted that things can get even more complicated when we consider that different potential-goals tree can be entangled together, to represent “joint intentions”, when one character potentially interact with another one.

Before getting to this complexity level, let’s try to implement basic entanglement and retro-causality in a prototype…