Re: The n-knights problem
- From: russell kym horsell <kym@xxxxxxxxxxxxxxxxxxx>
- Date: Sat, 16 Sep 2006 05:17:20 +0000 (UTC)
russell kym horsell <kym@xxxxxxxxxxxxxxxxxxx> wrote:
[...]
Maybe it's just that I haven't vented my speen enough. But I find myself
drawn to make another comment on "AI problems" or "getting the computer
to think for itself". :)
With all my chatter about undecidability this, and Arrows theorem that,
many people end up thinking I'm really pushing the "AI is impossible" cart.
Nothing can be further from the truth. I'm *actually* one of those radicals
that argue a significant part of reason that "AI is not here" (somewhat
like the "aliens" problem -- but the Galactic Council has banned me from
saying thating about *that* on a public forum) is that there's too much
hubris in the room. With an optimism bias developed over 4 bn years,
what is or is not AI is not objectively, and inconsistently, defined.
Ah well, puny humans have barely gotten around to *perhaps* accepting
other creatures have any kind of mental life at all. Only a few decades
back if you mentioned in academic circles you beleived your dog
sat underneath a tree because it "beleived" there was a cat up there,
you would have been sacked. (A bit before that, they would have been
getting the wood and gasoline out).
Behaving cleverly is not, to my way of thinking, terribly clever itself.
If you're looking for some skeaky method that will miraculously find
the answers to problems your usual sneaky methods take a lot of time over
(aka "hard problems") you've just fallen for an Arrow Theorem trap, with
runtime as the utility function.
It's not that humans use some very clever method to solve problems,
but that the heuristics used are so simple and fail so often. The evolutionary
pressure that has only the "best" arguments recorded, and all the ones that
failed lost to obscurity and supermarket tabloids -- that is what has many
believing that "thinking" is the next best thing to having prayers answered.
But that's not to say there are not subtelties involved. :)
Suppose you wanted to write "the ultimate AI program". Would you recognise it
if it bit you? Let me check. :)
In some obscure part of mathematics there's a concept called "normal numbers".
A normal number is a number -- say it is written in base 10 -- that
conatins within it every possible sequence of digits. (A "strongly normal"
number has every sequence represented equally often).
There are many kinds of normal numbers. They can be constructed in diffrent
ways. There's some speculation -- but AFAIK no proof -- that certain
irrational numbers -- like pi -- are normal or even strongly normal.
You can construct a normal number as follows. Starting with the empty string,
take the string you have, replicate it 10 times, and add each possible
digit to the front, then concatenate all 10 copies.
Another method -- know for Charnernowne -- is to just write each number
starting at "1" (say) down, and concatenate them all together. Another
variant is to write down each number starting at 1, and delete its first
digit, and concatenate them all toegther. This is a somewhat "strongly normal"
version of Charnernown's Number.
Now, since a strongly normal number contains all possible sequences of
digits, it also contains all possible sequences of ASCII charactyers, should
you want to decode one that way. Hence, somewhere on there, is a copy
of the Bible or any program you could ever write. Most of them have syntax
errors. Of those that are syntacticsally correct, most have bugs, of
courwse.
Anyway, getting back to AI programs, you can obviously adapt this technique
to doirectly writing programs. E.g. start with the "digits"
sp++;
sp--;
tape[sp] = 1;
tape[sp] = 0;
if (tape[sp] == 0) {...};
if (tape[sp] == 1) {...};
Use these in the obvious way and you can generate all possible turning
machines written in C. (The {} in the "if" digits must be used slightly
differently than just appending to the front of each copy of the
program-you-have at any step).
OK. Now you have every program. There are programs that type out the
Bible. There are programs that type out all old Matlock scripts.
There are Prolog interporeters -- with bugs and without. Some are even
signed by Jan W. (But they are forgeries!)
And there are lots of "AI programs" in there, too.
Your task -- Mr Phelps -- is just to plant a useful "goto" at the front.
Maybe you could write a program to do it, maybe not. :)
Maybe just read the whole thing and see which program has a comment
that's calling your name.
.
- Follow-Ups:
- Re: The n-knights problem
- From: A . L .
- Re: The n-knights problem
- From: Lash Rambo
- Re: The n-knights problem
- References:
- Re: The n-knights problem
- From: Nick Wedd
- Re: The n-knights problem
- From: Markus Triska
- Re: The n-knights problem
- From: Bill Spight
- Re: The n-knights problem
- From: Lash Rambo
- Re: The n-knights problem
- From: russell kym horsell
- Re: The n-knights problem
- Prev by Date: SWI-Prolog : Easter egg for dolphin lovers?
- Next by Date: Re: The n-knights problem
- Previous by thread: Re: The n-knights problem
- Next by thread: Re: The n-knights problem
- Index(es):
Relevant Pages
|
|