Make-Believe (R12): Continuous Improvement

Ack! The previous version I posted had broken the ability to enter evidence, and due to an extended period of busyness, I didn’t notice until now. (No regression tests yet — I do this for fun.) Oh well, thankfully no-one is paying attention.

Given the long period since the last update, I thought I’d try adding something a bit more interesting this time — initial support for continuous nodes. The support I’m providing will match what GeNIe supports as closely as possible. This release includes support for Uniform, Bernoulli, and Normal. It also supports arithmetic operators (e.g. +, *, etc.) as well as the ternary operator (i.e. <if-cond> ? <then> : <else>).  To be clear, that’s just because I’m handing things over to JavaScript. 🙂 I’ll continue to do that because it’s probably the approach with the best performance, but I’ll validate inputs in future. (Just in case people do start loading .xdsl files from suspicious locations.)

It’s also worth pointing out how limited the overall support is at the moment. You can’t enter evidence into a net with continuous nodes. You can’t use the continuous nodes with worker threads. The Normal sampling is very crude. The distributions that are displayed are just histograms up to a maximum of 10 bins. I also haven’t thought about performance yet. As I’ve noted, I do this because I enjoy it, so I’m not rushing things — there’s no need to scoff down the whole dessert at once.

From now on, I’ll put each release in its own folder, so that there’s at least a working version to go back to if I break things again! Here’s Release 12:


  • Fixed entering of evidence
  • Improved robustness of saving a bit (note: can’t save continuous nodes at all yet, and probably many other types of node)
  • Initial support for continuous nodes

Leave a Reply

Your email address will not be published. Required fields are marked *