Philosophy and Computer Science Revisited
Soren Kierkegaard writes "While reading the two-and-a-half-year-old Slashdot post on Does Philosophy have a role in Computer Science, it occurred to me that over these past few years Philosophy has a more prominent role in Computer Science then ever before. Cognitive Science and Computer Ethics are more established disciplines in universities, and the numbers of philosophy graduates double majoring in computer science and information systems are climbing. Is a merger of Philosophy, a discipline steeped in history and intelligent thought, and Computer Science, a discipline that looks to the future, the best of both worlds?"
This is one of the first websites I discovered when I first started getting on the internet back in the early to mid 90s.
Technoli
What are you talking about? Logic is a branch of philosophy, and has been for millenniums and formally founded by Plato and Aristotle. http://en.wikipedia.org/wiki/History_of_logic
Or, slightly more specifically, it depends on what parts of symbolic logic you focus on. Given a specific system of symbolic logic, working out its technical implications is yes, essentially mathematics or theoretical computer science. Using it to implement automated reasoners is artificial intelligence (a branch of computer science).
Designing logics can go either way, though. You could do it purely as a technical matter: you want a logic with a particular property, so you design one that has that property. Most logics are designed from a more philosophical perspective, though: logic basically as a way of formalizing statements and ways of reasoning about statements. From Aristotle through the middle ages people had catalogued valid and fallacious methods of reasoning; a system of logic encompasses a formalization of such a system. It also has ontological implications, depending on what you decide to make representable in the logic, and what you view as the implications of doing so. For example, W.V.O. Quine's works on logic, while they contain technical results as well, are mainly philosophical in nature. Bertrand Russell's research program in logic, while it contained a lot of technical results, was also primarily philosophical in nature.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
There is a lot in computer science that has long ago been worked out in philosophy, but for which most computer scientists have but a fuzzy grasp.
Computer Science operates under certain philosophical assumptions which have consequences -- but if you don't even know that you're operating under a DUALISTIC ASSUMPTIONS -- you will not be able to deal with those.
For example, Cognitive Scientists are often are not very precise in their use of the words 'knowledge' and 'understanding', as John Searle so brilliantly explains:
(Exerpted from 'Minds Brains and Programs')
"First I want to block some common misunderstandings about 'understanding': in many of these discussions one finds a lot of fancy footwork about the word "understanding." My critics point out that there are many different degrees of understanding; that "understanding" is not a simple two-place predicate; that there are even different kinds and levels of understanding, and often the law of excluded middle doesn-t even apply in a straightforward way to statements of the form "x understands y; that in many cases it is a matter for decision and not a simple matter of fact whether x understands y; and so on. To all of these points I want to say: of course, of course. But they have nothing to do with the points at issue. There are clear cases in which "understanding' literally applies and clear cases in which it does not apply; and these two sorts of cases are all I need for this argument 2 I understand stories in English; to a lesser degree I can understand stories in French; to a still lesser degree, stories in German; and in Chinese, not at all. My car and my adding machine, on the other hand, understand nothing: they are not in that line of business. We often attribute "under standing" and other cognitive predicates by metaphor and analogy to cars, adding machines, and other artifacts, but nothing is proved by such attributions. We say, "The door knows when to open because of its photoelectric cell," "The adding machine knows how) (understands how to, is able) to do addition and subtraction but not division," and "The thermostat perceives chances in the temperature."
The reason we make these attributions is quite interesting, and it has to do with the fact that in artifacts we extend our own intentionality;3 our tools are extensions of our purposes, and so we find it natural to make metaphorical attributions of intentionality to them; but I take it no philosophical ice is cut by such examples. The sense in which an automatic door "understands instructions" from its photoelectric cell is not at all the sense in which I understand English. If the sense in which Schank's programmed computers understand stories is supposed to be the metaphorical sense in which the door understands, and not the sense in which I understand English, the issue would not be worth discussing. But Newell and Simon (1963) write that the kind of cognition they claim for computers is exactly the same as for human beings. I like the straightforwardness of this claim, and it is the sort of claim I will be considering. I will argue that in the literal sense the programmed computer understands what the car and the adding machine understand, namely, exactly nothing. The computer understanding is not just (like my understanding of German) partial or incomplete; it is zero.
[This has certain consequences...]
IN MUCH OF AI THERE IS A RESIDUAL BEHAVIOURISM OR OPERATIONALISM. Since appropriately programmed computers can have input-output patterns similar to those of human beings, we are tempted to postulate mental states in the computer similar to human mental states. But once we see that it is both conceptually and empirically possible for a system to have human capacities in some realm without having any intentionality at all, we should be able to overcome this impulse. My desk adding machine has calculating capacities, but no intentionality, and in this paper I have tried to show that a system could have input and output capabilities that duplicated those
It's particularly relevant in areas of CS research with significant philosophical implications, like AI. In some cases knowing relevant philosophical problems can point out likely technical problems and potential approaches to solving them.
For example, machine learning repeatedly bangs its head against the age-old philosophical problem of induction, and in my view (as an AI academic), the people who know about that and the relevant literature are more likely to make non-naive technical contributions.
Reinforcement learning (a specific branch dealing with learning how to act in an environment) bangs its head against issues like the relationship between something we might call "the real world", the data from your senses, and how to infer between them. Specific technical proposals have largely recapitulated some of the philosophical debate: for example, there was a semi-recent and somewhat influential proposal to replace a priori "states", which represent a view of the "real" states in an environment, with phenomenological state, constructed on the fly from sequences of sensor values clustered based on their ability to predict future sensor values (Predictive State Representations, or PSRs). This is essentially recapitulating the empiricists' "sense-data" view of the early 20th century, which they proposed as a replacement for metaphysical ontologies of the world.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
I'd say mathematical logic classes tend to be more detailed but less broad: they focus on the rigorous mathematical treatment of usually one or two relatively well-behaved logics, like propositional logic or first-order logic.
Philosophical logic classes, by contrast, study these logics in less depth, but put more emphasis on comparisons between logics, the relationship between logic and natural-language argument and thought (and science), and so on.
Which of these is watered down I suppose depends on your perspective. Introductory philosophical logic classes typically have much weaker treatment of issues such as decidability, model theory, interpretations, syntax vs. semantics, and so on. On the other hand, introductory mathematical logic classes typically have much weaker treatment of issues such as nonmonotonic logics, higher-order logics, autoepistemic logics, the relationship between logic and science/mathematics, the ontological commitments inherent in a choice of logic (if any), etc.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
Any good Philosophy department offers advanced classes in Logic, and let me tell you, what they teach you there is nothing like Aristotelean syllogisms, my good sir. In fact, I believe most Philosophy departments have a compulsory Introductory Logic course wherein all Philosophy students are taught the basics of propositional and predicate calculus (I know my department has, it's what got me started on Logic). Your university's Philosophy department must not be very good if the Philosophy majors ran away after an explanation of what counts as a well-formed formula in propositional logic...