[À¯ÀüÀÚ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÑ Àΰø»ýÅÂ°è ±¸Çö]

- ¿ìÁ¾ÇÏ(deepseas(AT)sogang.ac.kr)

 


    - ¸¶¿ì½º·Î °³Ã¼¸¦ Ŭ¸¯ÇÏ¸é Æ¯¼ºÄ¡ Ç¥½Ã

    - ¼Ò½ºÄÚµå [Down]

    - ÀÚ¹Ù Runtime [Down] : ¾ÖÇø´ÀÌ ½ÇÇàÀÌ ¾ÈµÉ °æ¿ì ¼³Ä¡, ¼³Ä¡ÈÄ ÀͽºÇ÷ξî Àç½ÇÇà

 

À¯ÀüÀÚ ¾Ë°í¸®Áò(Genetic Algorithm)

À¯ÀüÀÚ ¾Ë°í¸®ÁòÀº ÀÚ¿¬ÀÇ ÁøÈ­°úÁ¤À» ¸ðµ¨¸µÇÏ¿© ±¸ÇöÇÑ Å½»ö ¾Ë°í¸®ÁòÀ̶ó ÇÒ ¼ö ÀÖ´Ù. ±âº»ÀûÀÎ °³³äÀº ÁÖ¾îÁø ¹®Á¦¿¡ ´ëÇØ °¡´ÉÇÑ ÇØµéÀ» Á¤ÇØÁø ÇüÅ·ΠǥÇöÇÑ ÈÄ À̵éÀ» º¯È­½Ã۰í, ±× °á°úµé Áß ÀûÇÕµµ°¡ ³ôÀº °ÍµéÀ» ¼±ÅÃÇÏ¿© º¯È­¸¦ °è¼ÓÇÔÀ¸·Î½á º¸´Ù ÁÁÀº ÇØ¿¡ µµ´ÞÇÑ´Ù´Â °ÍÀÌ´Ù. ÀÌ´Â ¸¶Ä¡ ºÎ¸ðÀÇ À¯ÀüÀÎÀÚ Áß ¿ì¼ºÀÇ ÇüÁúÀ» Áö´Ñ °³Ã¼°¡ ¹ø¼ºÇذ£´Ù´Â ´ÙÀ©ÀÇ ÁøÈ­·ÐÀû ÀûÀÚ»ýÁ¸ÀÇ ¹ýÄ¢°ú À¯»çÇÏ´Ù.

ÁÖ¾îÁø ¹®Á¦¿¡ °¡´ÉÇÑ ÇØ, Áï °¢ °³Ã¼µéÀÇ À¯ÀüÀû ±¸Á¶´Â º¸Åë °íÁ¤µÈ ±æÀÌÀÇ ÀÌÁø°ªÀ¸·Î Ç¥ÇöµÇ´Ù. ÀÌ·¯ÇÑ À¯ÀüÀÚ´Â ´ÙÀ½°ú °°ÀÌ µÎ °¡Áö ¹æ¹ýÀ¸·Î ºÎ¸ð°³Ã¼·ÎºÎÅÍ »õ·Î¿î °³Ã¼·Î »ý¼ºµÈ´Ù. ù°´Â ±³Â÷º¯ÀÌ(crossover)¶ó°í ÇÏ´Â °ÍÀ¸·Î ºÎ¸ð °³Ã¼µéÀÇ Æ¯Á¤ ±³Â÷Á¡¿¡¼­ ±× ÀÌÈÄÀÇ °ªµéÀ» ¼­·Î ±³È¯ÇÏ´Â °ÍÀÌ´Ù. µÑ°´Â µ¹¿¬º¯ÀÌ(mutation)·Î 0À» 1·Î, ȤÀº 1À» 0À¸·Î ºñÆ®°ªÀ» ¹Ý´ë°ªÀ¸·Î º¯È¯ÇÏ´Â °ÍÀÌ´Ù.

ÀÌ·¸°Ô »õ·Î¿î ÀÚ½Ä °³Ã¼µéÀ» »ý¼ºÇÑ ÈÄ¿¡ ÀûÇÕµµ ÇÔ¼ö(fitness function)À» ÅëÇØ¼­ ÁÖ¾îÁø ¹®Á¦¿¡ ÀûÇÕÇÑ °³Ã¼µé¸¸À» °ñ¶ó ¼±ÅÃÇϰí, ´Ù½Ã ¼±ÅÃµÈ °³Ã¼µéÀ» ±³Â÷º¯ÀÌ¿Í µ¹¿¬º¯À̸¦ ÅëÇØ »õ·Î¿î °³Ã¼µéÀ» »ý¼ºÇÔÀ¸·Î½á º¸´Ù ÁÁÀº ÇØ¿¡ µµ´ÞÇÒ ¶§±îÁö ¹Ýº¹ÇÑ´Ù.

 

ÁøÈ­ÇÏ´Â °£´ÜÇÑ Àΰø»ý°èÅÂÀÇ ±¸Çö

À§¿Í °°Àº À¯ÀüÀÚ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ¿© ÀΰøÀûÀΠȯ°æ¾È¿¡¼­ ÁøÈ­ÇÏ´Â °¡»ó»ý¸íüµéÀ» ±¸ÇöÇÏ¿© º¸¾Ò´Ù. ÀΰøÈ¯°æ¾È¿¡´Â Àú±Û¸µ, ÆÄÀ̾î¹î, Áú·µÀ̶ó´Â ¼¼ Á¾·ùÀÇ Á¾Á·ÀÌ Á¸ÀçÇÏ°í °¢ Á¾Á·Àº Àú´Ù¸¶ ´Ù¸¥ À°Ã¼Àû Ư¡À» °®°í ÀÖ´Ù. ±×¸®°í ÀÌ·¯ÇÑ Æ¯¼ºÀº À¯ÀüÀÚ Äڵ忡 ÀúÀåµÇ¾î ÀÖ°í, ¹ø½ÄÀ» ¼öÇàÇÒ ¶§ °³Ã¼ÀÇ À¯ÀüÀû Ư¼ºÀÌ Àü´ÞµÇ¾î ºÎ¸ð°³Ã¼ÀÇ Æ¯Â¡µéÀÌ Àڽݳü¿¡°Ô·Î À̾îÁø´Ù.

À̶§ ƯÁ¤ÇÑ È®·ü·Î ÀÓÀÇÀÇ À¯ÀüÄڵ尡 µ¹¿¬º¯À̸¦ ÅëÇØ º¯À̸¦ ÇÔÀ¸·Î½á ºÎ¸ð°³Ã¼ÀÇ Æ¯¼ºÀ» À¯ÁöÇÏÁö¸¸ Á¶±Ý º¯ÇüµÈ Ư¼ºÀ» ¹°·Á¹Þ°Ô µÇ°í ¸¸¾à º¯ÇüµÈ Ư¼ºÀÌ È¯°æ¿¡¼­ »ì¾Æ³²±â¿¡ ´õ ÀûÇÕÇÏ´Ù¸é ±×·¯ÇÑ Æ¯¼ºÀÌ °³Ã¼µéÀÌ ´õ¿í ¹ø¼ºÇÏ°Ô µÉ °ÍÀÌ´Ù.

À¯ÀüÀÚ Á¾·ù°¡ ¸¹Áö ¾ÊÀº Ư¼º»ó ±³Â÷º¯ÀÌ´Â »ç¿ëÇÏÁö ¾Ê°í µ¹¿¬º¯ÀÌ ¹æ¹ý¸¸ »ç¿ëÇÏ¿´´Ù. ±×¸®°í ƯÁ¤ÇÑ ÀûÇÕµµ ÇÔ¼ö´Â Á¸ÀçÇÏÁö ¾Ê°í ȯ°æ¾È¿¡¼­ º¸´Ù ¸¹Àº ¸ÔÀ̸¦ ¸Ô°í ½Î¿ò¿¡ À̱â´Â °³Ã¼µéÀº Àڽݳü¸¦ »ý¼ºÇÏ°í ±×·¸Áö ¸øÇÑ °³Ã¼µéÀº Á×À½À¸·Î½á ÀÚ¿¬½º·´°Ô ȯ°æ¿¡ ÀûÇÕÇÑ Æ¯¼ºÀ» °¡Áø °³Ã¼µé¸¸ÀÌ »ì¾Æ³²¾Æ ¹ø¼ºÇÏ°Ô µÉ °ÍÀÌ´Ù.

óÀ½¿¡´Â ·£´ýÇÏ°Ô ¼±ÅÃµÈ À¯ÀüÀÚ Æ¯¼ºµé·Î ½ÃÀÛÇÏÁö¸¸, ½Ã°£ÀÌ È带¼ö·Ï ȯ°æ¿¡ À¯¸®ÇÑ °³Ã¼µé¸¸ÀÌ »ì¾Æ³²¾Æ ¹ø½ÄÀ» ÇÏ°Ô µÉ °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥ÀÇ ¸ñÀûÀº ¼­·Î ´Ù¸¥ À°Ã¼Àû Ư¡À» °®°í ÀÖ´Â ¼¼ Á¾Á·ÀÌ ¾î¶»°Ô ȯ°æ¿¡ ÀûÀÀÀ» ÇÏ°í ¾î¶°ÇÑ ¹æÇâÀ¸·Î À¯ÀüÀû Ư¡µéÀÌ ¹ßÀüÇÏ´ÂÁö¸¦ »ìÆìº¸´Âµ¥ ÀÖ´Ù.

 

°³Ã¼ÀÇ À¯ÀüÀÚ Á¾·ù

°³Ã¼ÀÇ À¯ÀüÀÚ Æ¯¼ºÀº ´ÙÀ½°ú °°ÀÌ 4°¡Áö°¡ ÀÖ´Ù.

- ½Ã¾ß(Sight)
    : °³Ã¼°¡ ¹Ù¶óº¼ ¼ö ÀÖ´Â °Å¸®. ½Ã¾ß°¡ ³ÐÀ»¼ö·Ï ¸ÔÀ̸¦ ¸ÕÀú ¹ß°ßÇÏ¿© ¸ÔÀ̸¦ ÇâÇØ ´Ù°¡°£´Ù.
    : °¢ Á¾Á·¸¶´Ù °¡Áú ¼ö ÀÖ´Â ½Ã¾ßÀÇ ¹üÀ§´Â Àú±Û¸µ(5~10), ÆÄÀ̾î¹î(3~7), Áú·µ(1~5)

- Èû(Strength)
    : °³Ã¼ÀÇ ÀüÅõ ´É·Â. ÈûÀÌ ³ôÀ»¼ö·Ï ½Î¿ò¿¡¼­ À̱æ È®·üÀÌ ³ô´Ù.
    : °¢ Á¾Á·¸¶´Ù °¡Áú ¼ö ÀÖ´Â ÈûÀÇ ¹üÀ§´Â Àú±Û¸µ(1~5), ÆÄÀ̾î¹î(3~7), Áú·µ(5~10)

- À̵¿¼ºÇâ(Move)
    : ³ôÀ»¼ö·Ï À̵¿ÇÒ È®·üÀÌ ³ô°í ³·À»¼ö·Ï ¿òÁ÷ÀÌÁö ¾ÊÀ» È®·üÀÌ ³ô´Ù.
    : ¼¼ Á¾Á· ¸ðµÎ (1~10)

- °ø°Ý¼ºÇâ(Attack)
    : ³ôÀ»¼ö·Ï ´Ù¸¥ Á¾Á·°ú ÀüÅõÇÒ È®·üÀÌ ³ô°í ³·À»¼ö·Ï ÀüÅõ¸¦ ȸÇÇÇÒ È®·üÀÌ ³ô´Ù.
    : ¼¼ Á¾Á· ¸ðµÎ (1~10)

 

±âŸ ±ÔÄ¢µé

- °¢ Á¾Á·ÀÇ ±âº»Ã¼·ÂÀº Àú±Û¸µ(50), ÆÄÀ̾î¹î(70), Áú·µ(100)
- ¹Ì³×¶öÀ» ¸ÔÀ¸¸é ü·ÂÀÌ 20 Áõ°¡
- ¹Ì³×¶öÀº Åϸ¶´Ù ¼³Á¤µÈ °³¼ö¸¸Å­ Áõ°¡(0~5)
- ½Ã¾ß³»¿¡ ¹Ì³×¶öÀÌ ÀÖÀ¸¸é ±×ÂÊÀ¸·Î À̵¿
- ÇÑ Ä­ À̵¿½Ã ü·ÂÀÌ ÀÏÁ¤¼öÄ¡ °¨¼Ò. Àú±Û¸µ(-1), ÆÄÀ̾î¹î(-2), Áú·µ(-5)
- ´ë±â½Ã¿¡µµ ü·ÂÀÌ ÀÏÁ¤¼öÄ¡ °¨¼Ò. Àú±Û¸µ(-1), ÆÄÀ̾î¹î(-1), Áú·µ(-1)
- ÁÖÀ§(ÇÑÄ­)¿¡ ´Ù¸¥ Á¾Á· ¹ß°ß½Ã °ø½Ä¿¡ ÀÇÇØ ÀüÅõ¿©ºÎ °áÁ¤ : °ø°Ý¼ºÇâ1+°ø°Ý¼ºÇâ2+·£´ýÄ¡ > ÀÏÁ¤¼öÄ¡
- ÀüÅõ¹ß»ý½Ã °ø½Ä¿¡ ÀÇÇØ ½ÂÆÐ °áÁ¤ : Èûx(ü·Â/10+·£´ýÄ¡)
- ÀüÅõ½Â¸®½Ã »ó´ë ¸¸Å­ ü·Â Áõ°¡
- ±âº»Ã¼·ÂÀÇ 2¹è°¡ µÇ¸é ¹ø½Ä
- ¹ø½Ä½Ã ƯÁ¤ÇÑ È®·ü·Î °¢ Ư¼º°ªÀÌ µ¹¿¬º¯À̵Ê
- ü·ÂÀÌ '0'ÀÌ µÇ¸é Á×À½
- ÀüÅõ½Ã »¡°£»ö Å×Åõ¸® Ç¥½Ã
- ¹ø½Ä½Ã ÆÄ¶õ»ö Å×Åõ¸® Ç¥½Ã

 

°á°ú ºÐ¼®

¿¹¿Ü°¡ ÀÖ±ä ÇÏÁö¸¸ º¸Åë ÃæºÐÇÑ ½Ã°£ÀÌ È帥µÚ¿¡ °¢ Á¾Á·ÀÇ Æ¯¼ºÀ» »ìÆìº¸¸é ´ÙÀ½°ú °°´Ù.

- Àú±Û¸µ
    : ½Ã¾ß¿Í ÈûÀÌ ³ô´Ù
    : À̵¿¼ºÇâÀÌ ³ô´Ù
    : °ø°Ý¼ºÇâÀÌ ³·´Ù

- ÆÄÀ̾î¹î
    : ½Ã¾ß¿Í ÈûÀÌ ³ô´Ù
    : À̵¿¼ºÇâÀÌ ³ô´Ù
    : °ø°Ý¼ºÇâÀÌ ³ô´Ù

- Áú·µ
    : ½Ã¾ß¿Í ÈûÀÌ ³ô´Ù
    : À̵¿¼ºÇâÀÌ ³·´Ù
    : °ø°Ý¼ºÇâÀÌ ³ô´Ù

¼¼ Á¾Á· ¸ðµÎ °øÅëÀûÀ¸·Î ½Ã¾ß¿Í ÈûÀÌ ³ôÀº °³Ã¼µéÀÌ ¹ø¼ºÇÏ¿´´Ù. ÀÌ´Â ¸ÔÀÌ ¹ß°ß°ú ½Î¿ò½Ã À¯¸®ÇÏ°Ô ÀÛ¿ëÇϱ⠶§¹®ÀÌ´Ù.Àú±Û¸µÀº À°Ã¼Àû Ư¼ºÀÌ ½Ã¾ß°¡ ³ÐÀº ´ë½Å ÈûÀÌ ¾àÇϱ⠶§¹®¿¡ »¡¸® À̵¿ÇÏ°í ½Î¿òÀ» ÇÇÇϴ Ư¼ºÀ» º¸¿´´Ù. ÆÄÀ̾î¹îÀº À°Ã¼Àû Ư¼ºÀÌ Áß°£Ä¡À̱⠶§¹®À̶ó ±×·±Áö À̵¿¼ºÀÌ ³ô¾Æ ¸ÔÀ̵µ »¡¸®¸Ô°í °ø°Ý¼ºÇâµµ ³ô¾Æ Àú±Û¸µ¿¡ °æ¿ì °ø°ÝÇÏ´Â °ÍÀÌ À¯¸®ÇÏ°Ô ÀÛ¿ëÇÑ´Ù. Áú·µÀº ½Ã¾ß°¡ Á¼°í À̵¿½Ã ü·ÂÀÌ ¸¹ÀÌ µå´Â ´ë½Å ÈûÀÌ ÁÁ±â ¶§¹®¿¡ À̵¿Àº Àû°Ô Çϰí ÁÖ·Î °ø°ÝÀ» ÅëÇØ ü·ÂÀ» ³ôÀÌ´Â ¹æÇâÀ¸·Î ¹ßÀüÇÏ¿´´Ù.

 

[Âü°íÀÚ·á]

    - AI Game Programming Wisdom, Francois Laramee, p.841 ~ p.853
    - Àΰø»ý¸í, ½ºÆ¼ºì ÇÁ·¹ÀÌŸ, p.201 ~ p.226

 

[1]