I believe that a combination of neural networks (i.e. black boxes) and optimized algorithms are the best approach. This is roughly analogous (really roughly) to the left and right sides of the brain, where the analytic algorithms (i.e. a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer) run side-by-side with the intuitive neural network (i.e. modelled after the human nervous system adapting and learning from past patterns).
What is especially cool is using the recently available quantum computer D-Wave, which optimizes algorithms 100 million times faster than conventional computes. Plus, given the gigantic data that have been accumulated, training neural nets is getting much easier. I also heard that Alphago was using an algorithm to play itself, thus self-training one of its neural networks.
What a joy to see Go mastered by software genius, rather than the brute force hardware method IBM’s Deep Blue used to beat the world chess champion decades ago.