From 2773de7dda5b0c9ecb41923fd5cc678cd8e7cf09 Mon Sep 17 00:00:00 2001 From: Johann Dreo Date: Tue, 2 Nov 2010 16:57:13 +0100 Subject: [PATCH] evolutionary algorithm diagram with lego blocks, fancier --- website/Evolutionary_algorithm.png | Bin 23716 -> 37131 bytes website/Evolutionary_algorithm.svg | 2189 +++++++++++++++++++++++++--- 2 files changed, 2006 insertions(+), 183 deletions(-) diff --git a/website/Evolutionary_algorithm.png b/website/Evolutionary_algorithm.png index fdf88c936c5f74f8626659b0f25817997e16b535..c6eb6b4e8b6643876fe42669880f824e69159131 100644 GIT binary patch literal 37131 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 FV1k&zOPBxv literal 23716 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

KE^m$ZH8RoA%_w>)@Zj~ zZYeWAi;*Tf4pUNOb6mG>FB6qk{n&OmdA)KKxSs}f`{r%70SdsxT#u6y9&h8p$Dt#a zT*OBEXg%2s1h!ISIt@gO1C`kuaxDo<@FwjyGjv>~YQ*dCfn8%ZAn%(M^V?@(Rnfl% zL=0*bBegneoaJ z+EqdiYKkIvx)Yf)+`&HMosQn=*SRUDKJ0vuN386Hi5N00Bd#O>gr=J>>9l@=((0P97qF4)#^(T}MOlv8z zTQVfd)9^3Q>MffoG+kiXntNKCyv#7bU;%(X^rSCXYe}5ccHogAu?&EIDw^^{EUNo4QIQI|W;oK@VHV#H+V1?2#a|pCM1*8U zuNe0q!7bd925MhBeHdSc9&9%pl(**q-p<)9+sK~l{|04V=>jq+!0@9jaQ>O##Nhy? zKW*MWKC#gL{?|JNw6FSqYJg`0#dE42guH;$|=cKz>RDCG%Oodf_jKo4vmk@8X; zAob&*T7sz#%GcVYO`qO0?#K|~{gK_9NCF_lIdi0)_1}0xjvUBcqUflkN{K+3z9<3x z*<1clJ`9r0+99Bd@#G=WsG_Z*sKaI^$q?-9oRBkfb79p_4nW}Z%BrWpQlv^$w~0Gr zH-Vp4AP*egsIeiIFQ{3ONYuZKASURm;$ zr=bmGN2iH_h!cYnY6T`8gK#2%o?zVLLpAHmNbO8B69#bNiFc-2L)jPl0MtE;olAfI zyPy5#9GR_`Yal`Rx_TK)bpU0;{Z7sGi|gE=XVe3N(+O$E^_y5NUqb4Cm05tY*=}an zs?LR+Lhi7q_5fT4lYzlfs~$Tehp9$v7Q9Z{n27>W20~fzuscq%OU8{2G9w;MWc;-^>WcfP zMtwVdtfj2C+?&1q%u;0Wor0S3x~k)gm`?!qd5-YOxMkh*tt*a4U3KU`2+8*QXAKu* zN5J+s((_)UfUaKqUVG7BtGml*fmetp;l`kM%$8n+I7=ROD?!zL>Wv3><$8|pij&c( z{nx<()KK&kIUil{2W;&1-*HF4Q%kov2&?@#LF;qWKHj=JKW<}hZ?zeA;d5upb+?*X zZ91P~FpW6$%K4E1Lch0gL1iH zsV9XWZ@5I^u#58qfjcv^d#h|E1nafV)Br0bv!|_KpZCwNn^8KZUC@f6opIWgILQlw z5!bAb-73+Wg8J6)J{JZ1X^THHA>GeRp_6WtRHN;;OED3+M4RRT4kj1qCX8UYq7Lq3 zD?GLF_iw>8NCe;#R4*Y;Ls6&UN&TQZA>QR>bw0n=`R<-+%3ZJgE6Q6=U9r&XnJCWL z5y#MlQFX*6p}&h)@3ig)?X!+Q@EX`2iA4*pp{S^ojPzt0 z8cJE67ytko^+`lQRGNs1adG5mAtQ!o11N*C(w1Y2_Zr}7Ns@j5Ou|gW^a7@o|MeR9J9{qU(kQiJT~BusO}}6w!`{(uu1E8nuKWuiANW~I{{~Rd8Jh)to;kp^ zXdW5WeZJ}af(S*7(EB20F7sMKx0Kv`RQCrVYD>_U(LApK%Ye&J-Fw4rj-Yc0A9`QJ zoTb;<#Re|K%^_?{&{xqs7T~6qSJT32ilA!ztr#o~toaM&tskyKk7Fvj{=&%c$<%gf>q6j+R?*!KKB`m=nsr zPR9h@bg?`Ge1w^@;yqM%Q|QbSbQB@zeV2k3(gi zpmPX8@9U`U?U?CqLq$69y%4r1h-{v^$oprzT}&6t)3mu*&g4y0cjwkb6od>R=>3Bg zA#U#pG*5>zdkOk5n&(>J+Kbd`FX*O=lHa|6g>V<`rljx#gVMm@byt=c${A>fUyq_XNFw5cK|lx!U^6A#U|yG*5Pj+Z03& z%K>)>>cs+MTU;z3bGD1+On!QS_XNFw$hO#DFlY50$IPD|D*l4%{#FRv6GQ@r;MZL|SK6>atcn#en3IH768e?OUKC;;8Hf>jH+be5WVaiq#e&l?P=Z0^U=Z16 zL-zTQY&P??t|QAblCC3LEavN$V}78)@25U3jry5033S^i%`*|$4oK(von{0jbn zg3l+LTfYUb*WCL276Jho-7uSwB&ct+AMp7s)qo;N$dZI|dfzb2?djLhw(s*{)ikCo zUQA)PKbxR?XrA8!4}`eY1|SR7T^-_f1zkW0`bAi^iWG-~cO?l$ma#|@7QiA&SS1OI zEF&ulGNyn^l4KUcK$2zi7(k2Awbp6b*8>6kx=tVvKsO8mfG-%NLD#8~Bn|}veD3%2 z-r~h*9X49?ya6l;1|>?$VyLcFX>76))D?8Y)LTU{4V4wCi<7n_JuI*NTBnF>u*+qU|~^yN-O`p#cEDKy^RX+nD1MK2({{-H1PVt8#Dj|2~Z>h2?JR+P%yAsbpMV*XZ)!;?yYKMKYsF!*C-FwcOgAMED}lR zL;+4@q7(_2(@Lz>!T{O4OVlwxijIzfL{OJ7B!gg3$B-m~=oq?05YP#t>oR&!C+PFj z9F(XBnh4T}Lb>r$Nau6(IzrGR7^@YmR+Q*y1~)a4QB=e!;PH!{_s-wkNr{O@aA2Yo z_GRT-M*S04t-`i=F}`ry6Y)swy)28X;(9Hcj`X!{r?6f*oMmNoEGw>|v9Oxj%m0JA z@{e_J1<7s!Nd^p4 z%`tZ|^p-7P7%k=N`z`eXI%t0Unh(F`$G7PSWx$B8d=Zg?5cEER!+}kf&za)%EPOtS z{647?NbO;>Iz&pg8%$8b8a*zG*@#v2`qXTGHICiC$}2RIgPJGw(^EG(VKu-KS( zOWK`q*)KplpGHxS_eE?B@v;kGl}7%$>= zeV1?j_A}OgXBH_^m!4OKk6I0ynmN#sx+m)R!P)~%UpndBcbQ-;#o8C>@1?oPOLM&! zpG855ao~t?;7o`@$r)(=?FFGh2zn1vU+?FG4^DFZ^%=y(w9jh0X;UdytHR{T9Zz~! zT-?O|{WZ*;+c~exrcGreCp#E6ET&WE^)|8$77JP7wj+`-UZRL|ED0z{NUuG~#{am1 zE7edYOb#JYb{Ln13^-egpobArE(}sb^D2we!osIXyEhdR8)9LPIhp`6-n*t zc)dYRozl?twwydZUl6a?EQSH&$0v}L)fPq&3>us|rBPAgZFk=3{!YK|_xFAvyRIXW z3w4lvPaGXqQXA;ofg)w zKZV62ap+JTE|-PMN-y)~W%Qb>#xNid=tL5-OBHiH&|i*B;t_wa>lfX1pY5cgs*Z=3 zEhIiJn)1pT)_lB$wd=RD@Ve=tv-dodl~?oDha36cy^8?2din$s21K@7Fwzl%-or#k zTgl9fA}_C&Y15L>b%P^E>bUVnGst7#zG_B|ish=S%t@4Qy;Z=zebwaVn!fctd#bqQ zmTc0~ofH(bjfP4~o2jVq^5BCbP!x&0yjuS8k8(zhisjZ@v-#yOJ=}KNVC?qxH(?)t zTtZe>6m#aJqU#20)|_PH#!{}mHXVTd`)j!8o?*CL7Iy5YVEgupkPCV+2u)4+{eJ2t z2}?@~-e5xmRl3g8A?>Wcp?Q*kRlrrywPanVIZ<5B<)eoZA7|bvCMLu&Yw9?*?a6Cb z?`T0WrDav5r3@r1JsJ5tofegpbG)dO#P~P{XQg7Xw7L0Cl~s~oP(o^Q0@;}<1cE`1 z7nKt52RL-}1S5uI5*zKpqO|>93yaD)QB+D)l!K8&2jQ@rF3Q4_r6dg;Kv8K0rDav* z3`!$4sn>JoMI=Jddx6oT`uRC2P~QUI;~`)2Zw7cp|!Aa;ClkhGM6+%kXW zS&=E5w(Vof&i#xYk;C2tN7-mqxck=YuqX<<_kG3M_1hRdJe$M$C-`iu#H}~Y;#6rR zfk2Rg6Q>w4B$L&D-^9E*SCEyS#MYe$_;mAb#*D~eUtT_+Z`;ScOXuNK?X26hizwBB z*XJiCF`hsE&srAEpTW@V^e%rF{RJWDy}%GtNCnoXO^ zh>Eh1l;ptSX#WqIl5*|@7uD51KK$?`_4R&IQdC^7i-$TiH3cvXNJwa#Mw*b|Xm=qv z?H1|@{C+4aW6cdWu%yR2>4&60rZ1R~?R_@EnKjyO(Itxv_02Msnw=$+x-RImuN=?D ztzYuahZ~WR$jVIS8zToZW@HWk#|lgE96HXU4=l!Rw{gvkiTvv2RUAHA$cUkB!ALcA z4Q$x@1h_!Hj^d>g9aacRLuPOnT!}=x;56WEoyh}`C@dpY$?O(w6Jt( z4zes!RMfOMHA)R%Q95i<)Ag6xy=GfH{-XR4m;P*n#46%O{A!#oP$RSd4Js&_8&UNlAC5z zR8m1)tcyJdj91a`#1;ykS6q{{39aL7;QdwP#KM-K>AT!if zk|Z8pwg50)H0PqMq8eG27?hFHdd}eNG>#RPwALAxlhL{#8xuusLu2>8jDCWMa_J@9 z?l|`BslsMcNJ}$aD3WA~EEwpzK|w(Sd3m)oHeNh@EGEW^B$*EqYifLK-dsi?V6=uR z0tCPIz)VpjMvjbS>(+A0%S|`Uo;{U}9^E^Uf>w(kyDcyq*oWr1zgIf#t7snQ-DB!E zEzMOXPah`9F{$A&|)(-|=&3!guL-DYj)Prn$xKmeP~+Rj(+blCCv+wLTt z&WM~(6?TN6_YyfdF0!(sm^d+^^_VP6Tzz#an>LlPV#Psr@2+C@>{RmdYB+kdp7?k> zv9WEVXRB2vHr9MFG;Ul1!Jxs46?weY96siDbfY8ar%trw~o;CE=AjcA^! zA?ct$p?Mbgg3|uVCj0myNf)o)6>K&u+jr+te5!qpwAkn6K&UCY&7)^ zP3=M&^9zcJ9}s=sa|9;B<D3Z%AJNJ5V>FG|=)6LPn%VlBF zqW0@u3?16`gFmycnKM&b_f=J4;lguI#ys<41CW^LVBWlpbJh(J(}B%so;AResP6qe z*;&M+d1eF81C#PAY^25Z++;9Gl9-x1hBw~(gexYDCLul+t=Y@2FAp;$JB^gYcm@uL zW&M^fc=azIa7FGIiceK=IR6AwbH}u6D>E&Lo zjnTt%cid2$Jq{{eUgNC((j;H08Cj?^CXhGl1_5Etv>=<#BX9xtM?sTue1Y-Udz zk1Wf`vdrj_IaF5Ha`adc@dKinGkpT8!+daV0NEMISS$+e5!p00HFNmr3G6l-b7xE> zF4lZbGki!UTCYg`>g=k}_qOZRRjVStuAG^grGi=ubS zqnnWgR!g^2w2o^jKLSe8JRe|+`^Tv6@LqOJcgjrQCSX30dcpb^z-iO*>%E`tQqZ>% z4@CtXL-RxfD=|l#kw^gW0DD@>Zr}@4cYTlargTBCtOc6d^ zlry$*m|=wJK-wAmS-?no_zt(OS*EI~d$H)cA=U0Fay)v=>lvSh$gKX0PJ{6>6&J4< zxd=fQbRNxfEAV>|vH20sZr~PF_pxvrBIq41S--HL8>sF#F(Xhe?U|jC&Hn?Y2{FI4 z5F>O!*U>yS;3?p7!~^z7p%(Zas{0S&Hbl_-2tgNgA9LY_-veVVR#niWybXK@)m?JY znu30b5OhIk5To^QQUpAV>RuggLj>VP2)ZD&M9^rxxTK7ypZjlWYU`0@ndSE^X7W|u?CdlCaPHNwB4y6eJij3E37K^KG`bF}_#;NOA7i`4EB z8XGnK>Gnr?i`@%T1Z@6Gy@X`;Pv|O`TS_jUSwHfV8Q^Z zs%udlcAojkZ@6;m1m<5igUYHJs;lc5I>ek`RZ&@u*XtuH%8BZ*^VQJ;MvWMZqV!za z+cP)-+>h$s+8dn-`UXPK1wDs38R;?LQNY!kUH|ym70kFYm#b$@IqSV;5B!jn<)qL}sY5eZhRqWXGCQI-70l)g$6U@K)A)b7EIX<7C&o=E~V8Q_G zb{ju>;@gawcoSDlzMR``oyVX5`aT)y$#}g!e(}QNJ^9g&VW!z#iR$k5v|B;{Lijob zJ%>3<^C>jXZ!o9oF9&*M0n@G9zU1j2J`BJUKl)Gd4(1aG1bOIzB~(_{aMS$RB*e$@ z>1W&U`vZLUq1%}|XDaJI+m50r`27I}Wu=jmoz9K(W^wyH|H`{>z6ijzH!kOky$6{% zel&l0p=?c6I-RR@Ez(zyHf1>_w(%GI+>-@2~r z6ql5dJt&RB6D4G3q_Xe8VJ;hME{j}VQAKKMBHMQC<+fYrV;BaHe)le}xq2%9{P+ue zvVL2rKT0X^ePAf6`(+{Kf(s!8UC?`|?xU#grI@K>e+%?jGOcedna^GKKgkDcKjX=# ze#Ps5dXLGuW4Utbc=mj8kgtvu@XGJsB70CeilU$>3PABsFhS7nwm>0Vbg^yg&S%jbqA_L7c9aGpBVXj(qDRByT z6?g^JT@Y?#1br7F=z_>X^CSUxW3IC~iT>*rYz96BUISL6x&vXhN6-%tf-Z<$OmV*+ zbFqlIKy-Kw>NX|7=><8~p}HHxY>%LyAp~8}H!vqF&A=4*`M}`t8q{HSV+!~hU{}O0 znJ4HM2tgP0O*Bt7FadKpy74U~IgA#aUQA;*u&ZUe8`WJEMwQfuNtzUqiwK0)gO?LkPM+AQ1EugrExq0zp6F{{shAb~=!H RTAly^002ovPDHLkV1i~rAjALw diff --git a/website/Evolutionary_algorithm.svg b/website/Evolutionary_algorithm.svg index 489f4424..3da5964a 100644 --- a/website/Evolutionary_algorithm.svg +++ b/website/Evolutionary_algorithm.svg @@ -1,28 +1,51 @@ - + version="1.0" + inkscape:export-filename="Evolutionary_algorithm.png" + inkscape:export-xdpi="43.47168" + inkscape:export-ydpi="43.47168" + sodipodi:docbase="/home/nojhan/travail/code/eodev/eodev/website"> + + + + + + + + @@ -60,7 +83,7 @@ style="overflow:visible"> @@ -74,7 +97,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + inkscape:window-maximized="1" + height="430px" + width="650px" /> - image/svg+xml Evolutionary Computation 2007-04-02 - + Johann "nojhan" Dréo - + i: initialization, f(X): evaluation, ?: stopping criterion, Se: selection, Cr: cross-over, Mu: mutation, Re: replacement, X*: optimu + + + + + + + + + + + + image/svg+xml + + Evolving Object + 2010-11-02 + + + nojhan + + + en-GB + An evolutionary algorithmas seen from the evolving objects framework: an interative algorithm that manipulates individuals with the help of operators. Implementing an algorithm consists in assembling operator instances, just as building something with Lego blocks. + +In green are the operators that are ready to use within EO, in yellow the operators that you may need to implement and in red the evaluator, that you should implement. @@ -215,188 +931,1295 @@ inkscape:groupmode="layer" transform="translate(0,-170)"> + style="fill:url(#linearGradient19046);fill-opacity:1;fill-rule:evenodd;stroke:#87aade;stroke-width:0.53694427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 115.77497,527.63826 L 83.71875,532.17188 L 95.712466,562.23201 C 170.97302,605.84478 209.28691,646.08025 225.1875,762.6875 L 264.8125,757.3125 C 247.22079,628.30343 195.76724,573.99302 115.77497,527.63826 z " + id="path10284" + transform="matrix(-0.5767409,-0.3854301,-0.3342159,0.6651186,859.59462,55.131222)" + sodipodi:nodetypes="cccccc" /> + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#c4d6ef;fill-opacity:1;stroke:#87aade;stroke-width:0.49999997;marker:none;stroke-miterlimit:4;stroke-dasharray:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:aakar" + d="M 463.67639,218.6984 C 362.72274,194.13793 260.44433,256.38889 235.88386,357.34252 C 211.32339,458.29618 273.58173,560.54423 374.53538,585.1047 C 472.08269,608.83646 570.83161,551.53774 599.54173,456.56847 L 570.68756,478.16081 L 562.23204,441.53008 C 540.91857,518.78855 462.42422,565.31997 383.99096,546.23836 C 304.04223,526.78806 255.2999,446.74683 274.75019,366.79811 C 294.20049,286.84937 374.27208,238.11444 454.22081,257.56474 C 522.88324,274.26924 568.50751,335.68224 567.69752,403.33325 L 586.57322,432.46342 L 607.60347,406.08597 C 609.50839,319.55888 551.12318,239.97286 463.67639,218.6984 z " + id="path10296" + sodipodi:nodetypes="csscccssscccc" + transform="matrix(0.758252,0.126464,0.126464,-0.758252,-1.5536995,630.15328)" /> - Best solution + transform="matrix(0.7616981,0.1037061,0.1037061,-0.7616981,-1.5371625,648.7236)" + sodipodi:nodetypes="csscccssscccc" + id="path10294" + d="M 463.67639,218.6984 C 362.72274,194.13793 260.44433,256.38889 235.88386,357.34252 C 211.32339,458.29618 273.58173,560.54423 374.53538,585.1047 C 472.08269,608.83646 570.83161,551.53774 599.54173,456.56847 L 570.68756,478.16081 L 562.23204,441.53008 C 540.91857,518.78855 462.42422,565.31997 383.99096,546.23836 C 304.04223,526.78806 255.2999,446.74683 274.75019,366.79811 C 294.20049,286.84937 374.27208,238.11444 454.22081,257.56474 C 522.88324,274.26924 568.50751,335.68224 567.69752,403.33325 L 586.57322,432.46342 L 607.60347,406.08597 C 609.50839,319.55888 551.12318,239.97286 463.67639,218.6984 z " + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#d0def2;fill-opacity:1;stroke:#87aade;stroke-width:0.49999997;marker:none;stroke-miterlimit:4;stroke-dasharray:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:aakar" /> + + - + id="g6759" + transform="matrix(0.7687256,0,0,0.7687256,351.0073,174.00838)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Variation - - - - Stop. criteria? - - - - Initialization - - - - Evaluation - + id="g6879" + transform="matrix(0.7687256,0,0,0.7687256,508.4577,-21.249628)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Replacement + id="tspan6965" + y="190" + x="-251" + sodipodi:role="line">Variation - + id="g6999" + transform="matrix(0.7687256,0,0,0.7687256,689.89822,35.648343)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Selection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stop. criteria? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Replacement + Parents + style="font-size:13.83706093px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans" + id="text7359" + sodipodi:linespacing="125%">Best solution Genitors + style="font-size:13.83705997px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans" + id="text7363" + sodipodi:linespacing="125%">Parents Offsprings + style="font-size:13.83706093px;font-style:oblique;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:FreeSans" + id="text7367" + sodipodi:linespacing="125%">Genitors + Offsprings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initialization + + + + +