Show HN: I Ching simulator with accurate Yarrow Stalk probabilities
Posted by jackzhuo 1 day ago
I built this because I wanted a digital I Ching that honors the original math, rather than just Math.random().
Technical detail for the curious:
The simulation follows the traditional Yarrow Stalk algorithm (Da Yan). The core of this algorithm relies on modulo-4 arithmetic on the stalks remaining after a random split.
To make it physically realistic, I used a Box-Muller transform to simulate the user splitting the stalks with a Gaussian distribution (since humans naturally tend to split near the middle), rather than a uniform random split.
I was worried this 'human bias' might skew the modulo probabilities, so I ran a 1-million-run Monte Carlo simulation to verify.
The Result: The remainders [0,1,2,3] still emerged with a near-perfect 25% distribution (deviation < 0.05%).
So, the app simulates the physics of human imperfection while preserving the mathematical perfection of the probability distribution (where Old Yin is 1/16).
Stack: Next.js + Tailwind css
Happy to answer any questions about the math or the hexagrams!
Comments
Comment by vessenes 12 hours ago
Comment by jackzhuo 9 hours ago
I just identified the issue (it was a specific mobile browser compatibility bug). I have deployed a hotfix and it should be working now on iOS.
Could you please give it another try? Sorry for the trouble!
Comment by AnonHP 12 hours ago
Comment by dang 12 hours ago
Comment by jackzhuo 9 hours ago
Comment by typpilol 12 hours ago
Comment by jackzhuo 9 hours ago
Comment by thenthenthen 8 hours ago
Comment by jackzhuo 7 hours ago
Comment by jackzhuo 9 hours ago
Comment by jackzhuo 10 hours ago