|
[ÆÛÁö³í¸®¸¦ »ç¿ëÇÑ
¼ÓµµÁ¦¾î ±¸Çö]
- ¿ìÁ¾ÇÏ(deepseas(AT)sogang.ac.kr)
- ¸¶¿ì½º·Î ȸéÀ» Ŭ¸¯ÇÑ
ÈÄ Å°º¸µå Ä¿¼Å°·Î »ç¿ëÀÚ ¹èÀÇ ¼Óµµ Á¶Àý
- ¼Ò½ºÄÚµå
[Down]
-
ÀÚ¹Ù Runtime [Down]
: ¾ÖÇø´ÀÌ ½ÇÇàÀÌ ¾ÈµÉ °æ¿ì ¼³Ä¡, ¼³Ä¡ÈÄ ÀͽºÇ÷ξî Àç½ÇÇà
'¾Ö¸ÅÇÔ'À» ´Ù·ç´Â ÆÛÁö ³í¸®(Fuzzy Logic)
±âÁ¸ÀÇ ³í¸®´Â 'Âü/°ÅÁþ' ¶Ç´Â '¿Â/¿ÀÇÁ",
"¿¹/¾Æ´Ï¿À", "ºÎÁ¤/±àÁ¤"À̶ó´Â À̺йýÀûÀÎ °³³ä¿¡
±â¹ÝÇÑ´Ù. ÇÏÁö¸¸ ÆÛÁö ³í¸®´Â ±×·¯ÇÑ À̺йýÀûÀÎ °³³äÀÌ ¾Æ´Ñ "¾Ö¸ÅÇÔ"À»
±â¹ÝÀ¸·Î ÇÑ´Ù. "¾î´ÀÁ¤µµ"¶ó´ø°¡ "¾ó¸¶³ª" °°Àº
¸»·Î½á ¼ö½ÄµÇ´Â °Íµé¿¡ ´ëÇÑ ³í¸®ÀÎ °ÍÀÌ´Ù.
¿¹¸¦ µé¾î¼ ÆÛÁö ³í¸®´Â ±âÁ¸ÀÇ ³í¸®¿¡¼´Â ´Ù·ê
¼ö ¾ø´Â, "»ó´çÈ÷ Å«", "¸Å¿ì ÀÛÀº", "Áß°£
Á¤µµ", "¾öû³" °°Àº ¸»µé·Î ¼ö½ÄµÉ ¼ö ÀÖ´Â ¾ç ¶Ç´Â
ÀڷḦ ¼öÇÐÀûÀ¸·Î ´Ù·ê ¼ö ÀÖ°Ô ÇÑ´Ù.
ÆÛÁö ³í¸®¸¦ °ÔÀÓ AI¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀº
¹«±Ã¹«ÁøÇÏ´Ù. ¿¹¸¦ µé¾î¼ NPCÀÇ °¨Á¤À» Èä³»³»´Â µ¥ ÆÛÁö ³í¸®¸¦ »ç¿ëÇÒ
¼öµµ ÀÖ´Ù. °ÔÀÓÀÇ NPC°¡ ´Ü¼øÈ÷ "ȳµÀ½",°ú "ȳªÁö
¾Ê¾ÒÀ½"À̶ó´Â À̺йýÀûÀÎ °¨Á¤À» °¡Áö´Â °ÍÀÌ ¾Æ´Ï¶ó, "Â¥Áõ³²",
"¾à°£ °Å½½¸²", "¸Å¿ì ȳ²" °°Àº ¾Ö¸ÅÇÑ °¨Á¤À»
°¡Áú ¼ö ÀÖ´Ù¸é ±âÁ¸ÀÇ "¸ð ¾Æ´Ï¸é µµ" ¹æ½ÄÀÇ ³í¸®¸¦ »ç¿ëÇÑ
°¨Á¤ ½Ã½ºÅÛº¸´Ù ÈξÀ ´õ Àΰ£ÀûÀÎ ÇൿÀ» º¸ÀÏ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÆÛÁö ³í¸®ÀÇ °³¿ä
ÆÛÁö ³í¸®ÀÇ ÀÛµ¿ ¹æ½ÄÀ» ¼³¸íÇÏ·Á¸é ±âÁ¸ÀÇ ³í¸®°¡
¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁöºÎÅÍ µÇ¤¾îºÁ¾ß µÉ °ÍÀÌ´Ù. ±âÁ¸ ³í¸®ÇÐÀº "±ñ±ñÇÑ
ÁýÇÕ(crisp set)"À» ´ë»óÀ¸·Î ÇÑ´Ù. ±ñ±ñÇÑ ÁýÇÕÀ̶õ ÁÖ¾îÁø ¿ä¼Ò°¡
ÁýÇÕ¿¡ ¼ÓÇϰųª ¼ÓÇÏÁö ¾Ê´Â ´Ü µÎ°¡Áö »óŸ¸À» °¡Áö´Â ÁýÇÕÀ» ¸»ÇÑ´Ù.
¿¹¸¦ µé¾î 5¿¡¼ 10»çÀÌÀÇ ¸ðµç ½Ç¼öµéÀ» ¿ø¼Ò·Î
ÇÏ´Â MÀ̶ó´Â ±ñ±ñÇÑ ÁýÇÕÀ» »ý°¢ÇØ º¸ÀÚ. ÀÌ´Â ÀÓÀÇÀÇ ½Ç¼ö°¡ ÁýÇÕ
MÀÇ ¿ø¼ÒÀ̰ųª ¿ø¼Ò°¡ ¾Æ´Ï¶ó´Â µÎ °¡Áö »óÅ Áß Çϳª¸¸À» °¡Áø´Ù.
Áï, ÁÖ¾îÁø ½Ç¼ö°¡ 5¿Í 10»çÀÌ¿¡ ÀÖÀ¸¸é ÁýÇÕ MÀÇ Æ¯¼ºÇÔ¼ö´Â 1(Âü)À»
µ¹·ÁÁÖ¸ç, ±×·¸Áö ¾ÊÀ¸¸é 0(°ÅÁþ)À» µ¹·ÁÁØ´Ù.
±ñ±ñÇÑ ÁýÇÕÀº Èæ¹é ³í¸®¿¡ ´ëÇØ¼´Â ¿Ïº®ÇÏ°Ô ÀÛµ¿ÇÏÁö¸¸,
½Ç¼¼°è¿¡¼´Â Èæ¹é³í¸®¸¦ Àû¿ëÇÒ ¼ö ¾ø´Â »óȲÀÌ ´õ ¸¹´Ù. ¿¹¸¦ µé¾î¼
¸ðµç Ű Å« »ç¶÷µéÀÇ ÁýÇÕÀ» ¸¸µç´Ù°í ÇÏÀÚ. 180¼¾Æ¼¸¦ 'Å©´Ù'¶ó°í °áÁ¤Çß´Ù¸é,
Ű Å« »ç¶÷µéÀÇ ÁýÇÕÀº "۰¡ 180¼¾Æ¼ ÀÌ»óÀÎ »ç¶÷µéÀÇ ÁýÇÕ"À̶ó°í
Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ 179¼¾Æ¼ÀÎ »ç¶÷ÀÎ °æ¿ì ´ëºÎºÐ ۰¡ Å©´Ù°í
»ý°¢ÇϰÚÁö¸¸ ¿©±â¼ Á¤ÇÑ Å° Å« »ç¶÷µéÀÇ ÁýÇÕ¿¡´Â ¼ÓÇÏÁö ¾Ê´Â´Ù.
ÀÌó·³ ±ñ±ñÇÑ ÁýÇÕÀ¸·Î´Â "´ëÃæ ÀÌ Á¤µµ"¶ó´Â
¸»·Î½á ÁýÇÕÀ» ±ÔÁ¤ÇÒ ¼ö ¾ø´Ù. ¹Ý¸é ÆÛÁö ÁýÇÕ¿¡¼´Â ±×·¯ÇÑ °ÍÀÌ °¡´ÉÇÏ´Ù.
ÆÛÁö ÁýÇÕ¿¡¼´Â "ÁýÇÕ¿¡ ¼ÓÇÑ´Ù"¿Í "ÁýÇÕ¿¡ ¼ÓÇÏÁö
¾Ê´Â´Ù" »çÀÌÀÇ ºÐ¸®¸¦ À¯¿¬ÇÏ°Ô ¸¸µé ¼ö ÀÖ´Ù.
ÆÛÁö ÁýÇÕÀÇ Æ¯¼ºÇÔ¼ö´Â ¿ÀÁ÷ 0 ¶Ç´Â 1¸¸À» µ¹·ÁÁÖ´Â
°ÍÀÌ ¾Æ´Ï¶ó 0°ú 1»çÀÌÀÇ ÀÓÀÇÀÇ ½Ç¼ö°ªÀ» µ¹·ÁÁØ´Ù. ÀÌ´Â ÁýÇÕ¿¡ ¾î´ÀÁ¤µµ
¼ÓÇϴ°¡¸¦(¼Ò¼Óµµ) ÀǹÌÇÑ´Ù. ¿¹¸¦ µé¾î Ű Å« »ç¶÷µéÀÇ ÆÛÁö ÁýÇÕ¿¡¼
Ư¼ºÇÔ¼öÀÇ °ªÀÌ 0À̸é "Å©Áö ¾Ê´Ù", 1Àº "Å©´Ù",
0.5´Â "¾î´À Á¤µµ Å©´Ù", 0.01Àº "¾ÆÁÖ Á¶±Ý Å©´Ù"¸¦
ÀǹÌÇÏ°Ô µÈ´Ù.

ÆÛÁö ³í¸®ÀÇ ÀÀ¿ë - ÆÛÁö Á¦¾î(Fuzzy Control)
ÆÛÁö ³í¸®¸¦ ÀÀ¿ëÇÒ ¼ö ÀÖ´Â ºÐ¾ß´Â ´Ù¾çÇÏÁö¸¸
±× Áß °¡Àå ´ëÇ¥ÀûÀ¸·Î ÆÛÁö Á¦¾î¸¦ µé ¼ö ÀÖ´Ù.
¿¹¸¦ µé¾î ±³ÅëÀÇ È帧¿¡ ÆÛÁö ³í¸®¸¦ Àû¿ëÇÑ´Ù°í
ÇÏÀÚ. µµ½Ã °æ¿µ ½Ã¹Ä·¹ÀÌ¼Ç °ÔÀÓÀ» ¸¸µå´Âµ¥, ÀÛÀº Â÷µéÀÌ µµ½Ã ¾È¿¡¼
½Ç°¨³ª°Ô ¿òÁ÷ÀÌ°Ô ÇÏ°í ½Í´Ù. µµ·Î¸¦ µû¶ó ´Ã¾î¼± Â÷µéÀÌ ¸¶Ä¡ ÁøÂ¥
»ç¶÷ÀÌ ¿îÀü Çϰí ÀÖ´Â °Íó·³ °¡¼ÓÇϰųª °¨¼ÓÇϵµ·Ï ¸¸µé¾î¾ß ÇÑ´Ù.
Áï ¾î¶² Â÷µµ ¾Õ Â÷ÀÇ µÚ¸¦ ¹ÞÁö ¸»¾Æ¾ß Çϸç, °¢ Â÷µéÀº ¾Õ Â÷¿Í Àû´çÇÑ
°Å¸®¸¦ À¯ÁöÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
ÀÌ·¯ÇÑ ±³ÅëÈ帧 Á¦¾î¸¦ ÆÛÁö ³í¸®·Î ¸ðµ¨¸µ ÇÏ´Â
°ÍÀº ´ÙÀ½°ú °°´Ù.
ù ¹øÂ°·Î , ÆÛÁö ³í¸®¿¡¼ °í·ÁÇØ¾ßÇÒ ¾ð¾î º¯¼ö(linguistic
variable)À» ¼³Á¤ÇÑ´Ù. ¿©±â¼´Â µÎ Â÷ »çÀÌÀÇ "°Å¸®"¿Í µÎ
Â÷ »çÀÌÀÇ "°Å¸®º¯È", µÎ °¡Áö º¯¼ö¸é ÃæºÐÇÏ´Ù.
µÎ ¹øÂ°·Î, ½ÇÁ¦ µµ·Î »óÀÇ Â÷µéÀ» ÀÚ¼¼È÷ °üÂûÇÑ
°á°ú·Î ¾Õ¿¡¼ Á¤ÇÑ ¾ð¾î º¯¼ö »çÀÌÀÇ ±ÔÄ¢À» °áÁ¤ÇÑ´Ù.

¼¼ ¹øÂ°·Î, °Å¸®¿Í °Å¸®º¯È¸¦ ¼³¸íÇÏ´Â µ¥ »ç¿ëÇÏ´Â
¸ðµç ¿ë¾îµé·ÎºÎÅÍ(¾ð¾î º¯¼ö) ½ÇÁ¦ ¼öÄ¡ÀûÀÎ °è»êÀ» À§ÇØ »ç¿ëÇÏ´Â
ÆÛÁö ÁýÇÕµéÀ» ¸¸µé¾î ³½´Ù. ¿©±â¼´Â "°Å¸®", "°Å¸®º¯È"
±×¸®°í ±×¿¡ µû¸¥ Â÷ÀÇ "Çൿ"¿¡ ´ëÇØ °¢°¢ ´Ù¼¸ °³ÀÇ ÆÛÁö
ÁýÇÕµéÀ» ¸¸µç´Ù.



ÀÌÁ¦ ÀÌ·¸°Ô ¸¸µç ÆÛÁö ½Ã½ºÅÛÀ» ÀÌ¿ëÇØ¼ ¾î¶»°Ô Â÷ÀÇ
¼ÓµµÁ¦¾î¸¦ ¼öÇàÇÏ´ÂÁö »ìÆìº¸ÀÚ. ƯÁ¤ ½ÃÁ¡¿¡¼ÀÇ ¾î´À ÇÑ Â÷ÀÇ ¾ÕÂ÷¿ÍÀÇ
°Å¸®°¡ 1.3, ¾Õ Â÷¿ÍÀÇ °Å¸®º¯È°¡ 0.25¶ó°í ÇÏÀÚ. À̶§ ÀÌ¿¡ ¼ÓÇÏ´Â
"°Å¸®"¿Í "°Å¸®º¯È" ÁýÇÕÀÇ ¼Ò¼Óµµ¸¦ ±¸ÇÏ¸é ´ÙÀ½°ú
°°ÀÌ °¢°¢ µÎ °³ÀÇ ÁýÇÕ¿¡ ¼ÓÇÔÀ» ¾Ë ¼ö ÀÖ´Ù.


À§ÀÇ ±×·¡ÇÁó·³ °Å¸®°ªÀÌ 1.3ÀÏ ¶§´Â "ÀÛÀ½"¿¡
0.75, "¿Ïº®"¿¡ 0.1ÀÌ ¼ÓÇϰí, °Å¸®º¯È°ªÀÌ 0.25ÀÏ ¶§´Â
"¾ÈÁ¤"¿¡ 0.6, "Áõ°¡"¿¡ 0.3ÀÇ ¼Ò¼Óµµ¸¦ °®´Â °ÍÀ»
¾Ë ¼ö ÀÖ´Ù.
ÇöÀç °Å¸®¿Í °Å¸®º¯È¿¡ °ª¿¡ ¼ÓÇÏ´Â ÁýÇÕµéÀÇ ±ÔÄ¢À»
¹Ì¸® ¼³Á¤ÇØ ³õÀº ÆÛÁö±ÔÄ¢¿¡¼ ã¾Æº¸¸é ´ÙÀ½°ú °°ÀÌ ¸ðµÎ 4°³ÀÇ ±ÔÄ¢µéÀÌ
°¡´ÉÇÏ´Ù. °¢ ±ÔÄ¢µéÀÇ ÂüÀÎ Á¤µµ´Â µÎ ÆÛÁö ÁýÇÕÀÇ AND¿¬»êÀ» Àû¿ëÇØ¼
¾çÂÊ ¸ðµÎ¸¦ ¸¸Á·ÇÒ ¼ö ÀÖ´Â °¡Àå Å« °ªÀ¸·Î °áÁ¤ÇÑ´Ù. ¿¹¸¦ µé¾î °Å¸®°¡
ÀÛ°í(0.75) °Å¸®º¯È°¡ Áõ°¡(0.3)À̶ó¸é 0.75 AND 0.3 = 0.3ÀÌ ±ÔÄ¢ÀÇ
Âü Á¤µµ°¡ µÈ´Ù.

ÀÌÁ¦ ¸¶Áö¸·À¸·Î, ÀÌ·¸°Ô ¾òÀº °á°ú·ÎºÎÅÍ ÇϳªÀÇ
ÃÖÁ¾ÀûÀÎ °ªÀ» ¾ò¾î¾ß Çϴµ¥ ÀÌ·¯ÇÑ ¹æ¹ýÀ» ¿ªÆÛÁöÈ(defuzzification
method)¶ó°í ÇÑ´Ù. ¿ªÆÛÁöÈ ¹æ¹ý¿¡´Â ¿©·¯ °¡Áö°¡ Àִµ¥ ¿©±â¼´Â
´Ü¼øÇÏ°Ô °¡Àå Âü Á¤µµ°¡ ³ôÀº ±ÔÄ¢À» ¼±ÅÃÇÏ¿´´Ù.
¿ªÆÛÁöÈ °á°ú·Î ³ª¿Â ÃÖÁ¾ ±ÔÄ¢Àº "°Å¸®°¡
ÀÛ°í °Å¸®º¯È°¡ ¾ÈÁ¤"ÀÌ°í ÆÛÁö±ÔÄ¢¿¡¼ ÀÌ¿¡ µû¸¥ ÇൿÀº "°¨¼Ó"ÀÓÀ»
¾Ë ¼ö ÀÖ´Ù. ¿©±â¿¡ Âü Á¤µµ°¡ 0.6À̹ǷΠÇöÀç Â÷ÀÇ ¼Óµµ´Â speed -=
(speed/2)*(0.6)À¸·Î °è»êÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ °úÁ¤À» ¸ðµç Â÷µé¿¡ ´ëÇØ Àû¿ëÇÏ¸é µµ·Î¸¦
ÀÏ·Ä·Î ´Þ¸®´Â Â÷µéÀÌ ¸Å¿ì Çö½ÇÀûÀÎ ¹æ½ÄÀ¸·Î ÀûÀýÈ÷ ¼Óµµ¸¦ º¯È½ÃŰ´Â
¸ð½ÀÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
[Âü°íÀÚ·á]
- Game Programming Gems
1±Ç, p.416 ~ p.428 - ÀΰøÁö´É °³³ä ¹×
ÀÀ¿ë, µµ¿ëÅÂ, »çÀÌÅØ¹Ìµð¾î, p.97 ~ p.123
|