°ÔÀÓ AI¿¡ ºüÁú ¼ö ¾ø´Â Ž»ö ¾Ë°í¸®ÁòÀÇ À̷кÎÅÍ ½ÇÀü °ÔÀÓ Àû¿ë±îÁö ½ÇÀü AI °ÔÀÓ ±¸ÇöÀ» À§ÇÑ C++ ±â¹Ý ¿¹Á¦ ÄÚµå Á¦°ø ¡º°ÔÀÓ AI¸¦ À§ÇÑ Å½»ö ¾Ë°í¸®Áò ÀÔ¹®¡»Àº °ÔÀÓ AI ±â¼úÀ» À§ÇÑ ÇÙ½É ¿ä¼Ò Áß ÇϳªÀÎ ¡®Å½»ö¡¯¿¡ ´ëÇØ ´Ù·é´Ù. Ž»öÀº Á¶ÇÕ·ÐÀû °ÔÀÓ ÀÌ·ÐÀÇ °ÔÀÓ Æ®¸® Ž»ö°ú Á¶ÇÕ ÃÖÀûȸ¦ »ç¿ëÇÑ ¸ÞŸ ÈÞ¸®½ºÆ½À» Æ÷ÇÔÇÏ¿© ÁöĪÇÏ´Â ¿ë¾îÀÌ´Ù. ÀÌ Ã¥¿¡¼´Â C++ °³¹ß ȯ°æ Áغñ¿Í Ç÷¹À̾îÀÇ ÇൿÀ» ¿¹ÃøÇϰųª Á¶ÇÕ ÃÖÀûȸ¦ ÀÌ¿ëÇÏ´Â µî °ÔÀÓ À¯Çü¿¡ µû¸¥ 1ÀÎ °ÔÀÓ¿¡ ¸ÂÃç ÀûÇÕÇÑ Å½»ö ¾Ë°í¸®ÁòÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ Àå±â³ª ¹ÙµÏó·³ ±³´ë·Î µÎ´Â 2ÀÎ °ÔÀÓ, µ¿½Ã¿¡ µÎ´Â 2ÀÎ °ÔÀÓ µî ´ÙÀ½ ¼ö¸¦ ÀüÇô ¿¹»óÇÒ ¼ö ¾ø´Â °ÔÀÓ¿¡ ¾î¿ï¸®´Â Ž»ö ¾Ë°í¸®Áòµµ ÇÔ²² »ìÆ캻´Ù. Àü¹ÝºÎ¿¡´Â °ÔÀÓ Á¾·ù¿¡ ¾î¿ï¸®´Â ¾Ë°í¸®ÁòÀ» ¼Ò°³Çß´Ù¸é, ÈĹݺο¡´Â ´õ ÁÁÀº Ž»öÀ» À§ÇÑ ¾Ë°í¸®Áò°ú ½ÇÀü¿¡¼ ¾î¶»°Ô È°¿ëÇÒ ¼ö ÀÖ´ÂÁö¸¦ ¹è¿öº»´Ù. ¡®Ä¿³ØÆ® Æ÷¡¯ ³îÀ̸¦ ÇÏ´Â AI¸¦ Á÷Á¢ ±¸ÇöÇØ º¸°í, °È½ÃÅ°´Â °úÁ¤À» ÅëÇØ ½ÇÀü ´É·ÂÀ» Å°¿öº»´Ù.
ÇöÀç HEROZ ÁÖ½Äȸ»ç¿¡¼ °ÔÀÓ AI °³¹ßÀ» Àü¹®À¸·Î ÇÏ°í ÀÖ´Ù. ÇÁ·Î±×·¡¹Ö ´ëȸ¿¡¼´Â ¡®thunder¡¯¶ó´Â ´Ð³×ÀÓÀ¸·Î È°µ¿Çϸç, ¸Å³â ¿¸®´Â IEEE Conference on Games¿¡¼ °³ÃֵǴ °ÔÀÓ AI °æÀï ´ëȸ¿¡¼ 7ȸ ¿ì½ÂÇÑ °æ·ÂÀÌ ÀÖ´Ù. ±× Áß¿¡¼ ƯÈ÷ Fighting Game AI Competition¿¡¼ 4¿¬Æи¦ ´Þ¼ºÇß´Ù. ¶ÇÇÑ, Qiita¿¡´Â ÀÌ Ã¥ÀÇ ±â¹ÝÀÌ µÈ ¡®¼¼°è 4¿¬ÆÐ AI ¿£Áö´Ï¾î°¡ Á¦·ÎºÎÅÍ ¾Ë·ÁÁÖ´Â °ÔÀÓ Æ®¸® Ž»ö ÀÔ¹®¡¯À̶ó´Â ±ÛÀ» ±â°íÇÏ´Â µî Ž»ö ¾Ë°í¸®ÁòÀ» ³Î¸® ¾Ë¸®°íÀÚ Èû¾²°í ÀÖ´Ù.
1Àå °ÔÀÓ°ú Ž»öÀÇ ¼¼°è 1.1 °ÔÀÓ AI¿Í Ž»ö __1.1.1 °ÔÀÓ¿¡¼ ¸»ÇÏ´Â AI¿Í Ž»ö __1.1.2 °ÔÀÓ Á¾·ù¿Í Ž»ö ¾Ë°í¸®Áò 1.2 °ÔÀÓ¿¡¼ Ž»öÀÇ ¸Å·Â __1.2.1 °³ÀÎ °ÔÀÓ °³¹ßÀ» ÇÑ´Ù¸é Ž»ö! __1.2.2 ´ë±Ô¸ð »ó¾÷ °ÔÀÓ °³¹ß¿¡¼µµ Ž»ö!__1.2.3 ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ´ëȸ¿¡¼ À̱â±â À§ÇÑ ºñÀåÀÇ ¹«±â 2Àå °³¹ß ȯ°æ Áغñ2.1 WSL(Windows Subsystem for Linux) ¼³Ä¡ ¹æ¹ý__2.1.1 WSL µ¿ÀÛ È®ÀÎ __2.1.2 CPU °¡»óÈ ±â´É È®ÀÎ __2.1.3 ¹ÙÀÌ¿À½º/UEFI¿¡¼ °¡»óÈ ±â´É È°¼ºÈ__2.1.4 ¹èÆ÷ÆÇ ¼³Á¤__2.1.5 ÆÐÅ°Áö ¾÷µ¥ÀÌÆ®__2.1.6 C++ °³¹ß ȯ°æ ¼³Ä¡Çϱâ 3Àå ÄÁÅؽºÆ®°¡ ÀÖ´Â 1ÀÎ °ÔÀÓ¿¡¼ »ç¿ëÇÏ°í ½ÍÀº Ž»ö ¾Ë°í¸®Áò 3.1 ¿¹Á¦ °ÔÀÓ ¼Ò°³: ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ __3.1.1 ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ __3.1.2 ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ ±¸ÇöÇϱâ3.2 ±×¸®µð ¾Ë°í¸®Áò(Ž¿å¹ý) __3.2.1 ±×¸®µð ¾Ë°í¸®ÁòÀÇ Æ¯Â¡°ú µ¿ÀÛ: ¸ðµç Ž»ö ¾Ë°í¸®ÁòÀÇ ±âÃÊ! À̰͸¸ ÀÖÀ¸¸é ½Î¿ï ¼ö ÀÖ´Ù!__3.2.2 ±×¸®µð ¾Ë°í¸®Áò ±¸ÇöÇϱâ 3.3 ºö Ž»ö__3.3.1 ºö Ž»öÀÇ Æ¯Â¡°ú µ¿ÀÛ: Ž»ö °ø°£À» ÆľÇÇضó! °æÁø ´ëȸ »óÀ§±Ç¿¡¼ ÀÚÁÖ µîÀåÇϴ Ž»ö¹ý!__3.3.2 ºö Ž»ö ±¸ÇöÇϱâCOLUMN ºö Ž»ö ±¸Çö ¹æ½Ä º¯°æ3.4 Chokudai Ž»ö __3.4.1 Chokudai Ž»öÀÇ Æ¯Â¡°ú µ¿ÀÛ: ´Ù¾ç¼ºÀ» ÀÚµ¿À¸·Î È®º¸! °£ÆíÇÏ°í Ãʺ¸ÀÚ¿¡°Ô Ãßõ!__3.4.2 Chokudai Ž»ö ±¸ÇöÇϱâ 4Àå ÄÁÅؽºÆ®°¡ ¾ø´Â 1ÀÎ °ÔÀÓ¿¡¼ »ç¿ëÇÏ°í ½ÍÀº Ž»ö ¾Ë°í¸®Áò 4.1 ¿¹Á¦ °ÔÀÓ ¼Ò°³: ÀÚµ¿ ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ __4.1.1 ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ __4.1.2 ÀÚµ¿ ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î ±¸ÇöÇϱâ 4.2 ¾ð´ö ¿À¸£±â Ž»ö __4.2.1 ¾ð´ö ¿À¸£±â Ž»öÀÇ Æ¯Â¡°ú µ¿ÀÛ: Âø½ÇÇÏ°Ô ÁÁÀº ´äÀ» Ž»öÇÑ´Ù! °£´ÜÇÏ°í ¾ÈÁ¤°¨ ÀÖ´Â ¾Ë°í¸®Áò!__4.2.2 ¾ð´ö ¿À¸£±â Ž»ö ±¸ÇöÇϱâ 4.3 ´ã±ÝÁú ±â¹ý__4.3.1 ´ã±ÝÁú ±â¹ýÀÇ Æ¯Â¡°ú µ¿ÀÛ: ±¹¼Ò ÃÖÀûÇØ¿¡¼ ¹þ¾î³ª¶ó! ¸¶¶óÅæ ¸ÅÄ¡·Î Ä£¼÷ÇÑ ¾Ë°í¸®Áò!__4.3.2 ´ã±ÝÁú ±â¹ý ±¸ÇöÇϱâ COLUMN ¸ÞŸ ÈÞ¸®½ºÆ½5Àå ±³´ë·Î µÎ´Â 2ÀÎ °ÔÀÓ¿¡¼ »ç¿ëÇÏ°í ½ÍÀº Ž»ö ¾Ë°í¸®Áò 5.1 ¿¹Á¦ °ÔÀÓ ¼Ò°³: ±³´ë·Î µÎ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ __5.1.1 ±³´ë·Î µÎ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ __5.1.2 ±³´ë·Î µÎ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î ±¸ÇöÇϱâ 5.2 ¹Ì´Ï¸Æ½º ¾Ë°í¸®Áò __5.2.1 ¹Ì´Ï¸Æ½º ¾Ë°í¸®ÁòÀÇ Æ¯Â¡°ú µ¿ÀÛ: ½ÅÀÇ ÇÑ ¼ö! __5.2.2 ¹Ì´Ï¸Æ½º ¾Ë°í¸®Áò ±¸ÇöÇϱâ5.3 ¾ËÆÄ-º£Å¸ °¡ÁöÄ¡±â__5.3.1 ¾ËÆÄ-º£Å¸ °¡ÁöÄ¡±âÀÇ Æ¯Â¡°ú µ¿ÀÛ: ³¶ºñ´Â ¿ë¼ÇÒ ¼ö ¾ø´Ù! ¹Ì´Ï¸Æ½º ¾Ë°í¸®Áò ÁøÈ!COLUMN ¹Ì´Ï¸Æ½º ¾Ë°í¸®Áò°ú ¾ËÆÄ-º£Å¸ °¡ÁöÄ¡±âÀÇ °ü°è__5.3.2 ¾ËÆÄ-º£Å¸ °¡ÁöÄ¡±â ±¸ÇöÇϱâ5.4 ¹Ýº¹ ½ÉÈ Å½»ö__5.4.1 ¹Ýº¹ ½ÉÈ Å½»öÀÇ Æ¯Â¡°ú µ¿ÀÛ: ³¶ºñÇÒ ½Ã°£ÀÌ ¾ø´Ù! ÃÖÀûÀÇ Æ®¸® ±íÀ̸¦ ãÀÚ!__5.4.2 ¹Ýº¹ ½ÉÈ Å½»ö ±¸ÇöÇϱâ5.5 ¼ø¼ö ¸óÅ×Ä«¸¦·Î Ž»ö __5.5.1 ¼ø¼ö ¸óÅ×Ä«¸¦·Î Ž»öÀÇ Æ¯Â¡°ú µ¿ÀÛ: °ÔÀÓÆÇ Æò°¡´Â ÇÊ¿ä¾ø´Ù! ½Â·üÀÌ ÁÁÀº ¼ö¸¦ ¼±ÅÃÇÏÀÚ!COLUMN ¸óÅ×Ä«¸¦·Î Ž»ö°ú ¶ó½ºº£°¡½º Ž»ö__5.5.2 ¼ø¼ö ¸óÅ×Ä«¸¦·Î Ž»ö ±¸ÇöÇϱâ5.6 MCTS ¸óÅ×Ä«¸¦·Î Æ®¸® Ž»ö __5.6.1 MCTSÀÇ Æ¯Â¡°ú µ¿ÀÛ: ÀûÀ» ¾èº¸Áö ¸»¶ó! °ÀÚ ´ë°á ½Ã¹Ä·¹À̼Ç__5.6.2 MCTS ±¸ÇöÇϱâ5.7 Thunder Ž»ö__5.7.1 Thunder Ž»öÀÇ Æ¯Â¡°ú µ¿ÀÛ: ÇÊÀÚ°¡ ¹ß¸í! °ÔÀÓÆÇ Æò°¡¸¦ ÀÌ¿ëÇؼ À¯¸®ÇÑ ³ëµå¸¦ Ž»öÇÑ´Ù!__5.7.2 Thunder Ž»ö ±¸ÇöÇϱâCOLUMN Thunder Ž»öÀº ¾î¶»°Ô ¸¸µé¾îÁ³³ª?6Àå µ¿½Ã¿¡ µÎ´Â 2ÀÎ °ÔÀÓ¿¡¼ »ç¿ëÇÏ°í ½ÍÀº Ž»ö ¾Ë°í¸®Áò6.1 ¿¹Á¦ °ÔÀÓ ¼Ò°³: µ¿½Ã¿¡ µÎ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ__6.1.1 µ¿½Ã¿¡ µÎ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ__6.1.2 µ¿½Ã¿¡ µÎ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î ±¸ÇöÇϱâ6.2 ±³´ë·Î µÎ´Â °ÔÀÓ¿ë ¾Ë°í¸®Áò Àû¿ë__6.2.1 ¼ø¼ö ¸óÅ×Ä«¸¦·Î Ž»ö ±¸ÇöÇϱâ__6.2.2 MCTS ±¸ÇöÇϱâ 6.3 DUCT(Decoupled Upper Confidence Tree)__6.3.1 DUCTÀÇ Æ¯Â¡°ú µ¿ÀÛ: µ¿½Ã¿¡ µÎ´Â °ÔÀÓÀ̶ó¸é ¹Ù·Î ÀÌ°Å!__6.3.2 DUCT ±¸ÇöÇϱâ7Àå ´õ ÁÁÀº Ž»öÀ» ÇÏ´Â ±â¹ý 7.1 ¿¹Á¦ °ÔÀÓ ¼Ò°³: º®ÀÌ ÀÖ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ__7.1.1 º®ÀÌ ÀÖ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î °ÔÀÓ__7.1.2 º®ÀÌ ÀÖ´Â ¼ýÀÚ ¸ðÀ¸±â ¹Ì·Î ±¸ÇöÇϱâ7.2 Æò°¡ ÇÔ¼ö ¼³°èÇϱâ__7.2.1 ½ÇÁ¦ ±â·Ï Á¡¼ö ÀÌ¿ÜÀÇ Èĺ¸ Á¡¼ö Ãß°¡Çϱâ__7.2.2 ½ÇÁ¦ ±â·Ï Á¡¼ö ÀÌ¿ÜÀÇ º¸Á¶ ±â·Ï Á¡¼ö¸¦ Ãß°¡ÇÏ´Â ¹æ¹ý ±¸ÇöÇϱâ7.3 ´Ù¾ç¼º È®º¸ ¹æħ__7.3.1 µ¿ÀÏ °ÔÀÓÆÇ Á¦°ÅÇϱâ__7.3.2 µ¿ÀÏ °ÔÀÓÆÇ Á¦°Å ±¸ÇöÇϱâ7.4 °í¼ÓÈ__7.4.1 ´Ù¼öÀÇ ºñÆ®¿·Î °ÔÀÓÆÇ Ç¥ÇöÇϱâ__7.4.2 ´Ù¼öÀÇ ºñÆ®¿·Î °ÔÀÓÆÇ Ç¥Çö ±¸ÇöÇϱâ__7.4.3 ´ÜÀÏ ºñÆ®¿·Î °ÔÀÓÆÇ Ç¥ÇöÇϱâ__7.4.4 ´ÜÀÏ ºñÆ®¿À» »ç¿ëÇÑ °ÔÀÓÆÇ Ç¥Çö ±¸ÇöÇϱâ__7.4.5 º¹»ç Ƚ¼ö Á¦¾îÇϱâ__7.4.6 ÂüÁ¶ Ä«¿îÆ® ¹æ½ÄÀ¸·Î º¹»ç Ƚ¼ö Á¦¾î ±¸ÇöÇϱâ8Àå ½ÇÁ¦ °ÔÀÓ¿¡ ÀÀ¿ëÇϱâ 8.1 Ä¿³ØÆ® Æ÷ °ÔÀÓÀ» Ç÷¹ÀÌÇÏ´Â AI ±¸ÇöÇϱâ__8.1.1 Ä¿³ØÆ® Æ÷ °ÔÀÓ__8.1.2 Ä¿³ØÆ® Æ÷ ±¸ÇöÇϱâ__8.1.3 °ÔÀÓÆÇ ºñÆ®º¸µå¸¦ ÀÌ¿ëÇؼ °í¼ÓÈÇϱâ__8.1.4 Ä¿³ØÆ® Æ÷¿¡ ºñÆ® ¿¬»êÀ» Àû¿ëÇؼ ±¸ÇöÇϱâ