Computational Complexity and other fun stuff in math and computer science from Lance Fortnow and Bill Gasarch

Thursday, March 12, 2015

Quotes with which I disagree

Often we hear pithy quotes by famous people but some just don't hold water.

"Computer science is no more about computers than astronomy is about telescopes."

Usually attributed to Edsger Dijkstra, the quote tries to capture that using computers or even programming is not computer science, which I agree. But computer science is most definitely about the computers, making them connected, smarter, faster, safer, reliable and easier to use. You can get a PhD in computer science with a smarter cache system, you can't get a PhD in Astronomy from developing a better telescope lens.

"If your laptop cannot find it, neither can the market."

This quote by Kamal Jain is used to say a market can't find equilibrium prices when the equilibrium problem is hard to compute. But to think that the market, with thousands of highly sophisticated and unknown trading algorithm combined with more than a few less than rational agents all interacting with each other can be simulated on a sole laptop seems absurd, even in theory.

"If you never miss the plane, you're spending too much time in airports."

George Stigler, a 1982 Nobelist in economics, had this quote to explain individual rationality. But missing a flight is a selfish activity since you will delay seeing people at the place or conference you are heading to or family if you are heading home. I've seen people miss PhD defenses because they couldn't take an extra half hour to head to the airport earlier. If you really have no one on the other side, go ahead and miss your plane. But keep in mind usually you aren't the only one to suffer if you have to take a later flight.

I take the opposite approach, heading to the airport far in advance of my flight and working at the airport free of distractions of the office. Most airports have the three ingredients I need for an effective working environment: wifi, coffee and restrooms.

Exactly! Flights are usually too important to miss, so the chance that you leave for it to be missed is so small, that it just practically never happens. But the situation works perfectly with buses that come every 15 minutes. I remember this whenever I miss one...

Kamal Jain is saying that if the computational problem of finding an equilibrium solution is hard, then the market cannot compute the equilibrium solution either. What you are saying is that the laptop possibly cannot simulate the real world with some non-rational agents. But this is not what Kamal Jain is claiming, he is not claiming that the laptop can simulate the real world. He is just claiming that if a computational problem is hard on a compute (say in a Turing machine), then no reasonable computational model (including the market) can solve the same computational problem efficiently.

For Dijkstra, astronomical instrumentation is a huge sub-field of astronomy, and you can indeed get a Ph.D. for developing a better telescope.

For Jain, the argument is that a model for which it is intractable to compute the equilibrium can't be accurate. Adding limited information and irrational actors only makes the model less accurate.

For Stigler, taking into account the cost of missing your flight to third parties, or minimizing your own cost of being in the airport much as possible, only adjusts the optimal probability of missing your flight, but can't set it to zero, unless the total societal cost of missing your flight is infinite (it isn't), or you genuinely prefer being in the airport than at home (you don't).

So: you disagree with Jain and Stigler because you are wrong, and with Dijkstra because you are both wrong.

Computer science is no more about computers than aerodynamics is about airplanes

and since airplanes are one of the most important applications of aerodynamics I think this hits the right note.

Then, I add, computer science is about what we do with information: perform computations over it, store it, transmit it, search it, display it, etc, and a standard computer is a very good way to do all of these. But we could equally discuss the efficiency of an arithmetic algorithm performed only by hand or of a sorting algorithm as implemented by a robot at a mail sorting facility, to give two examples.

Here is another quote that I really disagree with: "If you can't explain it simply, you don't understand it well enough".

This basically says that nothing is really complicated and if something is hard to understand then it's the fault of the person explaining. There is nothing that really requires thought and effort to understand.