Evolutionary Design (2)Evolutionary Design (2)
Boris BurdiliakBoris Burdiliak
TopicsTopics
RepresentationRepresentation Multiple objectivesMultiple objectives
Representation – Representation – IntroductionIntroduction
EA are based on natural evolutionEA are based on natural evolution evolution provides a quick and easy evolution provides a quick and easy
way to solve difficult problems way to solve difficult problems (scheduling, machine learning, (scheduling, machine learning, ordering problems, data mining, ordering problems, data mining, control, design optimisation)control, design optimisation)
Representation – ProblemsRepresentation – Problems
traditional implementations traditional implementations of of evolutionary search evolutionary search suffer suffer from the from the same drawbacks as allsame drawbacks as all conventional conventional search algorithmssearch algorithms
they rely on a good parameterization they rely on a good parameterization to find a good solutionto find a good solution
evolution is limited by the evolution is limited by the representation it can modifyrepresentation it can modify
Explorative evolutionExplorative evolution
evolution can search for good search evolution can search for good search spaces, even as it searches within a spaces, even as it searches within a spacespace
dimensionality of a space, the dimensionality of a space, the parameterization, the representation parameterization, the representation of solutionsof solutions
solutions = inventions, not solutions = inventions, not improvementsimprovements
Exploring the ExplorerExploring the Explorer
what is evolution doing when it what is evolution doing when it explores/optimises?explores/optimises?
fixed-length parameterizationfixed-length parameterization evolution = optimisationevolution = optimisation
parameters define a set of parameters define a set of componentscomponents explores new ways of constructing a explores new ways of constructing a
solutionsolution
A Framework for Expl. A Framework for Expl. EvolutionEvolution
EA EA GA/GP (genotype/phenotype distinction) GA/GP (genotype/phenotype distinction)
EA/ES (no distinction)EA/ES (no distinction) prob.: multiple objectives, premature prob.: multiple objectives, premature
convergence, changing fitness functionsconvergence, changing fitness functions Genotype RepresentationGenotype Representation
defines the search space(defines defines the search space(defines components)components)
prob.: dissimilar problems are close to e.o., prob.: dissimilar problems are close to e.o., disruption of inheritancedisruption of inheritance
A Framework for Expl. A Framework for Expl. Evolution 2Evolution 2
EmbryogenyEmbryogeny mapping process from genotype to phenotypemapping process from genotype to phenotype provide the mechanism for constructing whole solutions provide the mechanism for constructing whole solutions
from componentsfrom components external: programmer writes the software that performs external: programmer writes the software that performs
the mappingthe mapping explicit: every step of growth process explicitly held as a explicit: every step of growth process explicitly held as a
part of genotype, and evolvedpart of genotype, and evolved implicit: set of rules (encoded as bin. strings in implicit: set of rules (encoded as bin. strings in
genotype)genotype) Phenotype RepresentationsPhenotype Representations
allow direct evaluation of fitness functionallow direct evaluation of fitness function Fitness functionsFitness functions
provide evaluation score for every solutionprovide evaluation score for every solution
Multi objectivesMulti objectives
optimise function F(x) under optimise function F(x) under additional constraints, i.e.additional constraints, i.e. max {x} F(x)max {x} F(x) g_1(x,p) <= 0, … g_l(x,p) <= 0g_1(x,p) <= 0, … g_l(x,p) <= 0 p(p_1,…,p_u) – real-valued parametersp(p_1,…,p_u) – real-valued parameters
relative importance, interactions of relative importance, interactions of objectives (also contradictory)objectives (also contradictory)
Pareto optimisationPareto optimisation
Def: We will say that a point xDef: We will say that a point xD Pareto-D Pareto-dominates a point ydominates a point yD with respect to function D with respect to function F, denoted yF, denoted yx, if x, if {i=1..k} (f_i(y) {i=1..k} (f_i(y) f_i(x)) and f_i(x)) and at least one of inequalities is strictat least one of inequalities is strict
We say that point x_pWe say that point x_pD is Pareto-optimal or D is Pareto-optimal or non-dominated (for a given function F) if there non-dominated (for a given function F) if there is no point yis no point yD that Pareto-dominates x.D that Pareto-dominates x.
Set FSet FD is called Pareto front with respect to D is called Pareto front with respect to function F if every element x F is Pareto function F if every element x F is Pareto optimal with respect to function Foptimal with respect to function F
Selection phaseSelection phase
not all elements from the Pareto front are not all elements from the Pareto front are of a good fitness valueof a good fitness value
Pareto tournamentPareto tournament standard tournament selection (best individual standard tournament selection (best individual
according to Pareto ordering)according to Pareto ordering) Pareto sortPareto sort
sort according to Pareto orderingsort according to Pareto ordering if both ind. are dominant, sort acc. to fitness if both ind. are dominant, sort acc. to fitness
valuevalue Pareto truncationPareto truncation
choose parent only among the non-dominatedchoose parent only among the non-dominated
#of non-dominated #of non-dominated elementselements
population size = 100population size = 100 standard tournament (size 2)standard tournament (size 2) averaged over 50 runsaveraged over 50 runs optimising 3 parametersoptimising 3 parameters non-dominated elementsnon-dominated elements
after 50 runs: cca 42%after 50 runs: cca 42% after 150 runs: >50%after 150 runs: >50% after 350 runs: almost 70%after 350 runs: almost 70% after 500 runs: cca 85%after 500 runs: cca 85%
Pareto front is too largePareto front is too large
Pareto rankingPareto ranking
Def: Pareto rank r in a set X={x_1,Def: Pareto rank r in a set X={x_1,…,x_n} is assigned in a following way…,x_n} is assigned in a following way (x(xX) X) r(x) 1r(x) 1 ((xx{x_1,…x_n}) ({x_1,…x_n}) (yy{x_1,…,x_n} \ {x_1,…,x_n} \
{x}){x}) if (r(x)=r(y) if (r(x)=r(y) x > y) r(x) x > y) r(x) r(x)+1r(x)+1 if (r(x)=r(y) if (r(x)=r(y) x < y) r(y) x < y) r(y) r(y)+1r(y)+1
ConclusionsConclusions
requirement is for methods that can work requirement is for methods that can work with a qualitative in addition to a with a qualitative in addition to a quantitative characterization of quantitative characterization of importanceimportance
preference methodspreference methods fuzzy set methodsfuzzy set methods agent based systems which model agent based systems which model
human-based solution evaluation processhuman-based solution evaluation process
Fuzzy preferencesFuzzy preferences
transforming qualitative relationships transforming qualitative relationships between objectives in multi-objectives between objectives in multi-objectives optimization into quantitative attributesoptimization into quantitative attributes
characterisations for every 2 objectives:characterisations for every 2 objectives: much less important <<much less important << less important <less important < equally important == equally important == don’t care #don’t care # more important >more important > much more important >>much more important >>
Don’t care relationDon’t care relation
don’t care is treated exactly as don’t care is treated exactly as equally importantequally important
hesitationshesitations weak preferenceweak preference
can not decide: a > b and a ==b, being sure can not decide: a > b and a ==b, being sure that not (b > a)that not (b > a)
incomparabilityincomparability can not decide: a > b and b > acan not decide: a > b and b > a
Method usedMethod used
k objectives – k(k-1)/2 questions -> k objectives – k(k-1)/2 questions -> construct the fuzzy preference relation Rconstruct the fuzzy preference relation R
compute complete oredering on A using compute complete oredering on A using the relation graph G=(A,R)the relation graph G=(A,R)
define relations:define relations: == equally important== equally important < is less important< is less important << is much less important<< is much less important ~ not important~ not important ! important! important
AlgorithmAlgorithm
set of objectives Oset of objectives O construct the equivalence classes C_i construct the equivalence classes C_i
(relation ==), choose one element (relation ==), choose one element x_i from each class X={x_1,…,x_m}x_i from each class X={x_1,…,x_m}
……
for each xi compute weight w(xi)for each xi compute weight w(xi)
Weighted Pareto methodWeighted Pareto method
Definition of non-dominated vectorDefinition of non-dominated vector Definition of w-non-dominanaceDefinition of w-non-dominanace Definition of (w, tau)-non-dominanceDefinition of (w, tau)-non-dominance
THE ENDTHE END