Èñêóññòâåííûé èíòåëëåêò. Àëãîðèòì èìèòàöèè îòæèãà. ëêèí Äåíèñ, Òÿõòè Àëåêñàíäð ÑÏáÃÓ ÈÒÌÎ, êàôåäðà ÊÒ 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