Hacker News new | ask | show | jobs
by psYchotic 1574 days ago
Can't the same be said about the algorithm to generate the Collatz sequence for any given number? By that definition, I shouldn't be calling that an algorithm.
1 comments

Is collatz the 2n+1&n/3 one?

Any way the algorithm to get the next number in a collatz sequence is deterministic and has best and worst case complexity of O(1).

You’re then just choosing to run that algorithm against its own output a (potentially) infinite amount of times.

That said I take you point. I realize in another reply that what I had totally failed to recognize was my lecturer not clearly explaining that the definition he used was that an algorithm must be executable on a Turing machine.

Yeah, Collatz operation is: if it's even divide by 2, otherwise multiply by 3 and add 1.

The gp post is asking: what if you make a procedure that runs that on a given input number, repeatedly, until you end up with the output 1, and give the sequence of numbers you visited on the way. Is that an algorithm?

Every number we've tried so far does go to 1, but it's unproven if they all do. It's possible that there exist cycles not containing 1, or maybe some inputs go to infinity. We haven't been able to prove either way.

> [...] the definition he used was that an algorithm must be executable on a Turing machine

Yeah, that's a pretty good reason to choose a certain definition of an algorithm (that otherwise might be awkward) when you have a model you're fitting it into.