You make a good point that some confusion may be resulting from different notions of algorithm.
Algorithm-1 is a technique that provably accomplishes some identifiable task X, perhaps with a known allowance for error. This is mostly what we talk about in computer science as “algorithms”. Algorithm-2 is any process that can be described and that sometimes terminates. It might not come with any guarantees, it might not come with any clear objectives. A heuristic is an example of Algorithm-2.
From a math/compsci perspective, the most common definition is neither of these. Algorithm-3 is a deterministic process which terminates in finite time and yields some output. Thus an algorithm under definition three is essentially akin to a computable function.
From a math/compsci perspective, the most common definition is neither of these. Algorithm-3 is a deterministic process which terminates in finite time and yields some output. Thus an algorithm under definition three is essentially akin to a computable function.
I was writing sloppily without checking a reference. However, I did want to include randomized algorithms, online algorithms, and suchlike under definition 1.
Yes, I’m suggesting that most of the time when people use the term “algorithm” they don’t mean to include those so there’s a useful third notion of algorithm. I’m still not completely sure which of these the OP actually intended.
You make a good point that some confusion may be resulting from different notions of algorithm.
From a math/compsci perspective, the most common definition is neither of these. Algorithm-3 is a deterministic process which terminates in finite time and yields some output. Thus an algorithm under definition three is essentially akin to a computable function.
I was writing sloppily without checking a reference. However, I did want to include randomized algorithms, online algorithms, and suchlike under definition 1.
Yes, I’m suggesting that most of the time when people use the term “algorithm” they don’t mean to include those so there’s a useful third notion of algorithm. I’m still not completely sure which of these the OP actually intended.