What things compute?(researchblogs.cs.bham.ac.uk)
researchblogs.cs.bham.ac.uk
What things compute?
http://researchblogs.cs.bham.ac.uk/thelablunch/2015/07/what-things-compute/
6 comments
Specifically, section 6 (Compuation and Waterfalls), which gives the answer that System X computes Y whenever it saves you the work of computing Y -- i.e. if being able to use X as an oracle decreases the asymptotic difficulty of Y.
So waterfalls (probably) don't play chess in the sense that any mapping form the waterfall to a chess program would itself be as complex as the problem (and its execution). But a chess computer does, since its output has a very simple mapping to actual moves (and in practice, most chess computers add a view layer to provide that mapping transparently).
So waterfalls (probably) don't play chess in the sense that any mapping form the waterfall to a chess program would itself be as complex as the problem (and its execution). But a chess computer does, since its output has a very simple mapping to actual moves (and in practice, most chess computers add a view layer to provide that mapping transparently).
Your comment is so much clearer for having a Y. Asking "Does X compute Y" instead of "Does X compute [anything]" makes all the difference.
And also "When does a physical system compute?" (Clare Horsman, Susan Stepney, Rob C. Wagner, Viv Kendon): http://rspa.royalsocietypublishing.org/content/470/2169/2014...
Yes, but they merely spell out Chalmers's implementation relation without even acknowledging it properly:
"The question of when a physical system is computing is fundamentally a question about the relationship of abstract mathematical/logical entities to physical ones [22]."
"The question of when a physical system is computing is fundamentally a question about the relationship of abstract mathematical/logical entities to physical ones [22]."
I had the same problem. My comment:
---
"The crucial assumption is that the abstract program, as a mathematical object, requires design and therefore intent. Accordingly, only artificial things can compute. We cannot say, for example, that a brain computes."
I would argue that living things represent the spontaneous emergence of teleology in nature (i.e., evolution doesn't itself have a goal but it implies the greater success of creatures which do have goals). Brains evolved to help organisms survive and reproduce by allowing them to better process sensory data. So brains were "designed" for an "intent" (survival/reproduction), in the sense that brains that did not serve the intent died out.
---
"The crucial assumption is that the abstract program, as a mathematical object, requires design and therefore intent. Accordingly, only artificial things can compute. We cannot say, for example, that a brain computes."
I would argue that living things represent the spontaneous emergence of teleology in nature (i.e., evolution doesn't itself have a goal but it implies the greater success of creatures which do have goals). Brains evolved to help organisms survive and reproduce by allowing them to better process sensory data. So brains were "designed" for an "intent" (survival/reproduction), in the sense that brains that did not serve the intent died out.
I suppose you refer to section 6 in his paper which attacks a particular critique of computationalism. I think the particular point he is making is valid. However, the argument this blog post is making is a different one.
[deleted]
A computation substrate has state and can change its state within (feedback) loops. An elementary particle suffices this definition: It has state because its properties persist at least for some time, and it has feedback loops (interactions with other particles) that change its state. The more elementary particles locally affect each other, the more complex the state and feedback loops can be. What kinds of computation you can perform on such a substrate depends on the rules that govern the particles, in particular, how many feedback loops they allow to simultaneously affect a local arrangement of particles. It looks like there is an upper bound to this: No substrate can compute more kinds of functions than a Turing machine, which is a hypothesis that is closely tied to the conservation of energy and unitary (that the sum of the probabilities of all possible outcomes of a system equals 1). However, since matter decays, it is doubtful that anything around us can actually be as infinitely precise as the theoretical idea of the Turing machine.
I'm not sure I see the problem with "everything computes". If every physical process can be shown to be isomorphic with one or more computational algorithms, which seems like a very reasonable supposition at this point given what we know about emulation, then that is just the nature of things. It seems more like a useful insight than an unsatisfying answer.
If "everything computes" then you can not use "because it computes" as an explanation.
I do not see how this is a bad thing. It seems incorrect at some level, but claiming that things that compute are somehow categorically different is an appeal to magical thinking.
I would agree that claiming that a rock computes by not simply vanishing from one plank time to the next is not satisfying. This leads me to think that computation has much more to do with whether a particular being has reach a thermodynamic local minimum than anything else (lava does not compute since, despite being far more active than a rock, its behaviour can be explained by the fact that it is a couple thousand degrees hotter than a normal rock). Energy dissipation also does not fit the bill since stars dissipate energy but do not compute.
Unfortunately the thinking surrounding things like proteins look incredibly similar, their behavior changes as a function of ph and temperature, and most arguments that a protein computes are based on defining a function for that protein. This gets us nowhere, but it does suggest that it may not be possible to define computation in a way that excludes systems dissipating energy to reach thermodynamic local minima.
I would agree that claiming that a rock computes by not simply vanishing from one plank time to the next is not satisfying. This leads me to think that computation has much more to do with whether a particular being has reach a thermodynamic local minimum than anything else (lava does not compute since, despite being far more active than a rock, its behaviour can be explained by the fact that it is a couple thousand degrees hotter than a normal rock). Energy dissipation also does not fit the bill since stars dissipate energy but do not compute.
Unfortunately the thinking surrounding things like proteins look incredibly similar, their behavior changes as a function of ph and temperature, and most arguments that a protein computes are based on defining a function for that protein. This gets us nowhere, but it does suggest that it may not be possible to define computation in a way that excludes systems dissipating energy to reach thermodynamic local minima.
Re: "claiming that things that compute are somehow categorically different is an appeal to magical thinking" - This is not the case. The distinction that's being made is one of perspective and purpose, i.e. implementing method to get result. Or am I getting this wrong?
You are getting it correct, but the idea that computation is defined based on some purpose or from a limited subset of all perspectives is exactly what I take issue with. If your notion of computation is dependent on purpose and thus some teleological notion of function then saying something computes doesn't tell us anything about that being, only about how human beings perceive that being and its function. Again, this undermines the usefulness of having a perspective/function independent notion of computation. The magical thinking arises because we project our notations of function onto the being itself and conflate our uses for that being with the intrinsic properties of that being. Purposes/uses/functions are not intrinsic properties. Computation may not be an intrinsic property, it may only be a relational property, which would be an interesting result itself, but probably quite irritating to people who want to make arguments that there is something intrinsically different about certain kinds of systems.
Who is using "because it computes" as an explanation for anything? And to explain what?
Physical computers can only compute because the electrons flowing inside them compute. If they didn't, we wouldn't even have computers in the first place. So yes, everything computes. After all computers are only tools that make computation convenient and controllable for humans.
> In conclusion I want to shatter our presumed consensus: computers do not compute. Not even computers. We compute. Computers just help us along.
Define "us". Define "compute". Seeing as the former is very fuzzy, and the latter is suggested by the article to be undefined, trying to use this to "prove" that brains are not computers is, well, nonsense.
Consciousness is a side-effect of electrochemical interactions. Nothing more, nothing less. Trying to believe otherwise - that consciousness is some "special snowflake" that can somehow exist independently of the machine which creates it - is about as folly as trying to believe a magical sky-wizard sculpted mankind from clay. Whether this counts as "computation" depends on how "compute" is defined.
Define "us". Define "compute". Seeing as the former is very fuzzy, and the latter is suggested by the article to be undefined, trying to use this to "prove" that brains are not computers is, well, nonsense.
Consciousness is a side-effect of electrochemical interactions. Nothing more, nothing less. Trying to believe otherwise - that consciousness is some "special snowflake" that can somehow exist independently of the machine which creates it - is about as folly as trying to believe a magical sky-wizard sculpted mankind from clay. Whether this counts as "computation" depends on how "compute" is defined.
Its interesting seeing the gulf between the philosophers and the computer scientists. I think your average philosopher would enjoy a trip down the rabbit hole of automata theory and the hierarchy of things that can emulate lower levels things vs things that look different but are at the same computational level. Watching a non-CS philosopher rub a NFA up against a CFG, for example, would be interesting. What would Marx say about the assumptions of a DPDA wrt the labor theory of value (or anything else interesting?)
Though it's probably not the largest sub-discipline, there are (and have been for some time: http://www.wiley.com/WileyCDA/WileyTitle/productCd-063122919...) a fair number of philosophers who are very interested in computing and (as you guessed) simulation as a way to approach their research questions.
I can't think of a definition of "compute" that would both include analog computers, but exclude e.g. a rock thrown.
I'm not sure how you could argue against the fact that in a near vacuum and a fixed gravitational field, a rock thrown will compute a fairly accurate approximation of a parabola.
I'm not sure how you could argue against the fact that in a near vacuum and a fixed gravitational field, a rock thrown will compute a fairly accurate approximation of a parabola.
It feels like everyone in this conversation is just choosing their own arbitrary definition of computation. The question is, why have you chosen that definition, what makes it useful? As the author points out, if rocks compute, then there is not much meaning to computation as a concept.
Computation in the colloquial sense refers to a sequence of events that happens inside machines that were made by humans in order to calculate some explicit mathematical results that the human operators have some interest in. I think this is a fine definition, and one that includes computers but not humans or rocks. I feel like the author erred in trying to redefine computation into some other abstract concept, muddying the water such that everyone is just talking about what "computation" means to them.
I think the real question we're getting at is, "what is the relationship between what a human brain does to solve a problem, for example moving a body into the correct position to catch a baseball, and what a computer does, which we know is executing explicit math equations to calculate trajectories, inverse kinematics, etc?" Right? We're talking about the illusion of intent, of goals, of the desire to solve problems - and as far as we can tell, rocks obviously do not possess those traits.
Computation in the colloquial sense refers to a sequence of events that happens inside machines that were made by humans in order to calculate some explicit mathematical results that the human operators have some interest in. I think this is a fine definition, and one that includes computers but not humans or rocks. I feel like the author erred in trying to redefine computation into some other abstract concept, muddying the water such that everyone is just talking about what "computation" means to them.
I think the real question we're getting at is, "what is the relationship between what a human brain does to solve a problem, for example moving a body into the correct position to catch a baseball, and what a computer does, which we know is executing explicit math equations to calculate trajectories, inverse kinematics, etc?" Right? We're talking about the illusion of intent, of goals, of the desire to solve problems - and as far as we can tell, rocks obviously do not possess those traits.
"..there is not much meaning to computation as a concept."
I kind of do agree with this.
So, if I want to calculate a parabola, and construct a machine to launch rocks at specific velocities and angles, then this machine is a computer, but if I just throw a rock without wantint to calculate a parabola, no computation has happened?
What if a kid is playing around with my rock launching machine? Is no computation happening because the kid isn't trying to calculate parabolas?
I kind of do agree with this.
So, if I want to calculate a parabola, and construct a machine to launch rocks at specific velocities and angles, then this machine is a computer, but if I just throw a rock without wantint to calculate a parabola, no computation has happened?
What if a kid is playing around with my rock launching machine? Is no computation happening because the kid isn't trying to calculate parabolas?
If the machine is just launching rocks at a specified angle and velocity, then no it is not computing a parabola. The rock's trajectory traces a parabola, but it has not been "computed" (in my view). A computation to me involves an explicit mathematical result related to some specific intent or question, not just physical objects playing out the laws of nature. The computer would have to make a statement, a result - "based on my calculations, at time X the rock will be at position Y."
Then you would clearly reject all analog computers, since e.g. an analog adder just involves electrons playing out the laws of nature. A rock launching machine is an analog computer for calculating a parabola. A specific result might be "where is the intersection with some Y value, and you have a platform at the height for that value. The distance the rock lands at would be the X value.
What is the point of reducing everything to nothing, or to the same thing? I mean I get it, technically it's valid, but it's very boring, there's nothing then to talk about. We are humans and we do have subjective experiences and classify things into different groups, and trying to understand the relationships and differences between groups gives us interesting things to think and talk about.
But hey, if a rock and a computer are the same thing, and computation is meaningless, words are meaningless, etc - why have you bothered to say anything at all?
But hey, if a rock and a computer are the same thing, and computation is meaningless, words are meaningless, etc - why have you bothered to say anything at all?
The term "Computer" dates to the 17th century and was used to describe humans performing calculations. "Mechanical Computers" and then "Electrical Computers" were machines that could replace those people. Quite clearly humans can perform computation in the colloquial sense.
"Colloquial" and "historical" are not the same thing. "Colloquial" refers to the meaning implied by a layperson when they use the word in casual conversation today. Maybe you feel that the colloquial usage is less accurate than the historical usage you describe, but most people are talking about machines when they say "compute" or "computer." Math exercises, to my knowledge, never say "compute the value of..." They use other terms. Another example, the "computational theory of mind" would be meaningless and redundant if everyone already viewed the mind as a computer computing things.
"Given X compute the value of Y" was in most of my math textbooks from Algebra on. Some books preferred calculate though.
The author, and any reader who finds this interesting, should definitely also read "Why Philosophers Should Care About Computational Complexity" by Scott Aaronson: http://www.scottaaronson.com/papers/philos.pdf
This being the Internet, the natural assumption is that this is intended as contradiction or argument, but I really do just mean, you'll really want to read that too, as it informs the discussion in interesting ways.