FREQUENTLY
ASKED QUESTIONS
Your idea of meta genetic programming is not going to work because:
A. You
will test a system's fitness with one type of problem, but use it for
another type.
The reasoning behind this criticism is as follows. I will use a set of
simple problems to test the fitness of my population. Then in turn use
the most fit member of that population to solve a very complex problem,
the problem of evolving a genetic programming system. This will not
work, because it makes the false assumption that a genetic programming
system good at solving simple problems will also be good at solving
more complex problems.
This does worry me a great deal. However, it is possible that the
chances of a general problem solver being evolved are greater than
those of evolving one that is specific to the simple test problems.
If this is not the case, I can try manipulating the set of simple
problems used to test fitness. Perhaps the nature of the problems in
this set determine the chances of a general problem solver being
evolved. For instance, maybe there is a set of simple problems, called
Set X, that will lead to a genetic programming system only good at
doing those simple problems, and nothing else, resulting in a dead end.
Maybe there is another set of problems, called Set Y, that will lead to
a genetic programming system good at doing those simple problems as
well as evolving genetic programming systems specialized to a certain
type of problems, for example music classification. Consider another,
called Set Z, that will lead to a genetic programming system good at
doing those simple problems as well as evolving generalized genetic
programming systems, not specialized to any type of problem.
Perhaps Sets Y and Z are impossibilities, perhaps not. Tinkering with
the set of simple problems should give me some idea of
this.
B. There will always need to be a human programmed aspect of your
genetic programming system, to make sure the computer does not run
astray and produce bad results.
This is true. But, the degree of human control will be small. Only a
limited portion of the system will be human programmed. Whereas right
now, the entire thing is human programmed.
Furthermore, you will always have access to the innards of the program.
You will, at any time, be able to look at the code and gain an
understanding of what is going on. If you wish, you can take advantage
of this fact and never give up control to the computer. For example,
use your human programmed genetic programming system to evolve a better
version of itself. Then, look at the code of that better version to see
what improvements it has made. Manually incorporate them into your
human programmed system. Then, repeat from the beginning, i.e. evolve a
better version of itself.
C. You will get stuck in a local optima. The speed of your genetic
programming system will be improved slightly, and nothing more will
come of it.
Without testing, how can I know whether the optimized version of my (or
any) genetic programming system will be at the top of a local optima?
It could be on the side of a slope which is easy to continue climbing.
Or, even if the optimal genetic programming system was on the top of
the hill, it could be far better than the currently available human
programmed ones. And it is not necessary to include only genetic
programming systems in the initial population. Any automatic
programming system is fair game, whether it be neural network, simulated annealing, or something else.
Finally, just because I have a website about meta genetic programming
does not mean that I have some sort of faith in the idea. I have no
clue whether it will work or not. At the same time, I do have enough
persistence to seek out empirical evidence that points in one direction
or the other. The criticisms outlined above are merely theoretical.
Who are you?
My
name is Michael Gospatrick. I am a self-employed programmer from
Jackson, NV.
Why
are you doing this?
Because
I suffer from an incurable disease. Humans will eventually
find a cure, but my hope is that computers will do it faster. I have no
interest in making money or gaining scientific credibility from my
work. I only want to find a solution. **Update: I can deal with the disease for now. Curiosity is my new motivation.**
I
don't understand a concept you present on one of your pages, because it
isn't explained clearly enough. You are a bad writer.
I don't blame you. Video is my preferred method of communication, not writing.
What
programming language do you recommend for genetic programming?
If you're asking this question, you probably don't have what it takes. But we all had to learn sometime, so in the interest of not being condescending I would suggest C and assembly language. It's not important though. Just get coding in your preferred language as soon as
possible.
Do you think Meta-GP will ultimately have practical applications in the field of artificial intelligence?
No. But I've come up with some other ideas.
When are you going to update your "Other Ideas" page?
When I get around to it.