Last week Tai-Danae Bradley invited me to give an Alphabet-wide math talk, in part advertising a series of internal courses she’s teaching on pure math for software engineering applications.
I introduced the talk from the perspective of a skeptical engineer who is asked to learn math, but doesn’t believe the investment will pay dividends. I then framed the question,
What specific, practical program could I reasonably claim to be impossible to write without math?
I spend the rest of the talk giving four examples, and focusing on how framing the problem in terms of a mathematical theory enabled insights, computational tricks, and essential benefits that couldn’t be possible without math. I believe my talk will be posted publicly in the next few months, and when it does I’ll share it here and on Twitter.
In the Q&A session I got a lot of great questions. Over the last week, one of the questions is still bugging me. It was (paraphrasing)
What area of math would be useful for applications, but is still waiting for the world to catch up and realize it?
At the time, I dodged a bit, and hemmed and hawed, and mostly gave a non-answer. The more I think about it, though, the more it bothers me.
One reason it bothers me is because my inability to answer it makes me feel inadequate. Despite all the math I’ve learned and the applications I’ve explored, I don’t have any special insight into what areas of theory (math or CS theory) are ripe for new applications.
My pride aside, another irksome aspect is that I’ve recently felt cheated by grandiose claims of mathematicians about applicability, leading me to spend lots of time discussing, What’s in Production? with friends and strangers. If more than half the topics in theory I thought were useful are actually not usable, how can I hope to predict ripe opportunities? Or maybe the topics are usable, but just haven’t been pushed hard enough yet? Requiring production applications is also a standard too high for this question. You can’t anticipate what’s next if you require it to already be here. At the very least, my current view is clouded by these mostly emotionally-driven barriers I’ve erected.
Yet another vexing facet is that my view of what problems are important don’t seem to be getting attention from mathematicians. And I think it’s in part related to my belief that many important problems today are either intractable with existing mathematics, and some sort of brand new mathematics must be invented to handle it, or it’s too applied to be of interest. Some examples include:
Perhaps my problem is that these problems are either not well-defined, or are just my personal problems, or boil down to “politics is hard” and “tend your garden.” But there are also all of these fields of math, like Game Theory, Boolean Function Analysis, Complex Systems Theory, Network Science, Market Design (Economics and Computation) that seem like they should apply. But when I dig in the punchline ends up being something like “Majority voting is the stablest voting scheme”, or “Look at the emergent behavior that occurs when these simulated agents act independently”, or “This auction is makes people honest about their prices.” It’s all interesting, and some of it is well applied! But none of it seems generalizable enough, in the way that linear algebra is generalizable as a setting for solving all kinds of problems.
Which mathematicians today are developing theories driven by important practical problems that they work on? Back in the 50’s Hamming invented error correcting codes, (a kind of self-healing system!) based on linear algebra and finite fields, because he desperately wanted his punch-card programs to stop crashing. Coding theory is now an entire subfield of mathematics and used in everything from DVDs to TCP/IP to space communications. Today one hot topic in error correcting codes is “list decodable codes”, but as far as I can tell it has no use outside of theory.
Part of my non-answer to the question is that “mathematics coming first” is probably a historical anomaly. That for most of history, practitioners fumbled their way to modest success, built machines and sold products, while mathematicians brought up the rear. Calculus was not made “rigorous” until Weierstrass, while Newton was almost a century dead, and Fourier had already done his most important life’s work. It wasn’t until the age of computers that math seemed to come first, with topics like linear programming, cryptography, graph algorithms, and statistical analysis, all for which computers was the perfect medium for applying pure math. And in turn mathematics because a top-tier medium for modeling computational problems.
Now, perhaps, the creek has run dry, and the world is returning to the norm, where we bash neural networks together and play League of Legends long before math can explain why it works. That feels like a cop out.
Finally, I’m annoyed that I don’t have enough time to explore these topics in my day to day work. The other day someone emailed the Google-internal math-enthusiasts mailing list, asking “how does everyone balance their day jobs with learning new math and keeping up with research topics?” I could only reply, “I don’t, and it makes me sad.”