2009年10月25日

立直順目、残り枚数の組み合わせと和了率

google chartを使ってみました。
google chart自体はすごいんですが、もっと便利な作成ツールが出来ないとかえってめんどくさいです。
作成サイトはいくつか使いましたが物足りなかったので、手動でパラメータを書いて作りました。
ものすごい疲れた・・・




一個前の記事のデータをグラフ化しました。
横軸は、立直順目と残り枚数の組み合わせで
1巡目、残りが11枚〜1枚(見える範囲の待ち牌の)
2巡目、残りが11枚〜1枚



と、全部繋がっています。
頑張って4、9、14順目はにおおよその線を引きましたが
位置指定とか手動なのでこれが限界です(泣
どの辺が何枚なのかは、11枚と1枚以外は判別不能です。
何となくで見て下さい。

たぶん、
3巡目の嵌張立直と9巡目の3面張立直
が同じくらいの和了率って事かと。
posted by idaten! at 01:25| Comment(0) | TrackBack(0) | 麻雀分析の結果

2009年10月24日

残り枚数と立直順目

偏差値は出るんですけどね、集計しようとするとなぜかうまくいきません。
とりあえず、残り枚数と立直順目でも集計したので張っておきます。

残り枚数と和了率 立直順目と和了率

グラフにしないとさっぱり意味不明ですね。
当たり前ですが、残りが多ければ多いほど、立直順目が早ければ早いほどほど、
和了率は高くなっています。
残り、4枚、8枚、11枚に近づくと相対的に和了率が高くなって
5枚、9枚、12枚でリセットされてる感じ?原因は不明です。

結果を画像で公開するのがかったるいので、google chartを勉強中です。
posted by idaten! at 22:42| Comment(0) | TrackBack(0) | 麻雀分析の結果

2009年10月23日

MySQL Query Browser → DBViewer

DBにSQLを流すのに「MySQL Query Browser」を使っていたんですが、
なんだか突然使えなくなりました。
もともとSQL内に日本語があると表示が崩れたりしていたんですが
最近はちょっと使うと突然落ちるようになってしまって使い物にならない…
仕方ないので、eclipseのブラグインに乗り換えることにしました。

もともと、eclipseのテキストエディタでSQLを書いて、「MySQL Query Browser」に貼り付けていたので始めからプラグインを使えばよかったんですが、プラグインの設定ってちょっとめんどくさいイメージがあって、さくっと使える「MySQL Query Browser」を使ってたんです。

それで、「データ管理」と「DBViewer」と2つ比較してみようと思ったんですが
「データ管理」は全然安定しなくて比較するまでもなく「DBViewer」を使う事にしました。
「DBViewer」は基本的には非常に安定していてシンプルで分かりやすいです。
(こちらも環境によっては不安定な事もありますが)

コンテンツ・アシストはやっぱり便利ですね
(趣味が合わないので使いませんが)自動整形もありますし
とにかく、eclipseの中だけで完結できるのがいいです。


でもまぁ、ツールは便利でも偏差値での集計はうまくいかないまんまですが…
posted by idaten! at 12:12| Comment(0) | TrackBack(0) | プログラミング

2009年10月21日

立直時の待ち形と和了率など(平均レート別)

待ち形レート別(愚形)  待ち形レート別(良形)

立直者のレートと卓の平均レートと迷いましたが、卓の平均レートで集計しました。

次回は立直者のレートの卓内の偏差値で集計してみたいと思います。
4人の偏差値って意味ないですか?
posted by idaten! at 20:00| Comment(0) | TrackBack(0) | 麻雀分析の結果

SQL 切り捨て(truncate)

前回の集計をレート別で再集計します。
1500台、1600台...という風にしたいので10の位以下を無視したいです。
ぱっと頭に浮かぶのは、
100で割ってintにキャストして100掛ける
ですが、調べてみたら切り捨てが応用?できました。
Cやjavaで切り捨てというと小数点以下を意味しますが
MySQLでは切り捨てる桁にマイナスを指定すれば小数点以上も切り捨てられます。
truncate(rate_avg, -2)
小数点以下-2桁を切り捨てて、レートを100単位にする事が出来ました。
まぁ、10の倍数以外で丸めたい時は割って掛けるしかないかな。

結果は次の日記...


おまけ(集計中のデータの卓の平均レート別試合数)
レート別試合数
posted by idaten! at 20:00| Comment(0) | TrackBack(0) | プログラミング

2009年10月20日

立直時の待ち形と和了率など

立直時の待ち形と和了率など

次回はこれをレート別にしてみたいと思います。

つづく...
posted by idaten! at 18:00| Comment(0) | TrackBack(0) | 麻雀分析の結果

SQL 場合分け(case when then else end)

1プレイヤーの1局の結果を以下のように定義しました。

#kyoku_result
# 1=不聴、-2=被自摸、-3=放銃
# 0=他家和了&他家放銃
# 1=聴牌、2=自摸和、3=栄和

このデータから和了率と放銃率などを一発で抽出するSQLは知らなかったんですが
まぁ何とかなるだろうと思って…

続きを読む
posted by idaten! at 18:00| Comment(1) | TrackBack(0) | プログラミング

2009年10月19日

ロードマップ?

1.立直時の待ち形と和了率など
2.立直時の待ち牌の残り枚数と和了率など
3.立直時の順目と和了率など
4.それぞれの結果における、レートと和了率の相関

こんな感じの集計が進行中です。
グラフを出してる余裕はないので、集計結果を生で張っていきます。

これ以外に、待ち牌の種類について調べるにはどんなデータを出せばいいのか考えています。
同じレート、同じ待ち形、同じ残り枚数、同じ立直順目の時
残り待ち牌の種類ごと和了率をだせばいいのかな?
posted by idaten! at 21:08| Comment(2) | TrackBack(0) | 開発日記

データ登録中

立直の待ちと和了率について調べるためのデータをDBに登録してます。
テスト集計の結果に不自然さが無くなってきました。
バグのループからやっと抜けられたかな?

登録中の項目
・プレイ日時
・ルーム番号
・東南
・3麻4麻
・卓
・ルール
・プレイヤーのレート
・プレイヤーの局開始時の順位
・プレイヤーの局開始時の得点
・プレイヤーの局終了時の結果(和了とか放銃とか)
・プレイヤーの局終了時の得点移動
・プレイヤーのゲーム終了時の順位
・プレイヤーのゲーム終了時の得点
・立直情報(順目とか、待ちとか)

とりあえず、この情報で分かる範囲を調べていきます。

ゲーム数など
posted by idaten! at 12:14| Comment(0) | TrackBack(0) | 開発日記

2009年10月17日

バグバグバグ、休日蒸発中

テーブル作成
  ↓
データ登録(時間かかる)
  ↓
テスト集計
  ↓        ↓
いけそうだ   データがおかしい
  ↓        ↓           ↓
ブログを書く  SQLがおかしい  プログラムのバグ発見!
  ↓        ↓           ↓
最終チェック  テスト集計に戻る   はじめに戻る
  ↓
やっぱりデータがおかしい
  ↓
ブログの記事をゴミ箱へ
  ↓
 以下略
  ・
  ・
  ・
ブログ投稿(永遠にたどり着けない
いくら頑張っても、データ的記事が投稿できない
ハマったバグを二つほど披露します。続きを読む
posted by idaten! at 23:33| Comment(0) | TrackBack(0) | プログラミング