Stochastic Superoptimization
An “optimizer” should really be called an “improver”, and a “superoptimizer” should be called an “optimizer” 🙂
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 494 posts.
An “optimizer” should really be called an “improver”, and a “superoptimizer” should be called an “optimizer” 🙂
Mathematical mistake/error-rates limit our understanding of rare risks and ability to defend against them.
Noether's theorem is an amazing result which lets physicists get conserved quantities from symmetries of the laws of nature. Time translation symmetry gives conservation of energy; space translation symmetry gives conservation of momentum; rotation symmetry gives conservation of angular momentum, and so on.
In almost every computation a great variety of arrangements for the succession of the processes is possible, and various considerations must influence the selection amongst them for the purposes of a Calculating Engine. One essential object is to choose that arrangement which shall tend to reduce to a minimum the time…
During WWII, statistician Abraham Wald told the RAF to add armor where it didn't seem planes needed it. But he was right.
[By prior agreement, this post will be cross-posted on Microsoft’s Q# blog, even though it has nothing to do with the Q# programming language. It does, however, contain many examples th…
Definition: The Fibonacci sequence is defined as \(F(0) = 0\), \(F(1) = 1\), and \(F(n) = F(n-1) + F(n-2)\) for \(n ≥ 2\). So the sequence (starting with \(F(0)\)) is 0, 1, 1, 2, 3, 5, 8, 13, 21, ….
A Bloom filter is a data structure that may report it contains an item that it does not (a false positive), but is guaranteed to report correctly if it contains the item (“no false negatives”). The opposite of a Bloom filter is a data structure that may report a false negative, but can never report a false positive…
A serious proof that claims to have resolved the P=NP question. Vinay Deolalikar is a Principal Research Scientist at HP Labs who has done important research in various areas of networks. He also h…
Math Every Day Stevey's Drunken Blog Rants™
It is greatly ironic that algorithms, the quintessential example of all that is not human, would be so fundamental to social media. Last week I wrote a post about how Google gathers user data. This week I continue by exposing how popular social media websites use algorithms to ut...
Statistical and applied probabilistic knowledge is the core of knowledge; statistics is what tells you if something is true, false, or merely anecdotal; it is the "logic of science"; it is the instrument of risk-taking; it is the applied tools of epistemology; you can't be a modern intellectual and not think…
There have been rumors for years that the NSA can decrypt a significant fraction of encrypted Internet traffic. In 2012, James Bamford published an article quoting anonymous former NSA officials stating that the agency had achieved a “computing breakthrough” that gave them “the ability to crack current public…
Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.
New British train station design identified as cellular automata rule 30. Generating rule-based patterns. And a website that lets you try it yourself.
Andrey Nikolaevich Kolmogorov was one of the giants of 20th-century mathematics. I’ve always found it amazing that the same man was responsible both for establishing the foundations of …
Fang-Pen Lin's blog about programming
[Sidney Harris cartoon used with permission. Copyright holder: ScienceCartoonsPlus.com .]
A generalised solution to distributed consensus Howard & Mortier, arXiv’19 This is a draft paper that Heidi Howard recently shared with the world via Twitter, and here’s the accompanying …
Dynamic programming has a reputation as a technique you learn in school, then only use to pass interviews at software companies. Indeed, most developers do not regularly work on problems where dynamic programming is needed. Ultimately, dynamic programming is a technique for efficiently solving problems that can be…
I recently posted a blog post about a new hash table, and whenever I do something like that, I learn at least one new thing from my comments. In my last comment section Rich Geldreich talks about h…
Like making engineering students squirm? Have them explain convolution and (if you're barbarous) the convolution theorem. They'll mutter something about…
Hi, I wrote my new favorite hash table. This came about because last year I wrote the fastest hash table (I still make that claim) and this year one of the organizers of the C++Now conference asked…
For those who just want the survey itself, not the backstory, it’s here. (Note: Partly because of the feedback I’ve gotten on this blog, it’s now expanded to 121 pages!) Upda…