Hacker News new | ask | show | jobs
by bransonf 1928 days ago
Amazing... learning of the existence/term of polyominoes is a breakthrough for me.

I’ve recently been working on developing a novel statistical test to quantify sensitivity to the modifiable areal unit problem (MAUP). The limiting factor has been the ability to efficiently generate arbitrarily shaped polygons on a lattice at random. In essence, this is needed to stochastically reallocate a spatial characteristic and measure variance.

Apparently, the exact solution I’m looking for is Donald Knuth’s algorithm X [0]. And I also found this interesting application of the algorithm [1].

I simply cannot express how much my curiosity has just peaked. Moreover, I now have reason to cite both Solomon Golomb and Donald Knuth in a paper.

[0] https://en.m.wikipedia.org/wiki/Knuth%27s_Algorithm_X

[1] https://gfredericks.com/blog/99

4 comments

Curiosity peaking (I have also seen peeking) is quite an interesting mondegreen for curiosity 'piquing'. The latter means 'stimulating' or 'aggravating', whereas the former implies that when you hear about something for the first time your curiosity is at a maximum - which is a fun interpretation :)
I wouldn't be surprised if peak and pique have similar etymology.
I made a game about polyominoes: https://melonmouse.itch.io/polyominoes

If you try it out, please let me know what you think :)

P.S. work on that led to a sequence on the Online Encyclopedia of Integer Sequences: https://oeis.org/A239658

One QOL consideration: consider allowing the last placed piece to be moved in one click. That is, if you click while "at capacity" the last placed piece gets removed and placed where you click.
I had never seen polyominoes used professionally for mathematics.

However, I was reminded of seeing them in the teen novel Chasing Vermeer [0].

[0]https://en.m.wikipedia.org/wiki/Pentomino#Literature

You might find zero suppressed binary decision diagrams (ZDDs) useful. They also allow simple random generation of all kinds of objects (even constrained ones).

Knuth adjusted his algorithm X for ZDD and got some nice speedups.