ð æ®µèœã·ã£ããã«
空è¡ã§åºåãããè€æ°ã®æ®µèœããã©ã³ãã ãªé åºã«äžŠã¹æ¿ããããŒã«ã§ããæç« æ§æã®æ€èšããé åºã«äŸåããªãèšåã»éžæè¢ã®ã·ã£ããã«ãªã©ã«äœ¿ããŸãã
äœ¿ãæ¹
- 空è¡ã§åºåã£ãè€æ°ã®æ®µèœãå ¥åããŸãã
- ãã·ã£ããã«ããã¿ã³ãæŒããšã段èœã®é åºãã©ã³ãã ã«äžŠã¹æ¿ããããŸãã
- çµæã¯ã³ããŒãã¿ã³ã§ã¯ãªããããŒãã«ã³ããŒã§ããŸãã
èšç®ã®ä»çµã¿
ãã®ããŒã«ã¯ãå ¥åã空è¡ïŒç©ºçœã ãã®è¡ãå«ãïŒã§æ®µèœã«åããåæ®µèœã®ååŸã®ç©ºçœãåãé€ããŠãããæ®µèœã®é çªãã©ã³ãã ã«äžŠã¹æ¿ããŸãã äžŠã¹æ¿ãã«ã¯ããã£ãã·ã£ãŒâã€ã§ãŒãã®ã·ã£ããã«ãã䜿ã£ãŠããŸãããªã¹ãã®æ«å°Ÿããé ã«ããã®äœçœ®ãŸã§ã®ã©ãã1ã€ãšã©ã³ãã ã«å ¥ãæ¿ããŠããæ¹æ³ã§ãã©ã®äžŠã³é ãåã確çã§åºãŸããä¹±æ°ã«ã¯æå·åŠçã«å®å šãª crypto.getRandomValues ã䜿ããããã«å²ãç®ã®äœãã§çããããããªåããåãé€ããŠããŸãã æ®µèœã®æ°ã n ãšãããšã䞊ã³é 㯠n!ïŒn ã®éä¹ïŒéããããŸãã4段èœãªã 4 à 3 à 2 à 1 = 24éããªã®ã§ãå ãšãŸã£ããåãé çªã«ãªã確çã¯1/24ã§ãã
èšç®äŸ
å ¥åïŒ4段èœïŒ ç¬¬äžæ®µèœã§ããâŠ ç¬¬äºæ®µèœã§ããâŠ ç¬¬äžæ®µèœã§ããâŠ ç¬¬åæ®µèœã§ãã⊠åºåäŸ ç¬¬äžæ®µèœã§ããâŠ ç¬¬äžæ®µèœã§ããâŠ ç¬¬åæ®µèœã§ããâŠ ç¬¬äºæ®µèœã§ãã⊠段èœã®äžã®æç« ã¯ãã®ãŸãŸã§ã段èœã®é çªã ããå ¥ãæ¿ãããŸãã
䜿çšäžã®æ³šæ
- åºåã§ã¯ã段èœã®éã®ç©ºè¡ã1è¡ã«ããããããŸãã
- 段èœã®å é ã®åäžãïŒå šè§ã¹ããŒã¹ãªã©ïŒã¯ãååŸã®ç©ºçœãšäžç·ã«åãé€ãããŸãã
- ã¯ã€ãºã®éžæè¢ã®äžŠã³æ¿ããã¢ã€ãã¢åºãã®ã¡ã¢ã®äžŠã¹æ¿ããæç« æ§æã®å ¥ãæ¿ãã®æ€èšãªã©ã«äœ¿ããŸãã
ãããã質å
段èœã¯ã©ã®ããã«åºåãããŸãã?
1è¡ä»¥äžã®ç©ºè¡(空çœè¡)ãæ®µèœã®åºåããšããŠèªèããŸãã
ã©ã®ãããªä¹±æ°ã䜿ã£ãŠã·ã£ããã«ããŠããŸãã?
æå·åŠçã«å®å šãªä¹±æ°çæAPI(Web Crypto APIã®getRandomValues)ã䜿ã£ãFisher-Yatesã¢ã«ãŽãªãºã ã§ã·ã£ããã«ããŠãããåãã®ãªãå ¬å¹³ãªäžŠã¹æ¿ããè¡ããŸãã
段èœå ã®æã®é åºãå€ãããŸãã?
ããããå€ãããŸããããã®ããŒã«ãäžŠã¹æ¿ããã®ã¯æ®µèœå šäœã®é åºã®ã¿ã§ãåæ®µèœã®å éšã®æç« ã¯å€æŽãããŸããã