Metaheuristics of War
Traditionalists (often correctly) believe this desire for novelty stems from fads, pressure to conform to political or bureaucratic directives, and personal empire-building. But in the last 12 years there has been a sincere outpouring of angst from soldiers, intelligence analysts, and civilian policy analysts in the government sector who find that principle of war aphorisms are not enough. One might not agree with Emile Simpson’s contentious take on war and politics, but he wrote the book because so-called timeless truths obviously did not help Simpson do his military job in Afghanistan. And I have often seen Mark Safranski argue here over the years that the concept of Fourth Generation Warfare was necessary as a forcing mechanism to get the US military to adapt to challenges it faced in Iraq and Afghanistan.
It is tempting to respond to this by saying “they need to read ___ old strategy master I like and study military history in the subjective way I like until they can understand strategy.” But this is a recipe for indoctrination since “understanding” = agreeing with old strategy master + the aforementioned fuzzy and didactic approach to extracting timeless or eternal ideas from military history. Instead, we might introduce metaheuristics of war as a complementary concept to the principles of war:
Metaheuristics is a rather unfortunate term often used to describe a major subfield, indeed the primary subfield, of stochastic optimization. Stochastic optimization is the general class of algorithms and techniques which employ some degree of randomness to find optimal (or as optimal as possible) solutions to hard problems. Metaheuristics are the most general of these kinds of algorithms, and are applied to a very wide range of problems.
What kinds of problems? In Jacobellis v. Ohio (1964, regarding obscenity), the United States Supreme Court Justice Potter Stewart famously wrote,
I shall not today attempt further to define the kinds of material I understand to be embraced within that shorthand description; and perhaps I could never succeed in intelligibly doing so. But I know it when I see it, and the motion picture involved in this case is not that.
Metaheuristics are applied to I know it when I see it problems. They’re algorithms used to find answers to problems when you have very little to help you: you don’t know what the optimal solution looks like, you don’t know how to go about finding it in a principled way, you have very little heuristic information to go on, and brute-force search is out of the question because the space is too large. But if you’re given a candidate solution to your problem, you can test it and assess how good it is. That is, you know a good one when you see it.
– Sean Luke, Essentials of Metaheuristics, (self-published lecture notes), 2013, 7.
Metaheuristics are not heuristics of heuristics, as Luke notes in a parenthetical comment. Rather, they are algorithms that select useful solutions for problems under the difficult conditions Luke specifies in the above quote. Let’s see an example:
For example: imagine if you’re trying to find an optimal set of robot behaviors for a soccer goalie robot. You have a simulator for the robot and can test any given robot behavior set and assign it a quality (you know a good one when you see it). And you’ve come up with a definition for what robot behavior sets look like in general. But you have no idea what the optimal behavior set is, nor even how to go about finding it.
The simplest thing you could do in this situation is Random Search: just try random behavior sets as long as you have time, and return the best one you discovered. But before you give up and start doing random search, consider the following alternative, known as Hill-Climbing. Start with a random behavior set. Then make a small, random modification to it and try the new version. If the new version is better, throw the old one away. Else throw the new version away. Now make another small, random modification to your current version (which ever one you didn’t throw away). If this newest version is better, throw away your current version, else throw away the newest version. Repeat as long as you can.
Page 2 of 4 | Previous page | Next page