福野泰介の一日一創 - create every day

世紀の囲碁対局「人工知能 vs 囲碁世界チャンプ」は、プログラマーとプロ棋士の戦い。
サッカーのワールドカップ出場を目指すロボカップより、一足先に生身のプロに挑みます!

2戦目の軍配も人工知能「AlphaGo by Google」に!
記念すべき対局をIchigoJam上で再現し、こどもの囲碁の勉強に使えないかとデータ圧縮、比較的簡単なアルゴリズムで282byteになりました。

これなら1KBのIchigoJamプログラム、1つに収まるでしょう。


AlphaGo vs Lee Sedol - 2戦目

IchigoJamフォントを使ったHTML+JavaScript+Canvasでとりあえず作成しましたが、IchigoJam BASICへの移植もなんとかできるはず。石を取るアルゴリズムをいかに小さく作るかが肝になりそうです。(今回のJavaScript実装は1つの石しか取らない手抜き実装なので注意!)


AlphaGo vs Lee Sedol 211手で終局

241,227,240,111,35,242,15,241,207,241,208,241,176,241,240,45,240,176,241,143,242,13,130,57,241,238,242,14,240,79,240,80,240,48,46,240,47,30,240,112,240,143,62,29,240,113,44,241,47,38,67,242,5,242,4,241,229,211,241,232,233,232,217,199,240,207,240,208,61,60,94,240,239,126,78,77,93,76,75,92,109,91,110,74,58,59,43,71,56,241,233,242,8,242,37,242,38,163,125,236,242,36,242,35,242,69,88,106,124,141,123,174,241,79,98,53,131,146,100,54,37,39,23,55,24,115,116,99,83,114,84,66,103,82,104,136,122,138,139,140,137,155,153,133,172,171,185,186,190,184,169,40,41,201,241,177,241,145,241,112,241,111,241,144,241,175,241,113,188,167,118,242,2,242,3,242,34,241,226,242,67,102,36,19,242,1,120,150,121,225,241,225,241,224,209,52,68,105,119,73,213,197,196,242,42,87,75,215,214,182,183,198,230,166,216,151,208,168,200,152,210,193,227,194,226,241,81,241,146,142,241,15,158,157,241,17,240,241,242,11,242,43,242,12,242,44,14,28,189,173,206,20,4,5,3,192,176,224,51,22,177,241,237,237,240,145,240,81,240,175,241,16,240,240,242,9,242,41,241,82,242,148

282byteの棋譜データ(X,Y共に14以下なら4bitずつ使って1byte、15を超えた場合、16進数 #F000 + 5bitずつ使って2byteになっています)
プログラム領域の後ろから282byteにPOKEして、残りのプログラムを742byte以内で作ればOK!


全対局の様子は、YouTube Liveで観られます。

5戦マッチ、現在Googleプログラマー優勢。
次の対局は、12日、Lee氏の3連勝による1億円獲得なるか!?

参考リンク
- 人工知能に勝ったら1億円!囲碁世界チャンプ初戦は負け! IGOBAN on IchigoJam

-
Google DeepMind Challenge Match感想② – 三村囲碁jp
- 囲碁AI「AlphaGo」勝利は「衝撃的な結果」「棋士になって1番ショック」――プロ棋士や開発者の反応は (1/2) - ITmedia ニュース
- 囲碁チャンピオンを打ち破ったGoogleの人工知能「AlphaGo」を作った天才デミス・ハサビスが人工知能を語る - GIGAZINE
- <囲碁:人間vs人工知能>神秘の領域、中央の「厚み」・・・アルファ碁は計算した| Joongang Ilbo | 中央日報
- 井山名人「こんなに早く、ショック」 囲碁AIに脱帽 (朝日新聞デジタル) - Yahoo!ニュース
- 囲碁ルール
- 信長と囲碁〜なぜ織田信長は囲碁を打っていたのか? | グロービス代表 堀 義人ブログ
- AIの「人間超え」、その時トップ囲碁棋士は:日経ビジネスオンライン

祖父に教えてもらった囲碁。白黒のシンプルな世界観が好きでした。
ひょんなことで再開した、囲碁。ちょうど、Googleの人工知能「AlphaGo」 vs 囲碁の世界チャンピオン、初戦の日。
AlphaGoとの5戦勝負、勝ったら1億円が賞金として支払われます!
ついにGoogleの人工知能「AlphaGo」と世界最強の棋士「イ・セドル」が対決へ、しかもYouTubeでライブ中継 - GIGAZINE

初戦は世界チャンプが敗退、対局はYouTubeにありました。
Googleの囲碁ソフトが世界トップ棋士に勝利 歴史的瞬間を10万人が目撃 - ねとらぼ

ゲーム実況スタイルがNHK風でおもしろい。
違和感あった盤の目の数え方、アルファベットが上と数字が下。
(対局スタートへのショートカットリンク


「第63回nhk囲碁(片岡聡vs井山裕太) - YouTube」数字が上、漢数字が左
グローバライズに失敗した今、世界スタンダードに合わせたいですね

フルサイズの囲碁は19路盤といって19x19がフィールドですが、手軽に遊べる6路盤や9路盤もあります。 どうぶつ将棋と同じように、子供でも楽しめます。

囲碁、いご、15、イチゴつながりで、IchigoJam用の6路囲碁盤をつくってみました。

格子の描画はALTとSHIFTを押しながら入力するか、下記のようにプログラムでつくることもできます。

1 'IGOBAN 100 O=(32-6)/2:P=(24-6)/2:CLS 110 LC O,P-2:?"IGOBAN" 120 LC O,P+0:?CHR$(152);CHR$(151);CHR$(151);CHR$(151);CHR$(151);CHR$(153) 130 FOR I=1 TO 4:LC O,P+I:?CHR$(149);CHR$(147);CHR$(147);CHR$(147);CHR$(147);CHR$(148):NEXT 170 LC O,P+5:?CHR$(154);CHR$(150);CHR$(150);CHR$(150);CHR$(150);CHR$(155) 180 X=O:Y=P 190 C=SCR(X,Y) 200 LC X,Y:IF TICK()/20%1 ?CHR$(1) ELSE ?CHR$(C) 210 K=INKEY() 220 A=X+(K=RIGHT)*(X<O+5)-(K=LEFT)*(X>O) 230 B=Y+(K=DOWN)*(Y<P+5)-(K=UP)*(Y>P) 240 IF A<>X OR B<>Y LC X,Y:?CHR$(C):X=A:Y=B:GOTO 190 250 IF K=SPACE GOSUB 290:LC X,Y:?CHR$(C) 260 IF K=ASC("1") C=232:LC X,Y:?CHR$(C) 270 IF K=ASC("2") C=233:LC X,Y:?CHR$(C) 280 GOTO 200 290 'C=BAN 300 IF Y=P IF X=O C=152 ELSE IF X=O+5 C=153 ELSE C=151 310 IF Y=P+5 IF X=O C=154 ELSE IF X=O+5 C=155 ELSE C=150 320 IF Y>P AND Y<P+5 IF X=O C=149 ELSE IF X=O+5 C=148 ELSE C=147 330 RETURN

290行以降はフィールドを元に戻すためのサブルーチン。シンプルにゲームに徹するなら削れます。石を取る判定や、対戦など、いろいろと改造する元にしてみてください。

参考リンク
- AlphaGo | Google DeepMind

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像