Tuesday, July 11, 2023

Markov-Chains in VoroX

For VoroX.jl Benoît build a system that is similar to Google’s PageRank that uses Markov Chains, where web-crawlers are released onto the internet to measure the connections and generate rating of sites.

In his system there's an amount of traffic released into the Voronoi-edges of the foam, these pulses move from the edges to the junctions and check if the gates are open or closed.

When a gate is open a pulse moves on to the next gate and so forth. These ‘ratings' correspond to the current in each edge between the cells and define if a cells shrinks or expands. The particles move until they reach a Steady-State, as in Nick’s 2D Dynamic Foam model:

If you’re not familiar with Markov-Chains, this video from Khan academy explain it in 3 minutes:

So in VoroX.jl dogs/pulses/web-crawlers move to other rooms/edges/websites when there’s an open-door/gate//link.

After a couple of iterations a Steady-State is reached and we can count the dogs/flow/connections.

These values lets us know how much ‘erosion' the flow in an edge (a-c) has caused to its neighboring cells A and D, and as such the contraction-value for its dual edge A-D.

---

Details from the control panels of the 2D Dynamic-Foam
that might make more sense now:

• Energy, Scale and Critically

This refers to the number of particles/pulses are put into the system and their size.

• Circumcenter / Barycenter / Incenter

Refers to the method used to create the dual Voronoi Mesh on top of the Delaunay Mesh.

• Expansive Flow / Contractive Flow

Particles in Voronoi-edges (a-c) expand OR contract Delaunay-edges (AB).

Details from theVoroX.jl control panels of the 3D/2D Dynamic-Foam program where the particles are replaced by a Markov-Chain value system:

Height:
set size of the Area

Point size, Center size, Edge width, Circuit width:
visualisation properties

Decay:
time a current in edges stays highlighted

Shading for the faces.

3D