Efficiency is a very important variable in the field of engineering. Probably the search of efficiency is related to the 80 % of the engineering jobs. I am not going to consider here the utility of efficiency, but I think that it may be interesting to analyze if the efficiency variable must be an important basement of any artificial intelligence software. Really, do we usually make usual decisions thinking in efficiency?
Firstly, we must distinguish between objective and means. If we were designing a computing software for management, perhaps, the main output variable will be the efficiency of the process managed, because, the objective of management is to take advantage of a set of scarce resources optimally, however, the process to reach that optimum could be driven in a different way. Decisions to get the most efficient action can be easy if there is a mathematical formula that we can minimize, but in most cases, human decisions do not proceed from perfect mathematical models but from knowledge, experience and some mathematical tools to support better some aspects of the decision.
From this assumption I could justify the utility of fuzzy logic and other AI tools, however, this is not the target of this article. If we look at nature, we will be able to see that efficiency does not drive common natural processes. In nature, things usually evolve searching for certain equilibrium between forces. This equilibrium is got when the derivative of a certain energy function is null. We know that the states associated to a minimum are stable and those ones associated to a maximum are unstable. Now, we can think that the search for the minimum state of energy is equal to the optimal efficiency, but this state of minimal energy is local instead of global. Nature does not search for efficiency only local minima or equilibrium states.
If we analyze the behavior of a single neuron, we can see how it receives electrical impulses from other neurons and its output can be activated with very different sets of inputs. In mathematical terms a neuron is transforming the n-dimensional input space into a one-dimensional region (where the neuron is activated). A neural network would be transforming the n-dimensional space into a region of a space with fewer dimensions. Where is the word efficiency here? It is nowhere. Neural processes are driven by effectiveness, in other words, some combinations of inputs can be effective in order to activate the output, or some combinations of inputs can be effective to enter the desired region of the output space.
As individuals are in terms of thinking a neural network, people are driven by effectiveness instead of efficiency. Although everyday some witch of the figures, thinking in Judy Dench as M in first Pierce Bronsnan’s appearance as 007, is telling us what is the importance of efficiency, our mental processes act as the secret agent only trying to win the battle without thinking in costs.
In order to support this reasoning we only need to look at the education system. Every professional that has got a university degree has been chosen through a process of evaluation of his effectiveness. Tests usually are a set of problems or questions that must be answered; the mark is a percentage of the successes, in other words, a direct measure of effectiveness. Then people can access certain jobs because they have overcome a certain percentage of tests or they have demonstrated a certain degree of effectiveness. Thus, workforce and even economy is driven by effectiveness. Businesses can survive mainly due to its capability to produce incomes instead of its capability to get savings, but they need to save when it is impossible to increase incomes. Efficiency, then, is a matter of scarcely of resources. People only try to be more efficient when their effectiveness begin to be affected for some scarce resource. We only need to look at the history of the automobile sector and the price of oil.
Management science traditionally has based a decision making in measuring both effectiveness and efficiency, however, the variable part of a manager’s salary is got through be effective in order to reach some certain results. Efficiency would be only a test of effectiveness for the “witches of the figures”.
Where mathematics can be easily applied as in engineering, we must select the most efficient solution for the same effectiveness, but what happens if two possible options have different efficiency and different degree of effectiveness. If you look at the social behavior you will see that always the most effective is chosen. Many managers know it, have you ever seen a conference where the first lecturer takes part of the time of the following one? Finally, the first lecturer seems to be the best because the second one cannot explain their reasons with the proper time. Nobody thinks that the second one has been more time-efficient. People only think the first one has been better.
If we are trying to design AI looking at nature or social behavior in order to emulate it, perhaps, efficiency is not a variable to be taken into account, unless it is an output variable. Thinking in this way we can affirm something like this: “Do not be worried about the computation time or the size of the code or data, in a couple of years it will not be a real problem”.
However, this is not correct. There is another more unknown variable to be taken into account: complexity. Complex systems are a menace for the effectiveness of any kind of activity. The more complex the system the higher the risk to suffer a collapse from an unexpected event is. In other words, an AI system must take complexity into account, although complexity can provide functionality when the complexity is near its maximum, many things are driven by uncertainty. In that situation, it is easy to jump from a stable situation to an unstable one.
Think in an AI system trying to preserve vertically an inverted pendulum. The pendulum is a simple system with a few physical equations defining its behavior but in an unstable state, we need to add a non-linear controller to stabilize it and the final system is more complex. Although the system learns to preserve its position under certain conditions if the external conditions change suddenly (wind for instance), the system can turn unstable again. It will depend on its adaptability to new situations and its capability to do it very fast. A complex system in a state near unstability can be easily destroyed.