Presentation Overview
Human input can also be benficial in
"Human in the loop" is not restricted only to interactive GA (IGA)
Interactive Evolutionary Computation
Human user is involved in evolutionary computation in some way
IGA has minimum necessary human involvement
HBGA has human involvement at every step
Interactive Evolutionary Computation
Interactive Evolutionary Computation
Two definitions:
Narrow -
User aids fitness function
(IGA)
Broad -
User aids entire search
(HBGA)
Selection Recombination |
Computational | Human |
---|---|---|
Computational | SGA/PGA | IGA |
Human | CAD | HBGA |
Presentation Overview
We know how to do this with
non-interactive GA
http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
What if we don't have the target?
Maybe we're not
great artists...
Aoki, K. and Tagaki, H.: 3D CG Lighting with Interactive GA
IEC can assist in human creativity
Used in many creative domains:
Beyond creative domains, IEC is useful in any case where the fitness is difficult to formalize
Presentation Overview
Most papers in
New applications for consumers
Presentation Overview
Procedure IEA() {
t = 0;
Initialize Population(t);
PresentPopulationToUser(t);
while (Not Done) {
Parents (t) = UserSelectParents(Population (t));
Offspring (t) = Recombine(Parents (t));
Offspring (t) = Mutate(Offspring (t));
PresentPopulationToUser(Offspring (t));
Population (t+1) = UserSelectSurvivors(Population (t), Offspring (t));
t = t + 1;
}
}
Procedure EA() {
t = 0;
Initialize Population(t);
Evaluate Population(t);
while (Not Done) {
Parents (t) = SelectParents (Population(t));
Offspring (t) = Recombine (Parents(t));
Offspring (t) = Mutate (Offspring(t));
Evaluate (Offspring(t));
Population(t+1) = SelectSurvivors(Population(t), Offspring(t));
t = t + 1;
}
}
Genetic Algorithm
Interactive Genetic Algorithm
Procedure IEA() {
t = 0;
Initialize Population(t);
-> PresentPopulationToUser(t);
while (Not Done) {
-> Parents (t) = UserSelectParents(Population (t));
Offspring (t) = Recombine(Parents (t));
Offspring (t) = Mutate(Offspring (t));
-> PresentPopulationToUser(Offspring (t));
-> Population (t+1) = UserSelectSurvivors(Population (t), Offspring (t));
t = t + 1;
}
}
Procedure EA() {
t = 0;
Initialize Population(t);
Evaluate Population(t);
while (Not Done) {
Parents (t) = SelectParents (Population(t));
Offspring (t) = Recombine (Parents(t));
Offspring (t) = Mutate (Offspring(t));
Evaluate (Offspring(t));
Population(t+1) = SelectSurvivors(Population(t), Offspring(t));
t = t + 1;
}
}
Genetic Algorithm
Interactive Genetic Algorithm
Takagi: Interactive Evolutionary Computation: System Optimization Based on Human Subjective Evaluation
Points to consider:
IEC vs Design
Presentation Overview
The big two problems:
Presentation Overview
Discrete Fitness Value Input
Visualized IEC
Visualized IEC
Hayashida, N., Takagi, H.: Visualized IEC: Interactive Evolutionary Computation with Multidimensional Data Visualization
Visualized IEC
Hayashida, N., Takagi, H.: Visualized IEC: Interactive Evolutionary Computation with Multidimensional Data Visualization
Visualized IEC
VIEC Evaluation:
Hayashida, N., Takagi, H.: Visualized IEC: Interactive Evolutionary Computation with Multidimensional Data Visualization
Visualized IEC : Speech Synthesis
Hayashida, N., Takagi, H.: Visualized IEC: Interactive Evolutionary Computation with Multidimensional Data Visualization
On-line knowledge embedding
On-line knowledge embedding
OLKE Evaluation:
Takagi, H. Kishi, K.: On-line Knowledge Embedding for an Interactive EC-based Montage System
Chromosome Appearance Probability Matrix
Chromosome Appearance Probability Matrix
procedure CAPM {
t <- 0
Initialize (Pa)
InitProbMatrix(Mp)
Evaluate(Pa)
while (Not Done) {
Parents <- SelectParents(Pt)
UpdateProbMatrix(Mt, a)
Offspring <- Crossover(Parents)
OrientedMutation(Offspring)
Evaluate(Offspring)
t <- t + 1
}
}
CAPM Algorithm
Need to add 2 things:
Chromosome Appearance Probability Matrix
G1 G2 |
1 | 2 | 3 | 4 |
---|---|---|---|---|
0 | 0.045 | 0.025 | 0.025 | 0.02 |
1 | 0.015 | 0.025 | 0.025 | 0.015 |
2 | 0.025 | 0.01 | 0.025 | 0.025 |
3 | 0.025 | 0.025 | 0.04 | |
4 | 0.025 | 0.025 | 0.025 | 0.025 |
5 | 0.025 | 0.025 | 0.025 | 0.025 |
6 | 0.015 | 0.025 | 0.02 | 0.025 |
7 | 0.025 | 0.025 | 0.02 | 0.025 |
8 | 0.025 | 0.025 | 0.035 | 0.025 |
9 | 0.025 | 0.025 | 0.025 | 0.025 |
Probability Matrix
Update Procedure
Chromosome Appearance Probability Matrix
When individual I selected for mutation:
Mutation Procedure
Chromosome Appearance Probability Matrix
Presentation Overview
One major attempt to create theoretical model of IEC
Günter Rudolph:
Classic EAs can be modeled by Markov Chains
Too restricted for IEA
Rudolph attempts to model IEA using stochastic automata
Stochastic Automata
Conditional probabilities can be gathered in collection of stochastic matrices:
Special cases of stochastic automata
Markov Chains:
Special cases of stochastic automata
Stochastic Mealy Automata:
Where,
To model IEC as Stochastic Mealy Automata, need:
S = Set of all possible populations of size N
Y = Function of current state - can be ignored
X = User selection
A(x) = Collection of transition matrices
A(x) = Transition matrices
S = {0, 1}, N = 2
U(2,0) | 00 | 01 | 10 | 11 |
---|---|---|---|---|
00 | 1 | 0 | 0 | 0 |
01 | 1 | 0 | 0 | 0 |
10 | 0 | 0 | 0 | 1 |
11 | 0 | 0 | 0 | 1 |
U(1,1) | 00 | 01 | 10 | 11 |
---|---|---|---|---|
00 | 1 | 0 | 0 | 0 |
01 | 0 | 1 | 0 | 0 |
10 | 0 | 0 | 1 | 0 |
11 | 0 | 0 | 0 | 1 |
U(0,2) | 00 | 01 | 10 | 11 |
---|---|---|---|---|
00 | 0 | 0 | 0 | 1 |
01 | 0 | 0 | 0 | 1 |
10 | 1 | 0 | 0 | 0 |
11 | 1 | 0 | 0 | 0 |
M | 00 | 01 | 10 | 11 |
---|---|---|---|---|
00 | (1-m)^2 | m(1-m) | m(1-m) | m^2 |
01 | 1/4 | 1/4 | 1/4 | 1/4 |
10 | 1/4 | 1/4 | 1/4 | 1/4 |
11 | m^2 | m(1-m) | m(1-m) | (1-m)^2 |
U(2,0) | 00 | 01 | 10 | 11 |
---|---|---|---|---|
00 | 1 | 0 | 0 | 0 |
01 | 1 | 0 | 0 | 0 |
10 | 0 | 0 | 0 | 1 |
11 | 0 | 0 | 0 | 1 |
A(2,0) | 00 | 01 | 10 | 11 |
---|---|---|---|---|
00 | (1-m)^2 | m(1-m) | m(1-m) | m^2 |
01 | (1-m)^2 | m(1-m) | m(1-m) | m^2 |
10 | m^2 | m(1-m) | m(1-m) | (1-m)^2 |
11 | m^2 | m(1-m) | m(1-m) | (1-m)^2 |
(And similarly for the other two matrices)
Is it useful?
Is it useful?
It is inconceivable yet to which extent a potential theory of IEAs can profit from stochastic automata theory
Apparently, this work does not exhibit immediate utility with regard to practical applications
Needs more research... this is just the first step
Presentation Overview
Well defined problem, but fitness is still hard to define without further information
Generation 0
Malinchik, S., Bonabeau, E. Exploratory Data Anlysis with Interactive Evolution
Generation 15
Malinchik, S., Bonabeau, E. Exploratory Data Anlysis with Interactive Evolution
Presentation Overview
References