MarkovJunior

last updated: Oct 20, 2023

https://github.com/mxgmn/MarkovJunior

MarkovJunior is a probabilistic programming language where programs are combinations of rewrite rules and inference is performed via constraint propagation. MarkovJunior is named after mathematician Andrey Andreyevich Markov, who defined and studied what is now called Markov algorithms.
In its basic form, a MarkovJunior program is an ordered list of rewrite rules. For example, MazeBacktracker (animation on the left below) is a list of 2 rewrite rules:

  1. RBB=GGR or "replace red-black-black with green-green-red".
  2. RGG=WWR or "replace red-green-green with white-white-red".

Very cool interactive examples; I don't understand it completely, but it helps in gaining a feel for the system at the very least.

↑ up