<p>If I remember correctly (it's years since I last studied this), schema theory isn't really <em>used</em> for anything.  Rather, it's an attempt to explain why genetic algorithms seem to work well.  As I'm not an expert, I can only point you to a book that I remember reading about schemata, <a href="http://mitpress.mit.edu/catalog/item/default.asp?tid=5974&amp;ttype=2" rel="nofollow">Melanie Mitchell's book</a></p>

CC BY-SA 2.5
2010-08-27T10:10:17.997Z
http://en.wikipedia.org/wiki/Holland's_schema_theorem "Holland's schema theorem is [...] the foundation for explanations of the power of genetic algorithms."
Radu GRIGore
CC BY-SA 2.5
2010-08-27T21:31:03.140Z
The course I'm doing takes a lot from the Mitchell book, almost rewriting a lot of it
Chris S
CC BY-SA 2.5
2010-08-25T18:13:12.347Z
2010-08-25T18:13:12.347Z
Dominic Mulligan
<p>When designing a genetic algorithm, you have to choose how to represent the problem in terms of schema, and the representation is vitally important to the performance of the algorithm. I think this is what schema theory is about.</p>

<p>Specifically, the common operations a GA will use to perturb or evolve are mutation and one- or two-point crossover.  This means that the proximity of certain traits to other traits in the "chromosome" is significant, since crossover operations slice the chromosome, essentially keeping groups of contiguous traits together.  If you've designed a schema in which key related traits are distant in the chromosome, optimal (or even good) solutions may not be found quickly (or at all), because those traits are unlikely to be retained as a collection.</p>

<p>It also means that even optimal groups that are quite large will tend not to be favored, because they will be frequently broken apart by mutation and crossover operations.  This, again, relates to the schema.</p>

<p>My best understanding of this is that schema theory deals with these issues (and more).  It is designed to address the design of a chromosome in which good and/or optimal solutions are likely to be found given the functions used to evolve the population.</p>

CC BY-SA 2.5
2010-08-26T11:05:23.807Z
So if I've understood, schema theory just helps you to design how you represent or encode the problem as artificial genes/bit strings, and design the fitness function?
Chris S
CC BY-SA 2.5
2010-08-30T16:21:28.517Z
Yes, that's my understanding, which is limited.  While it is easy conceptually, in my work I've found that managing the interaction between the fitness function and the schema is one of the more challenging design problems.
R. P. Dillon
CC BY-SA 2.5
2010-08-25T21:01:30.340Z
2010-08-25T21:01:30.340Z
R. P. Dillon
<p>I understand (some) of the workings behind schema theory in genetic algorithms, for example:</p>

<p><code>*****0</code> would match the genome <code>010100</code></p>

<p>But could anyone explain what schema theory (in Genetic Algorithms) is used for, and how it's used?</p>

CC BY-SA 2.5
2010-08-25T14:32:20.127Z
not sure this is within scope, but am unsure enough to not want to vote to close, or even downvote. See this discussion: http://meta.cstheory.stackexchange.com/questions/114/cstheory-vs-ai-stackexchange-site
Suresh Venkat
CC BY-SA 2.5
2010-08-26T11:06:06.680Z
Why are the tags based on newsgroup names (instead of just plain english)?
Chris S
<ne.neural-evol>
What is schema theory within Genetic Algorithms
Chris S
# What is schema theory within Genetic Algorithms

(Asked by: username_0 on 2010-08-25)

I understand (some) of the workings behind schema theory in genetic algorithms, for example:

`*****0` would match the genome `010100`

But could anyone explain what schema theory (in Genetic Algorithms) is used for, and how it's used?

**Tags:** ne.neural-evol

> **Comments:**
> **username_1**: not sure this is within scope, but am unsure enough to not want to vote to close, or even downvote. See this discussion: http://meta.cstheory.stackexchange.com/questions/114/cstheory-vs-ai-stackexchange-site  
> **username_0**: Why are the tags based on newsgroup names (instead of just plain english)?  

---

## 2 answers

### Answer by username_2 on 2010-08-25. Score: 4 | Accepted answer

If I remember correctly (it's years since I last studied this), schema theory isn't really *used* for anything. Rather, it's an attempt to explain why genetic algorithms seem to work well. As I'm not an expert, I can only point you to a book that I remember reading about schemata, [Melanie Mitchell's book](http://mitpress.mit.edu/catalog/item/default.asp?tid=5974&ttype=2)

> **Comments:**
> **username_3**: http://en.wikipedia.org/wiki/Holland's_schema_theorem "Holland's schema theorem is [...] the foundation for explanations of the power of genetic algorithms."  
> **username_0**: The course I'm doing takes a lot from the Mitchell book, almost rewriting a lot of it  

---

### Answer by username_4 on 2010-08-25. Score: 2

When designing a genetic algorithm, you have to choose how to represent the problem in terms of schema, and the representation is vitally important to the performance of the algorithm. I think this is what schema theory is about.

Specifically, the common operations a GA will use to perturb or evolve are mutation and one- or two-point crossover. This means that the proximity of certain traits to other traits in the "chromosome" is significant, since crossover operations slice the chromosome, essentially keeping groups of contiguous traits together. If you've designed a schema in which key related traits are distant in the chromosome, optimal (or even good) solutions may not be found quickly (or at all), because those traits are unlikely to be retained as a collection.

It also means that even optimal groups that are quite large will tend not to be favored, because they will be frequently broken apart by mutation and crossover operations. This, again, relates to the schema.

My best understanding of this is that schema theory deals with these issues (and more). It is designed to address the design of a chromosome in which good and/or optimal solutions are likely to be found given the functions used to evolve the population.

> **Comments:**
> **username_0**: So if I've understood, schema theory just helps you to design how you represent or encode the problem as artificial genes/bit strings, and design the fitness function?  
> **username_4**: Yes, that's my understanding, which is limited.  While it is easy conceptually, in my work I've found that managing the interaction between the fitness function and the schema is one of the more challenging design problems.  

---

