Delving more deeply into the current philosophy of computer science reinforces my view that enticing subjects have escaped exploration. New concepts and artifacts have come out of computer science-- algorithms, data structures, parallel processing protocols, axiologies of programming practices, privacy and security concerns, and networking and communication designs have all emerged. But the research that has been done on them, in great measure, treats them within their computational context rather than as objects of interest in their own right. Shouldn't we apply philosophy to the phenomena that have been exposed by computing, as we apply philosophy to phenomena exposed by other social and scientific movements?
I have attempted to do that with regard to algorithms, as will be discussed at HaPoC 2014. Some of these questions will have been addressed already-- I am not conversant with all research in the philosophy of computer science-- and I hope that alert readers will note that.
In metaphysics, for instance-- Do arrays exist in nature; what are the natural phenomena that correspond most closely to arrays (or linked lists, or other abstract data types that we find useful), and in what ways? And what about the semantic web, which represents a major effort to establish a universal, or near-universal, ontology, shared among Web users for the benefit of all? While considering the challenges of this symbolic work, the syntax and semantics, the tension between expressive and inferential power, we could also expand the metaphysical questions pertaining. If we were to start from scratch to build an ontology of everything on paper, for people, and we were to start from scratch to build an ontology of everything in some data model, for a database, would they turn out to be the same? Suppose, as seems likely, each effort fails at some point; would they have carved out the same portion of the universe to represent? To what extent does a breakdown into entities, attributes, and relationships fit the real world? What are the alternatives? Is there some greater abstraction, some sort of category theory (computational or not), of information capture?
And we can follow this path into novel issues of epistemology. How about the epistemology of Web search? What is search, anyway? What type of doxastic re-structuring does a search result engender; how does finding an answer compare to learning a fact in some other way? What type of knowledge acquisition in the panoply of epistemic theories best accounts for search?
We can even follow this path into aesthetics. What is the nature of the satisfaction that comes from solving a symbolic problem, as in a game or a software design, and how does it relate to the appreciation of other arts? Why is programming fun? Why are there no elegant algorithms for calendar work (determing the day of the week for a given date, for example)? Is it because our calendar is inherently ugly, and if so, in what sense-- because, developed incrementally and ad hoc, the calendar doesn't fit any of the clean preferred patterns that we admire? Do "hand-made" data structures somehow escape the digital abstractions that we have developed? Or is it because the cycles of human-scale time are arbitrary? But we view the irregularity of nature, with its spots, wrinkles, colors, shreds, and other unorganized details, as beautiful. What does that say about us, and what does it say about the computational paradigm?
These questions might inspire student interest, as well as fostering respectable philosophical contributions based on scrutiny and interpretation of the computing phenomena that surround us. Many of the papers that appear, on computational models of ethics (or action or explanation), or on information theory, or on intelligent agents, instead interpret philosophical questions in terms of symbolic computing. There seems to be an inclination to set up a formal system to capture the concept, but the formal methods strip out some of the interesting material. The approaches are complementary, and both should be pursued.
Showing posts with label themes. Show all posts
Showing posts with label themes. Show all posts
Friday, June 27, 2014
Monday, May 27, 2013
A New Topic: Objective Search
Here is a new and different topic for a Philosophy of Computer Science class.
Objective web search-- search that carries no geographic or demographic predilections-- would seem to be critical for research. Google offers the option to turn off search history personalization, and to change the geographic context. One attractive way to accomplish this would be for the search engine to explicitly list
all the factors at play (date and time, Internet activity, IP address area, recent purchases, social network contacts) in a search, and allow piecewise disabling of the filters.
Two types of parameters affect the results, of course-- the user's demonstrated interests and preferences, maintained in personalization data, and other people's opinions, reflected in the priority of results presented. Is there any way to request "universal" search, which would return the same results under any circumstances, thwarting both types of parameters? In the category of others' opinions, the Google algorithm PageRank, determining the order of appearance of retrieved web pages, obviously exerts an enormous influence on what users see. What kind of factors affect the PageRank algorithm's authority measures? Would objectivity require forgoing PageRank altogether, and if so, could some other efficient ranking organize the millions of results? For example, could a known bias in one parameter be offset somehow by a conflicting bias?
Along with the question, "Can we get completely objective results from Internet search engines?", other questions arise:
1. Do students, and even academic staff and sophisticated researchers, understand the implications of personalized search?
2. As a free service, is Google required to provide services and options like this that the public, or the academy, demands? Should it be treated as a public utility, under regulations that would force it to do so? If so, how does the international nature of the Internet bear on that treatment and those regulations?
3. Is a "universal" or truly objective point of view for web searches possible, meaningful, desirable? Is Google responsible for not just reflecting, but successfully defining, such objectivity in its presentations of results? Is Google responsible for exposing all the factors pertaining to its searching and ranking algorithms? Does the rise of the Internet affect traditional issues of subjectivity in research?
Under this topic, objective web search, the philosophical subject matter includes ethical and governance issues respecting social justice, as well as, perhaps, the epistemology of the prediction of requests. The computer science subject matter includes design and analysis of search algorithms, as well as myriad issues regarding efficient distribution and retrieval of data. The topic invites a multi-disciplinary approach. The libraries of any educational institution would have cogent contributions to make. The social sciences could advise on the effects of community, local, and regional factors manifest in socio-economic and business data. History can tell us of the long-term effects of limited or distorted information.
Friday, July 13, 2012
Theme: The Ontology of Algorithms
The theme that I have chosen for Fall 2012 is "The Ontology of Algorithms." We can try to figure out the nature of the algorithm and what distinguishes it as a concept, what attributes algorithms might have, and what other questions might bear on the subject. We can start with the idea of computations, as grasped formally and informally, and consider each of the elements input, process, and output. We can consider such notions as whether nature executes algorithms.
This will produce some questions for student discussion:
Will we require an algorithm to take input? Will we require an algorithm to have output? Are there different algorithms for the same function? (Of course.) Are there different functions for the same algorithm? Hmm... that would require interpreting the actions of an algorithm as producing more than one set of ordered pairs. Are there different programs for the same algorithm? (Of course.) Are there different algorithms for the same program? That depends on the answer to the question whether there are different functions for a single algorithm. Shall we detach the notion of algorithm from its theoretical base, the computation of a function? Suppose we see systems all around us that do nothing; should we consider that the same as computing the identity function or the null result?
Based on the question above about nature: Does an algorithm have to be executed? Does a seed embody an algorithm? Is an algorithm a static program or a dynamic process, or both?
A good place to start might be some questions embedded in daily life:
Do we ourselves follow algorithms as we know them? In the non-digital domain, do we practice or experience transmission protocols, LIFO versus FIFO processing sequences, semaphores, public keys, dangling pointers, caching...? Is there a human analogue to algorithmic self-reference? What about static data structures: Can we name a foundational set of data structures, provide identity conditions, and find analogues in human life? Or are data structures inextricably integrated with algorithms? What about a foundational set, and human analogues, of algorithmic errors?
Some of these can become assignments, in some form. As with all teaching, the challenge will be capture these topics in solid pedagogical elements such as student work, purposeful discussion, and meaningful assessments.
Tuesday, July 10, 2012
The Subject Matter
The field is inchoate. The questions are disparate. No syllabus synthesized from long tradition is available. We need a focus, a jumping-off point.
Many working at an intersections of philosophy and computer science would assume that the proper subject matter of a course in the Philosophy of Computer Science is thinking machines-- that is, artificial intelligence (general AI), philosophy of mind, and epistemology, enjoying the light shed on these matters in this Turing Centenary year. Indeed, this would be an appropriate theme.
The article entitled "Philosophy of Computer Science" in the Stanford Encyclopedia of Philosophy, by Turner and Eden [1], starts with a nice list of questions, and discusses mostly those issues concerned with programs-- semantics, specification-implementation-verification, and behavior. Indeed, these would also be appropriate themes.
Issues regarding standards and licensing for the professions of computer science and software engineering give rise to interesting ethical questions, including the rights and responsibilities of the programmer; these also probe the relationship of computer science to other professions. Data collection raises issues of privacy and security. And these too would be appropriate themes.
My dissertation adviser, Bill Rapaport, of the University at Buffalo, taught an undergrad/grad course on "Philosophy of Computer Science" [2], covering classic questions, and I myself taught a sophomore cross-disciplinary course called "Qualities of Quantities," centering on discrete math topics and computability. Oxford University offers a new degree in "Computer Science and Philosophy" for either a bachelor's or master's, rooted in the mathematical intersection. I see others worthy of investigation, as well, in the form of individual courses, conferences, talks, and papers.
Although some precedents do exist, none exactly fill the bill. I seek to draw out questions that are fresh, vivid, and approachable by undergraduates. To expand the possible subject matter before selecting a theme, let's ask how else the traditional concerns of philosophy play out in computer science.
Computer Science Adaptation of Traditional Philosophical Concern: Aesthetics
Is computer science ugly? Sterile? Why do mechanistic procedures, which block emotional manipulation and influence, scare people? What does steampunk tell us about the aesthetics of computation? Or of technology? How about the visions of technology presented by classical science fiction? Does the beauty of mathematics encompass the beauty of computer science? Are there any good computer science jokes? What makes an algorithm "elegant"? What makes computer scientists "geeky"?
Computer Science Adaptation of Traditional Philosophical Concern: Metaphysics
Is computation the same as technology? What is the space, in the realms of technology, or mechanistic devices, that is occupied by computation? Is it exhaustive; is the universe a computer? How do we tell? What does it mean to be a computer? Does everything that shows cause and effect, or inputs and outputs, or changed states, like the wind, like organic growth, compute? What sort of object is a program? What sort of object is an algorithm? Is the ontology of algorithms (or programs) like the ontology of theorems (or proofs) in mathematics?
Computer Science Interpretation of Traditional Philosophical Concern: Ethics
Does transfer from paper to electronic forms affect our view of data and its proper treatment; to what extent is our view of the proper treatment of data influenced by the limitations of the paper medium? Is computing a resource, like others, that should be deployed judiciously, and otherwise conserved? In addition to the privacy questions regarding data collection, who is responsible for that data's accuracy, maintenance over time, dissemination for the public good, and archiving? Can data be owned? Can an idea be owned? Can its tangible forms be owned? What are the tangible forms? Does computing have a universal purpose? Should it? What is the effect of heavy venture-capital funding directed to the entertainment and marketing applications of computer science? When posterity looks back at this early Information Age, will they think that we did something terribly wrong, and if so, what?
[1] Turner, Raymond and Eden, Amnon, "The Philosophy of Computer Science", The Stanford Encyclopedia of Philosophy (Winter 2011 Edition), Edward N. Zalta (ed.), URL = <http://plato.stanford.edu/archives/win2011/entries/computer-science/>.
[2] Rapaport, William F., "What is the Philosophy of Computer Science?", Website, URL = <http://www.cse.buffalo.edu/~rapaport/584/whatisphilcs.html>.
Many working at an intersections of philosophy and computer science would assume that the proper subject matter of a course in the Philosophy of Computer Science is thinking machines-- that is, artificial intelligence (general AI), philosophy of mind, and epistemology, enjoying the light shed on these matters in this Turing Centenary year. Indeed, this would be an appropriate theme.
The article entitled "Philosophy of Computer Science" in the Stanford Encyclopedia of Philosophy, by Turner and Eden [1], starts with a nice list of questions, and discusses mostly those issues concerned with programs-- semantics, specification-implementation-verification, and behavior. Indeed, these would also be appropriate themes.
Issues regarding standards and licensing for the professions of computer science and software engineering give rise to interesting ethical questions, including the rights and responsibilities of the programmer; these also probe the relationship of computer science to other professions. Data collection raises issues of privacy and security. And these too would be appropriate themes.
My dissertation adviser, Bill Rapaport, of the University at Buffalo, taught an undergrad/grad course on "Philosophy of Computer Science" [2], covering classic questions, and I myself taught a sophomore cross-disciplinary course called "Qualities of Quantities," centering on discrete math topics and computability. Oxford University offers a new degree in "Computer Science and Philosophy" for either a bachelor's or master's, rooted in the mathematical intersection. I see others worthy of investigation, as well, in the form of individual courses, conferences, talks, and papers.
Although some precedents do exist, none exactly fill the bill. I seek to draw out questions that are fresh, vivid, and approachable by undergraduates. To expand the possible subject matter before selecting a theme, let's ask how else the traditional concerns of philosophy play out in computer science.
Computer Science Adaptation of Traditional Philosophical Concern: Aesthetics
Is computer science ugly? Sterile? Why do mechanistic procedures, which block emotional manipulation and influence, scare people? What does steampunk tell us about the aesthetics of computation? Or of technology? How about the visions of technology presented by classical science fiction? Does the beauty of mathematics encompass the beauty of computer science? Are there any good computer science jokes? What makes an algorithm "elegant"? What makes computer scientists "geeky"?
Computer Science Adaptation of Traditional Philosophical Concern: Metaphysics
Is computation the same as technology? What is the space, in the realms of technology, or mechanistic devices, that is occupied by computation? Is it exhaustive; is the universe a computer? How do we tell? What does it mean to be a computer? Does everything that shows cause and effect, or inputs and outputs, or changed states, like the wind, like organic growth, compute? What sort of object is a program? What sort of object is an algorithm? Is the ontology of algorithms (or programs) like the ontology of theorems (or proofs) in mathematics?
Computer Science Interpretation of Traditional Philosophical Concern: Ethics
Does transfer from paper to electronic forms affect our view of data and its proper treatment; to what extent is our view of the proper treatment of data influenced by the limitations of the paper medium? Is computing a resource, like others, that should be deployed judiciously, and otherwise conserved? In addition to the privacy questions regarding data collection, who is responsible for that data's accuracy, maintenance over time, dissemination for the public good, and archiving? Can data be owned? Can an idea be owned? Can its tangible forms be owned? What are the tangible forms? Does computing have a universal purpose? Should it? What is the effect of heavy venture-capital funding directed to the entertainment and marketing applications of computer science? When posterity looks back at this early Information Age, will they think that we did something terribly wrong, and if so, what?
[1] Turner, Raymond and Eden, Amnon, "The Philosophy of Computer Science", The Stanford Encyclopedia of Philosophy (Winter 2011 Edition), Edward N. Zalta (ed.), URL = <http://plato.stanford.edu/archives/win2011/entries/computer-science/>.
[2] Rapaport, William F., "What is the Philosophy of Computer Science?", Website, URL = <http://www.cse.buffalo.edu/~rapaport/584/whatisphilcs.html>.
Subscribe to:
Posts (Atom)