06.09.2021 Views

Mind, Body, World- Foundations of Cognitive Science, 2013a

Mind, Body, World- Foundations of Cognitive Science, 2013a

Mind, Body, World- Foundations of Cognitive Science, 2013a

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

out at any given time (Newell, 1980; Simon, 1969). To detail the architecture is to<br />

specify “what operations are primitive, how memory is organized and accessed, what<br />

sequences are allowed, what limitations exist on the passing <strong>of</strong> arguments and on the<br />

capacities <strong>of</strong> various buffers, and so on” (Pylyshyn, 1984, p. 92).<br />

What is the relationship between an algorithm and its architecture? In general,<br />

the architecture provides the programming language in which an algorithm is written.<br />

“Specifying the functional architecture <strong>of</strong> a system is like providing a manual<br />

that defines some programming language. Indeed, defining a programming language<br />

is equivalent to specifying the functional architecture <strong>of</strong> a virtual machine”<br />

(Pylyshyn, 1984, p. 92).<br />

This means that algorithms and architectures share many properties. Foremost<br />

<strong>of</strong> these is that they are both described as operations, behaviours, or functions,<br />

and not in terms <strong>of</strong> physical makeup. An algorithm is a set <strong>of</strong> functions that work<br />

together to accomplish a task; an architectural component is one <strong>of</strong> the simplest<br />

functions—a primitive operation—from which algorithms are composed. In order<br />

to escape Ryle’s regress, one does not have to replace an architectural function with<br />

its physical account. Instead, one simply has to be sure that such a replacement is<br />

available if one wanted to explain how the architectural component works. It is no<br />

accident that Pylyshyn (1984) uses the phrase functional architecture in the quote<br />

given above.<br />

Why do we insist that the architecture is functional? Why don’t we appeal<br />

directly to the physical mechanisms that bring an architecture into being? Both <strong>of</strong><br />

these questions are answered by recognizing that multiple physical realizations are<br />

possible for any functional architecture. For instance, simple logic gates are clearly<br />

the functional architecture <strong>of</strong> modern computers. But we saw earlier that functionally<br />

equivalent versions <strong>of</strong> these gates could be built out <strong>of</strong> wires and switches,<br />

vacuum tubes, semiconductors, or hydraulic valves.<br />

To exit Ryle’s regress, we have to discharge an algorithm’s homunculi. We can<br />

do this by identifying the algorithm’s programming language—by saying what its<br />

architecture is. Importantly, this does not require us to say how, or from what physical<br />

stuff, the architecture is made! “Whether you build a computer out <strong>of</strong> transistors,<br />

hydraulic valves, or a chemistry set, the principles on which it operates are<br />

much the same” (Hillis, 1998, p. 10).<br />

2.11 Implementing Architectures<br />

At the computational level, one uses a formal vocabulary to provide a rigorous<br />

description <strong>of</strong> input-output mappings. At the algorithmic level, a procedural or<br />

behavioural vocabulary is employed to describe the algorithm being used to calculate<br />

a particular input-output mapping. The functional architecture plays a special<br />

48 Chapter 2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!