Искусственный интеллект. Алгоритм имитации отжига.

advertisement
Èñêóññòâåííûé èíòåëëåêò. Àëãîðèòì èìèòàöèè
îòæèãà.
œëêèí Äåíèñ, Òÿõòè Àëåêñàíäð
ÑÏáÃÓ ÈÒÌÎ, êàôåäðà ÊÒ
2008 ãîä
Ñîäåðæàíèå
1 Ââåäåíèå
2
2 Àëãîðèòì èìèòàöèè îòæèãà
3
3 Ïðèìåð èñïîëüçîâàíèÿ àëãîðèòìà
4
4 Îïèñàíèå âèçóàëèçàòîðà
5
Íàñòîÿùàÿ ñòàòüÿ íîñèò ðåôåðàòèâíûé õàðàêòåð, íàïèñàíà íà îñíîâå ïðèâåä¼ííûõ
â êîíöå èñòî÷íèêîâ, êîòîðûå ìåñòàìè öèòèðóþòñÿ.
1
1 Ââåäåíèå
Èñêóññòâåííûé èíòåëëåêò (ÈÈ) - ýòî ñâîéñòâî àâòîìàòè÷åñêèõ ñèñòåì áðàòü íà ñåáÿ
îòäåëüíûå ôóíêöèè èíòåëëåêòà ÷åëîâåêà, íàïðèìåð, âûáèðàòü è ïðèíèìàòü îïòèìàëüíûå
ðåøåíèÿ íà îñíîâå ðàíåå ïîëó÷åííîãî îïûòà è ðàöèîíàëüíîãî àíàëèçà âíåøíèõ
âîçäåéñòâèé. Èñêóññòâåííûé èíòåëëåêò ðàçäåëÿþò íà ñëàáûé è ñèëüíûé. Ñèëüíûé ÈÈ
- ïðîãðàììíîå îáåñïå÷åíèå, áëàãîäàðÿ êîòîðîìó êîìïüþòåðû ñìîãóò äóìàòü òàêæå,
êàê ëþäè. Ïîìèìî âîçìîæíîñòè äóìàòü, êîìïüþòåð îáðåò¼ò òàêæå ñîçíàíèå ðàçóìíîãî
ñóùåñòâà. Ñëàáûé ÈÈ - ýòî øèðîêèé äèàïàçîí òåõíîëîãèé, êîòîðûå ìîãóò äîáàâëÿòüñÿ
â ñóùåñòâóþùèå ñèñòåìû è ïðèäàâàòü èì ðàçëè÷íûå ¾ðàçóìíûå ñâîéñòâà¿, áëàãîäàðÿ
êîòîðûì ïîâåäåíèå êîìïüþòåðîâ â îïðåäåëåííûõ ñèòóàöèÿõ ñòàíîâèòñÿ ïîäîáíûì
ïîâåäåíèþ ÷åëîâåêà.  äàííîé ñòàòüå çàòðàãèâàþòñÿ âîïðîñû, ñâÿçàííûå ñî ñëàáûì ÈÈ.
 íàøè äíè ýëåìåíòû ÈÈ èñïîëüçóåòñÿ äîñòàòî÷íî øèðîêî, íèæå ïåðå÷èñëåíû
íåêîòîðûå åãî ïðèìåíåíèÿ:
• êîìïüþòåðíûå èãðû;
• öèôðîâûå ôîòîàïïàðàòû (ðàñïîçíàâàíèå ëèö);
• ðîáîòîòåõíèêà;
• áûòîâûå ïðèáîðû;
• èññëåäîâàòåëüñêîå ÏÎ;
• ÏÎ äëÿ îáðàáîòêè ôîòî è âèäåî ìàòåðèàëà.
ÈÈ ïîÿâèëñÿ ñ ðîæäåíèåì êîìïüþòåðîâ, îäíàêî ñåðü¼çíûå èññëåäîâàíèÿ áûëè íà÷àòû
ïîçæå, è çíà÷èìûå ñ ïðàêòè÷åñêîé òî÷êè çðåíèÿ ðåçóëüòàòû áûëè ïîëó÷åíû ëèøü ê
êîíöó 60-õ ãîäîâ ïðîøëîãî âåêà. Èç-çà ïðàêòè÷åñêîé çíà÷èìîñòè ñåãîäíÿ ÈÈ ïðîäîëæàåò
àêòèâíî èçó÷àòüñÿ. Ñðåäè òåõíîëîãèé è ìåòîäèê ÈÈ ìîæíî âûäåëèòü ñëåäóþùèå:
ìóðàâüèíûå àëãîðèòìû, àëãîðèòì îòæèãà, òåîðèþ àäàïòèâíîãî ðåçîíàíñà, íåéðîííûå
ñåòè, ãåíåòè÷åñêèå àëãîðèòìû, èñêóññòâåííóþ æèçíü, íå÷¼òêóþ ëîãèêó. Äàëåå áóäåò
ðàññìîòðåí îäèí èç ðàñïðîñòðàí¼ííûõ è â òî æå âðåìÿ íåñëîæíûõ àëãîðèòìîâ ÈÈ:
àëãîðèòì èìèòàöèè îòæèãà.
c
c
Äåíèñ œëêèí, Àëåêñàíäð Òÿõòè, 2008
http://rain.ifmo.ru/cat
2
2 Àëãîðèòì èìèòàöèè îòæèãà
Àëãîðèòì èìèòàöèè îòæèãà îñíîâàí íà ìîäåëèðîâàíèè ôèçè÷åñêîãî ïðîöåññà, êîòîðûé
ïðîèñõîäèò ïðè êðèñòàëëèçàöèè âåùåñòâà èç æèäêîãî ñîñòîÿíèÿ â òâ¼ðäîå (ê
ïðèìåðó, ïðè îòæèãå ìåòàëëîâ). Ïðåäïîëàãàåòñÿ, ÷òî, âî-ïåðâûõ, ïðîöåññ ïðîòåêàåò
ïðè ïîíèæàþùåéñÿ òåìïåðàòóðå, à âî-âòîðûõ, àòîìû â âåùåñòâå óæå âûñòðîèëèñü â
êðèñòàëëè÷åñêóþ ðåø¼òêó, îäíàêî ïåðåõîäû îòäåëüíûõ àòîìîâ èç îäíîé ÿ÷åéêè â äðóãóþ
åù¼ âîçìîæíû.Âåðîÿòíîñòü ýòèõ ïåðåõîäîâ â ñâîþ î÷åðåäü îáóñëîâëåíà òåìïåðàòóðîé:
÷åì íèæå òåìïåðàòóðà, òåì íèæå âåðîÿòíîñòü. Óñòîé÷èâàÿ êðèñòàëëè÷åñêàÿ ñòðóêòóðà
âåùåñòâà ñîîòâåòñòâóåò ìèíèìàëüíîìó çíà÷åíèþ ýíåðãèè. Ýòî çíà÷èò, ÷òî àòîì ëèáî
ïåðåõîäèò â ñîñòîÿíèå ñ ìåíüøèì óðîâíåì ýíåðãèè, ëèáî îñòà¼òñÿ íà ìåñòå.
Ôîðìàëèçóåì äàííûé ïðîöåññ. Ôàêòè÷åñêè, ïðè ìîäåëèðîâàíèè èùåòñÿ íåêîòîðàÿ
òî÷êà (ëèáî ìíîæåñòâî òî÷åê), íà êîòîðîì äîñòèãàåòñÿ ìèíèìóì íåêîòîðîé ÷èñëîâîé
ôóíêöèè F (~x). Ñòðîèòñÿ ïîñëåäîâàòåëüíîñòü òî÷åê ~x0, ~x1, ..., ~xn, ãäå ~x0 ñîîòâåòñòâóåò
íà÷àëüíîìó ðàçäåëåíèþ. Ïðè äîñòèæåíèè òî÷êè ~xn àëãîðèòì çàâåðøàåò ñâîþ ðàáîòó.
Ïóñòü ðàññìàòðèâàåòñÿ òåêóùàÿ òî÷êà ~xi. Ê íåé ïðèìåíÿåòñÿ íåêîòîðûé îïåðàòîð A,
êîòîðûé ïðîèçâîëüíûì îáðàçîì ìîäèôèöèðóåò ýòó òî÷êó, â ðåçóëüòàòå ÷åãî ïîëó÷àåòñÿ
íîâàÿ òî÷êà ~x∗. Âåðîÿòíîñòü, ñ êîòîðîé ~x∗ ñòàíåò ñëåäóþùåé òî÷êîé (~xi+1) ðàâíà
P (~x∗ , ~xi+1 ), ãäå P - ðàñïðåäåëåíèå Ãèááñà:
(
∗
P (~x → ~xi+1 |~xi ) =
F (~x∗ ) − F (~xi ) < 0
F (~
x∗ )−F (~
xi )
), F (~x∗ ) − F (~xi ) ≥ 0
exp(−
Qi
1,
)
Qi > 0 -ýëåìåíòû ïðîèçâîëüíîé óáûâàþùåé ñõîäÿùåéñÿ ê íóëþ ïîñëåäîâàòåëüíîñòè.
Ýòà ïîñëåäîâàòåëüíîñòü ïðåäñòàâëÿåò ñîáîé àíàëîã ïîíèæàþùåéñÿ òåìïåðàòóðû âî âðåìÿ
ðåàëüíîãî ôèçè÷åñêîãî ïðîöåññà. Âëèÿíèå ðàçëè÷íûõ ïîñëåäîâàòåëüíîñòåé íà ðåçóëüòàò
àëãîðèòìà ìîæíî ïðîñëåäèòü ñ ïîìîùüþ âèçóàëèçàòîðà, ïðèëàãàåìîãî ê äàííîé ñòàòüå.
Àëãîðèòì èìèòàöèè îòæèãà ìîæíî ïðåäñòàâèòü â âèäå ñëåäóþùåé áëîê-ñõåìû:
Создать начальное
решение
Изменить
решение
случайным
образом
c
c
Оценить решение
Оценить
новое
решение
Äåíèñ œëêèí, Àëåêñàíäð Òÿõòè, 2008
http://rain.ifmo.ru/cat
Критерий
допуска
Уменьшить
температуру
3
3 Ïðèìåð èñïîëüçîâàíèÿ àëãîðèòìà
 êà÷åñòâå ïðèìåðà èñïîëüçîâàíèÿ àëãîðèòìà îòæèãà ðàññìîòðèì çàäà÷ó î ðàññòàíîâêå N
øàõìàòíûõ ôåðçåé íà äîñêå ðàçìåðîì N · N . Ôåðçè äîëæíû áûòü ðàññòàâëåíû òàê, ÷òîáû
íè îäèí èç íèõ íå áèë äðóãîãî. Ýòî îçíà÷àåò, ÷òî íè íà îäíîé âåðòèêàëè, ãîðèçîíòàëè èëè
äèàãîíàëè íå ìîãóò íàõîäèòüñÿ äâà ôåðçÿ îäíîâðåìåííî. Ïðèìåð ðåøåíèÿ çàäà÷è äëÿ
ðàçìåðíîñòè N = 8 ïîêàçàí íà ðèñóíêå:
Äàííàÿ çàäà÷à â òå÷åíèå ìíîãèõ ëåò ðåøàëàñü èçâåñòíûìè ìàòåìàòèêàìè, òàêèìè
êàê Ãàóññ, îäíàêî îïòèìàëüíîå ðåøåíèå íàéäåíî íå áûëî. Çàäà÷à ìîæåò ðåøàòüñÿ
íåïîñðåäñòâåííî - àëãîðèòìîì ïîëíîãî ïåðåáîðà ñ âîçâðàòîì, îäíàêî ýòî íå ïîçâîëÿåò
ðàññìàòðèâàòü äàííóþ çàäà÷ó ïðè äîñòàòî÷íî áîëüøèõ N (íà ñàìîì äåëå, íà îáû÷íîì
ïåðñîíàëüíîì êîìïüþòåðå çà ðàçóìíîå âðåìÿ ìîæåò áûòü ïîëó÷åí ðåçóëüòàò ëèøü äëÿ
N ≤ 15).
Äëÿ íà÷àëà íóæíî ïîíÿòü, êàê ýôôåêòèâíî ïðåäñòàâëÿòü ðåøåíèå â ïðîãðàììå.
Ó÷èòûâàÿ òî, ÷òî â êàæäîì ñòîëáöå è êàæäîé ñòðîêå ìîæåò íàõîäèòüñÿ íå áîëåå îäíîãî
ôåðçÿ, ðåøåíèå î÷åâèäíûì îáðàçîì ìîæíî ïðåäñòàâëÿòü â âèäå ìàññèâà èç N ýëåìåíòîâ.
×òîáû ñîçäàòü ïðîèçâîëüíîå ðåøåíèå, ìîæíî äåéñòâîâàòü òàêèì îáðàçîì: ïîçâîëèòü
êàæäîìó ôåðçþ çàíÿòü ñòðîêó, ñîîòâåòñòâóþùóþ ñòîëáöó, ïîñëå ÷åãî íóæíî ïðîéòèñü
ïî âñåì ñòîëáöàì è äëÿ êàæäîãî èç íèõ âûáðàòü ïðîèçâîëüíîå ÷èñëî â äèàïàçîíå [1, N ].
Ïîñëå ýòîãî äâà ýëåìåíòà ìåíÿþòñÿ ìåñòàìè (òåêóùèé ñòîëáåö è ïðîèçâîëüíî âûáðàííûé).
Ïîíÿòíî, ÷òî ïðè îöåíêå êîððåêòíîñòè ðåøåíèÿ â òàêîì ñëó÷àå äîñòàòî÷íî ïðîâåðÿòü
ëèøü îòñóòñòâèå êîëëèçèé íà äèàãîíàëÿõ.
Ýíåðãèÿ îïðåäåëÿåòñÿ êàê êîëè÷åñòâî êîíôëèêòîâ. Êîíå÷íîå ðåøåíèå äîñòèãàåòñÿ
ïðè íóëåâîé ýíåðãèè. Íà÷àëüíóþ òåìïåðàòóðó, êîíñòàíòó α è êîëè÷åñòâî èòåðàöèé
ìîæíî âàðüèðîâàòü. Çàâèñèìîñòü ýôôåêòèâíîñòè ðåøåíèÿ çàäà÷è îò ñîâîêóïíîñòè ýòèõ
ïàðàìåòðîâ ìîæíî ïðîàíàëèçèðîâàòü ñ ïîìîùüþ ïðèëàãàåìîãî âèçóàëèçàòîðà.
Äëÿ äàííîé çàäà÷è ñëåäóþùèå çíà÷åíèÿ ïàðàìåòðîâ äàþò íàèëó÷øèå ðåçóëüòàòû:
• íà÷àëüíàÿ òåìïåðàòóðà - 30◦
• α = 0.98
• êîëè÷åñòâî èòåðàöèÿ ïðè èçìåíåíèè òåìïåðàòóðû - 100
c
c
Äåíèñ œëêèí, Àëåêñàíäð Òÿõòè, 2008
http://rain.ifmo.ru/cat
4
4 Îïèñàíèå âèçóàëèçàòîðà
Òåïåðü àäàïòèðóåì ïàðàìåòðû àëãîðèòìà èìèòàöèè îòæèãà ê ðàññìîòðåííîé âûøå çàäà÷å
î ôåðçÿõ, ðàññìîòðèì ðàáîòó âèçóàëèçàòîðà è ïðîàíàëèçèðóåì ðåçóëüòàòû ðåøåíèÿ
çàäà÷è. Âèçóàëèçàòîð çàïóñêàëñÿ ñî ñëåäóþùèìè ïàðàìåòðàìè:
• êîëè÷åñòâî ôåðçåé = 25;
• íà÷àëüíàÿ òåìïåðàòóðà = 30;
• êîýôôèöèåíò α = 0.98;
• êîëè÷åñòâî èòåðàöèé íà øàã = 100.
Íà÷àëüíàÿ òåìïåðàòóðà ÿâëÿåòñÿ àíàëîãîì êîýôôèöèåíòà Q0 (ñì. ðàñïðåäåëåíèå Ãèááñà)
- ïåðâîãî ÷ëåíà â ñõîäÿùåéñÿ ê íóëþ ïîñëåäîâàòåëüíîñòè. Êîýôôèöèåíò α çàäàåò ñêîðîñòü
óáûâàíèÿ òåìïåðàòóðû. Çíà÷åíèå òåìïåðàòóðû äëÿ î÷åðäíîé èòåðàöèè àëãîðèòìà
âû÷èñëÿåòñÿ ïîñðåäñòîì óìíîæåíèÿ òåêóùåãî çíà÷åíèÿ íà α. Ïîýòîìó êîýôôèöèåíò
ìîæíî âûðüèðîâàòü â ïðåäåëàõ (0, 1). Êîëè÷åñòâî æå èòåðàöèé íà øàã ïîêàçûâàåò,
ñêîëüêî ðàç äî î÷åðåäíîãî ïîíèæåíèÿ òåìïåðàòóðû ïðîèçâîäÿòñÿ ïîïûòêè ïîìåíÿòü
äâóõ ïðîèçâîëüíûõ ôåðçåé ìåñòàìè (èëè æå, â òåðìèíàõ àëãîðèòìà îòæèãà - èçìåíèòü
êðèñòàëëè÷åñêóþ ðåøåòêó).
Äëÿ íà÷àëà ðàññìîòðèì ïîëó÷èâøèåñÿ ãðàôèêè.
Ãðàôèê òåìïåðàòóðû ïîêàçûâàåò ñíà÷àëà ðåçêîå ïàäåíèå, à ïîòîì ïîñòåïåííîå
ñõîæäåíèå òåìïåðàòóðû ê íóëþ. Ãðàôèê ïðèíÿòûõ ðåøåíèé ïîõîæ íà ãðàôèê
òåìïåðàòóðû, îäíàêî îí íå òàêîé ïëàâíûé, ÷òî îáúÿñíÿåòñÿ âåðîÿòíîñòíûì óðàâíåíèåì
äîïóñêà, ðàññìîòðåííûì ðàíåå. Òàê êàê âåðîÿòíîñòü äîïóñêà ïðåäñòàâëÿåò ñîáîé
ôóíêöèþ òåìïåðàòóðû, ëåãêî çàìåòèòü âçàèìîñâÿçü ýòèõ äâóõ ãðàôèêîâ. Ãðàôèê ýíåðãèè
ïîêàçûâàåò, ÷òî êîððåêòíîå ðåøåíèå áûëî íàéäåíî ëèøü â ñàìîì êîíöå. Ýòî ñïðàâåäëèâî
äëÿ âñåõ çàïóñêîâ àëãîðèòìà (ïðè÷èíà óðàâíåíèå êðèòåðèÿ äîïóñêà).
c
c
Äåíèñ œëêèí, Àëåêñàíäð Òÿõòè, 2008
http://rain.ifmo.ru/cat
5
Íèæå ïîêàçàí ðåçóëüòàò ðàáîòû âèçóàëèçàòîðà êîððåêòíàÿ ðàññòàíîâêà ôåðçåé íà
øàõìàòíîé äîñêå.
Îñíîâíàÿ öåëü âèçóàëèçàòîðà ïðîäåìîíñòðèðîâàòü çàâèñèìîñòü ýôôåêòèâíîñòè
ðàáîòû àëãîðèòìà îò ïàðàìåòðîâ, âõîäÿùèõ â ôîðìóëû, êîòîðûå áûëè ðàññìîòðåíû â
òåîðåòè÷åñêîé ÷àñòè, à òàêæå óïðîñòèòü ïîíèìàíèå ñìûñëà êîíñòàíò âõîäÿùèõ â îñíîâíîå
óðàâíåíèå ïðèíÿòèÿ ðåøåíèÿ. Ïðîàíàëèçèðîâàâ ãðàôèêè, ïîëó÷åííûå â ðåçóëüòàòå
ðàáîòû âèçóàëèçàòîðà, è ñðàâíèâ ðåçóëüòàòû ïðè ðàçëè÷íûõ ïàðàìåòðàõ çàäà÷è, ìîæíî
ïîíÿòü íåêîòîðûå çàêîíîìåðíîñòè àëãîðèòìà èìèòàöèè îòæèãà.
Îòäåëüíûé èíòåðåñ ïðåäñòàâëÿåò èññëåäîâàíèå ðåçóëüòàòîâ ðàáîòû àëãîðèòìà ïðè
äîñòàòî÷íî áîëüøèõ çíà÷åíèÿõ êîëè÷åñòâà ôåðçåé è êîëè÷åñòâà èòåðàöèé íà êàæäîì
øàãå.  òàêîé ñèòóàöèè äàëåêî íå âñåãäà íàõîäèòñÿ îêîí÷àòåëüíîå ðåøåíèå (âîçìîæíû
êîëëèçèè) è ãðàôèêè íåñêîëüêî ìåíÿþò ñâîé âèä.
c
c
Äåíèñ œëêèí, Àëåêñàíäð Òÿõòè, 2008
http://rain.ifmo.ru/cat
6
Ëèòåðàòóðà
1. Äæîíñ Ì. Ò. Ïðîãðàììèðîâàíèå èñêóñòâåííîãî èíòåëëåêòà â ïðèëîæåíèÿõ. Ì.: ÄÌÊ-ïðåññ, 2004.
2. ßñíèöêèé Ë. Í. Ââåäåíèå â èñêóññòâåííûé èíòåëëåêò. Ì.: Àêàäåìèÿ, 2005.
3. http://ru.wikipedia.com/wiki/Èñêóññòâåííûé_èíòåëëåêò
Âèçóëèçàòîð
1. Òÿõòè À., œëêèí Ä. Àëãîðèòì èìèòàöèè îòæèãà.
c
c
Äåíèñ œëêèí, Àëåêñàíäð Òÿõòè, 2008
http://rain.ifmo.ru/cat
7
Download