Futility marginãdepthã®ç·å½¢ã§ããçç±
å®è·¡ç 究ã®ç¥è¦ãã¾ã¨ãã¤ã¤ããè£ã§ãWCSCã«åãã¦æ¢ç´¢é¨ã®æ¹é ã«ãæãåºãã¦ãã¾ãã
è©ä¾¡é¢æ°ã¯ååä½ã®å±é¢ã使ã£ã¦ååä½ã®ãã©ã¡ã¿ãæé©åããã¨ãã人éã®ç´æã«åãããã®ã§ããä¸æ¹ãæ¢ç´¢é¨ã¯ãã¾ãã¯åãæããèãããã¨ãããã®å±é¢ã¯ä»®ã«çãè¿ãã¦ããä»èãããã¹ããªå±éã«åã°ãªãã ããããæ¢ç´¢ãæã¡åããã¨ããããç¨åº¦èããããã以ä¸èãã¦ãä»æ¹ãªãã®ã§æãã¦ç¸æã®æãè¦ã¦ããèããããã¨ããå²ã¨äººéçã«ãç´å¾ã®è¡ãç念ã§ä½ããã¦ãã¾ãã
ãããããã®ç念ãã³ã³ãã¥ã¼ã¿ã®æèã«ç¼ããªããã«ã¯ãå¹¾åãã®æ°ççãªå°æãå¿ è¦ã¨ãªãã¾ããæ¨ä»ã®ã³ã³ãã¥ã¼ã¿å°æ£ã®æ¢ç´¢é¨ã¯stockfishããå¼ã£å¼µã£ã¦ããã«ã¼ãã³ãå¤ããããããã°ãå¼ã®æå³ã解ããã«æç©ãããã¦ãã人ãããã®ã§ã¯ãªãã§ããããï¼
ä»åã¯stockfishã®æ°ããã«ã¼ãã³ã®ä¸ããfutility marginã«ã¤ãã¦èå¯ãã¦ããã¾ãã
Â
ï¼ï¼futility margin/pruningã£ã¦ãªãã
futility pruningã¯næ以å ã«ä»èãã¦ãæåæã®ã¹ã³ã¢ã追ãæãããã«ãªãæãæç©ãããæ¢ç´¢ã«ã¼ãã³ã®ä¸ã¤ã§ããä¾ãã°ã横æ©åãã§æ¨ªæ©ãåãæã®æ«å®è©ä¾¡å¤ã+100ã ã£ãã¨ãã¾ãã
æ«å®è©ä¾¡å¤ã¯æè©®ã¯æ«å®ã§ããã®ã§ãä»ã®æï¼ä¾ãã°é£è»ãå¼ãã¦ç¸æãã風å³ã«ãããªã©ï¼ã«æãããå¯è½æ§ãããã¾ããæ ã«ãä»ã®æãä»ã®ç¹æ°ãä½ãããã¨æç©ãããããã«ã¯è¡ãã¾ãããããããè¦è¾¼ã¿ã®ãªãæï¼é£è»ããã ã§æ¨ã¦ãæã¨ãï¼ã¯ãã£ãã¨æç©ããã¦ãã¾ã£ãã»ãããæåãªæã«è²»ãããæéãå¢ãã¦ãã¬ã¼ããä¸æãã¾ãã
ï¼ï¼é£è»ã¯èªãã¨ãã¦ãï¼ï¼æ©ãï¼ï¼é¦ã¯ã©ãã ãããã©ãããæç©ãããã°ããã®ã ãããããããå¤æãããã¨ãã«ä½¿ãã®ããfutility marginã§ãã
å ·ä½çã«ã¯ãå ¶ã®å±é¢ã®æµ ãèªãã æã®ç¹æ°(score)ã
bestscore - score > margin * depth *const
ã¨ãªã£ãæã«æç©ããçºåããã¾ããdepthã¯æ®ãæ¢ç´¢æ·±ãã§ãä»®ã«èªãã¨ãããdepthæå ãããã¾ã§èªãã¨ãããã¨ãæå³ãã¾ãã
marginãdepthã«æ¯ä¾ããã®ã¯ãå°æ£ã®å±é¢ã¯æ·±ãèªãã°èªãã»ã©è©ä¾¡å¤ãå¤ãããããããªã®ã§ããããã¦æ¤å¦ã§åé¡ããªãdepthã«æ¯ä¾ãªã®ã§ãããããããããçãèªã¿å¤ªãç·å½¢ã«ãã¦ãã¾ããæ¬å½ã«ãã®å½¢ã§ããã®ã§ããããï¼
Â
ï¼ï¼ç¹æ°ã®å¤å度ã¯depthã§ã¯ãªãdepthã®ã«ã¼ãã«æ¯ä¾ãã
ã¾ããdepthãï¼ã®æã«ã¤ãã¦èãã¾ããï¼ææ·±ãèªããã¨ã§è©ä¾¡å¤ã¯ããã¾ãããæ¦ãï¼99%ãããï¼ï¼Xç¹ä»¥ä¸ã«åã¾ãã¨ãã¾ãããã
depthã2ã®æã¯ã©ãã§ãããã2æå ã®æã®ç¹æ°ã®ãã¬ã¯ãï¼æå ã®ç¹æ°ã®ãã¬ãï¼ãï¼æå ã®å±é¢ããè¦ãï¼æå ã®ç¹æ°ã®ãã¬ãã§è¡¨ããã¾ããfutility marginçã«ã¯ãã¬ã¯æ¦ã2Xç¹ä»¥ä¸ã«åã¾ãã¨ã®ãã¨ã§ãããå®éã«2Xãåºã確çã¯ãã£ã¨ä½ãã¯ãã§ããã¨ããã®ãã2æé£ç¶ã§ãã£ãã«åºãªãXç¹ãåºããã°ãªããªãããã§ããï¼ææ·±ãèªããã¨ã§Xç¹ç¹æ°ãããã確çã1%ã ã¨ããã°ãï¼ææ·±ãèªããã¨ã§2Xç¹ç¹æ°ãããã確çã¯0.01%ã§ãã
ç´°ããå°åºã¯ãã¾ãã«ä»»ãã¾ãããstockfishãããæ·±ãèªãã¨ãã«ãããéããªã®ã§ã¯ãªãã§ããããï¼
Â
ï¼ï¼æç©ãããå±é¢ã®æ°ãèããã¨é£ãåã
ããå±é¢ããdæé¢ããå±é¢ã®è©ä¾¡å¤ãxããã確çã¯
ã§è¡¨ããã¨ãã¾ãããï¼å®éã¯è¦æ ¼åä¿æ°ãªã©ããããã©ï¼ããã®ã¨ããç¹æ°ã®å¤åå¤ãαd以ä¸ã«ãªã確çï¼futility pruningãã¦åé¡ãªã確çã¯
ã§è¡¨ããã¾ãï¼Î±ã¯futility marginã®ä¿æ°ã¨ãããZã¯dã«ä¾åããªãå®æ°ï¼ãã¬ã¦ã¹é¢æ°ã®ç©åã¯ã¬ã¦ã¹ç©åã®å ¬å¼ [ç©çã®ãããã£ã½]ããããåç §ãã¦ãã ããã
ããããdæèªãäºå®ã ã£ãå±é¢ãèªãã®ããããã¨ãããã¨ã¯ãå±é¢åã®èªã¿ãçç¥ããã¨ãããã¨ãæå³ãã¾ãï¼Aã¯åã å±é¢ã®åæ³æã®ãããªãã®ï¼ã
å³ã¡ãfutility pruningã«å¤±æããªãããã«ã¯ãä¸è¿°ã®è³ãã«åé£ç¶ã§åã¤å¿ è¦ãããã¾ãã
ã«å¯¾ãã¦ï¼æ¬¡ã®ãã¤ã©ã¼å±éãç¨ããã¨
é©åãªÎ±ãé¸ã¶ãã¨ã§dã«ãããä¸è¨ã®å¼ãä¸å®ã«ãªããã¨ã確èªã§ãã¾ãã
Â
Â
Â
ãã¾ãï¼ç¹æ°ã®å¤å度ã¯depthã§ã¯ãªãdepthã®ã«ã¼ãã«æ¯ä¾ããï¼å°é£ããè£è¶³ï¼
depthæå ã¾ã§èªãã¨ãããã¨ã¯
ãï¼ï¼ï¼ææ·±ãèªãã¨ãåã®å±é¢ã«æ¯ã¹ã¦é§ãä¸ã¤åãã¾ãï¼ãããããã ï¼
ãï¼ï¼é§ãåãã¨ãè©ä¾¡å¤ã¯åããé§ã®åã ãå¤åãã¾ã
ãï¼ï¼æ·±ãèªãã¨ï¼ã®ããã»ã¹ãä½åãéããããããã¨ã«ãªãã¾ã
ã¨ãããã¨ãæå³ãã¾ããé§ãä¸ã¤åãããã¨ã«ãã£ã¦çããè©ä¾¡å¤ã®å·®åã®åå¸ã¯KPPTã®ãã©ã¡ã¿ã§ç¹å¾´ã¤ããããé¢æ°ã«ãªãã¾ããæ·±ãèªããã¨ã§ãã®åå¸é¢æ°ã«å¾ã£ã¦ãä½åº¦ãè©ä¾¡å¤ãå¤èª¿ããã¦ããã¾ãã
å®ã¯ãåå¸é¢æ°ã®å½¢ãä½ã§ãããã¨ï¼ä¾å¤ã¯ãããã©ï¼ãååãªæ°depthãéããã¨ãæçµçãªåå¸ã¯ã¬ã¦ã¹é¢æ°ã«åæãã¦ããã¾ããä¸å¿æ¥µéå®çã¨å¼ã°ããå®çã§ããã大å¦åé ã®çµ±è¨ãªã©ã§åºã¦ãã¾ããä¸å¿æ¥µéå®çãç¨ããã°åå¤å¹ ã¯depthã®ã«ã¼ãã«æ¯ä¾ããã¨äºæ³ã§ãã¾ãã