« 2009年4月 | トップページ | 2009年6月 »

2009/05/22

最近読んだ本

微妙。

麻雀をやってるときに、「統計データが少なすぎて有意差が出ないので確かなことはいえません」なんて悠長なことは言ってられない。最初は主観でエイヤと予測を立てて行動をし、捨て牌が増えて、新たなデータが出るたびに当初の予測を修正していくわけで、それはまさにベイズ統計の得意分野だと思う。
それに、麻雀ってのは条件付確率の塊なので、ベイズ統計は相性がよいんじゃないかと思ってる。

なのでちゃんと理解したいと前から思っているんだけど、普通の統計さえまともに理解してない私にとって今までのベイズ統計の本は難しすぎる。
この本は、ある程度理論はおいといて、実務者向けに応用例を提供している。ただ、応用例の紹介としてはそれなりに価値があるんだけど、この本ではベイズを使えるようになるのは難しいのではないかと思う。
書いている人はマイクロソフト社の人らしく実際実務にベイズを活かしているんでしょうが、実務のプロであっても教育のプロではないなって感じになっちゃってる。やっぱ大学の先生のほうが教え慣れてて教え方も上手なんだなという感想。っていうか、一番最初の例題が、モンティホールのジレンマもどきってのは間違いなんじゃないかと思う。モンティホールのジレンマは、何度説明を受けてもなかなか理解しにくい問題だし、さらに悪いことに、この本の説明は決して上手ではない。っていうかはっきり言って下手。私は、モンティホールのジレンマは結構ちゃんと理解したつもりだったけど、この本読んで却って判らなくなってしまった。

そういう意味では、ベイズの本だと、この本が良かった。

筆者は放送大学とかで講師をしている人らしい。例題が割と無難で、理工系の大学のテキスト用の本にしては珍しく文章が読みやすい。

結構難しい数式もでてくるけど、麻雀ゲームとかで、ベイズを使うときは、ぶっちゃけそんな難しいことまで知る必要が無くて、基本的な考え方が理解できて、図(ベイジアンネットワーク)が使えて、ナイーブベイズのアルゴリズムが実装できれば十分なので、この本のように文章で考え方を説明してくれる本は助かる。

ちなみにまったり麻雀は鳴き仕掛けに対する警戒アルゴリズムにベイズ的なアルゴリズムを使ってる。

* * * *


単にあおりだけじゃなくてそれなりに対策も書かれてる本なので仕事でウェブにかかわってる人は読んでおいて損はないと思います。

まあ、確かに、日本のインターネットコミュニティには、そういうオバカな面もあるような気がします。
実務としてネットで報道系のサイトと立ち上げてると特にそう見えるんでしょう。

私は、良い利用者に恵まれてよかったと思う。このブログに寄せられるコメントは開発に有意義に利用させてもらっている。

* * * *


失敗する製品が出てしまう理由を、ジオン軍のモビルスーツ開発を例に論じている本。

目次がこんな感じ。

第1章 MS‐06Fザク2―技術においては、「寿命の長さ」は必ずしもいいことではない
第2章 MS‐06R高機動型ザクシリーズ―技術規格を増やすのは善か悪か
第3章 MS‐07グフ―進化しすぎた技術は、環境変化で絶滅する
第4章 MS‐09Rリック・ドム―あるセグメントで成功した技術が、別のセグメントでも成功するとは限らない
第5章 MS‐14ゲルググ―投入するタイミングを失した技術は、どんなに優秀でも成功しない
第6章 MSM‐03ゴッグ―突出したスペックを持つ製品は、きわめて運用しにくいものになる
第7章 MSM‐04アッガイ―「使う人がいない」製品は、なぜできあがるのか
第8章 MSM‐07ズゴック―仕様はどこかで決断しなくてはいけない
第9章 MAM‐07グラブロ―モビルアーマーの存在意義を問う開発事例
第10章 MA‐08ビグ・ザム―ビグ・ザムが量産の暁には、ほんとうにジオンは勝てたのか
第11章 MSN‐02ジオング―フラッグシップモデルは造るべきか?

ただ、実際これをビジネス本として活用するために読むのはたぶん間違い。ガンダムの後づけ設定っぷりまじめに論じることを楽しむ本だと思う。

| | コメント (7) | トラックバック (0)

2009/05/16

Ver.0.8.19を公開

Vesion 0.8.19を公開します。
Version 0.8.18で見つかったリーチしているときにハイテイにツモ番が回ってきたときエラーとなるバグを修正しました。ひどいバグなのでぜひ入れ替えをお願いします。

ダウンロードは右サイドバーのダウンロードボタンをクリックしてください。

| | コメント (0) | トラックバック (0)

原因判明

バグの原因が判明しました。
代入していないポインタ変数をアクセスするという初歩的なミスでした。

GUI処理の部分で、人間の手牌をローカル変数に入れなおす処理がハイテイのときだけ抜けていました。

一連のGUI処理の部分で、カンボタンを押せるようにするかどうか判定する処理があって、そのなかで、手牌のデータをポインタ変数に入れているけれど、ハイテイは絶対にカンできないので、その処理がスルーされ、結果手牌をローカル変数にコピーしないまま、次の処理に移り、その部分でポインタ変数から値をとっていたので、ハイテイのときデタラメな値になってしまいました。

修正現在修正確認中です。


なにが、「もしかすると、コンパイラの問題かも知れない。」だ。=>私。
ホント恥ずかしいミス。


| | コメント (0) | トラックバック (0)

バグ原因調査中

思考部分のバグかGUI部分のバグかを切り分けたかったので、まずは、コンピュータ同士で1000試合打たせてみたけれど、再現しなかった。

だとすると、GUI部分くさい。流局とオートリーチ近辺のソースを見直したけど間違ってなさそうな感じ。

もしかすると、コンパイラの問題かも知れない。TurboC++はなぜか、コンパイルしなおすと変なエラーが出るようになることがたびたびあるので、それが原因かもしれない。

まずは、公開していたexeファイルで、バグ再現条件を突き詰めてみて、その後、リビルドしたexeでそのバグが再現するか確認するつもり。

しかし、なかなか再現しない……
流局させようとするとなかなか流局しないな > まったり麻雀v0.8.18
こんなにリーチに対して押してくる打ち方するアルゴリズムだったっけかなあ。

| | コメント (0) | トラックバック (0)

2009/05/14

0.8.17に戻します

流局時にエラーになるバグがみつかったので、0.8.18の公開を取りやめ、0.8.17に戻します。
連絡をくださった、こうさんありがとうございます。

リーチをかけていて、自分がハイテイのツモ番で流局した時が怪しいような気がしてますが、まだバグがでる条件やプログラム上の原因がつかめていません。

同様のバグに遭遇された方、どのような状態で起きたか、ご連絡いただけると助かります。

週末にでも原因をしらべます。ご迷惑おかけしてすいません。


| | コメント (2) | トラックバック (0)

2009/05/09

Ver.0.8.18を公開

まったり麻雀のVer.0.18を公開しました。

目立つ修正としてはリーチ後のオート打牌とデモモードの牌譜出力です。
強さ的には、大体平均順位で0.01程度良くなっていますが、若干思考時間が伸びてます。

| | コメント (5) | トラックバック (0)

先に公開しようかな

点数状況判断を修正するのに思ったより時間がかかりそうなので、現時点で出来てる部分を先に公開することにする。
ただ、もう少しまとめる必要があるので今週末は無理かもしれない。

| | コメント (0) | トラックバック (0)

2009/05/01

めんどくさい

アルゴリズムを改造する度に書いてる気がするけど、今回も書く。
「本当に面倒くさい。」
特に今回修正しようとしている点数状況判断は面倒なのであとまわしにしていた機能だけに、今までよりさらに輪をかけて面倒。

まあ、ぼやいていても仕方ないから地味にやってくつもり。
これから色々データを取らなければいけないけれど、まずは、今までとったデータが使えるかどうか昔のEXCELファイルを漁ってみることにする。

| | コメント (0) | トラックバック (0)

« 2009年4月 | トップページ | 2009年6月 »