モータースポーツの話

高校の頃,F1ブームってのが来てた。

ブラジルの英雄アイルトン・セナがホンダエンジンを駆って最速を誇ってた。

もうひとつは日本人初のフル参戦ドライバー,中嶋悟の存在だ。

 

彼のエピソードには雨の峠道をドラム缶積んだトラックで攻める練習だとかF1ドライバーにカップ焼きそばを流行させたなど多くのものがあるが,私が一番好きなのは

彼が学生時代に同級生と自転車レースをして負けた翌日にバイクに乗ってきたという話である。

あー,負けず嫌いも相当あるんだがモータースポーツ向けなんだなぁと思わせるエピソードである。

 

彼を知ったのはF1以降なので,それまでどういう苦労をされたのか知らないが最年長F1デビューを支えたのは好景気の日本企業であることは言うまでもない。つまり,彼が日本人でなければ苦労無く早々にデビューしたかもしれないし,時代背景が無ければデビューの機会がなかったかもしれない。そういうことだ。

 

速いマシンに乗るためなら何でもする。本当に何でもした。彼を支えたセイコーエプソンのテレビCM用に歌も歌った。

この「悲しき水中翼船」が私がはじめて買ったCDである。(その前はテープだし)

 

レーシングドライバーは速く走るだけが仕事じゃないんだ。スポンサーを集めるのはレーシングドライバーの能力だよ。F1で走るには桁違いの金がいるんだがそれを用意した。

黄色いロータスホンダのペア(セナ・中嶋)は中嶋が稼いだ金でセナがポイントを取るシステムだとまで言われた。

翌年移籍したセナがワールドチャンピオンになったのだから見事な踏み台になったわけである。

 

まぁ,そういうのを見てた。大学生になってもサークルの先輩が草加ゼミだと言う口実だけでゼミ合宿まで参加してた。若い奥様も参加されるスキー合宿でマイクロバスをドリフトされるところはさすがラリードライバー。

泥酔してた草加先生が「僕わ見合いなんだよぉ・・君も見合いしないか」と御提案頂いたのを覚えている。お受けしてたら資産家の婿養子だったんだろうかw

F1用のアクティブサスペンションの共同研究期間が終わったという理由で配属希望を外したが,貴重な体験をさせて頂いた。

 

いあ,話がそれた。

今回のアレは個人的にモータースポーツだと思ってる。走り出したらメカニックの仕事はない。走る前にすべての準備をするのが仕事の大半だ。

入手可能な「速いエンジン」があれば多少無茶をしても載せる。新参プライベーターに仁義はない。ワークス勢は他社エンジンは使えないだろうがね。

何か他チームに差をつける可能性のあるものは試してみる。失敗が9割を超えるのは当然だ。徒労とか気にしない。

細かい空力パーツひとつの改造でも手を抜かず慎重に行う。全てのバランスをレース前まで煮詰める。信頼性の検証は航空宇宙分野並みだ。

不安要素を抱えたままだと胃がキリキリする。

(未だ少々興奮気味で寝れないおっさん)

 

手の内を晒す

スクリプトでの定跡自動拡張は比較的属人性が低いんだけど

うちは手動で精査してる

(それでコンピュータ将棋かと言われるとしらんがなとしか返せない)

一晩で同じ筋に3回はまると定跡ファイル手動更新したくなるでしょうが!!

 

一部見るに堪えそうな手動ログを残す。

 

wdoor+floodgate-300-10F+sg_test07+Yane32bit-KppKkpt_PentiumM_Mem1G+20171012103003
l2gk2nl/1r4g2/2n1ppspp/p1pps1p2/1p7/P1PP1P1P1/1PS1PSP1P/2G1G2R1/LNK4NL b Bb
56銀より36歩の方がいいかな

l5rnl/2gkgs3/2nspp1+b1/p1pp3p1/1p2PP2P/P1PP1RPP1/1PSS2NB1/1KGG5/LN6L b Pp 63
38角

wdoor+floodgate-300-10F+sg_test06+yaselmo-chida-4c+20171002203002
ln5nl/1r1s2gk1/p2p1gsp1/1ppbppp1p/P6P1/2PPP1P1P/1PS2PN2/2G1GS1R1/LNBK4L b - 35
67金より46角がベター?

wdoor+floodgate-300-10F+sg_test06+Jscf3720+20171001193001
ln5nl/1rs1gkg2/p1p1pp2p/1P1p1spp1/1N3N3/2PB+B1P2/P2PPP2P/1SGK2S2/L4G2L b r2p 51
46歩か35歩か44角

wdoor+floodgate-300-10F+ECLIPSE+sg_test07+20171012040003
lr5nl/2sg1kg2/p1n1p1sp1/2pS1pp1p/1p1p3P1/P1P2BP1P/1PSPPP3/2GKG2R1/LN5NL w b 36
54歩より31玉の方がよかった?

wdoor+floodgate-300-10F+ECLIPSE+sg_test07+20171012033002
ln1gk1snl/2s3gb1/p2ppppp1/2p5p/9/P5r2/1GPPPP2P/1B1K2SR1/LNS2G1NL w 2P2p 24
73桂ではなく35飛

wdoor+floodgate-300-10F+daigorilla+sg_test06+20171002213001
lns4nl/1pg1k1g2/p1pppps1p/1R7/9/2r6/P1NPPPP1P/2GSK1G2/L5SNL w B3Pb2p 28
44銀じゃなく74飛とぶつける

sfen lnsgk1snl/1r4gb1/p1ppppppp/1p7/9/2P4P1/PP1PPPP1P/1BS4R1/LN1GKGSNL w - 6
ここで74歩はないな

RasPi3_1 vs. sg_test06 (2017-10-16 08:00)
ln1gk1snl/1rs3gb1/p1ppppppp/9/7P1/P1P6/1P1PPPP1P/1BG2S1R1/LNS1KG1NL w p 16
34歩でいいのでは?

yaselmo_testeval_2c vs. sg_test06 (2017-10-18 21:30)
わからん

sg_test06 vs. Curry (2017-10-20 10:00)
lnsgk1snl/1p7/p1ppppg1p/1R7/9/2r6/P2PPPP1P/2GK5/LNS2GSNL b B3Pb2p 23
77桂じゃなく,58玉か28歩

sg_test06 vs. Curry (2017-10-20 09:30)
ln1g3nl/2s1k1g2/2ppppbsp/pr7/9/2P4R1/PP1PPPP1P/1BG1KSG2/LNS4NL b 2P2p 29
77角じゃなく,36歩とか

sg_test06 vs. DirectMotemitsu (2017-10-20 14:00)
lnsgkg1nl/7r1/pp1pppspp/2p3p2/9/2P4P1/PP1PPPP1P/1S1K2SR1/LN1G1G1NL b Bb 15
75歩じゃなく,

yaselmo_testeval_2c vs. sg_test06 (2017-10-22 00:00)
lnsg3nl/1r3kgs1/p1ppppb1p/1P4R2/9/2P3P2/P2PPPN1P/1BGK5/LNS2GS1L w 2P2p 24
23金じゃなく23銀かな

daigorilla_win7_32bit_1c vs. sg_test06 (2017-10-22 03:00)
l6nl/1rg2kg2/p1nsppspp/2pp2p2/1p5P1/P1PP1SP2/1PS1PP2P/2GKG2R1/LN5NL w Bb 30
難しいが,この辺りかな?

FL vs. sg_test06 (2017-10-22 05:00)
lnsgk1snl/6gb1/p1pppp2p/2r3p2/9/9/P1BPPPP1P/1SG4R1/LN2KGSNL w 2P3p 20
23歩じゃないな

i5-4590 vs. sg_test06 (2017-10-22 10:00)
典型的早指しミスw

sg_test06 vs. WRC (2017-10-22 16:30)
lnsg3+Pl/4ks3/ppppppn+Pp/9/9/2r3P2/P1NPPP2P/2GSK4/L4GS+b1 b BGLrn3p 41
48銀じゃなく66香(depth24だと足りない,要確認)

sg_test06 vs. WRC (2017-10-22 18:30)
lnsg3+Pl/1p2ks3/p1ppppngp/1R7/4b4/2r3P2/P1NPPP2P/2G1K4/L1S2GSNL b BP3p 33
68銀じゃなく66歩

sg_test06 vs. tamore_i7-7700K (2017-10-23 00:00)
lnsg3+Pl/1p2ks3/p1ppppngp/1R7/4b4/2r3P2/P1NPPP2P/2G1K4/L1S2GSNL b BP3p 33
68銀じゃなく66歩

yabaino01 vs. sg_test06 (2017-10-23 04:30)
lnsg3nl/1r3kgs1/p1ppppb1p/6R2/9/2P3P2/P2PPPN1P/1BGK2S2/LNS2G2L w 3P2p 24
勇気流の後手番もってどうかという話。とりあえず,88角成は稚拙(要確認)

sg_test06 vs. tamore_i7-7700K (2017-10-23 15:30)
lnsg3+Pl/1p2ks3/p1ppppngp/1R7/4b4/2r3P2/P1NPPP2P/2G1K4/L1S2GSNL b BP3p 33
68銀じゃなく66歩(一晩で3回目かよww)(要確認)

sg_test06 vs. Incinerator (2017-10-24 15:00)
lnsg3+Pl/1p1k5/p1ppp1s1p/5p3/9/6P2/P2PPP2P/1S2K4/L1G2GSNL b RBNrbgn4p 51
43角じゃなく,11と。
千田定跡の3択で3番目だが,これは一択だろう。(似たような局面がある可能性大)

sg_test06 vs. AENEMY (2017-10-24 16:00)
相掛かりの歩交換の是非を問う

Raina_i3-2c vs. sg_test06 (2017-10-25 00:00)
ln1gk1snl/1rs3gb1/p1ppppppp/9/1p5P1/9/PPPPPPP1P/1BGK2SR1/LNS2G1NL w - 10
千田定跡4番目の手(削除)

  

まぁ,最初に準備したのが公開されている定跡類をマージしただけなので,荒く自動で削った後実践投入した。floodgateで戦って,私とPCで感想戦やってた。

自分自身の棋力は前述のblogにも書いた通りなんだけど何か月もやってると何か一目で見えてくる気がしてね。(私が学習してるw)

 

連盟の次の一手のやつ応募してみました。92円切手同封するやつね。

羽生先生が竜王位取られたら免状申請してみようかと思ってる。

(未来の通販有段者)

shotgunのponderの話

出張先のホテルで寝付けなくて困ってる。

軽口叩く割にストレス性胃痛が持ち味だ。

せっかくの地酒が用意された懇親会でもほとんど呑めてない。

 

そこそこ反響のあるponderについて手の内を盛大に明かしておこうと思う。

ソースを提出しない分のお詫びも含めてね。

私がやったチューニングよりよいものが出来ると楽しい。

結論から言うと技巧2のmultiPVで挙げた候補+前探索のponderを加えたものの中から最善手からある許容範囲の手を選び上限5手を並べる。(王手局面とか2手とかになる)

そうしておいてて5つのやねうら王に各3,2,1,1,1スレッドの負荷で先行分岐探索を行っている。(二手なら4,4だったかな)

ざっくり書くとこれがshotgunの先行分岐探索(multi ponder)

ちょっと分かれば実装できそうでしょ?

 

効果のほどはニコ生の通り(私はまだ見てないが)

当初は持ち時間を使わないことがかっこいいと思ってて,PR文の中にこれを「ダニーシステム」と命名するとか書いて消した。優柔不断な主人公が云々の辺りが残骸ねww

実は本当に効いたのは相手のponderの役割を奪うことだったようだ。

これは本戦参加ではじめて感じた。かっぱさんが熱く語ってた件のひとつがこれで,かっぱさんもそういう思想の時間制御を入れているらしい。うちはもっとえげつない極振りですがw。序盤は3/8の探索力で戦うくらいのノリ。

 

で,本当はここに至る経緯が重要。(学者っぽいね)

当初ディープラーニングで候補手をリスト化してた。詳しくは山岡さんのblogを見てください。ここも本当に参考になります。ソースも出されているのですが,私は当初機械学習を習熟するのが目的だったので手順だけ参考にpythonで実装する。

分岐した先の探索がやねうら王なのは何より速いからだ。

それから・・・評価関数が複数プロセス間でメモリ共有できるので5プロセスでも評価関数部分のメモリは1個分で足りる。(これ本来自己対戦用の機能です)

もうひとつはやねうら王,option機能がゲーム中に可能です。具体的にはstopコマンドの後に「setoption name Threads value 4」とか送るとそのプロセスのやねうら王が次のgoコマンドから4スレッド使うようになります。

 

次に確認したのはponderのヒット率。打率が低いと意味がないので。

で,比較対象は技巧2クラスタで行われている浅い探索のmultiPVという発想。

技巧2は時間で切ってたがうちはどうしてもマシン内クラスタなのでもっと軽くする意味でdepth6,8,10と3種類テストしてみた。同様にやねうら王エンジン&複数の評価関数のdepth6,8,10もやってみた。

floodgateで対戦しながら・・・とか最初思ってたが,これ過去棋譜でいいんじゃないかなって過去棋譜を半年分くらい落として全局面のponderヒット率を計測した。

コーディング2日計算3日くらいの作業。結論から言って技巧2が偉い。深さはそんなに差がつかないのでdepth6でいいやとしておいた。ここでディープラーニングが消えた。

#じつはこのころ技巧人気のためにたまたまfloodgateに技巧が多かったのかもしれない。

 

ってことで,候補手を並べるのが技巧になった。pythonで作り始めたのでまぁ,やねうら王もsubprocessで呼び出してるんだから技巧もそれでいいかって落ち着いた。都合6プロセスがメインのスクリプトから呼ばれることになる。

最後はpython独自のGILの問題でうまくリソースが使えなくてイラついたが,まぁカリカリにチューニングして優勝を狙うわけでもなく極端な時間制御を実演して他の開発者にウケたらいいかくらいで思ってた。

 

python使った恩恵もあって,pythonにはデフォルトで辞書型というデータ構造を持ってて,これが定跡管理にちょうど使えた。オブジェクト指向言語なのでメモリは無駄に使ってる感じがあったけどなんとか許容範囲だった。

やねうら王型の定跡を複数管理して串刺し検索するのは簡単に実装できた。

 

「二種類の定跡を交互に参照して定跡抜ける局面を全探索する」って開発者なら何してるかわかりますよね。pythonpython-shogiで簡単に書けます。便利ツールです。

棋譜の手を順に進めて評価値が一定値以上下がる局面をリスト化する」とかも簡単です。自動感想戦できそうでしょ。

 

以上がshotgunの基本実装。ネタバレしたら一日で実装できる人もいるよね。

今からはpythonじゃなくgoとかrustでやった方がいいよw

ーーー

追記:

バージョン03および03aってのが,やねうら王のC++ソースに手を入れて上記に準ずるアルゴリズムを組み込んだもの。multiPVもやねうら王になる。置換表がスレッド間共有されるって言っても開発者しか意味わからないだろうな。レーティングは上がるんよ。floodgateでこいつが一番高かったからね。シングルバイナリでメモリ効率もいいし,使い勝手いいやつよ。03aがうちの最強エンジンと思う。

ガチ勝負ならこれをベースにチューニングするべきだった。ただ,細かい実験がしづらい上,御本尊がバージョンアップを止めないしgitの使い方はあまり分かってないのでキャッチアップする自信がなかった。プログラムをチーム開発するような経験がないのでねぇ。(ソースのマージで爆発したら困るじゃない)

まぁ,私が既に考えている強化案だけでも結構あるのよ。実装が追いつかないだけで。

実施してない数値実験も幾つもあります。お楽しみに。

#エンジョイ,コンピュータ将棋

履歴メモ(これは大会後公開予定で大会前に作成したものです。乱筆注意)

2017年の履歴を簡単に

2月下旬くらいから3月下旬くらいまで,空いてる計算機でやねうら王の評価関数生成を見よう見まねで少しやってみた。少し成果が出た気でいる。実際はゴミ。

同時期にディープラーニングをはじめてみた。GPU自体はVRでもやってみようかと購入しておいたものだ。画像系から入る。

4月に入って統計データや画像処理じゃないものをはじめてみようという辺りで以前も書いた山岡さんのblogに当たり将棋のルーチンも作成してみた。勝ち負け以前のレベルのものが,つまり反則負けが多いものが一応完成?

5月,第27回世界コンピュータ将棋選手権は結構見ていた。過去には電王トーナメントもそこそこ見ていたが前月から自作したプログラムもあり,観戦の真剣度が上がる。

クジラちゃんのノードとして参戦。62番のノードだった記憶。

大会後,選手権参加者が情報公開をしたためネット上で開発ネタが盛り上がる。個人的にもソースを読んで改良の余地があるように感じ,とうとう開発に手を出す。

相手番のときにクラスタ構成で複数手を先読みする,shotgunというコードネームはここから。

6月末,ある程度動くようになったのでfloodgate参戦。プログラムの不具合などで負けることが多い。明らかに格下の相手には短時間で勝てる。既存の技巧2ややねうら王には劣る。レーティング3000未満。

7月,sg_test02で対戦後自動感想戦システムを組み込む。03,04,05は探索部の変更・改良。03aはプロセス空間を割らずに同じハッシュテーブルを使うモデル。05aは時間の使い方を大幅変更。

8月,sg_test06くらいで大会用の原型は大凡完成。同時に技巧2とやねうら王の学習部のソースを眺める。内輪対戦で技巧2といい勝負ができるようになる。floodgateで3300くらいのレーティングが出るようになる。

9月,GPU利用の再検討を始める。これは空振る。定跡整備および探索スレッドの負荷割合の変更を進める。これは当たる。レーティング3500に近づく。

9月末,プログラム中に探索スレッドの一部が停止する致命的なデッドロックが見つかる。Win32APIを叩いたり,プロセス間通信の状態を見たりしたが最も安易な大き目のバッファに頼るというオチで終わっている。長考に入ると再発するかもしれないが決勝に残る予定はない。

10月,大会用のマシンスペックも公開されたこともあり,種々のベンチマークにより変則的な調整をしてみるが07,08は空振り。

08aがそこそこ活躍。先読み手の枝狩りが効いてるのか?

対技巧2,3分切れ負け,95勝5敗(うち3敗が切れ負け)

切れ負けはマズいので,ちょっと調整

対技巧2,5分切れ負け,98勝2敗(負けは後手番相掛かりと横歩)

対技巧2(定跡off),5分切れ負け,97勝3分け(分けは全て後手番千日手

対技巧2(定跡最大延長),5分切れ負け,96勝4敗(負けは全て後手番角交換)

floodgateのレーティングは上がってないんだがなぁ?

対技巧に過学習してる感があるが一週間切るとどうしようもない。

ーーー

追記:

最後に何故技巧2で対戦させてるかというと大会直前の追い込み及び確認として行ったんだけど,これがやねうら王エンジンで同じ評価関数だとほぼ全てのponderが当たって負けます。そういう意味で,やねうら王ライブラリ勢最弱の予定でした。

逆に技巧2には圧勝します。そういうこと。

情報公開について

情報公開について

まぐれでも強豪と言われると情報公開の要求圧が来ます。
PR文には嘘は書いていませんし分岐探索の話はしてるつもり。

対戦後,自動スクリプトによる定跡の自動生成についても書いてあります。

floodgateで対戦した後定跡拡張をオートで仕込んでます。

そういうのがウチの独自性。

 

Ponanzaの情報秘匿に関しても以前はケチ臭いなぁと思ってましたが,
現場で開発者の皆さんの意見も聞きつつ
多面的に考えなければならないことがわかりました。

 

結論から言うとソースは出しません。(エントリー時に独自性の証明として当時バージョンを運営には送ってあります)
大会PCには最新版が残ってるでしょう。

それが定跡の最終更新以外floodgateのsg_test08aです。

 

技術的な実装部分やアイデアなどは懇親会で色んな開発者の人と情報交換はしました。
これに関してはオープンで行きます。
激しく同意された方や即応してそれに加えるアイデアを出された方については懇親会等の意義を強く感じます。
神の一手に近づく行為については皆同志です。

 

うちのエンジン公にを出さない理由を簡単に挙げます。

1.定跡はヤバい。
うちの定跡は大きさがウリです。これが流通すると私の主戦場であるfloodgateが互角局面スタートの対戦場になってしまいます。
しかも,分岐はあまり多くないので互角局面は種類が非常にすくないと思われます。(未確認だが確認用スクリプトは当然作成済み)
それって意味ないですよね。うれしい人がいたら御意見下さい。

一発勝負の大会だから面白いんです。
たぶん,まふさんとか同意見じゃないかな?

是非お話してみたいです。

 

2.エンジンにオリジナリティがない
使ったのは,技巧2とやねうら王,それと主に定跡用のsfen文字管理にpython-shogiです。皆さんオープンソースなのでエンジョイしてください。
思ったより面白いですし,さらに深いところに別の面白さがあります。

Yorkieさんとのponder当て合いとか現場で見てるとシビアです。相手のponderがすべて当たるとうちの分岐先読みが無価値になります。つまり,評価関数を公開した瞬間,ボクシングがサンドバッグになります。

3/8のスレッドで相手の2倍の時間をもらうのがうちの戦いです。そのための5/8だと御理解ください。

 

3.開発者なら私のアイデアを実装することは可能
基本的なツールは上記のものです。組み合わせた動機についてはPR文はざっくりですが懇親会では多くのテーブルで何度も話しました。
パラメータは各自チューニングする方が多様性があって良いと思います。
分岐上限5ってのは9割って言いたかっただけです。
4コア8スレじゃなかったら,どうなってたかは私も分かりません。

懇親会でも多くの人に話ましたが,5月の選手権でくじらちゃんの62番のノードに接続した私が分散管理部分を実装するとしたらこういう感じになるというのがアイデアのスタートです。

一応短時間の切れ負けでコア数多いルールが有利ってイメージです。

双方100台のクラスタで戦うとかのルールなら負ける気がしません。
私も今回使った固定値で入っていて気に入らないパラメータがあるので,余裕があるときに弄ってみるつもりです。

 

4.非開発者には
しらんがな。
そっち向けのオモチャじゃないとしか言いようがない。
ドワンゴの方にも説明しておきましたが,うちは今回の対戦ルール特化しただけで
探索だけなら「やねうら王」がウチの御本尊です。

 

5.ガチ棋士の方
プロ棋士で私が手伝うことがあれば御依頼ください。当然プロとして。
マチュアでもそれに準じます。
いい大人の真剣な遊びは嫌いじゃないです。

タモリさんの「遊びなんだから真剣にやれ」との言葉を引用しておきます。

 

6.対戦したい人
floodgateには割と流してますし,今後もそこそこ続けようと少なくとも今は思ってます。
個人が個人の範囲で行った行為ですが社会的影響があれば何かしら状況の変化が生じるのは必然です。優先度の高い約束はできません。
また,通信遅延などで切れたりするのは御容赦下さい。有線だとマシですが無線だとなんか切れることが多いようです。

 

出張先で疲労感の残ったまま書き残しますが,こういうのは熱いうちにうたないとね。

修正・加筆が入るかもしれません。 

---

追記:

恥部なので入れてなかったが隠してるのもアレなので追加しておく。

multi ponderの準備をしてるときに相手に指されると落ちることがある。

つまり全く思考時間を使わない相手だとフリーズしたり反則手が出ることもある。

具体的にどういう相手かと言うとこっちより定跡が多く入ってる相手,ディープラーニング系で即指しするタイプのエンジン,そしてponderを当ててくるタイプ。

python-shogiの合法手判定などで苦肉の策に近い対応でバージョンアップのたびに発生を抑えて来てるが,このバグがまだ完全に取れていない。今はgps_lくらいまでの早指しなら大丈夫。

一般に配布すると自分自身と戦う機会がでるのでたぶん不具合報告祭になるだろう。

評価関数が流通するとponderhit率が劇的に上がることは自明。

そして定跡拡張がスナイパーとしての攻撃性と上記バグへの苦肉の生存策であることが御理解頂けると思う。

multi ponderの説明も書いたので自分で実装する人は私より上手に実装してください。

思えば山岡さんか大渡さんだと思うけどfloodgateでディープラーニング系によく殺されてました。少しはレーティングを献上してたと思う。

続SDT5メモ

二日目の話
現場到着して会場レイアウトが全く変わってることに気づく。
今日は右端の最前列。
ステージ左右に3台ずつPCが並んでおり,決勝の人って恥ずかしいなぁとか言ってた気がする。
正直テンパってる上,非日常過ぎて空気読むとかそういうことは全く無理。
軽口に御気分を害された方はまことに申し訳ない。
 
「セットアップお願いします」とスタッフさん。
PCに向かう慌ただしい参加者の皆さん。
私「え?昨日インストールしたから実行するだけじゃないの?」
誰か「今日1時間切れ負けですよ」「あ,そんなことすら忘れてた」
i7 6700のターボブースト持続時間とそれぞれの負荷率の探索速度を考慮して昨日調整した数字を
えいやっと4倍して2か所ほど書き換える。1時間って15分の4倍よね。#これが少し間違いなことに後で気づく
メインがpythonスクリプト制御なのでこれで終わり。
手持無沙汰なレベル。
 
昨日の反省会メンバーも出そろってきて,優勝したら焼肉であることを確認され和やかな雰囲気。
そういえば上京前に参戦者アピールのつもりで優勝したら賞金全額寄付するとかツイートしてるので赤字覚悟である。
個人的には決勝メンバー最弱のつもりなので負けて観戦側に行く心づもり。
軽口としてラッキーパンチが当たるとしたら横歩ですかねぇとリップサービス
 
決勝初戦,Selene
決勝は振り駒で先後を決めるので(当日知った)
振り駒をする。先手だwww
その後,名の通ったベテラン強豪にラッキーパンチが当たる。
ヤバい。これは・・・今日も胃が痛い。
 
準々決勝,Yorkie
Yorkieとは予選で当たって負けている。
席も二つ隣と近かったので対戦画面が見えていた。
黒い画面で戦われていたのでLinuxでチューニングされているとかそういう話を聞いていた。
探索速度が速いってのは画面に出てる数字を見てもわかる。
うちはやねうら王エンジンデフォルトなので2割は劣る。#しかもうちの主力スレッドはその3/8である。
評価関数も公開されているものをほぼ流用している。(予選の対わっふる評価関数を除く。)
勝ち目がないと思ってた。
 
振り駒,先手を取る。
完全に流れがキテる。応援に焼肉コールが入る。
そろそろ雰囲気がつらいので,安い店探しておいて下さいと期待感を逸らす。
 
ツボ,横歩を頂く。
その後,さっくりと押し切ると思いきやじりじりと20手ほどかけて原点付近まで評価値を押し戻される。
ぶっちゃけた話,これが横綱相撲ってやつで初日のPonanza戦とかと同じで負けを確信した。
見てるとつらいので離席して他の局面を見て回っていた。
やはり理論物理屋のかっぱさんがすごく知的な戦略を組んでおり,それについて大変な早口で語られていた。
同意する点も大変有用でためになる点もあったので真剣に聞いていた。
いづれにしても左側半分の過熱感が半端ない。
決勝トーナメントでPonanzaが入った側半分を電王トーナメント用語で「ぽな山」と言うらしい。
かっぱさんがPonanza相手に激戦を繰り広げている。他人の試合はすごく楽しい。
やねさんとたぬきさんの師弟対決はたぬきさん有利でちょっと気まずい雰囲気。
そういえば私も予選でやねさんに泥塗ったんだった。
やねさんの心境は察するに余る。
 
で,見てなかった。
ウチの戦いは200手くらいまで進んでるらしい。
評価値が荒れている。「こっちは今の手でいいと言ってますがそっちどうですか?」って
この競技でしか使わない他人事のような頻出ワードが飛ぶ。
開発者はボクシングのセコンドかモータースポーツピットクルーのようなポジションだ。
基本的に見てるだけなんだが,心労がすごい。
ponderと言うのが相手手番のときの予測手で,この先を探索するのだが
うちはこれを当てるために分岐探索をしてる。
イメージ的には手数多く軽いパンチでポイントを稼ぐアウトボクサーだ。(井岡叔父の方をイメージしてください。本当はパンチも重いらしいですが)
他のエンジンはほぼ一手読みでponderをやってる。プロトコルレベルの問題なのだが
不満がありつつ従ってる人が多いよう。
で,Yorkieはこの一手読みのponderを連続で当ててくる。
即指しはこっちの得意技なのにやられる。分岐先読みする時間すら取れない状況。
アウトボクサーがインファイターのクリーンヒットを連続でもらった瞬間である。
見てるのがツライ。
 
のどが渇いてちょっと給水して戻ると何故か優位っぽい雰囲気になってる。
220手を超えて残り手数を数え出す。うちも玉形の安全を優先したような大駒の動きに
引き分けの雰囲気がでてる。立ち合いの勝又先生も覗き込んでいる。
230手を超えた頃,depth26まで探索が到達すれば当然なんだがYorkieが引き分けを読み切ったそうな。
Yorkieの評価値が中央に落ちた。
うちは探索が浅いので優位と思ってる。
240手手前くらいでmate35とか言ってる。あと35手あれば詰むのかぁ。
引き分けですねとあいさつし,写真を撮ってツイート。
再試合は15分でしたっけ?と言いながら今日の調整した数字を昨日の値に戻す。
 
控室で給水してたら何やら揉め事の様子。
この辺は居た場所や情報の流れによって印象が違うんだろうけど???な感じ。
結局別室に通されてルールを確認される。
256手を超えた場合,立ち合い人判断の優劣がなければ引き分け。
今回はmateが出てるウチの勝ちとの判定を頂く。
確かにプロ棋士の判定だろう。
対戦者が即詰みが見えてるときに時間切れしても勝ちとされるのは分かる。
本件はそういう事例に準ずるとのことだ。
 
自力はYorkieさんの方が強いと思ってるし,こういうのは気持ちよくやりたいので
「僕が再戦希望してもダメですか?」と最後に再度確認したが,まぁそういうことだ。
その後のYorkieさん5位決定戦辞退の件は本人の意思が堅いようなので
「僕は戦うのを見たいなぁ」と思ったけどやはり固辞された。
次,戦ってもらうのを確約して頂いたので4駒評価を実装したYorkieを楽しみにしておく。
つーか,現時点でたぶん勝てないんですけど。
 
で・・・だ・・・・・
もしかして賞金確定してない?
焼肉コールがやばい。
 
準決勝,読み太
振り駒で先手。もはや神風に近い。
横歩を取る予感しかしない。
焼肉コールがマジでやばい。
 
横歩を取ると思ったが何故か矢倉戦。
もう見てるのがしんどいので控室で飲み物を飲んだり
たぬきPonanza戦観戦で現実逃避してた。
正直正気ではない。
ぽな山の雰囲気もやばい。
この辺り興奮状態で皆何を言ってるのか耳に入っていない。
 
決勝,ぽんぽこ
うん,なんでここに居るんだろう。
違和感しかない。
ニコ生で見たことがあるステージ,朝は誰かが恥ずかしそうに立ってるんだろうと予測したステージに居るらしい。
客側からどう見えたのか正直分からないが,胃痛を抱えた不健康そうなおっさんの姿でもあったんだろう。
 
「3台にインストールしてください」
何も難しいことを言っているわけでないスタッフの声が左から右に抜けて他人事のようにしか聞こえない。
あー,データ移さないと・・・当日更新データ含めUSBメモリに全部集めてから2台にコピー。
うちは面倒なのでドライブレターからパスまで決め打ちである。c:\work\shotgun
配布されて気持ち悪いプログラムの筆頭じゃないだろうか。
あとはもうなるようになれ。
焼肉コールが危険すぎるが,さすがに優勝はないだろうとずっと思っている。
どっかの選挙演説じゃないが「私がビビる」
 
振り駒,後手を引いたので2が先手,1,3が後手との展開。
決勝に神風は無かった。
対戦開始
2が速攻で横歩。金の頭を叩いた時点で勝ちを確信。
そこから読みを外されウチの定跡が終わり。
千田先生「こういう局面,長手数の頓死筋あるんでウチの定跡には入れてないんです。」
実践的なプロの意見である。悪い予感しかしない。
あー,うちはコンピュータ将棋なので紙一重の局面が得意と言うかそういう勝負だけで勝ってきたんです。悪い癖,軽口である。
相手の生角が歩当たりながらも玉頭に二枚張り付いて確かに危険だ。
 
他の二局も接戦だ。
基本的にうちは浅い探索で早指し,相手時間を減らす盤外戦術に近い技が持ち味なので
きっちり丁寧に指されると弱い。
序盤定跡でほとんどポイントが取れてないのがツライ。
たぬきさんに聞いてみると「まふ定跡(非公開版)」と言うものを使われているらしい。
5月の選手権で猛威を振るった定跡手筋の最新版が4,5人だけに託されているとのこと。
そういうのもあるんだ。(すっかり忘れてた。)
まぁ,うちの定跡の方が勝ってたのでなんとかほぼ互角局面で時間優位を稼ぐことに成功。
ざっと聞いた感じだと局面数で7,8倍程度のアドバンテージがあった模様。
 
その後,2の横歩が一気に押され始める。
浅い探索の欠点である読み抜けであることは明白。
負けを覚悟する。
1,3は力負けするので全敗もありうるのは自明。
 
まぁ,そういう感じで準優勝。
それから表彰やら撮影やらあんまり暇もなく懇親会。
色んな人と話ができたけど,もっともっと情報交換がしたかった。
ここでも途中でインタビュー入れたいとか撮影が入って戻ったらラストオーダーも終わってた。
二次会に行く。
私がいるということで反省会じゃなく祝勝会という名前になった。
なにやら将棋と関係ない話ばかりして解散。
 
終電もないのでタクシーでホテルに戻り爆酔。


結論:
取れる横歩は全部取ると手動で入れた定跡が一番の勝因

その勝因を導いたのはfloodgateでの横歩戦連敗であることも付け加えておく

 

SDT5メモ

こういうのはホットなときにメモしないと忘れるので記録する。

からあげにレモンをかけるのを阻止する作業よりちょっとだけ重要だ。

 

SDT5とやらにうっかりエントリーしていた。

いわゆるメディア系のイベントに出るのは久しぶりかな。

前日入りでPCのセットアップやらをやってたが,まぁ面白い人ばかりで飽きないというか胃が穴空きそうだった。

ポジションは左の前から二番目。大きなスピーカーの前でパーカッション系が入ると正直眩暈がするレベル。運営に連絡して耳栓を用意して頂いた。

証明も消したと思ったらストロボのように瞬いたり正直ツライ。

リモート参加枠とかないものだろうか。

 

USBメモリ(とケーブル)を忘れてきたので,PCからデータを移行すること数分。

テスト対局でもして確認したら終わりかと思えば,周辺で面白いハプニングだらけ。

じぇんつー入れるカッパさんが明日朝リブートして可否を確認するレベルだとか左の人は夜行でこれから向かおうとしてるとかそういう感じ。

もう,当日入りでよかったんじゃないかと思ったが,運営側のカレーの差し入れがあったので行く価値があったとしよう。

孤独のグルメごっこが一晩減った形だ。

せっかくなのでちょっとだけ近辺に挨拶して帰った。

新参なのに皆さん大丈夫なんですかなどと爺なことをしてたのは反省点だと思う。

常連率が高い。

 

本番初日。妙に早く目覚めたので会場オープン直後に入り。

PCに昨晩から仕込んだデータを確認する。

ほかの参加者がぞろぞろと揃い準備をされるが手際が良い方が多いのが常連なんだろうという意識。

人間関係や会話線がわからない。

初戦がとなりのNovice。

ちゃんと動くかどうかの心配が先走る緊張感の中対局が始まる。

なんか手が進まないなぁとみてると切れ負け。

Novice側のトラブルらしい。

正直こういうイベントでは勝てばいいというのではなく,皆が作ったものがそこそこ動いてこそ盛り上がるのであって不具合は大変気まずい。

ましてや初戦,隣の席だ。

ほんと胃が痛い。

 

ゆっくりする間もなく次戦,メカ女子さん。

自称女子さんとリアル女子さんのチームで,ポッキーを持ってあいさつに来られた。1111日はポッキーの日らしい。

エンジョイ勢と区分する人当たりのいいチームで申し訳ないが競技としては軽く勝たせていただいた。

Julia言語でスクラッチと条件を付けられたらどうやっても私の負けだろう。

二戦目にして異次元感で眩暈がしている。

 

三戦目の前にお弁当タイム。控室に用意されており和気あいあいと頂くが,面識も何もないので適当に話しかけてみる。誰がどんなポジションかほとんどわかっていない。

 

三戦目の前に演歌タイム。かつ丼さん作曲の千駄ヶ谷エレジーをフルコーラスともう一曲聞く。なぜか運営ではなく参戦者から配布された二色のサイリウムスティックをフルコーラスの間みなで振り続けた。二曲目がよかった気がする。

 

その後即,三戦目。

なのはさんとの対局。聞いた名前の強豪と認識してる。

なんか序盤から緩やかによくなっていく感じで,マナーもよくわからないまま対局者に挨拶に行っておいた。ゆるゆる勝ち。

 

三連勝もしたら「負けなしのチーム」という扱いになってちょっと注目の対象になるらしい。四戦目,相手がPonanzaというらしい。

昨年王者やないか!!!マジで胃が痛い。

こちらの序盤戦略にやや乗った形で80手付近まで優劣不明のまま進行するが,こちらは時間消費を抑える策なのでここで倍ほどの時間マージンを築く。

勝ちを意識する局面だがゆるゆるとじりじりと力負けする。

こういう時間ほんとうに胃が痛い。

 

五戦目,そろそろ慣れてきたかなぁと思ったら,御本尊やねうら王との対局だそうな。そろそろ飲むヨーグルトを投入する布陣である。しかも座席が斜め前と近い。

軽く負ければ低姿勢で挨拶して終わるものを,丁寧に準備した横歩取り定跡に50手以上もはまり続けそのまま勝ち。

遊びで作った落とし穴に憧れの女教師を嵌めた小学生のような気分である。

 

六戦目,Yorkieさん。

初参加だけどなんか常連さんの話題になるくらい強いらしい。後手番を引いて横歩取りから一方的に押し切られる。挨拶したが話がしやすい人だった。

他はともかく,ウチは横歩取られたら駄目っぽい。

それと,画面は黒いしフォントは崩れたまま運用していた点は怖い。

 

七戦目,はにわさん。

他の人は知らないけど,この人は振り飛車の人だとの認識。

なんかよくわからないけど対振り飛車で成績の良い評価関数にここだけ差し替える。

その後,死闘を迎える。

なにやら予選抜けのボーダーラインがどうとか話題に上がるが生きている気がしない。

引き分け直前に251手で詰められて負ける。ほんとうに胃が痛い。

 

八戦目,TMOQさん。

こちらは胃の感覚のマヒした飲むヨーグルト定跡からゆっくりとスタート。人の合間を抜けて挨拶に来られたが,ちょうどウチの横歩取り定跡にドハマりしたタイミングくらいだったので「あー,頂きました」と第一声を放つ程度の宇宙人語をヨーグルト臭と共に放ってしまった。まことに申し訳ない。

まぁ,短時間で勝ち。

噂では5勝3敗だと,順位次第で予選抜けの可能性があるらしい。

そういえば八戦目直前順位で予選ボーダーの12位だった。

 

けっか10位らしい。

明日の予定を聞いてみるが,決勝に出る人は緊張感があって,負けた人は他人事なので気にしていない。初参加で決勝行のYorkieさんと少々話してみる。

 

その後,反省会と称して十数人が食事(酒)に行くそうなので便乗する。

千田先生も一緒である。

色々な話題で盛り上がってると,はにわさんのツイートで何か間違ってるとのこと。

予選落ちの反省会に私がいることらしい。

決勝行チームの宴があったのなら是非誘って下されば・・・

 

まぁ,いろいろ情報収集にはなった。

その代り,私が優勝したら焼肉宴会になるらしい。

300万だろ。余裕じゃないか。

(文筆:某泥酔者)