Copernicus
Industrial Grade Linguist
I was an engineer. At the end of the day it comes down to a problem and a solution.
Categories are generally created by those looking in from the outside. Media reporting on AIi s all over the place with refernces to what what one person or another says about AI. It is also about how AI is marketed.
I assume tha in AI today there are general common structures, approaches and methods to AI. That does not change anything.
A gernealized parser for a software language with a fixed lexicon was difficult enough. I suppose a compiler could be classified as AI.
Based on a general definition for me the question is what is not AI when it comes to software? All coding represents how a human reasons through a problem.
I did take a class in Theory Of Computation. Language generation and parsing, trees and graphs. It turns out a generalized parser can not be implemented by traversing a logic tree. For example imbedded bracess can not be parsed with logic alone. It requires push down automaa, IOW a Turing Macjhine with a stack.
AI is concerned with simulating human reasoning and behavior, but engineering is concerned with practical applications of theory. So the two have very different goals.
Bear in mind that there are essentially three types of human reasoning: deduction, induction, and abduction. Deduction is essentially math and logic--arriving at an inference that is consistent with a set of premises. So we deduce that adding two and two yields four. Induction is based on observation--arriving at an inference based on what can be tested. So we infer that a car has sufficient fuel by checking the gas gauge. Abduction is based on world knowledge--arriving at an inference on the basis of general knowledge we have acquired about the world. So we infer that someone has recently been at a location and left if we find a lit cigar still burning at that location.
Computer programs are pretty good at deductions, and ok at many types of induction, but they are terrible at abduction. Programs that deduce things aren't considered AI, and people debate over whether something like an expert system should be counted as a form of AI. However, we normally have to program computer programs with all the world knowledge they have, unless they can learn things on their own and then apply that new knowledge to making inferences. AI is particularly concerned with the field of machine learning these days for precisely that reason. There simply isn't any straightforward solution to the implementation of abduction, and nothing we have will scale up to human-level world knowledge. Hence, it is particularly impressive that we can now build walking robots that can navigate mazes or drive cars through traffic without human guidance. What is particularly difficult is getting an autonomous vehicle to infer that another vehicle is driving erratically and possibly out of control because it didn't stop for a traffic light. Programmers can't think of all the things that could go wrong, and computer programs can't easily gain new insights into how things work by building on experience. We're working on it.