Piment Noir Wiki

Problem model

There's probably several ways to put the underlying problematic in a mathematical object. I, for one, tend to prefer the graph approach than the full probabilistic one.

Let's define the finite set of historical facts $ \mathcal{F} = \{f_{1},\dots,f_{n}\} $.
$ \forall i \in \{1,\dots,n\}; \\

\begin{array}{lrcl} 
    h: & \mathcal{F} & \longrightarrow & \{0,1\} \\
       & f_{i} & \stackrel{h}{\longmapsto} & h(f_{i}) = \left\{
                                                             \begin{array}{rl} 0 & \quad if\,f_{i}\,has\,happened \\ 
                                                                               1 & \quad if\,f_{i}\,hasn't\,happened
                                                             \end{array} 
                                                        \right .
\end{array} $

The set $ \mathcal{F} $ is meant to be a complete set of all facts that might happen or not. The $ h $ function is only here to cope with the complexity associated to build a reduction of the list of facts to simple logical fact that only exist or not in the history line we want to model.

In order to build facts dependencies, we define the function $ p $ between two edges of the set $ \mathcal{F} $ :

$ \begin{array}{lrcl} 
    p: & \mathcal{F} \times \mathcal{F} & \longrightarrow & [0,1] \\
       & (f_{i},f_{j}) & \stackrel{p}{\longmapsto} & p((f_{i},f_{j}))
\end{array} $

that capture the dependency probability that $ f_{j} $ has in regard to $ f_{i} $.