Hacker News new | ask | show | jobs
by p4wnc6 3813 days ago
Can you elaborate on when you say "lookup tables can be Turing complete" as opposed to just able to pass some given Turing test? I feel like there's some conflation about what lookup table we're talking about.

Also, my reading of that passage by Aaronson is very different from yours. I read it as him saying, these computer scientists have put forward a fairly serious and compelling set of arguments that the actual complexity class of the translator algorithm has philosophical importance. Meanwhile, the analytical philosophy response is just to say something hand-wavy about "meaning."

I agree Aaronson's not saying anything definitive (he is extremely conservative about making definitive claims, despite how hotly involved he becomes in the few cases when he does make definitive claims). But I don't agree that he is framing it to raise questions about the validity of the CS rebuttal papers that he cites.

1 comments

Searle uses a lookup table argument in the chinese room. I was making the case that lookup tables as a computational tool can be turing complete, and I'm assuming Searle covered Turing completeness in his argument. (I read the chinese room a long time ago so even if he doesn't cover turning machines explicitly, He has argued elsewhere, explicitly, that Turing machines and the kinds of outcomes they can produce do not get us past the problem of meaning elucidated by the Room argument.)

I think Aaronson demolishes the other critics arguments because he shows they focus on the lookup table and attach sentience to algorithmically complex solutions but not to exponentially complex solutions. My point is the lookup table is irrelevant, in practical terms, because the lookup table in Searle's argument exists only as a "philosophical fiction" as Aaronson says. But I was pointing out that lookup tables can be Turing complete. And hence any Turing machine could be substituted for the mechanism in Searles's room and thus the particular mechanism of the room's operation is irrelevant. (in any kind of Turing completeness sense)

I took Aaronson as being humorous here: "Yet, as much as that criterion for sentience flatters my complexity-theoretic pride, I find myself reluctant to take a position on such a weighty matter." Because there is no obvious reason an algorithmically complex solution should somehow be sentient when an exponentially complex solution should not be. How could the lower mathematical bound confer sentience?

Aaronson's paper is about the practical requirements to pass a Turing test in some given amount of time. It is a testable problem. Searle's argument is about what it means to produce actual sentience. Aaronson does not really get into this.

There is an argument against Searle along the lines of "what are the requirements for a machine which passes the Turing test for Searle." And Searle's response to these practicalities are weak, at best. But those arguments have nothing to do with Searle's point in the Chinese Room. Aaronson sort of reflects those critiques of Searle, but he also realizes the hand-wavy problem of meaning is something he doesn't address.

Personally, I get very frustrated when people mistake the problem of sentience for the testable hypothesis of a Turing test (or any of the other "practical" problems). I think the problem of sentience is a real problem, and it requires a practicable solution to produce machine sentience, machines which have and understand meaning. So arguments against Searle's Room that do not address how to instantiate meaning in a computer system are disappointing because they ignore his basic point. (Aaronson is making arguments about complexity and Turing tests) Ignoring the key problem is not a critique of that problem. And critiquing an argument is not necessarily a critique of the point or concept the argument elucidates.

Meaning is a real thing.

If you sit down to make a machine conscious, you have to deal with what awareness is and how meaning and representation work- at the very beginning. And then figure out how to make computers do representational processing and instantiate awareness.

All of the modern approaches abandon the problem of actual sentience and the problems of meaning; because, they are hard. Or it's too hard to finish in the timeline of a PhD. So people do the reverse, start with the algorithms and solve a testable sub-problem and make some practical progress in computer science or in industry. (which is a good thing!)

Nearly everyone abandons the hard problem of meaning and how meaning works and chooses to solve a different problem. This does not mean our solutions to those other problems are solutions to the hand-wavy problem of meaning. It rather makes me think of people who figured how to make fake feathers and then assumed the process of making fake feathers will naturally lead to human flight.

I think this is a clue that the typical computer science approach, which has made great progress in what we call artificial intelligence, is maybe the wrong approach to solve the sentience problem. Not that computer science is irrelevant, but that the general computer science approach simply does not provide a path toward, or the theoretical foundation, to make computers which are aware and can generate and understand meaning.

> Searle uses a lookup table argument in the chinese room.

I know that. I was asking about your claim that a lookup table can be Turing complete, as opposed to merely able to pass a given Turing test. A lookup table does not express universal computation, at least not on its own. For instance, you couldn't use a fixed-size lookup table (with fixed, immutable content) to express some floating point number of precision N, where N is so high that even just the bits required to represent it outnumbers the available space in the lookup table. You'd need something "outside of" the lookup table that could mutate its memory, or hold state of its own while reading from the lookup table. The complexity class of doing any of this would be irrelevant to Turing completeness.

On the topic of the complexity threshold for sentience, I think the reasons are extremely simple and obvious. If you take a Turing test to involve convincing a human being of something (as it was originally conceived), then there are inherent time constraints to performing actions. If you can adequately respond to any question posed in English, but it takes you longer than the age of the universe to do so, then as far as anyone is concerned, you actually can't do it.

Imagine that one day we create an artificial being which we all agree is sentient. Suppose, without being too precise, that the entity "runs" in some amount of time -- like it can answer verbal questions in matters of minutes, it can solve complicated problems in matters of hours or days, and so on.

Now suppose we can play around with the insides of that being and we have some sort of dial that lets us "slow it down." We click the dial once, and the being now takes hours to make verbal responses, and takes weeks to solve complex problems. We click the dial again and it takes weeks to make a verbal response, and months to solve a complex problems... and so on.

I think it is reasonable to believe that after enough clicks the entity is not sentient even if the underlying software is conceptually similar and just differs by controlling its complexity class.

I'm not saying I agree that this definitely defines sentience. I'm just saying it's extremely reasonable that it might and it's not at all obvious to me that an exponentially slow entity, if we could wait long enough to verify, is "just as sentient" as an entity that is verifiably more efficient.

Even further, the particular argument that I pointed out actually used estimated numbers to come up with space bounds, not time bounds. Basically, the argument was that even if you truncate to considering merely 5-minute-long English conversations (or shorter), then creating a lookup table to be able to look up responses is physically impossible -- who even cares how long it would take to actually use it if you could create it -- you can't even create it, and so it is somewhat fallacious to even begin a thought experiment by saying "suppose there is this big lookup table that physics logically excludes from possibility." It's just not even useful, not even as a thought experiment, because it doesn't speak about what is possible, from first principles.

I think the Searle/Aaronson thing is sorta dead (we're arguing over what, 3 paragraphs?) But...

You touch on a very interesting point in your reply here:

"You'd need something "outside of" the lookup table that could mutate its memory, or hold state of its own while reading from the lookup table. The complexity class of doing any of this would be irrelevant to Turing completeness."

I don't know if this is irrelevant to Turing completeness... I suspect you are right, but I'm not sure how to write a proof of that.

However, it is the basic problem I have faced writing code that can make representations (write it's own programs). My solution requires abandoning the symbolic route completely. We still do computations, and the computations interact and change each other, like how molecules interact and change each other. But it's a whole level down from the symbolic computation problem you bring up.

I tried doing cellular automata that had interacting mechanisms to alter their rule sets, which isn't that far from neural nets that alter their functions. And I tried approaching neural nets that could alter their structure based on their responses to input. Not merely back propagation of values, but back propagation of structure. But like all computation, it's the problem of syntax and semantics all over again!

I just decided to go down a level and make no associations between syntax and semantics at all, and instead build up a syntactically homeostatic system, that would hopefully then be able to create semantic behavior by creating "semantic" structures from intrinsic syntactic behavior. So, my approach is not "outside of" but rather from the "inside out".

If you have any suggestions about how to code a solution to the "outside of" problem, in any kind of symbolic system, I would be very interested in your ideas. [that would be some cool voodoo!]

Your points are all good. But they have nothing to do with meaning, or with semantics.

Cellular automata are lookup tables, and Wolfram and others proved some cellular automata rules are Turing complete computers. https://en.wikipedia.org/wiki/Rule_110 My point was merely about the equivalence of computational mechanisms, not about lookup tables per se. And by corollary, that the computational complexity is equivalent regardless of the computational mechanism. (I think we agree on this point.)

Searle's Room is a just to explain that what computers are doing is syntactic.

Searle would posit that passing a Turing test in any amount of time is irrelevant to determining consciousness. It's a story we hypothetical use to "measure" intelligence, but it's only a story. it's not a valid test for sentience, and passing such a test would not confer sentience. Sentience is an entirely different question.

What would be more interesting is if a computer intentionally failed turing tests because it thinks turing tests are stupid.

We could test humans with Turing tests to determine their "level" of intelligence. But if you put teenage boys in a room and made them do Turing tests, pretty quick they would come up with remarkable ways to fail those tests, chiefly by not doing them! How could you write a program or create a system that intentionally fails Turing tests? or a program which avoids taking turing tests... because it thinks they are stupid?

Could you write a program that knows when it fails? (it's a pretty long standing problem...)

I like the speed (or space-bound question) you ask because it is not a thought experiment to me. It's an actual real problem I face! at what point does the speed of the underlying computing become so interminably slow that we say something is no longer sentient? In my work, I don't think there is some such slow speed. The slowness simply obscures sentience from our observation.

In the excellent example: "I think it is reasonable to believe that after enough clicks the entity is not sentient..."

How would you distinguish between the "loss" of sentience from reduced complexity, from the loss of your ability to perceive sentience from the reduced complexity? The question is, how could you tell which thing happened? If you don't observe sentience anymore, does that mean it's not there? (Locked in syndrome is similar to this problem in human beings.) And if you have a process to determine sentience, how do you prove your process is correct in all cases?

I do not think of these as rhetorical questions. I actually would like a decent way to approach these problems, because I can see that I will be hitting them if the model I am using works to produce homeostatic metabolic like behavior with code.

Computation is a subset of thinking. There is lots of thinking that is not computation. Errors are a classic example. The apprehension of an error is a representational process, and computation is a representational process. We may do a perfectly correct computation, but then realize the computation itself is the error. (As a programmer learns, it is exactly these realizations that lead to higher levels of abstraction and optimization.)

Searle's point is that a lookup table or any other computational mechanism, can not directly produce sentience because it's behavior is purely syntactic. "Syntax is not semantics and simulation is not duplication." https://www.youtube.com/watch?v=rHKwIYsPXLg

Aaronson's points are very well made, but none of them deal with the problem of semantics or meaning. Because they don't deal with what representation is and how representation itself works. All of the complexity work is about a sub-class of representations that operate with certain constraints. They are not about how representation itself works.

> "suppose there is this big lookup table that physics logically excludes from possibility."... That is the point!

Even if there were such a lookup table, it would not get us to sentience, because it's operations are syntactic. It is functional, but not meaningful. You are correct, it could never work in practice, but it could also never work under absolute conditions. That's why I figured Aaronson was poking fun of those critiquing Searle, because it would ALSO, not work in practice.

Aaronson writes, "I find this response to Searle extremely interesting—since if correct, it suggests that the distinction between polynomial and exponential complexity has metaphysical significance. According to this response, an exponential-sized lookup table that passed the Turing Test would not be sentient (or conscious, intelligent, self-aware, etc.), but a polynomially-bounded program with exactly the same input/output behavior would be sentient."

This statement supports Searle's argument, it doesn't detract from it. Hypothetically, an instantaneous lookup of an exponential table system would not be sentient but an instantaneous lookup of an algorithmically bound table system would be sentient? On what basis then does sentience confer, if the bound is the only difference between the lookup tables? Introducing the physical constraints doesn't change the hypothetical problem.

Searle and Aaronson are just talking about different things.

If Aaronson was actually refuting Searle, what is the refutation he makes?

Aaronson never says something like "Computers will be sentient by doing x, y, and z, and this refutes Searle." The arguments against Searle (which I take Aaronson as poking at) are based in computation. So... show me the code! Nobody has written code to do semantic processing because they don't know how. It could be no one knows how because it's impossible to do semantic processing with computation - directly.

That is my view from repeated failures, there simply is no path to semantics from symbolic computation. And if there is, it's strange voodoo!

I think the reference to cellular automata is a bit misplaced. Yes, Rule 110 is Turing complete, but I don't think this has anything to do with the sort of lookup table that Searle is appealing to. You can write programs with Rule 110, by arranging an initial state and letting the rules mutate it. However, a lookup table that merely contains terminal endpoints can't do that. It doesn't have the necessary self-reference.

People always like to say this about Matthew Cook's result on Rule 110 and connect it to Searle's argument, but they are just totally different things. If Searle instead talked about encoding a general purpose AI program to translate sentences, and his substrate of computation happened to be a cellular automata, that's fine, but it would be no different than him postulating an imaginary C++ program that translates the sentences, meaning he would be assuming a solution to A.I. completeness from the start, whether it is via cellular automata or some typical programming language or whatever.

But the type of lookup table he is talking about is just an ordinary hash table, it's just a physical store of fixed immutable data which is not interpreted as self-referencing in a programmatic sense, but instead which simply holds onto, and is "unaware" of, translation replies for each possible input.

I was not trying to connect rule 110 to Searle's argument per se, but rather to the critique of Searle's argument. Namely, that criticisms of the lookup table are not criticisms of Searle's argument or the point he makes. a C++ program, brainfk, a CA, a one instruction set computer, or whatever computational process is used doesn't matter. The lookup table is just one component of the Rooms operation. I agree Searle is talking about a hash table, but he is also talking about the rules to interface an input value to a set of possible output values via some mechanical process, and the man in the room acts as a kind of stack machine.

You are right, Searle isn't making an argument about the translation of sentences. (translating them to what?)

He is making an argument about how the mechanism of computation cannot capture semantic content. He explains this in the google video very well: https://www.youtube.com/watch?v=rHKwIYsPXLg

And all of the... let's call them "structural" critiques are moot. Searle's point is that computer systems cannot understand semantic content because they are syntactic processing machines. And he shows this with his argument.

The opposite view is that computers can understand semantic content. (so there is understanding and there is meaning understood by the computer) and the reason Searle doesn't believe computers can do this is because his argument is flawed.

Which leaves us with a small set of options:

1) That the structure Searle proposes can in fact understand semantic content and Searle just doesn't understand that it does.

I don't think anyone believes this. My iphone is certainly more capable, a better machine, with better software than Searle's room, and no one believes my iphone understands semantic content. so the belief the Room does understand semantic content but not my iphone is plainly false.

2) Searle's Room is simply the wrong kind of structure, or the Room is not a computer, or not a computer of sufficient complexity and therefore it cannot understand semantic content

I think this is the point you are making, but correct me if I'm wrong. This is not an objection against Searle's point. It's a critque of the structure of the argument, but not the argument itself. Searle could rewrite his argument to satisfy this objection, but it wouldn't change his conclusion.

Which bring us to the generalized objection:

3) that sufficient complex computer would understand semantic content.

Aaronson's paper is about the complexity problem and how a sufficiently complex system would APPEAR to understand semantic content by passing a Turing test within some limited time.

There are many arguments to this line of reasoning. One of them is that all such limitations are irrelevant. You yourself are not engaged in a limited time turing test, no person is. The issue is not passing turing tests, it instantiating sentience.

But thinking about complexity gets us off the root of the objection. You intuit that increasing or decreasing complexity should give us some kind of gradient of sentience. So an insufficiently complex system would not be sentient and would not understand semantic content, but this isn't what Searle is arguing.

Searle is demonstrating that no syntactic processing mechanism can understand semantic content. Understanding semantic content is a necessary condition for sentience, therefore no computer which does syntactic processing can be sentient. A gradient of complexity related to sentience is irrelevant.

In the one case: our computers become so complex it becomes sentient -> because it is sentient it can understand semantic content. Vs. understand semantic content and that leads to sentience.

The gradient of complexity to sentience is an intuition. Understanding of semantic content can be atomic. Even if a computer only understands the meaning of one thing, that would disprove Searle's argument. A gradient of complexity isn't necessary. Searle is saying there is a threshold of understanding semantic content that a computer system must pass to even have a discussion about actual sentience. And if a computer is categorically incapable of understanding semantic content, it is therefore incapable of becoming sentient.

Said another way, sentience is a by-product of understanding semantic content. Sentience is not a by-product of passing turing tests. The complexity required to pass a turing test, even of finite or infinite length, says nothing about whether a machine does or does not understand semantic content.

All the structural critiques of Searle fail because they do not offer up a program or system that understands semantic content.

Show me the code that runs a system that understands semantic content. Even something simple, like true/false. or cat/not a cat. If Searle's structure of the room is insuffiently complex, then write a program that is sufficiently complex. And if you can't, then it stands to reason that Searle at least might be correct: computers, categorically, cannot understand semantic content BECAUSE they do syntactic processing.

Google's awesome image processing that can identify cats does not know what a cat is at all. It simply provides results to people who recognize what cats are, and recognize that the google machine is very accurate at getting the right pictures. but even when google gets it wrong, it does not know the picture does not have a cat in it. In fact, the google machine does not know if what it serves up is a cat picture even if there is a cat in the picture.

The Searle Google talk covers this very well: https://www.youtube.com/watch?v=rHKwIYsPXLg

If you fed googles cat NN a training corpus of penguin pictures and ranked the pictures of penguins as successes, it would serve up penguins as if they were cats. But no person would ever tell you a cat is a penguin. Because penguins and cats are different things, they have different semantic content.

I would love to see that Searle is wrong. I'm sure he would be just as pleased. So I am curious if you do have or know of a machine that does do, even the smallest amount, of semantic processing. Because solving that problem with symbolic computation would save me a ton of effort.

"The approach I am taking is a kind of metabolic computing"

1. What exactly do you mean by "a kind of metabolic computing"?

2. What is first step you want to accomplish?

3. What do you think (feel) is actually happening in any sentient animal that leads to semantic content? How it is possible that this happens? We know that it happens because we are sentient animals. The question is: where is this difference because as animals we are also machines and it seems that everything what is happening in our cells is purly syntactical.