The philosophy of computer science is concerned with the
philosophical questions that arise within the study of
computer science. There is still no common understanding of the content, aims, focus, or topics of the philosophy of computer science,[1] despite some attempts to develop a philosophy of computer science like the
philosophy of physics or the
philosophy of mathematics. Due to the abstract nature of computer programs and the technological ambitions of computer science, many of the conceptual questions of the philosophy of computer science are also comparable to the
philosophy of science,
philosophy of mathematics, and the
philosophy of technology.[2]
Overview
Many of the central philosophical questions of computer science are centered on the logical, ethical, methodological, ontological and epistemological issues that concern it.[3] Some of these questions may include:
The
Church–Turing thesis and its variations are central to the
theory of computation. Since, as an informal notion, the concept of effective calculability does not have a formal definition, the thesis, although it has near-universal acceptance, cannot be formally proven. The implications of this thesis is also of philosophical concern. Philosophers have interpreted the Church–Turing thesis as having implications for the
philosophy of mind.[6][7]
P versus NP problem
The
P versus NP problem is an unsolved problem in computer science and mathematics. It asks whether every problem whose solution can be verified in
polynomial time (and so defined to belong to the class NP) can also be solved in polynomial time (and so defined to belong to the class P). Most computer scientists believe that P ≠ NP.[8][9] Apart from the reason that after decades of studying these problems no one has been able to find a polynomial-time algorithm for any of more than 3000 important known NP-complete problems, philosophical reasons that concern its implications may have motivated this belief.
If P = NP, then the world would be a profoundly different place than we usually assume it to be. There would be no special value in "creative leaps", no fundamental gap between solving a problem and recognizing the solution once it's found. Everyone who could appreciate a symphony would be
Mozart; everyone who could follow a step-by-step argument would be
Gauss.[10]
^For a good place to encounter original papers see
Chalmers, David J., ed. (2002). Philosophy of Mind: Classical and Contemporary Readings. New York: Oxford University Press.
ISBN978-0-19-514581-6.
OCLC610918145.
Moschovakis, Y. (2001). What is an algorithm? In Enquist, B. and Schmid, W., editors, Mathematics unlimited — 2001 and beyond, pages 919–936. Springer.