If there is one thing I hate, it’s optimization. Computers don’t actually understand what they are optimizing. And that creates problems for everything from bicycles to nuclear fusion.
The process goes something like this: you have a mathematical model of a bicycle. You want your bike to perform better, but there are so many things that can be changed, so you can’t imagine finding the best configuration on your own. So you write a script. The script will vary the configuration of the bicycle and evaluate whether it is improved. After many iterations, you have the perfect bike, right?
No, you don’t. What you didn’t imagine was that the computer would remove the seat. Or that it would place, for no apparent reason, a third wheel between the (now removed) saddle and handlebars. Even worse, the stupid machine has got the chain passing through a bit of solid steel.
The problem you’ve just discovered is that it is hard to encode what “best” and “better” mean for all circumstances. When confronted with a problem like this—and many incomprehensible bike parts—my stubborn side comes out. Surely, I can programatically encode an all-encompassing definition of “best” and “better,” right? One threatened divorce later, I give up the pursuit. At least until the next optimization problem sucks me in.
While my example is a little overwrought, the problem is very real. Many types of optimization involve far too many options for a person to tune the design, but they also have no good definition of improvement that allows a computer to do it for you. This was the problem facing scientists at Tri Alpha Energy and Google when they wanted to optimize their alternative fusion device.
I’ll discuss the fusion bit later, but, in general, what you want to achieve in a fusion device is a plasma that is hot, stable, and has a particular density. If the plasma is too cold, it won’t be energetic enough to allow fusion. If the density is…