12 ms·
Collatz is not "theoretically undecidable" because of a paradox, it's "practically undecidable" because it has an infinite domain, so "is_halting" implemented v
by bionhoward 3y ago
Collatz is not "theoretically undecidable" because of a paradox, it's "practically undecidable" because it has an infinite domain, so "is_halting" implemented via simulation would take infinite time to try every number.
Would you give an engineer an infinitely large project, criticize them for being unable to complete it, and use their 'failure' to support cancellation of a finite, smaller project with potential benefit?
Seems like just another lame argument to me.
- klyrs 3y agoOkay. So you acknowledge that your approach will never solve the hard part of the halt/loop/paradox problem that your code hopes to solve. But instead of recognizing this as a fundamental limitation to your approach, you've gone on to create a new class of algorithm: lame. Do you suppose you can come up an algorithm to classify programs as halt/loop/paradox/lame in finite time? Or, how about this one: def foo(n): if n <= 1: return elif n & 1: return foo(n//3) else: return foo(n//2) I can trivially prove this halts for all n. Can your code?