[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 15:32 / Filesize : 253 KB / Number-of Response : 980
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

おまいら最強の麻雀プログラムしてみろよ Part2



1 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 21:47:50 ]
めざせ最強の麻雀プログラム!
層の薄いこのカテゴリーなら、将棋やオセロよりも
ずっと簡単にその地位を手にいれられるぞ!

232 名前:78 ◆7rnrw5KbzE mailto:sage [2007/07/30(月) 22:14:32 ]
>>228
好結果の指し示すのは期待値の話です。
ただし、期待値が高いことが、好結果である必要十分条件ではないことに、
私も同意します。あくまで、期待値を一つの指標として挙げたまでです。
あら氏の期待値の重要性が実戦で崩れる要因として重大だと考えられる
ものを挙げてみます。

1.18順の到達順目(=猶予順目)が保証されていること
あら氏の期待値は、あくまで局が18順完了できる(かつテンパイ料を考慮しない)
条件下でのものでした。しかし実際は18順完了できることは
それほど多くなく、全体の85%程度は和了による終了(自家和了含む)になります。
となると、実際では条件下等によって、到達可能な順目は変わってくるはずです。
たとえば、「ダブリーがかかった1順目」という条件下では、そうでない1順目よりも
平均到達順目が小さくなり、守備を考慮しないとしても戦略が変わってきます。
仮に100順分ツモ打牌が許されるなら、全局ヤクマン狙いが正着(=期待値高)になるでしょう。
しかし、18順で全局ヤクマン狙いの戦略では期待値は高くならないでしょう。
同様に、猶予順目が違うならば、戦略も変わってくるはずです。

233 名前:78 ◆7rnrw5KbzE mailto:sage [2007/07/30(月) 22:16:52 ]
2.喰い仕掛け変化を意識していないこと
あら氏の期待値はあくまで、面前のみを対象としたものでした。
この条件では、喰い仕掛けを考慮しないため、「役をつけるためにシャンテンを落とす」
ということは少なくなります。
しかし喰い仕掛けを考慮すれば
123368m246p22688s ドラ2s
というような場面から、打1mとしてクイタン狙いは有力手です。
当然、これはフーロを想定するからこそ有力手なのであり、フーロを考慮しない
期待値評価で打1mが選択されることはないでしょう。
フーロを想定するならば、喰い仕掛け可能な役を狙う意味が大きくなります。

3.守備を考慮していない
守備を考慮しなければ、ちょっとでも効率アップが考えられる牌は残すべきです。
しかし中終盤で、ほとんど効率が変化せず、かつ将来危険になるような牌は
残すべきではないでしょう。また、相手から攻撃が入った場合、各牌に失点指標
を導入しなければなりませんが、それも考慮されておりません。

234 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 22:26:09 ]
とりあえず組んでみて思ったこと
・攻撃は何もなくても組みやすい
・守備は何かないと組みにくい
・俺よえぇ
こんなとこか

235 名前:デフォルトの名無しさん [2007/07/30(月) 22:32:28 ]
おまいら基礎が大事っていってるだろ まずは複数人で役計算を確定させようぜ
ルールは東風荘(第一)またはまうじゃんまたは今回作成したオリジナルルール

236 名前:78 ◆7rnrw5KbzE mailto:sage [2007/07/30(月) 22:32:56 ]
>>234
守備を組むとっかかりには、結構各人の判断基準で強弱つくと思いますよ。
そういう面で、麻雀打ちとして強い人は有利になるでしょう。

<テーブル>は私の中に・・・

237 名前:デフォルトの名無しさん [2007/07/30(月) 22:36:36 ]
プログラムくみやすいようにルールまとめたよ

単純化したオリジナルルール
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4765.txt

トンプウ荘ルール
mj.giganet.net/yaku.htm

238 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/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 名前:デフォルトの名無しさん [2007/07/30(月) 22:40:39 ]
まずは、
数字19、2〜8、白発中、東南西北のコーツとトイツは同一視したときに
正しい飜数を返すプログラムを作ろうぜ

これで多くは判定できるよ
なぜならば、2のコーツと3のコーツを同一視しても、
それは別物であることは枚数から明らかだからだ

240 名前:デフォルトの名無しさん [2007/07/30(月) 22:44:42 ]
自牌だけ見ても駄目だぞ
なぜならば、敵は3人いるからだ
自分のあがる確率より、他人のあがる確率は3倍も多い
防御は重要



241 名前:202 mailto:sage [2007/07/30(月) 22:48:44 ]
その上がりの早いAIは、上記のような塔子分解で有効牌が多いものを選んでいく方法で
とりあえず形になるのですが、理想とするシャンテン数には届かないです。
(理想←手牌+ツモる予定の16牌(17牌)でのシャンテン数)
理想が高すぎるのもあるのですが平均1シャンテン位は低いです(中盤12〜14巡目辺り)

242 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 22:49:39 ]
自分のプログラム、ひたすら上がり判定と先読みを枝切り高速化しまくって
3シャンテンくらいから期待値計算で考える子にしてみたんだけど、
2シャンテンから考える子は正常に動いたのに、3シャンテンまでがんばらせてみたら
なんか動かなくなっちゃった。これだからバグはいくないorz

243 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 00:22:30 ]
>>235=>>237=>>239=>>240の無視られっぷりにワラた

244 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 00:34:37 ]
>>243
だってもう飽きたんだもんww

245 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 00:39:08 ]
>>242
2手先まで読めてて、さらに1シャンテン下げるのは流石にムリでは・・・
鳴いてもなんでもいいから形だけシャンテン下げるだけならなんとか。

246 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 00:56:18 ]
>>235=>>237=>>239=>>240

犬のフンは無視するのが一番

247 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 01:06:32 ]
>>245
あれ?自分なんか間違えてるかな?
2シャンテンから考える子は大体10ms以内とかだった気がするんだけど

248 名前:245 mailto:sage [2007/07/31(火) 01:15:47 ]
アンカーミスった・・・スマソ
>>241

249 名前:202 mailto:sage [2007/07/31(火) 01:26:29 ]
>>241ん?俺かw
いや、これは一手先読みだけですね。1牌切った状態でのシャンテン数が良くなる
候補の牌枚数をカウントして(有効牌数)、枚数が一番優秀な時の牌を切っていくだけ。
理想のシャンテン数というか究極が、引く予定の牌を含めた30枚でのシャンテン数として考えてます。
当たり前ですが究極には近づけませんw(エスパー能力があれば・・w)
有効牌数がそのまま塔子構成にも関わるので、そっちの評価は入れてないですね

250 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 01:51:17 ]
おぉ、そっちかw



251 名前:デフォルトの名無しさん [2007/07/31(火) 02:08:04 ]
役牌って英語でなんて言うのかな?

252 名前:202 mailto:sage [2007/07/31(火) 02:19:04 ]
ちなみに、>>249はそのまま積めません、遅すぎて。(面子候補で爆発します)

253 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 13:59:26 ]
ttp://www.excite.co.jp/world/english/
役→Post
牌→Tile
役牌→Yacpai

ううむ・・

254 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 14:06:49 ]
数牌のときはスートとシーケンスでいいと思うよ。
あと、役牌よりは字牌だろうね。

255 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 18:40:17 ]
自分で分からない言葉を使うよりは、ローマ字表記にした方がマシな場合が
多々あります。辞書を引きながら決めるなら↑の表記にした方が楽です。

256 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 18:52:10 ]
自分だけならな。
人が書いたソースでTaitoruとか使ってたら、そいつのコードは1行たりとも信用しない。

257 名前:255 mailto:sage [2007/08/01(水) 19:22:04 ]
上の役牌なら(翻牌?字牌?)ならYakuHaiでも良いとは思うが>>253を使って
PostTileなんて変にやられると逆に可読性が落ちそう。命名規則だけは保って欲しいな
>>256
それは流石に同意w


258 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 19:27:34 ]
>>256
奴の事か

259 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 19:46:51 ]
大体ローマ字表記で統一してるなぁ・・・
なんか幼稚っぽく見えるかもだがorz

260 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:15:43 ]
サンレンコが一般的な役じゃないことが非常に美しくないということについ最近気づいた



261 名前:255 mailto:sage [2007/08/01(水) 20:17:27 ]
半端英語とローマ字混ざるのが一番辛くないか?

262 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:22:30 ]
私の場合変数名は 変数型1字+ローマ字に統一してる

あがりの際の翻数を入れるint型変数なら IAgariHon

263 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:29:26 ]
自分の場合ある程度の長さの変数名にして、後々気になったら置換してしまうw
この時にある程度の整合性を考える。ソースは上げるまでは自分だけのもんだしw

264 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:36:11 ]
pc11.2ch.net/test/read.cgi/tech/1180146315/

265 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:35:53 ]
Hon・・・?

266 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:42:17 ]
>>265
今気づいた正しくするなら IAgariHan だな
翻を変換するときに「はん」ではなく「ほん」で変換してるから
間違えてしまったみたい

267 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:49:32 ]
>>264らじゃw
今実際に組んでる人どれ位いるのかな?
自分は今忙しくて凍結中 orz。ネタだけが増えていく・・・

268 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:51:07 ]
一応組んでるけどあんまり強いのできないかも

269 名前:デフォルトの名無しさん mailto:251 [2007/08/01(水) 21:37:27 ]
調べてみたところ、「役牌」は英語で value honros と表記するようです。
(ちなみに、 honors は「字牌」のことです)

あと、プログラムを作成する上でわからない用語が、「捨て牌」です。
Table が真っ先に浮かんだのですが、なんかしっくりこないし・・・

270 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 21:51:01 ]
たしか国によってルールが違うし、専門用語だし無理に訳す必要はないと思うんだけど、
ローマ字はなんか抵抗があるんだよなあ



271 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 21:54:24 ]
もうある程度特別なケースは無視しても問題ない気しかしなくなってきた

272 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/01(水) 23:06:04 ]
今ごろが帰宅時間だ・・・orz
ゆっくり作ってるが何時出来る事か、完成したら面白い話が出来るかもしれない。
誰かAIをUPしませんか? 78さんAIをUPしませんか?
過去のAIならUP出来るけど、何処まで何を修正していたか、全然覚えて無い。
最終ビルドしたDLLならUP可能。

273 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 23:28:04 ]
お疲れ様です。
個人的に燃料投下(DLLUP)して欲しいです。

274 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/01(水) 23:58:21 ]
では、明日にでもUPしよう。
>>72さん >>211の構造間違えてます。調べて最UPしまつ、申し訳ない。数年前の話なので。
ネタ投下してみる。
構造の分析について
正確な点数計算は総ての手牌構造を出す必要が有る。
ちょっとだけめんどう。
テンパイして無い手をターツまで含めた手牌構造の総てのパターンで出そうと試みる。
とても大変。
手が染まっている手では、爆発的にパターンが増え、同じ構造を何度も検出する。
私のAIでは、考えられる総ての切り口で構造を取り出しているため、同じ構造を
何度も検出していまう。これの重複を検出するため、構造のキーデータを計算し
ソートして有効な構造のみ取り出している。
>>209に有る int getKey(int * st); // キーの作成   これがそう
一種の枝狩りかな。
また、まじめにプログラムでターツを取り出すと、多分とても大変。
したがって、パターンデーターを持って、高速化している。
高速のために極一部の構造までは検出できない欠点ももっている。
事実上問題はないと判断したため、省いた。

私のAIの実装内容その1 でした。

275 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/02(木) 00:05:13 ]
追記
・パターンデーターでの分析は、とても高速だった。(参考までに)
その実装方法は説明せず。皆さんに疑問を投げつけて、もっといい方法が出るのを期待。
実は欠点があってね、あの時はそれしかなかった。

276 名前:273 mailto:sage [2007/08/02(木) 00:24:19 ]
パターンデータの実証は自分もしましたけど、なかなか有効でした
ただ、塔子などを考えるとまだまだ隙の多い気がしますね。自分のものは

277 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/02(木) 23:55:36 ]
>>273
パターンデーターはいい方法論だと思うね、もっともっと良くなると思う。
標準化するほど一般化するかも。まあ、実装方法はいろいろ出てきていいと思う。
その中で、色々なアイデアが出たほうがいい。

ネタ投下その2
高速化の一つとして実装したのが。前分析データーの再利用。
私の分析ツリーは総てデーターでツーリー構造のまま残っている。
したがって、次のツモの先の分析データーが存在している。
それを再利用している。毎回既に広がったツリーの一手先を読むだけで
数手先を詠む事と等しい。しかし、多少スピードUP程度かな。

そうそう
明らかに関係しない牌をツモった場合は、前分析ツリーで簡単に意味が
無いと判断できるので、ツモ捨てしている。この方が高速化にはとても効いている。
単発の字牌とか、手牌より意味も無く離れたパイとかね。
手の重みでその辺も固まってくるし、前の分析データが利用可能なので。
この枝狩りは大きいかも。

278 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/02(木) 23:59:52 ]
今話しているのは過去のAIの話で、方法論のひとつにすぎません。
もちろん、もっといい方法は多々あるでしょう。無ければ新しいAIを作ろうとは思わないし。
ネタになるか参考にだしているにすぎない。ウザかったら言って、辞めるから。

279 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/03(金) 00:13:27 ]
追記。
物凄いメモリーの確保と廃棄が行われているのが理解できると思う。
オブジェクトの生成と廃棄では遅いと思い。高速メモリー管理ツール
を最初は使用していたが、それでも遅いかと思い、完全にそれ専用の
メモリー管理を実装した。これ以上の速さは無理なほど速くなったと思う。
メモリーの廃棄は1ステップ、確保は最短で確保。
どんなに良い物でも、専用にガリガリにチュンナップしたものが早いのは
当たり前と言う事で。
この辺は正直、趣味に走ってます、あははははは・・・・暇人だ・・・・
データーツリー構造の管理も趣味だよな〜・・・・orz
趣味が理解できる人だけ読んでちょ。

280 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/03(金) 00:29:10 ]
注意!
しかしだ、そんなに強くないAIであった(泣き
(実はもっと色々組み込んであるんだよ、戦術の話一言も触れて無いし・・・・・・orz)
私の落ち込みは、想像できるだろうか・・・・・・・・・
だって、結果が最速が強そうだったから。今度は最速でGOだ。



281 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/03(金) 00:30:48 ]
×戦術
○戦略

282 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:33:12 ]
ゴタクはいらんから早くあげろ

283 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/03(金) 00:40:13 ]
正直、こんなに話したAIをUPするのは恥ずかしい。失敗作としてみてちょ

ttp://uproda11.2ch-library.com/src/1119634.zip.shtml
PW=MJSimAI

284 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/03(金) 00:41:44 ]
>>282
うざかったか、じゃもう解説は止める。

285 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:43:10 ]
ウザイ
手短に3行でまとめろ

286 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:51:55 ]
他にネタもなく何か有益な事書くわけでもないのに止めるなよ

287 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 00:53:40 ]
>>284
いや、自分は面白いと思って読んでる。
だらだらでも何でもいいから好きなように書いてくれ。

288 名前:273=286 mailto:sage [2007/08/03(金) 00:59:52 ]
で、落とせません orz
それぞれの牌種は独立なので牌種ごとに捨て候補の牌と評価値を保持(上位2つずつ位)させて
引いた牌の種類の所だけ更新する。
と言う方法も浮かんだが、手役を絡むと面倒かも。
捨て牌を選ぶ時に有効牌のリストを用意させてしまうと言う手もあるかな?(それ以外は計算せずに、
もしくは切り上げた計算をして、ツモ切りとか。←自分の思考に近い方法)

289 名前:デフォルトの名無しさん mailto:251 [2007/08/03(金) 03:04:25 ]
麻雀英語に関するいいHPを見つけた。

reachmahjong.com/

>>349
落とせません><

290 名前:78 ◆7rnrw5KbzE mailto:sage [2007/08/03(金) 03:33:28 ]
>>349
2chのような平均的に「できの悪い」人間が多く集まる空間では
著しくできの良い人間を貶めようと働くことがしばしばあります。
>>282>>285のような者がそうです。彼らは「できの良さ」を披露されると
怨恨感情を発火させて反発し、呪詛を垂らします。
このような連中の発言を真に受けることは愚行に他なりません。
いったい氏の書き込みと>>282のウザいとの感情に、なんの関係がありましょう。

>>280で語ってきたことは、我々にとって役に立つ・おもしろいものだと
判断されたからこそ書き込んでくださったのでしょう。
その判断は正しい。この水準での具体的なコーディング上の工夫を
詳細に説明した記載はいったいどこにあるというのでしょうか。
かのまったり麻雀のブログですら無かったことです。

氏は麻雀AIの分野について現時点で世界一「ためになる」レスをしてくれていた。
これは自覚されてもよいことかと。

そしてAIをDLしそこねた・・・再UPを!(泣)



291 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 03:58:10 ]
全く同感だ

292 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 05:35:49 ]
ためにはなるかもしれんが、
2chで自分語りする奴ほどうざいのもいないぞ。

293 名前:78 ◆7rnrw5KbzE mailto:sage [2007/08/03(金) 06:13:49 ]
>>292
確かに、君のような無能な人間が際限なく自分語りを繰り返してきたのが
君にとっての2ch像なら、この類ほどうざいものはないだろうね。

ところで、君が抱く個人的心情(=2chで自分語りする奴はうざい)を吐露する
ことそれ自体が、「無能の自分語り」に帰着してしまっていることに自覚的かな?
君は「自分語りはうざい」という見地から見てうざいし、ためにならない発言をする
奴はうざいという見地からも輪をかけてうざいし、識者に対する怨恨が垣間見られて
醜くうざいね。

349氏のような優秀な人材が、君のような無能の心情や能力水準に合わせる必要が
どこにあるというのだね?むしろ、2chや君にしてはいささかレベルが高くなった
このスレにおいて、『うざい』と形容されがちなのは君のような立場だということを自覚したまえ。

294 名前:特に「自覚したまえ」の辺り mailto:sage [2007/08/03(金) 07:37:24 ]
どうでもいいが、確かにうざい。

295 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 08:43:18 ]
78がこんなに痛い子だとは思いませんでした。

349の書き込みは歓迎だが、
>>277-280の連投に関しては、どうかと思う。
これからは少し熟考して簡潔に纏めてみては?

296 名前:251 mailto:sage [2007/08/03(金) 09:15:51 ]
なんだこの流れ( ^ω^)・・・

297 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 09:24:44 ]
349はえらいけど78はバカだ

298 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 10:51:10 ]
レベルの低い人物→>>78>>349 より低いアホ→他大勢 

299 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:42:58 ]
>>295
どうかと思う、だけでは難癖のように取られてしまうかも
内容のある長文もあれば、内容のないものもあるわけで
内容がないと思うなら、どこを、なぜ纏めたほうがいいかも添えてあげなよ

どうかと思うから、ではなく、こう思うから、のほうが意図が伝わるかと

300 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:51:02 ]
>>298
目糞鼻糞



301 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:54:34 ]
平凡な人間はできる人間を貶めて、自分らと平等化しておかないと悔しくてしょうがないのだ

302 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 14:06:14 ]
「議論しましょうよ〜」by12人の優しい日本人

303 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 14:59:21 ]
ジンジャエール!

304 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 15:02:37 ]
>>301
自己紹介ですか?

305 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/03(金) 15:36:13 ]
正直、こんなに話したAIをUPするのは恥ずかしい。失敗作としてみてちょ

ttp://uproda11.2ch-library.com/src/1119634.zip.shtml
PW=MJSimAI

MJSimの実行環境及びサンプルAIを再度UP

uproda11.2ch-library.com/src/1119738.zip.shtml
PW=MJSimEXE

306 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/03(金) 15:49:42 ]
昔の話ですが、MJSim作者宛に。
 私はMJSim作者さんに恩義が有ります。2chはそんなに見ないのですが。
たまたま見た時、麻雀ホストを作る話が出ていて、気軽な気持ちで参加したわけです。
当時、私からの話は曖昧な事が多く、もっと具体的な話を期待されているのが分かっていましたが、
作ってる状態の時はなかなか出来ませんでした。
 いや、理解はしていたけど、なかなか出来ませんでした。MJSimの出来は素晴らしく
何らかの形で恩をお返しで着ればと思っていました。
いま昔できなかった事を、解説と言う形で公開して、お返しが少しでもできれば嬉しいです。
公開私信失礼しました。

307 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/03(金) 15:54:07 ]
上のAIUP先ミスです。

uproda11.2ch-library.com/src/1119740.zip.shtml

308 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/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 mailto:sage [2007/08/03(金) 22:26:49 ]
>>303
知ってるのかw

310 名前:303ではないが mailto:sage [2007/08/03(金) 22:48:12 ]
>>309
ピザの出前キボンヌ



311 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/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 mailto:sage [2007/08/04(土) 00:09:37 ]
以上で終りかな、前レスに枝狩りの疑問が上がっていたので。
枝狩りについて多少詳しく話しています。
もし何か疑問が有ったら、話せる範囲で話しますので、お聞きください。

313 名前:349 ◆XrG.ETMFv6 mailto:sage [2007/08/04(土) 00:13:01 ]
補足
>>311の途中で終わっていたのは研究や最適化です。
目的の機能の実装は全部終わっていました。

314 名前:デフォルトの名無しさん [2007/08/05(日) 23:50:04 ]
※麻雀ロジック研究会※
pc11.2ch.net/test/read.cgi/gamedev/1105332492/

315 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 23:20:07 ]
www.nicovideo.jp/watch/sm542655

316 名前:デフォルトの名無しさん [2007/08/11(土) 12:57:21 ]
過疎化すげw

317 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 15:14:26 ]
元の姿に戻っただけ。ちょっと前が異常。読み飛ばしてたのでだれか三行でまとめて。

318 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 15:18:21 ]
ぐだぐだ書き込んでないで
手を
動かせ

319 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 17:02:43 ]
>>317
リバーシ1

320 名前:デフォルトの名無しさん [2007/08/13(月) 22:35:22 ]
ほんと、見事な過疎っぷりだな

皆言いたいことだけ言って、まともなソース
も挙げずに逃げたか?



321 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 22:50:02 ]
まともかどうかはともかく、ソースはいくつか挙がってる
検証する気は無い

322 名前:デフォルトの名無しさん [2007/08/13(月) 22:53:18 ]
  
   「 ま と も な 」

      ソースは一つも上がっていない

323 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 23:20:52 ]
349氏のあげたソースはまともだと思うけどな

324 名前:デフォルトの名無しさん mailto:sage [2007/08/15(水) 10:24:30 ]
みんな帰省しているのかな

325 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 13:58:47 ]
他のことに忙しいので放置中

326 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:25:54 ]
ぶっちゃけるとやる気は無いけど参加者のふりしてた
もう飽きた

327 名前:デフォルトの名無しさん [2007/08/28(火) 01:09:30 ]
過疎がスゴスwwww

328 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 15:19:24 ]
なんなんだろう
この熱しやすさと冷めやすさは

329 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 19:22:20 ]
IDがないから、実質何人が書いてたかサパーリ。
結局、前スレの途中から、ここまでで、何か進んだのかな?
誰か3行でまとめてくれ。

330 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 23:34:54 ]






331 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 18:47:37 ]
まず俺が麻雀弱いから無理
母親にも勝てない

332 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 22:08:34 ]
このスレに関係なく麻雀AI組んでるけど…

テンパイしてくれませんorz
ごく稀にテンパイする程度なのでまだまだ要改良






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<253KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef