ã²ãŒã ããŠãµã®ãšãªãªã«ãã
ãã§ã¹ç€ã«ã¯ãäžéšã«4å¹ã®ãªãªã«ãïŒé»ãã»ã«ïŒããããäžéšã«1å¹ã®ããŠãµã®ïŒé»ãã»ã«ã®1ã€ïŒããããŸãã ãŠãµã®ãæåã«æ©ããŸãã ãªãªã«ãã¯äžã«ããè¡ããããŠãµã®ã¯ã©ã®æ¹åã«ã§ãè¡ããŸãããæãã«æ©ãããšãã§ããã®ã¯1ãã¹ã ãã§ãã ããŠãµã®ãäžéšã®ã»ã«ã®1ã€ã«å°éãããšåå©ãããªãªã«ãã¯ãŠãµã®ãå²ãã ãæŒãããããå ŽåïŒãŠãµã®ã«è¡ãå Žæããªãå ŽåïŒã«åå©ããŸãã
èªã¿ç¶ããåã«ã æŒå¥ããããšããå§ãããŸããç解ããããã§ãããã
çºèŠç
å®çšçãªå·¥åŠçšèªã§ã¯ãããããã¯ã¹æ³ã¯çºèŠçææ³ã«åºã¥ããŠãããã¢ã«ãŽãªãºã ã®æ¬è³ªã«ç§»ãåã«æ€èšããŸããããããã¯ã¹ã®ã³ã³ããã¹ãã§ã¯ãããããå·ã®ãã¬ã€ã€ãŒã®åå©ã®ç¢ºçãè©äŸ¡ããããã«ããã¥ãŒãªã¹ãã£ãã¯ãå¿ èŠã§ãã ã¿ã¹ã¯ã¯ãã¥ãŒãªã¹ãã£ãã¯è©äŸ¡é¢æ°ãæ§ç¯ããããšã§ã ãããã¯ãéžæãããã¡ããªãã¯ã§ããã¬ãŒã€ãŒããã®ç¶æ ã«ãªã£ãæ¹æ³ã«äŸåããããšãªããç¹å®ã®æ°åã®é åã§ç¹å®ã®ãã¬ãŒã€ãŒãåã€ç¢ºçã®æšå®å€ãè¿ éãã€æ£ç¢ºã«æå®ã§ããããã«ããããšã§ãã ç§ã®äŸã§ã¯ãè©äŸ¡é¢æ°ã¯0ã254ã®å€ãè¿ããŸãã0ã¯ãããã®åå©ã254ã¯ãªãªã«ãã®åå©ãäžéå€ã¯äžèšã®2ã€ã®æšå®å€ã®è£éã§ãã 確çã®æšå®ã¯ç¢ºçã§ã¯ãªããå¶éããå¿ èŠã¯ãããŸãããç·åœ¢ãé£ç¶ã
è©äŸ¡é¢æ°ã®äŸ1 ã ããŠãµã®ãé«ããã°é«ãã»ã©ãåã€ãã£ã³ã¹ãå¢ããŸãã ãã®ãããªãã¥ãŒãªã¹ãã£ãã¯ã¯ãé床ã®èŠ³ç¹ããå¹æçã§ããïŒOïŒ1ïŒïŒãã¢ã«ãŽãªãºã çã«ã¯å®å šã«äžé©åã§ãã ããŠãµã®ã®ãé«ããã¯åå©ã®ç¢ºçãšçžé¢ããŸãããããŠãµã®ã®äž»ãªç®æšã§ãããåã€ããæªããŸãã ãã®è©äŸ¡é¢æ°ã¯ãããŠãµã®ã«äžã«ç§»åããããã«äŒããŸãããèšç®ã®æ·±ããæµ ãå Žåãé害ã«é¢ä¿ãªãããŠãµã®ãäžã«ç§»åãããã©ããã«é¥ããŸãã
è©äŸ¡é¢æ°ã®äŸ2 ã ãããã¯åã€å¯èœæ§ãé«ããåã£ããªãªã«ãã§åã€ããã®åããããå¿ èŠãå°ãªããªããŸãã ããã¯ãè€éãOïŒnïŒã®ããæ±ãã«ããã¢ã«ãŽãªãºã ã§ããããã§ãnã¯ã»ã«ã®æ°ã§ãã 移åæ°ã®èšç®ã¯ãå¹ åªå æ€çŽ¢ã«ãªããŸãã
ã泚æ ãã®èšäºã§æäŸããããœãŒã¹ã¯ãèªè ãã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ãå€ã§ãã®æ¬è³ªãç解ã§ããããã«å€æŽãããŠããŸãã èšäºã®æåŸã§ä¿¡é Œã§ãããœãŒã¹ãæ¢ããŠãã ããã
å¹ åªå æ€çŽ¢ãå®è¡ããã³ãŒãããŸãã¯ããããŠãµã®ãããè·é¢ãã«çããå€ã§ããããåããã³ãŒãïŒ
this->queue.enqueue(this->rabbitPosition); while (!this->queue.empty()) { QPoint pos = this->queue.dequeue(); for (int i = 0; i < 4; i++) if (canMove(pos + this->possibleMoves[i])) { QPoint n = pos + this->possibleMoves[i]; this->map[ny()][nx()] = this->map[pos.y()][pos.x()] + 1; this->queue.enqueue(n); } }
è©äŸ¡é¢æ°ã®çµæã¯ãæãè¿ãäžäœã»ã«ãŸã§ã®ãè·é¢ãã«çããå€ããŸãã¯å°éã§ããªãå Žåã¯254ã§ãªããã°ãªããŸããã 以äžã§èª¬æããæ¬ ç¹ã«ãããããããã²ãŒã ã§äœ¿çšãããã®ã¯ãã®çµéšåã§ãã
ãœãŒã¹ãèŠãŠç解ãã人ã®ããã«-泚æïŒ ã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ã¯ãã³ãŒãã®ä»ã®éšåã«åœ±é¿ãäžããããšãªãè©äŸ¡é¢æ°ãããçŽãããšãã§ããããã«èšèšãããŠããŸãã ãã ãã以åã«éžæããã¡ããªãã¯ã䜿çšããå¿ èŠããããŸããããããªããšãã¢ã«ãŽãªãºã ã¯è©äŸ¡é¢æ°ã®æ瀺ãç解ããŸããã
ããããã¯ã¹
ããã€ãã®æŠå¿µãšè¡šèšæ³ã玹ä»ããŸãã- ç¶æ ãããã¯æ±ºå®æšã®ããŒãã§ããããŸã-ããŒãäžã®æ°åã®äœçœ®ã
- æçµç¶æ
ãšã¯ããã以äžã®åãããªãç¶æ
ã§ãïŒèª°ããåã£ã/åŒãïŒã
- Viã¯içªç®ã®ç¶æ ã§ãã
- Vikã¯ãViç¶æ ãã1åã®ç§»åã§å°éã§ããkçªç®ã®ç¶æ ã§ãã 決å®æšã®ã³ã³ããã¹ãã§ã¯ãããã¯Viã®åããŒãã§ãã
- fïŒViïŒã¯ãå·Viã®åå©ç¢ºçã®èšç®ãããæšå®å€ã§ãã
- gïŒViïŒ -å·Viã®åå©ç¢ºçã®çºèŠçæšå®å€ã
fïŒViïŒã¯g ïŒViïŒãšã¯ç°ãªãã gïŒViïŒã¯Viã«é¢ããæ å ±ã®ã¿ã䜿çšãã fïŒViïŒã¯Vikããã³ãã®ä»ã®ç¶æ ãååž°çã«äœ¿çšããŸãã
ãã®æ¹æ³ã¯ã Viç¶æ ããã®ç§»åãéžæããåé¡ã解決ããããã«èšèšãããŠããŸãã 確çæšå®ãæ©è¡ããŠãããã¬ãŒã€ãŒã«ãšã£ãŠæãæçã§ããåããéžæããããšã¯è«ççã§ãã ã¡ããªãã¯ã§ã¯ããªãªã«ãã®å Žå-æ倧è©äŸ¡ãããŠãµã®ã®å Žå-æå°ã ãããŠãè©äŸ¡ã¯æ¬¡ã®ããã«èæ ®ãããŸãã
- fïŒViïŒ= gïŒViïŒ ã Viãæçµç¶æ ã®å ŽåããŸãã¯èšç®ã®æ·±ãã®éçã«éããå Žåã
- fïŒViïŒ= maxïŒfïŒVi1ïŒãfïŒVi2ïŒ... fïŒVikïŒïŒ ã Viããã¬ãŒã€ãŒãæ倧ã¹ã³ã¢ãæ¢ãã«è¡ãç¶æ ã§ããå Žåã
- fïŒViïŒ= minïŒfïŒVi1ïŒãfïŒVi2ïŒ... fïŒVikïŒïŒ Viããã¬ã€ã€ãŒãæå°ã¹ã³ã¢ãèŠã€ããããã«æ©ãç¶æ ã§ããå Žåã
ãã®æ¹æ³ã¯åžžèã«åºã¥ããŠããŸãã ç§ãã¡ã¯èªåã®åå©Pã®è©äŸ¡ãæ倧åããããã«æ©ããŸãããå°ãªããšãäœããèšç®ããããã«ã¯ãæµã®æ©ãæ¹ãç¥ãå¿ èŠããããæµã¯åœŒã®åå©ã®è©äŸ¡ãæ倧åããããã«æ©ããŸãïŒPè©äŸ¡ãæå°åããããïŒã èšãæããã°ãæµãã©ã®ããã«æ©ãããç¥ã£ãŠããããã®æ¹æ³ã§ç¢ºçæšå®ãæ§ç¯ã§ããŸãã æµãåãè©äŸ¡é¢æ°ãæã£ãŠããå Žåãã¢ã«ãŽãªãºã ãæé©ã§ãããæé©ã«åäœããããšã瀺ãæã§ãã ãã®å Žåãã€ã³ããªãžã§ã³ã¹ã¯èª€ç®ã®æ·±ããšè©äŸ¡é¢æ°ã®å質ã«äŸåããŸãã
äŸãæããŸãããã
ãã®äŸã§ã¯ããã¬ãŒã€ãŒã¯éãŠãµã®ã§ãã³ã³ãã¥ãŒã¿ãŒã¯ãªãªã«ãã§éãã§ããŸãã éãŠãµã®ãæ©ãåã£ãåŸãã³ã³ãã¥ãŒã¿ãŒã¯ããããã¯ã¹ã¢ã«ãŽãªãºã ãå®è¡ããŸãããã®äŸã§ã¯ãæ·±ã1ã§ã¢ã«ãŽãªãºã ã¯äœãããŸããïŒ
ãã®äŸã¯ãäžããèŠããšç解ãããããªããŸãã 2çªç®ã®ã¬ãã«ã§ã¯ããã¥ãŒãªã¹ãã£ãã¯æšå®å€ãååŸããç¶æ ããããŸãïŒæ°å€ã§èšè¿°ãããŠããŸãïŒã 2çªç®ã®ã¬ãã«ã§ã¯ãæåã®ã¬ãã«ãããããççŽãååŸãã次ã®ã¬ãã«ã§ãã§ãã¯ããããã®ããæå°å€ãéžæããŸãã ãŸãããŒãã¬ãã«ã¯ãæåã®ã¬ãã«ã«ãã£ãŠåœŒã«äžãããããã®ãããæ倧è©äŸ¡ãéžæããŸãã
ãã¹ãŠã®è©äŸ¡ãåŸãããã®ã§ãã©ãããã°ããã§ããïŒ
ã¢ã«ãŽãªãºã ã®å®è£ äŸïŒ
// f(Vi) int Game::runMinMax(MonsterType monster, int recursiveLevel) { int test = NOT_INITIALIZED; // ( ) if (recursiveLevel >= this->AILevel * 2) return getHeuristicEvaluation(); // . 0-7 - , 8-11 - int bestMove = NOT_INITIALIZED; bool isWolf = (monster == MT_WOLF); int MinMax = isWolf ? MIN_VALUE : MAX_VALUE; // for (int i = (isWolf ? 0 : 8); i < (isWolf ? 8 : 12); i++) { int curMonster = isWolf ? i / 2 + 1 : 0; QPoint curMonsterPos = curMonster == 0 ? rabbit : wolfs[curMonster - 1]; QPoint curMove = possibleMoves[isWolf ? i % 2 : i % 4]; if (canMove(curMonsterPos + curMove)) { //..., temporaryMonsterMovement(curMonster, curMove); //, , test = runMinMax(isWolf ? MT_RABBIT : MT_WOLF, recursiveLevel + 1); // , - , if ((test > MinMax && monster == MT_WOLF) || (test <= MinMax && monster == MT_RABBIT)) { MinMax = test; bestMove = i; } //... temporaryMonsterMovement(curMonster, -curMove); } } if (bestMove == NOT_INITIALIZED) return getHeuristicEvaluation(); // , , if (recursiveLevel == 0 && bestMove != NOT_INITIALIZED) { if (monster == MT_WOLF) wolfs[bestMove / 2] += possibleMoves[bestMove % 2]; else rabbit += possibleMoves[bestMove % 4]; } return MinMax; }
泚æïŒ ããã§ãbestMoveå€æ°ã¯å€ãã®æå³ãã«ãã»ã«åããŠããŸãïŒèŠæ±ã«å¿ããŠæå®ããŸãïŒããã¹ãŠãæ£ããå®è¡ããŠããããšãããããªãå Žåã¯ã4ãããã«ããŸãæå³ãæè³ããªãããšããå§ãããŸãã
ãªãã©ã·ãŒãšæè²ãåãã人ã ã§ããããªãã¯ã決å®æšãããå Žæã«ã¯æé©åã®ããã®å®ç©ãããããšããã§ã«æšæž¬ããŸããã ãã®äŸãäŸå€ã§ã¯ãããŸããã
ã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°
ã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã¯ãäžéšã®åãã®åæãäºå®ããæ©ãåæ¢ã§ãããšããèãã«åºã¥ããŠããã蚌èšã®çµæãç¡èŠããŸãã ã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã¯ããã°ãã°å¥ã®ã¢ã«ãŽãªãºã ãšããŠèª¬æãããŸãããããã¯åãå ¥ããããªããšèããæé©åã®ä¿®æ£ãšããŠèª¬æããŸãã ã¢ã«ãã¡ããŒã¿ã¯ããã©ã³ãã¡ãœããããã³ãã€ã³ãã¡ãœããã®ã¯ã©ã¹ã«å±ããŸãã倧ãŸãã«èšãã°ãæé©åã¯2ã€ã®è¿œå å€æ°alphaããã³betaãå°å ¥ããŸããalphaã¯ãæ倧åãã¬ãŒã€ãŒïŒãªãªã«ãïŒãéžæããªãçŸåšã®æ倧å€ã§ããã betaã¯æå°åãã¬ãŒã€ãŒïŒãããïŒãéžæããªãçŸåšã®æå°å€ã§ãã æåã¯ããããã-âã+âã«èšå®ãããæšå®å€ãååŸãããšfïŒViïŒãå€æŽãããŸãã
- alpha = maxïŒalphaãfïŒViïŒïŒ; æ倧åã®ã¬ãã«ã
- beta = minïŒããŒã¿ãfïŒViïŒïŒ; æå°åã®ã¬ãã«ã
æ¡ä»¶alpha> betaãçã«ãªãããããæåŸ ã®ççŸãæå³ãããšããã«ãVikã®åæãäžæãããã®ã¬ãã«ã®æåŸã«åãåã£ãæšå®å€ãè¿ããŸãã
ãã®äŸã®2çªç®ã®å³ã§ã¯ãã¢ã«ãã¡ãšããŒã¿ã®ã«ãããªãã䜿çšããŠãäžã®3è¡ãå®å šã«åãåãããŠããŸããã巊端ã®åã¯ãããŸããã ããã¯èª¬æã®è¯ãäŸã§ã¯ãªããšæãã®ã§ããŠã£ãããã£ã¢ã®äŸãåãäžããŸãã
äŸã®æå®ïŒ
- Viã¯æ±ºå®ããªãŒã®ããŒãã§ãããiã¯ããªãŒãã©ããŒãµã«ã®é åºãšã¯ãŸã£ããé¢ä¿ãããŸããã
- Vi [ã¢ã«ãã¡ãããŒã¿]-ã¢ã«ãã¡ãããŒã¿ã®æå®ãããçŸåšå€ãæã€ããŒãã
- Ciã¯i-alphaã¢ã«ãã¡ã¯ãªããã³ã°ã§ãã
- MINãMAX-ããããæ倧åãšæå°åã®ã¬ãã«ã æ倧ã¬ãã«ã®ç¶æ ã¯ãMINã瀺ãããŠãã次ã®ã¬ãã«ã®ç¶æ ããæ倧å€ãéžæããããšã«æ³šæããŠãã ãããéãåæ§ã§ãã ã€ãŸããæ倧å€ã¯MINãæžã蟌ãŸãããã®ããéžæãããMAXãæžã蟌ãŸãããã®ã®ãã¡ã®æå°å€ã¯æ··åããªãã§ãã ããã
ã¯ãªããã³ã°1ãæ€èšããŸããããŒãV3ã®ããªã¢ã³ããããŒãV1ã«å¯ŸããŠå®å šã«åŠçããããã®æšå®å€fïŒV3ïŒ= 6ãååŸãããåŸãã¢ã«ãŽãªãºã ã¯ãã®ããŒãïŒV1ïŒ ã ããã§ãV4ã®ãã¹ãŠã®åããŒãã®æå°ã¢ã«ãã¡=6ãV4ããŒããV5ããŒãã§ããªã¢ã³ããåŠçããæšå®fïŒV5ïŒ= 5ãåãåã£ãåŸãã¢ã«ãŽãªãºã ã¯V4ããŒãã®ããŒã¿å€ã調æŽããŸãã æŽæ°åŸãV4ããŒãã®å Žåãalpha> betaãšããç¶æ³ãçºçãããããV4ããŒãã®ä»ã®ãªãã·ã§ã³ã¯äžèŠã§ãã ãããŠãã«ãããªãããŒãã®ã°ã¬ãŒãã¯é¢ä¿ãããŸããã
- ã¯ãªãããããããŒãã®å€ã5ïŒããŒã¿ïŒä»¥äžã®å ŽåãããŒãV4ã§5以äžã®æšå®å€ãéžæãããŸãããããã£ãŠãããŒãV3ã®è©äŸ¡ãåªããŠãããããããŒãV4ã®ãªãã·ã§ã³ã¯ããŒãV1ã§éžæãããããšã¯ãããŸããã
- ã¯ãªãããããããŒãã®å€ã6ïŒããŒã¿+ 1ïŒä»¥äžã®å ŽåãV4ããŒãã¯è©äŸ¡ãäœãïŒããè¯ãïŒãããV5ããŒãã®ãªãã·ã§ã³ãéžæãããããããŒãã¯ãã以äžèæ ®ãããŸããã
Clipping 2ã®æ§é ã¯ãŸã£ããåãã§ããèªåã§å解ããããšããå§ãããŸãã ã¯ãªããã³ã°3ã¯ãã¯ããã«èå³æ·±ã泚æã§ã ãWikipediaã®äŸã¯æããã«ééã£ãŠããŸãã ïŒalpha> = betaïŒã®å Žåã圌ã¯ã¯ãªããã³ã°ãå®è¡ã§ããŸãããalpha-betaã¯æé©åã§ããããã¹ã®éžæã«ã¯åœ±é¿ããŸããã å®éã«ã¯ãäžè¬çãªã±ãŒã¹ã§ã¯alpha> betaã®å Žåã«ã®ã¿ãalpha> = betaã®å Žåã«ã¯ãªããã³ã°ãæ©èœããã¯ãã§ãããšæžããŠããŸãã
ãã決å®æšã«ã€ããŠããã¹ãŠã®åäŸãåãã¹ã³ã¢ã衚瀺ãããšããŸãã ãã®åŸãã©ã³ãã ã«ãããã®ãããããéžæã§ããŸãããããã¯æ£ããã§ãããã ãã ããalpha> = betaã®æ¡ä»¶ã䜿çšããŠãããè¡ãããšã¯ã§ããŸãããããã¯ãæåã®è©äŸ¡ã®åŸãä»ã®ãã¹ãŠãé®æã§ããããã§ãã ããããããã¯éèŠã§ã¯ãããŸãããããšãã°ãã¢ã«ãŽãªãºã ã¯ç¢ºççåäœãå®è£ ããŸãããããã¯ããã»ã©éèŠã§ã¯ãããŸããããã¢ã«ãŽãªãºã ã§åãè©äŸ¡ã®æé©ãªå€ã®éžæãéèŠã§ããå Žåããã®ã¯ãªããã³ã°æ¡ä»¶ã«ããã¢ã«ãŽãªãºã ãåçŽã«å£ããŠããŸããŸãæé©ã§ã¯ãããŸããã èŠæããŠãã ããïŒ
ã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã¯ãå®è£ ããã®ãéåžžã«ç°¡åãªã¢ã«ãŽãªãºã ã§ããããã®æ¬è³ªã¯ãããããã¯ã¹é¢æ°ã§ã¯ãæšå®ãåãåã£ãçŽåŸã«ãããããã¯ã¹ããã·ãŒãžã£ã®ã€ã³ã¿ãŒãã§ã€ã¹ã«2ã€ã®å€æ°alphaãšbetaãè¿œå ãããã®æ¬äœã«å°ããªã³ãŒããè¿œå ããå¿ èŠããããšããäºå®ã«èŠçŽãããŸã
ã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã䜿çšããŠããããã¯ã¹ã¢ã«ãŽãªãºã ãå€æŽããäŸïŒæ確ã«ããããã«ãå€æŽã¯ã³ã¡ã³ãåãããŠããŸãããããã¯éèŠãªã³ãŒãã§ãããã³ã¡ã³ãã§ã¯ãªãããšã«æ³šæããŠãã ããïŒïŒ
int Game::runMinMax(MonsterType monster, int recursiveLevel/*, int alpha, int beta*/) { int test = NOT_INITIALIZED; if (recursiveLevel >= this->AILevel * 2) return getHeuristicEvaluation(); int bestMove = NOT_INITIALIZED; bool isWolf = (monster == MT_WOLF); int MinMax = isWolf ? MIN_VALUE : MAX_VALUE; for (int i = (isWolf ? 0 : 8); i < (isWolf ? 8 : 12); i++) { int curMonster = isWolf ? i / 2 + 1 : 0; QPoint curMonsterPos = curMonster == 0 ? this->rabbit : this->wolfs[curMonster - 1]; QPoint curMove = this->possibleMoves[isWolf ? i % 2 : i % 4]; if (canMove(curMonsterPos + curMove)) { temporaryMonsterMovement(curMonster, curMove); test = runMinMax(isWolf ? MT_RABBIT : MT_WOLF, recursiveLevel + 1, alpha, beta); temporaryMonsterMovement(curMonster, -curMove); if ((test > MinMax && monster == MT_WOLF) || (test <= MinMax && monster == MT_RABBIT)) { MinMax = test; bestMove = i; } /* if (isWolf) alpha = qMax(alpha, test); else beta = qMin(beta, test); if (beta < alpha) break; */ } } if (bestMove == NOT_INITIALIZED) return getHeuristicEvaluation(); if (recursiveLevel == 0 && bestMove != NOT_INITIALIZED) { if (monster == MT_WOLF) this->wolfs[bestMove / 2] += this->possibleMoves[bestMove % 2]; else this->rabbit += this->possibleMoves[bestMove % 4]; } return MinMax; }
åã«èšã£ãããã«ãã¢ã«ãã¡ããŒã¿ã¯ãªããã³ã°ã¯éåžžã«å¹æçã§ããã次ã®ææšãããã蚌æããŠããŸãã ããããã®å Žåã«ã€ããŠãèšç®ã®æ·±ãã®3ã€ã®ç°ãªãã¬ãã«ã§ããã¥ãŒãªã¹ãã£ãã¯è©äŸ¡é¢æ°ãžã®å ¥åã®æ°ã枬å®ããŸããïŒå°ãªãæ¹ãè¯ãïŒã
çµè«ãšããŠããã®ã¯ãªããã³ã°ã¢ã«ãŽãªãºã ã®äœ¿çšã¯ãç¥æ§ã®ä»äºãå éããã ãã§ãªãããã®ã¬ãã«ãåäžããããšèšããŸãã
ãã¥ã¢ã³ã¹
ã¢ã«ãŽãªãºã ã¯ãçžæãæé©ã«èããå Žåã«ã®ã¿æé©ãªåããããŸãã ã¹ãããŒã¯ã®å質ã¯ãäž»ã«ååž°ã®æ·±ããšãã¥ãŒãªã¹ãã£ãã¯ã®å質ã«äŸåããŸãã ãã ãããã®ã¢ã«ãŽãªãºã ã¯ç§»åã®å質ãéåžžã«æ·±ãè©äŸ¡ããïŒãã¥ãŒãªã¹ãã£ãã¯ã§æ瀺çã«èšè¿°ãããŠããªãéãïŒç§»åã®æ°ã«çµã³ä»ããããªãããšã«æ³šæããŠãã ããã èšãæããã°ããã®ã¢ã«ãŽãªãºã ãè¿œå ã®å€æŽãªãã§ãã§ã¹ã«é©çšãããšããã§ãã¯ã¡ã€ããé ããªããŸãã ãããŠãã®äŸã§ã¯ããªãªã«ãã®æé©ãªæŠç¥ã§åã€æ¹æ³ããªãããšãããŠãµã®ãç解ããå Žåãæ倱ãé ãããããšãã§ãããšããäºå®ã«ããããããã圌ã¯èªæ®ºããããšãã§ããŸããç¹°ãè¿ããŸãããalpha> = betaãalpha betaã®ã¯ãªããã³ã°æ¡ä»¶ã«ããªãã§ãã ããããããå®è£ ã«åãå ¥ããããããšã100ïŒ ç¢ºä¿¡ããŠããªãéãã ãã以å€ã®å Žåãã¢ã«ãã¡ããŒã¿çã¯ãã¢ã«ãŽãªãºã å šäœã®ç¥èœãé«ã確çã§äœäžãããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯ãå€æ°ã®ç°ãªãå€æŽã®åºç€ã§ãããšããæå³ã§åºæ¬çã§ãã ããã«ç€ºãããŠãã圢åŒã§ã¯ããã§ãã«ãŒããã§ã¹ããŽãŒã«ã¯äœ¿çšã§ããŸããã ã»ãšãã©ã®å€æŽã¯ä»¥äžãæ±ããŸãïŒ
- èšç®ãåå©çšããŸãã
- æ·±ãã®ç°ãªãããŸããŸãªç¶æ³ãåæãã
- ç¹å®ã®ã²ãŒã ã®äžè¬çãªååãšçµéšåã«ãããã«ãããªãã®æ°ãå¢ãããŸãã
- 移åãã¿ãŒã³ãå®è£ ããŸãã ããšãã°ããã§ã¹ã§ã¯ãæåã®ããã€ãã®åãã¯ãªãŒããã³ã°ã§ãããããããã¯ã¹äœæ¥ã§ã¯ãããŸããã
- 移åã®ãµãŒãããŒãã£ã®å質尺床ãå®è£ ããŸãã ããšãã°ã1åã®ç§»åã§åã€ããšãã§ãããã©ããã確èªããå¯èœã§ããã°ãããããã¯ã¹ãèµ·åããã«åã€ããšã§ãã
- ã¯ããã«ã
èšå€§ãªæ°ã®å€æŽã«ãããã³ã³ãã¥ãŒã¿ãŒã§ãã§ã¹ããããã人ãåãããããããšãã§ããŸãã ãã®ãããªå€æŽããªããã°ãããããã¯ã¹ã¯ãçŸä»£ã®ã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒã§ãã£ãŠãããã§ã¹ã«ã¯å®éã«ã¯é©çšã§ããŸããã æé©åãªãã§ã¯ã3ã€ã®åãã®ãã§ã¹ã§ã¯ãçŽ30 ^ 6ã®åãïŒ729åïŒããã§ãã¯ããå¿ èŠããããããæ·±ãèšç®ã®æ·±ããå¿ èŠã§ã...