C
Calum
Bent said:Well, they can, but someone has to make the program that programs
them.
Those programs could be considered part of the initial program. And
they wouldn't be solving any _new_ problems, just ones the original
programmer anticipated.
I am sure you can make a self-modifying program that is sufficiently
complex that you cannot predict how it is going to end up. In this
case, will it be correct to say that it was _you_ who created the end
product?
I suppose you could have genetic programming - whereby you have a pool
of programs each recombining, getting randomly mutated, trying to solve
a problem. The problem is that you need some kind of fitness function,
and being one bit away a solution could render a program worthless. The
chances of getting a working solution out of such a system are quite small.
You may as well just start at the number 0 and test every possible
program you can generate to see if it solves your problem. But there
isn't enough time to do that.
I think in the future, computers may be able to exceed their original
programming? But I can't imagine how! The question is as much _what_
to solve as how to solve it. With an animal it's easy: how to
locate/catch/disable/open nutrition, how to escape cage, how to woo
mate, how to kill rival, how to locate/build home. There is no logical
reason to solve those problems, but without those urges the animal would
die out. What problems would a computer decide to solve???
Calum