This is yet another post on Artificial Intelligence. AI is enjoying an upsurge in attention. We have seen several remarkable successes, such as the world best Go player being beaten by a computer, self-driving cars, smart voice assistants. These successes have triggered the enthusiasm of many. If we only applied some AI, some big data, a spoonful of machine learning, and a touch of algorithms, we can solve any problem, right?
No. As with many hypes, there are many fake prophecies and expectations are too high. For example, there is an ongoing trend promoting no-touch planning, where terms as AI, machine learning, big data are coined as ready-to-use chunks of technology – as if we would have advised NASA in 1960 to just use some rocket technology to get a man on the moon, they would have succeeded straight away. How exactly would that work, would the engineer ask? Details, would be the answer of the masters of slideware talking to the CEO, who just need to make sure they jump to the next hype, before the smoke comes out of the failed attempts they helped to initiate.
AI is interesting
Much talk about AI, machine learning, big data, algorithms, is like playing tennis without nets, as the concepts themselves are never defined in such publications, albeit full with their promises. Let’s start with AI: how can we define this thing that will change our life? Simply put, we can’t. We tend to define AI as the stuff we cannot do or do yet with computers, or stuff we are about to master, like self-driving cars. Would we call a pocket calculator AI? Car navigation systems? An automatic pilot in an aircraft? A chess computer? Not many people would (anymore), as these systems have been around for years and we seem to have mastered the trick. Are Alexa or Siri examples of AI? Perhaps, although some hands-on experience with such systems make me think they are not very ‘intelligent’. Can we define ‘intelligence’ at all? Are all humans always intelligent? When passing the Turing test would require a computer to lie about its mathematical capabilities, would such a test still be useful?
In short, AI as a term is quite meaningless. We might as well name the approach ‘ah, interesting’.
Machine learning, big data, algorithms
Machine learning, big data, algorithms are used in the same context as AI: we are not quite sure what they are, but we do seem to know that they hold great promises for human kind. Machine learning, in short, can be seen as statistics. An algorithm can be seen as a number of steps to automate (part of) a decision, where a decision represents a choice with alternatives, where the alternatives’ quality can be measured. And big data? I still do not know precisely, but this seems to be related to the use of statistics and analytical methods such as predictive analytics – although such methods can also be applied to ‘normal’ sets of data that can be stored in a database.
The art of modelling
In the end, all techniques and methods should result in a system that does something useful. In supply chain management, this can be a forecasting tool, a planning system, an event tracking system, and the like. All such systems need a model, some functionality and a user interface in order to be useful. The model of any planning system will be the result of ‘good old’ design work. This means, no AI that miraculously does something useful after installing the app. Perhaps some techniques, like neural networks or generic algorithms can be used to solve real-life problems. But the designer will have to create a model first, then select a technique and then transform the model into the technique. It could be stated that techniques like neural networks create their own model, but this only happens when the designer carefully selects the domain, the decisions that must be automated, and the learning data fed into the network.
The nature of a technique, such as neural networks, genetic algorithms, mathematical programming, etc. determines the way how it can be useful in implementations. Throughout the last decades, thousands of planning and techniques have been described in literature, but in practice, there is only a very limited set being used. In almost all cases with some kind of automation, some mathematical programming is applied, combined with heuristics, like neighborhood search. Genetic algorithms are a way to define neighborhoods, which to my knowledge is not widely applied in commercial systems. Neural networks are very hard to apply in planning, as it is difficult to define what such a network would have to do – in environments that we assume to be deterministic (in practice: all), it seems much more efficient to generate a plan using neighborhoods. Predictive analysis can be very useful in forecasting, and to find out which factors influence timings such as process durations, setups, etc. However, putting statistical equations in planning systems is usually not a good idea – the causal effects found need to be further analyzed and understood, before they are implemented.
When designing systems to support decision making in supply chain management, tool designers can choose from a large set of techniques. A designer will choose from these techniques based on the model (s)he wishes to make, what the model needs to do, and best practice, which informs him or her what will work in this particular case. Creating a model is an iterative activity, which means that prototypes of a tool will be further developed into something that can be used in a live environment. Today, there is in my view no such thing as artificial intelligence, in the sense that computers will solve problems that were not previously added to the model by a designer or a user. Similarly, there is no independent machine learning – what we do have, are statistics to aggregate data about the past into predictions of the future. Algorithms can be many things, as they are implementations of techniques, as simple as: plan First-In-First-Out or a combination of mathematical programming and neighborhood search. This means that the term algorithm is incredibly broad and any discussion about them should start with narrowing down the definition. Lastly, the following principle always applies:
Every computer generated solution will require a human understanding of the problem first.
That human will create a model, including algorithms, where he or she makes uses of existing techniques. This is the art of modelling, which goes beyond mastering slideware – where abovementioned understanding is not necessarily required.