this post was submitted on 17 Jul 2024
323 points (94.5% liked)

Programmer Humor

32476 readers
257 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 4 months ago

If a new government makes it known that they'll increase tariffs, any company dealing with international trade can prepare for increased costs sooner. Or even better, if there's a movement for emissions regulations, they can get lobbyists and lawyers to find or add loopholes nice and early, long before cars would actually need to be more efficient.

Anyway, the miscommunication here seems to be what you mean by nondeterministic and unpredictable. We've been through deterministic, and that doesn't perclude unpredictable.

For example, cryptographic hashes are completely deterministic yet impossible to predict. The determinism allows easily checking for the correct string, but the unpredictability makes guessing the correct string impossible beyond brute force. Yet if a security protocol used π to seed it's hashes, it would be way more predictable than most methods. Even if your psudorandom table is indistinguishable from noise, if the table is known the whole system can be cracked relatively easily. Thus π would make that method predictable.

Now you could mean that each character or string says very little about each other character or string, but that's a different claim; that you can't predict one part of the number using another part. For example, if you say the code to your luggage is a five digit string starting at the 49702nd digit of π, that's easy to lookup. But no amount of digits will help you figure out that this string really is from π and not something else. I'd call that chaotic rather than unpredictable, as unpredictable makes me think of probability more than calculability. π is found in so many places that many sci-fi stories use it in first contact scenarios, alongside e, the hydrogen line, Fibonacci numbers, and c or sometimes hbar. Dependable is hardly unpredictable.

If we go back to your original reason for describing the predictability of some numbers, we find a simple nonrepeating number (101100111000... let's call it b for binary) and π. With b, any string can at least narrow down it's location in the number, and if a string contains both 10 and 01 we can positively fix it's location, even to a place that no one has calculated before. This is impossible with π, we can positively rule out many positions, but no position can be confirmed for any string, and any string may appear further in the digits as well, giving multiple possible positions for any string.

However we can still compute π, and thus can know (even better than predict!) any arbitrarily precise digit in finite time. There are numbers where that's not possible, so-called non-computable numbers (For example). This number cannot to computed in finite time, only approximated. This sounds more unpredictable.

Predictability could be seen as a function of the ease of calculability, especially when time is a limited resource, but why not just say that π is more complex to predict than b, or that the existence of b doesn't disprove that π can contain all finite strings? That was the original issue after all.

Sorry, TL;DR, I don't think unpredictable is a good word to use outside of probability, and even so an easily predictable number is enough to prove that not all irrational numbers are normal numbers (not all numbers with infinite digits contain all finite strings).