人工ç¥èœã®æ¹åã¯ãéåžžã®ã²ãŒã ã§å€æã§ããŸãã éå»20幎éã§ãã¢ã«ãŽãªãºã ã¯äžçã®ããããã¬ãŒã€ãŒãäžåããŸãããæåã«ãããã¯ã®ã£ã¢ã³ãšãã§ãã«ãŒãèœã¡ã次ã«ãã§ã¹ãããã€ã²ãŒã ãïŒJeopardyïŒïŒã2015幎ãã¢ã¿ãªãããªã²ãŒã ãæšå¹ŽãGoã
ãããã®æåã¯ãã¹ãŠãæ
å ±ã®å¯Ÿç§°æ§ãåããã²ãŒã ã«é¢ãããã®ã§ããããã¬ã€ã€ãŒã¯ã²ãŒã ã®çŸåšã®ç¶æ
ã«é¢ããåäžã®æ
å ±ãæã£ãŠããŸãã æ
å ±ã®å®å
šæ§ãšãããã®ç¹æ§ã¯ãã²ãŒã äžã®ããŒã«ã«æ€çŽ¢ãªã©ããããã®æåãä¿èšŒããã¢ã«ãŽãªãºã ã®æ ¹åºã«ãããŸãã
ããããæ
å ±ãäžå®å
šãªã²ãŒã ã«ã€ããŠã¯ã©ãã§ããããïŒ
ãã®ãããªã²ãŒã ã®æãæçœãªäŸã¯ããŒã«ãŒã§ãã ãã®ã²ãŒã ãšãã®åé¡ã解決ããã¢ã«ãŽãªãºã ãå®éã«åŠçããããã«ãæ©æ¢°åŠç¿ã«åºã¥ããŠã²ãŒã ããããäœæããããã®ããã«ãœã³ãéå¬ããŸãã ã«ããã®äžã§ãã«ãŒãã«è§Šããããšãªããã©ããšããŒã«ãŒã§æã詊ãã¢ã«ãŽãªãºã ãæããæ¹æ³ã«ã€ããŠã
äžçã«ã¯ãè€æ°ã®ãšãŒãžã§ã³ãéã®çžäºäœçšã«é¢é£ããã¿ã¹ã¯ããã£ã±ãã§ãã æŽå²çã«ããããã®ãã«ããšãŒãžã§ã³ãã®ç¶æ³ã§ã¯äººã
ãäž»ãªåå è
ã§ããããAIã®éçºã«ãããå¹³çãªåå è
ããã³å¯Ÿè©±å¯èœãªãšãŒãžã§ã³ããšããŠã¢ã«ãŽãªãºã ãæ¥åžžçæŽ»ã«å°å
¥ããæ©äŒããããŸãã çŸåšããã®ãããªã³ã³ãã¥ãŒã¿ãŒãšãŒãžã§ã³ãã¯ãèªåé»è©±ã·ã¹ãã ã®ãããªåçŽã§ç¡å®³ãªãã®ãããã»ãã¥ãªãã£ç®¡çãèªåŸèŒžé管çã®ãããªéèŠãªãã®ãŸã§ãå€ãã®åé¡ã解決ããŸãã ããã«ãããå€ãã®æ¥åžžã®ããã»ã¹ã倧å¹
ã«èªååããŠãæææ±ºå®ãã¢ã«ãŽãªãºã ã«ç§»ãã人ã®è² è·ã軜æžã§ããŸãã
ã³ã³ãã¥ãŒã¿ãšãŒãžã§ã³ãã䜿çšããå€ãã®ã¿ã¹ã¯ã®æ©èœã¯ãããã°ã©ãã³ã°ã®è€éãã«åœ±é¿ããçŸå®äžçã®å€æ°ã®å¶éã§ãã ã³ã³ãã¥ãŒã¿ãŒãšãŒãžã§ã³ãã«ãšã£ãŠæãéèŠãªããšã¯ãæææ±ºå®ã«å¿
èŠãªãã¹ãŠã®æ
å ±ãžã®ã¢ã¯ã»ã¹ã§ãã ãããAIã®ã¢ãã«ã¿ã¹ã¯ã«ã©ã®ããã«åœ±é¿ããããã€ãŸããšãŒãžã§ã³ããã²ãŒã ããã¬ã€ããæ¹æ³ãèŠãŠã¿ãŸãããã
é察称æ§ãšäžå®å
šãªæ
å ±ãæã€ã²ãŒã ã¯ããã€ã§ãå®å
šã«å©çšã§ããçæ³çãªæ
å ±ãæã€é¡äŒŒãµã€ãºã®ã²ãŒã ãšæ¯èŒããŠãéåžžã«è€éãªæææ±ºå®ã¢ãããŒããå¿
èŠãšããŸãã ãã€ã§ãæé©ãªè§£æ±ºçã¯ãçžæã®æŠç¥ã®ç¥èã«äŸåããŸããããã¯ãéå»ã®è¡åããã®ã¿æšå®ã§ãããç§ãã¡ã«é ããã圌ãã ããã¢ã¯ã»ã¹ã§ããæ
å ±ã«äŸåããŸãã ãããã圌ãã®ä»¥åã®è¡åã¯ãŸããç§ãã¡ã®è¡åã«ã€ããŠã®åœŒãããé ãããæ
å ±ãšç§ãã¡ã®è¡åããã®æ
å ±ãã©ã®ããã«é瀺ãããã«äŸåããŠããŸãã ãã®ååž°çãªããã»ã¹ã¯ã广çãªæææ±ºå®ã¢ã«ãŽãªãºã ãæ§ç¯ããéã®äž»ãªå°é£ã瀺ããŠããŸãã
ããã°ã©ãã³ã°ãšãŒãžã§ã³ãã®åé¡
ãšãŒãžã§ã³ããšã¯ãæææ±ºå®ããã»ã¹ã®èªåŸçãªåå è
ãã€ãŸãå人ãšã³ã³ãã¥ãŒã¿ãŒã®äž¡æ¹ãæå³ããŸãã ãã«ããšãŒãžã§ã³ãç°å¢ã§ã¯ããšãŒãžã§ã³ãã¯äºãã«å¯Ÿè©±ããä»ã®ãšãŒãžã§ã³ãã®æŠç¥ãç®æšãããã³èœåãåžžã«ææ¡ããŠããããã§ã¯ãããŸããã ãã®ãããªç°å¢ã§çµæãæå€§åãããšãŒãžã§ã³ãã®æé©ãªåäœã¯ãä»ã®ãšãŒãžã§ã³ãã®ã¢ã¯ã·ã§ã³ã«äŸåããŸãã ãã«ããšãŒãžã§ã³ãç°å¢ã§å¹æçãªãšãŒãžã§ã³ããæ§ç¯ããã«ã¯ãä»ã®ãšãŒãžã§ã³ãã®ã¢ã¯ã·ã§ã³ã«é©å¿ãããã®æŠç¥ãã¢ãã«åãããã®è¡åã«åºã¥ããŠåŠç¿ããå¿
èŠããããŸãã
ãšãŒãžã§ã³ãããªã¢ã«ã¿ã€ã ã§é©å¿ããããã«ã¯ãçµæãéæããããã«æé©ãªã¢ã¯ã·ã§ã³ãéžæããå¿
èŠããããŸãã 匷ååŠç¿ã¢ãããŒãã䜿çšããŠããšãŒãžã§ã³ãã¯èªåã®è¡åã«å¯Ÿããå ±é
¬ãç²åŸããŸãã ãŸãããšãŒãžã§ã³ãã¯ãèšç»ãããæŸåãšæ¢æ»ã®åãçµã¿ã«åŸãããšã§ãã©ã³ã¹ãåããä»ã®ãã¬ã€ã€ãŒã®æŠç¥ã«é¢ããæçšãªæ
å ±ãèŠã€ããããšããŸãã
åé¡ã®ãã§ã«é£ãã声æã«å ããŠããšãŒãžã§ã³ãã¯ãæ
å ±ãäžå®å
šãªãã«ããšãŒãžã§ã³ãç°å¢ã§ã®äœæ¥ã«é¢é£ããä»ã®å¶éã«çŽé¢ããŸãã ãšãŒãžã§ã³ããçŽé¢ããäž»ãªå°é£ãæžãçããŸãã
- éãããæ°ã®èŠ³æž¬ã ååãšããŠããšãŒãžã§ã³ãã¯ãã¬ãŒãã³ã°çšã®å°æ°ã®èгå¯çµæã®ã¿ãå©çšã§ããŸãã ããã¯ã人éãšãŒãžã§ã³ãã®åå ãé·ãéå©çšã§ããªãã£ãå®éã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ç¹ã«éèŠã§ãã
- 確çç芳枬ã ãšãŒãžã§ã³ãã®çžäºäœçšç°å¢ãšãšãŒãžã§ã³ãèªäœã®äž¡æ¹ã¯ãå€ãã®å Žåã倿°ã®ã©ã³ãã ãªèŠå ã®åœ±é¿ãåããŸãã ãšãŒãžã§ã³ãã®åäœãä»ã®å€æ°ã®ã©ã³ãã 倿°ã«äŸåããã©ã³ãã 倿°ã§ããå Žåããã¬ãŒãã³ã°ãšé©å¿ã«åœ¹ç«ã€ä¿¡å·ãåé¢ããããšã¯ç¹ã«å°é£ã«ãªããŸãã
- 芳å¯ãããæ
å ±ã®äžå®å
šãã ããã¯ããšãŒãžã§ã³ããåäœããç°å¢ã®éèŠãªããããã£ã§ãã éšåçãã€éãããæŠèŠã®ã¿ããšãŒãžã§ã³ãã«å©çšå¯èœã§ãããäžçã«é¢ããã»ãšãã©ã®æ
å ±ããšãŒãžã§ã³ãããé ããŠããŸãã
- åçãªåäœã æéã®çµéãšãšãã«ããšãŒãžã§ã³ãã¯äºãã®è¡åã«é©å¿ãããã¬ãŒãã³ã°ãšé©å¿ã®éã«è¡ããã鲿ãå¹³æºåã§ããŸãã ç°å¢ã¯æéãšãšãã«å€åãããšãŒãžã§ã³ããæ°ããã¢ã¯ã·ã§ã³ãæŠç¥ãè¡åãåŒãèµ·ããããšããããŸãã
ãããã®ç¹æ§ã¯ãã¹ãŠãã³ã³ãã¥ãŒã¿ãŒãšãŒãžã§ã³ãã®äœæã«é倧ãªå°é£ã課ããŸãã ãããã®å°é£ã®1ã€ã§ããšãŒãžã§ã³ãã®åäœãã¢ãã«åããããšã¯è€éãªç§åŠéçŽçãªã¿ã¹ã¯ã§ããããã®ãããªãšãŒãžã§ã³ãã®ãšã³ãžãã¢ãšèè
ããããã®å°é£ã®å®å
šãªãªã¹ãã«å¯ŸåŠããªããã°ãªããªãå®éã®ç°å¢ã¯èšããŸã§ããããŸããã è€éãªç°å¢ã®äžè¬çãªã±ãŒã¹ã«ã€ããŠè©±ããŸããããæ¬¡ã«ã²ãŒã ã«ç§»ããŸãããã
ããŒã«ãŒAI
説æãããã¹ãŠã®ããããã£ãåããè€éãªç°å¢ã®è¯ãäŸã¯ãããŒã«ãŒã§ãã ããã«ã¯ãã«ãŒãã«é¢ããæ
å ±ã®äžå®å
šããåå ããŠãããã¬ã€ã€ãŒã®æŠç¥ãã«ãŒãã®é
åžã«é¢é£ããã©ã³ãã æ§ã®èŠçŽ ãããã³ã²ãŒã äžã«èª¬æãããã®ä»ã®å°é£ãå«ãŸããŸãã ããã«ãã²ãŒã ã®ç¶æ³ãç¹åŸŽä»ããå¯èœãªã²ãŒã ç¶æ
ã®æ°ã¯èšå€§ã§ãã ãšãŠã巚倧ãªã®ã§ãGoã«å£ãïŒå¯Ÿæ°ã¹ã±ãŒã«ã§ïŒã ãã§ãïŒç¡å¶éã®Hold'emã«ã¯10 160ãããGoã«ã¯çŽ10 170ãããŸãã
ããŒã«ãŒã¯ãã£ã³ã¹ã®ã²ãŒã ã§ãããšããäºå®ã«ãããããããå
¬åŒã¹ããŒããšããŠèªèãããŠãããã»ãŒãã¹ãŠã®åœïŒãã·ã¢ãå«ãïŒã«å
šåœã¹ããŒãããŒã«ãŒé£çããããŸãã 仿¥ããã®ã²ãŒã ã«ã¯äžçäžã«äœçŸäžäººãã®ãã¡ã³ãããŸãããããŒã«ãŒããŸã äžçã®äººæ°ããã»ã©é ããšãã§ãããã¬ã€ã€ãŒã ãã§ãªãç§åŠè
ãããé«ãè©äŸ¡ãããŠããŸããã çŸä»£ã®ã²ãŒã çè«ã®å
é§è
ã§ãããžã§ã³ã»ãã©ã³ã»ãã€ãã³ã¯ããã®ãã©ããšãããã®ã²ãŒã ã«éåžžã«é
äºãããæ¬¡ã®ããã«è¿°ã¹ãŸããã
ãçŸå®ã®ç掻ã¯ããã©ããå°ããªæ¬ºceptionãä»ã®äººãããªãã«æåŸ
ããããšãèããããšããæãç«ã£ãŠããŸãã ãããç§ã®çè«ã§ã²ãŒã ã衚ããã®ã§ããã ãžã§ã³ã»ãã©ã³ã»ãã€ãã³
ããŒã«ãŒåãAIã®éçºã®æŽå²ã¯30幎以äžãããŸãããæãé¡èãªææã¯æåéãéå»3幎éã«çããŠããŸãã
æåã®ããŒã«ãŒããã°ã©ã ãšã¢ã«ãŽãªãºã ã¯80幎代ã«ç»å ŽããŸãããããšãã°ã1984幎ã«åœŒãäœæããStratosphereããŒãã¡ã³ãã§ãã¢ãè¡ã£ãMike Caro Oracã·ã¹ãã ã§ãã 1991幎ãããŒã«ãŒåãAIã®éçºã«ç¹åããäžçåã®ç ç©¶ã°ã«ãŒããã¢ã«ããŒã¿å€§åŠïŒã«ããïŒã§èšç«ãããŸããã 1997幎ããã®ã°ã«ãŒãã¯ããŒã«ãŒåãAIã®æåã®æåããæå³ã®ããå®è£
ã§ããLokiã·ã¹ãã ãå®èšŒããŸããã ããã¯å¹³åçãªäººéã®ãã¬ãŒã€ãŒããããããã«æªãã¬ãã«ã§ãã¬ãŒããŸããããããã¯ç ç©¶åéå
šäœã«ãšã£ãŠéèŠãªãã€ã«ã¹ããŒã³ã§ããã 2000幎代ã«ã¯ãããŒã«ãŒãããã®AIãæžããšãããã©ãã€ã ã«å€åããããŸããã ç ç©¶è
ã¯ããã£ãŒããã«ãŒã®ãã§ã¹ã§ã®æåïŒ1996幎ã«ã®ã£ãªãŒã«ã¹ããããç ŽããŸããïŒã«è§ŠçºãããããŒã«ãŒã¢ãããŒããããããŒã«ãŒåãã®æ¬æ Œçãªæ¹æ³è«ãšã·ãã¥ã¬ãŒã·ã§ã³åé¡ã®å®åŒåã«ç§»è¡ããŸããã
2015幎ãã¢ã«ããŒã¿å€§åŠã¯Cepheusã·ã¹ãã ãå°å
¥ããŸãããããã¯æåéããããŒã«ãŒã®çš®é¡ã®1ã€ã§ãããæ±ºå®ããããºã¢ããããŒã«ãŒïŒç°¡ç¥ããŒãžã§ã³ãçŽ10 18ã²ãŒã ã®ç¶æ³ïŒããæ±ºå®ãããŸããã ããã¯AIã®éçºã«ãããéèŠãªãã€ã«ã¹ããŒã³ã§ããããã¯ãçŸæç¹ã§å®å
šãªæé©ãœãªã¥ãŒã·ã§ã³ãåããæ
å ±ãäžå®å
šãªå¯äžã®ã²ãŒã ã§ããããã§ãã ããã¯ãã»ãã§ãŠã¹ã2ãæéãã¬ã€ããããšã§éæãããŸããïŒGoã®ã²ãŒã ã§äžçãã£ã³ããªã³ãç Žã£ãAlphaGoãåãæ¹æ³ã§èšç·ŽãããŸããïŒã
ãã®ã·ã¹ãã ã¯ãäžéšã®æã§ãããã倱ãããšããããããçæ³çã§ã¯ãªãããšã«æ³šæããããšãéèŠã§ãã ãã ããååãªæ°ã®ã²ãŒã ãããã°ãã»ãã§ãŠã¹ãåŒãç¶ãåè
ãšãªããŸãã ãŸãããããºã¢ããããŒã«ãŒã®ç¡å¶éããŒãžã§ã³ã«ã¯ãã²ãŒã ã®ç¶æ
ãå€ããããããåæ§ã®å®å
šãªãœãªã¥ãŒã·ã§ã³ããŸã ãªãããšã«æ³šæããããšãéèŠã§ãã
ä»å¹ŽãããŒã«ãŒãããã®äžçã§2ã€ã®éèŠãªã€ãã³ããåæã«éå¬ãããŸããã ã¢ã«ããŒã¿å€§åŠã¯ãç¡å¶éã®ãããºã¢ããããŒã«ãŒããã¬ã€ããããã®DeepStackã¢ã«ãŽãªãºã ãå°å
¥ããŸããã ãã£ãŒããã¥ãŒã©ã«ãããã¯ãŒã¯ã«åºã¥ããŠãã¢ã«ãŽãªãºã ã¯ããã®ãã¬ã€ã€ãŒãå«ãå€ãã®äººéã®ã©ã€ãã«ãæã¡è² ããããšã«æåããAlphaGoã¯äººéã®çŽæãæš¡å£ããŠãåŠç¿ãããããšãã§ããå€ãã®ã²ãŒã ãç¶ç¶çã«ãã¬ã€ããŸããã

Live Libratus Tournament vs Human
ããŒã«ãŒãããã®äžçã§2017å¹Žã®æãéèŠãªã€ãã³ãããããŠããããAIå
šè¬ã ã«ãŒãã®ãŒã¡ãã³å€§åŠã®Libratusã·ã¹ãã ã¯ãããã®ããŒã«ãŒãã¬ã€ã€ãŒãç¡äºã«åããŸãããããã¯ãäžçæé«ã®ç¡å¶éã®ãããºã¢ããããŒã«ãŒãã¬ã€ã€ãŒã§æ§æãããããŒã ã§ãã 圌ãã«ãããšãã¢ã«ãŽãªãºã ã¯éåžžã«è¯ãã£ãã®ã§ã圌ã¯äžæ£è¡çºãããŠã©ã€ãã«ã«ãŒããèŠãŠããããã«èŠããŸããã 詊åã¯20æ¥éã®ããŒãã¡ã³ãäžã«ãªã¢ã«ã¿ã€ã ã§è¡ãããã¢ã«ãŽãªãºã ã®ã¢ã¯ã·ã§ã³ã¯ãããããŒã°ã¹ãŒããŒã³ã³ãã¥ãŒã¿ãŒã§ã«ãŠã³ããããŸããã
ãœãªã¥ãŒã·ã§ã³ã®å®çšçãªäŸ¡å€
ããŒã«ãŒãããã¯å®éã®ã¿ã¹ã¯ã«é©çšã§ããªãããã«èŠããŸããããã®éçºã«ãããã«ãŒãã²ãŒã ããç·Žç¿ã«ç§»ããå€ãã®æ¹æ³ãããããããŸããã æé«ã®äººéã®ãã¬ãŒã€ãŒãå
æããçŸä»£ã®ããŒã«ãŒãããã®ã¢ã«ãŽãªãºã ã¯æ®éçã§ãããäžè¬çã«äžå®å
šã§éå¯Ÿç§°ãªæ
å ±ãå«ãç°å¢ã§ãšãŒãžã§ã³ãããã¬ãŒãã³ã°ããããšãç®çãšããŠããŸãã ã»ãã¥ãªãã£ããããŒã±ãã£ã³ã°ãŸã§ãåæ§ã®è€éãã®ç°å¢ã§æææ±ºå®ãå¿
èŠãªå€ãã®ã¢ããªã±ãŒã·ã§ã³ã«ãããã転éããããšãã§ããŸããããã§ã¯ããªãŒãã£ãšã³ã¹ã®å
¥æãã·ãã¥ã¬ãŒãã§ããŸãã
éè¡æ¥çã§ã¯ãé«åºŠãªããŒã«ãŒãããã®èåŸã«ããã¢ã«ãŽãªãºã ãã¢ããªã±ãŒã·ã§ã³ãèŠã€ããå€ãã®å®éçãªåé¡ããããŸãã Sberbankã®ãã®ãããªããžãã¹ã¿ã¹ã¯ã®äžã§ããŸã第äžã«ãä»ã®å€ãã®ãªããžã§ã¯ããã³ã¯ã®åžå Žã§ã®ãªã¹ã¯ãªã¿ãŒã³ãšäŸ¡æ Œèšå®ã®ç®¡çã«æ³šç®ãã䟡å€ããããŸãã ãã ãããããã®ã¢ããªã±ãŒã·ã§ã³ã®ãªã¹ãã¯ãCustomer Value ManagementãNext Best Actionãªã©ã®ã¿ã¹ã¯ã«ç°¡åã«æ¡åŒµã§ããŸãã
2.ãºãã«ãã³ã¯ããŒã«ãã ãã£ã¬ã³ãž

æ©æ¢°åŠç¿ããŒã¹ã®Gamebot Hackathon
æ©æ¢°åŠç¿ãšäººå·¥ç¥èœã®éçºãä¿é²ããããã«ããªã³ã©ã€ã³ç«¶äºãå
è¡ãããŠããŒã¯ãªããã«ãœã³ãéå¬ããŸãã æ©æ¢°åŠç¿ã®å°éå®¶ãæåŸ
ããŠãäžç¢ºå®æ§ã«çŽé¢ããŠæé©ãªæ±ºå®ãäžããä»ã®ããŒã«ãŒãã¬ãŒã€ãŒã®è¡åãã¢ãã«åã§ãã人工çãªã²ãŒãã³ã°ã€ã³ããªãžã§ã³ã¹ãäœæããŠã¿ãŠãã ããã
ã仿¥ã®äººå·¥ç¥èœã¯ãåççãªã¢ã«ãŽãªãºã ãéçºããã ãã§ãªããåžå Žåå è
ã®äžåçãªè¡åããããŒãã¡ã³ãã®å Žåã®ããã«ããŒã«ãŒãã¬ã€ã€ãŒã®ã¢ãã«åã«ã圹ç«ã€ã¯ãã§ããã Sberbankã®äžçŽå¯ç€Ÿé·ã§ããAlexander Vedyakhin
åè³è
ã®æ¥çžŸãSberbankã®äººå·¥ç¥èœã®éçºã«æŽ»çšãããããšãé¡ã£ãŠããŸãã ããã«ããããããããããã®éçºãå®éã«é©çšãããåã«å¹ŽãçµéãããšããŠãããã®ãããªããã«ãœã³ã¯ãã®ãããªã¢ãã«ã®åé¡ã«é¢ããç§åŠã®çºå±ã«ãšã£ãŠéèŠã§ãã
åå è
ã®ä»äº
ããŒã«ãŒããããäœæããå¿
èŠãããã²ãŒã ã¯ãæã人æ°ã®ããããŒã«ãŒã¿ã€ãã§ãïŒããŒãªããããããµã¹ããŒã«ãã ã§ãã ãŸããæãé£ããçš®é¡ã®ã²ãŒã ã§ãããåäžã®ç ç©¶ã°ã«ãŒããæåã«è¿ã¥ããŠããããã§ã¯ãããŸããã2人ã§ã¯ãªã9人ã®ãã¬ã€ã€ãŒãåå ããã²ãŒã ã®çµã¿åããã®æ°ã¯èšå€§ã§10 160ã«éããŸãã
åå è
ã¯ãããŒã«ãŒããã¬ã€ãããšãŒãžã§ã³ããå®è£
ããå¿
èŠããããŸãã ããŒã«ãŒã²ãŒã ã¯é£ç¶ããäžé£ã®é
åžïŒã©ãŠã³ãïŒã§ããããã¹ãŠã®ããŒã«ãŒãããã1人ã®ãã¬ãŒã€ãŒã«ããæ®ã£ãŠããªãå ŽåããŸãã¯ã©ãŠã³ãæ°ã®å¶éã«éãããŸã§çµäºããŸãã åã²ãŒã ã§ã¯ãããããã¬ãŒã€ãŒã®9人ã®ãšãŒãžã§ã³ããåå ããŸãã
åå è
ã®ãšãŒãžã§ã³ããããã²ãŒã ãšããŒãã¡ã³ããã©ã³ãã ã«åœ¢æããããã®çµæã«å¿ããŠæè¯ã®æŠç¥ã決å®ãããŸãã ã²ãŒã ã®éå§æã«ãåãšãŒãžã§ã³ãã«ã¯ã¿ã€ã ãã³ã¯ãäžããããããã䜿çšããŠããŒãã¡ã³ãäžã«æ±ºå®ãäžãããšãã§ããŸãã ãšãŒãžã§ã³ããå¶éæéãè¶
ããå ŽåããŸãã¯ãšãŒãžã§ã³ããããŒã¿è»¢éãããã³ã«ã«å¯Ÿå¿ããªãå¿çãéä¿¡ããå Žåãã·ãã¥ã¬ãŒã¿ãŒã¯ããŒãã¡ã³ããçµäºãããŸã§åãã£ã¹ããªãã¥ãŒã·ã§ã³ã®ã«ãŒããèªåçã«ç Žæ£ããŸãã
ç«¶æããã°ã©ã
ã³ã³ãã¹ãã¯2ã€ã®ã¹ããŒãžã§éå¬ãããŸããå人ã®äºéžããŒãã¡ã³ããš100人ã®ãã¡ã€ããªã¹ãã®ããŒã ãªãã©ã€ã³ããã«ãœã³ã§ãã ãªã³ã©ã€ã³äºéžã¹ããŒãžãééããäžäœ100人ã®åå è
ã¯ããã©ã€ããŒããªãã©ã€ã³ããã«ãœã³ã«æåŸ
ãããŸãã
- 8æ30æ¥12:00
ç«¶äºã®ãã©ãããã©ãŒã ã§ã®ç«¶äºã®ãªã³ã©ã€ã³ã¹ããŒãžã®éå§ããœãªã¥ãŒã·ã§ã³ã®éä¿¡ã®éå§ã - 9æ18æ¥ã03ïŒ00ïŒ9æ15æ¥23:59ããå»¶é·ïŒ
ãªã³ã©ã€ã³ã¹ããŒãžãéããåå è
ãè©äŸ¡ãããã¡ã€ããªã¹ããéžåºããŸãïŒããã100ïŒã - 9æ23æ¥10:00
Sberbank Corporate Universityã§ã®ããã«ãœã³ã®ãªãã©ã€ã³ã¹ããŒãžã®éå§ã - 9æ24æ¥ã16ïŒ00ã
ããã«ãœã³æ±ºåããŸãšããæè³åŒã
äºéžãªã³ã©ã€ã³ã¹ããŒãžã¯åå¥ã«éå¬ãããŸãã ãªã³ã©ã€ã³æ®µéã§ã¯ãåå è
ãèªåã®ããŒã«ãŒãããã®æžãæ¹ãåŠã¶ããšãã§ããããã«ãç«¶äºããŒã ããªãã©ã€ã³ããã«ãœã³ã®ãã¹ãç°å¢ãæäŸããŸãã ãŸãããªã³ã©ã€ã³ã¹ããŒãžã§ã¯ãæ¯æ¥åå0æã«ãã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠããããã®è©äŸ¡ãæ¯æ¥æ±ºå®ãã100以äžã®ã©ã³ãã ããŒãã¡ã³ããéå¬ãããŸãã ãªãã©ã€ã³æ®µéã§ã¯ãåå è
ã¯ããŒã ãçµæããåå è
ã®è©äŸ¡ã決å®ããããŒãã¡ã³ãããã¹ãŠã®åå è
éã§1æéããšã«è¡ãããŸãã
ããã«ãœã³ã¯ãSberbank Corporate Universityã®Academy of Technology and DataãçŽæ¥åå ããŠéå¬ãããŸããããã«ãœã³ã®ãã¡ã€ãã«ã¯ããã¡ã€ããªã¹ããã¢ã«ãŽãªãºã ãæçµæ±ºå®ããå¿
èŠãããCorporate Universityã®ãã£ã³ãã¹ã§éå¬ãããŸãã

ãºãã«ãã³ã¯ã³ãŒãã¬ãŒããŠãããŒã·ãã£ãã£ã³ãã¹
ãªãã©ã€ã³åå è
ã«ã¯ãã¢ã¹ã¯ã¯ãããã£ã³ãã¹ãžã®éè¿ãããã«ã®å®¿æ³ãé£äºããã®ä»ã®ãµãŒãã¹ãšçŽ æŽããããã£ã³ãã¹ã®æ©äŒãæäŸãããŸãã ããã®ã³ã¡ã³ããŒã¿ãŒã®åå ã«ãããã³ã³ãã¹ãã®æ±ºåæŠãšãããéã®ããŒã«ãŒããŒãã¡ã³ããè¡ãããŸãã
æ®å¿µãªããããã·ã¢ã®åžæ°ã ãããã®ç«¶äºã«åå ã§ããŸãã ã¢ã¹ã¯ã¯ãžã®ç©æµãåå è
èªèº«ã«æ®ã£ãŠããŸãã ãã®ç¹ã§ãããã100ã«ãã人ã®ãªãã©ã€ã³ããã«ãœã³ã®å Žæã¯ããªãããã®çç±ã§ãªãã©ã€ã³ã¹ããŒãžã«æ¥ãããšãã§ãããè©äŸ¡ããŒãã«ã®ãªã¹ãã§ãããã®æ¬¡ã®å Žæã«è»¢éãããŸãã
äžäœ3ããŒã ã®è³éã¯60äžã«ãŒãã«ã§ãã
3.ããã°ã©ãã³ã°æŠç¥
ããŒã«ãŒããããå®çŸããåå©ã«å°ãæ¹æ³ãèŠãŠã¿ãŸãããã ãããè¡ãã«ã¯ã3ã€ã®ããšãå¿
èŠã§ãã
-ç§ãã¡ãèªä¿¡ãæã£ãŠããããã°ã©ãã³ã°èšèªïŒPythonããã³C ++ã«æ¢è£œã®äŸããããŸãïŒã
-ç§ãã¡ã®ããããåäœããããŒã«ãŒã²ãŒã ã®ã·ãã¥ã¬ãŒã¿ãŒã ã·ãã¥ã¬ãŒã¿ãŒãšããŠã PyPokerEngineãªãŒãã³ãœãŒã¹ã©ã€ãã©ãªã䜿çšãããŸã
-ãããèªäœã®ã³ãŒããã·ãã¥ã¬ãŒã¿å
ã§ã²ãŒã ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã
æåã«ããããåŠçããŠãããã»ã©é£ãããªãããšã確èªããŸãããã
ç°¡åãªãããã®äŸ
Pythonã§æãåçŽãªãããã®äŸãèŠãŠã¿ãŸããããæ¯åCALLæäœãå®è¡ããŸããã€ãŸããåžžã«ããèªäœã«èªä¿¡ããããããã ãã§çžæã®è³ããå¹³æºåããŸãã
from pypokerengine.players import BasePokerPlayer class FishPlayer(BasePokerPlayer): def declare_action(self, valid_actions, hole_card, round_state): call_action_info = valid_actions[1] action, amount = call_action_info["action"], call_action_info["amount"] return action, amount def receive_game_start_message(self, game_info): pass def receive_round_start_message(self, round_count, hole_card, seats): pass def receive_street_start_message(self, street, round_state): pass def receive_game_update_message(self, action, round_state): pass def receive_round_result_message(self, winners, hand_info, round_state): pass
ãããã¯ãdeclare_actionãããã®æç¹ã§ã®ã²ãŒã ã€ãã³ããã³ãã©ãŒã¡ãœãããšã¢ã¯ã·ã§ã³éžæã¡ãœãããå®è£
ãããŠãããªããžã§ã¯ãã§ãã ã©ã€ãã©ãªã®ããã¥ã¡ã³ãã§ãã²ãŒã æŠç¥ã®å®è£
ã«ã€ããŠè©³ããèªãããšãã§ããŸãã
ã²ãŒã æŠç¥ã®éçºã¯Pythonèšèªã ãã§ãªããä»ã®ããã°ã©ãã³ã°èšèªã§ãå®è£
ã§ããŸãã APIã®èª¬æãšãããäœæã®ã¬ã€ãã«ã€ããŠã¯ã ãããã®æºåã«é¢ããã¬ã€ããåç
§ããŠãã ãã ã
æ¯æ¥00:00 MSKã«ãã·ã¹ãã ã«éä¿¡ããããã¹ãŠã®ãããéã§ããŒãã¡ã³ããéå¬ãããŸãã åå è
ãè€æ°ã®ãšãŒãžã§ã³ããéä¿¡ããå ŽåãæåŸã«éä¿¡ãããæ±ºå®ã®ã¿ãèæ
®ãããŸãã
ããŒãã¡ã³ãäžãåãããã¯ã©ã³ãã ãªã©ã€ãã«ãšã®äžé£ã®ã²ãŒã ããã¬ã€ããŸã-ä»ã®åå è
ã®ãããã§ãã çµæããŒãã«ã¯ãããŒãã¡ã³ãã®ãã¹ãŠã®ã²ãŒã ã®çµæã«åºã¥ããŠããããããã®æ®ãã®ãããã®å¹³åéã®éé ã«äœæãããŸãã
ããŒãã¡ã³ãã²ãŒã ã§ã¯ãæ£ç¢ºã«9ã€ã®ããããåå ããŸãã ã©ãŠã³ãã®æå€§æ°ã¯50ã§ããã²ãŒã ã®éå§æã«ãåãããã¯1,500ããããåãåããã¹ã¢ãŒã«ãã©ã€ã³ãã®ãµã€ãºã¯15ã§ãã
ããã¯ãPyPokerEngineã®æ¬¡ã®ã©ãŠã³ããã©ã¡ãŒã¿ãŒã«å¯Ÿå¿ããŸãã
config = setup_config(max_round=50, initial_stack=1500, small_blind_amount=15)
ã²ãŒã ãªãã¬ã€åæ
ããŒãã¡ã³ãã®çµäºæã«ãåå è
ã¯ãã¹ãŠã®ãããã®ã²ãŒã ãã°ãå«ãã¢ãŒã«ã€ãã«ã¢ã¯ã»ã¹ã§ããŸãã ãããã£ãŠãã²ãŒã äžã®ã¢ã¯ã·ã§ã³ãèŠãŠã察æŠçžæã®æŠç¥ãåæã§ããŸãã ãã ããä»ã®åå è
ããããã®ãã¬ã€ã¹ã¿ã€ã«ãåæããæ¬¡ã®ããŒãã¡ã³ãã«åããŠããããåŸ
ã¡äŒããããšãã§ããŸãã
ã²ãŒã ã®ãªãã¬ã€ãå«ããµã³ãã«ãã¡ã€ã«ïŒ example_game_replay.json
ã²ãŒã ã®ãªãã¬ã€ã¯ããã£ãŒã«ããæã€JSONãªããžã§ã¯ããšããŠèšé²ãããŸãã
ã«ãŒã« ïŒã²ãŒã ãã©ã¡ãŒã¿ãŒ
seats ïŒãããã«é¢ããæ
å ±ãç¹ã«ãåãããã®ååã瀺ãããŠããåå-ãã®ååã¯ãããããéä¿¡ããåå è
ã«å¯Ÿå¿ããŠããŸã
rounds ïŒãããã«ãã£ãŠå®è¡ãããã¢ã¯ã·ã§ã³ã瀺ããã¹ãŠã®ã©ãŠã³ãã®ãªã¹ã
çºéã®ããã®ãœãªã¥ãŒã·ã§ã³ã®æºå
ç¹å¥ã«æºåãããdockerã€ã¡ãŒãžã¯ãããããèµ·åããããã®ç°å¢ãšããŠäœ¿çšãããŸãã ZIPã¢ãŒã«ã€ãã«ããã¯ããããããã³ãŒãããã¹ãã·ã¹ãã ã«éä¿¡ããå¿
èŠããããŸãã
ã¢ãŒã«ã€ãã®äŸïŒ
â example-python-bot.zip
â example-cpp-bot.zip
ã¢ãŒã«ã€ãã«ãŒãã«ã¯ã次ã®å
容ã®metadata.jsonãã¡ã€ã«ãå«ãŸããŠããå¿
èŠããããŸãã
{ "image": "sberbank/python", "entry_point": "python bot.py" }
ããã§ãimageã¯ãœãªã¥ãŒã·ã§ã³ãèµ·åããdockerã€ã¡ãŒãžã®ååãentry_pointã¯ãœãªã¥ãŒã·ã§ã³ãèµ·åããã³ãã³ãã§ãã ãããããã°ã©ã ã®å ŽåãçŸåšã®ãã£ã¬ã¯ããªã¯ã¢ãŒã«ã€ãã®ã«ãŒãã«ãªããå®è¡å¯èœãã¡ã€ã«ã«å ããŠãä»ã®è£å©ãã¡ã€ã«ãé
眮ã§ããŸãã ã¢ãŒã«ã€ãã®ãµã€ãºå¶éã¯1GBã§ãã
ã»ãšãã©ãã¹ãŠã®ããã°ã©ãã³ã°èšèªã«ã€ããŠãããããå®è¡ã§ããããã«ãŒç°å¢ããããŸãã
å®è¡å¯èœãªã³ãã³ãã¯ãstdin / stdoutãä»ããŠã²ãŒã ã·ãã¥ã¬ãŒã¿ãšäº€æãããŸãã ã·ãã¥ã¬ãŒã¿ãŒã¯ã event_type<\t>data
圢åŒã§ãstdinè¡ã®1ã€ã®ã€ãã³ããéä¿¡ããŸããããã§ã data
ã¯ã€ãã³ããã©ã¡ãŒã¿ãŒãæã€JSONãªããžã§ã¯ãã§ãã ã·ãã¥ã¬ãŒã¿ãŒãstdinã«äŸçµŠããå
¥åã®äŸ ã ã€ãã³ããšãã®ãã©ã¡ãŒã¿ãŒã®èª¬æ ã
declare_action
ã€ãã³ããžã®å¿çdeclare_action
ãããã¯æ¬¡ã®åœ¢åŒã®è¡ã§stdoutã«å¿çããå¿
èŠããããŸãã
action<\t>amount
ããã§ã action
ã¯ãã¬ãŒã€ãŒãå©çšã§ããã¢ã¯ã·ã§ã³ïŒãã©ãŒã«ããã³ãŒã«ãã¬ã€ãºïŒã®1ã€ã§ãéã¯ã¬ã€ãºã¢ã¯ã·ã§ã³ã®ãããæ°ããã®ä»ã®å Žåã¯0ã§ãã
ãããã¡I / Oã䜿çšããå Žåã¯ãã¢ã¯ã·ã§ã³ãstdoutã«æžã蟌ãã åŸflush()
å¿
ããããã¡ãflush()
ïŒ flush()
ïŒããŠãã ããã ããããªããšãã·ãã¥ã¬ãŒã¿ãŒãã¡ãã»ãŒãžãåä¿¡ããªãå¯èœæ§ãããããããã«å¶éæéããããŸãã
äžèšã®äŸã«ç€ºãããã«ãPyPokerEngineã©ã€ãã©ãªã䜿çšããŠPythonã§ããããéçºããã®ãæã䟿å©ã§ãã Python 3ãã€ã³ã¹ããŒã«ãããŠããsberbank / pythonã®dockerç°å¢ã§å®è¡ããããšããå§ãããŸãããŸããPyPokerEngineèªäœãšç޳士ã®ããŒã¿ãµã€ãšã³ãã£ã¹ãã®ã»ããïŒnumpyãscipyãpandasãsklearnãtensorflowãkerasïŒãå«ãã©ã€ãã©ãªã®å€§èŠæš¡ãªã»ãããå®è¡ããããšããå§ãããŸãã ã€ã³ã¹ããŒã«æžã¿ã®Pythonããã±ãŒãžã®å®å
šãªãªã¹ãã¯ããã®ãã¡ã€ã«ã«ãããŸã ã
å®å
šãªpythonãããã®ãµã³ãã«ã³ãŒãã以äžã«ç€ºããŸãã
bot.py import sys import json from pypokerengine.players import BasePokerPlayer class MyPlayer(BasePokerPlayer):
metadata.json { "image": "sberbank/python", "entry_point": "python bot.py" }
C \ C ++ã®å Žåã¯ãã³ã³ãã€ã«ãããèšèªã§ããããèµ·åããæé ã«ã泚æããŠãã ãã ã ãããã®åºè·æºåã«é¢ãã詳现ãªããã¥ã¡ã³ãã¯ã ãã¡ãããå
¥æã§ããŸã ã
4.æŠç¥äœæã®ã¢ãããŒã
ããŒã«ãŒãããã®éçºã®30å¹Žã®æŽå²ã®äžã§ãããŒã«ãŒæŠç¥ã®éçºã«å¯Ÿããã¢ãããŒãã®ããã€ãã®ãã¡ããªãŒãäœæãããŸããã
å€å
žçãªã¢ãããŒã
å®è£
ãæãç°¡åã§æéã®ããããªãæ¹æ³ã®1ã€ã¯ããšãã¹ããŒãã·ã¹ãã ã§ãã å®éãããã¯ã²ãŒã ã®ç¶æ³ãäºåå®çŸ©ãããã¯ã©ã¹ã®1ã€ã«å²ãåœãŠãäžé£ã®åºå®IF-THENã«ãŒã«ã§ãã çµã¿åããã®åŒ·ãã«å¿ããŠãã·ã¹ãã ã¯å€ãã®å©çšå¯èœãªãœãªã¥ãŒã·ã§ã³ã®1ã€ãæäŸããŸãã
ãŸãããã®åé¡ã¯ãçŽç²ã«æ°åŠçãªæ¹æ³ã§è§£æ±ºã§ããåæç¹ã§ããã·ã¥å¹³è¡¡ã®èгç¹ããæé©ãªãœãªã¥ãŒã·ã§ã³ãèšç®ã§ããŸãã ãã ããä»ã®åå è
ã®ãœãªã¥ãŒã·ã§ã³ãæé©ãªå Žåããœãªã¥ãŒã·ã§ã³ã¯æé©ã«ãªããŸãã ãã®ãããªãœãªã¥ãŒã·ã§ã³ã®æ€çŽ¢ã¯ãªãœãŒã¹ã倧éã«æ¶è²»ãããããå®éã«ã¯ãã«ãŒã«ã®å€æ°ã®å¶éãããå Žåã«ã®ã¿äœ¿çšã§ããŸãã ããšãã°ããããµã¹ããŒã«ãã ã§ã¯ã2人ã®ãšãŒãžã§ã³ãã®å¶éãããå ŽåããŸãã¯ç¹å®ã®ã²ãŒã ã®ç¶æ³ãçºçããå Žåã§ãã
æ©æ¢°åŠç¿ã®ã¢ãããŒã
éçšæŠç¥ã¯ãã广çã§ãæµãã¯ã©ã¹ã¿ãŒã«åå²ããåã¯ã©ã¹ã¿ãŒã«å¯ŸããŠå¯ŸææŠç¥ãå®è£
ãããŸãã ã»ãšãã©ã®åªç§ãªããŒã«ãŒãã¬ã€ã€ãŒã¯ãã®ã¢ãããŒãã䜿çšããŠããŸãã ãããã人éãšã¯ç°ãªããã³ã³ãã¥ãŒã¿ãŒã«ã¯èšå€§ãªæ°ã®ã²ãŒã çµæãæŽçã§ãããšããå©ç¹ããããã©ã€ãã«ã®è¡åãé©åã«äºæž¬ããããšã§ãæ°åŠçãªæåŸ
ã«é¢ããŠæãåçæ§ã®é«ã決å®ãäžãããšãã§ããŸãã ãã®å Žåã®å¯ŸæŠçžæã®è¡åãäºæž¬ããã«ã¯ãéå»ã®è©Šåã§ã®ã²ãŒã ã®çµ±èšãåéããæ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ãå®è£
ããããšãéåžžã«åœ¹ç«ã¡ãŸãã ã¢ã«ãŽãªãºã ã®äœè
ã«ãšã£ãŠæ®å¿µãªããšã«ããã¯ãã«ãªã³ã³ãã¥ãŒã¿ãŒã§ãã£ãŠããã»ãšãã©ã®ã²ãŒã ã®ç¶æ³ã§èµ·ããããã€ãã³ãã®çµæããã¹ãŠåé¡ããããšã¯äžå¯èœã§ããããã ã¢ã³ãã«ã«ãããªãŒæ€çŽ¢ãªã©ã®æé©åã¢ã«ãŽãªãºã ã䜿çšããå¿
èŠããããŸãã ãã®ãããªæŠç¥ã®å®è£
ã®äŸ ã
æåŸã«ãæŠç¥ã®äœæã«ããã«æœè±¡çã«ã¢ãããŒãããå
¥åã«ã²ãŒã ç¶æ³ã®ãã©ã¡ãŒã¿ãŒããããåºåã«ãã¥ãŒã©ã«ãããã¯ãŒã¯ãå®è£
ã§ããŸã-å€ãã®å¯èœãªè§£æ±ºçã ãã®ã¢ãããŒãã®æ¬ ç¹ã«ã¯ããã®å Žåããã¬ãŒãã³ã°ã«å€§ããªããŒã¿ã»ãããå¿
èŠã«ãªããšããäºå®ãå«ãŸããŸãã ãã®ãã€ãã¹ã¯ãAlphaGoã¢ãããŒããšåæ§ã®æ¹æ³ã§èªåèªèº«ãšéã¶ããã«ãã¥ãŒã©ã«ãããã¯ãŒã¯ãèµ·åããããšã§å¹³æºåã§ããŸããã1æ¥ä»¥äžã®ãã¬ãŒãã³ã°ãšã¢ããªã³ã°ã®æºåãå¿
èŠã§ãã ããŒã«ãŒããããäœæããããã®ããè€éãªç§åŠçã¢ãããŒãã«ã€ããŠã¯ã10幎以äžã«ããã£ãŠãã®åé¡ã解決ããŠããã«ããã¢ã«ããŒã¿å€§åŠã®ææã«ããèšäºãèªãããšãã§ããŸãã

Deepstack Neural Network Architecture
ç¹ã«ãæåã«èª¬æããDeepStackã¢ã«ãŽãªãºã ã§äœ¿çšããããã¥ãŒã©ã«ãããã¯ãŒã¯ã®ã¢ãŒããã¯ãã£ãäžã«ç€ºããŸãã ãããã®ãµã€ãºã«é¢ããããŒã¿ãå
¬éãããã«ãŒããããã³ãã¬ãŒã€ãŒã«é¢ããæ
å ±ã¯ãããã¯ãŒã¯ã®å
¥ãå£ã«éä¿¡ããããã®åŸããããã®ããŒã¿ã¯ãã«ãŒããã³ãã¯ã©ã¹ã¿ãŒãã®è¡šçŸã«å€æãããŸãã ãã®æ
å ±ã¯7å±€ãã¥ãŒã©ã«ãããã¯ãŒã¯ã®å
¥åã«éããããã®åŸããã®çµæã¯ãŒããµã ã®ã²ãŒã çè«çåºæºãæºããããã«ããã«åŸåŠçãããŸãã DeepStackã®è©³çްã¯ãã¢ã«ããŒã¿å€§åŠã®èšäºã«èšèŒãããŠããŸãã
ã芧ã®ãšããã仿¥æãå°é£ãªAIã²ãŒã ã®1ã€ã«å¯Ÿããå¯èœãªãœãªã¥ãŒã·ã§ã³ã®ç¯å²ã¯åºå€§ã§ãã Sberbank Holdem Challengeã®åå è
ã¯ãããããåå©ã«å°ãã¢ãããŒããçµã¿åãããèªç±ã«äœ¿çšã§ããŸãã
ãªã³ã©ã€ã³æ®µéã解決ããããã®äœæ¥ãã©ãããã©ãŒã ã¯ã holdem.sberbank.aiã§å
¥æã§ããŸãã ãã®äžã«ãå¿
èŠãªãã¹ãŠã®è³æãããããªã³ã©ã€ã³ã¹ããŒãžã«ãœãªã¥ãŒã·ã§ã³ãç»é²ããã³éä¿¡ã§ããŸãã
ãã®ãããªè€éãªã¿ã¹ã¯ã«ã¯å€ãã®æéãå¿
èŠã§ããããšãçè§£ããŠããããããªã³ã©ã€ã³æ®µéã§ã®æ±ºå®ã®è¶
人çãªçµæã¯æåŸ
ããŠããŸããã ãã ãããªã³ã©ã€ã³ãã§ãŒãºã§ã¯ãç¬èªã®ããŒã«ãŒããããäœæããæ¹æ³ããã©ãããã©ãŒã ãšãœãªã¥ãŒã·ã§ã³ã®åœ¢åŒãçè§£ããæ¹æ³ãåŠã¶ããšãã§ããŸãã
ãããŠãã¡ãããå°ãã®åªåã§ãç«¶äºã®ãªãã©ã€ã³æ®µéã«å°éããããšãã§ããŸã-ãããã®åºæ¬çãªäŸã¯ãŸã ããã100ã«ãããŸã:)
ãªã³ã©ã€ã³ãã§ãŒãºãçµäºãããŸã§ããš2é±é以å
ã§ããæ¥ãã§ãã ããïŒ
6.åç
§