I have been here before.  This is the point in the conversation where Roger 
Critchlow explains to me what the hell is  going or .... or, i die.  Roger?  

Is there a confusion here concerning what is the analogue of the individual in 
the genetic algorithm? 

Nick 

Nicholas S. Thompson
Emeritus Professor of Psychology and Ethology, 
Clark University (nthomp...@clarku.edu)
http://home.earthlink.net/~nickthompson/naturaldesigns/
http://www.cusf.org [City University of Santa Fe]




----- Original Message ----- 
From: Ted Carmichael 
To: The Friday Morning Applied Complexity Coffee Group
Sent: 7/10/2010 7:11:35 AM 
Subject: Re: [FRIAM] Real-world genetic algorithm example... help!


Well, in regards to (1), yes, I would guess elitism + mutation is a good 
description.  However, I believe that is enough to qualify as a GA.  As I 
recall, some GA practitioners believe mutation is best, some believe crossover 
is best, and some feel you should have both, or decide based on the problem.  I 
would guess that it is a minority viewpoint to claim that mutation by itself is 
not enough to be a GA.


For (3), you say that the genetic operators are not explicit, in the chicken 
coop example.  My understanding is that sometimes the genetic operator itself 
is a part of the genotype, and is thus subject to mutation/crossover as well.  
In such a case, it wouldn't really be explicit because it would vary across the 
population.  Of course, the final genetic operator is discoverable - i.e., it 
is recorded in the final solution ... but this doesn't really matter to the 
programmer.  He has no knowledge a priori of what that operator will turn out 
to be; and further, the final genetic operator is not the point of the GA.  
Finding a good solution is the desired outcome - the operator is secondary at 
best.


For (2), you correctly imply that a phenotype - or genotype - must be 
explicitly defined in a computer.  Well, sure.  The computer is deterministic, 
and so this information will be recorded somewhere as part of the code of the 
solution.  What I find interesting is this idea that the programmer has to know 
and care and understand the final solution.  I don't think that is the case.


Oh sure, in some instances the final solution is quite clear.  For example, the 
TSP will end up with a list of city-pairs that is easily understood.  But I can 
also imagine instances of a GA, say applied to computer code, or a mathematical 
formula, that becomes so immensely complex that the researcher does not 
understand why the final solution works.  And, as pointed out above, he doesn't 
have to understand why it works.  That it does work well is good enough, isn't 
it?


I just don't see any functional distinction between not caring why the final 
solution works and - in the case of chickens - not being able to precisely 
describe how it works or what it looks like.  It's kind of like that DARPA 
funded robot pack-animal ... they don't care, really, what all the final rules 
are, as long as the robot can walk.  In fact, I would suspect that some 
flexibility in the 'final solution' is allowed, and that the machine learning 
process is continuously running to some degree.


But I am enjoying the discussion, so thanks for that.


Cheers,


-Ted


On Sat, Jul 10, 2010 at 2:50 AM, Russ Abbott <russ.abb...@gmail.com> wrote:

It's not a good example as an illustration of GA because (1) the "selection" 
mechanism to move from one generation to the next is essentially select the 
best and shake it up. At best you might call that elitism plus mutation. But it 
is not representative of GA. (2) it has no explicit representation of the 
genome (3) there are no explicit genetic operators applied to one or more 
parents to produce children.

The issue of whether there is mutation points out that there is no coop genome 
that is being evolved. Since there is no coop genome, it's hard to say that 
there is or is not mutation. It certainly isn't a good illustration of mutation 
for a textbook. 

You might make the case that the coop genome is the collection of the chicken 
genomes and that the offspring coop genome is generated from the parent coop 
genome by breeding the chickens. I guess you could call that mutation of the 
coop genome.So the mutation operator on the parent coop genome is to breed the 
chickens to get a new coop genome. But I think that's about as far as you could 
push it.

If I were forced to describe this in GA terms, I would say that the coop genome 
is the sequence, in some arbitrary order, of chicken genomes. To get an 
offspring, take a coop genome and treat the segments that correspond to 
individual chickens as separate genomes, mate them to get offspring, and then 
concatenate the genomes of the resulting offspring to get a new coop genome. 
I've never heard of a genetic operator like that, but I guess that doesn't mean 
you couldn't claim it as a genetic operator. 

The bottom line for me though is that the experiment is great biology, but it's 
a pretty limited and confusing example of a GA.


-- Russ Abbott
______________________________________

  Professor, Computer Science
  California State University, Los Angeles

  cell:  310-621-3805
  blog: http://russabbott.blogspot.com/
  vita:  http://sites.google.com/site/russabbott/
______________________________________





On Fri, Jul 9, 2010 at 11:12 PM, Ted Carmichael <teds...@gmail.com> wrote:

Ha!  I knew someone would complain about that.  


First of all, Eric is correct: the main point of the story - beyond a nice, 
illustrative example of how a GA works - is the need to properly define a 
fitness function.  In the case of individual chickens, the fitness function was 
ill-defined and didn't work very well.  In particular, this section points out 
that it is not necessary to know why a good solution is good.  Why doesn't have 
to come into it ... the fitness function simply ensures that the best solution, 
no matter what the reasons are for being the best, can emerge from this process.


In regards to Russ' complaints, I'm not sure I can agree that no 
crossover/mutation occurred.  I haven't read the original paper yet, just the 
Huff Post treatment, so I didn't realize that the chicken clusters weren't 
mixed.  That is, I just assumed that more than one cluster was selected among 
the best, and that they collectively produced the subsequent generations.


However, consider the case of mutation.  Russ says there is no mutation within 
the population elements - the clusters of chickens.  But functionally, there 
actually is mutation.  This becomes obvious when we remember that a 
second-generation chicken coop is different from the first-generation coop.  
The genes were all there, but some of them weren't expressed ... that is, they 
simply combined together in a different way to produce a different coop.  It 
doesn't matter that the kids have all the genes of the parents ... the kids are 
still different.


And we know this is true because egg production went up.  This couldn't have 
happened unless there was something (crossover or mutation) that changed from 
generation to generation.


Regarding James' point, I don't know how the roosters were handled from 
generation to generation (something that is probably in the original paper).  
But I suppose they could get the next generation roosters the same way they got 
the next generation hens - by simply hatching a few eggs.


One final point: since GA originally got its inspiration from biology, I see no 
reason why biology can be used to illustrate GA in a textbook.  Thoughts?


Cheers,


-Ted


On Fri, Jul 9, 2010 at 10:03 PM, ERIC P. CHARLES <e...@psu.edu> wrote:

Russ,
Completely agreed. 
I'm not sure how one would connect the chicken stuff in a pretty way to 
standard computer genetic algorithms. I suppose one could relate them together 
to suggest the need for variation in "selection" methods when using GAs. That's 
Ted's part. I only claimed to know how the chicken part worked through (either 
artificial or natural) selection for something other than best individual 
production. 

Eric


On Fri, Jul 9, 2010 09:18 PM, Russ Abbott <russ.abb...@gmail.com> wrote:

It's a great story, but it's not a genetic algorithm as we normally think about 
it. It's really just breeding.   For one thing, no computer was involved. The 
point of the whole thing is to establish the notion of group selection, which 
was forbidden in the biological world for a while. This experiment shows that 
it makes sense.

In what sense was it just breeding? Well, what was bred was coops rather than 
chickens.  So the original population was 6 coops. The best one was selected 
and propagated. The best of those was selected, etc.  Not at all what GA is 
about.  There was no crossover or mutation between the population elements -- 
which are coops.  Of course there is crossover among the chickens in the coop, 
but it wasn't chickens that were bred. The fitness function was a function 
applied to the coop.

So even though it is a very nice experiment and even though it makes a very 
strong case for group selection, it's probably not a good example for a chapter 
on genetic algorithms in a text book.


-- Russ 




On Fri, Jul 9, 2010 at 4:25 PM, ERIC P. CHARLES <e...@psu.edu> wrote:

Shawn,
The two ways to answer your question would either be to invoke artificial 
selection (i.e., because you can design a genetic algorithm to do anything you 
want, just as chicken breeders can keep whichever eggs or to invoke Wilson's 
"trait group selection." In trait group selection you break selection into two 
parts, within-group and between-group selection. If you do that, you can, under 
the right conditions, find that types of individuals who reproduce less well 
within any group can still out-compete the competition when you look between 
groups. Math available upon request. I have a vague memory that this has come 
across the FRIAM list before. 

Eric


On Fri, Jul 9, 2010 06:47 PM, Shawn Barr <sba...@gmail.com> wrote:

Ted,

I'm confused.  Why would a genetic algorithm ever select a hen that produces 
fewer eggs over a hen that produces more eggs?


Shawn


On Fri, Jul 9, 2010 at 2:57 PM, Ted Carmichael <teds...@gmail.com> wrote:

Nick, this is perfect.  Thank you!


BTW - the reason for this request is, my advisor and I were asked to write a 
chapter on Complex Adaptive Systems, for a cognitive science textbook.  In it, 
I talk briefly about GA, and put this story about the chickens in because I 
thought it was a neat example.


I'll add the references now.  Much appreciated.


-t


On Fri, Jul 9, 2010 at 12:28 PM, Nicholas Thompson <nickthomp...@earthlink.net> 
wrote:

Ted, 

Ok.  So, if I am correct,  this was an actual EXPERIMENT done by two 
researchers at Indiana University, I think.  As  I "tell" the "story", it was 
the practice to use individual selection to identify the most productive 
chickens, but the egg production method involved crates of nine chickens.  The 
individual selection method inadvertently selected for the most aggressive 
chickens, so that once you threw them together in crates of nine, it would be 
like asking nine prom queens to work together in a tug of war.  The chickens 
had to be debeaked or they would kill each other.  So, the researchers started 
selection for the best producing CRATES of chickens.  Aggression went down, 
mortality went down, crate production went up, and debeaking became 
unnecessary.  

The experiment is described in Sober and Wilson's UNTO OTHERS or Wilson's 
EVOLUTION FOR EVERYBODY,  which are  safely tucked away in my book case 2000 
miles away in Santa Fe.   Fortunately, it is also described in 

Dave Wilson's blog  
http://www.huffingtonpost.com/david-sloan-wilson/truth-and-reconciliation_b_266316.html
 

Here is the original reference: 

GROUP SELECTION FOR ADAPTATION TO MULTIPLE-HEN CAGES : SELECTION PROGRAM AND 
DIRECT RESPONSES 
Auteur(s) / Author(s)
MUIR W. M. ; 
Revue / Journal Title
Poultry science    ISSN  0032-5791   CODEN POSCAL  
Source / Source
1996, vol. 75, no4, pp. 447-458 [12 page(s) (article)]

If you Google "group selection in chickens," you will find lots of other 
interesting stuff. 


Let me know if this helps and what you think.  

N

Nicholas S. Thompson
Emeritus Professor of Psychology and Ethology, 
Clark University (nthomp...@clarku.edu)
http://home.earthlink.net/~nickthompson/naturaldesigns/
http://www.cusf.org [City University of Santa Fe]




----- Original Message ----- 
From: Ted Carmichael 
To: The Friday Morning Applied Complexity Coffee Group 
Sent: 7/9/2010 5:34:29 AM 
Subject: [FRIAM] Real-world genetic algorithm example... help!


Dear all, 


I'm trying to find reference to a story I read some time ago (a few years, 
perhaps?), and I'm hoping that either: a) I heard it from someone on this list, 
or b) someone on this list heard it, too.


Anyway, it was a really cool example of a real-world genetic algorithm, having 
to do with chickens.  Traditionally, the best egg-producing chickens were 
allowed to produce the offspring for future generations.  However, these new 
chickens rarely lived up to their potential.  It was thought that maybe there 
were unknown things going on in the clusters of chickens, which represent the 
actual environment that these chickens are kept in.  And that the high 
producers, when gathered together in these groups, somehow failed to produce as 
many eggs as expected.


So researchers decided to apply the fitness function to groups of chickens, 
rather than individuals.  This would perhaps account for social traits that are 
generally unknown, but may affect how many eggs were laid.  In fact, the 
researchers didn't care what those traits are, only that - whatever they may be 
- they are preserved in future generations in a way that increased production.


And the experiment worked.  Groups of chickens that produced the most eggs were 
preserved, and subsequent generations were much more productive than with the 
traditional methods.


Anyway, that's the story.  If anyone can provide a link, I would be very 
grateful.  (As I recall, it wasn't a technical paper, but rather a story in a 
more accessible venue.  Perhaps the NY Times article, or something similar?)


Thanks!


-Ted


============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org




============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org



============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Eric Charles

Professional Student and
Assistant Professor of Psychology
Penn State University
Altoona, PA 16601




============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org



============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Eric Charles

Professional Student and
Assistant Professor of Psychology
Penn State University
Altoona, PA 16601




============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org




============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org




============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org
============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org

Reply via email to