előadás vázlat 11-12. hét - budapest university of
TRANSCRIPT
Fuzzy rendszerek & genetikus algoritmusok
Előadás vázlat
11-12. hét
Összeállította: Harmati István Ph.D., egyetemi adjunktus
Felhasznált irodalom: Dr. Lantos Béla: Fuzzy systems and genetic algorithms, 2001, Műegyetemi kiadó, Budapest
Csekő Lehel Huba: GA- alapú multikritériumú optimalizálás és optimális fuzzy függvényapproximáció irányítástechnikai alkalmazásokkal, 2001, Budapest, Diplomaterv
8. MULTIKRITÉRIUMÚ GENETIKUS ALGORITMUSOK Probléma: A költségfüggvény sokszor nem skalárértékű (hanem vektorértékű) → Nem hasonlítható össze az összes költségfüggvény pár (csak részben rendezhető tér) → → Meg kell ismernünk mindenekelött a részbenrendezést → Definíció. [Részben rendezési reláció]. Legyen E egy lineáris normált tér (mint pl az Euklideszi tér, Banach tér, stb). Akkor a ≥ részbenrendezési reláció egy olyan EE ×⊂≥ reláció, amely
tranzitívéstrikusantiszimmeés
reflexív
zxzyyxyxxyyx
xx
≥⇒≥≥=⇒≥≥
≥
Definíció [Kúpok].
halmazt nulla csúcspontú kúpnak nevezzük, ha bármely Kx∈ és 0>λ valós számra Kx∈λ . EK ⊂• A • Ha K nulla csúcspontú kúp → Kx +0 egy csúcspontú kúp. 0x
K nulla csúcspontú kúp ⇔ [ Kyx ∈, és 0, >βα → Kyx ∈+ βα ] • K• Ha nulla csúcspontú kúp nulla csúcspontú kúpok a következök is:
o→
Ko (belső pontok halmaza) Ko K ( lezártja)
>o < K ( K konvex burka) Fontos! 0>−⇔≥ yxyx , ezért a részben rendezéshez elegendő vizsgálata, amihez rendszerint pozitív kúpot választunk. (Azaz, ha két
0>xyx, elem, és yx − a pozitív (nulla csúcspontú) kúp egy eleme, akkor fenn áll yx,
között a yx ≥ reláció )
Definíció [Pozitív kúp]. EP ⊂ pozitív kúp, ha Pi) nulla csúcspontú konvex kúp
ii) zárt halmaz Piii) (van belső pontja)
Px −∈ 0=x∅≠oP
iv) és Px∈ → Példa. Részben rendezés nR -ben: }0:),,{( 1 ≥∀∈= i
nTn xRxxP K
Legyenek EQ ⊂ és EP ⊂ részbenrendezést definiáló pozitív kúpok. Akkor
Qx1. , ha nem létezik Qx max0 = ∈ , amelyre és fennállna 0xx ≥ 0xx ≠(Több maximum is létezhet, de nem egyértelmű, ugyanis nem minden Qx∈ hasonlítható össze. Figyelem! A maximum értékéről beszélünk, és nem s “helyéről”)
2. , ha nem létezik Qx min0 = Qx∈ , amelyre és fennállna.
xx ≥ Qxx ≥0 0xx ≠
3. , ha minden Qx sup0 = 0 x∈ esetén. (Nem mindig létezik, de ha létezik akkor egyértelmű! Egy egyértelmű szintet definiál.)
4. , ha minden Qx inf0 = 0xx ≥ Qx∈ esetén.
8.1.Multikritériumú optimalizálás formális leírása Probléma: A költségfüggvény ))(,),(()( 1 xfxfxf nK= vektorértékű, ezért az egyes komponensek szerint szimultán kellene optimalizálni. Feltevés: Minimumot keresünk. (Nem a maximum az optimum) Definíció [Pareto dominancia] Egy ),,( 1 nuuu K= vector dominálja a ),,( 1 nvvv K= vektort, ha részben kisebb, mint v . Jelölésben: vu
u
P< azaz, { } ii vuni ≤∈∀ ,,,1K és { } ii vuni <∈∃ :,,1K . Jelölés: a bemeneti változók megengedett halmaza. U Definíció [Pareto optimum]: Az Uxu ∈ megoldás Pareto optimális, ha nem létezik más Uxv ∈ , amelyre
),,()( dominálja ),,()1 nv vvxfv K== ( 1 nu uuxfu K== megoldást. Következmény. Pareto optimális ux )(min)( v
xu xfxf
v=⇔
Megjegyzések:
• A Pareto optimális megoldások száma végtelen is lehet (nem biztos, hogy össszehasonlíthatók). )(
ux• A nemdominált költségvektorok halmazát nem-dominált halmaznak, trade-off felületnek vagy
Pareto frontnak is nevezik. uxf
Megjegyzés: Kétdimenziós vektorértékű költségfüggványnél a Pareto front illusztratív:
f1
f2
f1
f2Pareto-frontPareto-optimal solution
(last generation)Individuals
Tétel. [A Pareto optimum szükséges feltétele]: Ha egy lokális Pareto optimális megoldás, akkor léteznek ux
0≥iλ súlyok, amelyekre teljesül, hogy 0)(1
=′∑=
n
iuii xfλ , azaz a skalárértékű ∑
=
n
iii xf
1)(λ (ebben már nincs
derivált) teljesíti a lokális optimum feltételét helyen. ux ux Megjegyzés. Bármely Pareto optimális megoldáshoz hozzárendelhető egy skalárértékű költségfüggvény, amely az eredeti, vektorértékű költségfüggvény komponenseinek lineáris kombinációjával állítható elő. Probléma: Nem tudjuk előre, hogy ehhez milyen súlyválasztás szükséges. A következőkben a Pareto optimális megoldásokat használjuk fel a multikritériumú genetikus algoritmusokban (MultiObjektive Genetic Algorithms - MOGA)
8.2. Döntéshozó (Decision Maker) MOGA koncepció:
1. Genetikus algoritmus lépései (Optimalizálási folyamat): • Generációk fejlődése evolúció alapján • Minden generációban megjelennek nem-dominált (preferált) megoldások (egyedek).
2. Döntéshozó (Döntési folyamat) • Végtelen sok pareto optimális megoldás lehet Nagy számításigény → →→ A Döntéshozó Pareto optimális megoldások közül alkalmas kompromisszumok kiválasztását végzi.
(Szubjektív preferenciákat használ).
A koncepcióban a Döntéshozó felügyeli a GA-t.
Az optimalizációs és döntéshozói folyamat kombinációjától függően különböző stratégiák valósíthatók meg:
8.2.1. Döntéshozó stratégiák
8.2.1.1. A preferenciák a priori illesztése
Elv: A költségkomponensekből egy skalár értékű függvényt alkotunk, és a hagyományos SGA-t
alkalmazzuk rá. Előny: A Döntéshozóval a továbbiakban nem kell foglalkozni Hátrány:
1. Ha a megoldás nem ad jó kompromisszumot, akkor a költségfüggvényt módosítani kell és újra kell futtatni az optimalizálást, amíg alkalmas megoldást nem találunk.
2. Új futtatásra van szükség akkor is, ha a Döntéshozó preferenciája megváltozik.
8.2.1.2.. A preferenciák posteriori illesztése Elv:
1. Az Optimalizáló (GA) a nem-dominált megoldások halmazát adja át a döntéshozónak minden generációban, mindenféle előre definiált preferencia nélkül.
2. A Döntéshozó a megoldások közül választ egy alkalmas kompromisszumot képviselő egyedet. Előny: A teljes Trade-off felület (pareto front) a vizsgálat tárgyát képező (↔előző eset) Hátrány: A számítási idő nő Megjegyzés: Jól használható statikus költségek esetén, de gyakori preferenciaváltások esetén nem jó. (Preferenciaváltások nem követelnek extra számításokat))
8.2.1.3. A preferenciák progresszív illesztése Elv:
• Az Optimalizálás és Döntéshozás lépései egymásba vanak ágyazva. • A Döntéshozó minden lépésben (generáció) egy részleges preferencia információt ad az
Optimalizálónak, és az Optimalizáló ez alapján szolgáltatja a legjobb egyedeket. Megjegyzés:
1. Kompromisszum az előző két megoldás között (de az Optimalizáló és Döntéshozó közötti interakció nő). 2. Emberi Döntéshozó esetén az állandó interaktivitás fárasztó.
8.2.2. A preferenciák felállítása Előzmény: A preferenciaillesztési stratégiák a korábbiakban felhasználják, hogy egyes jelölteket preferálnak. Cél: Annak vizsgálata, hogy mi alapján preferálunk egy egy jelöltet. Mindenképpen egy-egy költségfüggvényt rendelünk minden Pareto optimális jelölthöz. Az optimális jelölt közül diszkriminálunk egyet. Probléma: Nehéz formalizálni, hogy a sok Pareto optimális jelölt közül melyiket és hogyan részesítsük elönyben. Elterjedt módszerek:
8.2.2.1. Súlyozott együtthatók módszere Elv: Az egyes költségkomponenseket súlyozzuk és összeadjuk:
0,)()(1
>= ∑=
in
iiiws wxfwxF
1. (globális) optimuma Az eredeti problémának egy nem-dominált
megoldása )(xFws ⇒
2. Egy nem dominált megoldás (nem következik) (globális) optimuma ¬⇒ )(xFws 1.,2. A Pareto front konkáv tartományainak szuboptimális megoldásai (origótól távolabbi szaggatott egyenesein lévő megoldások) nem határozhatók meg:
⇒
ff
f1
2
f1
2Decreasingcost
8.2.2.2. Prioritások módszere Elv: A (vektor) költségfüggvény komponenseire fontossági sorrendet állítunk fel és a komponenseket ezen sorrend szerint optimalizáljuk. Legyen a prioritási sorrend (a legfontosabb felé haladva): (n komponens) A lexografikus költségfüggvény:
nff ,,1 K
)()( yFxF lexlex < ⇔ { } { } )()()()(,,,:,,1 yfxfyfxfnijni iijj <∧≤∈∀∈∃ KK Megvalósítás:
. A legfontosabb prioritású malizálása. Legyen a megoldás: minimalizálása a
nf mini nx 12. A következő, 1−nf függvény )()( nnn xfxf ≤ korlátozás mellett. Legyen a megoldás:
lizálása a 1−nx
3. A f komponens minima2−n nnkxfxf kkk ,1),()( −=≤ korlátozás mellett, stb. n. A végső megoldást 1x adja (ami egyúttal Pareto optimális megoldás is). Megjegyzés:
1. Szekvenciális döntést igénylő feladatokhoz jó. egyes komponensek között nem lehet mindig egyértelmű prioritási sorrendet 2. Probléma, hogy az
felállítani.
8.2.2.3. Előírt célok módszere
Elv: Mind nk egy kívánt performanciaszintet, ezt probáljuk a lehető Minimax megközelítés:
A minimalizálandó költségfüggvény:
en költségfüggvény komponenshez hozzárendelü
ség szerint minnél jobban megközelíteni.
{ }0,
)()( max
,,1>
⎭⎬⎫
⎩⎨⎧ −
=∈
ii
ii
nimM w
wgxf
xFK
Ahol: az elérendő (kívánt) költségszint az menzióban. A kívánt keresési irányt határozza meg a “költségtérben”.
(Minnél nagyobb, annál könnyebben fordulhat elő a minimum ebben az irányban, vagyis az ilyen irányba eső költségfüggvényvektort preferálja)
Megjegyzések:
• A Pareto-front konkáv tartományaiból is képés megoldást adni.
ig i -dik di
iw
• Nem garantált, hogy mindig szigorúan nem diminált megoldást ad:
• hatósága elromlik az optimum helyén. (Az optimális megoldás a szagatott vonalak találkozásánál van, amelyek nemfolytonosan találkoznak, hisz itt különböző szintek vannak
önböző dimenziókban.) elen alkalmazása nehézkes megtalálásához
Célmeghatározás módszere: A differenciálhatóság problémáját küszöböli ki:
mMF differenciál
kül→ Gradiens módszerek közvet m
→ Alternatív módszer alkalmazása MF minimumának →
λλ x,min a iii gwxf ≤− λ)( korlátozás mellett.
A módszer λiw hibánál felül vagy alulbecsüli ig -t (λ negatív is lehet!)
f
f2
1f
f2
Decreasingcost
Ez a törésponttól távolabbi megoldás
Egy a Pareto front mögötti megoldás jobb egoldást adhat, mint a Pareto fronton található, de az optimumkombinációt jelölő törésponttól
s
mMF m
távoli megoldá
1
.3. Korlátozások és multikritériumú optimalizáció8
Minimalizálandó multikritériumű 1 nfK
Ebből a korlátozások: ngK
függvény: ( f ),,
),,())(,),(( 11 knk gxfxf K ++ ≤ (komponensenként értendő)
ékek A kritériumok lehetnek:
• Magasprioritású (hard) kritérium
ig korlátozások konsans ért
≡ korlátozások (nagy köl• Soft kritériumok A hagyományos értele
Alapprobléma multikritériumú optimalizálásnál: Két költségvektor nem hasonlítható össze általában. Javaslat:
• Csak zonyo• Ezt még
akkor ki
tséget rendelünk hozzájuk) mben vett kritériumok
bi s költségvektorkomponens(eke)t veszünk figyelembe. segítheti az is, hogy a korlátozásoknak is van szűrő hatása (ha megoldásra nem teljesül a korlátozás, esik).
8.4. Multikritériumú döntéshozás költségkomponensek összegzése nélkül
• lez fel semmit a Pareto frontról (alakjáról, eloszlásáról stb.) • A Döntéshozó és a GA együtt szűkíti le a keresési teret a megfelelő keresési irány felé.
• Az a priori információ alapján a Döntéshozó befolyásolja a populáció fejlődését A GA nem téte
Deci Genetica prioriresults
sion ( orithm (GA)
cost
objective values knowledge)
Maker DM) Algknowledge
(ackwired
8.5. Multikritériumú döntéshozás prioritások módszere és preferenciák módszere esetén
multikritériumú döntéshozás alapja: Összehasonlítás operátor (preferálhatósági reláció)
Eldönti, tve.
8.5.1. Jelölések:
A
hogy két vektorköltség közül melyik a jobb a prioritásokat és az előírt célokat tekin
Az összehasonlító operátor
(Döntési) változók: ),,( 1 Nxxx K=
A költségfüggvény (vektorértékű): ))(,),(()( 1 xfxfxf nK=
Két összehasonlítandó költségvektor: )( uxfu = és )( vxfv
=
n dimenziós preferenciavektor (azaz korlátozás vagy cél):
g
vu, és g vektorok komponenseit a lamelyikéhez soroljuk (értékp darab prioritási szint va ↑ → szint↑ )Az
)],,(,),,,[(],,[1 p
vvvvvvv KKKK ==
)],,(,),,,[(],,[ ,1,,11,11 nppnp uuuuuuu KKKK ==
)],,,(,),,,[(],,[ ,1,,11,11
,1,,11,11
1
1
p
p
nppnp
nppnp
ggggggg KKKK ==
sorolt költségkomponensek száma. Ebből: in , { }nni ,,1K∈ az i -dik prioritásszinthez nnp
ii =∑
=1
Prekoncepció: A legmagasabb (azaz vektor összehasonlítását. Ha itt nem eredményes, akkor eggyel alacsonyabb szintre megyünk.
p ) szinten kezdjük két költség
Jelölések a tételhez:
yog” a korlátozásokat nem sérti
u objektív vektor azon elemeinek az indexhalmaza
∩→ „szomorú” → az aktuális prioritáson a korlátozásokat (célokat) sérti
∪→ „mosol az aktuális prioritáson →
→ az , amelyek a p prioritási szinten sértik a korlátozásokat
(hasonlóan v-re)
u objektív vektor azon elemeinek az indexhalmaza
∩u
, amelyek a p prioritási szinten nem sértik a → az
∪u
korlátozásokast (hasonlóan v-re)
→∩upu az u objektív vektor azon elemeinek az értéke, amelyek a p prioritási szinten sértik a korlátozásokat
→∩upv a v objektív vektor azon elemeinek az értéke, ahol u objektív vektor elemei sértik a korlátozásokat a p
p
u
rioritási szinten
→∪upu az objektív vektor azon elemeinek az értéke, amelyek a p prioritási szinten nem sértik a korlátozásokat
→∪upv a v objektív vektor azon elemeinek az értéke, ahol u objektív vektor elemei nem sértik a korlátozásokat a p
prioritási szinten
KKK
p ugrás vissza eggyel kisebb prioritási szintre (p-1)
→−−−
1,,11,,11,,1
pg
p vup
Legyen ∅ az üres halmaz.
Definíció [PreferálhaA ],,[ uuu K= költ
tósági reláció]. ségvektor jobb (preferálhatóbb) a 1 p ],,[ 1 pvvv K= költségvektornál a ],,[ 1 pggg K=
korlá
pPppppppPppés
−>
uuuuuup
pK
• A legmagasabb ( oritástól kezdve a döntési lehetőség eléréséig rekurzívan, visszafelé haladva kell
következő, alacsonyabb szintre ugrunk • • s halmaz) is lehetséges és pl.
tozás (preferencia vektor mellett
⇔ (akkor és csak akkor)
)]}())([()({)(1 ∪∪∪∪∩∩∩∩ <∨≤¬∧=∨<⇒uuuuuuuu
vugvvuvu =
)]}())([()({)(1 1,11,,1 −−∪∪∩∩∩∩ ∨≤¬∧=∨<⇒ p
gppppppPp vugvvuvu KK p
1,,1
p ) prikiértékelni azokat a komponenseket, ahol a korlátozás nem áll fenn.
o Ha mindkét vektor teljesíti vagy azonosan sérti a korlátozásokat az adott prioritási szinten, akkor a
A legrosszabb esetben p=1 esetén fog eldőlni a reláció valamelyik irányba. Mivel ∅=
∩u (üre vu P< fennállta igényli, hogy i∃ , ii vu < , ami üres halmaz
esetén nem állhat fenn
1
1,11,,1
1,11,,1
1,,1−−
∩∪∩
−−∩∩
∩∪
∩∩
−
∩∩∩∩ ∨∅≠∧∧=∨<⇒∅≠⇒
∨∅>
→ implementálás:
)( <∨∅≠⇒∅=⇒ vuvu
)]()[()( ∪∪∩∩∩∩ <∨∅≠∧∧=∨<⇒∅≠⇒
))].(()[()(
)(1∩
≠⇒∅=⇒1,,1 −
=
pg
ppppPup
pg
p
pPp
vuvuvuvuu
vup
p
pKK
KK
K
p
p
(ugrás azonos
upP
up
up
up
upP
up vuvuvuvuu
vu
uuupK
vagy különböző prioritásra)
8.5.2. Partikuláris döntési stratégiák
• Pareto: Minden költségnek egyenlő a prioritása és ni ozások ,,[(][ )]−∞ncsenek korlát 1 −∞== K . megoldások megkeresése.
• exikografikus: Minden költségnek (objektívnek) különböző a prioritása és nincsenek korlátozások
• Optimalizálás korlátozás mellett: Azok a költségek magasabb prioritásúak, amelyekre korlátozásokat írtak
elő. Először az átozást kell kielégíteni a megfelelő költségkomponenseknek.
en módszer szerint : n (azaz 1,1,11 nng KK
ggCél „csak” a Pareto-optimális
L)](,),[(],,[ 1 −∞−∞== KK nggg
cn darab korl)],,(),,,[(],[ ,21,221 cnggggg KK −∞−∞== .
• Korlátozások kielégítése: Hasonló az előzőhöz, de egy prioritási szint van és mindegyik objektívhez tartozik
korlátozás (Nincs alacsony prioritású „csak” optimalizálandó objektív.). )],,[(][ ,21,22 nggg K== . g
• Célprogramozás: A korlátozásokat valamily csoportosítjuk. Pl
1. Korlátozások kielégítése fontossági sorrendbe szekvenciálisan): )](,),[([ gggg ],, == 2. A korlátozások szimultán kielégítésére tett kisérlet: )],,[(][ ,11,11 ngggg K==
8.5.3.A preferálhatósági reláció implementálási koncepciója Matlabban kihasználható, hogy a preferenciálhatósági relációt vektoros formában implementáljuk, amely a a ciklus orientáltságú megvalósítással összehasonlítva jelentősen csökkenti a számítási időt. (1600 egyedből álló populációnál ez 2 óráról 20 sec-re való csökkenést eredményez)
8.6.
I lusztráció: Két változó ésl két kritérium, egyforma és eltérő prioritások
A Költs (azaz kétváltozós kritérium) Az egyes egyedekhez (összesen a számuk: 8) tartozó költségeket a költségmátrix sorai adják:
⎥⎥⎥⎤
⎢⎢
⎢⎢
25
5291
Az egyedek jelölése: A,B,C,D,E,F,G,H
Mindegyik költségkomponenshez tartozik egy korlátozás (azaz cél):
Cél
preferencia reláció müködését egy példán illusztráljuk.
égek (objektívek) száma: 2
⎥⎦
⎤⎢⎣
⎡=
6721 gg
⎢⎡ 21 ff
Költségek ⎥⎥⎥
⎢⎢⎢
= 8443
⎥⎦⎢⎣ 19⎥⎢ 78⎥⎥
⎢⎢ 36
⎥⎥
Két különböző prioritási struktúrának megfelelően oldjuk meg a feladatot (keressük az optimumot):
.6.1. Az 1f -nek és az 2f -nek azonos a prioritása ( 1=p ) 8 Az előzőekből: 21 = )]6,7[()],,[(,)],[()],,[( 2121 === gvvvuuufff
énő ös e: A két egyed preferencálhatósági reláció alapján tört szehasonlításának menet
• Legyen: Gu = , Bv = , )]7,8[(=u , és )]5,2[(=v
G esetén: 2,1[( )o A megsértett indexhalmaz ]=∩u ( ∅≠
∩u ).
o Mivel megsértettben u nem jobb, mint v :∩∩ <u
pP
u
p vu ∩∩ <u
pP
u
p vu
és nem is egyenlő vele:
o Ezért G nem preferálhatóbb B -nél!
• Legyen Bu = és Av = , azaz. )]5,2[(=u és )]9,1[(=v
A deo megsértett in xhalmaz B esetén: ∅=∩u , am llait nu index jelöl: )]0[(=
∩u
A esetén: )]2[(=∩v ( ∅≠
∩v ) o A megsértett indexhalmaz
B preferálhatóbb, mint A ( AB p ) o
• Az összes eset:
o Az oszlopban lévő elemeket probáljuk preferáltatni a sorokban lévő elemekkel o Az utolsó oszlop mutatja, hogy az adott egyednél hány preferálhatóbb egyed van. o Több legjobb egyed is van (több nulla az utolsó oszlopban)! o Mindig csak a em megsértett indexhalmazán hasonlítjuk
u el össze az elemeket. Az ezen kívüli index el minket, mert ott meg nem sértett
indexhalmazon ő rosszabb eredményt ad a másik elemnél, mert a célt így is betartja) o Pl.
nem érdek u teljesíti a korlátozásokat! (Az nem baj, hogy ha a
A sorában az összes egyed megsértett indexhalmaza 0, egyedül D megsértett indexhalmaz egyezik meg A elemével. Tehát csak ezt a két elemet kell összehasonlítani a megsértett indexhalmazokon. Mivel 8<9, ezért AD p .
o A, H esetén a megsértett indexhalmaza H -nak [1], de ott H nem jobb A-nál, így H nem preferálható A-val szemben.
o C és E esetén üres a megsértett indexek halmaza, így nincs halmaz amin összehasonlíthatók. o G és A esetén (első sorban) a megsértett indexek halmaza [(1,2)], ő biztos nem jobb A-nál, mert
ekkor mindig van olyan komponens (jelen esetben [1]) ahol G nem teljesíti a korlátozást, de A igen, így G megsértett indexhalmazán A biztos hogy jobb.
Egyede A (1,9[(2)]
5) [(0)]
C (3,4[(0)]
D (4,8) [(2)]
E (5,2) [(0)]
F (6,3) [(0)]
G (8,7) [(1,2)]
H (9,1) [(1)]
k ) B (2, ) u∩
A (1,9) [(2)] X AB p AC p AD p AE p F Ap 5
B (2,5) [(0)] X 0
C (3,4) [(0)] X 0
D (4,8) [(2)] B D C D p p X E Dp F Dp 4
E (5,2) [(0)] X 0
F (6,3) [(0)] E Fp X 1
G (8,7) [(1,2)] B Gp C Gp E Gp F Gp X 4
H (9,1) [(1)] B Hp C Hp E Hp F Hp X 4
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10 f2 és 1
obje
ctiv
e
0
4
4
5
A
B
D
G
H
f azonos prioritású
g2
0
f 2
C 1
0 F
4 E
g1objective f1
8.6.2. Az Az előzőekből:
)],(),[( 212121
2f -nek nagyobb prioritása van, mint 1f -nek
[( )]6(),7[()],(),[(,)](), ==== gvvvuufff
A két egyed preferencálhatósági reláció alapján tört összehasonlításának menete:
• Legyen
u
énő
Bu = , Cv = , azaz )]5(),2[(=u , )]4(),3[(=v o A megsértett indexhalmaz Besetén: )]0(),0[(=
∩u ( ∅=
∩u ).
o A m gsértett indexhalmaz e esetén: )]0(),0[(=∩v ( ∅=
∩v ).
o A kettes prioritási szinten kezdődik a vizsgálat (p=2). Mivel a kettes prioritási szinten egyik sem sért, ezért ugrás vissza eggyel kisebb prioritási szintre, azaz p=1-re.
o Az első prioritási szinten sem sértik meg a korlátozást, ezért az gálat
(azaz ció legvégén) dönt, felírási (és nem komponensprioritási) sorrendben!:
A őtlenség miatt
pPp vu?< vizs
∪∪ <upP
up vu a definí
32 < egyenl CB p
• Hasonlóan az összes esetre:
Egyedek A (1,9) [(0)(2)]
B (2,5) [(0)(0)]
C (3,4) [(0)(0)]
D (4,8) [(0)(2)]
E (5,2) [(0)(0]
F (6,3) [(0)(0)]
G (8,7) [(1)(2)]
H (9,1) [(1)(0)]
u∩
A (1,9) [(0)(2)] X B Ap C Ap D Ap E Ap F Ap G Ap H Ap 7
B (2,5) X [(0)(0)] 0
C (3,4) B Cp[(0)(0)] X 1
D (4,8) [(0)(2)] B Dp C Dp X F Dp G Dp H Dp E Dp 6
C EE (5,2) (0 B E p p[(0) ]) X 2
B Fp C Fp E Fp X 3 F (6,3) [(0)(0)]
G (8,7) [(1)(2)] B Gp C Gp E Gp F Gp X H Gp 5
H (9,1)[(1)(0)
] B Hp C Hp E Hp F Hp X 4
o A módosított prioritásstruktúra miatt az utolsóo
sorban lévő számok (prioritási szintek) változtak. en eg tő egy skalár szám. Itt már nincsenek azonos költségű egyedek.
(a megoldás egyértelmű o
Mind yedhez hozzárendelhe
H és A esetén, 2=p proritáson kezdünk, és megnézzük először, ővített definíciónak megfelelően) teljesül-e. Ez teljesül∅=∩u (kib 2=p szinten, mindamellett
∅≠∩v , így AH p .
AD p esetében 2=p prioritáson dől el a reláció kérdése, méghozzá az ∩∩ <⇒∅≠∩
upP
up vuu miatt. o
f2 has greater priority than f1
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0
2
3
5
6
7
B
C
D
E
F
G
1
4
A
H
g1Objective f
Obj
ectiv
e f 2
1
g2
8.7. A költségfüggvény szemléltetése Legyen egy N egyedet tartalmazó populáció. Az optimalizálás során a t -ik populációban az
költségvektor (objektív vektor): jobb egyedek száma (sorszám):
normalizált s zám (költség):
ux egyedhez tartozó u
),()( txrankr ut
u = az egyednél
Nr t /)( ors A költségfüggvény ábrázolható (A ‘-1’-szeresét ábrázoljuk). Példa. Kétváltozós, kétkomponensű költségfüggvény:
1212
22
21211
−−+−−=
+−−−−=
xxxxf
xxxxf
Populáció éktartomány 0.2-es raszterezéssel. Preferálhatósági relációt megvalósító algoritmust végrehajtottuk az egyedeken, a költséget normalizáltuk. Az egyes stratégiák eredményei a következők:
))1()1(exp(1),(
))1()1(exp(1),(2
22
: ]4,4[− ért
8.7.1. Pareto stratégia (korlátozás nélkül) A kis költsé ű egyedek a költségkomponensek minimumai között egyenletesen oszlanak meg, egy hosszú síkg hidat
képezve:
8.7.3. Lexikografikus stratégia (korlátozás nélkül)
kis költségű egyedek a nagyobb prioritású objektív (azaz célok) felé tolódnak el: A
8.7.3. Azonos prioritású költségkomponensek
látokat.
Azonos prioritások, különböző korlátok ([0.95 0.9])
)]9.0,95.0[( korNehéz észrevenni azokat az egyedeket, amelyek teljesítik a
x1 x2 f1 f2
-0.2 0 0.9128 0.8060
-0.2 0.2 0.9439 0.7220
0 0 0.8647 0.8647
0 0.2 0.9128 0.8060
8.7.4. Különböző prioritású költségkomponensek (
kis költségű egyedek kiemelkednek és ezek a belül tartják az t (szigorúan
2f nagyobb)
)]7.0,7.0[( -es korláton 2f komponensAkisebb 2f , mint 0.7).
Külö zonos nböző prioritások, akorlátok ([0.7 0.7])
x1 x2 f1 f2
-0.4 0.2 0.9666 0.6321
- 0.2 0.4 0.9666 0.6321
8.7. Fitness megosztás és egyedek párba választása
Megoldás skalár GA esetén: Új módszerek (Fitness megoldás, párba választás)
dandó: nél jobban szét legyen szórva, és fedjék le teljesen
ési t t használni kell).
GA egyik legfontosabb célja: A lokális minimumba való beragadás elkerülése
mutáció Megoldás multikritériumú GA esetén:
→ MegolAz egyedek a Pareto fronton mi
ere(teljes keres
8.8.1. Szelekciós hiba, genetikus drift, fülke méret (niche size)
ss érték alapján történt skalárértékű kritérium esetén.
i, akkor az alábbi ulettkereket 8-szor kell megpörgetnünk (és választani egy véletlen egyedet) 8 egyed kiválasztásához. (5/48-ad a örcikk területe)
8.8.1.1. Szelekciós hiba Előzmény: A következő generáció létrehozásához a szűlők kiválasztása a fitne
Pl. Ha a fitness érték alapján egy egyedet 5/6-os valószínűséggel szeretnénk kiválasztanrk
Szelekciós hiba: Pl nyolc pörgetést figyelembe véve az 5/6=40/48-ad-os valószinűségű mező akár 6-szor is kiválasztásra kerülhet Rulett keréknél (Baloldali ábra), ami jelentősen eltúlozza a szerepét, hisz ez annak felel meg, mint ha az egyed a teljes körkerület 2/3 részét szürkével fedné le! Szelekciós hiba minimalizálása: SUS (jobboldali ábra). A kválasztása a terület nagyságának le vagy felkerekített értéke lehet, ami egyenletes eloszlást ad. használják. → Ezt
8.8.1.2. Genetikus drift
óról generációra történő akkumlált hatásaként jeleni meg.
Genetikus drift: A szelekciós hiba miatt főleg csak a jobb egyedek kerülnek kiválasztásra (főleg kis
SUS sem segít.
egyedek az optimum szűk környezetében tömörülnek Multikritérium: A Pareto front szűk tartományát fedik le a populáció egyedei.
Megoldás: Kismértékű drift: Mutációs ráta növelése (tulzott növelés nem jó, mert sztochasztikussá teszi a keresést) Nagymértékű drift:
• Populáció bővítése véletlenszerűen generált egyedekkel • Fitness megosztás (Ez vált be leginkább)
A szelekciós hiba generáci
egyedszámnál), így szűkül a keresési tér.
Hatás:
Skalárkritérium: Az
8.8.1.3. Fitness megosztás (Fitness sharing)
Cél: Egyenletes lefedettség biztosítása.
ű egyed “harca”/versenye egy harmadik (esetleg gyengébb) egyed pozicíóit javítja.
Fitness sharing: Ha két egyed “közel” esik egymáshoz (hasonlóak), akkor csökkentsék egymás fitness Értékét, azaz kiválasztási esélyeit. (=negatív visszacsatolás a szelekciós folyamatra)
Köve ba fognak csoportosulni.
Ezeket a csoportokat fülkéknek nevezzük
A fülkék a multikritériumú t égét jellemzik Megvalósítandó feladatok:
1. Az egyedek elszaporodása egy megtalált fülke közelében 2. További fülkék felderítése
Problémák:
1. A “közelség” kvalitatív értelmezése 2. A “közelség” kvantitatív értelmezése
Ezeket nézzük most meg közelebbről.
Ötlet az életből: Két közel azonos képesség
tkezmény: A populáció egyedei a keresési tér különböző lokális minimumai
Megjegyzés:
→ op imalizálásnál az egyedek Pareto fronton való szétterítetts
A közelség kvalitatív értelmezése
Ellenérv: Az ábr atlan a minimumhoz tatozó
e, hisami finom felbontást igényel:
a) A közelség értelmezése paramétertatományban
án látható esetben indokolegyedek fitnesseinek
csökkentés z nagyon meredek a függvény,
b) közelség értelmezése a költség/objektív
Ellenérv: Az ábrán látható esetben indokolatlan a einek
oz
tartományban
minimumhoz tatozó egyedek fitnesscsökkentése, hisz különböző lokális minimumokhtartoznak:
Nincs tragédia fitness csökkentéskor: Ekkor a lyukas karikákkal jelölt egyedek veszik át a kezdeményező szerepet.
Választás a két eset közül a feladattól függ.
A közelség kvantitatív értelmezése
oglalja magában. A fülke
A fülke méretének megválasztását f
shareσ mérete megadja, hogy két egyednek milyen közel kell lennie egymáshoz, hogy csökkentsék
fülke mérete definiálható:
megválasztáshoz szükséges:
• skalárkritérium esetén: A lokális optimumok száma • vektorkritérium esetén: A Pareto front alakja
Ezek többnyire ismeretlenek A fülke méretének megállapításához becslést kell alkalmazni
(vö. 8.9. Pont
egymás fitness értékét. A
• változók terében • költségek (függvényértékek) terében
A
→ )
8.8.2.
Az el ző (8.8.1) fejezetben leírtak alapján biztosítjuk, hogy az egyedek egyenletesen terítsék be a Pareto frontot. Prob t elronthatja az egyedek roszz párba választása, keresztezése. ztott egyedeket különböző fülkékből választjuk (nagy eltérések a
kromoszómákban) lajdonságú utódok lesznek, mindkét fülkétől távol
képtelen (lethals)
Ötlet: ztás csak hasonló egyedek között tipikus. MegoldPárvalas á dek párosodnak, amelyek
Az egyedek párba választása
Kiindulás: ő
léma: Az egyenletessége
Pl: Ha a párba válas→
→ teljesen új tu → → Az utód nagy valószinűséggel élet
A természetben a párválas
ás: mateσ távolságon belül vannak zt si kényszert vezetünk be: Csak azok az egye
egymástól. Probléma: mateσ megválasztása. A shareσ megválasztásával azonos problémákat vet fel Megoldás:
→
sharemate σσ = Megjegyzés: Sikeres keresztezés nemcsak a párba választott szülőktől, hanem a kromoszóma kódolástól és a rekombinációs operátortól is függ.
8.9.
A fülkeméret becslése
Előzmény: A 8.8.1.3 pontban, a fitness megosztás problémakörében merült fel, a fülkeméret megválasztásánál.
Cél: A shareσ fülkeméret megválasztása annak érdekében, hogy az egyedek egyenletesen fejlődjenek a Pareto-
N számot hatfront közelében. Ehhez azt az ározzuk meg, ami megmondja, hogy egy dfülkét feltételezve) hány fülkére kell osztani a Pareto front által az adott dimenzióban elfoglalt intervallumot.
imenzióban (négyzetes
Legyen a Paret Pareto f
o front a változók terében: ont a költségek terében: )(
S Sf
Legye
)(),, Sfuuu K ∈n
(
11
11
1
nnuu
nn
n
mmyy KK ==
usztrá n
• A Pareto front definíciója miatt a Pareto frontnak
• A hiperkocka külső felülete a Pareto front felső ecslését adja
• A Pareto front alakjától független egységes kezelhetőség lehetősége
(m =
),,()max,,max(uu
MMyyM KK ==
),,()min,,min
• 3D ill ció a jobbolali ábrá
csak egy-egy pontja lehet a befoglaló hiperkocka külső lapjain (lyukas karikák)→
→ b
A Pahiperkocka külső felülete:
32)(Sf
221
3311
mM −
gkomp nens esetén:
n
i
n
ijj
j1 1
reto front felületének felső becslése a
=∆∆+∆∆+∆∆< 2131
))(())(( 3322
mMmMmMmM
−−+−−=
( 1 mM −+ ))(
Általánosan megfogalmazva, n költsé o
<Sf )( ∑∏=
≠=∆ )( jjj mM −=∆
(link j∆ további felhasználására)
Feladat: Ha Pareto front felületének felső becslését N fülke [fülkénként 1 egyed] adf1
σ share
f2 ( , )M M1 2
∆ i i iM mi
= −= 1 2,
ja, kérdés a fülke mérete. Eljárás 1. A Pareto front felületének felső becslését az ábrán látható befoglaló hiperkocka (nagy négyzet) felső és j bb o
élét shareσ négyzetekkel egyenletesen felosztott négyzetek területe adja. . A Pareto front felületének felső becslését így a beszürkített terület adja, amely egy 2 shareσ megoldás esetén
N egyedet (fülkét) követel:
shareshare
shareshareNσ
σσσ
2
))((21 2121 ∆∆−+∆+∆
= ami általánosan: nshare
n
i
n
iisharei
Nσ
σ∏ ∏= =
∆−+∆= 1 1
)(
3. Számunkra azonban N ismert és shareσ határozandó meg, amely az előző kifejezés átrendezésével egy polinomegyenlet megoldását jelenti:
0)(
1 11 =∆−+∆
−∏ ∏= =−
share
n
i
n
iisharei
nshareN
σ
σσ
( , )m m1 2 f1
share
f2 ( , )M M1 2
i i iM mi = 1 2,
trade-off
trade-offupper estimation
( , )m m1 2
8.10.
A fitness értékek beállítása multikritériumú optimalizáláshoz
Két részből áll: 1. Fitness értékek első megközelítése (nemlineáris rendezés és fitness átlagolás) 2. Fitness korrekció (finomítás)
8.10.
ét részből áll: 1. Nemlineáris rendezés
agolás
8.10.1.2. Fitness átlagolás
Figyelem! Vegyük észre, hogy egyes egyedek rankértékei megegyeznek a vizszintes tengelyen!
→
→
→
→
1. Fitness értékek első megközelítése K
2. Fitness átl
8.10.1.1. Nemlineáris rendezés
1 N Number of individuals
Nonlinear ranking
Costs
Costs
max
max
min (0)
min (0)0 sp
00004 15 44
0.5
1
1.5
2
Ass
igne
d fit
ness
Rank values
Averagefitness
Nonlinearranking
zése költségeik szerint. A sorban magasabb rangú helyen álló egyedek a jobbak. A abb helyeket a nullaköltségű egyedek foglalják el.
2. Nem lineáris leképezés fitness értékekre.
8.10.1.3. Algoritmus (Fitness első megközelítése)
1. A populáció rlegmagas
ende
3. Azonos költségű egyedek között fitness kiegyenlítés átlagolással.
8.10.2. A Fitness érték korrigálása a fülkeméret alapján
megközelítésekor (8.10.1 pont) egyes egyedeknek azonos (átlag) fitness értéket dunk. Ezek közül a legjobbak alkotják a Pareto frontot.
Cél: Konc
• •
• A Fitness korrekció csak az azonos osztályban található egyedek között kerül végrehajtásra
• A korrekció mértéke függ a o
Előzmény: A fitness értekek elsőa
A fitness értékek további módosítása azon egyedek között, amelyek azonos fülkékben vannak.
epció: Az egyedek csoportosítása osztályokba.
Egy osztályban azonos átlag fitnessel rendelkező egyedek vannak.
shareσ fülkemérettől (nullaköltségű egyedek alapján a 8.9 pontban ismertetett eljárással becsüljük)
o A két egyed közötti . Meghatározása or Euklideszi (vagy más) normájából, ahol
),( vuddist távolságtól normd vekt
distn
nnnorm d
vuvud →⎟⎟
⎠
⎞⎜⎜⎝
⎛∆
−
∆
−= ,,
1
11 K ( i∆ megválasztási elvéhez lásd eljárás 3. pontját)
(számítása korábban)
• A fitness korrekció elve: Fülkeszám (niche count) alapján.
Az eljárás:
1. Elöször a fülkeszámot kell definiálni
övelhetik
mezett távolságuk háromszög függvénye:
Definíció [Fülkeszám – Niche count] o Kezdetben nulla o Minden egyednél a fülkeszámot csak az adott egyed fitness értékével megegyező egyedek no A fülkeszám növelésének alapja a „Sharing” függvény, amely a két egyed objektív (költség) térben
értel
f share
niche count
ddi
1
stσ share0
ahol shareσ értékét a nullaköltségű egyedek alapján a 8.9 pontban ismertetett eljárással becsüljük.
2. A fülkeszámok reciprokait, mint súlyokat használjuk fel a korrekcióhoz:.
ii
w
wi n,
i ,1
Mw w
nwi i ni, ,1+ +
i
=K
fww
fww
ii
i
i ni n
ii
i
,,
,,
11
M
} }w
clas
s "i"
wi n,
i ,1
M
i
w wn
wi i ni, ,1
ii=
K
1/niche counts fww
fww
ii
i
i ni n
ii
i
,,
,,
11
M
Az dekhe edek
egye z tartozó súlyok az osztályon belüli súlyátlagra normalizált értékével módosítjuk az egyinif , fitness értékeit.
3. Elvek gválasztására a koncepcióban szereplő i∆ me onseca):
uk.
o A korábbi populációk preferált egyedeit akkumláljuk az aktuális populációéval és az így kapott objektív vektor halmaz alapján számítjuk.
o Fonseca szerint a legeredményesebb, ha az előző két módszert kombináljuk és a kisebbik deltákat vesszük
az objektíveknél (költségeknél).
Megjegyzés. A fülke méret becslése és felhasználása az egyedek fitnesseinek korrigálására a multikritériumú optimalizálás egyik legfontosabb és legvitatottabb kérdésköre.
normd számításához (F
o Aktuális preferálható egyedek objektív (költség) vektoraikból számítj