Самообучающиеся системы, весна 2008: Генетические...
TRANSCRIPT
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Ñåðãåé Íèêîëåíêî
Machine Learning CS Club, âåñíà 2008
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Outline
1 Îñíîâíàÿ èäåÿ
Èäåÿ
Ïðåäñòàâëåíèå äàííûõ
Ãåíåòè÷åñêèå îïåðàöèè
Àëãîðèòì
2 Ãåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Îñíîâíàÿ èäåÿ
Íà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìà
Ãåíåòè÷åñêèå îïåðàöèè
Ïðèìåð
3 Äðóãèå ñþæåòû
Ëàìàðê è Áîëäóèí
Îïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼â
Àëãîðèòì èìèòàöèè îòæèãà
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ýâîëþöèÿ
Ãåíåòè÷åñêèå àëãîðèòìû òîæå ñïèñàíû ñ ïðèðîäû.
Îðãàíèçìû ýâîëþöèîíèðóþò ñî âðåìåíåì, èçìåíÿÿ ñâîé
ãåíîòèï.
Ìåõàíèçì äàðâèíîâñêîé ýâîëþöèè:
Ðîäèëîñü íîâîå ïîêîëåíèå.
Èç íåãî ÷àñòü îñîáåé âûðîñëà è äàëà ïîòîìñòâî, ÷àñòü
ïîãèáëà.
Ïîãèáàþò íåïðèñïîñîáëåííûå, âûæèâàþò
ïðèñïîñîáëåííûå, ó ïîòîìêîâ îñòàþòñÿ ëó÷øèå ÷åðòû.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Îñíîâíûå êîìïîíåíòû
Ïðîñòðàíñòâî ãèïîòåç, èç êîòîðûõ ìû äîëæíû âûáðàòü
ëó÷øóþ
Ôóíêöèÿ ïðèñïîñîáëåííîñòè Fitness
Íàáîð ãåíåòè÷åñêèõ îïåðàöèé, êîòîðûå ìîæíî ïðèìåíÿòü:
Îïåðàöèè ñêðåùèâàíèÿ (êðîññîâåð) ðàçìíîæåíèå
îñîáåé.
Ìóòàöèè ðåäêèå èçìåíåíèÿ îòäåëüíûõ îñîáåé.
Öåëåâîå çíà÷åíèå Fitnessmax , ê êîòîðîìó ìû ñòðåìèìñÿ
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Îáùàÿ ñõåìà àëãîðèòìà
Ñãåíåðèðîâàòü íà÷àëüíóþ ïîïóëÿöèþ.
Ïîêà íå äîñòèãíóòî çíà÷åíèå, áîëüøåå Fitnessmax:
Âûáðàòü ÷àñòü ñóùåñòâóþùåé ïîïóëÿöèè (îòäàâàÿ
ïðåäïî÷òåíèå áîëåå ïðèñïîñîáëåííûì îñîáÿì).
Ïðèìåíèòü ê ýòîé ÷àñòè ãåíåòè÷åñêèå îïåðàöèè, ïîðîäèâ
ïîòîìêîâ.
Ïîäñ÷èòàòü Fitness äëÿ îñîáåé íîâîé ïîïóëÿöèè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ïðåäñòàâëåíèå ãèïîòåç
×òîáû óñïåøíî ïðèìåíÿòü ãåíåòè÷åñêèå àëãîðèòìû, ãèïîòåçû
æåëàòåëüíî ïðåäñòàâëÿòü â âèäå ñòðîêè áèòîâ. Òîãäà ñ íèìè
ëåãêî äåëàòü ÷òî óãîäíî. Íî êàê ïðåäñòàâëÿòü?
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ïðåäñòàâëåíèå ãèïîòåç: ïðèìåð
Âñïîìíèì ïðèìåð äåðåâà
ïðèíÿòèÿ ðåøåíèé.
Ãèïîòåçà, îíà æå îñîáü
ïîïóëÿöèè ýòî â äàííîì
ñëó÷àå ïðàâèëî, îïèñûâàþùåå
ïîâåäåíèå öåëåâîé ôóíêöèè. À
Fitness ýòî òî, íàñêîëüêî
õîðîøî ïðàâèëî ñîîòâåòñòâóåò
òåñòîâûì ïðèìåðàì.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ïðåäñòàâëåíèå ãèïîòåç: ïðèìåð
Íàïðèìåð, äëÿ ôóíêöèè,
çàäàííîé ýòèì äåðåâîì,
ãèïîòåçà
(x1 = 0) ∧ (x2 = 1) =⇒ (f = 0)
áóäåò áîëåå ïðèñïîñîáëåííîé,
÷åì ãèïîòåçà
(x1 = 0) =⇒ (f = 0).
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ïðåäñòàâëåíèå ãèïîòåç: ïðèìåð
Êàê çàäàòü ãèïîòåçó ñòðîêîé èç
áèò?
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ïðåäñòàâëåíèå ãèïîòåç: ïðèìåð
Êàê çàäàòü ãèïîòåçó ñòðîêîé èç
áèò?
Ëîãè÷íàÿ èäåÿ: çàêîäèðîâàòü
êàæäóþ áóëåâñêóþ ïåðåìåííóþ
áèòîì; íàïðèìåð, ãèïîòåçà
(x1 = 1)∧(x2 = 0)∧(x3 = 1) ⇒⇒ (f = 1)
ïðåäñòàâëÿåòñÿ êàê
x1 x2 x3 f
1 0 1 1
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ïðåäñòàâëåíèå ãèïîòåç: ïðèìåð
Íî êàê òîãäà çàêîäèðîâàòü
ãèïîòåçó
(x1 = 0) ∧ (x2 = 1) ⇒ (f = 0)?
x1 x2 x3 f
0 1 ??? 0
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ïðåäñòàâëåíèå ãèïîòåç
Îáû÷íî äëÿ êîäèðîâàíèÿ ãèïîòåç èñïîëüçóþò ïî îäíîìó áèòó
íà êàæäîå çíà÷åíèå àòðèáóòà; åñëè ñòîèò 1, çíà÷èò, ýòî
çíà÷åíèå ó÷àñòâóåò â ïîñûëêå ãèïîòåçû; çíà÷åíèÿ îäíîãî è òîãî
æå àòðèáóòà ñîåäèíÿþòñÿ, êîíå÷íî, êàê OR.
x1 x2 x3 f
10 01 11 1
Ñòðîêà 11 çíà÷èò, ÷òî íà ýòîò àòðèáóò ìîæíî íå îáðàùàòü
âíèìàíèÿ. À äëÿ öåëåâîé ôóíêöèè ìîæíî îñòàâèòü îäèí áèò
ãèïîòåçà ñî ñëåäñòâèåì ¾áóäåò êàêîå-òî çíà÷åíèå¿ íå èìååò
ñìûñëà.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ãèïîòåçû èç íåñêîëüêèõ ïðàâèë
Äî ñèõ ïîð ìû êîäèðîâàëè
îäíî ïðàâèëî (îäíó âåòêó
äåðåâà). Íî, íàïðèìåð, ýòî
äåðåâî ñîîòâåòñòâóåò
íåñêîëüêèì ïðàâèëàì. Èõ ìû
áóäåì çàïèñûâàòü ïðîñòîé
êîíêàòåíàöèåé ñòðîê.
Óïðàæíåíèå. Âûðàçèòü ýòî
äåðåâî áèòîâîé ñòðîêîé ïî
íàøåé ñõåìå.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Êðîññîâåð
Ïðè ðàçìíîæåíèè îñîáü äîëæíà óíàñëåäîâàòü ÷åðòû îáîèõ
ïðåäêîâ. Êàê ýòîãî äîñòè÷ü íà áèòîâûõ ñòðîêàõ?
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Êðîññîâåð
Ïðè ðàçìíîæåíèè îñîáü äîëæíà óíàñëåäîâàòü ÷åðòû îáîèõ
ïðåäêîâ. Êàê ýòîãî äîñòè÷ü íà áèòîâûõ ñòðîêàõ?
Êðîññîâåð (crossover) îïåðàöèÿ, êîòîðàÿ ïî çàäàííîé
ìàñêå äåëàåò èç äâóõ ñòðîê îäíó.
Åñòü íåñêîëüêî ðàçíûõ âèäîâ êðîññîâåðà.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Âèäû êðîññîâåðà
Single-point crossover:
Èñõîäíûå ñòðîêè Ìàñêà Ðåçóëüòàò
1001101011
0010101100 1111100000 1001101100
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Âèäû êðîññîâåðà
Double-point crossover
Èñõîäíûå ñòðîêè Ìàñêà Ðåçóëüòàò
1001101011
0010101100 0001111100 0010101100
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Âèäû êðîññîâåðà
Uniform crossover
Èñõîäíûå ñòðîêè Ìàñêà Ðåçóëüòàò
1001101011
0010101100 0110100110 0000101010
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Êðîññîâåð íà ñòðîêàõ ïåðåìåííîé äëèíû
Âñå ýòè âèäû äëÿ ñòðîê îäèíàêîâîé äëèíû. Íî íàøè
ãèïîòåçû èç íåñêîëüêèõ ïðàâèë, è ñòðîêè ðàçíîé äëèíû.
×òî äåëàòü?
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Êðîññîâåð íà ñòðîêàõ ïåðåìåííîé äëèíû
Ðåøåíèå:
Èñïîëüçóåì double-point crossover òàê, ÷òîáû ñîõðàíÿòü
ïîñòîÿííîå ðàññòîÿíèå äî êðà¼â ïðàâèë.
Íàïðèìåð, ïðàâèëà äëèíû 5, è ìû ñëó÷àéíî âûáðàëè äâå
òî÷êè èç ãèïîòåçû
0[0101 110]10.
Òîãäà âî âòîðîé ãèïîòåçå íóæíî âûáèðàòü òàêèå òî÷êè,
÷òîáû ðàññòîÿíèå îò ëåâîé òî÷êè äî ëåâîãî êðàÿ ïðàâèëà è
îò ïðàâîé òî÷êè äî ïðàâîãî êðàÿ ïðàâèëà áûëè òåìè æå.
Íàïðèìåð, â ïðàâèëå äëèíû 15 ìîãóò áûòü âàðèàíòû:
1[10]11 01010 01110 1[1011 010]10 01110
1[1011 01010 011]10 11011 0[10]10 01110
11011 0[1010 011]10 11011 01010 0[11]10Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Êðîññîâåð íà ñòðîêàõ ïåðåìåííîé äëèíû
Òåïåðü êðîññîâåð áóäåò ïîðîæäàòü êîððåêòíûå ãèïîòåçû:Èñõîäíûå ñòðîêè Ðåçóëüòàò
0[0101 110]10 01010
1[10]11 01010 01110 10101 11011 01010 01110
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Ìóòàöèè
Ìóòàöèè íà áèòîâûõ ñòðîêàõ:
Èçìåíèòü îäèí ñëó÷àéíûé áèò.
Ñäåëàòü íåñóùåñòâåííûì (çàáèòü åäèíè÷êàìè) îäèí
ñëó÷àéíûé àòðèáóò.
...
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Fitness
Ôóíêöèÿ Fitness äîëæíà çàâèñåòü îò òîãî, íàñêîëüêî
õîðîøî ãèïîòåçà ñïðàâëÿåòñÿ ñ çàäà÷åé.
 ñëó÷àå çàäà÷è êëàññèôèêàöèè ðàçóìíàÿ ôóíêöèÿ:
Fitness(h) =
(Correct(h)
TotalExamples
)2
,
ãäå Correct(h) êîëè÷åñòâî ïðèìåðîâ, âåðíî
ðàñêëàññèôèöèðîâàííûõ ãèïîòåçîé h, TotalExamples
îáùåå êîëè÷åñòâî ïðèìåðîâ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Âñïîìíèì îáùóþ ñõåìó
Ñãåíåðèðîâàòü íà÷àëüíóþ ïîïóëÿöèþ.
Ïîêà íå äîñòèãíóòî çíà÷åíèå, áîëüøåå Fitnessmax :
Âûáðàòü ÷àñòü ñóùåñòâóþùåé ïîïóëÿöèè (îòäàâàÿ
ïðåäïî÷òåíèå áîëåå ïðèñïîñîáëåííûì îñîáÿì).
Ïðèìåíèòü ê ýòîé ÷àñòè ãåíåòè÷åñêèå îïåðàöèè, ïîðîäèâ
ïîòîìêîâ.
Ïîäñ÷èòàòü Fitness äëÿ îñîáåé íîâîé ïîïóëÿöèè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
×òî îñòàëîñü
Ìû óæå íàó÷èëèñü:
Äåëàòü êðîññîâåð.
Ìóòèðîâàòü.
Ïîäñ÷èòûâàòü ôóíêöèþ Fitness.
Îñòàëîñü
Íàó÷èòüñÿ âûáèðàòü ñàìûõ ïðèñïîñîáëåííûõ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Âûáîð ñàìûõ ïðèñïîñîáëåííûõ
Çàäà¼ì äîëþ âûæèâøèõ s îñòàëüíàÿ ÷àñòü ïîïóëÿöèè
áóäåò çàìåíåíà íà ðåçóëüòàòû êðîññîâåðà äðóãîé ÷àñòè.
Íóæíî âûáðàòü sN ãèïîòåç èç ïîïóëÿöèè ðàçìåðà N.
Ìåòîä ðóëåòêè (roulette wheel selection): ó êàæäîé ãèïîòåçû
hi âåðîÿòíîñòü áûòü âûáðàííîé
Pr(hi ) =Fitness(hi )∑Nj=1 Fitness(hj)
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Âûáîð ñàìûõ ïðèñïîñîáëåííûõ
Çàäà¼ì äîëþ âûæèâøèõ s îñòàëüíàÿ ÷àñòü ïîïóëÿöèè
áóäåò çàìåíåíà íà ðåçóëüòàòû êðîññîâåðà äðóãîé ÷àñòè.
Íóæíî âûáðàòü sN ãèïîòåç èç ïîïóëÿöèè ðàçìåðà N.
Òóðíèðíûé ìåòîä (tournament selection): ñëó÷àéíî
âûáèðàåì äâå ãèïîòåçû. Ñ ôèêñèðîâàííîé âåðîÿòíîñòüþ p
âûæèâàåò áîëåå ïðèñïîñîáëåííàÿ, ñ âåðîÿòíîñòüþ 1 − p
ìåíåå ïðèñïîñîáëåííàÿ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Âûáîð ñàìûõ ïðèñïîñîáëåííûõ
Çàäà¼ì äîëþ âûæèâøèõ s îñòàëüíàÿ ÷àñòü ïîïóëÿöèè
áóäåò çàìåíåíà íà ðåçóëüòàòû êðîññîâåðà äðóãîé ÷àñòè.
Íóæíî âûáðàòü sN ãèïîòåç èç ïîïóëÿöèè ðàçìåðà N.
Ðàíãîâûé ìåòîä (ranking selection): ñíà÷àëà ñîðòèðóåì
ãèïîòåçû ïî ïðèñïîñîáëåííîñòè. Çàòåì êàê â ìåòîäå
ðóëåòêè, íî âåðîÿòíîñòü âûæèòü ïðîïîðöèîíàëüíà íå
çíà÷åíèþ Fitness(h), à ìåñòó, êîòîðîå çàíÿëà ãèïîòåçà.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Âûáîð ñàìûõ ïðèñïîñîáëåííûõ
Çàäà¼ì äîëþ âûæèâøèõ s îñòàëüíàÿ ÷àñòü ïîïóëÿöèè
áóäåò çàìåíåíà íà ðåçóëüòàòû êðîññîâåðà äðóãîé ÷àñòè.
Íóæíî âûáðàòü sN ãèïîòåç èç ïîïóëÿöèè ðàçìåðà N.
Ìû áóäåì èñïîëüçîâàòü ìåòîä ðóëåòêè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
ÈäåÿÏðåäñòàâëåíèå äàííûõÃåíåòè÷åñêèå îïåðàöèèÀëãîðèòì
Àëãîðèòì
Genetic(N, p, s,m,Fitness,Fitnessmax)
Ñîçäàòü N ñëó÷àéíûõ ãèïîòåç H = h1, . . . , hn.
Äëÿ êàæäîé ãèïîòåçû h ∈ H âû÷èñëèòü Fitness(h).
Ïîêà maxh Fitness(h) < Fitnessmax:
H ′ = ∅.Ñëó÷àéíî âûáðàòü sN ãèïîòåç èç H è äîáàâèòü èõ â H ′.
Âåðîÿòíîñòü âûáðàòü ãèïîòåçó hi Pr(hi ) =Fitness(hi )∑Nj=1
Fitness(hj ).
Ñëó÷àéíî âûáðàòü (1−s)p2
ïàð ãèïîòåç èç H ñ òåìè æå
âåðîÿòíîñòÿìè. Äëÿ êàæäîé ïàðû (hi , hj) çàïóñòèòü
îïåðàöèþ êðîññîâåðà è äîáàâèòü å¼ ðåçóëüòàò â H ′.
Ðàâíîìåðíî âûáðàòü mN ñëó÷àéíûõ ãèïîòåç èç H ′ è â
êàæäîé èç íèõ èíâåðòèðîâàòü ñëó÷àéíûé áèò.
H = H ′.
Äëÿ êàæäîé ãèïîòåçû h ∈ H âû÷èñëèòü Fitness(h).
Âûäàòü argmaxhFitness(h).Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Outline
1 Îñíîâíàÿ èäåÿ
Èäåÿ
Ïðåäñòàâëåíèå äàííûõ
Ãåíåòè÷åñêèå îïåðàöèè
Àëãîðèòì
2 Ãåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Îñíîâíàÿ èäåÿ
Íà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìà
Ãåíåòè÷åñêèå îïåðàöèè
Ïðèìåð
3 Äðóãèå ñþæåòû
Ëàìàðê è Áîëäóèí
Îïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼â
Àëãîðèòì èìèòàöèè îòæèãà
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Èñòîðèÿ
Åù¼ Òüþðèíã ïèñàë î ãåíåðàöèè ïðîãðàìì ïîñðåäñòâîì
ìóòàöèé è åñòåñòâåííîãî îòáîðà.
Çàòåì îá ýòîì âñïîìíèëè â ñåðåäèíå 1980-õ, áûëà
ðàçðàáîòàíà îñíîâíàÿ ïàðàäèãìà.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Óñïåõè ãåíåòè÷åñêîãî ïðîãðàììèðîâàíèÿ
Áûë ïîëó÷åí ðÿä ðåçóëüòàòîâ, êîòîðûå âïîëíå ìîãóò
ñîïåðíè÷àòü ñ ÷åëîâå÷åñêèìè.
Íàïðèìåð, â 2002 ãîäó áûëè ðàçðàáîòàíû òðè
àâòîìàòè÷åñêèõ êîíòðîëëåðà, êîòîðûå áûëè ëó÷øå, ÷åì
âñå ðàíåå èçâåñòíûå. Íà ýòè êîíòðîëëåðû ïîäàíà
ïàòåíòíàÿ çàÿâêà, êîòîðóþ, ñêîðåå âñåãî, óäîâëåòâîðÿò.
Ôàêòè÷åñêè, ãåíåòè÷åñêîå ïðîãðàììèðîâàíèå óæå ìîæåò
ñîâåðøàòü íàñòîÿùèå îòêðûòèÿ.
Ñì. http://www.genetic-programming.com
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ãåíåòè÷åñêèå àëãîðèòìû
Âñïîìíèì ñõåìó ãåíåòè÷åñêîãî àëãîðèòìà:
Ñãåíåðèðîâàòü íà÷àëüíóþ ïîïóëÿöèþ.
Ïîêà íå äîñòèãíóòî çíà÷åíèå, áîëüøåå Fitnessmax:
Âûáðàòü ÷àñòü ñóùåñòâóþùåé ïîïóëÿöèè (îòäàâàÿ
ïðåäïî÷òåíèå áîëåå ïðèñïîñîáëåííûì îñîáÿì).
Ïðèìåíèòü ê ýòîé ÷àñòè ãåíåòè÷åñêèå îïåðàöèè, ïîðîäèâ
ïîòîìêîâ.
Ïîäñ÷èòàòü Fitness äëÿ îñîáåé íîâîé ïîïóëÿöèè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ãåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Ãåíåòè÷åñêîå ïðîãðàììèðîâàíèå ïðèìåíåíèå
ãåíåòè÷åñêèõ àëãîðèòìîâ, ïîïóëÿöèåé êîòîðûõ ÿâëÿþòñÿ
ïðîãðàììû (àëãîðèòìû).
Ò.å. ôàêòè÷åñêè ìû óæå çíàåì, ÷òî äåëàòü. Äàâàéòå
êîíêðåòèçèðóåì.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Íà÷àëüíûå äàííûå
Ìû áóäåì ñòðîèòü ïðîãðàììó êàê äåðåâî. ×åëîâåê äîëæåí
óêàçàòü:
Íàáîð òåðìèíàëîâ íåçàâèñèìûõ ïåðåìåííûõ, íóëüàðíûõ
ôóíêöèé, êîíñòàíò êîòîðûå áóäóò ñòîÿòü â ëèñòüÿõ
äåðåâà.
Íàáîð ïðèìèòèâíûõ ôóíêöèé, êîòîðûå áóäóò â äðóãèõ
óçëàõ äåðåâà.
Ìåðó ïðèñïîñîáëåííîñòè (tness measure).
Ïàðàìåòðû çàïóñêà ïðîãðàììû (óâèäèì íèæå).
Êðèòåðèé îñòàíîâêè è öåëü âñåãî ïðîöåññà.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Áîëåå ïîäðîáíàÿ ñõåìà
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ñëó÷àéíîå ïîðîæäåíèå
Ñëó÷àéíî âûáèðàåì óçëû èç ñïèñêà, âêëþ÷àÿ òåðìèíàëû,
à çàòåì ãåíåðèðóåì ñëåäóþùèå óðîâíè íà îñíîâå àðíîñòè
âûáðàííûõ ôóíêöèé.
Ìîæíî çàäàòü ìàêñèìàëüíóþ ãëóáèíó.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ìóòàöèÿ
Âûáðàòü ñëó÷àéíûé óçåë è âûðàñòèòü èç íåãî íîâóþ
ñëó÷àéíóþ ïðîãðàììó.
Óçåë íå îáÿçàòåëüíî äîëæåí áûòü ëèñòîì
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Êðîññîâåð
Âûáðàòü äâå ñëó÷àéíûå ïðîãðàììû.
Âûáðàòü â íèõ äâà ñëó÷àéíûõ óçëà è ïîìåíÿòü ìåñòàìè
ïîääåðåâüÿ, ðàñòóùèå èç ýòèõ óçëîâ
Âàðèàíò: îäíó èç ïðîãðàìì íå òðîãàòü, òîëüêî ñêîïèðîâàòü
å¼ ïîääåðåâî âî âòîðóþ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Êðîññîâåð
Âûáðàòü äâå ñëó÷àéíûå ïðîãðàììû.
Âûáðàòü â íèõ äâà ñëó÷àéíûõ óçëà è ïîìåíÿòü ìåñòàìè
ïîääåðåâüÿ, ðàñòóùèå èç ýòèõ óçëîâ
Âàðèàíò: îäíó èç ïðîãðàìì íå òðîãàòü, òîëüêî ñêîïèðîâàòü
å¼ ïîääåðåâî âî âòîðóþ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ïîñòàíîâêà çàäà÷è
Áóäåì ðåàëèçîâûâàòü ïðîãðàììó, ïîäñ÷èòûâàþùóþ
ôóíêöèþ x2 + x + 1.
Ìíîæåñòâî òåðìèíàëîâ îäíà ïåðåìåííàÿ x è êîíñòàíòû
(íàïðèìåð, îò −5 äî 5).
Ìíîæåñòâî ýëåìåíòàðíûõ ôóíêöèé +,−, ∗,%.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ïîñòàíîâêà çàäà÷è
Êàêóþ âûáðàòü ôóíêöèþ îøèáêè?
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ïîñòàíîâêà çàäà÷è
Êàêóþ âûáðàòü ôóíêöèþ îøèáêè?
Ôóíêöèÿ îøèáêè èíòåãðàë îò ðàçíîñòè ìåæäó
ôóíêöèåé, êîòîðóþ ðåàëèçóåò ïðîãðàììà èç ïîïóëÿöèè, è
öåëåâîé ôóíêöèåé x2 + x + 1.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ïåðâûé øàã
Ñãåíåðèðîâàëè ñëó÷àéíóþ ïîïóëÿöèþ:
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ïåðâûé øàã
ż ïðèñïîñîáëåííîñòü äàëåêà îò èäåàëà:
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Âòîðîé øàã
Âûáðàëè (a) äëÿ âîñïðîèçâîäñòâà.
Âûáðàëè (c) äëÿ ìóòàöèè, ïîìåíÿëè 2 íà äåðåâî,
ïîäñ÷èòûâàþùåå (x%x).
Âûáðàëè (a) è (b) äëÿ êðîññîâåðà, ïîìåíÿëè ìåñòàìè
äåðåâî ñ êîðíåì â + è x .
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÍà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìàÃåíåòè÷åñêèå îïåðàöèèÏðèìåð
Ïîñëå âòîðîãî øàãà
Ïîëó÷èëîñü:
Îñòàëîñü ïîäñ÷èòàòü ôóíêöèþ ïðèñïîñîáëåííîñòè íîâîé
ïîïóëÿöèè è óáåäèòüñÿ, ÷òî â íåé åñòü èäåàëüíàÿ îñîáü.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Outline
1 Îñíîâíàÿ èäåÿ
Èäåÿ
Ïðåäñòàâëåíèå äàííûõ
Ãåíåòè÷åñêèå îïåðàöèè
Àëãîðèòì
2 Ãåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Îñíîâíàÿ èäåÿ
Íà÷àëüíûå äàííûå è ïîäðîáíàÿ ñõåìà
Ãåíåòè÷åñêèå îïåðàöèè
Ïðèìåð
3 Äðóãèå ñþæåòû
Ëàìàðê è Áîëäóèí
Îïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼â
Àëãîðèòì èìèòàöèè îòæèãà
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ëàìàðê
Æàí Áàòèñò Ïüåð Àíòóàí äå Ìîíå, øåâàëüå äå Ëàìàðê
(17441829) ñîçäàë ïåðâóþ òåîðèþ áèîëîãè÷åñêîé
ýâîëþöèè.
Ó Ëàìàðêà îðãàíèçìû èçìåíÿëèñü ïîä âîçäåéñòâèåì
îêðóæàþùåé ñðåäû è óñëîâèé èõ æèçíåäåÿòåëüíîñòè.
Áèîëîãè÷åñêè Äàðâèí âñ¼-òàêè áûë ïðàâ. Íî äëÿ
ìàøèííîãî îáó÷åíèÿ ìîæíî è òàêèå ìåòîäû èñïîëüçîâàòü:
ïðîãðàììêè îáó÷àþòñÿ ïî õîäó æèçíè è ïåðåäàþò ýòî
ïîòîìêàì.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Áîëäóèí
Ýôôåêò Áîëäóèíà âîçíèêàåò, êîãäà íóæíî ó÷åñòü
îáó÷àåìîñòü îñîáåé â ïîïóëÿöèè.
Âìåñòî òðåòüåé ðóêè ìîæíî âûðàùèâàòü ñåáå ìîçã,
êîòîðûé áóäåò ëó÷øå óïðàâëÿòü ïåðâûìè äâóìÿ.
À ïðè âûñîêîé îáó÷àåìîñòè (÷åëîâåê, íàïðèìåð) ãåíîòèï
èãðàåò î÷åíü ìàëåíüêóþ ðîëü.
Íåêèé tradeo ìåæäó ïðèñïîñîáëåííîñòüþ è îáó÷àåìîñòüþ
ìîæíî èññëåäîâàòü è â ìàøèííîì îáó÷åíèè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ýôôåêò Áîëäóèíà è íåéðîííûå ñåòè
Äàâàéòå ïðèìåíèì ýòî ê äâóì èçâåñòíûì íàì ìåòîäàì:
íåéðîííûì ñåòÿì è ãåíåòè÷åñêèì àëãîðèòìàì.
Îñîáü íåéðîííàÿ ñåòü ãëóáèíû 2 ñ N âõîäàìè, M
íåéðîíàìè íà ñêðûòîì óðîâíå è N íåéðîíàìè íà âûõîäå.
Ó òàêîé îñîáè îáðàçóþòñÿ (N + 1)M + (M + 1)N ãåíîâ,
ñîîòâåòñòâóþùèõ âåñàì íåéðîííîé ñåòè.
Ïëþñ åù¼ ñòîëüêî æå áèíàðíûõ ãåíîâ ïëàñòè÷íîñòè,
êîòîðûå îïðåäåëÿþò, ìîæåò ëè âåñ èçìåíÿòüñÿ â ïðîöåññå
îáó÷åíèÿ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ýôôåêò Áîëäóèíà è íåéðîííûå ñåòè
Èòåðàöèÿ àëãîðèòìà ñîñòîèò èç äâóõ ÷àñòåé.
 òå÷åíèå ïåðâîé ÷àñòè èìåþùèåñÿ îñîáè îáó÷àþòñÿ íà
òåñòîâûõ ïðèìåðàõ; ïðè ýòîì îáó÷åíèå ó÷èòûâàåò òàêæå
ãåíû ïëàñòè÷íîñòè: äëÿ âåñà w
∆w = −ηp∑v∈V
∂Ev (w)
∂w,
ãäå η ñêîðîñòü îáó÷åíèÿ, V òåñòîâûå ïðèìåðû, Ev
ôóíêöèÿ îøèáêè, à p ñîîòâåòñòâóþùèé w ãåí
ïëàñòè÷íîñòè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ýôôåêò Áîëäóèíà è íåéðîííûå ñåòè
Íà âòîðîì ýòàïå îáó÷åííûå íåéðîííûå ñåòè ó÷àñòâóþò â
ãåíåòè÷åñêèõ îïåðàöèÿõ.
Íàïðèìåð, ñ ôóíêöèåé ïðèñïîñîáëåííîñòè
Fitness = 1.0 −1
N2N
∑v∈V
N−1∑i=0
(Outv ,i − Targetv ,i )2,
ãäå Targetv ,i çíà÷åíèå öåëåâîé ôóíêöèè íà i-ì âûõîäå
ñåòè â v -ì òåñòîâîì ïðèìåðå, à Outv ,i ðåàëüíûé âûõîä
i-ãî âûõîäíîãî íåéðîíà ñåòè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ðåçóëüòàòû
 ðåçóëüòàòå ïîëó÷àåòñÿ òàêîå ïîâåäåíèå: ïîíà÷àëó â
ïîïóëÿöèè æèâóò â îñíîâíîì ëåãêîîáó÷àåìûå îñîáè ñ
ìàëûì êîëè÷åñòâîì çàôèêñèðîâàííûõ ãåíîâ ïëàñòè÷íîñòè.
Ïîòîì îíè ïîíåìíîãó îáó÷àþò òîò èëè èíîé âåñ è åãî
ôèêñèðóþò; â êîíå÷íîì ñ÷¼òå ïîíåìíîãó âûäåëÿåòñÿ
îïòèìàëüíàÿ îñîáü ñî âñåìè ôèêñèðîâàííûìè ãåíàìè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Áèîëîãèÿ âîïðîñà
Âñ¼ íà÷àëîñü ñ ðàáîò Ïüåðà-Ïîëÿ Ãðàññå ïðî
òåðìèòîâ/ìóðàâü¼â.
Îêàçàëîñü, ÷òî ìóðàâüè îáìåíèâàþòñÿ èíôîðìàöèåé
ïîñðåäñòâîì ëîêàëüíûõ ñîîáùåíèé, îñòàâëÿåìûõ â
îêðóæàþùåé ñðåäå: ìóðàâüè îñòàâëÿþò ôåðîìîíû, êîãäà
èäóò ê åäå èëè îò åäû, à äðóãèå ìóðàâüè ìîãóò ýòè
ôåðîìîíû ÷óâñòâîâàòü è èçìåíÿòü ñâî¼ ïîâåäåíèå.
Ýêñïåðèìåíòû íàä ìóðàâüÿìè â ñâî¼ âðåìÿ êðèòèêîâàë
Ôåéíìàí, íî ñóòü îò ýòîãî íå òåðÿåòñÿ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Äâà ìîñòà
Êëàññè÷åñêèé ýêñïåðèìåíò äâà ìîñòà.
Îò ìóðàâü¼â ê åäå âåäóò äâà ìîñòà îäèíàêîâîé äëèíû.
Ïîíà÷àëó ìóðàâüè õîäÿò ðàâíîìåðíî.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Äâà ìîñòà
Ïîòîì èç-çà ôëóêòóàöèé îäèí ìîñò ñòàíîâèòñÿ ÷óòü áîëåå
ïîñåùàåìûì.
È ïðîøåäøèå ïî íåìó ìóðàâüè îñòàâëÿþò áîëüøå
ôåðîìîíîâ, çíà÷èò, åù¼ áîëüøå ìóðàâü¼â èäóò òóäà, è
âñêîðå îíè âñå õîäÿò ïî îäíîìó ìîñòó.
Âîò ïðèìåð ïîëîæèòåëüíîé îáðàòíîé ñâÿçè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Äâà ìîñòà
À åñëè ìîñòû îêàæóòñÿ ñóùåñòâåííî ðàçíîé äëèíû, òî
ïîëó÷èòñÿ, ÷òî ïî áîëåå êîðîòêîìó ïóòè ìóðàâüè
âîçâðàùàþòñÿ ðàíüøå.
È òàì ðàíüøå îêàæåòñÿ áîëüøå ôåðîìîíîâ.
È óæå íèêàêèõ ôëóêòóàöèé áóäåò âûáðàíà áîëåå
êîðîòêàÿ äîðîãà.
Ýòó ìûñëü è õî÷åòñÿ èñïîëüçîâàòü â ðåøåíèè çàäà÷
îïòèìèçàöèè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Çàäà÷à êîììèâîÿæåðà
Åñòåñòâåííî ïîïðîáîâàòü ïðèìåíèòü ê çàäà÷å
êîììèâîÿæåðà.
Åñòü ïîëíûé ãðàô ñ ðàññòîÿíèÿìè íà ð¼áðàõ, è åñòü íàáîð
èñêóññòâåííûõ ìóðàâü¼â.
Ïîýòîìó ó êàæäîãî ðåáðà åñòü åù¼ ïåðåìåííàÿ
¾ôåðîìîí¿.
Íà êàæäîì øàãå àëãîðèòìà ìóðàâåé âûáèðàåò ñëåäóþùóþ
âåðøèíó èç òåõ, êîòîðûå îí åù¼ íå ïîñåùàë, ñ
âåðîÿòíîñòüþ, ïðîïîðöèîíàëüíîé å¼ ôåðîìîíó.
À ïîòîì ïîäïðàâëÿåò çíà÷åíèå ýòîãî ôåðîìîíà.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Îáùàÿ ìîäåëü
Äàâàéòå ôîðìàëüíî çàïèøåì ìîäåëü çàäà÷è îïòèìèçàöèè.
S ïðîñòðàíñòâî âîçìîæíûõ ðåøåíèé, îïðåäåë¼ííîå íà
ìíîæåñòâå ïåðåìåííûõ Xi , ãäå Xi ∈ v1i , . . . , v|Di |i .
Ω íàáîð îãðàíè÷åíèé.
f : S → R′ öåëåâàÿ ôóíêöèÿ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Êîììèâîÿæ¼ð
Çàäà÷ó êîììèâîÿæ¼ðà ìîæíî îïèñàòü êàê íàáîð
ïåðåìåííûõ Xi , ïðèíèìàþùèõ çíà÷åíèÿ âî ìíîæåñòâå
âåðøèí V ; Xi = v çíà÷èò, ÷òî íà i-ì øàãå ìû ïîéä¼ì â
âåðøèíó i (èç âåðøèíû Xi−1).
Êîìïîíåíòû ðåøåíèÿ âîçìîæíûå çíà÷åíèÿ êàæäîé èç
ïåðåìåííîé ýòî ð¼áðà cij = (i , j); òàêîå ðåáðî îçíà÷àåò,
÷òî ïîñëå i íóæíî èäòè â j .
Çíà÷åíèå ôåðîìîíà τij êàê ðàç è îïðåäåëÿåòñÿ íà ýòèõ
êîìïîíåíòàõ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ìåòàñõåìà îïòèìèçàöèè ìóðàâüÿìè
Èíèöèàëèçèðîâàòü.
Ïîêà íå âûïîëíåíî óñëîâèå îñòàíîâêè:1 Ïîñòðîèòü ðåøåíèÿ ìóðàâü¼â.2 Ïðèìåíèòü ëîêàëüíûé ïîèñê (íåîáÿçàòåëüíî).3 Èçìåíèòü çíà÷åíèÿ ôåðîìîíîâ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Äëÿ çàäà÷è êîììèâîÿæ¼ðà
1 Ïîñòðîèòü ðåøåíèÿ ìóðàâü¼â.
Ìóðàâåé ñòðîèò ðåøåíèå èç cij . Íà÷èíàåò ñ ïóñòîãî: s0 = ∅.Ïîòîì íà øàãå i äîáàâëÿåò îäíî ðåáðî èç íàáîðà
äîñòóïíûõ ð¼áåð.
Ôàêòè÷åñêè ïîëó÷àåòñÿ áëóæäàíèå ïî íàøåìó ïîëíîìó
ãðàôó.
Âûáîð ñëåäóþùåãî ðåáðà çàâèñèò îò êîíêðåòíîãî
àëãîðèòìà (÷óòü ïîçæå).
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Äëÿ çàäà÷è êîììèâîÿæ¼ðà
2 Ëîêàëüíûé ïîèñê.
Îáû÷íî â ðåàëüíûõ ïðèìåíåíèÿõ ïîñòðîåííûå íà øàãå 1
ðåøåíèÿ îïòèìèçèðóþò ëîêàëüíûì ïîèñêîì.
Íàïðèìåð, ìîæíî ñëó÷àéíûì îáðàçîì ïîìåíÿòü ïàðó
ð¼áåð è ïîñìîòðåòü, íå ïîëó÷èòñÿ ëè ëó÷øå, ÷åì áûëî.
Íî ýòî íåîáÿçàòåëüíûé øàã.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Äëÿ çàäà÷è êîììèâîÿæ¼ðà
3 Èçìåíèòü çíà÷åíèÿ ôåðîìîíîâ.
À òåïåðü íóæíî ïîäïðàâèòü ôåðîìîíû â ïðàâèëüíóþ
ñòîðîíó.
Îáû÷íî äåëàþò òàê: âîîáùå âñå ôåðîìîíû íåìíîæêî
èñïàðÿþòñÿ, ïîñëå ÷åãî õîðîøèå ðåøåíèÿ ïîëó÷àþò
áîëüøóþ íàäáàâêó, ÷åì ïëîõèå.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Êîíêðåòíûå àëãîðèòìû: AS
Ant System: èñòîðè÷åñêè ïåðâûé òàêîé àëãîðèòì.
Ôåðîìîí àïäåéòÿò âñå ìóðàâüè:
τij := (1 − ρ)τij +
m∑k=1
∆τkij .
Çäåñü ρ ñêîðîñòü èñïàðåíèÿ, ∆τkij êîëè÷åñòâî
ôåðîìîíà, êîòîðûé äîáàâèò ìóðàâåé k ðåáðó (i , j):
∆τkij =
Q/Lk , åñëè k èñïîëüçîâàë (i , j) â ïóòè.
0, åñëè íå èñïîëüçîâàë.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Êîíêðåòíûå àëãîðèòìû: AS
À íà ýòàïå ïîñòðîåíèÿ ðåøåíèÿ ìóðàâüè âûáèðàþò ðåáðî
ñòîõàñòè÷åñêè ñ âåðîÿòíîñòüþ, ïðîïîðöèîíàëüíîé
ταij η
βij ,
ãäå ηij = 1
dij, dij ðàññòîÿíèå îò i äî j .
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Êîíêðåòíûå àëãîðèòìû: MMAS
Max-Min Ant System: ïðîäîëæåíèå ýòèõ èäåé.
Îãðàíè÷èì τ èíòåðâàëîì [τmin, τmax].
Ïðàâèëî áóäåò ó÷èòûâàòü òîëüêî ∆τbestij , êîòîðîå ðàâíî
1/Lbest, åñëè (i , j) ïðèíàäëåæèò ëó÷øåìó íàéäåííîìó ïóòè.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Êîíêðåòíûå àëãîðèòìû: MMAS
Íîâîå çíà÷åíèå ðàññ÷èòûâàåòñÿ êàê
τ ′ij = (1 − ρ)τij +
∑mk=1 ∆τbestij .
Çäåñü best ìîæåò îçíà÷àòü ëèáî ¾ëó÷øèé çà ïîñëåäíþþ
èòåðàöèþ¿, ëèáî ¾âîîáùå ëó÷øèé ïîêà ÷òî¿.
Ñîáñòâåííî ïðàâèëî àïäåéòà:
τij :=
τmin, åñëè τ ′
ij < τmin,
τ ′ij , åñëè τ ′
ij ∈ [τmin, τmax],
τmax, åñëè τ ′ij > τmax.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Êîíêðåòíûå àëãîðèòìû: ACS
Ant Colony System ââîäèò åù¼ ëîêàëüíûå èçìåíåíèÿ
ôåðîìîíîâ.
Ïîñëå êàæäîãî øàãà ïîñòðîåíèÿ ïóòè ìóðàâüèøêè
ïîäïðàâëÿþò ôåðîìîíû, íà÷àâøèåñÿ ñ τ0:
τij = (1 − φ)τij + φτ0.
Ñìûñë â òîì, ÷òî êîãäà ìóðàâüè ïîëçóò ïî ðåáðó, îíè îò
íåãî ¾îòáèâàþò çàïàõ¿, è óìåíüøàþòñÿ íåæåëàòåëüíûå
ýôôåêòû, î êîòîðûõ ìû ãîâîðèëè: íå âñå ñêàïëèâàþòñÿ â
îäíîì è òîì æå íåîïòèìàëüíîì ðåáðå.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Êîíêðåòíûå àëãîðèòìû: ACS
À oine update ôåðîìîíîâ äåëàåò òîëüêî îäèí (ëó÷øèé)
ìóðàâåé:
τij :=
(1 − ρ)τij + ρ∆τij , (i , j) åñòü â ëó÷øåì ïóòè,
0, â ïðîòèâíîì ñëó÷àå.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
×òî èçâåñòíî
Äîêàçàíî, ÷òî ìóðàâüèíûå àëãîðèòìû äåéñòâèòåëüíî
ñõîäÿòñÿ ê îïòèìàëüíûì ðåøåíèÿì.
Ïðîáëåìû, â îáùåì, òå æå, ÷òî â ãåíåòè÷åñêèõ àëãîðèòìàõ.
Åñòü óñïåøíûå ïðèìåíåíèÿ ê ðåøåíèþ NP-ïîëíûõ çàäà÷,
îñîáåííî ê çàäà÷àì ðóòèíãà â òåëåêîììóíèêàöèîííûõ
ñåòÿõ.
Ãëàâíûé ñïîñîá óëó÷øåíèÿ ïðèìåíåíèå ëîêàëüíîé
îïòèìèçàöèè íà âòîðîì ìåòà-øàãå.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ñóòü ìåòàëëóðãè÷åñêàÿ
Èìèòàöèÿ îòæèãà (simulated annealing) â ñàìîì ïðÿìîì
ñìûñëå!
Îòæèã ýòî êîãäà ìàòåðèàë íàãðåâàþò, à ïîòîì
ïîíåìíîæêó îõëàæäàþò.
Ïðè íàãðåâå àòîìû äâèãàþòñÿ ïîáûñòðåå (âûëåçàþò èç
ñâîèõ ëîêàëüíûõ ìèíèìóìîâ) è íà÷èíàþò áëóæäàòü ïî
ñîñòîÿíèÿì ñ âûñîêîé ýíåðãèåé.
Ïîñòåïåííîå îõëàæäåíèå äà¼ò èì øàíñ çàñòûòü â áîëåå
ãëîáàëüíîì ìèíèìóìå, ÷åì ðàíüøå îáðàçîâàòü áîëåå
êðóïíûå êðèñòàëëû ñ ìåíüøèìè äåôåêòàìè.
Áîëåå òîãî, âðåìÿ îò âðåìåíè èõ äàæå îáðàòíî
ïîäîãðåâàþò, åñëè ÷òî-òî èä¼ò íå òàê.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ñóòü àëãîðèòìè÷åñêàÿ
Íà êàæäîì øàãå àëãîðèòìà òåêóùåå ðåøåíèå çàìåíÿåòñÿ
íà áëèçëåæàùóþ òî÷êó, âûáðàííóþ ñ âåðîÿòíîñòüþ,
çàâèñÿùåé îò ðàçíîñòè ìåæäó çíà÷åíèÿìè ôóíêöèè è îò
òåìïåðàòóðû T .
Òåìïåðàòóðà ïîíåìíîæêó óìåíüøàåòñÿ: ñíà÷àëà ðåøåíèÿ
áåðóò ïî÷òè ñëó÷àéíî, çàòåì âñ¼ áëèæå è áëèæå ê
ïðåäûäóùåìó.
Ôîðìàëüíî ýòî àäàïòàöèÿ àëãîðèòìà
Ìåòðîïîëèñà-Ãàñòèíãñà.
È, êîíå÷íî, å¼ ìîæíî èñïîëüçîâàòü äëÿ ñýìïëèíãà (êîãäà
âåðîÿòíîñòü âèäà p(x) = 1
Ze−E(x)).
Íî ìû ïîêà íå áóäåì.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Áëóæäàíèå
Íà êàæäîì øàãå àëãîðèòì îïðåäåëÿåò, â êàêîé s ′ ïåðåéòè
èç s ′.
s ′ âûáèðàåòñÿ èç ñîñåäåé (íàïðèìåð, èç ïóòåé â çàäà÷å
êîììèâîÿæ¼ðà, îòëè÷àþùèõñÿ íà îäíó òðàíñïîçèöèþ).
Ó s è s ′ åñòü ýíåðãèÿ e = E (s) è e ′ = E (s ′), îíà æå
öåëåâàÿ ôóíêöèÿ.
Âåðîÿòíîñòü ïåðåéòè èç s â s ′ çàâèñèò îò ýíåðãèé è
òåêóùåé òåìïåðàòóðû p(e, e ′,T ).
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ñâîéñòâà p
p(e, e ′,T ) äîëæíà áûòü íåîòðèöàòåëüíî, äàæå êîãäà
e ′ > e, ò.å. äîëæåí áûòü ñïîñîá âûáðàòüñÿ èç ëîêàëüíîãî
ìèíèìóìà.
Ïðè T → 0 p(e, e ′,T ) äîëæíà ñòðåìèòüñÿ ê íóëþ ïðè
e ′ > e, ò.å. ÷åì íèæå òåìïåðàòóðà, òåì ñïîêîéíåå ìû
ïðîñòî äâèæåìñÿ ê ëîêàëüíîìó ìèíèìóìó.
×àùå âñåãî T óìåíüøàåòñÿ ñ ðîñòîì e ′ − e, ò.å. íåáîëüøèå
øàãè ïðåäïî÷òèòåëüíåå áîëüøèõ.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ñâîéñòâà T
Îñòàëîñü ïîíÿòü, ÷òî ïðîèñõîäèò ñ òåìïåðàòóðîé.
Îíà ïîíåìíîãó óìåíüøàåòñÿ, íî êàê? Ýòî íàçûâàåòñÿ
ðàñïèñàíèå îòæèãà (annealing schedule).
×åì ìåäëåííåå îíà óìåíüøàåòñÿ, òåì áîëüøå âåðîÿòíîñòü,
÷òî ìû ïðèä¼ì ê ãëîáàëüíîìó ìèíèìóìó (íó, âî âñÿêîì
ñëó÷àå, ê ìèíèìóìó ïîëó÷øå).
Íî, åñòåñòâåííî, òåì äîëüøå ðàáîòàåò àëãîðèòì.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû
Îñíîâíàÿ èäåÿÃåíåòè÷åñêîå ïðîãðàììèðîâàíèå
Äðóãèå ñþæåòû
Ëàìàðê è ÁîëäóèíÎïòèìèçàöèÿ ïðè ïîìîùè êîëîíèè ìóðàâü¼âÀëãîðèòì èìèòàöèè îòæèãà
Ñïàñèáî çà âíèìàíèå!
Lecture notes è ñëàéäû áóäóò ïîÿâëÿòüñÿ íà ìîåé
homepage:
http://logic.pdmi.ras.ru/∼sergey/index.php?page=teaching
Ïðèñûëàéòå ëþáûå çàìå÷àíèÿ, ðåøåíèÿ óïðàæíåíèé,
íîâûå ÷èñëåííûå ïðèìåðû è ïðî÷åå ïî àäðåñàì:
[email protected], [email protected]
Çàõîäèòå â ÆÆ smartnik.
Ñåðãåé Íèêîëåíêî Ãåíåòè÷åñêèå àëãîðèòìû è äðóãèå ñþæåòû