| > 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. |
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!]