The usage of Artificial Intelligence is growing in every possible area. Though I have no real experience with AI, I am very interested in learning more about it and using it. AI is however a very general term that covers many different techniques ranging from heuristics such as Particle Swarm Optimisation to Machine Learning and Neural Networks. There is however a big difference between these algorithms, and what I want to discuss here is the ability to understand the outcome of the algorithm.
While with simple heuristics it is still easy to see how we got the result, this completely changes for neural networks. Once a system has been trained, there is no way to tell why it has come to a certain conclusion. You have to rely on the fact that it uses what it has seen and based on that comes to a conclusion, for whatever reason. Neither the heuristic, nor the machine learning are guaranteed to give the best (or correct) result. Yet with a heuristic you can more easily anticipate for it as you know why it made a mistake.
The same goes for an algorithm that fails in certain cases, as long as you know when and why it fails, you can work around it. If you however only have a certain probability you will get the right result, you are left in the dark and just have to deal with wrong decisions. Even if you can get this probability high, it will never be enough. As soon as you end up with a mistake, the system (and as a result you) will be held responsible for it, no matter how often it did give the correct solution.
If you need to have 100% guarantee that the result is correct, than this approach can not be used. Instead it might be interesting to have an algorithm that can only deal with a subset of the problem, but always give a correct result and signal the other cases as either not resolvable or have a special treatment for it.
While the idea of training a computer and making it learn and think is very interesting and cool, which is also why I am eager to get involved in artificial intelligence, it should never be the first solution for your problem. Artificial intelligence may sound as the easy solution, as you don’t have to think but let the computer do it, the outcome may not be desired. Finding an algorithm to deal with your problem may be more complicated and harder but the guaranteed solution is worth it.
There are however certain situation where you can not find an algorithm because the problem itself is too complex or big. But even then, effort should be done to investigate whether the problem can be converted into something by taking a different approach. An example of this can be a search space that can never be fully searched, if however we know that most of the search space is not worth searching, we can find a way to identify the regions we do need to investigate and thereby reduce the space drastically making it searchable.
If this however is not possible, or the problem itself just relies on learning and evolving, artificial intelligence is definitely what you should try. Just always keep in mind that just like a human, an artificial intelligence makes mistakes as well, be it much less though.