I wrote this blog back in 2023 but since then I became a frequent lurker on HN and decided to repost the blog here. For me, writing it was about connecting the dots between dynamic optimization techniques I've studied as an economist and the more general search algorithms studied in CS.
Related: a few years ago, various people were exploring locality sensitive hashing as an alternative to neural networks(SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems [1]).
This never took off. I don't if it didn't work or it was a matter of the "bitter lesson" ideology pushing people to prefer hardware acceleration over smart algorithms. I would note that smart algorithms require hiring (more)smart people and not only can hardware acceleration be cheaper but hardware and data can be more reliably added than smart people, who are short supply.
Thanks! For animations I wrote some custom rendering code, with a simple API that exposes a canvas and the ability to paint either constant pixels, which never change in colour, or dynamic pixels that can fade out with time. Then each frame I would simply paint the pixels at the search frontier and the rendering code would take care of the fading out when exporting. Also used the Lab colour space for colour blending.
The rest of the pipeline was straightforward. I exported individual frames in a .ppm format, which was easiest to program, and then stitched them into an .apng animation using ffmpeg. Did quite a few tests initially to choose between .apng and .webp and back then .apng was least glitchy across the devices I have.
Thank you for the tip, will do so. I thought I saw some interactive blogs under Show HN, but maybe I'm mistaken. The guidelines are indeed explicit. (Tried to do so but was a bit too late, I guess, because the edit option is not there. Reposting doesn't seem to work, probably need to wait some time.)
This never took off. I don't if it didn't work or it was a matter of the "bitter lesson" ideology pushing people to prefer hardware acceleration over smart algorithms. I would note that smart algorithms require hiring (more)smart people and not only can hardware acceleration be cheaper but hardware and data can be more reliably added than smart people, who are short supply.
[1]: https://arxiv.org/abs/1903.03129