Saturday, January 21, 2006

Christianity and Computer Science

In this post, I'll review Thomas VanDrunen's essay, "How is God's Creativity Manifested in Computer Science?", from the volume Not Just Science. (For an introduction to my reviews of this book, go here.) VanDrunen is an associate professor of computer science at Wheaton College.

Like the other essays in Not Just Science, VanDrunen's contribution is arranged around a series of questions. In addition to the question of the title, the following questions are listed:

  • Can a machine perform logic?
  • Can a pipe and gate machine do math?
  • Can a machine remember information?
  • Can a machine remember instructions?
  • What are the limitations of computer science?
  • What are the limitations of computation?
  • What are the limitations of benefit?
  • What does the existence of computers say about human creativity?

As you can see from reading the questions, there is a real disconnect between VanDrunen's title, which asks about God's creativity, and the content of the chapter, which barely addresses that question.

This essay is easily one of the most fatuous in Not Just Science. For one thing, there is the level of exposition, which seems geared to the 4th grade level. For another, the scholarship is deficient. VanDrunen seems unaware that Donald Knuth, Turing award winner and author of the multi-volume work, The Art of Computer Programming, has written a book, Things a Computer Scientist Rarely Talks About, on the religion-computer science connection. While I can't whole-heartedly endorse Knuth's book, at least it offers a novel perspective.

Now, back to the essay. VanDrunen starts off by using an analogy of water flowing in pipes to model electronic circuits, and gives a very cursory explanation of how circuits can be used to perform addition.

Next, he uses a parking meter as a simple model of computation, and brings in the notion of finite automaton. So far, nothing at all about Christianity or "god's creativity", but he does produce the following misleading statement: "There are more powerful models [than finite state machines] that each involve some structure to store an infinite amount of information, and these are often more useful for describing modern computers with their massive capacity." Clearly, VanDrunen has a Turing machine in mind here. But as I emphasize to my student in CS 360 every term I teach it, a Turing machine does not store an infinite amount of information. While it is true that a Turing machine has an unbounded tape as storage, at each step of the computation, only a finite number of cells have been accessed; the rest are all blank. So it is misleading to imply that a Turing machine stores an infinite amount of information; it would be more correct to say that its storage capacity is unbounded.

Next, VanDrunen asks "What are the limitations of computer science?" Oddly enough, the answer says nothing about limitations at all; it is simply a description (and a poor one, at that) of the standard algorithm for determining the distance from a source vertex to all other vertices of an edge-weighted graph.

In the next question, VanDrunen finally gets around to some theological content. In the course of discussing the travelling salesman problem (for which we currently have no efficient algorithm), he says

Stubborn problems like this are what drive human curiosity, but they can also be humbling reminders of human limitations. Christians can bring a perspective to a field like computer science, remembering that it is God who allows for progress of human knowledge and He who also restricts it. Just as humans are limited, so are the machines they build. There are some mysteries that will never be fathomed; there are some problems that computers will never solve.

My reaction to this is bewilderment. Do you really need to be a Christian or a theist to realize that humans are limited? Or that there are some problems computers will never solve? After all, it was Alan Turing, an atheist, who gave the first example of an unsolvable problem, the halting problem for Turing machines. And how exactly do Christians believe that their god "allows for progress of human knowledge" or "restricts it"? Do they think their god actively intervenes on a daily basis, ensuring that some scientific experiments work out, while others don't? What kind of science does God encourage, and what kind does he discourage? What, precisely, does he not want us to know?

In the next question, the ungrammatical "What are the limitations of benefit?", VanDrunen repeats the tired maxim, "The computer is nothing more than a tool." I'm not sure exactly what he means by "nothing more". Yes, a computer can be viewed as a tool, but could it be more? Could computers interact with people in much the same way that people do? Can a computer compose genuinely good music? Paint a great painting? Write a terrific poem? Have feelings? Write a better essay than VanDrunen's?

In the last question, VanDrunen observes that "many of the first to experiment with computing machinery were also intently involved with Christian apologetics". No examples are provided, except perhaps "Fredrick [sic] Brooks", author of The Mythical Man-Month. But even if this claim is true, so what? Many of the first to experiment with computing machinery were not involved with Christian apologetics, such as Alan Turing. What conclusion does VanDrunen want us to draw?

As I alluded to earlier, I think there are many questions where Christianity (or religion, more generally) could intersect with computer science. For example, studying finite automata suggests the question, are people deterministic finite automata? If so, what implications does this have for the Christian view of free will? Studying randomized algorithms suggests the question, can people make truly random choices? Does free will depend on randomness? Studying growth rate of functions raises the question (after Knuth), is it possible that God (if he exists) is finite and very large, but not infinite? Studying artificial intelligence raises deep questions about the origin of creativity and the uniqueness of humans. Is the human mind a computer? Will computers ever achieve a level of intelligence we would recognize as equivalent to humans? Could a computer have a soul? If computers behave just like people, are they entitled to the same rights as people? And so on. But none of this is addressed by VanDrunen.

In pointing out that computer science could raise interesting challenges for Christianity, I don't want to suggest that there is much in the other direction. The implications that VanDrunen draws are so puerile that they might suggest that Christianity has virtually nothing to say of any interest about computer science.

VanDrunen's essay is worse than most in this volume, but unfortunately typical in the shallow way it grapples with the issues. Reading it brings to mind Mark Noll's quip, "The scandal of the evangelical mind is that there is not much of an evangelical mind."

Stay tuned for reviews of more essays in this book.


Suresh Venkatasubramanian said...

And in any case, a TSP is hardly unsolvable, merely efficiently so. Does the author really mean to imply that exponential time algorithms are the domain of God ?

Anonymous said...

I know a former professor of Physics at an Ivy League University. He comes to Toronto to consult with an astrologer. I feel the education has failed him.

I am surprised to see so many, so called "scholars" believe such infantile ideas.