Before the advent of neural architectures, many AI domains (e.g. speech recognition and computer vision) used algorithms that consisted of a series of hand-crafted transformations for feature extraction.
- In speech recognition everything to do with spectrograms or cepstra is done based on the mathematical theory of (discrete) Fourier transforms.
- In computer vision, edge detectors like Sobel/Canny or feature descriptors like SIFT are all convolution-based.
You can implement all of these with everyday procedural programs. All the intelligence of these methods is embedded within the steps of the program, and not in its parameters.
One thing I have been wondering about is what you would call such algorithms that work "out of the box". My inclination is to call them deterministic, but this is clearly wrong considering most neural networks (not including e.g. VAEs) are deterministic functions of their input too.
Perhaps some might call them dumb, but that's also not right, because these algorithms are very sophisticated and purposefully made. They're not naive like naive Bayes is naive. It's not because they aren't trained that they aren't artificially intelligent.
Traditional or classical is too vague, because neural nets have existed for more than half a century and could be considered that too. The same goes for algorithmic and procedural.
Is there standard terminology to delimit the set of such artificially-intelligent-but-not-data-driven algorithms?