The Computational Metaphor of Mind

advertisement
The Computational Metaphor of Mind
• The Computational Metaphor: What Good is a
Metaphor?
• The Immediate Consequences of the
Computational Metaphor: Levels of Description
and Functionalism
• Reexamining Classical Philosophical Problems
• What is a “computer”, anyway?
• What does it mean for a computational
problem to be "hard"?
• AI and Cognitive Science
• The Turing test and Its Discontents
Levels of description
(for—say—a chess program)
• Rough guidelines for playing chess (e.g., "protect the king", "hold
the center", "don't let pawns become too scattered")
• Higher-level program structure. (Do we have a program based on
collections of local "experts"? What kind of search mechanism do we
use?)
• Program (written in, e.g., Lisp/Pascal; here, the details of the
algorithm are specified: how do we represent the game board?
What numerical measure do we use to determine, say, the worth of a
given piece, or the "goodness" of a particular game configuration?).
• Assembly code/Machine code
• Code is translated into signals that cause input and output to
collections of logical gates (packaged into "chips" in the computer)
• Logical gates are implemented in terms of transistors, resistors, and
similar "primitive" electronic elements
• Transistors, resistors, etc. are implemented in "junctions" between
two different material substances.
Some points to think about
First: there is no one "correct" level of description for something
like our chess program. The chess player thinks of the program in
terms of goals and rules-of-thumb; the Lisp programmer thinks
of it in terms of search strategies and data structures (such as the
representation of the pieces or game board); the hardware designer
thinks of it in terms of digital logic elements. It would be mistaken to
think of (say) the transistor level as the "true" level of the program;
rather, each level conveys important information that the others
suppress.
Second: there is a certain deceptive quality to this hierarchy. Some
levels "map" easily into the next lower level, as by translation. Some
levels, though, are matters of interpretation.
Third: this hierarchy is engineered. It is deliberate. We want to
preserve this hierarchy of languages. There is no guarantee that nonengineered systems have the same properties.
Re-Examining Some Classical Philosophical Problems
• The Mind-Body Problem and Functionalism
• “Knowing-as-Remembering” (the Meno)
• Rationalism vs. Empiricism
The Turing Machine:
An Abstract Model for General Computation
What does it mean for a problem to be "hard"?
(the view from computer science)
• Some problems may not have a solution, or may simply be illdefined.
Examples:
Write a computer program that will pass the Turing test. (Turing)
Define (and/or teach) virtue. (Plato)
• Some problems may be simply impossible given the resources.
(Unlike the first class of problems, we at least know that these are both
well-defined and unsolvable.)
Example:
Using a straightedge and compass, and given an angle theta,
construct an angle of magnitude theta/3.
Write a program which, given any computer program P and
number N as input, determines whether P will ever halt when
run on input N. (Turing)
• Some problems may be impossible to solve with complete accuracy,
but they can be approached by using approximations, guesswork, or
heuristics. What this means is that perhaps all the "solutions" will be
wrong (and we try to make most of the solutions as "right" as possible);
or it might mean that some solutions, but not all, will be right.
Examples:
Given a two-dimensional scene projected on a retina or camera
plane, deduce the three-dimensional scene (set of objects) that
produced this two-dimensional projection.
Given a finite set of sentences, determine the formal structure of
a context-free grammar that generated those sentences.
• Some problems may be defined in such a way that they can only (or
best) be approached by techniques that incorporate some notion of
uncertainty, probability, or vagueness:
Examples:
Was there life on Mars at some past time?
If I have to place a bet on a future event (e.g., whether the
Phillies will win the pennant), how should I bet?
Is this object (person, animal) a threat?
Is this shape: 0 an ellipse? Is it "close" to an ellipse?
• Some problems may be completely solvable in principle; we could
even write an algorithm to solve them. But this algorithm would take so
long to run (or equivalently would require so much space) in most
"standard" cases that we are forced to use more approximate (and hence
unsure) means to approach the problem.
Given a configuration of a chess board, find the best move
for the player whose turn it is.
Given a map of the U.S., and 100 cities (including Boulder), find
the shortest "complete tour" of the cities, beginning and ending
in Boulder, and visiting each of the other cities exactly once.
• Some problems—fortunately—are "easy" in the sense that we can
write a program to solve them, and the program will typically run in a
reasonable time.
Given a positive number, find its square root.
Given a context-free grammar G, produce a sentence
using that grammar.
Given 100 linear equations in 100 variables, determine
whether those equations have a solution, and if
so, what it is.
Download