Posts Tagged ‘computing’

Is Computer Science a science?

November 13, 2010 Leave a comment

A lot of my idle thinking relates to computers, what exactly they are in the broadest meaningful sense, and how they relate to the intelligent processes in our brains. Although I’m heading generally toward becoming an economist at the moment, computer science is a hobby and possible secondary specialty of mine. So I read this article in Scientific American with interest. The first paragraph summarizes it pretty well:

What kind of discipline is computer science? I thought it was a science when I received my BS. I believed its subdiscipline software engineering was engineering when I received my PhD. I’d heard, and would continue to hear, “This isn’t any kind of science/engineering I know!” from physicists and electrical engineers. I tried for years to prove them wrong. But now I think they’re right.

Essentially the author thinks computer science belongs in the realm of philosophy, and is not very amenable to normal scientific inquiry. I’ve thought quite a bit about this sort of claim, but more in the context of economics. Although I haven’t quite formulated my argument for why economics is a science, I’m pretty sure of how I feel about the subject. While its calm tone may help (by avoiding my metacontrarian reflex), the Scientific American article was more thought-provoking than what I’m used to reading, and I’m less certain of my feelings on its conclusion.

The core of the argument is computer scientists’ inability to formulate predictive hypotheses about the world, and the notion that computers somehow inhabit an abstract “virtual” reality divorced from our own. While it’s hard for me to really grasp the concepts involved here, I think both claims are most likely false. The first makes me think of the way Stephen Wolfram approaches the idea of computation in his February 2010  TED talk. He was also quoted saying something similar in the July 2008 edition of Philosophy of Computing and Information:

4. What do you consider the most neglected topics and/or contributions in late 20th century studies of computation and/or information?

Computer and information science have tended to define themselves in a rather engineering-based way–concentrating on creating and studying systems that perform particular specified tasks.

But there’s a whole different approach that’s much closer to natural science: to just investigate the computational universe of possible programs, and see what’s out there.

One might have thought that most programs that one would encounter this way would not do anything very interesting. But the discovery that launched what I’ve done for the past quarter century is that that’s not the case. Even remarkably simple programs–that one would quickly encounter in sampling programs from the computational universe–can show immensely rich and complex behavior.

There’s a whole new kind of science that can be done by studying those programs.

The idea that computation is something we can sample just like a vernal pool ecosystem or a statistical representation of demographics is fascinating, and I can’t see anything wrong with it on face. I must admit to being attracted to the idea of mapping concepts into spaces (eg “mind design space“, or the original concept of “phase space“), so I might be a bit biased, but if Wolfram is correct then Computer Science really is a naturalistic science in some ways, even more so than mathematics or logic.

Of course the idea that computation space can be sampled suggests that computation really is a property of the universe, which gets into the second main claim made in Steve Wartik’s article, that computing is more like philosophy; necessarily separate from the everyday world we inhabit. This is a way complicated topic, far too complicated for me to address with my limited knowledge of the field, but I’ll try to say a little about how I feel and delve deeper into it another time.

Although my grasp of computation theory is tenuous at best, here’s my understanding of the situation: in the late 1930’s, many mathematicians and logicians were scrambling in the wake of Gödel’s Incompleteness Theorems. While those still tie my head in knots, I understand that they did more than just destroyed once and for all the idea that mathematics (or any system) can be provably complete and consistent; they advanced our understanding of the limits of formal systems in general, and in doing so gave mathematicians more direction in their studies of such system. Around this time, Alonzo Church, Alan Turing, and two other mathematicians/logicians were working on systems to define functions and the methods of calculating them. Church’s was called lambda calculus, Turing’s the Turing machine, and a third developed by JB Rosser and Stephen Kleene was known as recursion functions. In 1939, Rosser claimed that the 3 systems were equivalent; all were different representations of the same underlying set of rules. This lead to the concept of a universal Turing machine, which would theoretically be able to run any calculation that any other programmable computer could run. This is the Thesis, that in some way all (turing-complete) computers are equivalent systems. This, again, points to computation being some deep and underlying property of the universe.

But where the whole line of inquiry gets really interesting is in the so called “strong” version of the Church-Turing thesis; that the universe itself is Turing computable. While this has not been formally proven, the fact that all known laws of physics have effects that are computable by approximation on a digital computer is evidence for it, and for the corresponding interpretation of physics as “digital“. This is a rich vein of interesting stuff I would like to explore further, but suffice to say if the strong version of the Church-Turing thesis were true, it would mean that the universe is a property of computation, instead of the other way around, and thus the study of computation is one of the most valid pursuits of the ultimate truth of reality. It could be simulated on the most powerful computer imaginable, on my laptop, or even on a billiard ball computer given enough time, memory, and energy, and it would make no difference. This gets into highly metaphysical territory very quickly, and lends some credence to Stephen Landsburg’s claims about the reality of mathematical objects. All of my explanations gloss over so much for the sake of some semblance of brevity, even without considering how little I know about the computation theory. But if the universe really is a giant computer, I think it’s safe to say that the study of the process behind that computer is as scientific a discipline as any.