Besides all the fashion about machine learning, data analysis and reinforcement learning, what is going on in the expert systems field and symbolic AI ?

There are plenty of domains where machine learning can't be used for various reasons (absence of data, highly critical missions, need of reproducibility...). How to deal with learning in systems in which operators have today a preponderant role and where their knowledge is considered as not questionable face to knowledge acquired by any learning system ?

In such a domain, traditional embedded systems designs are still in use, with real-time embedded C, sometimes assembly and VHDL (which is considered as recent technology which need to proove itself), on quite old fully qualified SoC. Combining this technologies to all previously cited constraints (data,safety,operator knowledge) and we obtain the perfect candidate for expert systems, knowledge based systems and rule-based/inference engines. Where data is human-readable/revisable without launching new learning & validation operations.

On the other hand ML systems are considered as good candidates for specific tasks as signal processing, shape recognition,... when data are (sometimes) plenty.

The more it goes, the more we see deep learning algorithms trying to solve decisions problems by learning from low-fidelity simulations and one billion attempts. The level of expectations of ML systems seems to me hard to council in highly constrained industrial applications where learn new use-case might be sometimes impossible (e.g. product delivered to client and kept confidential).

More precisely, how can you build intelligent systems in such industrial domain without being considered as an outdated engineer proposing Good-Old-Fashion-AI instead of following the ML/Data-oriented trend? Expert systems and knowledge based systems seem to me sometimes to be the only solution for the cited specific context.

What about today applications where critical decisions are taken? Which kind of inference engines are used (Banks, automotive, aeronautics)? Do we call them expert systems? And from your point of view, is GOFAI still have a progression margin to make today's systems smarter ?

  • $\begingroup$ Possible duplicate of Is the expert system still in use today? $\endgroup$ – malioboro May 10 '19 at 23:18
  • 1
    $\begingroup$ It's true that my question is close to malioboro's one, though I tried to be more focused about critical systems/aeronautics and GOFAI in general. I try to face ML to other non-connectionnist technics. I agree that I may have posted too many questions in this post though. $\endgroup$ – Madthrax May 11 '19 at 15:16
  • $\begingroup$ expert systems are in majority just tree classifiers train on data.... $\endgroup$ – quester Oct 12 '19 at 19:51

From an aeronautics standpoint, there is work in trying to apply non predictable methods like statistical programming, deep learning, etc. but it is still in infancy. A lot of stuff is pretty expert system related (at least from what I know).

The obvious reason here is that the system needs to be predictable. From a systems engineering standpoint, when they build the plane for Boeing for example, there are several systems engineers who are constantly trying to get the requirements for the system right ("The system shall do this"). The system needs to be well defined and well modeled.

Historically, you will see "embedded" software engineers here. Usually these people are not your millennial out of college writing web applications. Machine learning is a different skill set and at companies there is a push to transform. People need to learn and also senior engineers push back - there are human elements involved with regards to adapting AI like you wouldn't believe.

In general, these systems (the airplanes) and the organizations that make them (large slow moving companies) are very complex!!! Changing things involves a lot of bureaucracy, regression testing, etc. which can and will take a long time when it comes to adapting AI.

Therefore, there is a huge push for human assisted AI and explainable AI -> understanding how the AI came to its conclusions.

| improve this answer | |
  • $\begingroup$ Mixing a cultural description about a college career with the technology of expert system is a well known pattern in the science-fiction literature. This increases the realism of the story and provides lots of detail information for improving the plot. Using the same writing style for answering a serious question is an antipattern. The better idea is to describe the technology by itself from an engineering perspective so that it can be reproduced. $\endgroup$ – Manuel Rodriguez May 11 '19 at 11:50
  • $\begingroup$ @ManuelRodriguez - I do agree with your comment, thanks for the reminder/insight - please feel free to modify/edit my question. If I don't get a comment back from you in about 2 days time - I can either modify/delete the post. $\endgroup$ – Ali_Ayub May 12 '19 at 16:13

´╗┐It is not expert systems that are dead. The idea that there are experts is the thing that's dying. The Internet is killing it, and we're better off without the folly. Expertise is still alive and well, but now we know it is distributed and that expert consensus, if it exists on a particular topic can be searched and consumed online. If we study the history of science we find that someone considered irrelevant occasionally perseveres or someone perseveres on their behalf and the absurdity they proposed becomes the consensus among the former experts. We call this a paradigm shift, but the machine learning craze is not a paradigm shift, it is the emergence of computing power to handle an idea that is only a few years younger than rules execution in a rules engine.

Production systems, the more sustainable name, is alive too. We see rules engines used throughout the computing industry.

JBoss Drools qualifies as a production system. It has had a healthy level of contiguous developer contribution out of a pool of 147 since 2005. Release 7.21.0 was the most recent as of this writing. There have been nearly 400 academic papers and books discussing its applicability and use in the last 12 months. OpenRules is at 7.0.1 and integrates with uServices and Spring Boot, but it isn't open software in the strict sense. CLIPS was a NASA production system project and is maintained by Carnegie Mellon U School of Computer Science. There are forks for explicit fuzzy rules. Most of these use one of the later versions of the Rete matching algorithm. It is easy to program reverse chaining and probabilistic rules into a well designed forward chaining system like those above, if one has worked through those two challenges once.

Big Data, Big Query, and machine learning are important because data collection over a period of years provides input options that previously didn't exist in terms of data volume. However, there is no reason why rules and the idea of discrete cognition should be discarded as an important component in many AI systems. The trend in this vein of research is along the same probabilistic lines that most other AI research has gone, following physics into the world of probabilistic reality. A rule is true to a degree of assurance and is associated with a particular matching scenario, as human cognition generally operates.

Very few people have a rule which operates under every scenario. Cognitive associations and processes occur in a context and the normal human attitude about them is one of occasional doubt. There are some things about we, as individuals, may seem sure, but those can be shaken by an overwhelming social, physical, economic, or other kind of force in another direction. There are some beliefs that constantly vacillate between various groups with which we associate. In the extreme case, the vacillation bothers us, but most of us have cognitive conflict with which we have learned, through the years, to become comfortable.

One of the early types of AI system components is the fuzzy logic container. Those are still alive and well too, in systems from anti-ballistic missiles to elevator controllers.

Symbolism has much to do with language, not necessarily cognition. Simulation of the intelligent language abilities of humans is highly researched and, although research into cognition in computers may have seemed to be shelved, it is still widely researched outside of the natural language processing space.

It is not so much that artificial networks are limited in what they can theoretically learn to do, for we should not dismiss the proof of concept inherent in the achievements of the neural networks of human brains. It is that some tasks requiring intelligence lead naturally to approaches that don't involve artificial networks. The same is true of actual neural networks in human brains. For instance, the human brain can learn to perform floating point arithmetic mentally, but why should we waist the time to train our mind to multiply 3.14159 by a 16.3 mm diameter when we have floating point arithmetic units that fit in hand calculators or next to microprocessor cores on a chip.

In this, as in several other scenarios, what is true in I is also true in AI. We would similarly not train a cell in an artificial network to multiply the input vector from the previous layer by the parameters either. Artificial networks use FPU hardware not the other way around.

Regarding embedded systems, they are in constant growth, so tradition is hardly a word we would used to describe the C, C++, Java, or Scala we might write to perform data acquisition, control, or full fledged autonomous robotics. There are a few practices that follow tradition, including hardware interrupts and stepper motor control, but they are hardly longstanding traditions. They emerged after the invention of the transistor, which is about as current as we can get in technology. VLSI chips are simply aggregations of the transistor and, if God were to delete all transistors everywhere in a second, humanity would suffer along for years. Only after a pandemic of death by dehydration, starvation, or disease would the human population remember how to distribute water, food, and medicine without the tradition of the transistor. This is also why the term Good-Old-Fashion-AI is overstating the speed of technological innovation and dismissing the central themes in computer science that will be the end of AI if we get too distracted with trendy libraries, high speed trading wealth, and computer carnival tricks.

That may have been the central point of curiosity behind the question.

VHDL is hardly an unproven technology. It was used in actual high value programs several times since its inception in 1980 and is now an IEEE standard. There are VHDL cookbooks and Intel uses it in its FPGA tool set. A form of it is used by most every VLSI design tool in the digital design industry.

If we think of the systems engineering desire for instantaneous reassignment of variables along with indefinitely long persistence, we have a spectrum of approaches that balance the two. This list is from most variable to most persistent in terms of the balance between the two desires in digital processing.

  • Data values streaming in buses
  • Values in flip flops (registers)
  • Dynamic or automatic memory
  • Data in streams
  • Database content
  • SQL, XML or JSoN in files
  • Programming language constants
  • Algorithms
  • eProgrammable logic
  • VHDL
  • VLSI high volume dies

Note that the blurring of data, program, and execution hardware inherent in the pioneering work of Church, Turing, Wiener, Shannon, von Neumann, and McCarthy is not hidden in this list. This blur is central to the development of computer science and its practical use in both data center and embedded contexts. The tendency is that the more common the use the lower the information goes in this spectrum, sacrificing ease of modification, where as volatility rises to the less persistent.

To clarify one more thing, also note that a rules engine is an inference engine only if the rules are representations of first order predicate logic and the engine has an inherent or programmed in inferencing capability.

The way one proposes a rules engine or fuzzy logic controller approach to a client is to know about their current and ongoing successes and present a rational argument for their use as a way that the business can get a solid, reliable, sustainable, and fast return on their investment. It's like anything else in that respect.

There is an entirely separate question in the body of this question that is difficult to answer, "What about today applications where critical decisions are taken? Which kind of inference engines are used (banks, automotive, aeronautics)? Do we call them expert systems? And from your point of view, is GOFAI still have a progression margin to make today's systems smarter?" The reason for the difficulty is that that the signing of NDAs (non-disclosure agreements) constrain us from sharing what we know about secret systems that make critical decisions. To get that answer, employment at a bank, automotive designer, aeronautics company, or defense contractor will be a prerequisite. After ten or twenty years, the emerging veteran will know the answer, but won't be able to post it either.

| improve this answer | |
  • $\begingroup$ The OP has asked for expert systems and GOFAI, not for bluring the border between big data, algorithm and neural networks. The reference to fuzzy logic wasn't needed here and belongs to a spiritual non-scientific point of view. That the answer contains of so many words would heal the content weakness. $\endgroup$ – Manuel Rodriguez May 15 '19 at 5:56
  • 1
    $\begingroup$ Actually Douglas' answer covers many of my questions and induced questions that I did not develop (as my post was containing already many questions). I think Douglas precisely caught my global wondering about AI in industry. $\endgroup$ – Madthrax May 15 '19 at 8:13

Expert systems are the most misunderstood technology in the history of AI. A common description of Expert systems is, that the rules in the system are equal to the policy which produces the actions of the agent. This assumption is wrong. Expert systems were invented as a prediction engine. The rules are used as a forward model. On top of an expert system a solver is needed, similar to model predictive control. The expert system is the model and the rules are describing a real life situation.

What is obsolete, are tutorials which are explaining expert systems in the wrong perspective. It has to do with how a community selects it's gatekeeper and which tutorials gets the most visits. It is true, that in the past most mainstream explanation about experts system have described the technology in a biased way. It is important to do a fresh peer review on the existing literature about expert system to get a better understanding what the technology is doing and what not.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.