æšä»ã®PCã«ã°ã©ãã£ãã¯ã¹ãœãããå ¥ã£ãŠããŸãããããªãŒã®æç»ãœããã§ããããªãã«é«åºŠãªæç»æ©èœãåããŠããŸããããããèªåã§ã°ã©ãã£ãã¯ã¹ãœãããäœãã®ã¯ãšãŠã楜ãããã®ã§ããèªåã ãã®é¢çœãæ©èœãå ããã°ç¬ç¹ãªæç»è¡šçŸãå¯èœã§ãããšã¯èšããæ¬æ Œçãªæç»æ©èœãäœãã®ã¯å€§å€ãªã®ã§ãä»åã¯ããããçµµãšãã£ã¿ãã®äœæã«ææŠããŠã¿ãŸãããã
ãããçµµãšã¯
ããããçµµããš1980幎代以åã®ããœã³ã³ãã²ãŒã æ©ã§ã²ãŒã ã衚çŸããããã«çšããããã°ã©ãã£ãã¯ã¹ã®ããšã§ããåœæã®ã³ã³ãã¥ãŒã¿ãŒã¯è§£å床ãäœãã ãã§ãªã衚çŸå¯èœãªè²æ°ãå°ãããã¡ã¢ãªãCPUé床ãªã©ãããŸããŸãªå¶éããããŸããããããããã®äžã§ããŸããŸãªå·¥å€«ãããŠé¢çœãã²ãŒã ãäœãããŠããŸããã
ãããŠãæã¯æµãä»ã§ã¯ããœã³ã³ã®ç»é¢ã¯æ Œå®ã®ãã·ã³ãã¿ãã¬ããã§ãã£ãŠãããããªãé«ç»è³ªã§ãã衚çŸå¯èœãªè²æ°ã24ãããã«ã©ãŒã§ããã°16,777,216è²ã衚çŸå¯èœã§ãããããªæä»£ã§ãããããçµµã¯äººæ°ããããŸããã¬ããæãææ§ãåºæ¿ããŸãããäœãããããçµµã®èãã人éã®ç©ºæ³åãåããããã§ããããã
ãããçµµãšãã£ã¿ãäœãã
ããã§ã¯ããã£ãããããçµµãšãã£ã¿ãäœã£ãŠã¿ãŸããããä»åäœãã®ã¯ãçœèµ€ã®ïŒè²ã16Ã16ãããã®ã¬ãããªãããçµµãšãã£ã¿ã§ãã
ãããçµµãã©ã®ããã«è¡šçŸããã®ã
ããŒã«ãäœãæã«æåã«èããã¹ããªã®ã¯ããã®ããŒã«ãæ±ãããŒã¿ãã©ã®ããã«è¡šçŸããã®ããšããç¹ã§ãã
ãããçµµãã¯ãããã³ã³ãã¥ãŒã¿ãŒã®ç»é¢ã«æç»ããããŒã¿ãšããã®ã¯ããããããšã«è²æ å ±ãæã£ãŠããå¿ èŠããããŸãããã®ããã16Ã16ãããã®æç»ããŒã¿ã§ããã°ãããã衚çŸããããã«ã¯256åã®ããŒã¿é åãçšæããªããã°ãªããŸããã
ããããã®ããŒã¿ãäžæ°ã«æ±ãã«ã¯é å倿°ã䟿å©ã§ãããªã§ããïŒã§ã¯é å倿°ãåæåããéãJSON圢åŒã®ããŒã¿ãèšè¿°ã§ããŸãã以äžã®ããã«æžããš0ãã5ãŸã§ã®6åã®èŠçŽ ãæã€é å倿°ãäœæã§ããŸãã
æç»ããŒã¿ïŒ[0,1,2,3,4,5]
æç»ããŒã¿[2]ã衚瀺ã# â 2ã衚瀺ããã
ãããŠããããçµµã«ã€ããŠããã«èããŠã¿ããšããã®ããŒã¿ã¯çžŠæ¹åïŒåïŒãšæšªæ¹åïŒè¡ïŒã®äºæ¬¡å ã§è¡šçŸããã®ãèªç¶ã§ããããšãåãããŸããããã§ãäºæ¬¡å é å倿°ã䜿ããŸãããããªã§ããïŒã§äºæ¬¡å é å倿°ã䜿ãå Žåãé å倿°ã®äžã«é å倿°ãä»£å ¥ãããšããææ³ã䜿ããŸããããã§ã16Ã16ãããã®ããŒã¿ãäºæ¬¡å é å倿°ã§è¡šçŸãããšæ¬¡ã®ããã«ãªããŸãã
æç»ããŒã¿ïŒ[
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
]
ãªããä»åã¯ãã®äºæ¬¡å é å倿°ã®ããŒã¿ãïŒã®ãã®ãçœãïŒãèµ€ãšããŠæ±ãããšæããŸãã
ãããçµµãããŒã«ãäœãã
ããŠããããŸã§èãããå®éã«ããã°ã©ã ãäœã£ãŠã¿ãŸãããããªã§ãã3貯èµåº«ã®ãšãã£ã¿ãéããŠã以äžã®ããã°ã©ã ãæžã蟌ãã§å®è¡ããŠã¿ãŸãããã
# ãããçµµãšãã£ã¿ã®åæèšå® --- (*1)
ãããåæ°=16
ãã£ã³ãã¹å¹
=400
ãããå¹
ïŒINT(ãã£ã³ãã¹å¹
÷ãããåæ°)
ããŠã¹ãã©ã°ïŒãªã
æç»ããŒã¿ïŒããŒã¿åæååŠçã
ãªã³ã§ããŒã¿æç»ã
# ããŠã¹ã®ãã¿ã³ãæŒããæã®åŠçãèšè¿° --- (*2)
æç»äžãã£ã³ãã¹ã®ããŠã¹æŒããæã«ã¯
ããX=INT(ããŠã¹X÷ãããå¹
)
ããY=INT(ããŠã¹Y÷ãããå¹
)
ãããããæç»ããŒã¿[Y][X]ã0ãªãã°
ããããæç»ããŒã¿[Y][X] = 1
ããéãã°
ããããæç»ããŒã¿[Y][X] = 0
ãããããŸã§ã
ãããªã³ã§ããŒã¿æç»ã
ãããŸã§ã
âããŒã¿åæååŠçãšã¯ # --- (*3)
ããR=[]
ããYã0ãã(ãããåæ°-1)ãŸã§ç¹°ãè¿ã
ããããR[Y] = []
ããããXã0ãã(ãããåæ°-1)ãŸã§ç¹°ãè¿ã
ããããããR[Y][X] = 0
ãããããããŸã§ã
ãããããŸã§ã
ããRãæ»ãã
ãããŸã§ã
â(æ ç·ãã©ã°ã§)ããŒã¿æç»ãšã¯ # --- (*4)
ãã0ã«ç·å€ªèšå®ãçœè²ã«å¡è²èšå®ã
ãã[0,0,ãã£ã³ãã¹å¹
,ãã£ã³ãã¹å¹
]ã«åè§æç»ã
ããW2=ãããå¹
÷2
ããYã0ãã(ãããåæ°-1)ãŸã§ç¹°ãè¿ã
ããããXã0ãã(ãããåæ°-1)ãŸã§ç¹°ãè¿ã
ããããããXX=X*ãããå¹
ããããããYY=YïŒãããå¹
ãããããã# æ ãæç» --- (*5)
ãããããããããæ ç·ãã©ã°ïŒãªã³ãªãã°
ãããããããã1ã«ç·å€ªèšå®ã
ããããããããã#F0F0F0ãã«ç·è²èšå®ãããã«å¡è²èšå®ã
ãããããããã[XX,YY,ãããå¹
,ãããå¹
]ã«åè§æç»ã
ãããããããããŸã§ã
ãããããããããæç»ããŒã¿[Y][X]=0ãªãã°ãç¶ããã
ãããããã# ããããæç» --- (*6)
ãããããã3ã«ç·å€ªèšå®ã
ããããããã#FFC0C0ãã«ç·è²èšå®ã
ããããããèµ€è²ã«å¡è²èšå®ã
ãããããã[XX+W2, YY+W2]ãž(W2-2)ã®åæç»ã
ãããããããŸã§ã
ãããããŸã§ã
ãããŸã§ã
# ä¿åãã¿ã³ãšã¯ãªã¢ãã¿ã³ --- (*7)
ä¿åãã¿ã³ïŒãä¿åãã®ãã¿ã³äœæã
ä¿åãã¿ã³ãã¯ãªãã¯ããæã«ã¯
ãããªãã§ããŒã¿æç»ã
ããæç»ããŠã³ããŒã
ãããŸã§ã
ã¯ãªã¢ãã¿ã³ïŒãã¯ãªã¢ãã®ãã¿ã³äœæã
ã¯ãªã¢ãã¿ã³ãã¯ãªãã¯ããæã«ã¯
ããæç»ããŒã¿ïŒããŒã¿åæååŠç
ãããªã³ã§ããŒã¿æç»ã
ãããŸã§ã
ãªãããã®ãããçµµãšãã£ã¿ã§ã¯ãã£ã³ãã¹ã®ãµã€ãºã400x400ã§å©çšããŸããããã§ãå®è¡ãã¿ã³ãæŒãéããšãã£ã¿ã®å³äžã«ãããã£ã³ãã¹ã®å¹ ãšé«ãã400x400ã«èšå®ããŠãã ããã
å®è¡ãããããšãã£ã¿ã®äžã«ãã£ã³ãã¹æ ã衚瀺ãããã®ã§ããã®äžãã¯ãªãã¯ããŠã¿ãŸããããã¯ãªãã¯ããäœçœ®ã«ããããé 眮ãããŸããããäžåºŠã¯ãªãã¯ãããšããããæ¶ããŸããçµµãæããããä¿åããã¿ã³ãæŒããŸãããããã©ãŠã¶ã®ããŠã³ããŒããã©ã«ãã«çµµãä¿åãããŸãã
ããã°ã©ã ã®ãã€ã³ãã確èªããŠã¿ãŸãããã
(ïŒ1)ã®éšåã§ã¯ããããçµµãšãã£ã¿ã®èšå®ãè¡ããŸãã倿°ããããåæ°ãã®å€ã8ã«ãããšã8Ã8ãããã®ãšãã£ã¿ã«ãªããŸããã32ã«å€æŽãããš32Ã32ã®ãšãã£ã¿ã«ãªããŸãã倿ŽããŠå¥œããªãããæ°ã«ããŠã¿ãŠãã ããããŸãã倿°ããã£ã³ãã¹å¹ ãã¯æç»ãã£ã³ãã¹ã®ãµã€ãºãæå®ããŠããŸãããã£ãšå€§ããªç»é¢ã§æç»ãããå Žåã¯ããã®å€ã倧ããããŠã¿ãŠãã ããã
(ïŒ2)ã§ã¯ãããçµµãšãã£ã¿ã®ãã£ã³ãã¹ãããŠã¹ã§æŒããæã®ã€ãã³ãåŠçãèšè¿°ããŸãããã®ã€ãã³ãåŠçã®äžã§ã¯ã倿°ãããŠã¹XããšãããŠã¹Yããèªåçã«èšå®ãããŸããããã§ãæå®äœçœ®ã«ãããããããŒã¿ã®å€ãå転ãããŸããããŒã¿ã倿Žãããã倿Žãç»é¢ã«åæ ãããããã«ã(ïŒ4)ã§å®çŸ©ããŠãããããŒã¿æç»ã颿°ãåŒã³åºããŸãã
(ïŒ3)ã§ã¯æç»ããŒã¿ã®åæååŠçãè¡ããŸããããã§ã¯16Ã16ã®äºæ¬¡å é å倿°ããŒã¿ã0ã«åæåãããšããåŠçãè¡ããŸãã
(ïŒ4)ã§ã¯é¢æ°ãããŒã¿æç»åŠçããå®çŸ©ããŸããããã§ã¯ãç¹°ãè¿ããæãYæ¹åïŒè¡æ¹åïŒãšXæ¹åïŒåæ¹åïŒã«å¯ŸããŠå ¥ãåç¶ã«èšè¿°ããããšã§ã256åã®ããããããããæç»ããŸãã
(ïŒ5)ã§ã¯ç°è²ã®æ ç·ãæç»ããŸãã(ïŒ6)ã§ã¯ããããæç»ããŸããããã§ã¯ãåè§ã§ã¯ãªãæ¢ããŠãåæç»ãåœä»€ã䜿ã£ãŠåããããããŠæç»ããŠããŸããåè§ãããåã®æ¹ãã¬ãããªæããåºãããªãšæã£ãŠåãæç»ããããã«ããŸããããã®éšåã調æŽããããšã§ããã£ãšé¢çœãå³åœ¢ãæç»ã§ããããã«ãªãã§ãããã
æåŸã(ïŒ7)ã§ã¯ç»åã®ä¿åãã¿ã³ãäœæããŸãããã®ããã«ä¿åãã¿ã³ãäœãããæç»ããŠã³ããŒããåœä»€ãå®è¡ããããšã§ãæç»äžãã£ã³ãã¹ã®å 容ãããŠã³ããŒããã©ã«ãã«ä¿åã§ããŸãã
iPhone/Androidã§ãåãããŠã¿ãã
ãªãããªã§ããïŒè²¯èµåº«ã§äœã£ãããã°ã©ã ãä¿åãããšURLãçºè¡ãããŸãããã®URLã«iPhoneãiPadãAndroidãã¿ãã¬ããã§ã¢ã¯ã»ã¹ãããšåãããŸããäœã£ãããã°ã©ã ã®URLãåéãå®¶æã«éã£ãŠå ±æããŠäœ¿ã£ãŠããããŸãããã
ãŸãšã
以äžãä»åã¯ã¬ãããªãããçµµãšãã£ã¿ãäœã£ãŠã¿ãŸãããæç»ã§ããè²ã¯èµ€è²ã®ã¿ã§ã16Ã16ã®å°ããªç»é¢ã§ããããããªãã«æ¥œãããŸããéã«ããŸãã«ã倧ããããŠããŸããšããããæãã®ã倧å€ãªã®ã§ããã®ãããã®ãµã€ãºãã¡ããã©è¯ãã§ããããããããæ°ã®å€æŽæ¹æ³ãããã°ã©ã ã®èª¬æã«æžããŸããã®ã§ãããããã«ã¹ã¿ãã€ãºããŠéãã§ã¿ãŠãã ããã
èªç±åããã°ã©ããŒããããã¯ãã©ã«ãŠãããã°ã©ãã³ã°ã®æ¥œãããäŒããæŽ»åãããŠããã代衚äœã«ãæ¥æ¬èªããã°ã©ãã³ã°èšèªããªã§ããã ãããã¹ã鳿¥œããµã¯ã©ããªã©ã2001幎ãªã³ã©ã€ã³ãœãã倧è³å ¥è³ã2004幎床æªèžãŠãŒã¹ ã¹ãŒããŒã¯ãªãšãŒã¿èªå®ã2010幎 OSSè²¢ç®è ç« åè³ãæè¡æžãå€ãå·çããŠãããçŽè¿ã§ã¯ããã·ãŽããã¯ãã©ã PythonèªååŠçã®æç§æž(ãã€ããåºç)ããããã«äœ¿ãã!æ¥åã§å®è·µã§ãã! Pythonã«ããAIã»æ©æ¢°åŠç¿ã»æ·±å±€åŠç¿ã¢ããªã®ã€ããæ¹ TensorFlow2察å¿(ãœã·ã )ãããã³ã¬ã§ãã£ããåŠã¶Python(ãã€ããåºç)ããªã©ã



