Studying algorithms to study problems
Nevanlinna Prize winner Daniel Spielman mentioned in an interview that he wants to tell people about the following philosophical ideas.
One thing I want to explain is why theoretical computer scientists look like mathematicians. And to a large degree, the reason is that we’re trying to make algorithms that we can prove are correct. But more than that, when we study algorithms, I say we’re not really studying algorithms, we’re usually studying problems. To be able to design an algorithm for something that good you have to be able to understand your problem well. So a lot of analysis of algorithms is proving theorems about problems, that then have algorithmic implications. … There are certain algorithm problems you keep running into no matter where you look. They’re sorta paradigmatic. … A lot of computer science can look sorta arbitrary from the outside. You might not understand why we value one problem above another. Certain problems we value more because they come up more often. They seem to be fundamental, at the heart of something.