The Computational Metaphor of Mind



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 non-engineered 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 ill-defined.

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.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download