evolution of evolvability complexity club alan n. hampton 25th august, 2003
DESCRIPTION
Evolution of Evolvability Complexity Club Alan N. Hampton 25th August, 2003. Talk Organization. Interacting elements and complexity Structured evolution of protein networks Does this happen in biology? The evolution of programming languages. Interacting elements and complexity. - PowerPoint PPT PresentationTRANSCRIPT
Evolution of EvolvabilityComplexity Club
Alan N. Hampton25th August, 2003
1. Interacting elements and complexity
2. Structured evolution of protein networks
3. Does this happen in biology?
4. The evolution of programming languages
Talk Organization
Interacting elements and complexity
StrongCoupling
WeakCoupling
Interacting elements and complexity
Interacting elements and complexity
StrongCoupling
WeakCoupling
Com
plexity
The evolution of protein networks
protein interaction matrix
The evolution of protein networks
Ingredients for evolution
1. Self reproductory system
2. Point mutations (square in interaction matrix)
3. Survival of fittest
This has led to living beings as we know it?
The evolution of protein networks
Modular design
1. Proteins are loosely coupled
2. Useful sub-functions increase coupling
3. Loose coupling between sub-functions
The evolution of protein networks
The evolution of protein networks
Faster evolution
1. Structured mutation
2. Sub-function duplication
Evolution of mutation operator.
Does this happen in biology?
• Modules in biological systems (Nature 1999)
• Self-regulation of point mutations (e.coli)
• Hox genes (module development on/off)
• Specificity in chromosome crossover
No evidence of structural mutations.
1. Machine Code
2. Assembler
3. Interpreters (Basic)
4. Compiler languages (Fortran, Lisp, C)
5. Object Oriented (C++)
The evolution of programming languages
Has evolved for the convenience of the developer
Artificial evolution of programming languages?
Not very successful (serial language)
The evolution of programming languages
Any solution?
Evolve mutation templates?
for (x=0; x < …; x++) {…
}
int …(…) {…return (int)…;
}