00幎代åŸåã®ããŒãã²ãŒã ã®æ¬åœã®ããŒã ã®åŸãã²ãŒã ã®å ¥ã£ãããã€ãã®ç®±ã家æã®äžã«æ®ã£ãã ãããã®1ã€ã¯ãå ã®ãã€ãèªçã®ã²ãŒã ãHare and Hedgehogãã§ãã ã©ã³ãã æ§ã®èŠçŽ ãæå°åãããæ°äººã®ãã¬ãŒã€ãŒåãã®ã²ãŒã ã§ãèœã¡çããèšç®ãšæ°ã¹ãããã§ãå èªã¿ããããã¬ãŒã€ãŒã®èœåãåã¡ãŸãã
ã²ãŒã ã§é »ç¹ã«æåãããããã³ã³ãã¥ãŒã¿ãŒã®ãã€ã³ããªãžã§ã³ã¹ããæžããŠæé«ã®åããéžæããŸããã ç¥èœãçæ³çã«ã¯ããããšããªããºãã®ã°ã©ã³ããã¹ã¿ãŒãšæŠãããšãã§ããŸãïŒãããŠããã§ã¹ã§ã¯ãªããè¶ãã²ãŒã ãç°¡åã«ãªããŸãïŒã èšäºã®æ®ãã®éšåã§ã¯ãéçºããã»ã¹ãAIããžãã¯ãããã³ãœãŒã¹ãžã®ãªã³ã¯ã«ã€ããŠèª¬æããŸãã
ã²ãŒã ã®ã«ãŒã«Hare and Hedgehog
65ã»ã«ã®ç«¶æå Žã«ã¯ã2ã6人ã®åå è ãããªãè€æ°ã®ãã¬ãŒã€ãŒãããããããŸãïŒãã¡ããããããŒã€ã³ã°ãéæ£èŠãå€èŠããŸããŸãïŒã
ã€ã³ããã¯ã¹0ïŒéå§ïŒããã³64ïŒçµäºïŒã®ã»ã«ãé€ããåã»ã«ã«é 眮ã§ãããã¬ãŒã€ãŒã¯1人ã ãã§ãã åãã¬ã€ã€ãŒã®ç®æšã¯ãã©ã€ãã«ã«å ãããŠãã£ããã·ã¥ã»ã«ã«é²ãããšã§ãã
åé²ããããã®ãçæãã¯ãã³ãžã³ãã€ãŸãã²ãŒã é貚ã§ãã éå§æã«ãåãã¬ã€ã€ãŒã¯68åã®ãã³ãžã³ãåãåããŸãã
ãã³ãžã³ã«å ããŠããã¬ãŒã€ãŒã¯æåã«3æã®ãµã©ãã«ãŒããåãåããŸãã ãµã©ãã¯ç¹å¥ãªãã¢ãŒãã£ãã¡ã¯ããã§ããããã¬ã€ã€ãŒã¯ãã£ããã·ã¥ã®åã«åãé€ãå¿ èŠããããŸã ã ãµã©ããåãé€ããŸãïŒããã¯ã次ã®ãããªç¹å¥ãªãµã©ãã±ãŒãžã§ã®ã¿è¡ãããšãã§ããŸãïŒ
ïŒãå«ããã¬ãŒã€ãŒã¯ãè¿œå ã®ãã³ãžã³ãåãåããŸãã ãã®åã«ãããªãã®åããã¹ãããããŸãã ã«ãŒããé¢ãããµã©ãã®åã«ãããã¬ãŒã€ãŒãå€ãã»ã©ããã¬ãŒã€ãŒãåãåããã³ãžã³ãå€ããªããŸãïŒ10 xïŒä»ã®ãã¬ãŒã€ãŒã«å¯Ÿãããã£ãŒã«ãã§ã®ãã¬ãŒã€ãŒã®äœçœ®ïŒã ã€ãŸãã2çªç®ã®ãã£ãŒã«ãã«ç«ã£ãŠãããã¬ã€ã€ãŒã¯20åã®ãã³ãžã³ãåãåãããµã©ãã®ã±ãŒãžãé¢ããŸãã
ãã¬ãŒã€ãŒã®äœçœ®ãã»ã«ã®çªå·ãšäžèŽããå Žåãã¬ã¿ã¹ã®ã»ã«ãšåæ§ã«ãçªå·1ãã4ã®ã»ã«ã¯æ°åã®ãã³ãžã³ãããããããšãã§ããŸãïŒ1ãã4ãçªå·1ã®ã»ã«ã¯ãã£ãŒã«ãã®4çªç®ãš6çªç®ã®äœçœ®ã«ãé©ããŠããŸãïŒã
ãã¬ã€ã€ãŒã¯ããã³ãžã³ã®ã€ã¡ãŒãžãä»ããã±ãŒãžã«æ®ãããã®ã¢ã¯ã·ã§ã³ã®ããã«10åã®ãã³ãžã³ãåãåããäžããããšãã§ããŸãã ãªããã¬ã€ã€ãŒã¯ãçæããäžããªããã°ãªããªãã®ã§ããïŒ å®éã«ã¯ããã¬ãŒã€ãŒã¯æåŸã®ç§»ååŸã«10åã®ãã³ãžã³ããæãŠãªããšããããšã§ãïŒ2çªç®ãçµãããš20ã3çªç®ãçµãããš30ãªã©ïŒã
æåŸã«ããã¬ãŒã€ãŒã¯ã æãè¿ãç¡æã®ããªããºãã§Nã¹ããããèžãããšã§10 x Nã®ãã³ãžã³ãåŸãããšãã§ããŸãïŒæãè¿ãããªããºããå¿ããå Žåããã®ãããªç§»åã¯äžå¯èœã§ãïŒã
次ã®åŒã«åŸã£ãŠã移åã®ã³ã¹ãã¯ç§»åã®æ°ã«æ¯äŸããã«èšç®ãããŸãïŒåãäžãïŒïŒ
ã
ããã§ãNã¯åæ¹ãžã®ã¹ãããæ°ã§ãã
ãããã£ãŠã1ã€ã®ã»ã«ãé²ããããã«ããã¬ãŒã€ãŒã¯1ã€ã®ãã³ãžã³ã2ã€ã®ã»ã«ã«3ã€ã®ãã³ãžã³ã3ã€ã®ã»ã«ã«6ã€ã®ãã³ãžã³ã4ã«10ã...ã20ã®ã»ã«ãé²ããããã«210ã®ãã³ãžã³ãäžããŸãã
æåŸã®ã»ã«-ãããã®çµµã®ããã»ã«-ã¯ãã©ã³ãã æ§ã®èŠçŽ ãã²ãŒã ã«å°å ¥ããŸãã ãŠãµã®ã®ããã±ãŒãžã®äžã«ç«ã£ãŠããã¬ãŒã€ãŒã¯ãã€ã«ããç¹å¥ãªã«ãŒããåŒãããã®åŸããã€ãã®ã¢ã¯ã·ã§ã³ãå®è¡ãããŸãã ã«ãŒããšã²ãŒã ã®ç¶æ³ã«å¿ããŠããã¬ãŒã€ãŒã¯ãã³ãžã³ã倱ã£ãããäœåãªãã³ãžã³ãå ¥æãããã1ã¿ãŒã³ã¹ããããããããå ŽåããããŸãã ãå¹æãã®ããã«ãŒãã®äžã«ã¯ããã¬ãŒã€ãŒã«ãšã£ãŠããå€ãã®ãã¬ãã£ããªã·ããªãªãããã€ããããã²ãŒã ãæ éã«èšç®ãããããšã奚å±ããŠããŸãã
AIã䜿çšããªãå®è£
ã²ãŒã ã®ãã€ã³ããªãžã§ã³ã¹ãã®éçºã®åºç€ãšãªãæåã®å®è£ ã§ã¯ãåãã¬ã€ã€ãŒã人ãåãããšããéžæè¢ã«éå®ããŠããŸããã
ã²ãŒã ãã¯ã©ã€ã¢ã³ããšããŠå®è£ ããããšã«ããŸãããéçãª1ããŒãžã®Webãµã€ãã§ããã®ãããžãã¯ãã¯ãã¹ãŠJSã«å®è£ ããããµãŒããŒã¯WEB APIã¢ããªã±ãŒã·ã§ã³ã§ãã ãµãŒããŒã¯.NET Core 2.1ã§èšè¿°ãããWindows / Linux / Mac OSã§å®è¡ã§ããdllãã¡ã€ã«ãšãã1ã€ã®ã¢ã»ã³ããªã¢ãŒãã£ãã¡ã¯ããçæããŸãã
ã¯ã©ã€ã¢ã³ãéšåã®ãããžãã¯ãã¯æå°éã«æããããŸãïŒGUIã¯çŽç²ã«å®çšçãªãããUXãåæ§ã§ãïŒã ããšãã°ãWebã¯ã©ã€ã¢ã³ãã¯ãã§ãã¯èªäœãå®è¡ããŸãã-ãã¬ãŒã€ãŒã«ãã£ãŠèŠæ±ãããã«ãŒã«ãèš±å¯ãããŠãããã©ããã ãã®ãã§ãã¯ã¯ãµãŒããŒã§å®è¡ãããŸãã ãµãŒããŒã¯ããã¬ã€ã€ãŒã«çŸåšã®ã²ãŒã äœçœ®ããäœãã§ããããã¯ã©ã€ã¢ã³ãã«äŒããŸãã
ãµãŒããŒã¯ãå€å žçãªã ãŒã¢ãã·ã³ã§ãã ãµãŒããŒããžãã¯ã«ã¯ããæ¥ç¶ãããã¯ã©ã€ã¢ã³ããããã²ãŒã ã»ãã·ã§ã³ããªã©ã®æŠå¿µããããŸããã
ãµãŒããŒã¯ãåä¿¡ããïŒHTTP POSTïŒã³ãã³ããåŠçããã ãã§ãã ãã³ãã³ãããã¿ãŒã³ã¯ãµãŒããŒã«å®è£ ãããŠããŸãã ã¯ã©ã€ã¢ã³ãã¯ã次ã®ã³ãã³ãã®ããããã®å®è¡ãèŠæ±ã§ããŸãã
- æ°ããã²ãŒã ãã€ãŸã æå®ããã人æ°ã®ãããããã¯ãªãŒã³ãããŒãã«ãé 眮ããã
- ã³ãã³ãã«ç€ºããã移åãè¡ããŸã
2çªç®ã®ããŒã ã®å Žåãã¯ã©ã€ã¢ã³ãã¯ãµãŒããŒã«çŸåšã®ã²ãŒã äœçœ®ïŒDispositionã¯ã©ã¹ã®ãªããžã§ã¯ãïŒãã€ãŸã次ã®åœ¢åŒã®èª¬æãéä¿¡ããŸãã
- äœçœ®ãåãããã®ãã³ãžã³ãšã¬ã¿ã¹ã®æ°ãããã«ããããé çªãéããŠããããšã瀺ãè¿œå ã®ããŒã«ãã£ãŒã«ã
- 移åãããŠãµã®ã®ã€ã³ããã¯ã¹ã
ãµãŒããŒã¯ãè¿œå æ å ±ãéä¿¡ããå¿ èŠã¯ãããŸãã-äŸãã°ã競æå Žã«é¢ããæ å ±ã ãã§ã¹ã®ã¹ã±ãããèšé²ããããã«ãããŒãäžã®é»ãšçœã®ã»ã«ã®é 眮ããã€ã³ãããå¿ èŠã¯ãããŸãã-ãã®æ å ±ã¯å®æ°ãšããŠæ±ãããŸãã
å¿çãšããŠããµãŒããŒã¯ã³ãã³ããæ£åžžã«å®äºãããã©ããã瀺ããŸãã æè¡çã«ã¯ãã¯ã©ã€ã¢ã³ãã¯ãããšãã°ãç¡å¹ãªç§»åãèŠæ±ããå ŽåããããŸãã ãŸãã¯ã1人ã®åå è ã®ããã«æ°ããã²ãŒã ãäœæããŠã¿ãŠãã ãããããã¯æããã«æå³ããããŸããã
ããŒã ãæåããå Žåãå¿çã«ã¯ãæ°ããã²ãŒã ã®äœçœ®ãšããã¥ãŒå ã®æ¬¡ã®ãã¬ã€ã€ãŒãè¡ãããšãã§ãã移åã®ãªã¹ãïŒæ°ããäœçœ®ã®çŸåšïŒãå«ãŸããŸãã
ããã«å ããŠããµãŒããŒå¿çã«ã¯ããã€ãã®ãµãŒãã¹ãã£ãŒã«ããå«ãŸããŸãã ããšãã°ããŠãµã®ã®ã«ãŒãã®ããã¹ãã¯ã察å¿ããã±ãŒãžã®ã¹ãããã§ãã¬ã€ã€ãŒã«ãã£ãŠãåŒãåºããããã
ãã¬ã€ã€ãŒã¿ãŒã³
ãã¬ãŒã€ãŒã®ã¿ãŒã³ã¯æŽæ°ãšããŠãšã³ã³ãŒããããŸãïŒ
- 0ããã¬ã€ã€ãŒãçŸåšã®åºå Žã«çãŸãããšãäœåãªããããå Žåã
1ã2ã... Nã¯1ã... Nã¯åé²ã - -1ã-2ã... -Mã¯1ãMåã®ã»ã«ãæãè¿ãèªç±ãªããªããºãã«æ»ããŸãã
- 1001ã1002-ãã³ãžã³ã»ã«ã«ãšã©ãŸãããã®ããã«10åã®ãã³ãžã³ãåãåãïŒ1001ïŒãŸãã¯äžããïŒ1002ïŒããšã決å®ãããã¬ãŒã€ãŒã®ç¹å¥ãªã³ãŒãã
ãœãããŠã§ã¢å®è£
ãµãŒããŒã¯ãèŠæ±ãããã³ãã³ãã®JSONãåä¿¡ãã察å¿ããèŠæ±ã¯ã©ã¹ã®1ã€ã«è§£æããŠãèŠæ±ãããã¢ã¯ã·ã§ã³ãå®è¡ããŸãã
ã¯ã©ã€ã¢ã³ãïŒãã¬ãŒã€ãŒïŒãããŒã ã«è»¢éãããããžã·ã§ã³ïŒPOSïŒããCMDã³ãŒãã䜿çšããŠç§»åãèŠæ±ããå ŽåããµãŒããŒã¯æ¬¡ã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã
- ãã®ãããªç§»åãå¯èœãã©ããã確èªããŸã
- çŸåšã®äœçœ®ããæ°ããäœçœ®ãäœæããããã«å¯Ÿå¿ããä¿®æ£ãé©çšãã
æ°ããããžã·ã§ã³ã®å€ãã®å¯èœãªåããååŸããŸãã 移åãããã¬ãŒã€ãŒã®ã€ã³ããã¯ã¹ã¯ã äœçœ®ã説æãããªããžã§ã¯ãã«æ¢ã«å«ãŸããŠããããšãæãåºãããŠãã ããã - æ°ããäœçœ®ãå¯èœãªç§»åããŸãã¯falseã«çããæåãã©ã°ãããã³ãšã©ãŒã®èª¬æãå«ãå¿çãã¯ã©ã€ã¢ã³ãã«è¿ããŸãã
èŠæ±ããã移åïŒCMDïŒã®èš±å®¹æ§ããã§ãã¯ããæ°ããããžã·ã§ã³ãæ§ç¯ããããžãã¯ã¯ãç§ãã¡ãæããããå°ãå¯æ¥ã«æ¥ç¶ãããŠããããšãå€æããŸããã ãã®ããžãã¯ã§ã¯ã蚱容å¯èœãªåããèŠã€ããæ¹æ³ã«å ±éç¹ããããŸãã ãã®æ©èœã¯ãã¹ãŠãTurnCheckerã¯ã©ã¹ã«ãã£ãŠå®è£ ãããŸãã
ãã§ãã¯/å®è¡ã¡ãœããã®å ¥åæã«ãTurnCheckerã¯ã²ãŒã äœçœ®ã®ã¯ã©ã¹ïŒDispositionïŒã®ãªããžã§ã¯ããåãåããŸãã Dispositionãªããžã§ã¯ãã«ã¯ããã¬ãŒã€ãŒããŒã¿ïŒãã€ãº[]ãã€ãºïŒã®é åã移åãè¡ããã¬ãŒã€ãŒã®ã€ã³ããã¯ã¹+ TurnCheckerãªããžã§ã¯ãã®æäœäžã«å ¥åããããµãŒãã¹æ å ±ãå«ãŸããŸãã
競æå Žã¯ãSingleMapãšããŠå®è£ ãããFieldMapã¯ã©ã¹ãèšè¿°ããŸãã ãã®ã¯ã©ã¹ã«ã¯ãã»ã«ã®é åãšåŸç¶ã®èšç®ãç°¡çŽ å/é«éåããããã«äœ¿çšããããªãŒããŒãããæ å ±ãå«ãŸããŠããŸãã
ããã©ãŒãã³ã¹ã«é¢ããèæ
®äºé
TurnCheckerã¯ã©ã¹ã®å®è£
ã§ã¯ãã«ãŒããåé¿ããããã«ãå¯èœãªéãè©Šã¿ãŸããã å®éãäžé£ã®èš±å®¹ããã移å/移åã®å®è¡ãååŸããã¡ãœããã¯ãæºæé©ãªç§»åã®æ€çŽ¢æé äžã«æ°åïŒæ°äžïŒååŒã³åºãããŸãã
ãããã£ãŠãããšãã°ã次ã®åŒã䜿çšããŠããã¬ãŒã€ãŒãNåã®ãã³ãžã³ã䜿çšããŠåé²ã§ããã»ã«ã®æ°ãèšç®ããŸãã
ã»ã«iããã¬ã€ã€ãŒã®1人ã«ãã£ãŠå æãããŠãããã©ããã確èªãããã¬ã€ã€ãŒã®ãªã¹ãããã©ããŸããïŒãã®ã¢ã¯ã·ã§ã³ã¯ããããäœåºŠãå®è¡ããå¿ èŠãããããã§ãïŒããäºåã«å ¥åããã[cell_indexãbusy_cage_ flag]ãšãã圢åŒã®èŸæžã«ç®ãåããŸãã
æå®ãããããªããºãã®ã»ã«ãããã¬ãŒã€ãŒãå æããŠããçŸåšã®ã»ã«ã«æãè¿ãïŒèåŸã«ããïŒãã©ããã確èªãããšããèŠæ±ãããäœçœ®ã[cell_indexãnearest_back_dezh] _index]圢åŒã®èŸæžã®å€ãšæ¯èŒããŸãã
ãããã£ãŠãããšãã°ã次ã®åŒã䜿çšããŠããã¬ãŒã€ãŒãNåã®ãã³ãžã³ã䜿çšããŠåé²ã§ããã»ã«ã®æ°ãèšç®ããŸãã
return ((int)Math.Pow(8 * N + 1, 0.5) - 1) / 2;
ã»ã«iããã¬ã€ã€ãŒã®1人ã«ãã£ãŠå æãããŠãããã©ããã確èªãããã¬ã€ã€ãŒã®ãªã¹ãããã©ããŸããïŒãã®ã¢ã¯ã·ã§ã³ã¯ããããäœåºŠãå®è¡ããå¿ èŠãããããã§ãïŒããäºåã«å ¥åããã[cell_indexãbusy_cage_ flag]ãšãã圢åŒã®èŸæžã«ç®ãåããŸãã
æå®ãããããªããºãã®ã»ã«ãããã¬ãŒã€ãŒãå æããŠããçŸåšã®ã»ã«ã«æãè¿ãïŒèåŸã«ããïŒãã©ããã確èªãããšããèŠæ±ãããäœçœ®ã[cell_indexãnearest_back_dezh] _index]圢åŒã®èŸæžã®å€ãšæ¯èŒããŸãã
AIã«ããå®è£
ãµãŒããŒã«ãã£ãŠåŠçãããã³ãã³ãã®ãªã¹ãã«1ã€ã®ã³ãã³ããè¿œå ãããŸããããã°ã©ã ã«ãã£ãŠéžæãããæºæé©ãªç§»åãå®è¡ããŸãã ãã®ã³ãã³ãã¯ãããã¬ã€ã€ãŒã®ç§»åãã³ãã³ããå°ãä¿®æ£ãããã®ã§ãå®éã«ã¯ç§»åãã£ãŒã«ãïŒ CMD ïŒã¯åé€ãããŠããŸãã
é ã«æµ®ãã¶æåã®æ±ºå®ã¯ãçºèŠçææ³ã䜿çšããŠãå¯èœãªéãæè¯ã®ãåããéžæããããšã§ãã ãã§ã¹ãšã®é¡æšã«ããããã®ããžã·ã§ã³ã«äœããã®ã¬ãŒãã£ã³ã°ãèšå®ããããšã§ãã ãŒãã§åŸãããåã²ãŒã ããžã·ã§ã³ãè©äŸ¡ã§ããŸãã
çºèŠçäœçœ®è©äŸ¡
ããšãã°ããã§ã¹ã§ã¯ãè©äŸ¡ãè¡ãã®ã¯éåžžã«ç°¡åã§ãïŒéå£éšã®èéã«ç»ãããšãªãïŒïŒå°ãªããšãã3ããŒã³ã®éšå£«/ãã·ã§ããã®å€ãã«ãŒã¯5ã®ããŒã³ãã¯ã€ãŒã³9ãããã³ãã³ã°intã®å€ãåãããšã«ãããããŒã¹ã®åèšãã³ã¹ãããèšç®ã§ããŸã.MaxValueããŒã³ã æšå®å€ãæ¹åããã®ã¯ç°¡åã§ããããšãã°ãããã«è¿œå ããïŒè£æ£ä¿æ°-ä¿æ°/ææ°ãŸãã¯ä»ã®é¢æ°ã䜿çšïŒïŒ
- çŸåšã®äœçœ®ããã®å¯èœãªåãã®æ°ã
- æµã®ãã£ã®ã¥ã¢ã«å¯Ÿããè åšã®æ¯ç/æµããã®è åšã
ãããã®äœçœ®ã«ç¹å¥ãªè©äŸ¡ãäžããããŸãããã§ãã¯ã¡ã€ããã³ã³ãã¥ãŒã¿ãŒã眮ããå Žåã¯int.MaxValue ããã§ãã¯ã¡ã€ãã人ã眮ããå Žåã¯int.MinValueã§ãã
ãã§ã¹ããã»ããµã«æ¬¡ã®åããéžæããããã«åœããå Žåããã®ãããªè©äŸ¡ã®ã¿ã«åºã¥ããŠãããã»ããµã¯ããããææªã®åããéžæããŸããã ç¹ã«ïŒ
- 倧ããªäœåããã§ãã¯ã¡ã€ããåãæ©äŒããèŠéããªãã
- ã»ãšãã©ã®å Žåãã³ãŒããŒã®æ°åãåãããŸãããã
- æ°å€ã«ææãäžããããšã¯ãããŸããïŒè©äŸ¡ã§è åšã®æ°ãèæ ®ãããšïŒã
ãã¡ããããã®ãããªã³ã³ãã¥ãŒã¿ãŒã®åãã¯ãããããªæå³ã§åããããçžæãšã®æåã®ãã£ã³ã¹ã圌ã«æ®ããŸããã ã³ã³ãã¥ãŒã¿ãŒã¯ãã©ã°ãç¡èŠããŸãã ããã«ã圌ã¯ããããã¯ã€ãŒã³ãããŒã³ãšäº€æããããšãheããŸããã
ããã«ããããããããã§ã¹ã®çŸåšã®ãã¬ãŒäœçœ®ã®ãã¥ãŒãªã¹ãã£ãã¯è©äŸ¡ã®ã¢ã«ãŽãªãºã ïŒãã£ã³ããªã³ããã°ã©ã ã®æ å ã䞻匵ããããšãªãïŒã¯ãéåžžã«éæã§ãã ããªãã¯ã²ãŒã Hare and Hedgehogã«ã€ããŠèšãããšã¯ã§ããŸããã
äžè¬çãªå ŽåãHare and the Hedgehogã®ã²ãŒã ã§ã¯ãããªããŒãããæ Œèšãæ©èœããŸããã ãã³ãžã³ãå¢ãããŠã¬ã¿ã¹ãæžãããŠãããã«å ã«é²ãæ¹ãè¯ã ãã ãã ãããã¹ãŠãããã»ã©ç°¡åã§ã¯ãããŸããã ããšãã°ããã¬ã€ã€ãŒãã²ãŒã ã®éäžã§ãµã©ãã«ãŒãã1ææã£ãŠããå Žåããã®ãªãã·ã§ã³ã¯éåžžã«æå¹ã§ãã ãããããµã©ãã«ãŒãã§ãã£ããã·ã¥ã©ã€ã³ã«ç«ã£ãŠãããã¬ãŒã€ãŒã¯ãæããã«è² ããŠããç¶æ ã«ãªããŸãã è©äŸ¡ã¢ã«ãŽãªãºã ã«å ããŠãé§ãžã®è åšããã§ã¹ã®äœçœ®ã®ãã¥ãŒãªã¹ãã£ãã¯è©äŸ¡ã§ã«ãŠã³ãã§ããã®ãšåãããã«ãããã«äžæ©èžã¿èŸŒãæ©äŒãåŸãããšæããŸãã ããšãã°ãåã®ãã¬ãŒã€ãŒã®æ°ãèæ ®ããŠãã¬ã¿ã¹ã»ã«/ããžã·ã§ã³ã»ã«ïŒ1ã4ïŒãé¢ãããã¬ãŒã€ãŒãåãåããã³ãžã³ã®ããŒãã¹ãèæ ®ãã䟡å€ããããŸãã
é¢æ°ãšããŠæçµã°ã¬ãŒããå°ããŸããïŒ
E = Ks * S + Kc * C + Kp * Pã
ããã§ãSãCãPã¯ãµã©ãã«ãŒãïŒSïŒãšãã¬ã€ã€ãŒã®æã«ãããã³ãžã³Â©ã䜿çšããŠèšç®ãããã°ã¬ãŒãã§ãããPã¯ç§»åè·é¢ã«ããã£ãŠãã¬ã€ã€ãŒã«äžããããã¹ã³ã¢ã§ãã
KsãKcãKpã¯å¯Ÿå¿ããè£æ£ä¿æ°ã§ãïŒãããã«ã€ããŠã¯åŸã§èª¬æããŸãïŒã
æãç°¡åãªæ¹æ³ã¯ã移åãããã¹ã®ããŒã¯ã決å®ããããšã§ãïŒ
P = i * 3ãããã§iã¯ãã¬ãŒã€ãŒãé 眮ãããŠããã»ã«ã®ã€ã³ããã¯ã¹ã§ãã
CïŒãã³ãžã³ïŒã®ã°ã¬ãŒãã£ã³ã°ã¯ãã§ã«é£ãããªã£ãŠããŸãã
ç¹å®ã®Cå€ãååŸããã«ã¯ã3ã€ã®é¢æ°ã®ãããããéžæããŸã 1ã€ã®åŒæ°ïŒæã®ãã³ãžã³ã®æ°ïŒããã é¢æ°Cã®ã€ã³ããã¯ã¹ïŒ[0ã1ã2]ïŒã¯ã競æå Žã§ã®ãã¬ãŒã€ãŒã®çžå¯Ÿçãªäœçœ®ã«ãã£ãŠæ±ºãŸããŸãã
- [0]ãã¬ãŒã€ãŒã競æå Žã®ååæªæºãå®äºããå Žåã
- [2]ãã¬ã€ã€ãŒãçµäºããã®ã«ååãªïŒmbãããã«ã¯è±å¯ãªïŒââãã³ãžã³ãæã£ãŠããå Žåã
- [1]ãã®ä»ã®å Žåã
æ©èœ0ãš1ã¯äŒŒãŠããŸãããã¬ãŒã€ãŒã®æã«ãããã³ãžã³ã®ãå€ãã¯ãæã®ãã³ãžã³ã®æ°ãå¢ãããšåŸã ã«æžå°ããŸãã ã²ãŒã ã¯ãã£ãã«Plyushkinsã奚å±ããŸããã ã±ãŒã¹1ïŒæž¡ããããã£ãŒã«ãã®ååïŒã§ã¯ããã³ãžã³ã®å€ã¯å°ãéãæžå°ããŸãã
å察ã«ãæ©èœ2ïŒãã¬ãŒã€ãŒã¯çµäºã§ããŸãïŒã¯ããã¬ãŒã€ãŒã®æã®åãã³ãžã³ã«å€§ããªçœ°éïŒè² ã®ä¿æ°å€ïŒã課ããŸãããã³ãžã³ãå€ãã»ã©ãããã«ãã£ä¿æ°ã倧ãããªããŸãã ã«ããããéå°ã§ãããããã²ãŒã ã®ã«ãŒã«ã«ãããã£ããã·ã¥ã¯çŠæ¢ãããŠããŸãã
ãã¬ãŒã€ãŒã®æã®ãã³ãžã³ã®éãèšç®ããåã«ãã¬ã¿ã¹ã®ã»ã«/ã»ã«çªå·1ããã®ã¿ãŒã³ãããã®ãã³ãžã³ãèæ ®ããŠæå®ããŸã... 4ã
ã ã¬ã¿ã¹ ãã°ã¬ãŒãSãåæ§ã®æ¹æ³ã§æšå®ãããŸãã ãã¬ãŒã€ãŒã®æã®ãµã©ãã®éïŒ0ã3ïŒã«å¿ããŠãæ©èœãéžæãããŸã ãŸã㯠ã é¢æ°ã®åŒæ° ã -åã³ããã¬ãŒã€ãŒã移åãããçžå¯Ÿããã¹ã ã€ãŸãããµã©ããåé¢ã«æ®ã£ãŠããã»ã«ã®æ°ïŒãã¬ãŒã€ãŒãå æããŠããã»ã«ã«å¯ŸããŠïŒïŒ
æ²ç· -ã¬ã¿ã¹ã®ææã0æã®ãã¬ãŒã€ãŒã®å Žåããã¬ãŒã€ãŒã®åã®ã¬ã¿ã¹çŽ°èã®æ°ïŒ0ã5ïŒã®è©äŸ¡é¢æ°ïŒSïŒã
æ²ç· -1æã®ãµã©ãã«ãŒããæã«æã£ãŠãããã¬ãŒã€ãŒãªã©ãšåãæ©èœ
ãããã£ãŠãæçµè©ç¹ïŒE = Ks * S + Kc * C + Kp * PïŒã§ã¯ã以äžãèæ ®ãããŸãã
- ãã¬ã€ã€ãŒãèªåã®ç§»åã®çŽåã«åãåãäœåãªãã³ãžã³
- ãã¬ã€ã€ãŒã移åããçµè·¯
- ã¹ã³ã¢ã«éç·åœ¢çã«åœ±é¿ããããã³ãžã³ãšæã®ã¬ã¿ã¹ã®éã
ãããŠãæ倧ã®ãã¥ãŒãªã¹ãã£ãã¯ã¹ã³ã¢ãæã€æ¬¡ã®åããéžæããã³ã³ãã¥ãŒã¿ãŒã®ãã¬ã€æ¹æ³ã次ã«ç€ºããŸãã
ååãšããŠãããã¥ãŒã¯ããã»ã©æªããããŸããã ãã ãããã®ãããªAIã«è¯ãã²ãŒã ãæåŸ ããããšã¯ã§ããŸããïŒã²ãŒã ã®éäžãŸã§ã«ãç·è²ã®ããããããã¯ç¹°ãè¿ãåãå§ããæåŸã«ã¯ããªããºãã®ååŸã«åããæ°åç¹°ãè¿ããæçµçã«çµäºããŸãã å¶ç¶ã®ããã§ã圌ã¯ãã¬ãŒã€ãŒã®åŸãã§ãã£ããã·ã¥ããŸãã
å®è£
ããŒã
æšå®å€ã®èšç®ã¯ãç¹å¥ãªã¯ã©ã¹-EvaluationCalculatorã«ãã£ãŠç®¡çãããŸãã ãã³ãžã³ã«çžå¯Ÿçãªäœçœ®ãè©äŸ¡ããããã®é¢æ°-ãµã©ãã«ãŒãã¯ãèšç®æ©ã¯ã©ã¹ã®éçã³ã³ã¹ãã©ã¯ã¿ãŒã®é
åã«ããŒããããŸãã å
¥åæã«ãäœçœ®æšå®æ¹æ³ã¯ãäœçœ®ãªããžã§ã¯ãèªäœãšãã¬ãŒã€ãŒã®ã€ã³ããã¯ã¹ãåãåããŸãããã®èŠç¹ãããã¢ã«ãŽãªãºã ã«ãã£ãŠäœçœ®ãè©äŸ¡ãããŸãã ã€ãŸããä»®æ³ãã€ã³ããèæ
®ããããã¬ãŒã€ãŒã«å¿ããŠãåãã²ãŒã ã®äœçœ®ãè€æ°ã®ç°ãªãè©äŸ¡ãåããããšãã§ããŸãã
決å®æšãšããããã¯ã¹ã¢ã«ãŽãªãºã
æµå¯Ÿçãªããããã¯ã¹ã²ãŒã ã§ã¯ãææ決å®ã¢ã«ãŽãªãºã ã䜿çšããŸãã ç§ã®æèŠã§ã¯ãã¢ã«ãŽãªãºã ã¯ãã®æçš¿ïŒç¿»èš³ïŒã§èª¬æãããŠããŸãã
ç§ãã¡ã¯ãããã°ã©ã ã«ããã€ãã®åãããèŠããããšãæããŸãã çŸåšã®äœçœ®ããïŒãããŠãèæ¯ã¯ã¢ã«ãŽãªãºã ã«ãšã£ãŠéèŠã§ã¯ãããŸãã-ããã°ã©ã ãã ãŒã¢æ©ãšããŠæ©èœããããšãæãåºããŠãã ããïŒãçªå·1ã®çªå·ãä»ããããŠãããšä»®å®ãããšãããã°ã©ã ã¯2ã€ã®åããããããšãã§ããŸãã 2ã€ã®ããžã·ã§ã³ã2ãš3ãååŸããŸãã次ã«ããã¬ã€ã€ãŒã®ã¿ãŒã³-人ïŒäžè¬çãªå Žå-æµïŒãæ¥ãŸãã 2çªç®ã®äœçœ®ãããçžæã«ã¯3ã€ã®åããããã3çªç®ããã¯2ã€ã®åããããããŸããã 次ã«ãåã³ç§»åããé çªã¯ããã°ã©ã ã«åœãŠã¯ãŸããåèšã§5ã€ã®å¯èœãªäœçœ®ãã10ã®ç§»åãè¡ãããšãã§ããŸãã
ã³ã³ãã¥ãŒã¿ãŒã®2åç®ã®ç§»åã®åŸãã²ãŒã ãçµäºããåä¿¡ããäœçœ®ã®ãããããã1çªç®ãš2çªç®ã®ãã¬ãŒã€ãŒã®èŠç¹ããè©äŸ¡ããããšããŸãã ãããŠããã§ã«è©äŸ¡ã¢ã«ãŽãªãºã ãå®è£ ããŠããŸãã ãã¯ãã«ã®åœ¢ã§åæçµäœçœ®ïŒããªãŒã®è9 ... 18ïŒãè©äŸ¡ããŸããã ã
ã©ã㧠-æåã®ãã¬ãŒã€ãŒã«ã€ããŠèšç®ãããã¹ã³ã¢ã -2çªç®ã®ãã¬ãŒã€ãŒã®ã¹ã³ã¢ïŒ
ã³ã³ãã¥ãŒã¿ãŒã¯æåŸã®åããããããããªãã·ã§ã³ïŒ[9ã10]ã[11]ã[12ã13]ã[14ã15ã16]ã[17ã18]ã®åãµãããªãŒïŒãéžæããŸãããã¯åœŒã«è¯ãè©äŸ¡ãäžããŸãã åé¡ã¯ããã«çºçããŸããã©ã®ååã«ãã£ãŠãæè¯ã®ãããžã·ã§ã³ãéžæãã¹ãã§ããããã
ããšãã°ã2ã€ã®åããããããã®åŸã«æ Œä»ã[5; 5]ããã³[2; 1]ã æåã®ãã¬ãŒã€ãŒãè©äŸ¡ããŸãã 次ã®2ã€ã®éžæè¢ããããŸãã
- içªç®ã®ãã¬ãŒã€ãŒã®içªç®ã®ã¹ã³ã¢ã®æ倧絶察å€ã䜿çšããäœçœ®éžæã èšãæããã°ã競åä»ç€Ÿã«é¢ä¿ãªããåå©ãç±æããé«è²Žãªã¬ãŒãµãŒãã¬ã¹ãªãŒã ãã®å Žåãæšå®å€ã[5; 5]ã
- 競åä»ç€Ÿã®èŠç©ãããšæ¯èŒããŠæ倧ã®æ Œä»ããæã€ããžã·ã§ã³ã®éžæã¯ãæµã«æ±ãããªãã¯ãäžããæ©äŒãéããªãcãªææFaithã§ãã ããšãã°ã2çªç®ã®ããžã·ã§ã³ããéå§ããããšãèšç»ããŠãããã¬ãŒã€ãŒã«æ æã«é ãããšãå Žåã è©äŸ¡ã®ããã¢ã€ãã [2; 1]ã
ç§ã®ãœãããŠã§ã¢å®è£ ã§ã¯ãã°ã¬ãŒãéžæã¢ã«ãŽãªãºã ïŒã°ã¬ãŒããã¯ãã«ãiçªç®ã®ãã¬ãŒã€ãŒã®ã¹ã«ã©ãŒå€ã«ãããã³ã°ããé¢æ°ïŒãã«ã¹ã¿ã ãã©ã¡ãŒã¿ãŒã«ããŸããã ãããªããã¹ãã«ãããé©ãã¹ãããšã«ãæåã®æŠç¥ã®åªäœæ§-æ倧絶察å€ã«ããäœçœ®ã®éžæã瀺ãããŸãã ã
ãœãããŠã§ã¢å®è£
ã®æ©èœ
AIïŒTurnMakerã¯ã©ã¹ïŒã®èšå®ã§æé©ãªã°ã¬ãŒããéžæããæåã®ãªãã·ã§ã³ãæå®ãããŠããå Žåã察å¿ããã¡ãœããã®ã³ãŒãã¯æ¬¡ã®åœ¢åŒã«ãªããŸãã
2çªç®ã®æ¹æ³-競åä»ç€Ÿã®äœçœ®ã«å¯Ÿããæ倧å€-ã¯å°ãè€éã«å®è£ ãããŠããŸãã
int ContractEstimateByAbsMax(int[] estimationVector, int playerIndex) { return estimationVector[playerIndex]; }
2çªç®ã®æ¹æ³-競åä»ç€Ÿã®äœçœ®ã«å¯Ÿããæ倧å€-ã¯å°ãè€éã«å®è£ ãããŠããŸãã
int ContractEstimateByRelativeNumber(int[]eVector, int player) { int? min = null; var pVal = eVector[player]; for (var i = 0; i < eVector.Length; i++) { if (i == player) continue; var val = pVal - eVector[i]; if (!min.HasValue || min.Value > val) min = val; } return min.Value; }
éžæããæšå®å€ïŒå³ã§äžç·ãåŒãããŠããïŒã¯ãã¬ãã«ã¢ããã«è»¢éãããŸãã ããã§ãã¢ã«ãŽãªãºã ãéžæããåŸç¶ã®äœçœ®ãææ¡ããŠãæµãäœçœ®ãéžæããå¿ èŠããããŸãã
æµã¯æããã«ãèªåã«ãšã£ãŠæé«ã®æ Œä»ããæã€äœçœ®ïŒãã¯ãã«ã®2çªç®ã®åº§æšãæ倧ã®å€ãåãäœçœ®ïŒãéžæããŸãã ãããã®æšå®å€ã¯ãã°ã©ãã§åã³äžç·ãåŒãããŠããŸãã
æåŸã«ãéåžžã«æåã®åãã«æ»ããŸãã ã³ã³ãã¥ãŒã¿ãŒãéžæãã圌ã¯ãã¯ãã«ã®æåã®åº§æšãæ倧ã®åãã奜ãïŒ
ãããã£ãŠãåé¡ã¯è§£æ±ºãããŸãã-æºæé©ãªåããèŠã€ãããŸããã ããªãŒäžã®ãªãŒãäœçœ®ã®100ïŒ ã®ãã¥ãŒãªã¹ãã£ãã¯ã¹ã³ã¢ãå°æ¥ã®åè ã瀺ããŠãããšããŸãã ãããããç§ãã¡ã®ã¢ã«ãŽãªãºã ã¯ééããªãå¯èœãªéãæé«ã®åããéžæããŸãã
ãã ãããã¥ãŒãªã¹ãã£ãã¯ã¹ã³ã¢ã¯ãã²ãŒã ã®æçµäœçœ®ãè©äŸ¡ãããå Žåã«ã®ã¿100ïŒ æ£ç¢ºã§ãã1人ïŒãŸãã¯è€æ°ã®ïŒãã¬ã€ã€ãŒãçµäºããåè ã決å®ãããŸãã ãããã£ãŠãNã®åããå èªã¿ããæ©äŒãããã°ãåã匷ãã®ã©ã€ãã«ãç²åŸããã®ã«å¿ èŠãªæ°ã ããæé©ãªåããéžæã§ããŸãã
ãããã2人ã®ãã¬ãŒã€ãŒã®å žåçãªã²ãŒã ã¯ãå¹³åã§çŽ30-40åããŸãïŒ3人ã®ãã¬ãŒã€ãŒ-çŽ60åããªã©ïŒã åããžã·ã§ã³ããããã¬ã€ã€ãŒã¯éåžžçŽ8ã®åããããããšãã§ããŸãã ãããã£ãŠã30ã®åãã®å¯èœãªäœçœ®ã®å®å šãªããªãŒã¯ãããã
= 1237940039285380274899124224ããŒã¯ïŒ
å®éã«ã¯ãPCã§ã100,000ããžã·ã§ã³ã®ããªãŒãæ§ç¯ããã³ã解æãããã«ã¯çŽ300ããªç§ããããŸãã ã³ã³ãã¥ãŒã¿ãŒã®å¿çã1ç§ä»¥äžã«ãããå Žåã7ã8ã¬ãã«ïŒç§»åïŒã§ããªãŒã®æ·±ãã®å¶éãäžããããŸãã
ãœãããŠã§ã¢å®è£
ã®æ©èœ
äœçœ®ã®ããªãŒãæ§ç¯ããæé©ãªåããèŠã€ããã«ã¯ãæããã«ååž°çãªã¡ãœãããå¿
èŠã§ãã ã¡ãœããã®å
¥åã«ã¯ãçŸåšã®äœçœ®ïŒèŠããŠããããã«ããã¬ãŒã€ãŒã移åããŠããïŒãšçŸåšã®ããªãŒã¬ãã«ïŒç§»åçªå·ïŒããããŸãã ã¢ã«ãŽãªãºã ã®èšå®ã§èš±å¯ãããŠããæ倧ã¬ãã«ã«éãããšãé¢æ°ã¯åãã¬ãŒã€ãŒã®ãèŠç¹ãããã®ãã¥ãŒãªã¹ãã£ãã¯ãªäœçœ®æšå®ãã¯ãã«ãè¿ããŸãã
éèŠãªè¿œå ïŒçŸåšã®ãã¬ã€ã€ãŒãçµäºããããããªãŒã®äžã®äžéãåæ¢ããªããã°ãªããŸããã ãã以å€ã®å ŽåïŒä»ã®ãã¬ã€ã€ãŒã®äœçœ®ã«å¯ŸããŠæé©ãªäœçœ®ãéžæããã¢ã«ãŽãªãºã ãéžæãããŠããå ŽåïŒãããã°ã©ã ã¯ãã£ããã·ã¥ã§é·æéãèžã¿é³Žããããçžæãããããããããšãã§ããŸãã ããã«ããã®æ¹æ³ã§ããšã³ãã²ãŒã ã®ããªãŒã®ãµã€ãºããããã«å°ããããŸãã
ãŸã æçµçãªååž°ã¬ãã«ã«éããŠããªãå Žåã¯ãå¯èœãªç§»åãéžæããå移åã®æ°ããäœçœ®ãäœæããŠãçŸåšã®ã¡ãœããã®ååž°åŒã³åºãã«æž¡ããŸãã
éèŠãªè¿œå ïŒçŸåšã®ãã¬ã€ã€ãŒãçµäºããããããªãŒã®äžã®äžéãåæ¢ããªããã°ãªããŸããã ãã以å€ã®å ŽåïŒä»ã®ãã¬ã€ã€ãŒã®äœçœ®ã«å¯ŸããŠæé©ãªäœçœ®ãéžæããã¢ã«ãŽãªãºã ãéžæãããŠããå ŽåïŒãããã°ã©ã ã¯ãã£ããã·ã¥ã§é·æéãèžã¿é³Žããããçžæãããããããããšãã§ããŸãã ããã«ããã®æ¹æ³ã§ããšã³ãã²ãŒã ã®ããªãŒã®ãµã€ãºããããã«å°ããããŸãã
ãŸã æçµçãªååž°ã¬ãã«ã«éããŠããªãå Žåã¯ãå¯èœãªç§»åãéžæããå移åã®æ°ããäœçœ®ãäœæããŠãçŸåšã®ã¡ãœããã®ååž°åŒã³åºãã«æž¡ããŸãã
ããããã¯ã¹ã¯ãªãã§ããïŒ
ãã¬ã€ã€ãŒã®å
ã®è§£éã§ã¯åžžã«2ã§ãã ããã°ã©ã ã¯ãæåã®ãã¬ãŒã€ãŒã®äœçœ®ããã®ã¿ã¹ã³ã¢ãèšç®ããŸãã ãããã£ãŠããæé©ãªãããžã·ã§ã³ãéžæããå Žåãã€ã³ããã¯ã¹0ã®ãã¬ãŒã€ãŒã¯æ倧è©äŸ¡ã®ããžã·ã§ã³ãæ¢ããã€ã³ããã¯ã¹1ã®ãã¬ãŒã€ãŒã¯æå°ã¬ãŒãã£ã³ã°ãæ¢ããŸãã
ç§ãã¡ã®å Žåãæ Œä»ãã¯ãã¯ãã«ã§ããå¿ èŠããããŸããããã«ãããN人ã®ãã¬ã€ã€ãŒã®ããããããèŠç¹ãããè©äŸ¡ã§ããããã«ãªããŸãã
ç§ãã¡ã®å Žåãæ Œä»ãã¯ãã¯ãã«ã§ããå¿ èŠããããŸããããã«ãããN人ã®ãã¬ã€ã€ãŒã®ããããããèŠç¹ãããè©äŸ¡ã§ããããã«ãªããŸãã
AIã®ãã¥ãŒãã³ã°
ã³ã³ãã¥ãŒã¿ãŒãšå¯ŸæŠããç§ã®ç·Žç¿ã¯ãã¢ã«ãŽãªãºã ãããã»ã©æªããªãããããã§ã人éã«å£ãããšã瀺ããŸããã ç§ã¯2ã€ã®æ¹æ³ã§AIãæ¹åããããšã«ããŸããã
- 決å®æšã®æ§ç¯/èµ°æ»ãæé©åãã
- ãã¥ãŒãªã¹ãã£ãã¯ãæ¹åããŸãã
ããããã¯ã¹ã¢ã«ãŽãªãºã ã®æé©å
äžèšã®äŸã§ã¯ãäœçœ®8ã®æ€èšãæåŠããããªãŒã®2ã3é ç¹ããä¿åãã§ããŸãã
æšã®åšããäžããäžãå·Šããå³ãžæ©ããŸãã äœçœ®2ããå§ãŸããµãããªãŒããã€ãã¹ããŠã移å1-> 2ã®æé©ãªæšå®ãæšå®ããŸããïŒ[3ã2]ã äœçœ®7ã«ã«ãŒããæã€ãµãããªãŒããã€ãã¹ããŠãçŸåšã®ïŒç§»å3-> 7ã«æé©ãªïŒè©äŸ¡ã決å®ããŸããïŒ[2ã4]ã ã³ã³ãã¥ãŒã¿ãŒïŒæåã®ãã¬ãŒã€ãŒïŒã®èŠ³ç¹ããã¯ãã¹ã³ã¢[2ã4]ã¯ã¹ã³ã¢[3ã2]ãããæªãã§ãã ãŸããã³ã³ãã¥ãŒã¿ãŒã®å¯ŸæŠçžæã¯ãããžã·ã§ã³8ã®ã¹ã³ã¢ã«é¢ä¿ãªããããžã·ã§ã³3ããã®ç§»åãéžæãããããããžã·ã§ã³3ã®æçµã¹ã³ã¢ã¯ã3çªç®ã®ããžã·ã§ã³ã§åŸãããã¹ã³ã¢ãããã¢ããªãªãªã«æªããªããŸãã ãããã£ãŠãäœçœ®8ã«ã«ãŒããæã€ãµãããªãŒã¯æ§ç¯ã§ãããè©äŸ¡ã§ããŸããã
Minimaxã¢ã«ãŽãªãºã ã®æé©åãããããŒãžã§ã³ã¯ãäœåãªãµãããªãŒãåãåãããšãã§ãããããã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã¢ã«ãŽãªãºã ãšåŒã°ããŸã ã ãã®ã¢ã«ãŽãªãºã ãå®è£ ããã«ã¯ããœãŒã¹ã³ãŒããå°ãå€æŽããå¿ èŠããããŸãã
ãœãããŠã§ã¢å®è£
ã®æ©èœ
2ã€ã®æŽæ°ãã©ã¡ãŒã¿ãŒããTurnMakerã¯ã©ã¹ã®CalcEstimateã¡ãœããã«è¿œå ã§æž¡ãããŸããæåã¯int.MinValueã«çããalphaãšãint.MaxValueã«çããbetaã§ãã ããã«ãèæ
®äžã®çŸåšã®ç§»åã®æšå®å€ãåä¿¡ããåŸããã©ãŒã ã®æ¬äŒŒã³ãŒããå®è¡ãããŸãã
e = _[0] // ( ) (e > alpha) alpha = e (e < beta) beta = e (beta <= alpha)
ãœãããŠã§ã¢å®è£
ã®éèŠãªæ©èœ
å®çŸ©äžãã¢ã«ãã¡-ããŒã¿ã¯ãªããã³ã°æ³ã¯ããã¯ãªãŒã³ãªãããããã¯ã¹ã¢ã«ãŽãªãºã ãšåããœãªã¥ãŒã·ã§ã³ã«ã€ãªãããŸãã ææ決å®ã®ããžãã¯ãå€æŽããããã©ããã確èªããããã«ïŒãŸãã¯çµæã移åã§ããïŒãããããã2人ã®å¯ŸæŠçžæããšã«8åã®ç§»åïŒåèš16åã®ç§»åïŒãè¡ããçµæã®äžé£ã®ç§»åãä¿åãããŠããããã¹ããäœæããŸãããã¯ãªããã³ã°ãªãã·ã§ã³ãç¡å¹ã«ããŸããã
次ã«ãåããã¹ãã§ãã¯ãªããã³ã°ãªãã·ã§ã³ãæå¹ã«ããŠæé ãç¹°ãè¿ããŸããã ãã®åŸãäžé£ã®åããæ¯èŒãããŸããã åãã®äžäžèŽã¯ãã¢ã«ãã¡-ããŒã¿ã¯ãªããã³ã°ã¢ã«ãŽãªãºã ã®å®è£ ã«ãšã©ãŒãããããšã瀺ããŸãïŒãã¹ãã«å€±æããŸããïŒã
次ã«ãåããã¹ãã§ãã¯ãªããã³ã°ãªãã·ã§ã³ãæå¹ã«ããŠæé ãç¹°ãè¿ããŸããã ãã®åŸãäžé£ã®åããæ¯èŒãããŸããã åãã®äžäžèŽã¯ãã¢ã«ãã¡-ããŒã¿ã¯ãªããã³ã°ã¢ã«ãŽãªãºã ã®å®è£ ã«ãšã©ãŒãããããšã瀺ããŸãïŒãã¹ãã«å€±æããŸããïŒã
ãã€ããŒã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã®æé©å
AIèšå®ã§ã¯ãªããã³ã°ãªãã·ã§ã³ãæå¹ã«ãããšãäœçœ®ããªãŒã®é ç¹ã®æ°ãå¹³å3åæžå°ããŸããã ãã®çµæã¯å€å°æ¹åãããå¯èœæ§ããããŸãã
äžèšã®äŸã§ã¯ïŒ
äœçœ®3ã®é ç¹ãæã€ãµãããªãŒã®åã«äœçœ®2ã®é ç¹ãæã€ãµãããªãŒã調ã¹ãã®ã§ããäžèŽãããŸãããã·ãŒã±ã³ã¹ãç°ãªãå Žåããææªãã®ãµãããªãŒããå§ããŠã次ã®äœçœ®ãæ€èšããŠãæå³ããªããšããçµè«ã«éããŸããã§ããã
ååãšããŠãããªãŒã§ã®ã¯ãªããã³ã°ã¯ãããçµæžçãã§ããããšãå€æããåãã¬ãã«ïŒã€ãŸããiããžã·ã§ã³ããã®ãã¹ãŠã®å¯èœãªç§»åïŒã®åå«é ç¹ã¯ãçŸåšã®ïŒæ·±ãèŠãªãã§ïŒäœçœ®æšå®ã«ãã£ãŠæ¢ã«ãœãŒããããŠããŸãã èšãæãããšãïŒãã¥ãŒãªã¹ãã£ãã¯ãªèŠ³ç¹ããïŒæé«ã®åãã¯ããè¯ãæçµã°ã¬ãŒããç²åŸããå¯èœæ§ãé«ããšæ³å®ããŠããŸãã ãããã£ãŠããææªã®ããµãããªãŒã®åã«ãæè¯ã®ããµãããªãŒãèæ ®ãããããã«ãäœããã®ç¢ºçã§ããªãŒããœãŒãããŸããããã«ãããããå€ãã®ãªãã·ã§ã³ãåãæšãŠãããšãã§ããŸãã
çŸåšã®äœçœ®ã®è©äŸ¡ã¯ãè²»çšã®ãããæé ã§ãã 以åã«çµç«¯äœçœ®ïŒèïŒã®ã¿ãè©äŸ¡ããã®ã«ååã ã£ãå ŽåãããªãŒã®ãã¹ãŠã®é ç¹ã«å¯ŸããŠè©äŸ¡ãè¡ãããŸãã ãã ãããã¹ãã§ç€ºãããããã«ãè¡ãããè©äŸ¡ã®ç·æ°ã¯ãèããããåãã®æåã®äžŠã¹æ¿ããè¡ããªãã£ãããªã¢ã³ãããããŸã ãããã«å°ãªãã£ãã
ãœãããŠã§ã¢å®è£
ã®æ©èœ
ã¢ã«ãã¡-ããŒã¿ã¯ãªããã³ã°ã¢ã«ãŽãªãºã ã¯ãå
ã®ããããã¯ã¹ã¢ã«ãŽãªãºã ãšåãåããè¿ããŸãã ããã¯ãç§ãã¡ãæžããåäœãã¹ãããã§ãã¯ãã2ã€ã®åãã®ã·ãŒã±ã³ã¹ãæ¯èŒããŸãïŒã¯ãªããã³ã°ãããšãªãã®ã¢ã«ãŽãªãºã ã®å ŽåïŒã ãœãŒãã䜿çšããã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã¯ãäžè¬çãªå Žåãæºæé©ãªåããšããŠç°ãªãåãã瀺ãå ŽåããããŸãã
å€æŽãããã¢ã«ãŽãªãºã ã®æ£ããåäœããã¹ãããã«ã¯ãæ°ãããã¹ããå¿ èŠã§ãã å€æŽã«ããããããã䞊ã¹æ¿ãã®ããã¢ã«ãŽãªãºã ã¯ãå ã®Minimaxã¢ã«ãŽãªãºã ãšããŠäžŠã¹æ¿ãã®ãªãã¢ã«ãŽãªãºã ãšãŸã£ããåãæçµæšå®ãã¯ãã« ïŒå³ã®äŸã§ã¯[3ã2]ïŒãçæããå¿ èŠããããŸãã
ãã¹ãã§ã¯ãäžé£ã®ãã¹ãäœçœ®ãäœæãããæé©ãªã移åã«åŸã£ãŠããããããéžæãããœãŒããªãã·ã§ã³ããªã³ãŸãã¯ãªãã«ããŸããã 次ã«ã2ã€ã®æ¹æ³ã§åŸãããè©äŸ¡ãã¯ãã«ãæ¯èŒããŸããã
å€æŽãããã¢ã«ãŽãªãºã ã®æ£ããåäœããã¹ãããã«ã¯ãæ°ãããã¹ããå¿ èŠã§ãã å€æŽã«ããããããã䞊ã¹æ¿ãã®ããã¢ã«ãŽãªãºã ã¯ãå ã®Minimaxã¢ã«ãŽãªãºã ãšããŠäžŠã¹æ¿ãã®ãªãã¢ã«ãŽãªãºã ãšãŸã£ããåãæçµæšå®ãã¯ãã« ïŒå³ã®äŸã§ã¯[3ã2]ïŒãçæããå¿ èŠããããŸãã
ãã¹ãã§ã¯ãäžé£ã®ãã¹ãäœçœ®ãäœæãããæé©ãªã移åã«åŸã£ãŠããããããéžæãããœãŒããªãã·ã§ã³ããªã³ãŸãã¯ãªãã«ããŸããã 次ã«ã2ã€ã®æ¹æ³ã§åŸãããè©äŸ¡ãã¯ãã«ãæ¯èŒããŸããã
ããã«ãããªãŒã®çŸåšã®æäžéšã«ããå¯èœæ§ã®ããå移åã®äœçœ®ã¯ãã¥ãŒãªã¹ãã£ãã¯è©äŸ¡ã«ãã£ãŠäžŠã¹æ¿ãããããããææªã®ãªãã·ã§ã³ã®äžéšãããã«ç Žæ£ããããã«èããŠããŸãã ããšãã°ããã§ã¹ãã¬ãŒã€ãŒã¯ãããŒã³ãããã®ä»£ããã«ã«ãŒã¯ã䜿çšããã ãŒããæ€èšã§ããŸãã ãã ããç¶æ³ã3ã4 ...åæ¹ã«æ·±ããå±éãããããšã«ãããäŸãã°ã察æŠçžæã女çã®åžæãæ»æããŠããå Žåã圌ã¯ããã«éžæè¢ã«æ°ä»ãã§ãããã
AIèšå®ã§ã¯ããææªã®ãªãã·ã§ã³ã®ã¯ãªããã³ã°ããã¯ãã«ãèšå®ããŸãã ããšãã°ã圢åŒ[0ã0ã8ã8ã4]ã®ãã¯ãã«ã¯ã次ã®ããšãæå³ããŸãã
- 1 [0]ã¹ããããš2 [0]ã¹ãããé²ããšãããã°ã©ã ã¯èãããããã¹ãŠã®åããèæ ®ããŸãã 0 ,
- [8] [8] , 8 ââ , , ,
- 5ã€ä»¥äžã®ã¹ããã[4]ãèŠããšãããã°ã©ã ã¯4ã€ä»¥äžã®ããã¹ããã ãŒããè©äŸ¡ããŸãã
ã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã¢ã«ãŽãªãºã ã®ãœãŒãããªã³ã«ãªããã¯ãªããã³ã°èšå®ã§åæ§ã®ãã¯ãã«ã䜿çšããããšãããã°ã©ã ã¯çŽ300ããªç§ãè²»ããããããæ·±ãã8æ©é²ãæºæé©ãªåããéžæãå§ããŸããã
ãã¥ãŒãªã¹ãã£ãã¯æé©å
ããªãŒã®é ç¹ã®äœçœ®ãããªãã®éã§ç¹°ãè¿ãããæºæé©ãªåããæ±ããŠãæ·±ããå ãèŠæ®ããŠããã«ãããããããAIã«ã¯ããã€ãã®åŒ±ç¹ããããŸããããããã®1ã€ãããŠãµã®ã®ããªããšå®çŸ©ããŸããã
ããããã©ãã
. ( 8 â 10 15), . ââ ( !):
. äŸãæããŸãã
54 (43), â 10 55 . AI, , (61), 28 . , 6 9 ( 10 ).
, ( ), , 4 â 6 . , , , AI ?
, , . AI . , , . â â :
65 â ââ , , . , , , () .
- 7,
- , , . , , , .
. äŸãæããŸãã
54 (43), â 10 55 . AI, , (61), 28 . , 6 9 ( 10 ).
, ( ), , 4 â 6 . , , , AI ?
, , . AI . , , . â â :
65 â ââ , , . , , , () .
è£æ£ä¿æ°
åã«ãçŸåšã®äœçœ®ã®çºèŠçæšå®ã®ããã®å ¬åŒãäžãã
E = Ks * S + Kc * C + Kp * Pã
ç§ã¯èšåããããè£æ£å åã«ã€ããŠã¯èª¬æããªãã£ãã
å®éã«ã¯ãåŒèªäœãšé¢æ°ã®ã»ããã®äž¡æ¹ãããããã ãåžžèããå°ãªããšããæšå®å€ãå¯èœãªéãé©åã«ãªãããã«ããã®ãããªä¿æ°KsãKcãKpãéžæããŸããè©äŸ¡ã®ã劥åœæ§ããè©äŸ¡ããæ¹æ³ã¯ïŒèŠç©ãã¯ç¡æ¬¡å ã®éã§ãããå¥ã®èŠç©ããšã®ã¿æ¯èŒã§ããŸããè£æ£ä¿æ°ãæ¹åããå¯äžã®æ¹æ³ãæãã€ãããšãã§ããŸããã次ã®åœ¢åŒã®ããŒã¿ãå«ãCSVãã¡ã€ã«ã«ä¿åãããããã€ãã®ãç 究ããããã°ã©ã ã«å ¥ããŸãã
45;26;2;f;29;19;0;f;2 ...
ãã®è¡ã¯ãæåéã次ãæå³ããŸãã
- æåã®ãã¬ã€ã€ãŒã¯45çªã§ã26æã®ãã³ãžã³ãš2æã®ãµã©ãã«ãŒããæã«æã£ãŠããŸãããã¬ã€ã€ãŒã¯åããèŠéããŸããïŒf = falseïŒã移åããæš©å©ã¯åžžã«æåã®ãã¬ã€ã€ãŒã§ãã
- ã»ã«29ã®2çªç®ã®ãã¬ã€ã€ãŒã¯ã19æã®ãã³ãžã³ãšãµã©ãã«ãŒãã䜿çšãããåããèŠéããŸããã
- 2çªç®ã®æ°åã¯ã調æ»ãã決å®ãããããšãæå³ãã2çªç®ã®ãã¬ãŒã€ãŒãåã¡ã®ç¶æ³ã«ãããšä»®å®ããŸããã
ããã°ã©ã ã«20åã®ã¹ã±ãããå ¥ããåŸãã²ãŒã Webã¯ã©ã€ã¢ã³ãã«ãããããããŠã³ããŒããããã¹ã±ãããããåã¹ã±ããããœãŒãããŸãããã¹ã±ãããåæããŠããåè ãã決ãããŸã§ããã¬ãŒã€ãŒããšã«äº€äºã«ç§»åããŸãããè©äŸ¡ãçµäºããããç¹å¥ãªããŒã ã§ãµãŒããŒã«éä¿¡ããŸããã
20ã®ç·Žç¿æ²ãè©äŸ¡ããåŸïŒãã¡ãããããã«å€ãã®ç·Žç¿æ²ãåæãã䟡å€ããããŸãïŒãããã°ã©ã ã§åç·Žç¿æ²ãè©äŸ¡ããŸãããè©äŸ¡äžã0.5ãã2ãŸã§ã®åè£æ£ä¿æ°ã®å€ã0.1ã®å¢å-åèš =ä¿æ°ã®ããªãã«ã®4096ããªã¢ã³ããæåã®ãã¬ãŒã€ãŒã®ã¹ã³ã¢ã2çªç®ã®ãã¬ãŒã€ãŒã®ã¹ã³ã¢ããé«ãããšãå€æããåæ§ã®æ瀺ããšãã¥ãŒãã¬ã³ãŒãã®è¡ã«ä¿åãããå ŽåïŒè¡ã®æåŸã®å€ã¯1ïŒãããããããã«ãŠã³ããããŸããããã©ãŒç¶æ³ã®å Žåãåæ§ã§ãããã以å€ã®å Žåãã¹ãªãããã«ãŠã³ããããŸããããã®çµæããããããã®å²åãæ倧ã§ããããªãã«ïŒ20ã®ãã¡16ïŒãéžæããŸããã 4096åã®ãã¯ã¿ãŒã®ãã¡çŽ250åãåºãŠããŸãããããã®äžãããæè¯ããéžæãããç®ã§ãããäžåºŠéžæããŠãAIèšå®ã«ã€ã³ã¹ããŒã«ããŸããã
ãŸãšã
ãã®çµæãåäœããããã°ã©ã ãæã«å ¥ããŸãããããã¯ååãšããŠãã³ã³ãã¥ãŒã¿ãŒã«å¯ŸããŠ1察1ã®ããŒãžã§ã³ã§ç§ãæã¡è² ãããŸããããã°ã©ã ã®çŸåšã®ããŒãžã§ã³ã®åå©ãšæåã«é¢ããé倧ãªçµ±èšã¯ãŸã èç©ãããŠããŸãããããããããã®åŸã®ç°¡åãªAIãã¥ãŒãã³ã°ã«ãããç§ã®åå©ã¯äžå¯èœã«ãªããŸãããŸãã¯ãããã现èå åããŸã æ®ã£ãŠãããããã»ãšãã©äžå¯èœã§ãã
ããšãã°ãã¬ãŒãã£ã³ã°ïŒçµ¶å¯Ÿæ倧å€ãŸãã¯ä»ã®ãã¬ãŒã€ãŒã«å¯Ÿããæ倧å€ïŒãéžæããããžãã¯ã§ã¯ãééããªãäžéãªãã·ã§ã³ãè©ŠããŠã¿ãŸããå°ãªããšããiçªç®ã®ãã¬ãŒã€ãŒã®ã¹ã³ã¢ã®çµ¶å¯Ÿå€ãçããå Žåãã¹ã³ã¢ã®çžå¯Ÿå€ãé«ãäœçœ®ïŒé«è²Žãªã¬ã¹ãªãŒãšè£åãè ã®ãã§ã€ã¹ã®ãã€ããªããïŒã«ã€ãªããåããéžæããã®ãåççã§ãã
ãã®ããã°ã©ã ã¯ã3人ã®ãã¬ã€ã€ãŒãããããŒãžã§ã³ã§å®å šã«æ©èœããŸãããã ãã3人ã®ãã¬ãŒã€ãŒã§ãã¬ã€ããå Žåã®AIã®åãã®ãå質ãã¯ã2人ã®ãã¬ãŒã€ãŒã§ãã¬ã€ããå ŽåãããäœããšããçãããããŸããããããæåŸã®ãã¹ãã®éçšã§ã³ã³ãã¥ãŒã¿ãŒã«è² ããŸãã-ããããé倱ã«ãã£ãŠãç§ã®æã®äžã®ãã³ãžã³ã®éãäœæ°ãªãè©äŸ¡ããéå°ãªãçæãã§ãã£ããã·ã¥ã©ã€ã³ã«å°éããŸããã
ãããŸã§ã®ãšãããAIã®ãããªãçºå±ã¯ãããã¹ã¿ãŒããã€ãŸãã³ã³ãã¥ãŒã¿ãŒã®ã倩æãã®çããæµã§ãã人ã®äžè¶³ã«ãã£ãŠåŠšããããŠããŸããç§èªèº«ãããããšããªããºããåãæ°ãããã»ã©ååã«æŒå¥ããçŸåšã®æ®µéã§åŒ·å¶çã«äžæãããŸããã
â ãœãŒã¹ãå«ããªããžããªãžã®ãªã³ã¯