See an algorithm both in comp sci and cognitive science always gets the same correct answer but heuristic may or may not be correct and may even produce different results with the same input.
Thus ML is generally heuristic based.
Which ofc is why we can say an algorithm is incorrect; correctness is not part of the definition.
To be considered an algorithm, a method must be:
1. Finite. It must terminate after a finite number of steps. (The program, i.e. the expression of the method must also be finite.)
2. Definite. Each step must be precisely defined, requiring no 'interpretation' or ingenuity on behalf of the executor of the algorithm.
3. It must take zero or more inputs, and these inputs must be well-defined.
4. It must produce one or more well-defined outputs.
5. It must be an "effective method", which (in addition): 5a. Must always produce a result 5b. The result must always be a correct result 5c. It must always arrive at a result after a finite number of steps 5d. It must work for all defined categories of inputs
This is (almost) literally page 1, chapter 1, book 1 of Knuth. Most probably one of the first things you'll ever be taught on any respectable computer science course.
Of course, the term is used more vaguely and everyone still knows what we all mean, but the above is the widely-accepted formal definition.
Another way of looking at it: If we have a function f(x), we can have an algorithm that computes f(x). In fact, there are an infinite number of algorithms that compute f(x). But there are also an infinite number of algorithms that compute f'(x), where f'(x) is an approximation of f(x). And such algorithms are called heuristics for f(x).
In other words, you've got an algorithmic step that produces some output, followed by a heuristic step that ascribes some meaning to the output.
For example, consider spam detection with Naive Bayes. The parts that tokenize each email, accumulate the counts of each token, and estimate their conditional probability given the class are all algorithmic, even under the formal definition given by @zero_iq, below). Each of these steps is deterministic, finite, etc. The same holds for the part where you calculate the probability of a new email under each class, assuming that each token is independent (it's just multiplication!).
The heuristic part is the assumption that these numbers are meaningful (training data is representative, pre-processing is reasonable, independence assumption isn't bonkers, etc.) and where you choose to set a decision boundary for actually classifying each item.
Now, don't get me started on "exponentially"...
javascript:window.location.href = 'https://www.facebook.com/flx/warn/?u='+location.href
and it will let you avoid paywallsI have checked several dictionaries but I still do not understand what the author meant.
The OED and Shorter Oxford definitions explain the relevant sense of the verb: To start talking moderately, then gradually increase in potency or intensity. Quoting the OED's typically long entry: "Originally a more frequent synonym of GROW v. , which has now superseded it in general colloquial use, exc. with reference to the moon [...] confined to literary use, and have, in varying degrees, a somewhat archaic flavour; [...] The verb is said still to be current in certain dialects"
While I have both of those dictionaries, the Shorter Oxford is the one I use and recommend.