Beware of Cranks: Misguided attempts to solve impossible mathematical problems
laphamsquarterly.org
laphamsquarterly.org
And unfortunately, if you lack a good foundation, you won't be able to realize the "problem" you're working on is actually a red-herring, and the rabbit holes you wander through when researching these "problems" will just teach you further bad habits and crankery.
For the sake of those people, I don't think it's fair or right to immediately assume bad faith and take the attitude of "run for the hills" when met with anyone who's gone down such a path. And I don't think it's right to make a mockery of them either (except of course for the ones that start trying to write books, teach seminars, or submit papers about their "discoveries" without ever getting it right).
Instead maybe we can point them towards resources so they can fix their faulty foundation and find more productive ones? No need to engage them further. Just give them something -- even something canned -- to sate the obvious curiosity that they have and give them a little direction. At the very least we can not mock them and assume bad faith -- there's nothing wrong with being curious.
Like concern trolls, their goal is seemingly to waste the time and energy of anyone willing to listen or engage, except they're not doing it wittingly, so you just wind up feeling like a jerk when you inevitably have to ignore their latest 20-page ramble and get some real work done.
I always try to give rebuttals that are accessible, explaining in plain English what is going wrong and giving resources for follow-up learning. It doesn't work -- you get "that's cute, you still believe in textbooks, when I've proven them all wrong."
The description of cranks as old, retired males with a minimal mathematical background given by U. Dudley seems to agree with what you say, btw.
One of them had a theory that every electron was made of two photons going round and round. After pointing out a few of the many problems with that he tracked down where I live to try to report me for "censorship".
Or even by redefining the goal of the debate?
It may be that I’m giving too much credit and most are truly hopeless. But so often with “people problems” I’ve seen approaches work beautifully and which in retrospect seem obvious. But in the moment I would never have thought up because I was considering things so narrowly.
In any case, their stories are all remarkably similar...
This one gets a lot of technically competent people.
I spent a very unsatisfying 45 minutes vainly trying to explain to an eminent biologist that no, really, some statements really are _undecidable_ -- and no, that doesn't mean that at some future time we'll figure out a new approach that lets us decide them.
He challenges the team by asking them to speculate about options, if they managed to "disrupt" the industry by breaking that speed barrier, and gets mighty upset by these closed-minded engineers who are unwilling to accept any possibility of a breakthrough
Although the laws of physics can't be broken, in certain scenarios we can simulate we have done just that. And often that's just what you need to get ahead of your competition.
"You're saying we can't do HFT between Tokyo and New York faster than the speed of light? Here's a completely unrelated product, that does something completely different, and the limit they're working with doesn't really apply to us. So it is possible! Maybe you should go to Burning Man, that would open your mind.."
The interface between plain language and math is messy. I don't think I've ever seen something suggested that was actually mathematically impossible. Even the halting problem is easily solved in practice.
I never seen anyone serious ever claim that cryptographic backdoors are impossible.
> Even the halting problem is easily solved in practice.
Like, how exactly?
But, actually, the most straightforward way to show that most 'everyday' programs terminate is -- assuming functionality of the language runtime as stated -- that they typically consist of non-recursive functions or functions on structurally smaller inputs. It would be obnoxious, but not difficult to show that a program like 'grep' terminates, assuming functionality of the operating system and hardware on which its running. This is actually fairly straightforwards, and many many functional languages with a focus on correctness have totality checking builtin. For example, Idris and Agda.
Of course, if you're going to ask to prove both functionality of the operating system (like Linux + glibc) or the processor itself, then that could indeed be trickier. But, if you limit your stack, it's certainly possible. The truth is that most computing does not consist of solving Turing complete problems.
Now if we are actually discussing in good faith, the halting problem is often used as a reason why a particular program analysis wont work. While a good guideline, it does not mean that there are particular classes of programs for which these analyses would work. If you can show this and show that these programs cover a good amount of useful programs, then you can construct analyses that a purely theoretical and cursory understanding of the halting problem would suggest you cant. Indeed several useful languages do just this
Now from a realistic standpoint, all they wanted was some evidence we had considered this possibility and some data/argument to show our confidence that it wouldn't.
This was a simple program - you could confirm the algorithm wouldn't run forever by examining the code - look at the loops and their termination conditions, and look at function calls to show there were no loops in the call graph, etc. Yet one engineer in the team refused to engage. He kept invoking the halting problem. At one point I asked him that if the program was simply 'print "A"' would he still refuse to make the claim? Yup. No idea what the compiler/interpreter/HW is doing behind the scenes.
In the real world, when someone asks you to give an idea as to whether the program could hang in an infinite loop, don't invoke the Halting Problem. You're not answering the question they think they are asking, and as an engineer, your job is not to be pedantic with customers - unless you want to lose them fast.
That was in a C# shop so of course the "decision" was never implemented. My guess is that this was a completely mad decision taken by non-technical managers in a moment of panic, who had pressed our tech lead a bit too much on why software breaks and what can be done to avoid it breaking- and then latched on to some off-hand comment about recursion being an alternative to iteration, and ran with it.
I am a web dev who knows nothing of the Collatz conjecture, so I had to check out the Wikipedia article for it. Thanks for teaching me something today.
I wrote this JavaScript function based on what I read in the article. It's a simple algorithm but it was fun to see it work. For anyone who is in my shoes (weak mathematical background), running this function might be a useful supplement for illustrating the gist concept of the Collatz conjecture:
function collatz(i) {
console.log(i); // for visual feedback
if (i <= 0) throw new Error('Input must be a positive integer');
if (i === 1) return i;
if (i % 2 === 0) return collatz(i/2);
return collatz((3*i)+1);
}
collatz(42); // or any positive integer(tongue in cheek, of course, but I think the OP is trying to capture a similar pragmatic view of the halting problem)
no, it's not. Knowing that this specific program halts or not doesn't address the issue.
Cryptographic backdoors are possible (See Clipper and LEAF for previous examples). Cryptographic backdoors that will only ever be used "legitimately" aren't, and legitimacy isn't a mathematical concept.
You don't grok what the halting problem is. What you're describing (I assume) is determining if a specific program is going to terminate. That's not the same problem.
From Wikipedia:
Alan Turing proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist.
Yes it isn't literally solving the halting problem. But I've had a weird number of people tell me that the stuff I work on doesn't work because of things they learned in undergrad.
Peter told me he often gets candidate solutions that the sender hasn't even validated.
Almost none of them thought it was important to understand any prior results about primality testing before submitting a claim for the prize, while a majority didn't seem comfortable with the idea of a mathematical proof or theorem. In general, they didn't have a sense that some properties are always true, some are never true, and some are sometimes true and sometimes not true, and that mathematical reasoning can often definitively establish which of these categories a particular property is in.
Conversely, Thiel's Hereticon conference idea is brilliant and shows a terrific understanding of how progress in science happens.
As for FLT attracting nonsense solutions: Yes, plenty of them. It being such a simply stated problem, and immediately understandable to laypeople certainly exacerbated the problem.
[1] https://www.youtube.com/watch?v=6Lm9EHhbJAY (Euclid's Big Problem - Numberphile)
For example, you might say: (1) If you have 4 different points P, Q, R, S so that the lines PQ and RS are not parallel, you may "acquire" their point of intersection; (2) If you have 4 different points P, Q, R, S and the circle with center P and radius PQ intersects the line RS then you may "acquire" the point(s) of intersection of the circle and the line; (3) If you have 4 different point P, Q, R, S and the circle with center P and radius PQ intersects the circle with center R and radius RS, you can "acquire" the intersection point(s) of the circles. ("Acquire" a point means roughly that your number system now contains the coordinates of the point.)
Notice that this removes the problem of people doing unintended tricks with or drawing horribly complicated diagrams with physical compasses or straightedges, and makes mathematically precise what is allowed.
The following is probably more than you want to know, even though I'll omit lots of the details. The idea is that circles are defined by quadratic equations, and lines by linear equations. At every step, you're solving (acquring the roots of) simultaneous linear or quadratic equations. Starting with the rational numbers, as you "acquire" new points, you "extend" the rationals to bigger fields "by extensions of degree 1 or 2". Since degrees multiply, at any point, you've "extended" the rationals by a total degree 2^n.
So the result is: Theorem. Any point you construct must (a) lie in an extension of the rationals of degree 2^n; (b) be algebraic, in the sense that its coordinates are roots of rational polynomials.
Now take something like trisecting a 60 degree angle. A third of 60 is 20, and to construct a 20 degree angle you need to construct t = cos 20 degrees. But from trig, t is a root of x^3 - 3 x - 1 (which is irreducible over the rationals), so t has degree 3 --- and 3 is not a power of 2. Hence, a 60 degree angle can't be trisected.
Squaring the circle means given a circle, construct (the side of) a square with the same area. Take the circle to have radius 1, so its area is pi. The square you need would have side pi^(1/2), but pi (and pi^(1/2)) isn't algebraic in the sense noted above. (Lindemann showed pi is transcendental.) So you can't square an arbitrary circle.
Duplicating the cube means given a cube (say with sides of length 1), construct (the side of) a cube whose volume is twice the volume of the original cube (so in this case, the new cube should have volume 2, and its sides should have length 2^(1/3). But 2^(1/3) is a root of the irreducible rational polynomial x^3 -2, so it has degree 3, and again, 3 is not a power of 2.
What's remarkable about this is that, once you prove the theorem (which isn't that hard, just a little fussy), you can dispose of those three old contruction problems so easily.
(Anyone who wants more details - I've left out a lot - can consult any book on Galois theory. Also, Nathan Jacobson's "Basic Algebra I" covers this [https://store.doverpublications.com/0486471896.html] --- it's a classic of abstract algebra which I like a lot, though a little old-fashioned.)
(a) implies (b) here, but I’m sure you know this.
From myself, I recommend Aluffi’s “Algebra. Chapter 0”, it’s more modern and I find its style much more matching my taste.
A rare genuinely obligatory xkcd: https://xkcd.com/1758
We got at least one "whack job" paper a week. Bear in mind this was when the internet was first getting traction, so I knew some of these guys from usenet…
lol
This is hilarious.