2009年10月27日

雑多なデータ

グラフをいくつか作ったので、とりあえず張っておきます。これで終わりかな。
立直時、待ち牌の残り枚数と和了率など 立直順目と和了率など
レート別、立直時の平均残り枚数と平均順目 局開始時の(得点、順位)と和了率などレートと立直和了率の相関(待ち形、順目別)

若干ですが順位や得点が高いほど和了率が高いです。

相関については、

単騎待ちはレートが上がるほど、和了率が高い、自摸率も高い、でも放銃率も高い
両面待ちはレートが上がるほど、和了率が低い、自摸率は高い、放銃率も高い
3面待ちはレートが上がるほど、自摸率が高い

と、言えるかと。後はよく分かりません。
posted by idaten! at 21:17| Comment(4) | TrackBack(0) | 麻雀分析の結果

2009年10月26日

待ち形別の残り枚数と和了率

順目と残り枚数と和了率の関係を待ち形別にしてみました。
グラフに統一性がなくてすみません。
幺九牌のグラフを作った時のPCにはopen officeしか入ってなかったんで…

待ち形と残り枚数と和了率


1枚見え単騎待ちの和了率がいいのは
生牌より警戒されないからかと思いましたが
そもそも、幺九牌の率が高いんですね。

待ち牌の種類と和了率の関係はもっと別の集計で確かめたいんですが
このグラフだけでも強い影響があるように見えます。
posted by idaten! at 12:07| Comment(0) | TrackBack(0) | 麻雀分析の結果

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) | プログラミング

2009年10月16日

問題点と解決策

良形・愚形以外にも良立直・愚立直を判断できるポイントを見つけたいと思って分析中です。

それで試しに

待ち牌の種類とその残り枚数(見える範囲)とリーチした順目についての和了率など

を調べたんですが、このデータは1万通り以上でてくるんですよ。
まぁ、当たり前っちゃ当たり前なんですがね。
エクセル君は以外と優秀で1万行でもさくさく動いてくれますが、
私のエクセル力が不足していて、ちょっと収集が付かなくなってしまいました。


それで、だいぶ悩んだ結果
いつか使わないとダメかなと思っていた方法で解決する事にしました。
続きを読む
posted by idaten! at 19:00| Comment(0) | TrackBack(0) | 開発日記

2009年10月15日

ちょっと割り込み

なめとんBLOGでこんな記事を見つけました。

「氷室さんいらず!」
http://nametonn.blog60.fc2.com/blog-entry-151.html


たしかに、牌譜解析の数値はホントに分かりにくいですよね。
そして、偏差値はとっても分かりやすいですね。
誰でも思いつきそうなのに、誰もやってなかったのが不思議ですね。
すばらしい発想だと思います!

効果対費用(作業時間)が良さそうなので、ちょっと割り込みで実装しようと思いますが
レイアウトは苦手ですし手間もかけたくないんで、どう表示させるかが難しいです。
表示領域が厳しくなってきているので、どなたかアイデアがあればアドバイスお願いします。
続きを読む
posted by idaten! at 12:29| Comment(3) | TrackBack(0) | 日記

2009年10月13日

良形・愚形の和了率・放銃率・割合

とりあえず、出してみたデータを垂れ流します。検証はこれからです。
4麻東風で切断が無かった試合を対象に、立直時の待ち形のデータを集計しました。

「良形・愚形の和了率・放銃率・割合など」
良形・愚形の和了率・放銃率・割合
※立直回数が間違えていました。正しくは、R2000未満が134,811回、R2000以上が125,321回です。続きを読む
posted by idaten! at 14:09| Comment(7) | TrackBack(0) | 開発日記

2009年10月11日

良形・愚形の定義

さて、勢いだけでスタートした良形・愚形の分析ですが
まずは良形・愚形の定義を確認しておきます。

本家の天鳳解析では
>単騎待ち、シャボ、カンチャンは愚形
>その他は全部好形としてます
こう定義されています。

今日はこれだけ。

つづく...
posted by idaten! at 22:00| Comment(4) | TrackBack(0) | 開発日記

2009年10月10日

良形・愚形とは言ったものの

うちのサイトって、2ヶ月前から進歩してなくて
そもそも待ちの形を判定する仕組みが完成してなかったりします(汗

途中までは作ってあるんですが(はじめに作りましたが)
待ちの形は複数パターンでてくるので
バグってないか細かい所まで確かめようとするとデバッグが大変で(´Д⊂
最終的には作らないと先に進めなくなるんですけど
なんか今は、ホントめんどくさくて…


まーでも、向聴数を数える機能はデバッグが終わっていて
それを使えば「x種x牌の待ち」って情報は分かるんで
正確な待ちの形は分からなくても
だいたい近いところは分析できるんじゃないかな?きっと

たとえば
「23344」は、形で言えば両面待ちで
「2444」は、単騎+嵌張なんでしょうが
うちのルーチンだとどっちも2種7牌待ちになっちゃいます。

さて、うまく分析できなかった時のいい訳も書き終わったので
とりあえずやってみます!
posted by idaten! at 20:45| Comment(0) | TrackBack(0) | 開発日記

2009年10月09日

良形立直・愚形立直の分析

解析ツールの次の開発目標は立直時の良形・愚形のデータの追加ですが
開発はちょっと保留して、良形・愚形についての分析をしていきたいと思います。

と言うのも、場の状況を無視して良形・愚形データだけ分かっても意味が薄いと思うんですよ。
立直した順目、待ち牌の残り枚数など、場合によっては良形も悪、愚形も良し
とされる場面もあって良形率・愚形率だけではデータ不足だと思うんです。

かといって、データをたくさん出せば良いかというと、そうでもないと思いとは思いますが。

なので、いろいろ分析して自分の打牌の何をどう改善すればいいのかが分かりやすくて
形だけではない良立直、悪立直の判断基準になるデータを出せたらなぁ
なんて思います。

できればね。
posted by idaten! at 21:04| Comment(0) | TrackBack(0) | 開発日記