Knuth-Morris-Pratt string-searching algorithm: DFA-less version
You see, there are two memory accesses per one character of the input string (at average). Hence, the total number of all memory accesses can be len*2 at worst.
You see, there are two memory accesses per one character of the input string (at average). Hence, the total number of all memory accesses can be len*2 at worst.
There’s not a whole lot on TLA+ technique out there: all the resources are either introductions or case studies. Good for people starting out, bad for people past that. I think we need to write more intermediate-level stuff, what Ben Kuhn calls Blub studies. Here’s an attempt at that. Most TLA+ properties are…
A blog about life, programming, math, logic, and physics.
For several years I have been designing and implementing a functional teaching language especially for use in the context of a Discrete Mathematics course. The idea is for students to be exposed to…
I published a slightly different version of this article in Nautilus on February 24, 2021. Everyone seems to be talking about the problems with physics: Woit’s book Not Even Wrong, SmolinR…
Multiple Neighborhood Cellular Automata (MNCA) produce complex and robust emergent structures not commonly seen in simpler models
You can construct the Rule 110 cellular automaton in JPEG XL.
Today I'd like to share some math connecting ideas from information theory, algebra, and topology. It's all in a new paper I've recently uploaded to the arXiv (https://arxiv.org/abs/2107.09581), which describes a correspondence between Shannon entropy and functions on topological simplices that obey a version of the…
I my previous blog post, I documented how one might proceed to compute the number of digits of an integer quickly. E.g., given the integer 999, you want 3 but given the integer 1000, you want 4. It is effectively the integer logarithm in base 10. On computers, you can quickly compute the integer logarithm … Continue…
To infinity and beyond!
The notation [x] reigned for nearly two centuries before being replaced by ⌊x⌋. Why the latter is much better and what else we might learn from its inventor.