夏休みの特別講義の統計の試験だった。
1日目:すっかり忘れてTさんの家にいたため当然の如く欠席
2日目:面白くないので提出締め切りの離散数学をやってた
3日目:午前は必要ないと悟ったので午後の1時間の実習のみ
4日目:午前中はバイト。午後の1時間の実習のみ出席
と、なんとも特別感あふれる感じ(?)だったわけですが、かなり難問でした。(いや、きっと本当は簡単なんだろう)
問題文「最長距離法を用いよ」
なるほど。何か分からないけど、持ち込み資料を見れば書いてあるはず。
持ち込み資料「最長距離法:」
おぉ!すばらしい。
・・・。
2つの円。そしてその間に直線。そしてその直線に説明。
「最長」
・・・・。ん・・・?
説明になってないですぞ?
上の最短距離方の説明は同じ図で「最長」が「最短」になっているだけですぞ?
この何でも書いてあるフェイクの資料と、一般の高校生にも劣る驚異的積分能力によって、統計の試験は超難問と化したのでした。
だって、積分とかできないし。最近集合論とか論理学とかそういうのばっかりで、応用数学全然やってないじゃん!久しく実数見てないじゃん!
おばさんというよりは、おばあさん。
学校からバスに乗ったらおばあさんが声をかけてきた。
おばあさん「チョコレートです。食べてください。」
え!?
「え?いえ・・・」
おばあさん「ほら。食べてください」
「は・・・はぁ・・・」
しばらく会話したところ、なんか生協で買い物をして出ようとしたところ、ぼくらと同じタイミングで店から出ようとしたらしい。で、そこでぼくがそのおばあさんに道を譲ったらしい。
で、なぜかそれにいたく感激したらしく、是非なにか御礼をしたいと思ったとか・・・。
道を譲ってもらっただけで御礼をしたいと思うなんて、よっぽど普段苦労しているのか、たまたまなのか。確かに、うちの学校ではお年寄りに道も譲れない人も多いのは確かだが、それに感心するほど少ないわけではないと思うのだが; タイミング?
その後、しっかりと食べさせていただきました。
オセロのボード実装にバグを発見。
1つの石を3~4つのインデックスで表現しているのだが、その1つを6000分の1の確率で変え忘れる。
その結果、
そのまた比較的低い確率で置けない場所を置けると勘違いしたり
評価関数を求めるためのインデックス計算を間違えたり
していたらしい。
置ける場所の勘違いは、50万試合分処理させてエラーをはかなかったことから分かるように、そこまで高頻度で生じているわけではないと思われるが、評価関数の方はかなり頻繁にミスをしていたようだ。
ミスを直した結果、序盤20手くらいは頻繁にZebraの定石に従う。
定石嫌いのNeothecは、ここに原因があったのか・・・。しゅん。
学科のUの電話で起きる。
「教室どこ?」
言っている意味が分からないのですが・・・;
なんと、今日は統計の集中講義の初日だったらしい。
しかし、寝たのは5時過ぎ。今はまだ8時台じゃないか。
はい、学校行ってもムリ。授業など聞ける状態じゃない。
ってわけで、「なかったことに」
昼過ぎに起きたら、なんかみんなひたすらゲームやってた。
てか、Tさんがやって、全員見てた。
しかも、それが5時間くらい続いていたらしい。
どういう状況?(笑
その後、ぼけーっとしながらまたぷよぷよ。
ぷよぷよ好きだね、そして
「修行する」と言って借りていった人約2名。
そんなにゲームする時間なんてあるのか?
お邪魔しましたー。
サークルの先輩のTさんのところへお泊り
「理由はないけどとりあえず泊まりに行こうの会」
鍋を食べて・・・オセロやってぷよぷよやってダイアモンドゲームやって・・・
女性が鍋を作ると、あんなに丁寧になるものなのか?食べられる状態になってから鍋に投入されてるぞ?Tさん宅の鍋でこんなに丁寧に作られるのは始めて見た。
おつかれさまです。働かせてしまって申し訳ない。
ダイアモンドゲームなんて久しぶりにやったけどなかなか面白いね。
「ぷよぷよ~ん」だが、ぷよぷよはいつの間にあんなに分けの分からないゲームになってたんだ?
Self-Learningだが、いったいどれくらい学習すればいいのかさっぱり分からん;
とりあえず、12時間学習した段階での強さは、Bear(強)に2石勝ち。実験用の(9手読み/CPCなし)でこの状況だから、悪くはないのでは?おとといの段階では値が発散してた状況から考えれば、進歩か?ある程度の強さまでは教師なし学習でも到達できそう。
オセロのルールを初めて知って、上手な人から教わらずに12時間でここまで強くなると考えると・・・すごいね、コンピュータって。
で、意外なのは定石。現段階で、序盤10手くらいはZebra様の定石に当てはまる。そしてそれは・・・中盤がちゃんと学習されてなくても。なぜ??
中盤の評価値は時に、Zebra様の24手読みの評価が10石以上(+5石とか+10石とかその領域で)外れる(それが、時間をかければ読みきりが可能な範囲で)。これは・・・Zebraの評価関数が不得意とする局面の存在を示唆しているのでは!?と、勝手に都合のいい解釈をしている今日この頃です。
しました。バイトで。疲れたー。
たくさんのパソコンに囲まれて、パソコンとスキンシップをとりまくりました。キーボードではなくパソコン本体と・・・;
久しぶりに、オセロのコードを書きました。アイディアはしばらく練ってたんだけど・・・なかなかまとまらず。
あぁみんなFFOテストをやって、探索速度の向上に努めているぞ?Oxelon(by U)の速度がやばいらしい。枝狩りが、世界的に優秀なレベル??Thell(by F)も毎日どんどん速くなっているらしい。あれれれれ?
でも、それより強化学習(教師無し学習)のほうが面白そうなので先にそっちを。
とりあえず、Neothec3もOxelonもThellもvsOthaも・・・そして世界中の多くの強いオセロプログラムはある程度の強さで打たれた棋譜から学習するといういわゆる”Supervised Learning”方式なわけだが、このSupervised方式に改善の余地があることは、この前のオセロ大会で示された。
「学習に利用する棋譜を訂正すると強くなる」
これはすなわち、棋譜の間違いによって、学習に悪影響が及んでいることを意味する。つまり、現在の線形和による評価関数の形のままでもまだ評価精度を向上する余地があるということなわけである。そして、これを改善するには棋譜訂正を行うなり棋譜を生成するなり、とりあえず精度のよい棋譜を得ることが重要なわけである。
しかし、得られる棋譜の精度には限界があるのは明らかで、それを打破するにはSupervised方式を変えるしかない。
また、Uの調査によれば、探索空間中にはまったく評価値の存在しないパターンが全体の5%も存在するらしい。
たぶん、この状況でかなりちゃんと打てているのにはこんな理由があるだろう。それは・・・「常識的な打ち方をした棋譜を用いて学習したソフト同士が、戦うので、結局は重みがないような特殊な場合には陥らない」。
ということは。だ。「世界中のソフトが得意としないけど、じつはよさげなオセロの打ち方というものが存在する余地があるのではないか?」と考えるのが自然な気がする。
そのためには・・・教師無し学習しかない!と思ったわけです。
教師無し学習とはすなわち・・・事前知識を利用しない。
Supervised:
オセロのルールを教わる。ある程度強い人たちの打ち方を教わる。
そして、それらを自分なりに考えて、その強い人たちよりもっと上手に打つようにがんばる。
教師無し学習:
オセロのルールを教わる。必死にいろいろ試してみて、上手に打てるようになるべくがんばる。
まぁ、用は、前提知識を与えないことで、独自の方法を探してもらいたいということです。
TD(n)っぽいような、Q-Learningっぽいようななんかそんな感じのアルゴリズムで学習させてみます。が・・・やっぱり学習時間かかるね。ま、ちょっとずつ改善させていこうと思います。