07/07/27 21:47:50
めざせ最強の麻雀プログラム!
層の薄いこのカテゴリーなら、将棋やオセロよりも
ずっと簡単にその地位を手にいれられるぞ!
2:デフォルトの名無しさん
07/07/27 21:51:59
>>1
乙なんだが、せめて前スレくらい貼って欲しかった…
あと、Part2よりも2本場とかのほうが麻雀らしかったかも。
まぁとにかく乙
3:1
07/07/27 21:52:05
前スレ最後のほうでルールはまうじゃん準拠でって声があがったよ
前スレ おまいら最強の麻雀プログラムしてみろよ
スレリンク(tech板)l50
まうじゃん的空間
URLリンク(www.amy.hi-ho.ne.jp)
4:デフォルトの名無しさん
07/07/27 21:52:45
前スレ
おまいら最強の麻雀プログラムしてみろよ
スレリンク(tech板)
5:1
07/07/27 21:53:34
すまんこれから貼ろうと思ってたんだ。
<参考サイト>
とつげき東北HP
URLリンク(www.interq.or.jp)
まったりプログラミング日誌
URLリンク(kmo2.cocolog-nifty.com)
あらのHP
URLリンク(ara.moo.jp)
デジタル麻雀論
URLリンク(www.jan-x.jp)
6:デフォルトの名無しさん
07/07/27 22:38:46
おれもまうじゃんdll作ってみようと思う。
C#で作りたいのだが型がどう対応するのかさっぱり分からん。
でもC#の生産性に慣れるとC++で組む気にはならんね。
調べてみるしかないか。もしやり方わかったら報告するよ。
7:デフォルトの名無しさん
07/07/27 22:41:31
> GUI表示で一局にかかる時間が多すぎるんですよ
> 一手一秒だとしても画面で動かして終局まで1分程度かかります
> 1000局の統計を取ろうとしたら、17時間かかるんです
だから、それが画面有り無しでどう関係するの?と聞いているのですが。
各自作成DLLが 一手一秒なら、画面なくてもそれなりに時間、かかるよね?
8:デフォルトの名無しさん
07/07/27 22:43:47
>>6
まうじゃんDLL作っても試行する部分がなきゃ駄目なんだって・・・
まうじゃんルールで、もっと簡単にDLL作れるメイン部分を頼む・・・
9:デフォルトの名無しさん
07/07/27 22:45:36
結局自分じゃ何もできない厨房だったわけだwwwwwwwwww
10:デフォルトの名無しさん
07/07/27 22:46:30
>>7
例えば一手100ms以内としても
まうじゃんだと画面で動く部分で時間がかかるんですよ
制限時間はある程度統計がとれる程度に制限した方がいいので1秒とは限らないです
11:デフォルトの名無しさん
07/07/27 22:50:18
> 「ノーウェイト」のモードあるじゃん。
> 一局数秒で終わる。
って書いたの読んだ?
それを試して、それでも問題だと言っている?
12:デフォルトの名無しさん
07/07/27 22:50:53
/::::i::::、:::ヽ、:::::\:ヽ:\::::::ヽ:::、::ヽ::、:',
/::i|::l::ト、ヽ::、:::ヽ:、::::::\::ヽ::::l::::ヽ::i:::i:::!
/:/:!:::!:|::ヽ:\ヽ::::、:\::::ヽ:::ヽ!::::::i::|:::!::!
!ハ::|::::i::l:|心、:ヽ::\:ヽ_\、\:::ヽ:::|!::|:|i 駄目だ こいつ・・・
i、:!:|:、N{、ヒjヽゝ\ヾイ ヒj >、ヽi:、|!:|:l
ヽ:!::トヽ ̄ l! ` ` ̄´ |::l::|:|j:,!:! 早くなんとかしないと・・・
ト、::! u j |::/lj:::!リ
ヾ、 丶 - u リイ:|リ
リヽ ‐、ー- 、_ /イ:::i
rー'"ト:l゙、  ̄ ./ , |::!
/ ヘ ヾ ヽ、 _,. ' / |:'
いままでこのAAがこれほどぴったり来るやつは見たことなかったぜ
13:デフォルトの名無しさん
07/07/27 22:52:28
>>11
どこにノーウェイトモードの設定があるんだよ?いずれにしても画面表示がある限り鈍いんだ
14:デフォルトの名無しさん
07/07/27 22:52:44
とりあえず>>8=>>10はトリップでもつけてもらわんと、叩けんじゃないか!!wwwww
15:デフォルトの名無しさん
07/07/27 22:54:01
>>8
「試行」と「思考」を勘違いしてないっすか?
思考する部分のDLLを作るんじゃないの?
16:デフォルトの名無しさん
07/07/27 22:54:43
ageがトリップみたいなもんだなw
17:デフォルトの名無しさん
07/07/27 22:55:59
思考DLLを試行するメイン部分の作成が先だと思うんでけど・・・
まうじゃん本体で思考DLLを動かすと鈍いってことです
18:デフォルトの名無しさん
07/07/27 22:56:10
なめた口調と雰囲気でも丸分かりだがな
19:デフォルトの名無しさん
07/07/27 22:58:49
じゃ今後は>>8=>>10=>>11=>>17以外はsage&丁寧な言葉づかいを心がけていただけるよう、お願い申しあげます。ww
20:デフォルトの名無しさん
07/07/27 23:01:37
>>17
ホストプログラムができたらまたどうぞ。
ルールは、非常識なものでなければ(もしくは多少の変更が効けば)、
何でもいいよ。
では、さようなら。
21:11
07/07/27 23:03:31
げ、私は、乱暴な言葉、使わんといけんのけぇ?
>>13
「まうじゃん」GUI画面の「オプション」→「進行速度」→「ノーウェイト」って
違うのか?
これデフォルトは、「速い」なんだけど。
「オプション」で「自動了解」もチェックすれば、自動対局するし、
「ログ出力」すれば結果も見れるけど。
22:デフォルトの名無しさん
07/07/27 23:08:50
>>19
11は別人だろ
23:デフォルトの名無しさん
07/07/27 23:12:37
オプションって上にあるんだな わからなかった
24:11
07/07/27 23:22:15
で、判定結果は?
#別人でしょ?、ってことじゃなくてね。
#使えそうでしょう?
25:デフォルトの名無しさん
07/07/27 23:28:06
うん
使えそうだね
26:19
07/07/27 23:54:43
>>11と>>13を間違えた…
ユルセ!!(・∀・)
27:デフォルトの名無しさん
07/07/28 00:00:49
どのルールがいいんだ?
まうじゃんルール
URLリンク(kansai2channeler.hp.infoseek.co.jp)
ルール(仮)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
28:デフォルトの名無しさん
07/07/28 00:01:32
大会系しかやってなかったせいで、標準入出力のexeファイルしか作れない件。俺ヨワス
テンパイチェックと点数出力だけはもうすぐできそうだけど
29:デフォルトの名無しさん
07/07/28 00:02:30
句点「。」がないのも特徴。
30:デフォルトの名無しさん
07/07/28 00:03:42
>>27
ホストプログラムがある方。
31:デフォルトの名無しさん
07/07/28 00:05:25
>>28
どういうルールに基づくんでしょうか??
32:デフォルトの名無しさん
07/07/28 00:08:10
あと、
・日本語の読解力が無い
・まうじゃんのノーウェイトモードすら見つけられない程の低スキル
も特徴に加えてくれ。
33:デフォルトの名無しさん
07/07/28 00:08:14
>>31
あー、自分のAI用のだよ。紛らわしくってごめんね
>>28の書き込み見ればわかると思うけど、ホストプログラム作れるほどの能力ないや、dllとかわかんないし
一応、東風荘第一ルールに基づいて組んでる。クイタンありなしと裏ドラありなしはdefineの部分で変更可能
別に可変にすればいいだけだからとりあえず組んじゃってる
34:デフォルトの名無しさん
07/07/28 00:11:42
>>32
・麻雀をまったく知らない
も追加
35:デフォルトの名無しさん
07/07/28 00:11:52
>>33
C/C++の場合、他者と対戦しようと思ったらDLLがいちばん簡単、それ以外はもっと複雑になると思われ。
36:デフォルトの名無しさん
07/07/28 00:12:36
形になってきている>>33さんにならって東風荘第一に統一しますか?
これなら相互比較することで点数計算の間違え等を発見できますから・・・
37:デフォルトの名無しさん
07/07/28 00:13:18
>>34
・牌ではなく駒と呼ぶ
も追加ね!
38:デフォルトの名無しさん
07/07/28 00:17:45
>>36
お前が>>33を見習わなきゃいけないのは
>別に可変にすればいいだけだからとりあえず組んじゃってる
↑ここだ
39:33
07/07/28 00:18:11 BE:364795272-2BP(2)
ぁぅ、C#で組んでる。C++とかのがいいのかな
そこらへんはよくわからないからちょっと聞くかも。できるだけ自分で調べるけど
とりあえずこういう企画は一人が組みだせばみんな始めてくれるような気がしたから、
自分プログラミング全然だけど組み始めてみた。続いてくれる人いるならうれしい
役判定が作業過ぎて入力が面倒だよぉorz
40:33
07/07/28 00:19:08
あう、beはずし忘れたorz
41:デフォルトの名無しさん
07/07/28 00:19:36
お前ら弱いものいじめはやめろよw
ところで、麻雀の確率とかからの検証とかの論文とかを
いっぱい紹介したサイトがあったと思うんだけど
どこだったっけ?
誰かブクマしてない?
42:デフォルトの名無しさん
07/07/28 00:19:45
>>39
C#でも、DLLは作製可能
43:デフォルトの名無しさん
07/07/28 00:21:40
ちょっと趣旨が違うんだけど、
麻雀牌にICチップ埋め込んだらいろいろできそうだね。
これをフリーで悪用されるデメリットはあるけど、
・自動点数計算 .. おすすめ★★★★★
・自動牌譜記録 .. おすすめ★★★
・牌効率分析画面 . おすすめ★★★★
・待ち牌画面表示 . おすすめ★★★★★
・向聴数画面表示 . おすすめ★★★
・ツモ切りLED点灯 おすすめ★★★★
・ツモ予告演出 . . . おすすめ★★★★★
wktkしてきた。
44:デフォルトの名無しさん
07/07/28 00:22:30
>>33
beの紹介文にいろいろ突っ込みどころがあるのは置いとくとして…
>とりあえずこういう企画は一人が組みだせばみんな始めてくれるような気がしたから、
>自分プログラミング全然だけど組み始めてみた。続いてくれる人いるならうれしい
その意気だ!!宇宙麻雀みたいにグダグダ言ってるやつよか1億倍上!!ガンガレ!!
45:デフォルトの名無しさん
07/07/28 00:24:20
>>43
画像認識で十分いけると思うんだよね
これならイカサマ無いし今の全自動卓にも
アドオン可能だし
伏せ牌がコンピュータにわかるってのは
やっぱりイヤだな
46:33
07/07/28 00:25:04
>>42
ならこのまま組み続けていいのかな、ありがと
>>44
beは突っ込んじゃだめっ
とりあえずがんがる、できたらソースうpしたほうがいいのかな
47:デフォルトの名無しさん
07/07/28 00:25:45
>>46
うpキボン
48:デフォルトの名無しさん
07/07/28 00:27:03
URLリンク(sns.atfb.jp)
(・∀・)ヘー
49:デフォルトの名無しさん
07/07/28 00:27:04
まうじゃんで、数千回試合の統計はどうやって取るんだ?
50:43
07/07/28 00:29:09
>>45
なるほど。コストかからなそうだね。
43は需要なさそうだから世界に1台だと億いきそうだなぁ。
51:デフォルトの名無しさん
07/07/28 00:29:13
それはもっと形になってきてからでいんじゃない?
誰かのdllにそういうのを出力する機能をつければおk
52:デフォルトの名無しさん
07/07/28 00:31:33
また、他力本願なレスだな。 可能かどうかもわからないのに。
53:デフォルトの名無しさん
07/07/28 00:34:56
全スレですべてのメンツ分解を求めるソースうpしたぞ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
54:デフォルトの名無しさん
07/07/28 00:36:16
間違えた
一種の数牌のみ0枚から14枚までのあがりの可能性のあるやつだ
55:デフォルトの名無しさん
07/07/28 00:36:45
>>53
で?
ゴミはイラナイから
56:11
07/07/28 00:39:09
ううう。
>>21で、
> 「ログ出力」すれば結果も見れるけど。
と書いたのに・・・
「ゲーム開始」でgrepするとこんな感じ。
mm.log(1): 07/27/07 22:08:46 ゲーム開始
mm.log(827): 07/27/07 22:09:06 ゲーム開始
mm.log(1524): 07/27/07 22:09:22 ゲーム開始
mm.log(2496): 07/27/07 22:10:19 ゲーム開始
終わりはこんな感じ。
<ゲーム終了>
1位 なきのりう 34400点
2位 面対子 31600点
3位 ぴこたん 23000点
4位 Dummy K.I. 19000点
集計が大変とか、ログが大きそうとか、そういう問題?
57:11
07/07/28 00:41:37
あがりはこんな感じ。
・・・
・・・
Dummy K.I. : <捨て牌 : 発>
なきのりう : <捨て牌 : 白>
ぴこたん : <捨て牌 : 二索>
面対子 : <捨て牌 : 東>
Dummy K.I. : <ロン>
四五六七八九④⑤⑥ⅢⅢ東東
ドラ : 四索
裏ドラ : 九筒
<役>
リーチ 1飜
40符 3飜 1300点
<点数>
ぴこたん : 23000 + 0 = 23000点
面対子 : 32900 - 1300 = 31600点
Dummy K.I. : 15700 + 2300 = 18000点
なきのりう : 35400 + 0 = 35400点
58:デフォルトの名無しさん
07/07/28 00:49:12
>>53
そのテーブルの価値は、砂粒1つぐらいの意味しかない。
俺はそのテーブルの必要性を感じていない。
59:デフォルトの名無しさん
07/07/28 00:56:40
>>58
>砂粒1つぐらい
すげー過大評価しすぎwwwww
こんな糞テーブルの存在意義なんて
砂粒すら満たないよ
60:デフォルトの名無しさん
07/07/28 00:57:56
>>56
せめて東風荘形式でログだせよ
それ以上にはやくソースだせよ
61:デフォルトの名無しさん
07/07/28 00:59:27
なんだかまうじゃんのDLL作りになりそうだな。既存のもので他にある?俺は思いつかないな。
受けるデータは個々の点数と捨て牌、ドラ、自分の手牌、ツモでOK?
で出力は捨て牌とリーチ、鳴き(ロン)でOK?
62:デフォルトの名無しさん
07/07/28 01:02:00
MJSimが有る、説得すればきっと出してくれる。 たぶんな
63:11
07/07/28 01:06:55
>>60
言っている意味が分からないのだが?
もっと詳しく説明してくれるかい?
>>56、>>57は、「まうじゃん」の設定で、「まうじゃん」がログを出力してくれる、という話だよ?
既に「まうじゃん」にそういう機能がありますよ、と私は言いたいのだが、
なにがご不満ですか?
64:61
07/07/28 01:07:48
ネット麻雀に接続させて対局するとかどうなんだろうね?
場所によっては規約にかかりそうだけど
65:デフォルトの名無しさん
07/07/28 01:26:25
なんか>>53への反応見てるとうpする気なくなるな、なんか厳しそう
それでもすると思うけど
66:デフォルトの名無しさん
07/07/28 01:31:34
うpしたのが53じゃなかったらこんな冷たい反応じゃなかったよきっと
67:デフォルトの名無しさん
07/07/28 02:11:24
>>64
コンピュータも参加できるネット麻雀インフラを整えて
公開すればいいじゃないか
68:デフォルトの名無しさん
07/07/28 02:23:05
>>53みたいなウンコプログラムなら
反応は冷たいよ
69:デフォルトの名無しさん
07/07/28 03:48:15
>>62
前スレでアップされたやつ落とせた?
すぐに落とせなくなっていた。どうしたのだろうか。
>>63
おれは>>60ではないのだが、東風荘形式であれば、すでにたくさん存在する東風荘のツールが使えるのがいいと思う。
牌譜の再生、成績統計、分析ツールの作成が必要ない。
MJSimのAIを作る人が出てきたのは、そのためじゃないかな。
>>33
>>6とは別人?
ホストも新規にC#(.NET)で作るの?
(>>6と同じ人なら)C#でDLLを作れるけど、例えば、まうじゃんのDLLを直接は作れないと思うので、その場合は、
まうじゃん本体→ブリッジ的なDLL(これはC++で作る)→C#のDLL
みたいにする必要はあるな。
70:デフォルトの名無しさん
07/07/28 04:04:10
C#でホスト作ったらどうかな?
.NetのDLLもネイティブDLLも読み込む形にしやすいと思う。
71:デフォルトの名無しさん
07/07/28 04:10:28
冷静に考えたら、手牌パターンって あんまり数が多くないよね
せいぜい数万パターンにしかならないんじゃないか?
色違いや字牌を同一視したり上下逆にすれば
72:デフォルトの名無しさん
07/07/28 04:18:15
前スレで書いたよ
数字19、2~8、白発中、東南西北のコーツトイツは同一視し
トイツ 8通り、 順子 21通り、コーツ8通りで全部登録しても5Mバイトしか食わない
国士無双、緑一色、四槓子の判定をまずやって、
三槓子、チートイツ、三色同刻、場自風の加算を求めてから
データベースを引けばいいんだ
73:デフォルトの名無しさん
07/07/28 04:25:48
>>72
上がり形のみの組み合わせじゃなくて
74:デフォルトの名無しさん
07/07/28 04:29:15
>>73
一種の数牌だけで40万あるぞ
849 名前:287[sage] 投稿日:2007/07/25(水) 10:56:42
>>846
やってみたけど、微妙に結果が違うな。なんだろ。
面子の組み合わせは保持してないが、こういう結果になった。
a) 一種類の数牌で、ルール上出現する(各4枚以下、計14枚以下)組み合わせの数
405350
75:デフォルトの名無しさん
07/07/28 04:40:42
>>74
たとえば数牌が2枚のときは 意味の上での組み合わせは
2つの牌の距離分、つまり8パターンしか種類は無いよね。
アルゴリズム上、1,8 も 2,9 もほぼ同一視できるという考え。
牌の組み合わせ数ではなく、牌同士の距離のパターンで
考えればパターン数はぐっと減る
76:デフォルトの名無しさん
07/07/28 04:53:02
距離が0なら対子、1なら塔子、2ならカンチャン、3ならスジ、・・・
って感じでパターン分けすれば 思考ルーチンにもそのまま使える情報に
なる。多分なると思う。なるんじゃないかな。
77:デフォルトの名無しさん
07/07/28 04:59:37
冷静に考えたら、これ ただの微分情報のDB化だな。
パターン認識の初歩だた。 何も目新しくなかった・・・orz
78:デフォルトの名無しさん
07/07/28 07:31:48
>>前スレ349氏
今朝はじめてこのスレに来た者です。
当方、AI作成中でして、氏のソースをぜひ参考にさせていただきたいのですが
再アップお願いできないでしょうか?
79:6
07/07/28 09:00:58
>>69
別人です。
今アルゴリズム考えているのでまだ全然ソース書いてないけど。
自分以外にC#使ってる人がいるのは心強いです。
80:デフォルトの名無しさん
07/07/28 09:58:16
AI書く上でC#がC++より生産性高いってどのあたりの話?
GUIとかならC#のうまみは理解できるんだけど。
81:デフォルトの名無しさん
07/07/28 10:23:03
deleteの存在だけで十分だろ。
82:デフォルトの名無しさん
07/07/28 10:49:54
>>78
349のうpしたやつ持ってるけど
オリジナルの部分は、↓これだけかと
//ひたすらツモ切り
case MJMSG_TSUMO:
//ツモ切りする
Player->Action.Type = MJACTION_SUTEHAI;
Player->Action.Sutehai = 0;
break;
83:デフォルトの名無しさん
07/07/28 11:43:55
他者が指したとき、ツモったときにそれぞれロンとポンとチーとカン、カンのフラグと
牌番号0-33を渡せば麻雀プログラムって出来るよね?
84:デフォルトの名無しさん
07/07/28 12:05:01
自ツモ 0-33 、 ロン(カン)出来る牌 34-67 、 チー出来る牌 68-101
と番号づければツモとそうでない状態が統一的に扱えるぞ
85:デフォルトの名無しさん
07/07/28 12:40:55
マンズ:1~9
ピンズ:11~19
ソーズ:21~29
のように10とか20欠番にして数字と1の位そろえた方がプログラム組む上で直感的でわかりやすくないか?
それも16進数でやれば違った種類の牌はつながらないから、
メンツの分解を統一的なアルゴリズムでやれてプログラムが簡単になると思うのだが。
マンズ:0x11~0x19
ピンズ:0x21~0x29
ソーズ:0x31~0x39
東南西北:0x41,0x51,0x61,0x71
白発中:0x81,0x91,0xA1
みたいなかんじで。
(字牌がとびとびなのはメンツ分解のときに順子を作らないって判定をプログラムに組み込まないようにしたいから)
86:デフォルトの名無しさん
07/07/28 13:01:25
>>85
そんな事は各人がやればいいことで、管理元からの情報を変換してやればいいだけだな
内部の情報まで統一する必要は無い
87:デフォルトの名無しさん
07/07/28 14:23:28
>>86
>>84にレスしただけだ。偉そうに分かり切ったことを。
88:デフォルトの名無しさん
07/07/28 14:42:48
前スレ349氏は消えたのかな。消える宣言してたからな。
MJSimは落とせたんだが、作者は今どうしてるのだろうか。349氏によれば信頼のおける人とのことだけど。
まとめサイトみたいなの作って、そこにこういう実行ファイルなりソースなりを置くようにしたいんだけど作者の許可を得る方法がないからなあ。
89:デフォルトの名無しさん
07/07/28 14:44:27
でもとりあえず同じような処理はライブラリ化してみんなで使えるようにしたほうがいいよね
90:86
07/07/28 16:23:10
>>87
すまんね。だれが宇宙麻雀論の人なのか分からんので
91:デフォルトの名無しさん
07/07/28 16:24:02
宇宙麻雀論の人ってリバーシ1の事?
92:86
07/07/28 16:34:15
>>91
リバーシ1の事は知らないけど。「=」なの?
93:デフォルトの名無しさん
07/07/28 16:50:56
>>92
リバーシ1はコードにforeを使う奴
94:86
07/07/28 16:55:28
>>93
あぃ、了解。
話戻すけど、MJSimはCOMが鳴きたい牌があるときは捨て牌を知らせる時に同時に知らせてるの?
捨て牌毎にメッセージ受け取って帰す形?←こっちが一般的?
95:デフォルトの名無しさん
07/07/28 21:03:06
自分がツモった牌 0
右が捨てた牌 1
対面が捨てた牌 2
左が捨てた牌 3
と駒番号を渡して、思考プログラムの応答を待てばいいと思うぞ
ツモも捨て牌も番号の違いしか無くなる
ポンやチーやドラや牌列の得点は尋ねると教えてくれるようにする
96:デフォルトの名無しさん
07/07/28 23:19:10
ィ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙t,
彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ
イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i,
t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ i,;;;;;;!
゙i,;;;;t ヾ-‐''"~´_,,.ィ"゙ ヾ;;f^! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ト.;;;;;》 =ニー-彡ニ''"~´,,...,,. レ')l. < おまえは何を言っているんだ
t゙ヾ;l __,, .. ,,_ ,.テ:ro=r''"゙ !.f'l. \____________
ヽ.ヽ ー=rtσフ= ; ('"^'=''′ リノ
,,.. -‐ゝ.>、 `゙゙゙゙´ ,' ヽ . : :! /
~´ : : : : : `ヽ:. ,rf :. . :.: j 、 . : : ト、.、
: : : : : : : : : : ヽ、 /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、
:f: r: : : : : : : : !丶 r-、=一=''チ^ ,/ !:: : :`丶、_
: /: : : : : : : : :! ヽ、 ゙ ''' ''¨´ / ,i: : : l!: : : : :`ヽ、
〃: :j: : : : : : : ゙i `ヽ、..,,__,, :ィ":: ,ノ:: : : : : : : : : : : :\
ノ: : : : : : : : : : :丶 : : ::::::::: : : : /: : : : : : : : : : : : : : : :\
97:349
07/07/29 00:09:58
よし、今から、サンプルAIのソースつきMJSim公開してしまうぞ。
初歩的なAIだけど、それなりに強いと思う。
みんなGETしてくれ!
何故かって?、ここ数日で新しい方法論のAIアイデアが出てきて
作りたくなったから、尚且つ、対戦相手がいるといいから。
問題は時間だが・・・、今度は最速+戦略を目指そう。
MJSim自体のメンテは出来ないので、あるがままで使うしかない。
それで文句があるやつは無視。
点数計算のミスは極僅かだろう、その僅かが気になるAIなど当面
誰も作れないと思われ。私も無理だ。
MJSimの作者さん。もし見ていたら許してくださいませ。
98:349
07/07/29 00:17:57
MJSimのDLLインターフェースは簡単である。
詳細はAIInterfaceV1.txtを参照。
インターフェースは簡単だが、渡されるデータ構造はそれなりに複雑である。
単純にいって、
1.コール簡単、データー複雑
2.コールが複雑、個々に渡されるデーターは簡単
の2種類だが、結局複雑さはどちらも同じ麻雀の処理は複雑なもの。
作製はMJSimAI.cpp内のCASE:部分を書くだけ。
case MJMSG_TSUMO:
がツモった時の処理。
case MJMSG_REACTION:
が他家が棄てた時の処理
自分が南家の時。
親が棄てたら case MJMSG_REACTION: が呼ばれ。
ツモが来たら case MJMSG_TSUMO: が呼ばれ
自分のス棄て case MJMSG_REACTION: が呼ばれる。
西が棄てたら case MJMSG_REACTION: が呼ばれ。
北が棄てたら case MJMSG_REACTION: が呼ばれ。
この繰り返しです。
case MJMSG_GAMESTART:break; //東風戦開始時
case MJMSG_GAMEEND:break;
case MJMSG_KYOKUSTART:break; //局開始時
case MJMSG_KYOKUEND:break;
は試合の開始や終りです。
99:349
07/07/29 00:23:41
いろいろ入ったMJSim サンプルAI付き
↓
URLリンク(uproda11.2ch-library.com)
MJSimを実行すれば、東風荘の麻譜データーが出力される。
100:349
07/07/29 00:24:17
PW = MJSimEXE 入れ忘れ。
101:349
07/07/29 00:38:14
このサンプルAIは、C++コードだが、OOPしていない。
OOPしたい場合は多少のテクニックが必要。
ネット上でも探せば見つかるだろう。
私は、CASE:文から先をOOPとして作製している。
102:349
07/07/29 00:42:44
上のはミス・・・・・・
ソース見たら、特別テクニックなど必要なかった。すまぬ。
(何かと思い違いをしたようだ・・・・)
103:名無しさん@そうだ選挙に行こう
07/07/29 00:52:44
キタワ*・゜゚・*(n‘∀‘)η*・゜゚・*ァ !!!!!
あの頃の議論ができるなんて久し振りで、
ウレしすぎる!!!!!!!!!!
104:78
07/07/29 00:58:09
>>349
うpありがとうございます。
私も全力を挙げて作成いたしますので、できあがったらぜひ対戦しましょう!
105:名無しさん@そうだ選挙に行こう
07/07/29 01:13:25
>>99 = 前スレ349
ありがたくいただきますた。
>>90
やつは今のところ100%ageているぜ。
106:名無しさん@そうだ選挙に行こう
07/07/29 01:17:32
そろそろ逃げ出す気がするけどね。
107:名無しさん@そうだ選挙に行こう
07/07/29 01:19:00
やつは厚顔無恥だからそれはない
108:名無しさん@そうだ選挙に行こう
07/07/29 01:23:59
昨日おれはゾンビを相手にするような感覚を覚えたぜw
どんなに攻撃してもダメージを感じてないような。
109:名無しさん@そうだ選挙に行こう
07/07/29 01:25:03
>>99
MJSim自体のソースはないですか?
110:名無しさん@そうだ選挙に行こう
07/07/29 01:26:17
「全部登録しても5Mバイトしか食わない」をNG登録すればよい
111:349
07/07/29 01:28:41
誰か、やってみてもいいアイデアその1
自分の手から可能な役の点数と可能性を計算して期待値をだし、最良を選ぶ。
リャンシャンテン以下が可能ならば、リャンシャンテン以前と以下で
ロジックを変える方法。
オセロで言う所の完全読みに入る前と後のようなもの。
(完全読みとは性格が違いますが)
112:349
07/07/29 01:30:16
>>109
他者のソースが入っているので、私には絶対に無理です。許可取れないし。
もうHPも何もなくなっていますし。
113:349
07/07/29 01:33:10
誰か、やってほしいアイデアその2
・モンテカルロ法による危険牌の割り出し
・モンテカルロ法による山牌の予測。
今度組み込みたいかも。
114:名無しさん@そうだ選挙に行こう
07/07/29 01:40:38
まずはなにより役の点数を求めることだ
期待値が出せん
115:349
07/07/29 01:41:29
やってみたいアイデアは秘密でつ。
うう~~仕事が忙しくて寝ます。おやすみ~
116:78
07/07/29 01:54:02
>>113
モンテカルロによる当たり牌や山牌予想は大筋でできてますよ。
比較対象が少ないので評価は曖昧になりますが
山牌読みは少なくとも「見えてる枚数での予想」より高精度で読めます。
危険牌読みは、麻雀打ちの直感の範囲内では、そこそこ的を得た
予想ができているように見えます。
現在は乱数に擬似乱数を用いているのですが、この乱数に工夫を加えることで
さらに高精度予想ができるのでは?とも考えております。
精度向上に+αでもっともっとネタがあるのですが、それは出し惜しみということでw
117:86
07/07/29 11:49:41
>>99落としました。Cは暫くやってないので時間掛かりそう・・・
>>105再び了解w
とりあえずは見えている牌をカウントしてやる&勝手読みで相手の手持ち牌を求める
位しか浮かばないなあ。自分と似た思考になるのは間違いない
不明の牌から得点の高くなる可能性のある牌を見つける、とか?(速度が・・・)
118:名無しさん@そうだ選挙に行こう
07/07/29 12:43:07
>>98
>1.コール簡単、データー複雑
>2.コールが複雑、個々に渡されるデーターは簡単
まうじゃんだと、誰が何をしたかのみをパラメータにセットした状態で呼び出され、わかりやすいのだが。
MJsimの場合は、常に卓全体とプレイヤー全員の状態がそのまんま送られてきて、
誰が何を捨てたか知るにも、牌を捨てたAIの河の配列を見に行かないといけないみたい。
・・・まあ、それもある意味わかりやすいとい言えんこともないか。
119:名無しさん@そうだ選挙に行こう
07/07/29 12:47:27
>>118
ソースに目も通さずにこんなこと聞くのはどうかと思うけど時間がないので
その方式だと、誰かがリーチしたときにどれが安全牌なのかを確かめるときに、途中で鳴きが入ると厳しくない?
120:名無しさん@そうだ選挙に行こう
07/07/29 13:02:47
>>119
>鳴かれた牌はマイナスの値になる。
>-19は19(9ピン)が鳴かれた。
だってさ。
MJSim.hより。
誰に鳴かれたのかはわからんみたいね。
121:名無しさん@そうだ選挙に行こう
07/07/29 13:34:04
おまいらMJSim開発前に点数計算しろよ最低二人は一致しないと使い物にならない
122:名無しさん@そうだ選挙に行こう
07/07/29 13:34:46
キタヨキタヨー
123:86
07/07/29 13:38:17
誰が鳴いたか分からないってことは、効率重視で行く事になりそうかなぁ
ブンブン丸は好みじゃないんだけどな。
124:名無しさん@そうだ選挙に行こう
07/07/29 13:48:05
「最低二人は一致しないと使い物にならない」はNGワード
125:名無しさん@そうだ選挙に行こう
07/07/29 13:54:41
この板もIDあればいいのに
あぼんしやすい
126:名無しさん@そうだ選挙に行こう
07/07/29 13:56:26
おまいら簡単明瞭な設計したよ これでやってみるか
ホストから送られるデータ
(a, b)の二つのペア
a=0 ツモ 、a=1右側 a=2 中央 a=3左側 a>=4 他者のあがりなど、bは牌番号をセットされる
例えば、対面が1を捨てたならば、(2, 1)が送信される
ホストへ返却するデータ
(a, b)の二つのペア
a=0 手牌を捨てる 、a=1 ロン a=2 ポン a=3 カン a=4 チー a>=5 オプションを尋ねる(ドラなど)、bは牌番号をセットされる
ホストが聞かれると答えるもの ドラ表示牌、自風、場風、他者のポン、チー状態、得点など
127:名無しさん@そうだ選挙に行こう
07/07/29 13:58:10
確かにそのとおりだな。
「宇宙麻雀理論」とか「リバーシ1」とかいう奴のカキコミは
完全に消し去りたい。
実力もないくせにスレをどんどん汚していく。
128:名無しさん@そうだ選挙に行こう
07/07/29 13:59:18
「(a, b)の二つのペア」もNGワードしておく
129:名無しさん@そうだ選挙に行こう
07/07/29 13:59:38
飽きるか成果が出るまで好きにやらせとけ。どうせ元々過疎スレなんだし。
130:名無しさん@そうだ選挙に行こう
07/07/29 13:59:58
入出力が単純な方がいいと思うんだよ 126のようにやれば、入出力はフラグと一変数のみですむ
131:名無しさん@そうだ選挙に行こう
07/07/29 14:04:43
点数計算が出来れば、ホスト部分は簡単に作れると思うよ・・・
132:名無しさん@そうだ選挙に行こう
07/07/29 14:08:19
>>131
入出力が単純でもルールを自分で定義してもいいから、早く作ってくれ。
133:名無しさん@そうだ選挙に行こう
07/07/29 14:12:49
NGワードと聞くと某クイズ番組を思い出す俺はどうしたら・・w
134:名無しさん@そうだ選挙に行こう
07/07/29 14:16:18
高速化のために、連続ポンなどで手番が回ってこなければ、ホストからの送信は無しにして
自分が動かせる(捨て牌やポンなど)ときのみデータを送信するようにした方がいいな
オプションで残り牌数や、他者の状態を聞けるようにすればいいので
135:名無しさん@そうだ選挙に行こう
07/07/29 14:22:50
>>134
賛成だ。早く作ってくれ。
書き込むのは出来上がってからでいいよ。
136:名無しさん@そうだ選挙に行こう
07/07/29 14:33:29
今日、国士無双13面待ちを達成した俺様が見学にきましたよ。
137:名無しさん@そうだ選挙に行こう
07/07/29 15:01:34
>>136
待ちを達成したってことはアガれなかったのね
138:名無しさん@そうだ選挙に行こう
07/07/29 18:48:50
じゃあ国士だけ狙うDLL書くとするかw(ウソですすいません)
139:名無しさん@そうだ選挙に行こう
07/07/29 19:21:52
マンガン縛り(7700は8000で)DLL
なんて作ったら面白そうだな
140:名無しさん@そうだ選挙に行こう
07/07/29 19:58:06
山と手牌を入れ替えるDLLはなしだろうか・・・
141:名無しさん@そうだ選挙に行こう
07/07/29 20:02:19
それなら爆弾DLLとか千鳥DLLとかできるじゃないかw
142:デフォルトの名無しさん
07/07/29 20:54:45
天和仕込んだらちゃんと天気の話題を振るんだぞ
143:デフォルトの名無しさん
07/07/29 21:24:48
賽の目は2の2でw(そろそろ止めようw
144:デフォルトの名無しさん
07/07/29 21:39:03
いつのまにここは哲也スレになったのか…
2の2失敗したら自主的に引退するAIキボンヌ
145:デフォルトの名無しさん
07/07/29 21:45:00
>>138(俺)、>>139は使い道は有りそうなんだけどな
146:デフォルトの名無しさん
07/07/29 21:56:28
>>144
PC「ボウヤ オレハ ジュクカラ キエルゼ」
そのAI最高なんだけどw
147:デフォルトの名無しさん
07/07/29 22:09:12
九蓮上がったらマイドキュメントとデスクトップのファイルを全て
nyに放流してからHDDフォーマットしないと駄目だろ
148:349
07/07/29 22:56:51
>>123
遅レス、他家のフーロが見えて、誰から鳴いたか見えるようになっている。
これで分かる。
149:349
07/07/29 23:03:22 0
MJSimはジャン卓そのものがデーターとなっている感じ。
>>116
いいね~~、ぜひ実装して検証してみたい。AI作るのが先だけどね。
>>118
データーアクセスのための、基本ルーチン出来ると思う、と言うかあります。
公開してみようかな。
150:デフォルトの名無しさん
07/07/29 23:32:36 0
おまいら基礎が大事だ 役、基本点がもとめられずに思考できるかよ
共通ルーチンを上げてくれ
151:349
07/07/29 23:43:51 0
>>150
>おまいら基礎が大事だ 役、基本点がもとめられずに思考できるかよ
私なら出来るぞ、できないのか?
>共通ルーチンを上げてくれ
君の望むルーチンは皆無だ、諦めろ。
152:デフォルトの名無しさん
07/07/29 23:53:06 0
>>150
ストレートに言おう。
何かが出来なければXXができないと、いいわけを言う人間は、もっとも無能な人間が言う言い訳だ。
他のせいにして自分がさも出来るのに、他のせいで出来ないという見苦しい言い訳だ。
他人のせいにすると楽だからな。
世のAIの殆どは、役も基本点も全然無いか、極一部だけ持っているに過ぎない。
それでも、立派にAIは作製可能である。
153:デフォルトの名無しさん
07/07/29 23:53:17 0
>>151
ツモ切りとか、ランダム打ちは出来るけどさ・・・
点数出せなきゃ最強のやつは作れんよ
動くやつは誰でも作れるが
154:デフォルトの名無しさん
07/07/29 23:59:41 0
>>150
アドバイスをやろう。
役はリーチ、ピンフ、タンヨウだけでやれ。
ついでに役牌を考慮しただけで、立派なAIが作製できる。
もちろん符も計算するな。
もしこれで、君のAIが出来れば、立派に動作する。
みんなも感心するAIになる可能性が有る、すぐ作れ。
155:デフォルトの名無しさん
07/07/30 00:01:03
MJSimのAIより、東風荘第一の点数を正確にもとめることが先決
156:デフォルトの名無しさん
07/07/30 00:01:13 0
>>153
言いから動くやつを作れ!
最強はそれから考えろ!!!!!!
これ以上、最強を言い訳にするな!!!!!見苦しい!
157:349
07/07/30 00:02:37 0
>>155
一歩も踏み出せない君は、何をやっても人生の負け組み確定だ。
158:デフォルトの名無しさん
07/07/30 00:03:22
>>152>>156>>157
無駄
159:デフォルトの名無しさん
07/07/30 00:23:41
おまいらここみてくれるか?
メンゼンでの役の確率が計算してあるがそれぞれ一致してない・・・
役を正確に求めることと、その確率を求める事は困難であるといえると思う
複数人での一致を確かめて進めるべきだと思う
URLリンク(www.ix3.jp)
URLリンク(majanjan.com)
URLリンク(homepage2.nifty.com)
160:デフォルトの名無しさん
07/07/30 00:29:05
アドバイスにもう一つ。
正確な点数計算はとても複雑で計算時間も掛かる、君が望むような速度は不可能だ。
もちろん、魔法のテーブルなど現在の環境では不可能だ。
結局は限定した内容で最良を考えるしかない。
この、限定された環境で最良を考えるのが楽しい。
君はテーブルをガンガンスペックダウンしたではないか。
何故、点数計算はスペックダウンしないのだ?
最強など誰も作れない、でも、作ってみる事がいい。
MJSimのサンプルAIを理解して、改良が出来れば。
それで立派に麻雀AIが作れるようになる。
必要ならアドバイスもしよう、説明もしよう。
・・・・うぐ、上で349って出てしまった、バレバレ orz
161:デフォルトの名無しさん
07/07/30 00:31:07
例えば、こんなに違う
七対子
3.2% (ひいいの麻雀研究)
2.4% (勝ち組の麻雀 理想雀士をめざして)
11.7% (麻雀を科学する 数理と確率による麻雀の必勝法)
ジュンチャン
0.35% (ひいいの麻雀研究)
0.4% (勝ち組の麻雀 理想雀士をめざして)
0.05% (麻雀を科学する 数理と確率による麻雀の必勝法)
162:デフォルトの名無しさん
07/07/30 00:31:13
>>159
まったく思わん。
違ってて当然、理由も有る。理解できないだろ?
163:デフォルトの名無しさん
07/07/30 00:32:06
>>159
で、だから何?お前が指摘すれば
つーか、ウンコな指摘しかできないウンコさんが
いなくていいから出て行ってもらえる
164:デフォルトの名無しさん
07/07/30 00:33:40
麻雀知らない奴に言われてもねぇ…寝言は寝てから言えとしかアドバイスできないな~
ちなみに>>159は今後コテとトリップ付けろよ、NG指定しやすいから。
165:デフォルトの名無しさん
07/07/30 00:34:38
>>160
でも、テーブル方式は爆発しない方法で作れるよ
166:デフォルトの名無しさん
07/07/30 00:34:55
>>161
データーを取る環境と母体が違うから、違ってて当たり前。
167:デフォルトの名無しさん
07/07/30 00:35:55
>>165
理解してまつ。
168:デフォルトの名無しさん
07/07/30 00:35:58
コテは「宇宙麻雀雀士」ってしろよ、馬鹿にしやすいから
169:デフォルトの名無しさん
07/07/30 00:38:17
数字19、2~8、白発中、東南西北のコーツとトイツは同一視して
データベースを作れば5Mバイトしか食わない
例外として、国士無双、緑一色、四槓子の判定をやって
三槓子、チートイツ、三色同刻、場自風の役の加算を求めてデータベースを引けばいい
170:デフォルトの名無しさん
07/07/30 00:40:40
宇宙麻雀雀士さん(君?)、君のテーブル議論は、みんなにいい刺激になったんだよ。
本人は理解していないかもだが、分かる人には分かっていた。ありがとう。
171:デフォルトの名無しさん
07/07/30 00:41:03
>>169
もういいよ、ウザイだけだから。
ソースも出さずに、使えもしないウンコ仕様だけ
書かれても、スレが汚くなるだけだから
172:デフォルトの名無しさん
07/07/30 00:41:54
MJSimだって正確な点数を計算しているかどうか分からないじゃないか
もし間違っていたら、強くないのに強いと判定されてしまう
確認のために複数人の一致は必要
173:デフォルトの名無しさん
07/07/30 00:45:33
〃∩ ∧_∧
⊂⌒( ・ω・) うん そうだね
`ヽ_っ⌒/⌒c
⌒ ⌒
174:デフォルトの名無しさん
07/07/30 00:46:59
>>172
ついに他人の悪口を言い始めた。
だから、おまえもMJSimを動作させて、お前が言う
「複数人の一致」のために点数計算の確認して
やれって言ってるんだよ。
それが出来ないなら、このスレに2度と来るな
175:デフォルトの名無しさん
07/07/30 00:50:42
>>169
もっと効率いい方法があるだろ。
そもそも、>>169の方法だと
大して多くは無いが無駄だらけで気分が悪い
176:デフォルトの名無しさん
07/07/30 00:55:38
>>175
俺、役確定や上がり確定じゃなくて、手分析でテーブル使うぞ。
177:デフォルトの名無しさん
07/07/30 01:00:28
>>176
オレもそうだよ。ていうか役判定にだけテーブル使うなんて
もったいなさすぎ
178:デフォルトの名無しさん
07/07/30 01:01:41
>>173
かわいいな
179:デフォルトの名無しさん
07/07/30 01:04:04
>>177
やっぱりそうか、考える事は同じだな。
しかしだ、実装で差がつくと思う。 どんな実装になるか興味があるな。
180:デフォルトの名無しさん
07/07/30 01:07:11
数牌のメンツ分解と役判定を高速に出来れば、次のように手が求められます
14枚の牌を調べ、役が出来ていたらbreakして、
役が出来ていないなら見えていない牌の中から、ランダムに一枚加えて
どれか一枚を捨てたら、役が出来るならその駒に役の得点を加算する
さらに、もう一枚ランダムに加えて、どれか二枚を捨てたら
役が出来るなら、その駒たちに役の得点/2を加算する
これを終局まで試行する
そして制限時間がある限り、はじめからやり直して得点の加算を続ける
すると、役が揃いやすい捨て牌に得点が集まります
181:デフォルトの名無しさん
07/07/30 01:10:04
>>180
糞仕様の話はいらないから早くソースあげてね。
それに、早くMJsimに実装してくれないか?
182:デフォルトの名無しさん
07/07/30 01:11:48
ところで、みんなのとこのルールでは ダブ東の頭は4符?2符?
183:デフォルトの名無しさん
07/07/30 01:15:15
実は、プログラミングが苦手なんだ
数牌のメンツ分解数も、単独では正解にたどり付けなかったかもしれない
自分の解答よりも、他人の解答の正解率が高いだろうから
だれか飜数計算を上げてくれないかと思っているところである
184:デフォルトの名無しさん
07/07/30 01:17:11
苦手があるのはいい事だ。克服する喜びがある
185:デフォルトの名無しさん
07/07/30 01:18:07
>>183
ついにお前の本音が出たな。
俺もそう思ったよ。
つまり、お前がプログラム出来ないから、お前の糞仕様に
付き合ってくれる奴を探して、このスレを荒らしていたんだろう
つか、プログラミング苦手なら、このスレに来るなよ
186:デフォルトの名無しさん
07/07/30 01:19:44
ルールは知らん。プログラムは苦手。なんでこのスレにいる?
187:78 ◆7rnrw5KbzE
07/07/30 01:21:05
>>154 >>160
言いますね~(笑)アドバイス的確すぎやしませんか。
相当麻雀AI作成に熟知しているようにお見受けします。
私もアドバイス欲しいくらいですよ。
私もAIを組みましたので、牌譜あげてみます。
まだ鳴きも降りも教えてないのでドヘタゼンツ君ですがね・・・
URLリンク(uproda11.2ch-library.com)
188:78 ◆7rnrw5KbzE
07/07/30 01:22:17
>>187
DLパスは mjscore です・・・
189:デフォルトの名無しさん
07/07/30 01:23:56
1118570.zip DLKeyが一致しませんでした
190:デフォルトの名無しさん
07/07/30 01:28:30
>>185
いや、飜数計算は基礎なんだよ
ここをおろそかにしたまま、各自が独自のMJSimの思考エンジンを作り出すようになっては
たまたま、MJSimで計ったら強かった弱かったってなってしまうんだよ
191:デフォルトの名無しさん
07/07/30 01:28:44
DLできたよ
192:デフォルトの名無しさん
07/07/30 01:30:46
>>187
見ました、ずいぶんまともなAIですね。素晴らしいです。
聞いちゃうけど、オリジナル? サンプルの改変ですか?
答えたくなければ答えないでOKです。
もし私で、答えられる事が有ったら何でも聞いて下さい。
193:デフォルトの名無しさん
07/07/30 01:31:09
>>190
は?なんだそのウンコな反論は。
誰も、飜数計算をおろそかにしてないい。
お前の力で早くMJSimの飜数計算が正しいor
間違っていることを証明しろって言ってるの
出来ないなら何も書くな、糞野郎
194:デフォルトの名無しさん
07/07/30 01:36:02
ん~、極端に間違っていない限り、同じコードで採点するんだから問題ないだろ?
それとも、それで差が付くほどの立派なものを組んだのか?
後々問題になるだろうが、それほどのものは出てないな
195:デフォルトの名無しさん
07/07/30 01:40:00
ちなみに、サンプルを強くするための一番簡単な方法論に。
もう1段検索を深くすることです。
それと、見えている牌から、見えない牌を割り出し、それの確率を入れると
もっと強くなります。
196:デフォルトの名無しさん
07/07/30 01:46:53
サンプルで疑問点があれば、短文でなら説明します。
時間が少ないので、すぐ庭答えられないかも。(出来る範囲で)
AIの性格付けも、単純であれば比較的楽に出来るかも。
明日休みだけど、フラフラでもう寝まつ・・・Zzzzzzzz
197:78 ◆7rnrw5KbzE
07/07/30 01:48:14
>>192
完全オリジナルですね。いくらか下積みがあって、牌譜化環境等もできあがってて、
最近ここが盛り上がってきたので、作ってたプログラムをいくらか形整えて
打たせたのが>>187です。
>答えられる事が有ったら何でも聞いて下さい。
ではお言葉に甘えて。
>>187のAIは、14枚の牌形から、
打牌候補を切り、1枚ツモり、打牌候補を切った時点で、評価関数を呼び出して
元の14枚牌形から打牌を選択しています。所謂一手先読み、になります。
これをN手先読みにすることが可能なのですが、現状の処理スペックだと
一手先読み・・・一回の打牌選択あたり0.001秒
二手先読み・・・一回の打牌選択あたり約2秒
となってしまい、現実的な処理時間では二手先読みが限界となっています。
そこで、単刀直入に申し上げますと、>>192氏のAIの性能(できればその手法も)
断片的でもいいので教えていただきたい。
サンプルでは、ターツ毎の評価をしていたようですが、今作成中のAIの路線も
その方針でいくのでしょうか?
198:デフォルトの名無しさん
07/07/30 02:15:19
>>197さんへ、>>180のようにやれば、最終手までの読みが出来ます
捨て牌を選んで、それごとに残っている牌からまたツモるとやっては分岐数が多すぎます
>>180なら分岐は無いです すぐに終盤になります
199:デフォルトの名無しさん
07/07/30 02:17:34
>>198
まだ、お前の糞仕様を薦めてるのか。
お前の糞仕様の方が分岐が多いぞ。
それも気付かないのか、糞野郎
200:デフォルトの名無しさん
07/07/30 02:20:57
もし分岐で読むのならば、手の優先順位を決めておき、MTD法がいいと思いますよ
概要としては、
f=予測値を決めておき、それより評価が良ければ、その枝はそこで読むのをやめ上位ルートへ戻ります
fを超えるのが無かったら、もっとも評価の高い手の得点を上位ルートへ戻します
201:デフォルトの名無しさん
07/07/30 02:25:51
>>200
だからその分岐にどれだけ負荷かける気だよ。
「麻雀」と「プログラム」知らない奴が思いつきで書くなよ、糞野郎が
202:デフォルトの名無しさん
07/07/30 02:26:18
別人ですが、参考になれば
ネックは4シャンテン前後なので塔子で分割してなら、それ用の評価関数を用意。
(例:単騎<辺塔子<間塔子<両塔子<対子<刻子<順子)
で、面子候補それぞれに対して加算して求めてましたね。4シャンテンで最大100通り行くかどうか位
(※ただし、面子候補に単騎が二つ以上ある場合は別の方法にしてました。)
これだけだと不満なので、残り枚数や色、三色などの評価もしたい所ですけど
203:デフォルトの名無しさん
07/07/30 03:41:10
4シャンテン以上なら枝もクソも無いだろw
普通に聴牌目指してひたすら不要牌切るだけ
相手の聴牌気配とか感じるのはそこまで出来た後の話だ
204:202
07/07/30 04:08:07
>>203
麻雀知ってる?
205:デフォルトの名無しさん
07/07/30 04:34:59
>>204
4シャンテン以上、ということはほとんどの状態で
孤立牌・不要牌が複数あるので、場風と手牌の偏り具合から
機械的に(=別の評価関数で)捨て牌選択が可能です。
というか、まずそれなりのものを作ってから順に次に取り組めよ
206:デフォルトの名無しさん
07/07/30 04:39:06
とりあえず何でも作って
土台を完成させろよ。 話はそれからだろ。
七対狙いオンリーの思考ルーチンでも
対戦用ライブラリのAPIに必要なエッセンスが
半分以上つまってんだからさー
207:202
07/07/30 04:57:17
作ってあるけど?
これのメリットは手役の嗜好を作りやすい事。最強かと言われると・・・
汚いソースだし書き換えるの面倒だから作り直してるさ~
208:349 ◆XrG.ETMFv6
07/07/30 14:43:19
>>197 まずは、下のクラスを見て欲しい。
//========================================================================
// 手牌分析クラス
//========================================================================
class CTatsu : public CBase
{
public:
//
// 評価用データ Analyze(void); で設定される
//
bool m_FuritennF; // フリテンフラグ
int m_TenpaiNo; // 後幾つでテンパイ
YAKU m_YakuType; // 現在の役タイプ
int m_YakuNo; // 役の藩数
int m_YakuNotoN; // 役まで後N枚の役の藩数
int m_TurtuNo; // ターツの数
int m_MachiNo; // 牌の待ち数
int m_TotalPoint; // 合計ポイント
int m_outHai; // 評価するときに排除した牌
int m_AtamaNo; // 頭の数
int m_AtamaHai; // 頭の牌番号
UCHAR m_MachiHai[PTBLMAX]; // 待ち牌データ
int m_tehaiP[PTBLMAX]; // 手牌のポイント
private:
//
// ターツ評価用データ
//
CMentu *m_pMD; // 親メンツデータポインタ
int * m_ptehaiNAnko; // 元の手牌 コーツを取り除いてる
int * m_ptehai; // 評価する手牌、面子と頭を取り除いてる
209:349 ◆XrG.ETMFv6
07/07/30 14:43:58
public:
void init(); // 初期化する。
int Analyze(CMentu *pmentu,int ahai); // ターツ評価
void AnalyzeNoHai(int no); // 数字牌の分析
bool tehaiCompar(CTatsu *pTD); // 手牌の優劣を比較、自分が低い:true, 以外:false
bool tehaiComparTenpai(CTatsu *pTD); // テンパイ時の手牌の優劣を比較
void TenpaiMachiHai(); // テンパイの時の待ち牌作成
bool chkFuriten(); // フリテン試験
virtual bool chkThis(); // 自己オブジェクトの試験
virtual void DispData(); // データ表示
//
// 役の分析
//
void AnalyzeYaku(void); // 役の分析
bool AnalyzeYakuHai(void); // 役牌 場風、自風、白発中
bool AnalyzePinfu(void); // ピンフの分析
bool AnalyzeTanyou(void); // タンヨウの分析
bool Analyze34Anko(void); // 3アンコ4アンコの分析
bool AnalyzeToitoi(void); // トイトイの分析
bool Analyze112233(void); // イーペーコ
bool chk123(int hno); // イーペーコイーシャンテン試験
bool AnalyzeChitoi(void); // チイトイの分析
bool AnalyzeKokushi(void); // 国士の分析
private:
int getTenpaiNoAnalyze(); // テンパイまでの必要牌計算
int getKey(int * st); // キーの作成
};
210:349 ◆XrG.ETMFv6
07/07/30 14:51:28
class CMData : public CBase このクラスは大きいのでパブリックデーターのみ出します
public:
char m_BlockNo; // ブロック番号 -1:空き 0~:ブロックNO
CHai m_tehaiw; // 面子頭引き後の手牌
int m_TotalPointAll; // 合計ポイント
int m_TotalPoint; // 合計ポイント
int m_TotalPoint3; // 合計ポイント
int m_TotalPoint2; // 合計ポイント
char m_MachiHaiNo3; // 面子牌の待ち種類数
char m_MachiNo3; // 面子牌の待ち枚数
char m_MachiHaiNo2; // 面子牌の待ち種類数
char m_MachiNo2; // 面子牌の待ち枚数
char m_AtamaHai; // 頭牌が有る時の牌NO
// 解析結果データ
char m_outhai; // 排除された牌
int m_AType; // 分析タイプ
char m_TenpaiNo; // 後幾つでテンパイ
char m_TenpaiTsNo; // シャンテンに対する余分のターツ数
bool m_FuritennF; // フリテンフラグ
YAKU m_YakuType; // 現在の役タイプ
YAKU m_YakuTypetoN; // 役まで後N枚の役タイプ
char m_YakuNo; // 役の藩数
char m_YakuNotoN; // 役まで後N枚の役の藩数
char m_TurtuNo; // ターツの数
char m_T_XX_n; // リャンメンの数
char m_TX_X_Xn; // 2カンチャンの数
char m_TX_Xn; // カンチャンの数
char m_TXX_n; // ペンチャンの数
int m_AtamaNo; // 頭の数
int m_tehaiP[PTBLMAX]; // 手牌のポイント
UCHAR m_MachiHai3[PTBLMAX]; // 面子待ち牌データ
UCHAR m_MachiHai2[PTBLMAX]; // ターツ待ち牌データ
211:349 ◆XrG.ETMFv6
07/07/30 15:06:29
上のクラスを見れば、どのような分析をしていたか想像がつくと思います。
見れば分かる通り、分析のし過ぎではないかと思うほど分析しています。
これは当初、初めてAIを作る上で人間の考える通りに動くAIが目標でしたから。
探索ツリーは
14枚の牌
↓
↓-----------------------↓
構造1・・・・・・・・・・・・・・・・・・・構造N
↓
捨てるパターンの数
↓-----------------------↓
A牌捨て・・・・・・・・・・・・・・・・・N牌捨て
↓
仮定のツモ牌
↓-----------------------↓
14枚の手牌1・・・・・・・・・・・・・14枚の手牌N
↓
↓-----------------------↓
構造1・・・・・・・・・・・・・・・・・・・構造N
↓
捨てるパターンの数
↓-----------------------↓
A牌捨て・・・・・・・・・・・・・・・・・N牌捨て
これでようやく一手先読み。
のような探索ツリーです。非常に込み入った構造で尚且つ、分析結果がけた違いに増えます
1つの手配の分析は、総てのターツパターンを出します、その数は数十から200を越える時も。
例えば 2334 は 234と3 23と34 24と33 の3種類に分類。(とても簡単な例)
212:349 ◆XrG.ETMFv6
07/07/30 15:20:31
添付のDummy1.dllは1手先読みだけのAIです、サンプルソースAIと同じ読みの深さしか有りません。
先読みが浅いのでスピードが速いく、それなりに強いのではないかと思います。
初めて作ったため、いろいろな試みをしています。初盤にペンちゃんや13のようなカンちゃんを
嫌うようにしてたり。私が思うような牌の切り方に近いようにしています。
その結果、ソースは膨大となり各所にバグがゴロゴロしているのではないかと思います。
雀譜を見れば分かると思いますが、面白い切り方をしたり、とんでもない牌を切ったりします。
まだまだ未完成です。
本ちゃんは二手先まで読んでいました、3手先までも作ったのですが、二手先とほぼ同じ感じです。
213:349 ◆XrG.ETMFv6
07/07/30 15:37:39
手の役について
役は、上にあるように、ピンフ、タンヨウ、3アンコ、トイトイ、イーペーコ、チイトイ、国士
までしか分析していません。しかし、後幾つで役が確定するかも分析しています。
難しい所の一つに、役を目指すとフリテンが増えてしまうのが悩みどころでした。
最終的な手の評価関数はそれなりなのですが、最適化までには至らず、残念でした。
先読みについて
先読みが深いほど強いと思っている方もいるかもしれませんが。それは間違いだと
私の直感が宣言しています。それなりに理由もあるのですが、まだ、説得力があるほどの
論理的構築ができていません。参考程度に検討してください。
何処までの先読みがベストなのかは検討の余地が有ります。妄想では3手先も有れば
十分ではないかと思っています。
214:349 ◆XrG.ETMFv6
07/07/30 16:09:16
分析と評価式
サンプルソースの様な手牌構造を理解せずに、評価関数で優劣を決める方法は
過去の物です。いろいろ欠点が有ります。
例えば、122334 の場合1が来たら4を捨てるのですが、中の数字を好む式だと
1を捨ててしまうかもしれません。(サンプルAIは4を捨てる)
例えば 2334は234の面子を優先して3を捨ててしまうかもしれません。
23と34の2ターツと考えた方がいい場合もあります。
例えば12のペンちゃんでテンパった時、有効牌が1枚しかなかったら、場合によっては
12を捨ててシャンテン数を下げても持ちを変えたほうが上がりには速いはずでしょう。
(簡単な例)
等々いろいろ有りますが、手配の構造を理解していないと解析が出来ません。
次世代AIには、手牌構造を分析するのが必要ではないかと言えます。
215:349 ◆XrG.ETMFv6
07/07/30 16:25:47
作ろうとしているAI
問題は時間なのですが・・・、過去のAIは>>197のご指摘のターツ毎の評価(分析)が
主であるかもしれません。
次回は、人間の様にではなく、最速に速く上がれるAIを目指します。これは
最高に早くテンパルとは意味が違います。分析方法ですが、前はターツが主では
あったかもしれませんが、今回は牌の構造に焦点を当てたいと思っています。
あいまいな表現で申し訳ありません。以前のAIの分析内容を見て分かる通り
またも、複雑な事をやろうと画策しています。
作った結果、過去のAIに負けるかもしれませんが (大汗
振り返ってみて、過去のAIはいい経験になっています。いや、あの時はとても苦労した
のですが、結果に落胆した・・・・orz、 今度は己に勝つ!
216:78 ◆7rnrw5KbzE
07/07/30 18:27:03
>>349
詳細な解説ありがとうございます。参考になることは数多いですが、その中でも
>先読みが深いほど強いというわけでもない
という示唆は非常に興味深い。
URLリンク(ara.moo.jp)
あら氏のシミュレーション結果(↑)を見ると
先読みが深いほど好結果がでていますよね。
すると、349氏のAIにおいて、先読みがさほど影響を及ぼさない原因に
評価関数の指向が関与しているのではないでしょうか。
というのはたとえば
56m2367p3488s東南西北
という手牌があったとして、これをターツ毎評価にぶち込んだ場合
「役に平和がつく(有力だ)」という評価ができると思います。
でも実際、平和がつくと確定するのは、和了形にして4手先、
テンパイ形にして3手先になります。
つまり手牌自体は1手先までの形しか予想していないけれど、
ターツ毎評価によって、部分的にはもっと先の形まで予想している、ということになります。
その結果、手構造自体の先読みの意義が薄れているのではないでしょうか?
もちろん、そうなるのは評価関数が優れているためでしょう。
217:78 ◆7rnrw5KbzE
07/07/30 18:32:25
ちなみに、>>211の一手先読みでは一回の打牌決定あたり何秒くらいで打てます?
私の場合一打0.01秒程度なのですが、これだけ込み入った分析をした場合、やはり
いくらか時間をくってしまうのでしょうか?
218:デフォルトの名無しさん
07/07/30 18:53:32
>>134、>>135
たいして高速化にもならんとは思うが、一応賛成。l
で、MJexeIO.DLLという東風荘をプログラムから操作するDLLと同じ関数にしたらどうかな。
東風荘でも動かせるしね。
関数仕様はこれ。
URLリンク(www.interq.or.jp)
まずは、全部は必要ない。
MJSimのデータ仕様は、無駄が多いし、わかりづらいと思う。
例えば、対戦相手の手牌のフーロしていない部分とかも見えるが(当然無効だが)、そんなの必要ない。
219:デフォルトの名無しさん
07/07/30 19:21:15
>>218
相手の手牌等のデーター領域はあっても中身は0で見えないようになってる。
卓で見える物しか見えない。
220:デフォルトの名無しさん
07/07/30 19:32:09
>>218
インターフェース用DLLを誰かが作ればいいんだけどね。私は時間がとても・・・
MJSimで、1つのAIに、2つのAIを繋げて動作を比較するツールを作ってる。
これ公開するから、参考に誰か作ってくれないかな? と期待。
MJSim
↓
動作比較DLL
↓ ↓
AI1 AI2 (読み込まれた2つのAI
221:デフォルトの名無しさん
07/07/30 19:38:29
ルールは「まうじゃん」
ホストも「まうじゃん」
じゃなかったんだけ?
222:349 ◆XrG.ETMFv6
07/07/30 19:56:28
>>217
時間については計算したことがありません。どの様に算出しましたか?
ダミーなら多分0.01以下ではないかと思います。
MJSimの実行が1秒間に100回以上しているので。
また、本ちゃんの二手先でも、けっこう速いのです。
手が染まっている時は遅いのですが、そうでない時は
ダミー並とは言いませんが、早いです。
分析する必要があるのか無いかは、事前にチェックされ枝狩りされています。
手配の状況でスピードは数十倍以上違い産ます。
分析の種類が20-30以内の時と、200近くの時のその先の枝の数を想像してみてください。
極端に解析時間が違います。
読みについては後でまた。
223:78 ◆7rnrw5KbzE
07/07/30 20:18:52
>>222
切り番時、14枚の手牌+周辺情報(場に見えている枚数、ドラ等)を与えて
打牌選択関数を呼び出してから、その結果が出るまでにかかった時間を計ってます。
実質1手打つのにかかる時間ですね。ただしリーチ後のものは除いています。
ちなみに今計った所、一手あたり平均0.0087秒でした。
2手先で十分早いとなると相当なものですね。私の場合平均2秒ほどかかってしまいますから・・・
枝かりが甘いのかなぁ・・・
224:aa ◆BmUbLWewsM
07/07/30 20:27:45
>>222
には、説明不十分でした。
>分析の種類が20-30以内の時と、200近くの時のその先の枝の数を想像してみてください。
>極端に解析時間が違います。
データ数がそのまま時間ではないです。
データー数が多いと言う事は、不必要な分析がどんどん増えてくるのです。
説明は難しいのですが、同じ構造を何度も見つけてしまうのです。
そのため、重複排除やその他の時間がかかります。
おっと、>>223の時間はダミーのですか?
計測ありがとう。
225:202
07/07/30 20:46:41
AI作りの基本は自分と同じ打ち方させたい、ってのがあって・・・
そうするとどうしてもメンツ構成(塔子や単騎を含む)の分析が必要になるんだよなぁ
でも、もしかすると牌効率最優先の方が強いかも分からないので、今それをどうしようか
考え中・・・
226:349 ◆XrG.ETMFv6
07/07/30 21:02:37
>>216
>あら氏のシミュレーション結果(↑)を見ると
シミュレーションの0-3の違いはなんでしょう?
探したのですが見当たりません。
227:78 ◆7rnrw5KbzE
07/07/30 21:09:26
>>223
失礼、計測した平均時間は私のやつです。
0~3は、それぞれそのシャンテン数未満のときに和了形まで予想して
点数計算を行う。それ以上の場合は簡易計算で済ますというものらしいです。
詳細は
URLリンク(ara.moo.jp)
228:349 ◆XrG.ETMFv6
07/07/30 21:31:59
>>216
質問です。
>先読みが深いほど好結果がでていますよね.。
先読みが深いほど好結とは、どの部分を指しているのでしょう?
期待値の値ですか?
私はきた位置の計算自体に疑問を感じているのです。
もし意見が違うのであれば、話してみたいです。
229:349 ◆XrG.ETMFv6
07/07/30 21:34:02
×きた位置
○期待値
230:デフォルトの名無しさん
07/07/30 22:05:19
太らない程度の正しい食事と 適度な有酸素運動、そしてマッサージ
これを毎日徹底した自己管理で行えば Bカップ程度なら3年で育つ
231:デフォルトの名無しさん
07/07/30 22:07:17
乳について語ってるのは誰だ!!
俺はCもあれば十分だと思ってる。Fなんざぁただの脂肪の塊としか思えん。
232:78 ◆7rnrw5KbzE
07/07/30 22:14:32
>>228
好結果の指し示すのは期待値の話です。
ただし、期待値が高いことが、好結果である必要十分条件ではないことに、
私も同意します。あくまで、期待値を一つの指標として挙げたまでです。
あら氏の期待値の重要性が実戦で崩れる要因として重大だと考えられる
ものを挙げてみます。
1.18順の到達順目(=猶予順目)が保証されていること
あら氏の期待値は、あくまで局が18順完了できる(かつテンパイ料を考慮しない)
条件下でのものでした。しかし実際は18順完了できることは
それほど多くなく、全体の85%程度は和了による終了(自家和了含む)になります。
となると、実際では条件下等によって、到達可能な順目は変わってくるはずです。
たとえば、「ダブリーがかかった1順目」という条件下では、そうでない1順目よりも
平均到達順目が小さくなり、守備を考慮しないとしても戦略が変わってきます。
仮に100順分ツモ打牌が許されるなら、全局ヤクマン狙いが正着(=期待値高)になるでしょう。
しかし、18順で全局ヤクマン狙いの戦略では期待値は高くならないでしょう。
同様に、猶予順目が違うならば、戦略も変わってくるはずです。
233:78 ◆7rnrw5KbzE
07/07/30 22:16:52
2.喰い仕掛け変化を意識していないこと
あら氏の期待値はあくまで、面前のみを対象としたものでした。
この条件では、喰い仕掛けを考慮しないため、「役をつけるためにシャンテンを落とす」
ということは少なくなります。
しかし喰い仕掛けを考慮すれば
123368m246p22688s ドラ2s
というような場面から、打1mとしてクイタン狙いは有力手です。
当然、これはフーロを想定するからこそ有力手なのであり、フーロを考慮しない
期待値評価で打1mが選択されることはないでしょう。
フーロを想定するならば、喰い仕掛け可能な役を狙う意味が大きくなります。
3.守備を考慮していない
守備を考慮しなければ、ちょっとでも効率アップが考えられる牌は残すべきです。
しかし中終盤で、ほとんど効率が変化せず、かつ将来危険になるような牌は
残すべきではないでしょう。また、相手から攻撃が入った場合、各牌に失点指標
を導入しなければなりませんが、それも考慮されておりません。
234:デフォルトの名無しさん
07/07/30 22:26:09
とりあえず組んでみて思ったこと
・攻撃は何もなくても組みやすい
・守備は何かないと組みにくい
・俺よえぇ
こんなとこか
235:デフォルトの名無しさん
07/07/30 22:32:28
おまいら基礎が大事っていってるだろ まずは複数人で役計算を確定させようぜ
ルールは東風荘(第一)またはまうじゃんまたは今回作成したオリジナルルール
236:78 ◆7rnrw5KbzE
07/07/30 22:32:56
>>234
守備を組むとっかかりには、結構各人の判断基準で強弱つくと思いますよ。
そういう面で、麻雀打ちとして強い人は有利になるでしょう。
<テーブル>は私の中に・・・
237:デフォルトの名無しさん
07/07/30 22:36:36
プログラムくみやすいようにルールまとめたよ
単純化したオリジナルルール
URLリンク(kansai2channeler.hp.infoseek.co.jp)
トンプウ荘ルール
URLリンク(mj.giganet.net)
238:349 ◆XrG.ETMFv6
07/07/30 22:38:14
>>232-233
詳しい説明ありがとうございます。
私は特に、次の点が実際と合わないと考えています。
あら氏の一人麻雀では、相手がいません。
したがって4人いる場合明らかに計算式が違います。
あら氏
期待値=自分の牌を見ただけの期待値。
4人麻雀
期待値=自分の期待値 ー 遅れた上がり順目分の他人の上がり期待値。
こらが本当の期待値です。あら氏のは一人麻雀での数値です。
いわゆる、0と3では、平均テンパイ順目が 0=11.56 3=11.76
3の方がテンパイが遅い、そして何より平均和了順目が 13.82 14.46と
0.64順ほど遅いのです。これは私にとっては大きなマイナス要員です。
コンピューター麻雀の場合、手の雰囲気が似てきます。だからこそ
こちらが上がりそうなら、他の3人もあがりそうだと考えるのが普通でしょう。
その場合の0.64順遅れは、最強を作る上でマイナスだと考えます。
AI対戦の場合、他より少しでも速く和了する事が重要だと考えているからです。
その考えからすると、和了が速い0の方がいいのかもしれません。
239:デフォルトの名無しさん
07/07/30 22:40:39
まずは、
数字19、2~8、白発中、東南西北のコーツとトイツは同一視したときに
正しい飜数を返すプログラムを作ろうぜ
これで多くは判定できるよ
なぜならば、2のコーツと3のコーツを同一視しても、
それは別物であることは枚数から明らかだからだ
240:デフォルトの名無しさん
07/07/30 22:44:42
自牌だけ見ても駄目だぞ
なぜならば、敵は3人いるからだ
自分のあがる確率より、他人のあがる確率は3倍も多い
防御は重要
241:202
07/07/30 22:48:44
その上がりの早いAIは、上記のような塔子分解で有効牌が多いものを選んでいく方法で
とりあえず形になるのですが、理想とするシャンテン数には届かないです。
(理想←手牌+ツモる予定の16牌(17牌)でのシャンテン数)
理想が高すぎるのもあるのですが平均1シャンテン位は低いです(中盤12~14巡目辺り)
242:デフォルトの名無しさん
07/07/30 22:49:39
自分のプログラム、ひたすら上がり判定と先読みを枝切り高速化しまくって
3シャンテンくらいから期待値計算で考える子にしてみたんだけど、
2シャンテンから考える子は正常に動いたのに、3シャンテンまでがんばらせてみたら
なんか動かなくなっちゃった。これだからバグはいくないorz
243:デフォルトの名無しさん
07/07/31 00:22:30
>>235=>>237=>>239=>>240の無視られっぷりにワラた
244:デフォルトの名無しさん
07/07/31 00:34:37
>>243
だってもう飽きたんだもんww
245:デフォルトの名無しさん
07/07/31 00:39:08
>>242
2手先まで読めてて、さらに1シャンテン下げるのは流石にムリでは・・・
鳴いてもなんでもいいから形だけシャンテン下げるだけならなんとか。
246:デフォルトの名無しさん
07/07/31 00:56:18
>>235=>>237=>>239=>>240
犬のフンは無視するのが一番
247:デフォルトの名無しさん
07/07/31 01:06:32
>>245
あれ?自分なんか間違えてるかな?
2シャンテンから考える子は大体10ms以内とかだった気がするんだけど
248:245
07/07/31 01:15:47
アンカーミスった・・・スマソ
>>241ね
249:202
07/07/31 01:26:29
>>241ん?俺かw
いや、これは一手先読みだけですね。1牌切った状態でのシャンテン数が良くなる
候補の牌枚数をカウントして(有効牌数)、枚数が一番優秀な時の牌を切っていくだけ。
理想のシャンテン数というか究極が、引く予定の牌を含めた30枚でのシャンテン数として考えてます。
当たり前ですが究極には近づけませんw(エスパー能力があれば・・w)
有効牌数がそのまま塔子構成にも関わるので、そっちの評価は入れてないですね
250:デフォルトの名無しさん
07/07/31 01:51:17
おぉ、そっちかw
251:デフォルトの名無しさん
07/07/31 02:08:04
役牌って英語でなんて言うのかな?
252:202
07/07/31 02:19:04
ちなみに、>>249はそのまま積めません、遅すぎて。(面子候補で爆発します)
253:デフォルトの名無しさん
07/08/01 13:59:26
URLリンク(www.excite.co.jp)
役→Post
牌→Tile
役牌→Yacpai
ううむ・・
254:デフォルトの名無しさん
07/08/01 14:06:49
数牌のときはスートとシーケンスでいいと思うよ。
あと、役牌よりは字牌だろうね。
255:デフォルトの名無しさん
07/08/01 18:40:17
自分で分からない言葉を使うよりは、ローマ字表記にした方がマシな場合が
多々あります。辞書を引きながら決めるなら↑の表記にした方が楽です。
256:デフォルトの名無しさん
07/08/01 18:52:10
自分だけならな。
人が書いたソースでTaitoruとか使ってたら、そいつのコードは1行たりとも信用しない。
257:255
07/08/01 19:22:04
上の役牌なら(翻牌?字牌?)ならYakuHaiでも良いとは思うが>>253を使って
PostTileなんて変にやられると逆に可読性が落ちそう。命名規則だけは保って欲しいな
>>256
それは流石に同意w
258:デフォルトの名無しさん
07/08/01 19:27:34
>>256
奴の事か
259:デフォルトの名無しさん
07/08/01 19:46:51
大体ローマ字表記で統一してるなぁ・・・
なんか幼稚っぽく見えるかもだがorz
260:デフォルトの名無しさん
07/08/01 20:15:43
サンレンコが一般的な役じゃないことが非常に美しくないということについ最近気づいた
261:255
07/08/01 20:17:27
半端英語とローマ字混ざるのが一番辛くないか?
262:デフォルトの名無しさん
07/08/01 20:22:30
私の場合変数名は 変数型1字+ローマ字に統一してる
あがりの際の翻数を入れるint型変数なら IAgariHon
263:デフォルトの名無しさん
07/08/01 20:29:26
自分の場合ある程度の長さの変数名にして、後々気になったら置換してしまうw
この時にある程度の整合性を考える。ソースは上げるまでは自分だけのもんだしw
264:デフォルトの名無しさん
07/08/01 20:36:11
つスレリンク(tech板)
265:デフォルトの名無しさん
07/08/01 20:35:53
Hon・・・?
266:デフォルトの名無しさん
07/08/01 20:42:17
>>265
今気づいた正しくするなら IAgariHan だな
翻を変換するときに「はん」ではなく「ほん」で変換してるから
間違えてしまったみたい
267:デフォルトの名無しさん
07/08/01 20:49:32
>>264らじゃw
今実際に組んでる人どれ位いるのかな?
自分は今忙しくて凍結中 orz。ネタだけが増えていく・・・
268:デフォルトの名無しさん
07/08/01 20:51:07
一応組んでるけどあんまり強いのできないかも
269:デフォルトの名無しさん
07/08/01 21:37:27
調べてみたところ、「役牌」は英語で value honros と表記するようです。
(ちなみに、 honors は「字牌」のことです)
あと、プログラムを作成する上でわからない用語が、「捨て牌」です。
Table が真っ先に浮かんだのですが、なんかしっくりこないし・・・
270:デフォルトの名無しさん
07/08/01 21:51:01
たしか国によってルールが違うし、専門用語だし無理に訳す必要はないと思うんだけど、
ローマ字はなんか抵抗があるんだよなあ
271:デフォルトの名無しさん
07/08/01 21:54:24
もうある程度特別なケースは無視しても問題ない気しかしなくなってきた
272:349 ◆XrG.ETMFv6
07/08/01 23:06:04
今ごろが帰宅時間だ・・・orz
ゆっくり作ってるが何時出来る事か、完成したら面白い話が出来るかもしれない。
誰かAIをUPしませんか? 78さんAIをUPしませんか?
過去のAIならUP出来るけど、何処まで何を修正していたか、全然覚えて無い。
最終ビルドしたDLLならUP可能。
273:デフォルトの名無しさん
07/08/01 23:28:04
お疲れ様です。
個人的に燃料投下(DLLUP)して欲しいです。
274:349 ◆XrG.ETMFv6
07/08/01 23:58:21
では、明日にでもUPしよう。
>>72さん >>211の構造間違えてます。調べて最UPしまつ、申し訳ない。数年前の話なので。
ネタ投下してみる。
構造の分析について
正確な点数計算は総ての手牌構造を出す必要が有る。
ちょっとだけめんどう。
テンパイして無い手をターツまで含めた手牌構造の総てのパターンで出そうと試みる。
とても大変。
手が染まっている手では、爆発的にパターンが増え、同じ構造を何度も検出する。
私のAIでは、考えられる総ての切り口で構造を取り出しているため、同じ構造を
何度も検出していまう。これの重複を検出するため、構造のキーデータを計算し
ソートして有効な構造のみ取り出している。
>>209に有る int getKey(int * st); // キーの作成 これがそう
一種の枝狩りかな。
また、まじめにプログラムでターツを取り出すと、多分とても大変。
したがって、パターンデーターを持って、高速化している。
高速のために極一部の構造までは検出できない欠点ももっている。
事実上問題はないと判断したため、省いた。
私のAIの実装内容その1 でした。
275:349 ◆XrG.ETMFv6
07/08/02 00:05:13
追記
・パターンデーターでの分析は、とても高速だった。(参考までに)
その実装方法は説明せず。皆さんに疑問を投げつけて、もっといい方法が出るのを期待。
実は欠点があってね、あの時はそれしかなかった。
276:273
07/08/02 00:24:19
パターンデータの実証は自分もしましたけど、なかなか有効でした
ただ、塔子などを考えるとまだまだ隙の多い気がしますね。自分のものは
277:349 ◆XrG.ETMFv6
07/08/02 23:55:36
>>273
パターンデーターはいい方法論だと思うね、もっともっと良くなると思う。
標準化するほど一般化するかも。まあ、実装方法はいろいろ出てきていいと思う。
その中で、色々なアイデアが出たほうがいい。
ネタ投下その2
高速化の一つとして実装したのが。前分析データーの再利用。
私の分析ツリーは総てデーターでツーリー構造のまま残っている。
したがって、次のツモの先の分析データーが存在している。
それを再利用している。毎回既に広がったツリーの一手先を読むだけで
数手先を詠む事と等しい。しかし、多少スピードUP程度かな。
そうそう
明らかに関係しない牌をツモった場合は、前分析ツリーで簡単に意味が
無いと判断できるので、ツモ捨てしている。この方が高速化にはとても効いている。
単発の字牌とか、手牌より意味も無く離れたパイとかね。
手の重みでその辺も固まってくるし、前の分析データが利用可能なので。
この枝狩りは大きいかも。
278:349 ◆XrG.ETMFv6
07/08/02 23:59:52
今話しているのは過去のAIの話で、方法論のひとつにすぎません。
もちろん、もっといい方法は多々あるでしょう。無ければ新しいAIを作ろうとは思わないし。
ネタになるか参考にだしているにすぎない。ウザかったら言って、辞めるから。
279:349 ◆XrG.ETMFv6
07/08/03 00:13:27
追記。
物凄いメモリーの確保と廃棄が行われているのが理解できると思う。
オブジェクトの生成と廃棄では遅いと思い。高速メモリー管理ツール
を最初は使用していたが、それでも遅いかと思い、完全にそれ専用の
メモリー管理を実装した。これ以上の速さは無理なほど速くなったと思う。
メモリーの廃棄は1ステップ、確保は最短で確保。
どんなに良い物でも、専用にガリガリにチュンナップしたものが早いのは
当たり前と言う事で。
この辺は正直、趣味に走ってます、あははははは・・・・暇人だ・・・・
データーツリー構造の管理も趣味だよな~・・・・orz
趣味が理解できる人だけ読んでちょ。
280:349 ◆XrG.ETMFv6
07/08/03 00:29:10
注意!
しかしだ、そんなに強くないAIであった(泣き
(実はもっと色々組み込んであるんだよ、戦術の話一言も触れて無いし・・・・・・orz)
私の落ち込みは、想像できるだろうか・・・・・・・・・
だって、結果が最速が強そうだったから。今度は最速でGOだ。
281:349 ◆XrG.ETMFv6
07/08/03 00:30:48
×戦術
○戦略
282:デフォルトの名無しさん
07/08/03 00:33:12
ゴタクはいらんから早くあげろ
283:349 ◆XrG.ETMFv6
07/08/03 00:40:13
正直、こんなに話したAIをUPするのは恥ずかしい。失敗作としてみてちょ
↓
URLリンク(uproda11.2ch-library.com)
PW=MJSimAI
284:349 ◆XrG.ETMFv6
07/08/03 00:41:44
>>282
うざかったか、じゃもう解説は止める。
285:デフォルトの名無しさん
07/08/03 00:43:10
ウザイ
手短に3行でまとめろ
286:デフォルトの名無しさん
07/08/03 00:51:55
他にネタもなく何か有益な事書くわけでもないのに止めるなよ
287:デフォルトの名無しさん
07/08/03 00:53:40
>>284
いや、自分は面白いと思って読んでる。
だらだらでも何でもいいから好きなように書いてくれ。
288:273=286
07/08/03 00:59:52
で、落とせません orz
それぞれの牌種は独立なので牌種ごとに捨て候補の牌と評価値を保持(上位2つずつ位)させて
引いた牌の種類の所だけ更新する。
と言う方法も浮かんだが、手役を絡むと面倒かも。
捨て牌を選ぶ時に有効牌のリストを用意させてしまうと言う手もあるかな?(それ以外は計算せずに、
もしくは切り上げた計算をして、ツモ切りとか。←自分の思考に近い方法)
289:デフォルトの名無しさん
07/08/03 03:04:25
麻雀英語に関するいいHPを見つけた。
URLリンク(reachmahjong.com)
>>349
落とせません><
290:78 ◆7rnrw5KbzE
07/08/03 03:33:28
>>349
2chのような平均的に「できの悪い」人間が多く集まる空間では
著しくできの良い人間を貶めようと働くことがしばしばあります。
>>282や>>285のような者がそうです。彼らは「できの良さ」を披露されると
怨恨感情を発火させて反発し、呪詛を垂らします。
このような連中の発言を真に受けることは愚行に他なりません。
いったい氏の書き込みと>>282のウザいとの感情に、なんの関係がありましょう。
~>>280で語ってきたことは、我々にとって役に立つ・おもしろいものだと
判断されたからこそ書き込んでくださったのでしょう。
その判断は正しい。この水準での具体的なコーディング上の工夫を
詳細に説明した記載はいったいどこにあるというのでしょうか。
かのまったり麻雀のブログですら無かったことです。
氏は麻雀AIの分野について現時点で世界一「ためになる」レスをしてくれていた。
これは自覚されてもよいことかと。
そしてAIをDLしそこねた・・・再UPを!(泣)
291:デフォルトの名無しさん
07/08/03 03:58:10
全く同感だ
292:デフォルトの名無しさん
07/08/03 05:35:49
ためにはなるかもしれんが、
2chで自分語りする奴ほどうざいのもいないぞ。
293:78 ◆7rnrw5KbzE
07/08/03 06:13:49
>>292
確かに、君のような無能な人間が際限なく自分語りを繰り返してきたのが
君にとっての2ch像なら、この類ほどうざいものはないだろうね。
ところで、君が抱く個人的心情(=2chで自分語りする奴はうざい)を吐露する
ことそれ自体が、「無能の自分語り」に帰着してしまっていることに自覚的かな?
君は「自分語りはうざい」という見地から見てうざいし、ためにならない発言をする
奴はうざいという見地からも輪をかけてうざいし、識者に対する怨恨が垣間見られて
醜くうざいね。
349氏のような優秀な人材が、君のような無能の心情や能力水準に合わせる必要が
どこにあるというのだね?むしろ、2chや君にしてはいささかレベルが高くなった
このスレにおいて、『うざい』と形容されがちなのは君のような立場だということを自覚したまえ。
294:特に「自覚したまえ」の辺り
07/08/03 07:37:24
どうでもいいが、確かにうざい。
295:デフォルトの名無しさん
07/08/03 08:43:18
78がこんなに痛い子だとは思いませんでした。
349の書き込みは歓迎だが、
>>277-280の連投に関しては、どうかと思う。
これからは少し熟考して簡潔に纏めてみては?
296:251
07/08/03 09:15:51
なんだこの流れ( ^ω^)・・・
297:デフォルトの名無しさん
07/08/03 09:24:44
349はえらいけど78はバカだ
298:デフォルトの名無しさん
07/08/03 10:51:10
レベルの低い人物→>>78>>349 より低いアホ→他大勢
299:デフォルトの名無しさん
07/08/03 12:42:58
>>295
どうかと思う、だけでは難癖のように取られてしまうかも
内容のある長文もあれば、内容のないものもあるわけで
内容がないと思うなら、どこを、なぜ纏めたほうがいいかも添えてあげなよ
どうかと思うから、ではなく、こう思うから、のほうが意図が伝わるかと
300:デフォルトの名無しさん
07/08/03 12:51:02
>>298
目糞鼻糞
301:デフォルトの名無しさん
07/08/03 12:54:34
平凡な人間はできる人間を貶めて、自分らと平等化しておかないと悔しくてしょうがないのだ
302:デフォルトの名無しさん
07/08/03 14:06:14
「議論しましょうよ~」by12人の優しい日本人
303:デフォルトの名無しさん
07/08/03 14:59:21
ジンジャエール!
304:デフォルトの名無しさん
07/08/03 15:02:37
>>301
自己紹介ですか?
305:349 ◆XrG.ETMFv6
07/08/03 15:36:13
正直、こんなに話したAIをUPするのは恥ずかしい。失敗作としてみてちょ
↓
URLリンク(uproda11.2ch-library.com)
PW=MJSimAI
MJSimの実行環境及びサンプルAIを再度UP
↓
URLリンク(uproda11.2ch-library.com)
PW=MJSimEXE
306:349 ◆XrG.ETMFv6
07/08/03 15:49:42
昔の話ですが、MJSim作者宛に。
私はMJSim作者さんに恩義が有ります。2chはそんなに見ないのですが。
たまたま見た時、麻雀ホストを作る話が出ていて、気軽な気持ちで参加したわけです。
当時、私からの話は曖昧な事が多く、もっと具体的な話を期待されているのが分かっていましたが、
作ってる状態の時はなかなか出来ませんでした。
いや、理解はしていたけど、なかなか出来ませんでした。MJSimの出来は素晴らしく
何らかの形で恩をお返しで着ればと思っていました。
いま昔できなかった事を、解説と言う形で公開して、お返しが少しでもできれば嬉しいです。
公開私信失礼しました。
307:349 ◆XrG.ETMFv6
07/08/03 15:54:07
上のAIUP先ミスです。
↓
URLリンク(uproda11.2ch-library.com)
308:349 ◆XrG.ETMFv6
07/08/03 16:26:40
色々意見はあるようですが継続しま。
ネタその3 評価関数について。
>>209の
>bool tehaiCompar(CTatsu *pTD); // 手牌の優劣を比較、自分が低い:true, 以外:false
>bool tehaiComparTenpai(CTatsu *pTD); // テンパイ時の手牌の優劣を比較
評価関数は2つ持っている。それはテンパイになるまでの評価関数と
テンパイになった時の評価関数である。簡単に言うと、テンパイになった時
何を捨てれば一番いいかとそれ以前では違うと考えたからです。
麻雀をやっていれば分かりますが、テンパイの時何を捨てればいいのか考えるでしょう。
それ以前と明らかに性格が違うと考えたからです。
テンパイ時の評価式は
1.役が多い方を選ぶ
2.待ちが多い方を選ぶ
3.ポイントが多い方を選ぶ
上の順番の優先順位です。今思うと1,2逆の方が良かったかも・・・
テンパイ以前の評価式は、ずいぶん悩みました。分析データーが9種類も評価してた、
何をどのような優先順位でやるのかを。今見ると役が優先ぽいですね~
これじゃテンパイ率が低くなってしまう、残念。
スピード有利の確信は徐々に育っていきましたから。
それに、戦略追加作業がけっこう大変で、そちらに頭が切り替わってたし。
今思うと、平均上がり点はそんなに高くなかったような・・・・・
309:302
07/08/03 22:26:49
>>303
知ってるのかw
310:303ではないが
07/08/03 22:48:12
>>309
ピザの出前キボンヌ
311:349 ◆XrG.ETMFv6
07/08/04 00:02:07
ネタその4
戦略について、今までの話が戦術とすると、これからの話が戦略になります。
戦略として、分析していた物
1.見える牌から、見えない牌の算出。
(これは、戦術時点で計算していた、待ち有効牌の算出に)
2.相手の河や場の状況から、他家おきの牌安全度計算。
(当時のAIはテンパイ即リーですから、他者のリーチがあって、
自分の戦略モードに従い、降りや回しで使用していた。)
場の分析
1.局目
2.親、子、場風自風
3.自分の順位
4.各順位との点差
5.順目
6.各家のリーチ一発の時
7.各家のテンパイ(リーチ)状況
8.もっと有ったような気もするけど忘れました。(見るの大変だし)
等のデータから、戦略を決定しそれにしたがって動作する。
AIの戦略動作モードの公開↓。
NON = 0, // 全つっぱ
OGO = 1, // 全つっぱ
OM1 = 2, // 面子以外から危険度最小の降り牌を探す。TYPE1
OM2 = 3, // 面子以外から危険度最小の降り牌を探す。TYPE2
OM3 = 4, // 面子以外から危険度最小の降り牌を探す。TYPE3
OMB = 5, // ターツからAN_Bランク以上の降り牌を探す、なければ全牌検索で最安全牌を切る
OMA = 6, // ターツからAN_Aランク以上の降り牌を探す、なければ全牌検索で最安全牌を切る
OS = 7, // ターツからAN_Sランク以上の降り牌を探す、なければ全牌検索で最安全牌を切る
ORA = 8, // べた降り
ORB = 9, // 安牌を作成してべた降り
戦略については、試作的な意味合いが強く、研究や最適化までには達していなかった。
以前書いたように途中で終わったし。
312:349 ◆XrG.ETMFv6
07/08/04 00:09:37
以上で終りかな、前レスに枝狩りの疑問が上がっていたので。
枝狩りについて多少詳しく話しています。
もし何か疑問が有ったら、話せる範囲で話しますので、お聞きください。
313:349 ◆XrG.ETMFv6
07/08/04 00:13:01
補足
>>311の途中で終わっていたのは研究や最適化です。
目的の機能の実装は全部終わっていました。
314:デフォルトの名無しさん
07/08/05 23:50:04
※麻雀ロジック研究会※
スレリンク(gamedev板)
315:デフォルトの名無しさん
07/08/07 23:20:07
URLリンク(www.nicovideo.jp)
316:デフォルトの名無しさん
07/08/11 12:57:21
過疎化すげw
317:デフォルトの名無しさん
07/08/11 15:14:26
元の姿に戻っただけ。ちょっと前が異常。読み飛ばしてたのでだれか三行でまとめて。
318:デフォルトの名無しさん
07/08/11 15:18:21
ぐだぐだ書き込んでないで
手を
動かせ
319:デフォルトの名無しさん
07/08/11 17:02:43
>>317
リバーシ1
320:デフォルトの名無しさん
07/08/13 22:35:22
ほんと、見事な過疎っぷりだな
皆言いたいことだけ言って、まともなソース
も挙げずに逃げたか?
321:デフォルトの名無しさん
07/08/13 22:50:02
まともかどうかはともかく、ソースはいくつか挙がってる
検証する気は無い
322:デフォルトの名無しさん
07/08/13 22:53:18
「 ま と も な 」
ソースは一つも上がっていない
323:デフォルトの名無しさん
07/08/13 23:20:52
349氏のあげたソースはまともだと思うけどな
324:デフォルトの名無しさん
07/08/15 10:24:30
みんな帰省しているのかな
325:デフォルトの名無しさん
07/08/17 13:58:47
他のことに忙しいので放置中
326:デフォルトの名無しさん
07/08/17 14:25:54
ぶっちゃけるとやる気は無いけど参加者のふりしてた
もう飽きた
327:デフォルトの名無しさん
07/08/28 01:09:30
過疎がスゴスwwww
328:デフォルトの名無しさん
07/08/28 15:19:24
なんなんだろう
この熱しやすさと冷めやすさは
329:デフォルトの名無しさん
07/08/28 19:22:20
IDがないから、実質何人が書いてたかサパーリ。
結局、前スレの途中から、ここまでで、何か進んだのかな?
誰か3行でまとめてくれ。
330:デフォルトの名無しさん
07/08/28 23:34:54
口
だ
け
331:デフォルトの名無しさん
07/08/29 18:47:37
まず俺が麻雀弱いから無理
母親にも勝てない
332:デフォルトの名無しさん
07/08/29 22:08:34
このスレに関係なく麻雀AI組んでるけど…
テンパイしてくれませんorz
ごく稀にテンパイする程度なのでまだまだ要改良
333:デフォルトの名無しさん
07/08/30 17:41:41
そもそも麻雀のアルゴリズムなんて難しくない。
深さ優先探索が理解できるなら、一人麻雀で20%の和了率を超えるのなんて簡単。
この程度ができないんじゃあプログラマとは呼べん。
誰かがココにソースをUPしてくれるのを待ってないで自分で作れよ。
334:デフォルトの名無しさん
07/08/30 23:58:33
>>333
証拠を見せろよ
335:デフォルトの名無しさん
07/08/31 00:06:41
全員互角なら25%、で、全部食いタン狙いなら、20%は取れるんでない?
トップを取れるかどうかはともかくとして。
336:デフォルトの名無しさん
07/08/31 07:38:44
>>333にプログラマと呼ばれたい人なんているの?
337:デフォルトの名無しさん
07/08/31 08:47:09
とりあえず>>333はスレタイ読んでくればいいんじゃないかな
338:デフォルトの名無しさん
07/09/03 01:19:55
問題は一人麻雀でって事さ
339:相互リンク
07/09/30 18:33:30
なぜ最近の犬学生は麻雀できない奴が多いの?
スレリンク(campus板)l10
★★★ 学校で麻雀を教えるべきだ ♪♪♪
スレリンク(edu板)l10
なんで最近の若者は麻雀できない奴が多いの?
スレリンク(mj板)l10
340:デフォルトの名無しさん
07/10/02 00:49:33
過疎化ワロスwwww
341:デフォルトの名無しさん
07/10/02 00:52:51
麻雀は受け技が極められた競技ゆえ
342:デフォルトの名無しさん
07/11/06 08:37:13
俺は一つもまともにソフトと言える物は作ったことなく
だからもちろん深さ優先探索なんてさっぱり知らないけど
麻雀のAIってどんなんなん?
他家テンパイでまもりに入ってる状態なら、カベ、スジ、リーチ牌付近、ドラ筋付近
等を把握しなきゃなんないんだろ?
ゲーム開始時点なら、まぁ無難に、他風牌、浮いてる端牌から切ってそんで・・・
って、言っても他風牌と端牌が大けりゃチャンタもあるしジュンチャンあるし
三色見れそうなら浮いててもおいとく事もあるし・・・・・・
こういう模索をプログラム化するのがアルゴリズムを作るって事なんだろうな~
挑戦してみようかな・・・
とりあえずAIがメンタンピンのみを模索するアルゴリズム
めんどくせーな
343:デフォルトの名無しさん
07/11/09 03:58:16
テンパイチェックからやれや
344:デフォルトの名無しさん
07/11/09 22:59:20
他家がいつ聴牌したかなんてわかるの?
人間が切るのが遅くなったら聴牌疑うとか
自莫切りばっかり繰り返してたら聴牌疑うとか
あとwebカメラつけて目線追うとかしなくて大丈夫?
345:デフォルトの名無しさん
07/11/09 23:05:24
麻雀勉強してくれば
346:デフォルトの名無しさん
07/11/10 20:03:04
>>344
牌効率極めてから言えや
347:デフォルトの名無しさん
07/12/06 19:09:05
個人的メモ
最強麻雀プログラムに必要なレシピ
・線形計画法および動的計画法の知識
・集合、郡、環の知識
・統計確立
348:デフォルトの名無しさん
07/12/07 22:41:34
そんなのいらねーよwww
大きいところから入りすぎるから先に進まないwwww
349:デフォルトの名無しさん
07/12/16 01:58:00
群の字が違うしな
350:デフォルトの名無しさん
07/12/16 02:06:10
確率も違うし
>>347が完成させる雰囲気ゼロ
351:デフォルトの名無しさん
07/12/16 16:53:21
けっきょく運の強い香具師には勝てない
352:デフォルトの名無しさん
07/12/24 01:03:50
URLリンク(www.kohgakusha.co.jp)
353:デフォルトの名無しさん
07/12/28 13:48:06
買ってみたいがこれ系の将棋の本が糞だったからなー