🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

IQ function for AI?

Started by
27 comments, last by Cedric 21 years, 11 months ago
quote: Original post by krez
nope, having genetic material (DNA/RNA on this planet) is one of the criteria for being alive. i won''t ramble, since you can find good info on this quite easily, but DNA is the blueprint for proteins, which control EVERYTHING that happens in an organism.
So to be alive you have to be built from carbon-based compounds?
Advertisement
umm what kinda IQ u looking to test? intelligence is based on a varity of things, but intelligence can be tested based on a specific thing like chess or tic tac toe,. what you would get is a IQ for a given task. so with that in mind you''d want a recursive function that returns an overall IQ based on multiple calls to differnt IQ functions.
quote: Original post by cedricl
What I hinted at in my previous post is what I''m tring to do. I hate having to manage species. If I am to simulate evolution, I shouldn''t have to take care of reproduction, and define operators. These concepts should appear by themselves as a result of evolution.


But at some level you''re going to have to define the possible interactions, either internal (biological) or external (physical), for your organisms.

One the issue of crossover and mutation... crossover is encoded by the chemical processes that necessarily happen during the first stages of conception. Using humans as an example (but this is applicable to all other species, even plants), think of the combination of semen and egg as a cellular automata. The physics and chemistry of the combined system dictates how the DNA/RNA will combine. All of the information needed for genetic recombination is countained in the fertilised egg.

Mutation is subtley different. Firstly, mutation is not a good word to use because it suggests that the instantiation of a gene to a particular allele (that neither parent had) is not a deterministic outcome of biology. Indeed, in GAs, we use a probabilistic operator to determine mutation of genes into the next generation. It is quite likely that there are underlying mechanisms that we don''t yet understand that are driving mutation, since it has been found (about 5 years ago I recall) that mutation rates are far higher than previously thought and apparently affected by environmental factors affecting the parents. So, mutation could also be deemed to be an internal operation governed by the ''code'' of recombination of DNA/RNA.

The point of all of this is that at some level, the way in which two organisms produce an offspring is envoded into the system. As to how you might evolve an encoding of this information, well personally I believe that if you solve that problem, you''ll have earned yourself a Nobel Prize in Biology/Chemistry!

Cheers,

Timkin
Interesting post, Timkin.
quote: The point of all of this is that at some level, the way in which two organisms produce an offspring is encoded into the system.

It is encoded into DNA, but as I said, DNA itself is a product of Nature. AFAIK, Genetic Algorithms projects try to build their own DNA. I''d like to build Nature.

I have faith in natural selection. If my environment is sufficiently rich, I believe that Something will emerge, but I have to guide this thing on the proper path -> a fitness function. We could say that this fitness function is part of the environment, but I don''t know how to make the environment self-evolutive, so my fitness function is what ties the animals to the goal of a specific problem.

So the whole problem is to create that environment and define the fitness function. The two are independant to some degree, because reproduction will happen strictly within the bounds of the environment. For example, if I evolve a good AI to play TicTacToe, it should have acquired the ability to reproduce itself already (hopefully; maybe it found a better way to evolve). Then, I could use the same AI to play Pac-Man. Obviously, at first, it wouldn''t have a clue what to do, but since it is already able to reproduce itself, it should find the answer much faster.

This also supports the ''evolution jumps'' theory. Switching between Tic-Tac-Toe and Pac-Man is obviously a radical change of the fitness function. However, we can clearly see that the animals or species that are too rigid and not ready to evolve something else than Tic-Tac-Toe will simply die, because they won''t improve at all, and eventually, those that can evolve will take all the available resources.

This is all theoretical, of course, but that''s my "dream AI" right now. One of the things that Earth provides, and that I''ll be hard-pressed to reproduce, is a very wide array of climates and environments (not in the same sense as before; here, environment = fitness function). This generates much variety, which is very important in evolution. It took Nature a while before it got out of the sea, and on the land...

Cédric
quote: Original post by cedricl
AFAIK, Genetic Algorithms projects try to build their own DNA.


Not really... what a GA does is simply provide a scheme for creating new genotypes from the current population. The objective function measures the quality of that genotype (generally relative to other genotypes). The genotype is expressed as a phenotype, which is the set of observable characteristics of the organism, determined by the genotype AND the environment.

quote: Original post by cedricl
I''d like to build Nature.


So you want to build a system for automatically evaluating genotypes based on their phenotype? And do you want to allow the phenotype to include varied behaviours that are either reinforced or degraded according to how well they enable the organism to survive in its environment (the ability to reproduce being one good measure of survivability)?


quote: Original post by cedricl
We could say that this fitness function is part of the environment, but I don''t know how to make the environment self-evolutive, so my fitness function is what ties the animals to the goal of a specific problem.


The environment doesn''t have to evaluate itself, only those organisms trying to survive in it. I suspect though that you want the phenotype to be self-evaluating. Reproduction rate and spreading ones genes out into the population is a good measure of success of a particular strategy or behaviour. This is the basis of most adaptive and evolutionary based approaches to AI.

On the point of your fitness function, I don''t think it needs to be explicit. Provided that you have some way of determining success (goal satisfied, action gets organism closer to goal, etc) of one organism over another, so that you can judge them relative to each other, then you can order your organisms in terms of success.

quote: Original post by cedricl
For example, if I evolve a good AI to play TicTacToe, it should have acquired the ability to reproduce itself already (hopefully; maybe it found a better way to evolve). Then, I could use the same AI to play Pac-Man. Obviously, at first, it wouldn''t have a clue what to do, but since it is already able to reproduce itself, it should find the answer much faster.


You should do some reading on Adaptive Systems. John Holland''s book (1980 I think) on the subject is well worth the read. You might also be interested in Classifier Systems, which Holland invented. They provide an internal representation of knowledge and of decision making that is independent of what the representation means in the outside environment. So, a series of rules can be kept in memory that could be applied to many different situations in the environment. What affect they have depends on how the rules are decoded (the mapping from internal representation to action). Rules are reinforced by how well they achieve some objective and this evaluation is provided by the environment (or a different part of the organism''s brain, such that it can be considered external to the Classifier System).

Take a look at the adaptive systems research and see if that helps at all. I suspect it will give you some more ideas as to how to build your system and what sorts of environments you can try it out on.

Cheers,

Timkin
I want to create a Genetic Programming algorithm that doesn't need a predefined population size, mutation rate and cross-over rate. One that doesn't replicate DNA explicitly.

Thank you for your post, but I already know what I want to do, and how I am going to do it. All I need is the "IQ function", and I think that I will try various solutions for this, such as the 'natural environment' you suggested in your first post, and the mathematical problems. I'll see what happens...

On the subject of literature, I've never read any book on AI, so I obviously have a lot to catch-up

Cédric

[edited by - cedricl on August 27, 2002 10:07:13 AM]
@ Cedricl, sure you have billions of atoms in your basement,
now making them do what you want, that is the challenge!!

Seriously, a pretty interesting topic, keep us informed, particularly about the environment you create to educate your "DNA", although at this point i am firmly in Timkin''s camp on this issue, it seems to me you are really trying to strip down one additonal layer of abstraction, Best of Luck



Dreddnafious Maelstrom

"If i saw farther, it was because I stood on the shoulders of giants."

Sir Isaac Newton
"Let Us Now Try Liberty"-- Frederick Bastiat
Well, if you are trying for a ''natural environment'', why have an "IQ function" at all. Their fitness chould be when two critters cross each others path, do they procreate or not?
If they do, you get one or more critters.
If not they both go on their merry way.
If a critter dies before it procreates, its not longer in the gean (sp?) pool.

This way there would be no fixed population size and you have have the possability of extention if no one procreates.

I was thinking about doing something like this just to see if it was possable but I''m still reading up on Genetic programming myself.

Kars
KarsQ: What do you get if you cross a tsetse fly with a mountain climber?A: Nothing. You can't cross a vector with a scalar.
quote: Original post by Argus
So to be alive you have to be built from carbon-based compounds?

where did i say that? i said genetic material , which happens to be carbon-based in ALL of the organisms found on EARTH (maybe somewhere else in the universe they use silicon or velveeta or something, i dunno).
but yes, if you read any 9th grade science book you will find that genetic material which controls development and biological functions (and is passed on to the offspring) is a prerequisite for being considered alive.
--- krez ([email="krez_AT_optonline_DOT_net"]krez_AT_optonline_DOT_net[/email])
quote: Original post by krez
where did i say that? i said genetic material , which happens to be carbon-based in ALL of the organisms found on EARTH (maybe somewhere else in the universe they use silicon or velveeta or something, i dunno).
You did indeed. I stand corrected.


This topic is closed to new replies.

Advertisement