01.01.2015 Views

¦þ¹ ¼³¾Šł

¦þ¹ ¼³¾Šł

¦þ¹ ¼³¾Šł

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Implant<br />

ÊÀÊ ÏÐÎÃÐÀÌÌÈÐÎÂÀÒÜ ÐÎÁÎÒÀ-ÓÁÈÉÖÓ<br />

Èâàí Ñêëÿðîâ<br />

Sklyarov@real.xakep.ru<br />

Ðèñ.2. Ôóíêöèè ïðèíàäëåæíîñòè äëÿ òåðìîâ<br />

ëèíãâèñòè÷åñêîé ïåðåìåííîé ÄÈÑÒÀÍÖÈß<br />

Äëÿ óäîáñòâà ñîñòàâèì òàáëèöó, â êîòîðîé áóäóò îòðàæåíû<br />

âñå íàøè ïðàâèëà (ñì. ðèñ.4). Íàø ðîáîò áóäåò<br />

äåéñòâîâàòü íà îñíîâå íå÷åòêèõ ïðàâèë, ïðåäñòàâëåííûõ<br />

â òàáëèöå.<br />

Ïîñëå ïðèìåíåíèÿ íå÷åòêèõ ïðàâèë ìû äîëæíû ñäåëàòü<br />

çàêëþ÷èòåëüíûé ëîãè÷åñêèé âûâîä. Äëÿ ýòîãî èñïîëüçóþòñÿ<br />

îïåðàòîðû MIN() èëè MAX(). ßñíî, ÷òî ïåðâûé âû-<br />

÷èñëÿåò ìèíèìàëüíûå çíà÷åíèÿ, à âòîðîé ìàêñèìàëüíûå.<br />

Êàêîé èç íèõ ïðèìåíÿòü, çàâèñèò îò òîãî, êàêîé ëîãè÷åñêîé<br />

ñâÿçêîé îáúåäèíåíû ïåðåìåííûå â ïðàâèëå. Åñëè<br />

ñâÿçêîé È, ïðèìåíÿåòñÿ îïåðàòîð MIN(), åñëè ñâÿçêîé<br />

ÈËÈ — MAX(). Íó à åñëè â ïðàâèëå âñåãî îäíà âõîäíàÿ<br />

ïåðåìåííàÿ, òî îïåðàòîðû âîâñå íå íóæíû.<br />

Äîïóñòèì, â íàøåì ïðèìåðå òåðì ÁËÈÇÊÎ ëèíãâèñòè÷åñêîé<br />

ïåðåìåííîé ÄÈÑÒÀÍÖÈß èìååò ñòåïåíü ïðèíàäëåæíîñòè<br />

0,7, à òåðì ËÅÂÎÅ ïåðåìåííîé ÍÀÏÐÀÂËÅÍÈÅ — 0,4.<br />

Ò.ê. èñïîëüçîâàíà ñâÿçêà È, òî ïðèìåíèì îïåðàòîð MIN():<br />

MIN(0,7;0,4) = 0,4<br />

Ñëåäîâàòåëüíî, ñòåïåíü ïðèíàäëåæíîñòè òåðìà ÐÅÇÊÎ<br />

ÂÏÐÀÂÎ ëèíãâèñòè÷åñêîé ïåðåìåííîé ÐÓËÅÂÎÉ ÓÃÎË áóäåò<br />

ðàâíà 0,4. Íî ýòî åùå íå âñå. Ïðåäñòàâèì, íàïðèìåð,<br />

÷òî ðàññòîÿíèå â 1,8 ì äëÿ òåðìà ÁËÈÇÊÎ îêàæåòñÿ ðàâíî<br />

ñòåïåíè ïðèíàäëåæíîñòè 0,7, à òî æå ñàìîå ðàññòîÿíèå<br />

äëÿ òåðìà Î×ÅÍÜ ÁËÈÇÊÎ – 0,3, êàê ýòî ïîêàçàíî íà<br />

ðèñ.2 êðàñíûìè ïóíêòèðíûìè ëèíèÿìè. Àíàëîãè÷íî äëÿ<br />

ïåðåìåííîé ÍÀÏÐÀÂËÅÍÈÅ óãîë â 18 ãðàäóñîâ äëÿ òåðìà<br />

ËÅÂÎÅ ìîæåò èìåòü ñòåïåíü ïðèíàäëåæíîñòè 0,6, à äëÿ<br />

òåðìà ÏÐßÌÎ — 0,4. Ò.å. âïîëíå ìîãóò èìåòü íå íóëåâîé<br />

âûõîäíîé ðåçóëüòàò ñðàçó íåñêîëüêî íå÷åòêèõ ïðàâèë. Íî<br />

íàì íåîáõîäèìî ïîëó÷èòü òîëüêî îäíî çíà÷åíèå! Êàêîå èç<br />

íèõ ñ÷èòàòü ïðàâèëüíûì Äëÿ ýòîãî ìû äîëæíû ïðèìåíèòü<br />

îïåðàòîð MIN()/MAX() äëÿ êàæäîãî ðàçðàáîòàííîãî<br />

íàìè ïðàâèëà, à èç âñåõ ïîëó÷åííûõ çíà÷åíèé âûáðàòü<br />

ìàêñèìàëüíîå. Â ðåçóëüòàòå âñåõ ýòèõ äåéñòâèé ìû ïîëó-<br />

÷èì îäíî-åäèíñòâåííîå íå÷åòêîå çíà÷åíèå óïðàâëÿþùåé<br />

ïåðåìåííîé, êîòîðîå íåîáõîäèìî ïðèâåñòè ê ÷åòêîìó<br />

çíà÷åíèþ, ò.å. ïåðåõîäèì ê ýòàïó äåôàççèôèêàöèè.<br />

ÕÀÊÅÐ\¹53\Ìàé\2003<br />

ÁËÎÊ ÏÎÈÑÊÀ ÆÅÐÒÂÛ & ÁËÎÊ ÏÐÅÑ-<br />

ËÅÄÎÂÀÍÈß È ÓÍÈ×ÒÎÆÅÍÈß ÆÅÐÒÂÛ<br />

Çà íåèìåíèåì ìåñòà ìû íå áóäåì ðàçáèðàòü ýòè áëîêè â<br />

äåòàëÿõ. Îáñóäèì ïîâåðõíîñòíî âòîðîé áëîê — áëîê ïîèñêà<br />

æåðòâû. Íóæíî ñðàçó èñõîäèòü èç ïðåäïîëîæåíèÿ,<br />

÷òî ïîèñê æåðòâû ïðîèñõîäèò â íåáîëüøîì, îãðàíè÷åííîì<br />

ïðîñòðàíñòâå. Äåéñòâèòåëüíî, êèëëåð íå èùåò æåðòâó<br />

ãäå íè ïîïàäÿ, îí ÷åòêî çíàåò, ãäå òà äîëæíà ïîÿâèòüñÿ,<br />

è óæå âûñëåæèâàåò åå â îïðåäåëåííîì ìåñòå. Óñëîâíî<br />

áóäåì ñ÷èòàòü, ÷òî ýòî ìóçåé ñ ìíîæåñòâîì êîìíàò è<br />

ïåðåìåùàþùèõñÿ îáúåêòîâ (ëþäåé). Òàêæå áóäåì ñ÷èòàòü,<br />

÷òî íàø ðîáîò íå ñíàéïåð, ò.å. äëÿ âûïîëíåíèÿ çàäàíèÿ<br />

åìó íåîáõîäèìî äîñòàòî÷íî áëèçêî (âïëîòíóþ) ïîäîéòè<br />

ê æåðòâå. Ïîèñê æåðòâû ìîæíî ðåàëèçîâàòü ïîðàçíîìó.<br />

Ïðîñòåéøèé ñïîñîá - ýòî ïàòðóëèðîâàíèå ðîáîòîì<br />

êîìíàò ñ ïåðèîäè÷åñêîé ñìåíîé ïîçèöèé è ïðîñìîòðîì<br />

îêðóæàþùåé îáñòàíîâêè. Ò.å. ðîáîò ñîâåðøàåò<br />

ïîëíûé îáîðîò âîêðóã ñâîåé îñè, ïðè ýòîì ñðàâíèâàÿ<br />

ëþáîé îáúåêò (÷åëîâåêà) ñ «ýòàëîíîì» (æåðòâîé), åñëè<br />

öåëü íå îáíàðóæåíà, äåëàåò íåêîòîðîå êîëè÷åñòâî øàãîâ<br />

âïåðåä è ñíîâà ñîâåðøàåò ïîëíûé îáîðîò, è òàê äî òåõ<br />

ïîð, ïîêà æåðòâà íå ïîÿâèòñÿ â åãî ïîëå çðåíèÿ. Äëÿ<br />

ïîëíîãî îáîðîòà (360 ãðàäóñîâ) ðîáîòó äîñòàòî÷íî ñîâåðøèòü<br />

âñåãî äâà ïîâîðîòà âîêðóã ñâîåé îñè (íàïîìíþ,<br />

îáçîð «ãëàç» ðàâåí 180 ãðàäóñîâ!). Êñòàòè, ýòîò ñïîñîá<br />

ëåãêî ðåàëèçîâàòü, íå ïðèáåãàÿ ê íå÷åòêîé ëîãèêå. Êàê<br />

òîëüêî æåðòâà ïîÿâèòñÿ â ïîëå çðåíèÿ, âêëþ÷àåòñÿ áëîê<br />

ÏÐÅÑËÅÄÎÂÀÍÈß È ÓÍÈ×ÒÎÆÅÍÈß ÆÅÐÒÂÛ. Ò.å. ðîáîò<br />

íà÷èíàåò äâèãàòüñÿ ïðÿìî íà öåëü. Íå èñêëþ÷åíî, ÷òî<br />

æåðòâà íà÷íåò «óáåãàòü» îò ïðåñëåäîâàíèÿ, ïîýòîìó ðîáîò<br />

äîëæåí êîððåêòèðîâàòü ñâîå íàïðàâëåíèå òàêèì îáðàçîì,<br />

÷òîáû öåëü âñåãäà íàõîäèëàñü ïðÿìî ïî êóðñó.<br />

Íåëüçÿ òàêæå èñêëþ÷àòü ñèòóàöèè, êîãäà îáúåêò ñîâñåì<br />

ïðîïàäåò èç ïîëÿ çðåíèÿ (íàïðèìåð, çàéäåò çà óãîë), òîãäà<br />

ðîáîò äîëæåí äîéòè äî òîãî ìåñòà, ãäå áûëà ïîòåðÿíà<br />

öåëü, è âêëþ÷èòü áëîê ïîèñêà æåðòâû. Áëîê ïðåñëåäîâàíèÿ<br />

è óíè÷òîæåíèÿ æåðòâû, åñòåñòâåííî, íóæíî ïðîãðàììèðîâàòü<br />

ñ ïîìîùüþ íå÷åòêîé ëîãèêè.<br />

Ðèñ.3. Îáçîð «ãëàç» ðîáîòà<br />

äåì ñ÷èòàòü, ÷òî óãîë â 0 ãðàäóñîâ ëåæèò ïî ïðîäîëüíîé<br />

îñè íàïðàâëåíèÿ äâèæåíèÿ ðîáîòà, òîãäà ðàñïîëîæåíèå<br />

ïîìåõè ñ ïðàâîé ñòîðîíû îò îñè áóäåò ñîîòâåòñòâîâàòü<br />

ïîëîæèòåëüíîìó óãëó (îò 0 äî 90 ãðàäóñîâ), à ñ ëåâîé —<br />

îòðèöàòåëüíîìó (îò 0 äî -90 ãðàäóñîâ), ñì. ðèñ.3<br />

Òàêèì îáðàçîì, óãîë ìåæäó íàïðàâëåíèåì äâèæåíèÿ ðîáîòà<br />

è ïîìåõîé îò 0 äî 30 ãðàäóñîâ è îò 0 äî -30 ãðàäóñîâ,<br />

ìîæíî îòíåñòè ê òåðìó ÏÐßÌÎ, à óãîë îò 20 äî 90<br />

ãðàäóñîâ - ê òåðìó ÏÐÀÂÎÅ. Àíàëîãè÷íî óãîë îò -20 äî -<br />

90 ãðàäóñîâ - ê òåðìó ËÅÂÎÅ. ß íå áóäó ñòðîèòü ôóíêöèè<br />

ïðèíàäëåæíîñòè äëÿ äàííûõ òåðìîâ, ò.ê. äóìàþ, òåáå<br />

ñåé÷àñ ýòî íå ñîñòàâèò îñîáîãî òðóäà, òàêæå ÿ íå áóäó<br />

îïðåäåëÿòü ñòåïåíè ïðèíàäëåæíîñòè äëÿ òåðìîâ ïåðåìåííîé<br />

ÐÓËÅÂÎÉ ÓÃÎË, ñ íèìè âñå àíàëîãè÷íî.<br />

Ðàçðàáîòêó ýòàïà ôàççèôèêàöèè íà ýòîì ìîæíî ñ÷èòàòü<br />

çàêîí÷åííîé, ïåðåõîäèì ê îáðàáîòêå.<br />

Îáðàáîòêà<br />

Îáðàáîòêà îñíîâàíà íà ðàáîòå íå÷åòêèõ ïðàâèë, ïîýòîìó<br />

ìû äîëæíû ðàçðàáîòàòü ýòè ñàìûå ïðàâèëà. Íå÷åòêèå<br />

ïðàâèëà ïðåäñòàâëÿþò ñîáîé îáû÷íûå îïåðàòîðû óñëîâèé<br />

if... then... (ÅÑËÈ... ÒÎÃÄÀ...), ñ âîçìîæíîñòüþ ïðèìåíåíèÿ<br />

ëîãè÷åñêèõ ñâÿçîê AND(È), OR(ÈËÈ) èëè<br />

NOT(ÍÅ). Íàïðèìåð:<br />

ÅÑËÈ ÄÈÑÒÀÍÖÈß=áëèçêî È ÍÀÏÐÀÂËÅÍÈÅ=ëåâîå ÒÎÃ-<br />

ÄÀ ÐÓËÅÂÎÉ ÓÃÎË=ðåçêî âïðàâî.<br />

Ðèñ.5. Äåôàççèôèêàöèÿ<br />

Äåôàççèôèêàöèÿ<br />

Ïîëó÷èòü ÷åòêîå çíà÷åíèå íå òàê-òî ïðîñòî, êàê êàæåòñÿ.<br />

Äîïóñòèì, ôóíêöèÿ ïðèíàäëåæíîñòè äëÿ òåðìà ÐÅÇÊÎ<br />

ÂÏÐÀÂÎ ëèíãâèñòè÷åñêîé ïåðåìåííîé ÐÓËÅÂÎÉ ÓÃÎË<br />

èìååò Ë-âèä (ñì. ðèñ.5).<br />

Ðèñ.4. Òàáëèöà íå÷åòêèõ ïðàâèë<br />

Ìû â ðåçóëüòàòå îáðàáîòêè ïîëó÷èëè, íàïðèìåð, çíà÷åíèå<br />

0,7. Íà ðèñóíêå ïîêàçàíî, ÷òî ÷åòêîå çíà÷åíèå ìîæåò<br />

áûòü ëþáûì èç äèàïàçîíà 60-90 ãðàäóñîâ (îñíîâàíèå<br />

çàøòðèõîâàííîé ôèãóðû). Êàêîå ñ÷èòàòü ïðàâèëüíûì Íî<br />

ýòî åùå ïðîñòåéøèé ñëó÷àé, ò.ê. ÿ óæå ãîâîðèë, ÷òî âèä<br />

ôóíêöèè ïðèíàäëåæíîñòè ìîæåò áûòü ñîâåðøåííî ëþáîé.<br />

Ñóùåñòâóåò íåñêîëüêî ìåòîäîâ ïî óñòðàíåíèþ íå-<br />

÷åòêîñòè. Íàïðèìåð, ìåòîä öåíòðà ìàêñèìóìà (áåðåòñÿ<br />

öåíòðàëüíîå çíà÷åíèå, êàê ïîêàçàíî íà ðèñóíêå), ìåòîä<br />

íàèáîëüøåãî çíà÷åíèÿ (âûáèðàåòñÿ íàèáîëüøåå èç ïîëó-<br />

÷åííûõ çíà÷åíèé), ìåòîä öåíòðîèäà (îêîí÷àòåëüíîå çíà-<br />

÷åíèå îïðåäåëÿåòñÿ êàê ïðîåêöèÿ öåíòðà òÿæåñòè çàøòðèõîâàííîé<br />

ôèãóðû) è ò.ä.<br />

Òàêèì îáðàçîì, ìû ïîëíîñòüþ îïèñàëè áëîê îáõîäà ïðåïÿòñòâèé,<br />

à òàêæå ðàññìîòðåëè, êàê ðåøàþòñÿ çàäà÷è ñ<br />

ïîìîùüþ íå÷åòêîé ëîãèêè.<br />

ÇÀÊËÞ×ÈÒÅËÜÍÛÉ ÝÒÀÏ<br />

Ïîñëå òîãî êàê ñèñòåìà ïîëíîñòüþ îïèñàíà, åå íóæíî îòëàæèâàòü<br />

è îïòèìèçèðîâàòü. Äëÿ ýòîãî ëó÷øå âñåãî èñïîëüçîâàòü<br />

ïðîãðàììíûé ñèìóëÿòîð ìîäåëè, êîòîðûé<br />

ïîçâîëèò íàáëþäàòü ïîâåäåíèå ðîáîòà è âíîñèòü ñîîòâåòñòâóþùèå<br />

êîððåêòèâû â îïèñàíèå. Òàêîé ñèìóëÿòîð íåñëîæíî<br />

íàïèñàòü ñàìîìó íà ëþáîì ÿçûêå ïðîãðàììèðîâàíèÿ.<br />

Ñóùåñòâóåò ìíîæåñòâî ñïåöèàëèçèðîâàííûõ CADñèñòåì,<br />

êîòîðûå ïîçâîëÿþò ïðîéòè âñå îñíîâíûå ýòàïû<br />

ðàçðàáîòêè íå÷åòêîé ñèñòåìû, íàïðèìåð, «fuzzy TECH»,<br />

«PCFuz», ïðèëîæåíèå Fuzzy ê ïàêåòó Matlab è ïð. Ïîñëå<br />

òîãî êàê ñèñòåìà áóäåò îòëàæåíà, ìîæíî ïåðåâîäèòü åå<br />

îïèñàíèå íà ÿçûê Ñè èëè àññåìáëåð è ïðîøèâàòü â ÏÇÓ<br />

(EEPROM, flash RAM), çàòåì ìîæíî ïðèñòóïàòü ê èñïûòàíèÿì<br />

ðåàëüíîé ìîäåëè.<br />

Âîò è âñå, ìîæåøü ñ÷èòàòü, ÷òî òû îâëàäåë ñàìîé ñîâðåìåííîé<br />

è ïðîäâèíóòîé òåõíîëîãèåé ïðîãðàììèðîâàíèÿ<br />

ñëîæíûõ ñèñòåì óïðàâëåíèÿ. Êñòàòè, íå÷åòêóþ ëîãèêó<br />

ìîæíî ïðèìåíÿòü äëÿ êîäèíãà áîòîâ â èãðàõ èëè<br />

äëÿ ñîçäàíèÿ áîëåå «èíòåëëåêòóàëüíûõ» ñèñòåì áåçîïàñíîñòè,<br />

òàêèõ êàê ôàåðâîëû, à òàêæå âèðóñîâ, ÷åðâåé<br />

è ïð. (íî ÿ òåáå ýòîãî íå ãîâîðèë ;)). Òàê<br />

÷òî, áóäóùåå óæå â òâîèõ ðóêàõ. Äåðçàé!<br />

Èñòî÷íèêè èíôîðìàöèè<br />

http://www.russianlaw.net/sci/FL/links.htm<br />

http://asu.ugatu.ac.ru/book/iis/iis.htm<br />

http://fuzzyfly.chat.ru<br />

http://fuzzy.kstu.ru<br />

http://pmg-ru.narod.ru/download/fuzzy.zip<br />

http://dushkin.boom.ru/<br />

http://www.robotwar3d.com/ :)<br />

50 Íüþñû 1 Ôåððóì 2 Inside 3 PC_Zone 4 Âçëîì

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!