A Quick Introduction to Computational Philosophy
In August 2011 Marc Andreessen published the essay titled “Why Software Is Eating The World” in The Wall Street Journal. Since then, this phrase has become fairly commonplace and we have seen ample evidence of this phenomenon of software slowly (or even quickly) taking over one arena of human activity after another.
One could argue that Philosophy is probably the most complex and most human of all human endeavors, but it was only a matter of time before software, or computation in general, would make inroads into this sacred place, too. This has created a new and exciting field called Computational Philosophy.
In short, Computational Philosophy refers to the use of computational techniques in philosophy. It includes concepts such as computational models, algorithms, simulations, games, etc. that help in the research and teaching of philosophical concepts. The use of computers in philosophy has gained momentum as computer power as well as the availability of data have improved exponentially. This, along with the development of many new techniques that use those computers and data, has opened many new ways of doing philosophy that were not available before. It has also led to new insights in philosophy.
Please note that Computational Philosophy is different from the Philosophy of Computation, which deals with philosophical issues in Computer Science.
Of course, this topic is huge, but let me just include some of the basic concepts and provide some references that you may follow to learn more.
Since I believe this area is ripe for a lot of interesting work, this post will probably keep getting updated from time to time.
The Ultimate Promise of Computational Philosophy
The ultimate promise or dream of computational philosophy was summarized nicely by Leibniz as follows:
“The only way to rectify our reasonings is to make them as tangible as those of the Mathematicians, so that we can find our error at a glance, and when there are disputes among persons, we can simply say: Let us calculate, without further ado, to see who is right.” —Leibniz, The Art of Discovery (1685 [1951: 51])
Of course, we are still very far from achieving this goal. At the same time, as it turned out, this isn’t the only goal worth aspiring to when it comes to computational philosophy.
To see what we have achieved so far, let me just list a bunch of references organized by the basic areas of philosophy.
Metaphysics
Metaphysics tries to answer the question: What is the nature of reality?
The most promising works in this area are:
- A New Kind of Science by Stephen Wolfram
- The Wolfram Physics project
- I have myself written a short introduction to his theories
- The Simulation Hypothesis
Epistemology
Epistemology deals with the question: What can we know about reality? How do we know it?
Interesting topics in this area:
- Computability Theory
- Turing Machine
- Computational Reducibility and Irreducibility
- Agent Based Modeling
- Agent Based Computational Economics
Ethics
Ethics deals with the question: What should I be doing? What is the right or wrong way to behave?
Here again there is some confusion between “the use of computational methods in ethics” vs “ethical computation” or “ethical AI”. We are talking about the former, not the latter here.
Interesting topics in this area:
- Game Theory
- Evolution of Trust (based on iterated Prisoner’s Dilemma)
- My own efforts in this area: The Evolution of Wealth Inequality – An Interactive Guide
- From Computation to Ethics – A very fascinating approach to deriving ethics from computation!
- On Computational Ethics
- A blog post from Mark Neyer on thinking about ethics in computational terms
- The modeling environment Netlogo: http://ccl.northwestern.edu/netlogo/index.shtml
- Simulation: Chair the Fed: https://www.sffed-education.org/chairthefed/
- Simulation: The Fiscal Ship: http://fiscalship.org/
Logic
Logic deals with the question: What methods can I use to think about such questions?
Here, the relationship between logic and computation is actually 2-way. Logic is the basis of computation. At the same time, computation has contributed new approaches to logic also. And this topic also suffers from the same confusion about whether it refers to the use of computation in logic or the use of logic in computation. We are of course referring to the former, not the latter.
Anyway, here are some references that talk about the use of computation in logic:
Philosophy of Mind
Philosophy of Mind deals with the question: What is mind? What is its connection with the body?
I suspect this area will see a lot of very interesting work in the next few years. I personally believe that the most interesting aspect of Artificial General Intelligence is not some robot or some AI companion that will be interesting to talk to (or fear), but to be able to learn how our own mind works, including even consciousness. I think AGI offers the most promising approach to understanding consciousness.
Some interesting references in this:
- Computational Theory of Mind
- From AI to Artificial Consciousness
- My own blog post that summarizes the model developed by Joscha Bach
- Mindfulness as stack frame exploration