[ÆÛÁö³í¸®¸¦ »ç¿ëÇÑ ¼ÓµµÁ¦¾î ±¸Çö]

- ¿ìÁ¾ÇÏ(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

 

[1]