daruma3940の日記

理解や文章に間違い等あればどんなことでもご指摘お願いします

bonanzaのpenalty項わかんねーのじぇ

f:id:daruma3940:20160520223745p:plain

bonanzaのpenalty項わかんねーのじぇ。

なんなのじぇ

#define FV_PENALTY             ( 0.2 / 32 )

って(;^_^A

 

駒割りパラメータの合計-6500で束縛をするとか、特徴ベクトルの大きさでペナルティをかけるとか進歩本に書いてるけど、特徴ベクトルの大きさの和はprintf()にしか使ってないし実際に使われてるのは ( 0.2 / 32 )だし、この値もどこから出てきた値なのかわからないし... 単なるL1normの微分ですね

 

 

 

f:id:daruma3940:20160520223745p:plain

ところで

学習に使う評価値はPVを作成するための探索をしたときの評価値を使っていたけど、PVで末端局面まで移動させてそこでの静的評価値を使ったほうがいいのかもしれないし、あとAperyチームの杉田さんがBonanzaは1iterationで学習用の全棋譜使ってたって言ってたので今やってる1iteration1000棋譜じゃ足りないのかもしれないのじぇ....

 

 

最近プレイしたゲームなのじぇ

f:id:daruma3940:20160520223745p:plain

最近プレイして面白かったゲームのことを書いていくのじぇ。

今年の目標は時間のあるうちにインディーズゲームいっぱいやろう!なのじぇ。

(面白いゲーム知ってる人コメント欄で教えてください)

f:id:daruma3940:20160521003616p:plain

今年の目標しょーもなさすぎるでしょ.....

f:id:daruma3940:20160520223745p:plain

(;^_^A....

f:id:daruma3940:20160520223745p:plain

まっまあ初めていくのじぇ。

strange telephone

 

f:id:daruma3940:20170218213626p:plain

Strange Telephone

Strange Telephone

  • Yuta Yamamoto
  • ゲーム
  • ¥480

 主人公の女の子「ジル」は、目の前に大きな扉が浮く奇妙で暗い世界に閉じ込められてしまいました。
基本的にはその場所から身動きがとれません。
そんな彼女に力を貸すのは電話の姿をした「グラハム」です。
グラハムを通して電話をすることで様々な世界を創造し、その中を探索することができます。
各所に散らばった様々なアイテムを使って鍵を手に入れこの世界を抜け出すことが目的のゲームです。

f:id:daruma3940:20160520223745p:plain

このゲームは面白かったのじぇ。なんのヒントもない世界で電話をかけてほかの世界に移動し不思議なオブジェを発見し,最初はそれが何なのか全然わからないのだけれどもアイテムを手に入れたりほかの世界を見たりすることでどんどんつながっていく感覚は謎解きに似た感覚だったのじぇ。

f:id:daruma3940:20170218213619p:plain

f:id:daruma3940:20160520223745p:plain

エンディングは5つあってそれらをすべて見るとこのゲームの主題がわかるらしいのじぇ。(ソース↓)

jp.automaton.am

まりちゃは一応全エンディング見たことになってるのじぇ。

f:id:daruma3940:20160709192554j:plain

見たことになっているとは...??

f:id:daruma3940:20160520223745p:plain

実はエンディングの内容覚えてるのは3つだけだったり...(;^_^A

ほかの2つはいつ解放されたのか覚えていなかったりして...

f:id:daruma3940:20160520223530p:plain

だめだめだね!やり直し!

f:id:daruma3940:20160520223745p:plain

(;^_^Aゆめにっきぽいゲームだったので好きな人はどうぞなのじぇ

 

 

ゆっくりにっき

play.google.com

f:id:daruma3940:20160520223745p:plain

このげーむはゆっくりを育てたりいじめたりするほのぼの(?)ゲームなのじぇ。

f:id:daruma3940:20160520223745p:plain

ゆっくりの3Dモデルもすごくかわいいし、反応もしっかりしてるし、様々な要素がたくさん入っていてとても楽しいゲームなのじぇ

「作者さんのゲーム製作能力半端ねー」と遊ぶたび思うのじぇ。

 

f:id:daruma3940:20170218215740p:plain

 

UNDERTALE

store.steampowered.com

f:id:daruma3940:20160520223745p:plain

これは紹介しなくていいぐらい有名かもしれないのじぇ。

誰も死ぬ必要がないRPGを謳っていてどんな相手とも友達になれるゲームなのじぇ。

まあ倒して殺してしまっても構わないのじぇ。

このゲームはとても面白かったのじぇ!細かい分岐がいろいろあって一回ハッピーエンドを見た後もここでこのような行動をしたら周りはどんな反応をするのだろうとかどんどん試したくなっていって最終的には.............

 メタな部分にも踏み込んでくる型破りなところもあってそこもよかったのじぇ。

マザーシリーズと東方が好きな人にはお勧めなのじぇ。

 

 ノナプルナイン

nonuple9.com

 

f:id:daruma3940:20160520223745p:plain

18禁ゲーなのじぇ。

ストーリーが凝っててなかなか面白いのじぇ。エロゲーなのにエロシーン正直邪魔だったのじぇ(笑)早くストーリーを進めさせろっ!って感じ(笑)

無料体験版はとてもボリュームがあって面白かったのじぇ。

C91で販売された有料版の方はアナザーストーリーで本編に全然関係ないみたいだし、内容もかなり短かったのでそれが残念なのじぇ。

 Antiyoy

play.google.com

 

f:id:daruma3940:20170218223136p:plain

 

 

f:id:daruma3940:20160520223745p:plain

戦略陣取りゲームなのじぇ。単純なようでいて奥が深い!!!!!

面白いのじぇ。このプログラムのAIはどのような行動原理で動いてるんだろうな~~

もっとAIに詳しくなりたいのじぇ

 

 

研究室きまったのじぇ!

f:id:daruma3940:20160520223745p:plain

大学の研究室決まったのじぇ!

f:id:daruma3940:20160709192554j:plain

そういえばまりちゃは来年大学4年生だったね。どんな研究室なの?

f:id:daruma3940:20160520223745p:plain

数理工学研究室ってところなのじぇ。

うちの学部では実験系の研究室が多いなか、ここはPCを使って理論を攻めるタイプの研究室なのじぇ。

f:id:daruma3940:20160521003616p:plain

なるほどね。。。でもまりちゃそんなに頭よくないのに理論なんてできるのかしら??

f:id:daruma3940:20160520223745p:plain

こっこれから頑張るのじぇ...(;^_^A

f:id:daruma3940:20160520223745p:plain

ちなみにAperyの共同開発をしている研究室はここの研究室なのじぇ。

f:id:daruma3940:20160520223530p:plain

なるほど。コンピューター将棋をするためにそこの研究室に入ろうと思ったんだね。。。

f:id:daruma3940:20160520223745p:plain

そんな感じなのじぇ。でも、そこの研究室の教授とかと話をしてみたらこれまでその研究室でコンピューター将棋を研究してた人たちは内容的に論文とかポスター発表とかが全くできなかったらしいのじぇ。コンピュータ将棋で強くなる方法を見つけてもそれはtipsみたいな感じになってしまって論文とかにはできないらしいのじぇ。コンピュータ将棋が研究かと言われればそうだとは言い返せない、コンピュータ将棋は知名度が高いのでいい看板にはなるんだが研究としては...ということらしいのじぇ。

まあメインが物理系のことをしている研究室なのでまあ仕方ないのじぇ...

f:id:daruma3940:20160521003616p:plain

あらっ研究室でコンピュータ将棋はできそうにないみたいね...

f:id:daruma3940:20160520223745p:plain

そうなのじぇ。コンピュータ将棋は趣味で続けていくつもりなのじぇ。

f:id:daruma3940:20160520223745p:plain

まっ、頑張って量子力学統計力学も勉強していこうじぇ!(TOEICを受けなければならないので英語も)

 

 

 

 

 

 

最近どうなの?じぇ

f:id:daruma3940:20160520223745p:plain

お久しぶりなのじぇ。

f:id:daruma3940:20160521003616p:plain

ほんとに久しぶりね...

最近どうなの?Squirrelは強くなってるの??

f:id:daruma3940:20160520223745p:plain

う~~~んきびしーのじぇ。

学習も探索もあんまり強くなってない.....

f:id:daruma3940:20160520223745p:plain

学習は最初のころは2日回すだけでELO+100ぐらい伸びてたのに最近はほとんど伸びていないのじぇ...

探索もLMRを実装したらLMRを実装する前よりもよわくなってしまったので何とか条件を調整してLMRを強くできないか試行錯誤中なのじぇ...

f:id:daruma3940:20160520223530p:plain

踏ん張りどころさんだね

 

f:id:daruma3940:20160520223745p:plain

いやー学習がこんなところで伸び悩むとは思ってなかったのじぇ。

伸び悩みだすのはもっと先のことだろうと楽観していただけになやましいのじぇ。

f:id:daruma3940:20160520223745p:plain

あと年末郵便局でバイトして新しいPC買ったのじぇ!i7-4770KなのでこれでAVX2関数を使える(^◇^)

f:id:daruma3940:20160521003616p:plain

でどうだったの??どれぐらい早くなった??

 

f:id:daruma3940:20160520223745p:plain

まあ簡単にAVX2に書き換えられるmeromさんに教わった_blsr_64()とoccupied256のビット演算をAVX2で書き換えたのじぇ。

結果としては同じPCでAVX2を使わずに指し手生成3.1M回psだったのが

AVX2を使って3.0M回psになったのじぇ。

f:id:daruma3940:20160709192554j:plain

AVX2使って遅くなってるじゃないですかーー

f:id:daruma3940:20160520223745p:plain

なんでなのかよくわからないのじぇ(泣)

f:id:daruma3940:20160520223745p:plain

あとは学習でソフトの棋譜を用いて学習していたけれど、もしかしたら水平線効果の指し手も教師として学習してしまっていて、無理な王手をかけるようになっている状態に陥ってしまったのじぇ。

f:id:daruma3940:20160520223745p:plain

う~~ん思うようにはいかないなぁ......

 

 

 

 

今年一年を振り返って(^◇^)

今年一年を振り返って(^◇^)
今年一年で思い出に残ったことといえばやっぱり電王トーナメントに出場したことだな(^◇^)
すごい人がいっぱいいたな~
コンピューターの仕組みにめちゃくちゃ詳しくてAVX命令などを駆使しながら高速化を図る人、学習に精通していてコンピューターの学習に力を注いでいる人、将棋についての知識をフル活用して探索部を強くしている人そしてそれらすべてを兼ね備えたPonanza......(^◇^)
私はコンピューターに詳しくもないし学習に精通しているわけではないし将棋についての知識もないので何もできない(^◇^)
ponanzaさんはやはりすごかったぜ(^◇^)
一日目の試合開始前に朝ご飯の時間があってな(^◇^)
その時に私とほかの開発者さんで楽しく朝ご飯を食べてたんだがPonanzaさんが入ってきた瞬間雰囲気が変わるのな(^◇^)ponanzaの山本さんは試合前のボクサーみたいな感じで部屋に入ってきたわけな(^◇^)
もうponanzaさんおっそろしくて話しかけられなかったぜ(^◇^)
でもなぜか試合前の練習対局でponanzaに当たってしまったのだ(^◇^)
そこでponanzaさんに「今年はどういった改良をされたのですか」と聞いてみたんだけどそこでは「まあ小さな改良を積み重ねた感じかな」としか答えてもらえなかったしponanzaさんに「君のソフトはどういった改良をしたの?」と聞かれてもStockfishを取り入れてみる以外に何も強くならなかったので「いろいろ試行錯誤してみたけれど強くならなかった」としか答えられなかったし、ちょっと会話をした後山本さんはどこかに行ってしまったのな(^◇^)
この時は小さな改良を積み重ねたと答えられたとき「ああ なんか適当にはぐらかされてしまったんだろうな」と思ったんだけれど今となってはわかるぜ(^◇^)
大会の打ち上げでponanzaは大会前1っか月で600このブランチを作って開発したって言ってたのだほんとにponanzaは小さな改良を積み重ねていってたんだぜ私がやっていた1000倍の試行錯誤をして少しずつ強くなっていってたのだんだぜ(^◇^)私はため息をつくしかなかったぜ(^◇^)
あとはきふわらべさんも本当に私の価値観を回転させた人だぜ(^◇^)
あの人は高校を中退して(←たぶん)微分も理解していなかった人なんだが微分についてのインターネットの記事を読んで羊羹を使って自分の中で再構築していたぜ(^◇^)
そしていま高校数学とかを勉強されているけれど僕が高校時代ちゃんと理解せず使っていたネイピア数とかをちゃんと理解して自分の言葉で再構築しているんだぜ(^◇^)
そしてものすごいリバースエンジニアリング能力とセンスと考える力を持っているんだぜ(^◇^)
あと平岡さんの体力にも驚いたぜ(^◇^)毎日会社から帰ってきて遅くまで開発してるのな(^◇^)マラソンをずっとトップスピードで走ってる感じ(^◇^)
自分の能力のなさに失望だぜ(^◇^)
まあ今年はいかに自分の考える力がないのか理解させられたぜ(^◇^)
来年はいろいろ考えながら
いろいろ面白そうなことに飛び込んでいけたら楽しそうだな(^◇^)

FishTestの見方を調べるのじぇ

f:id:daruma3940:20160520223745p:plain

あとでちゃんとまとめるのじぇ

Stockfish Testing Framework

 

 

 

f:id:daruma3940:20161029021630j:plain

緑 強くなってる

赤 弱くなってる

灰色 テスト中?

LLR:Log likehood ratio 

LTC:long time control 60s+0.4s(60秒+1手毎に+0.4秒だと思われる)

STC:short time control 10s+0.1s

SPRT:sequential probability ratio test(仮説検定の一種?)

Sequential probability ratio test - Wikipedia

Chess SPRT Calculator

ELOがwindowを超えると予想される自己対戦を終了させる(もうはっきり勝敗がわかるから)

(-2.94,2.94):さっぱりわからんwindowに関係している?

[0.00,4.00]:elo0が0.00 elo1が4.00 elo0帰無仮説 elo1対立仮説

El:userの名前

W:Wins 

L:Losses

f:id:daruma3940:20161029022536j:plain

Residual:残差(現実に測定できる誤差)

 

fishtestはχ2乗検定をしている。

p値(仮説に反する統計量が観測される確率)が有意でない限り、そのテストは信頼できる。(residentialが赤色なのはデータが信頼できないやつ)

https://groups.google.com/forum/#!topic/fishcooking/00AnU9eU1O0

パラメーター調整はSPSAを用いている

GitHub - zamar/spsa: SPSA Tuner for Stockfish Chess Engine

http://www.jhuapl.edu/spsa/PDF-SPSA/Spall_Implementation_of_the_Simultaneous.PDF

 

 まずはSTCでテストされ、それに通ればLTCに移る。

 

なんでコンピューター将棋始めたのか思い出したのじぇ!

それは去年の電王トーナメント周辺の時期の話だ。
うちの大学の学科で量子力学の授業を担当していた教授の研究室がコンピューター将棋を作っているということを知り。そしてもうすぐ電王トーナメントというニコニコで放映されるコンピューター将棋の大会があることを知り、
「うちの教授がニコ生に映るの!?マジ!?見てみたろw」という超軽い気持ちで電王トーナメントのニコ生を見てみたのである。

そこで映し出されている将棋の内容は僕には全く理解できなかったが、うちの教授がホントにニコ生にちょいちょい映っていて「あっまじで映ってるw」と思ってみたり、評価値の推移を見ながら手に汗握ってみたり、「非リア代表平岡さん頑張れー!」と変な応援してみたり、「きふわらべおもろw」と笑ってみたり、大樹の枝がponanzaに一勝も出来なかったので落ち込んでみたり電王トーナメントの放送を思う存分楽しんだ。

そして僕はこう思ったのである「コンピューター将棋面白そう!」と。(この時の自分のプログラミング能力はポインタがわからず、シューティングゲーム作るの挫折したぐらい)

僕は当時美術部に在籍して絵も描かずゲームばっかりして遊び呆けまくっていた。部活の後輩の中に一人プログラミングに興味がある奴がいた(Y君とする)。そこでそいつに「一緒にコンピューター将棋やってみいひん?」と声をかけてみた。しかし返事はそっけなかった。「いやですよwめんどくさそうだしw」
僕も確かにめんどくさそうだな~と思った。この時点でこのコンピューター将棋を始めるという挑戦は頓挫してしまうことになる.....はずだった。

そのやり取りがあってだいぶ時間が経った頃、後輩の女の子(コンピューター将棋をやろうと声をかけてみたやつとは違う)が授業でプログラミングの課題を出されたのだが解けないらしく、y君に質問していたのだがY君も問題が解けないらしかった。そこで僕が頑張って解いてみることにした。(問題自体はモンテカルロ法で円周率を求めるプログラムだったので頑張るという言葉を使うほどでもなかった)
そしたらその女の子が「プログラミングできる人ってすごいです!尊敬します!」みたいなことを言って褒めてくれた。

その日の晩YくんからLINEが来た。「やっぱりコンピューター将棋やりましょう!」
どうやらY君もプログラミング頑張ってその女の子に褒められたいみたいだったw
しかしまあ僕もその頃にはもうコンピューター将棋始めるのめんどくさくなってしまっていたので「これは面倒なことになったなー」と思った。
しかしまあ一緒にやろうとこちらから声をかけたのだからしょうがない。頑張ってコンピューター将棋の勉強を始めることにした。

僕もY君もプログラミングなんてほとんどわからなかったので池さんのブログのコードを二人で読んで勉強していくことにした。
しかし、Y君は一週間ぐらいであきらめてしまった。そして私だけが残ってしまい今に至る....................