ÍӤο͹©ÃÎǽ¸¦µæ ¡Á¾­´ýAI³«È¯¤ÎÆü¡¹¡Á

¾­´ý¡¢¥ê¥Ð¡¼¥·¤Î£Á£É¥×¥í¥°¥é¥ß¥ó¥°¤òÃæ¿´¤Ë¤½¤Î³«È¯²áÄøµÚ¤Óµ­Ï¿¤ò´èÄ¥¤Ã¤Æ¹¹¿·¤·¤Æ¤¤¤­¤Þ¤¹¡£

¥ª¥»¥í¤Î¥Ñ¥¿¡¼¥ó³Ø½¬ºÆ³«

ºòÆü¤«¤é;¤Ã¤Æ¤¤¤ë£Ð£Ã¡ÊLinux¡Ë¤òÍøÍѤ·¤Æ¥ª¥»¥í¤Î¥Ñ¥¿¡¼¥ó³Ø½¬¤òºÆ³«¤·¤Æ¤¤¤Þ¤¹¡£´ýÉè¤ÏËͤÎÀèÀ¸¤Ç¤¢¤ë¡Ê¾¡¼ê¤ËÀèÀ¸¤È¸Æ¤ó¤Ç¤´¤á¤ó¤Ê¤µ¤¤¡ËThell¤ÈvsOtha¤ÎÂçÎ̤δýÉè¤òÍѤ¤¤Æ¤ä¤Ã¤Æ¤¤¤Þ¤¹¡£
´ýÉè¤Ï2ǯ°ÌÁ°¤Ë½¦¤Ã¤¿¤â¤Î¤Ê¤Î¤Ç¡¢¤É¤³¤Ç½¦¤Ã¤¿¤«¤Ï˺¤ì¤Þ¤·¤¿¤¬¡¢80300Ëü´ýÉè¡ÊÌó750MB¡Ë¤Ï¤¢¤ê¤Þ¤¹¡£ºÇ¶á¥¯¥½½ë¤¤¤Î¤Ë¡¢¥Û¥ó¥Þ²¿¤·¤Æ¤ó¤Í¤ó¤Æ´¶¤¸¡Ä¡£
£µ£°Ëü´ýÉè·×²è - OWiki¡¡URL¡§http://starlancer.org/~is2004/owiki/index.cgi?page=%A3%B5%A3%B0%CB%FC%B4%FD%C9%E8%B7%D7%B2%E8

®ÅÙ¤â¤Ü¤Á¤Ü¤ÁÁᤤ¤·¡¢¦ÂÃͤÏ0.05¤«¤é¥¹¥¿¡¼¥È¤Ç¤¹¡£¤ä¤Ã¤Ñ¤³¤ì°Ì¤¸¤ã¤Ê¤¤¤È»×¤¤¤Ã¤­¤êȯ»¶¤·¤Æ¤·¤Þ¤¦¡Ê´À

¤È¤ê¤¢¤¨¤º²Èµ¢¤Ã¤¿¤é»²¹ÍURL¤òÄɵ­¤·¤Þ¤¹¡£
http://www.neurosci.aist.go.jp/~kurita/lecture/neuro/node3.html
¤³¤³¤Ë·ÇºÜ¤µ¤ì¤Æ¤¤¤ëºÇ¾®Æó¾èË¡¤òÍѤ¤¤Æ¤ä¤Ã¤Æ¤¤¤Þ¤¹¡£

ºÇ¶á¡¦¡¦¡¦

Á´¤¯¾­´ýAI¤Ë¤â¥ª¥»¥íIA¤Ë¤â¼ê¤ò¤Ä¤±¤Æ¤Þ¤»¤ó¡£¡£¡£

µ×¤·¤Ö¤ê¤Ë¾¯¤·¤¤¤¸¤ê¤¿¤¯¤Ê¤Ã¤Æ¤­¤¿¡Ê´À

¤â¤Ã¤ÈÀµ³Î¤Êɾ²Á´Ø¿ô¡ª

¡¡¤¢¤¡Á°²ó¤«¤é¤Þ¤¿ÁêÅö¤Ê»þ¤¬¤¿¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿(ŽÉ¡­Ž¥§¥Ž¥)ŽÉŽÐ(m¡­_ _)m

¡¡¥«¥Ê¥êÁ°¤ÎÏäˤʤäƤ·¤Þ¤¦¤ó¤Ç¤¹¤¬¡¢11·î¾å½Ü¤Ë¤¢¤Ã¤¿ACM/¥¢¥¸¥¢Ã϶èͽÁª(²£ÉÍÂç²ñ)¤Ë¡ØHanafuda Shuflle GIVEUP orz¡Ù¤È¤¤¤¦¥Á¡¼¥à̾¤Ç½Ð¾ì¤·¤¿»þ¤ÎÏäǤ¹¡£²¿¤È¡¢º£¤Þ¤Ç¥ê¥Ð¡¼¥·¤ÎAI¤Ë¤Ä¤¤¤ÆÁêÅöÊÙ¶¯¤µ¤»¤Æ¤â¤é¤Ã¤¿¡¢¹ñÆâ¤Ç¤â¥È¥Ã¥×¥¯¥é¥¹¤È¸À¤ï¤ì¤Æ¤¤¤ëThell¤ÈvsOtha¤Îºî¼Ô¤¬¶öÁ³»²²Ã¤µ¤ì¤Æ¤ª¤é¤ì¤¿¤Î¤Ç¤¹¡ª¡ª¤³¤ì¤Ë¤Ï¥«¥Ê¥ê¤Î¾×·â¤¬¤¢¤ê¤Þ¤·¤¿¡£¼«Ê¬¤Î´¶È¸¦µæ¤Î¸¦µæÆâÍÆ¤È¤«Ï䷤Ƥ¤¤ë»þ¤Ë¡¢¥ê¥Ð¡¼¥·¤Î¤ÎÏÃÂê¤Ë¤Ê¤êThell¤Ë¤ÏÊÙ¶¯¤µ¤»¤Æ¤â¤é¤Ã¤¿¤è¡Á¤È¤«Ï䷤Ƥ¤¤ë¤È¡¦¡¦¡¦¡¦¡£
A¤µ¤ó¡§¡Ö¥³¥¤¥Ä¤¬Thell¤À¤è¡ª¡×
²¶¡§¡Ö¤¨¤Ã¡ª¡©¡×
A¤µ¤ó¡§¡ÖvsOtha¤â¤¤¤ë¤è¡×
²¶¡§¡Ö¡¦¡¦¡¦¡×

¤³¤Î¸å¤Ï¤«¤Ê¤ê¥ê¥Ð¡¼¥·¤ÎÏÃÂê¤ÇÀ¹¤ê¾å¤¬¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡Ê´À¡£º£¤Þ¤ÇÀ¸¤­¤Æ¤­¤¿Ãæ¤Ç¤³¤ì¤Û¤É¤âÀ¤³¦¤Ï¶¹¤¤¤â¤Î¤«¤È´¶¤¸¤¿°ìÆü¤Ç¤·¤¿¡£¡£¡£¤Á¤Ê¤ß¤Ë¡¦¡¦¡¦Åö¥Ö¥í¥°¤Î¸ºß¤âÃΤäƤª¤é¤ì¤¿¤ß¤¿¤¤¤Ç¤¹Ž¡:Žß(Ž¡ŽÉ¦Ø¡ÀŽ¡)Žßޥޡ


¡¡¤Þ¤¡»×¤¤½ÐÏäϤ½¤ì¤°¤é¤¤¤Ë¤·¤Æ¡¢º£²ó¤ÎËÜÂê¤Ë°Ü¤ê¤¿¤¤¤È»×¤¤¤Þ¤¹¡£º£²ó¡Ø¤â¤Ã¤ÈÀµ³Î¤Êɾ²ÁÃÍ¡ª¡Ù¤È¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¼ÂºÝ¤½¤ó¤ÊÀµ³Î¤Êɾ²Á´Ø¿ô¤òºî¤ë¤³¤È¤Ê¤ó¤ÆÉÔ²Äǽ¤Ê¤ó¤Ç¤¹¡£¡£¡£¤À¤«¤éº£²ó¤Î¥¿¥¤¥È¥ë¤ò¡Ø¤â¤Ã¤È¶¯¤¤É¾²Á´Ø¿ô¡Ù¤ÈǾÆâÊÑ´¹¤ò¹Ô¤Ã¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡Ê´À

¡¡¤â¤Ã¤È¶¯¤¤É¾²Á´Ø¿ô¤È¸À¤Ã¤Æ¤Þ¤¹¤¬¡¢¼Â¤ÏÁ°²ó¤Îɾ²Á´Ø¿ô¤Ç¤â¼«Ê¬¤â´Þ¤á¤Æ½é¿´¼Ô¤ÏÉáÄ̤ËÉ餱¤ë¤°¤é¤¤¤Î¶¯¤µ¤Ê¤ó¤Ç¤¹¡¦¡¦¡¦¡£¡Ê¥¹¥¤¥Þ¥»¥ó¡¦¡¦¡£¼å¤¤¤ó¤Ç¤¹¢­¢­¡Ë¡¡¤·¤«¤·¡¢Thell¤ävsOtha¡¢Zebra¤Ê¤É¤Ë¾¡Éé¤òÄ©¤à¤È¥³¥Æ¥ó¥Ñ¥ó¤Ë¤ä¤é¤ì¤Æ¤·¤Þ¤¦¤°¤é¤¤¥Ø¥Ü¤¤É¾²Á´Ø¿ô¤Ê¤ó¤Ç¤¹¡£¤½¤³¤Ç¡¢¤â¤Ã¤È¶¯¤¤É¾²Á´Ø¿ô¤òºî¤ê¤¿¤¤¤È¤¤¤¦¤È¤³¤í¤Çº£²ó¤ÎÏäǤ¹¡£

¡¡ºî¤êÊý¤Ê¤ó¤Ç¤¹¤¬¡¢¸½ºß¤Ç¤ÏLogistello¤Îºî¼Ô¤Ç¤¢¤ëMichael Buro»á¤¬¹Í°Æ¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤Ë´ð¤Å¤¯É¾²Á¤¬¼çή¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¤Á¤ç¤Ã¤ÈÆñ¤·¤¤¤Î¤ÇÊ̤ÎÊýË¡¤ÇÏäò¿Ê¤á¤Þ¤¹¡£ÊýË¡¤È¤·¤Æ¤Ï°Ê³°¤Ëñ½ã¤Ç¤¹¡£¥ê¥Ð¡¼¥·¡Ê¸»Ê¿¸ë¡Ë¤¬ÃÂÀ¸¤·¤Æ¤«¤é¸½ºß¤Ë»ê¤ë¤Þ¤Ç¤Î¥ê¥Ð¡¼¥·¤ÎÎò»Ë¤Ç¡¢¤³¤Î¼ê¤ÏÎɼê¡ÊËô¤Ï°­¼ê¡Ë¤È¤µ¤ì¤Æ¤­¤¿¤è¤¦¤ÊÃ챤òɾ²Á´Ø¿ô¤ËµÍ¤á¹þ¤ó¤Ç¤ä¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¡£

¼ç¤ÊÎã¤È¤¹¤ì¤Ð¡¢
¡¦Ãå¼ê²Äǽ¿ô¡Ê¼ê¤Î¹­¤µ¡Ë¤Ë¤è¤ëɾ²Á
¡¦¡ÊȯŸŪ¡Ë³«ÊüÅÙÍýÏÀ¤Ë¤è¤ëɾ²Á
¡¦³ÎÄêÀФˤè¤ëɾ²Á
¡¦¶ù¡¢À±ÂǤÁCÂǤÁ¤Îɾ²Á
¡¦ÊÕ¡Ê»³¡¢¥¦¥£¥ó¥°¡Ë¤Îɾ²Á
¡¦¥¹¥È¥Ê¡¼¥º¥È¥é¥Ã¥×


¤È¤Þ¤¡¤³¤ó¤Ê°Ì¤Ç¤·¤ç¤¦¤«¡©¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¤Ï¼¡²óÀâÌÀ¤·¤¿¤¤¤È¤ª¤â¤¤¤Þ¤¹¤¬¡¢¤³¤ì¤é¤Îɾ²ÁÃÍ·×»»¤ò¹Ô¤¤¹ç·×¤·¤¿Ãͤòɾ²ÁÃͤȤ·¤Æ¤ä¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¡£¤Ç¤¹¤¬¡¢¤½¤ì¤¾¤ì¤Îɾ²Á¤ÎÃæ¤ÇÈó¾ï¤Ë½ÅÍפʤâ¤Î¤â¤¢¤ì¤Ð¡¢¤½¤ì¤Û¤É½ÅÍפǤʤ¤¤â¤Î¤â¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¼ê¤¬¿Ê¤à¤Ë¤Ä¤ì½ÅÍפǤʤäƤ¯¤ëɾ²Á¤â¤¢¤ê¤Þ¤¹¤¬¡¢µÕ¤Ë½ÅÍפǤʤäƤ¯¤ëɾ²Á¤â¤¢¤ê¤Þ¤¹¡£¤½¤ì¤é¤ò¼êư¡ÊÅý·×Ū¤Ë¤Ç¤­¤¿¤é°ìÈÖÎɤ¤¤Ç¤¹¡Ë¤Ç½Å¤ßÉÕ¤±¤·¤Æ¤ä¤ì¤Ð¡¢ÁêÅö¶¯¤¤É¾²Á´Ø¿ô¤¬½ÐÍè¾å¤¬¤ê¤Þ¤¹¡£¶¯¤µ¤È¤·¤Æ¤Ï¡¢ÂçÂΥϡû¥²¡¼¥à¤Î¿À¥¯¥é¥¹¤ÏÉáÄ̤ˤ¢¤ê¤Þ¤¹¡£

¡¡Â¾¤Ë¤âÍ­¸ú¤È¤µ¤ì¤ë¼êË¡¡¢¼ê¶ÚÅù¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¤Î¤Ç¿§¡¹»î¤·¤Æ¤ß¤ë¤Î¤â¥¤¥¤¤È»×¤¤¤Þ¤¹¤è¡ù¡ù


¼¡²óͽ¹ð¡§¶¯¤¤É¾²Á´Ø¿ô¤òºî¤Ã¤Æ¤ß¤ë¡ª



¢­¸½ºß£²¤Ä¤Î¥é¥ó¥­¥ó¥°¤Ë»²²Ã¤·¤Æ¤¤¤Þ¤¹¢­

¥ª¥»¥í¤Îɾ²ÁÃͤòºî¤Ã¤Æ¤ß¤è¤¦¡ª

¡¡¤¨¤Ã¤ÈÅÚÆü¤È²£Éͤ˹ԤäƤ¤¤ÆºòÆüµ¢¤Ã¤Æ¤­¤¿¤È¤³¤í¤Ç¡¢¥Þ¥À¾¯¤·¥°¥À¥°¥À´¶¤¬¤¢¤ê¤Þ¤¹¤¬(¡ä¦Ø¡ã;)¤Þ¤¡²¿¤Ç²£Éͤ˹ԤäƤ¤¤¿¤«¤È¤¤¤¦¤È¡¢¥Ý¥ë¥Î¥°¥é¥Õ¥£¥Æ¥£¤Î²£¥¹¥¿¥é¥¤¥Ö¤ò¸«¤Ë¹Ô¤Ã¤Æ¤¤¤¿¤«¤é¤«¤é¤Ê¤ó¤Ç¤¹¤±¤É¤Í¢ö¢ö¤¤¤ä¤¡Îɤ«¤Ã¤¿Îɤ«¤Ã¤¿¡ù¡ù

¡¡¤È¤¤¤¦ÏäϤ³¤ì¤°¤é¤¤¤Ç¡¢¤Ç¤ï¤Ç¤ïº£²ó¤Ï¥ª¥»¥í¤Îɾ²ÁÃͤȤ¤¤¦¤³¤È¤Çº£²ó¤Ï»Ï¤á¤¿¤¤¤È»×¤¤¤Þ¤¹¡£¤Þ¤º¤Ïɾ²ÁÃͤäƲ¿¤¸¤ã¤í¤Ê¤Ã¤Æ¿Í¤â¤¤¤ë¤È»×¤¦¤Î¤Ç¥Á¥ç¥Á¥ç¤Ã¤ÈÀâÌÀ¤·¤Þ¤¹¡£

¡¡Á°²ó¤Þ¤Çõº÷¤Î¤³¤È¤ò¸ì¤Ã¤Æ¤­¤Æ¡¢É¾²ÁÃͤλö¤Ï¥µ¥é¥Ã¤Èή¤·¤Æ¤¤¤Þ¤·¤¿¡£¡Ê¤¨¤Ã¤È¤µ¤«¤Î¤Ü¤ì¤Ð¤³¤Î²ó¤Ç¾¯¤·ÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£¡Ö²ÁÃͤȤ¤¤¦¤Î¤ÏÉáÃÊ¥²¡¼¥à¤·¤Æ¤¤¤ë¤È¤­¤Ë´¶¤¸¤ë¤È»×¤¤¤Þ¤¹¤¬¡¢¥²¡¼¥à¤ÎÅÓÃæ¤ÇÍ­Íø¡¢ÉÔÍø¡¢¸ß³Ñ¤Ê¤É´¶¤¸¤ë¤è¤¦¤Ë¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Ë¤â¤½¤ì¤òɾ²ÁÃͤȤ·¤Æ·×»»¤µ¤»¤Þ¤¹¡£¡×¤È¤¤¤¦´¶¤¸¤Ç¡£¡Ë¤Ç¡¢º£²ó¤Ï¼ÂºÝ¤Ë¤É¤Î¤è¤¦¤Ê½èÍý¤ò¤¹¤ë¤Î¤«¤Ë¤Ä¤¤¤Æ¥ª¥»¥í¤òÎã¤Ëµó¤²¤Æ¸ì¤Ã¤Æ¤¤¤­¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

¡¡¤Ç¤Ï¡¢¥ª¥»¥ª¤Ç¤Î¾¡¤ÁÉ餱¤Ã¤Æ¤´Â¸ÃΤǤ¹¤è¤Í¡©¡©

¡Ö¤¨¤Ã¡©ÀФοô¤¬Â¿¤¤¤Û¤¦¤¬¾¡¤Á¤¸¤ã¤Í¤§¡Á¤Î¡©¡×

¡¡¤Ï¤¤¤½¤ÎÄ̤ꡪ¡ª¤Þ¤¡¤Û¤È¤ó¤É¤Î¿Í¤¬ÃΤäƤ¤¤ë¤È»×¤¤¤Þ¤¹¡£
¡¡¤Ç¤Ï¡¢½øÈסÁÃæÈפǤɤÁ¤é¤¬Í¥Àª¤Ç¡¢¤É¤Á¤é¤¬ÎôÀª¤«È½ÃǤǤ­¤Þ¤¹¤«¡©

¡Ö¡¦¡¦¡¦¡£¡×

¡¡¤Ï¤¤¡¢¤½¤ó¤Ê´¶¤¸¤Ç¤·¤ç¤¦¡£Ëͤâ¼Â¤Ï¥ª¥»¥í¤ÎÍ¥ÀªÎôÀª¤Û¤È¤ó¤ÉȽÃǤǤ­¤Þ¤»¤ó¡£

¡Ö¥Ï¥¤¥Ï¥¤¡ª²¶¤Ç¤­¤ë¤Ã¤Æ¡ª¡ª¤Ã¤Æ¤«ÀФ¬Â¿¤¤¤Û¤¦¤¬Í¥Àª¤Ë·è¤Þ¤Ã¤Æ¤ë¤¸¤ã¤ó¡ª¡ª¡×

¡¡¤ª¤©¡ª¡ªËͤâºÇ¶á¤Þ¤Ç¤½¤¦»×¤Ã¤Æ¤Þ¤·¤¿¡Ê´À¡£¤Ç¤â¡¢¼Â¤Ï°ã¤¦¤ó¤Ç¤¹¢­¢­

¡¡¤³¤ó¤Ê´¶¤¸¤Ç¡¢¥ª¥»¥í¤ò¤Î¥ë¡¼¥ëÃΤäƤë¿Í¤ÏÂçÀª¤¤¤Æ¤â¡¢¼ÂºÝ¤Ë¥ª¥»¥í¤¬¤Ç¤­¤ë¡Ê½øÈפ«¤é¹Í¤¨¤Æ¤Ç¤­¤ë¡Ë¿Í¤Ï¤Ê¤«¤Ê¤«¾¯¤Ê¤¤¤â¤Î¤Ç¤¹¡£¡£

¡¡¼ÂºÝ¤Ë¥ª¥»¥í¤Ç´ª°ã¤¤¤µ¤ì¤ëÎã¤È¤·¤Æ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¡¦¥ª¥»¥í¤Ï¿¤¯¼è¤ì¤Ð¾¡¤Á¤Ê¤Î¤Ç½øÈפ«¤é¤É¤ó¤É¤ó¼è¤Ã¤Æ¤¤¤¯¡£
¡¦¥ª¥»¥í¤Ï¶ù¡Ê³Ñ¡Ë¤ò¿¤¯¼è¤ì¤Ðɬ¤º¾¡¤Æ¤ë¡£
¡¦¿¿¤óÃæ¤Î£´¡ß£´¤Î¥Þ¥¹¤«¤é½Ð¤Ê¤¤Êý¤¬¤¤¤¤¡ª
¡¦¶ù¤Î¶á¤¯¤ò¼è¤Ã¤¿Êý¤¬¶ù¤ò¼è¤ê¤ä¤¹¤¤¡£
¡¦ÊÕ¤ò¼«Ê¬¤«¤é¼è¤ê¤Ë¹Ô¤«¤Ê¤¤Êý¤¬¤¤¤¤¡ª


¡¡¤Ê¤É¤Ê¤É¤Ç¤¹¡£¡£¤È¤¤¤¦¤è¤ê¡¢¾å¤ÎÎã¤Ï¼«Ê¬¤¬¤«¤Ä¤Æ»×¤Ã¤Æ¤¤¤¿¤³¤È¤Ê¤ó¤Ç¤¹¤±¤ÉŽ¡:Žß(Ž¡ŽÉ¦Ø¡ÀŽ¡)Žßޥޡ
¡¡¾å¤ÎÅú¤¨¤Ï¥³¥³¤Ë¤¢¤ë¤Î¤Ç»²¹Í¤Þ¤Ç¤Ë¡¦¡¦¡¦

¡¡¾¯¤·²£Æ»¤Ë¤½¤ì¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¤¬¡¢É¾²ÁÃͤȤϡ֤¢¤ëÈ×Ì̤ÎÅÓÃæ¤ò¸«¤»¤é¤ì¤Æ¡¢¤É¤Á¤é¤¬Í¥Àª¤«ÎôÀª¤«¤òÅÀ¿ô¤ò¤Ä¤±¤ë¡×¤³¤È¤ò¸À¤¤¤Þ¤¹¡£¤¸¤ã¤¢¼ÂºÝ¤Ëɾ²ÁÃͤäƤɤ¦¤ä¤Ã¤Æºî¤ë¤Í¤ó¤Ã¤Æ¤³¤È¤Ê¤ó¤Ç¤¹¤±¤É¡¢ºÇ½é¤Ïñ½ã¤Ç¥¤¥¤¤ó¤Ç¤¹¡£¶ù¤Ï¼è¤ì¤ÐÍ¥Àª¤Ë¤Ê¤ê¤Þ¤¹¡£¶ù¤ò¼è¤ë¤¿¤á¤Ë¤Ï¶ù¤ÎÎÙ¤ÏÁê¼ê¤ÎÀФ¸¤ã¤Ê¤¤¤È¼è¤ì¤Þ¤»¤ó¡£¤³¤¦¤¤¤¦Ã±½ã¤Ê¤³¤È¤òÀ¹¤ê¹þ¤ó¤À¥â¥Î¤òºÇ½é¤Ïºî¤ê¤¿¤¤¤È»×¤¤¤Þ¤¹¡£ÊýË¡¤È¤·¤Æ¤Ï¡¢£¸¡ß£¸¤Î¥Þ¥¹¤½¤ì¤¾¤ì¤ËÅÀ¿ô¤òÉÕ¤±¤Æ¡¢¤½¤³¤Ë¼«Ê¬¤ÎÀФ¬¤¢¤ì¤Ð¤½¤ÎÅÀ¿ô¤ò­¤·¤Æ¡¢Áê¼ê¤ÎÀФ¬¤¢¤ì¤ÐÅÀ¿ô¤ò°ú¤¯¤È¤¤¤¦Ã±½ã¤Ê¤â¤Î¡£¿Þ30¤Ï³Æ¥Þ¥¹¤ÎÅÀ¿ô¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£



¿Þ30:ÀФΰÌÃ֤ˤè¤ëɾ²Á


¡¡¤È¤Þ¤¡¤³¤ó¤Ê´¶¤¸¤Ç¥×¥í¥°¥é¥à¤Î½ñ¤­Êý¤âÂçÂÎÁϤ¤Ä¤¯¤È»×¤¤¤Þ¤¹¤¬¡¢°ì±þºÜ¤»¤Æ¤ª¤­¤Þ¤¹¡£

#define WHITE -1  //ÇòÀÐ
#define EMPTY 0 //ÀФʤ·
#define BLACK 1 //¹õÀÐ

//ÀФΰÌÃ֤ˤè¤ëɾ²ÁÃÍ
int val_table[8][8] = {
{120, -20, 20, 5, 5, 20, -20, 120},
{-20, -40, -5, -5, -5, -5, -40, -20},
{ 20, -5, 15, 3, 3, 15, -5, 20},
{ 5, -5, 3, 3, 3, 3, -5, 5},
{ 5, -5, 3, 3, 3, 3, -5, 5},
{ 20, -5, 15, 3, 3, 15, -5, 20},
{-20, -40, -5, -5, -5, -5, -40, -20},
{120, -20, 20, 5, 5, 20, -20, 120}
};

//£²¼¡¸µÇÛÎó¤Î¥Ý¥¤¥ó¥¿(board)¤ò¼õ¤±¼è¤Ã¤Æ
// ¹õ¤«¤é¸«¤¿É¾²ÁÃͤòÊÖ¤¹´Ø¿ô

int eval(int **board)
{
int i, j, val = 0;

for(i = 0; i < 8; i++){
for(j = 0; j < 8; j++){
val += val_table[i][j] * board[i][j];
}
}
return val;
}


¡¡¤³¤Î¥×¥í¥°¥é¥à¤Çval += val_table[i][j] * board[i][j];¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ï¡¢Çò¤ò-1¡¢¹õ¤ò1¡¢¶õ¥Þ¥¹¤ò0¤ÈÄêµÁ¤·¤ÆtableÇÛÎó¤ÎÃæ¤ËÆþ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢³Ý¤±»»¤¹¤ë¤À¤±¤ÇÎɤ¤¤Î¤Ç¤¹¡£¤½¤·¤Æ¡¢¹õ¤ò1¤È¤·¤ÆÄêµÁ¤·¤Æ¤¤¤ë¤Î¤Ç¹õ¤«¤é¸«¤¿É¾²ÁÃͤ¬¤³¤Î´Ø¿ô¤Çµá¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ç¤¹¡£¤ªÊ¬¤«¤ê¤«¤È»×¤¤¤Þ¤¹¤¬¡¢Çò¤«¤é¸«¤¿É¾²ÁÃͤ¬Íߤ·¤¤¾ì¹ç¤Ï-1¤ò³Ý¤±¤Æ¤ä¤ë¤È¥¤¥¤¤Î¤Ç¤¹¡£

¡¡¤ó¤¸¤ã¤Þ¤¡º£²ó¤Ï¤³¤ÎÊդˤ·¤Æ¡¢¤â¤Ã¤È¹âÅÙ¤Êɾ²ÁÃÍ·×»»¤Ë¤Ä¤¤¤Æ¤Ï¸å¤Û¤É¡¦¡¦¡¦ŽÉ޼


¼¡²óͽ¹ð¡§¤â¤Ã¤ÈÀµ³Î¤Êɾ²Á´Ø¿ô¡ª



¢­¸½ºß£²¤Ä¤Î¥é¥ó¥­¥ó¥°¤Ë»²²Ã¤·¤Æ¤¤¤Þ¤¹¢­

¦Á¦Âõº÷¤ò¤â¤Ã¤È¸úΨ¤è¤¯¤¹¤ë¤Ë¤Ï¡©

¡¡Á°²ó¤Ë³¤¤¤Æ¦Á¦Â¤Î¤³¤È¤Ë¤Ä¤¤¤Æ¸ì¤ê¤¿¤¤¤È»×¤¤¤Þ¤¹¡ª¡ª

¡¡¤Ç¡¢¤Þ¤¡¤¤¤¯¤é¸ì¤Ã¤Æ¤âõº÷¤¬Á᤯¤Ê¤é¤Ê¤¤¤È°ÕÌ£¤¬¤Ê¤¤¤Î¤ÇÁ᤯¤Ê¤ë¼êË¡¤Ë¤Ä¤¤¤Æ¸ì¤ê¤Þ¤¹¡£Ã±½ã¤ËÁ°²ó¤ÎÃ챤«¤é¹â®²½¤¹¤ë¤Ë¤Ï¡¦¡¦¡¦¡¦¤Ã¤Æ¹Í¤¨¤ë¤È

¡Ö»Þ´¢¤ê¤¬Áý¤¨¤ì¤ÐÁ᤯¤Ê¤ë¤ó¤¸¤ã¤Í¡¼¤Î¡©¡×

¤Ã¤Æ¤Î¤¬£±¤Ä¤È¤·¤Æ½Ð¤Æ¤¯¤ë¤È»×¤¤¤Þ¤¹¡ª

¡¡
¤Þ¤µ¤Ë¤½¤ÎÄ̤ꡪ¡ª¤¢¤ëÊýË¡¤ò»È¤Ã¤Æ»Þ´¢¤ê¤¬Â¿¤¯Áý¤¨¤ë¤è¤¦¤Ë¤¹¤ì¤Ð¥¤¥¤¤ó¤Ç¤¹¡ù¡ù

¤Ç¤Þ¤¡º£²ó¤Ï¤½¤Î»Þ´¢¤ê¤¬Áý¤¨¤ëÊýË¡¤ò¥À¥é­¢ÀâÌÀ¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡Ö¤½¤ì²¿¤«¹Í¤¨¤¿¤éÆñ¤·¤½¤¦Ž¡:Žß(Ž¡ŽÉ¦Ø¡ÀŽ¡)Žßޥޡ ¡×

¤Ã¤Æ»×¤¦¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡¢¼Â¤Ï¥á¥Ã¥Á¥ã´Êñ¡ª¡ªÀâÌÀ¤Ï°ì¹Ô¤Ç½ª¤ï¤Ã¤Æ¤·¤Þ¤¦¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡¢¥Ê¥¼¤½¤¦¤Ê¤ë¤«¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Æ·ëÏÀ¤ò¸À¤¤¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

¡¡¤Þ¤º¡¢Á°²ó¤Î¿Þ28¤Î¥²¡¼¥àÌÚ¤ò¸«¤Æ¡¢¤É¤¦¤¤¤¦»þ¤Ë»Þ´¢¤ê¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤«¤òȯ¸«¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£



¤ï¤«¤ê¤Þ¤·¤¿¡©¡©


Åú¤¨¤È¤·¤Æ¤Ï¡¢¡Ö»Þ´¢¤ê¤Îµ¯¤­¤ë¿Æ¤Î¿Æ¤Î¥Î¡¼¥É¤Ç¼«Ê¬¤Îɾ²Á¤è¤êÂ礭¤¤Ãͤ¬´û¤Ë¤¢¤ë¾ì¹ç¡×

¤È¤¤¤¦´¶¤¸¤Ç¤·¤ç¤¦¤«¡©ÆüËܸì¶ì¼ê¤Ê¤Î¤Ç´Ö°ã¤Ã¤Æ¤¿¤é¥´¥á¥ó¤Ê¤µ¤¤¡¦¡¦¡¦¡£²¿¤Ë¤»¤è»Þ´¢¤ê¤È¤¤¤¦¤Î¤Ï¡ÖÁ°²ó¤Îõº÷¤è¤ê°­¤¤¤Î¤¬½Ð¤Æ¤­¤¿¤Î¤Ç¤³¤ì°Ê¾åõº÷¤¹¤ëɬÍפʤ¤¤ä¡Á¡×¤Ã¤Æ¹Í¤¨Êý¤Ê¤Î¤Ç¤¹¡£¤À¤«¤é¡¢¤É¤¦¤¹¤ì¤Ð»Þ´¢¤ê¤òÁý¤ä¤»¤ë¤«¤È¤¤¤¦¤È¡¦¡¦¡¦¡¦

ɾ²Á¤¬¹â¤¯¤Ê¤ë¥Î¡¼¥É¤«¤éõº÷¤¹¤ë¤ÈÎɤ¤¤Î¤Ç¤¹¡ª¡ª¢«¥³¥ì¤¬·ëÏÀ



¡Ö¤½¤ì¤¬Ê¬¤«¤Ã¤¿¤éõº÷¤¹¤ë°ÕÌ£¤Í¡¼¤¸¤ã¤ó¡ª¡ª¡×


¤¢¤¡¡ÁͽÁÛÄ̤ê¤ÎÀ¼¤¬Ê¹¤³¤¨¤Æ¤¯¤ë¡¡¼ªŽÎ޼ŽÞŽÎ޼ŽÞ*-£ï-(= ¡¦¥§¡¦=)Ê¹ŽºŽ´ŽÆŽ¬Ž²ŽÓ¡ÁŽÝ
¤Þ¤¡¤Þ¤µ¤Ë¤½¤ÎÄ̤ê¤Ê¤Î¤Ç¤¹¡£¡£¡£¥´¥á¥ó¤Ê¤µ¤¤(ŽÉ¡­Ž¥§¥Ž¥)ŽÉŽÐ(m¡­_ _)m
¾å¤Î·ëÏÀ¤Ï¼Â¤Ï¾¯¤·¸ÀÍÕ¤¬È´¤±¤Æ¤Þ¤¹¡ª¡ª

ɾ²Á¤¬¹â¤¯¤Ê¤ë¤È»×¤ï¤ì¤ë¥Î¡¼¥É¤«¤éõº÷¤¹¤ë¤ÈÎɤ¤¤Î¤Ç¤¹¡ª¡ª¢«¥³¥ì¤¬ËÜÅö¤Î·ëÏÀ

¡¡¤Ç¤Ï¡¢¤É¤¦¤¹¤ì¤Ðɾ²Á¤¬¹â¤¯¤Ê¤ë¤È»×¤ï¤ì¤ë¥Î¡¼¥É¤«¤é¤¿¤ó¤µ¤¯¤¹¤ë¤Î¤«¡©

¡¡¤Þ¤º¡¢¥ª¥»¥íÅù²¿¤Ç¤âÎɤ¤¤Î¤Ç¥²¡¼¥à¤òÁÛÁü¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£°ì²ó°­¤¤¼ê¡Ê¹Ôư¡Ë¤ò¤¹¤ë¤È·ÁÀª¤Ï°­¤¯¤Ê¤ê¤Þ¤¹¤è¤Í¡©¤Þ¤¿¡¢µÕ¤Ë°ìÅÙÎɤ¤¼ê¤òÂǤĤȷÁÀª¤ÏÎɤ¯¤Ê¤ê¤Þ¤¹¤è¤Í¡©¤³¤Î¤è¤¦¤Ë²¿¤Æ¤â¿¼¤¯ÆÉ¤Þ¤Ê¤¯¤Æ¤â¤³¤Î¼ê¤Ï°­¤¤¤³¤Î¼ê¤ÏÎɤ¤¤Î¤¤¤¦¥â¥Î¤¬Àõ¤¤Ãµº÷¤Ç¤ï¤«¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤È¤Þ¤¡Ê¸»ú¤Ð¤«¤ê¤ÎÀâÌÀ¤ÇÌܤ¬¥Á¥«¥Á¥«¤·¤Æ¤­¤Þ¤¹¤¬¡¢¾å¤Ç¸À¤Ã¤¿¤è¤¦¤ËÀõ¤¤Ãµº÷¤òͽ¤á¤·¤Æ¤ª¤­¡¢É¾²Á¤¬Îɤ«¤Ã¤¿¥Î¡¼¥É¤«¤éõº÷¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¡£


¥³¥ì¤Çʬ¤«¤ê¤Þ¤·¤¿¡©¡©¤Þ¤¡º£²ó¤Îµ¼»÷¥³¡¼¥É¤ò½ñ¤¤¤Æ¤ª¤­¤Þ¤¹¡£

int alpha_beta(È×ÌÌ, int lv, int al, int be)
{
int val;

if(lv == 0)return ɾ²ÁÃÍ(È×ÌÌ);

if(lv > 4)Àõ¤¤Ãµº÷¤Ç¼ê¤òʤÙÂØ¤¨¤ë;

while(ÂǤƤë¼ê¤¬¤¢¤ë){
¼ê¤òº¹¤·¤Æ¼¡¤ÎÈ×Ì̤òºî¤ë;
val = -alpha_beta(È×ÌÌ, lv - 1, -be, -al);
È×Ì̤ò£±¼êÌ᤹;
//»Þ¼í¤ê
if(val >= be)return al;
//ºÇ¹âÃÍ
if(al < val)al = val;
}
return al;
}


¤¨¤Ã¤ÈÀäÂе¿Ìä¤ÎÀ¼¤¬Ê¹¤³¤¨¤Æ¤¯¤ë¤Î¤ÇÀâÌÀ¤òÉÕ¤±²Ã¤¨¤Æ¤ª¤­¤Þ¤¹¡£¤Ê¤¼¡Øif(lv > 4)¡Ù¤Î»þ¤À¤±¼ê¤òʤÙÂØ¤¨¤ë¤Î¤«¡£

Åú¤¨¤Ïñ½ã¤Ç¡¢£´¤È¤¤¤¦¿ô»ú¤ÏǤ°Õ¤Ç¤«¤Þ¤¤¤Þ¤»¤ó¤¬¡¢¤¢¤Þ¤ê¥Î¡¼¥É¤¬¿¼¤¯¤Ê¤Ã¤Æ¤¯¤ë¤Èõº÷¤¹¤ë¤è¤êÀõ¤¤Ãµº÷¤ò¤·¤ÆÊ¤ÙÂØ¤¨¤ë¥ê¥¹¥¯¤¬¹â¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤ó¤Ç¤¹¡ª¤½¤ì¤Ë¡¢¤â¤·Àõ¤¤Ãµº÷¤ò¤¹¤ë¾ì¹ç¤Ë¼«Ê¬¼«¿È¤Ç¤¢¤ëalpha_beta´Ø¿ô¤ò»ÈÍѤ¹¤ë¾ì¹ç¡¢¤½¤ÎÀè¤Ç¤Þ¤¿Àõ¤¤Ê¤ÙÂØ¤¨¡¢¸Æ¤Ó½Ð¤µ¤ì¤¿alpha_beta´Ø¿ô¤Ç¤Þ¤¿¸Æ¤Ó½Ð¤µ¤ì¡¦¡¦¡¦¡¦¡¦¤Ç̵¸Â¥ë¡¼¥×¤Ë´Ù¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹(¡ä¦Ø¡ã;)¤½¤¦¤¤¤¦Íýͳ¤Ç¤¹¡£


¤Ã¤Æ¤ï¤±¤Ç¡¢ÃæÅÓȾü¤Êµ¤¤â¤·¤Þ¤¹¤¬¸ì¤ê¤¿¤¤¤³¤È¤Ï¸ì¤Ã¤¿¤Î¤Çº£Æü¤Ï¤³¤Î¤Ø¤ó¤Ç[*l _ l]ŽÉ޼


¼¡²óͽ¹ð¡§¥ª¥»¥í¤Îɾ²ÁÃͤòºî¤Ã¤Æ¤ß¤è¤¦¡ª



¢­¸½ºß£²¤Ä¤Î¥é¥ó¥­¥ó¥°¤Ë»²²Ã¤·¤Æ¤¤¤Þ¤¹¢­