トップページ⇒tech
1001コメント275KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001桜井章一 NGNG
できたら、NASAやるから。
0002デフォルトの名無しさんNGNG
2
0003デフォルトの名無しさんNGNG
できた。テンホー率100%。最強の麻雀プログラム。
0004デフォルトの名無しさんNGNG
漏れちょ-天才プロブラマだけど、麻雀しらないからなぁ〜
0005デフォルトの名無しさんNGNG
どうやって最強を決めるんだ?
0006デフォルトの名無しさんNGNG
まず、最強の麻雀プログラムの定義からいこうか。
0007デフォルトの名無しさんNGNG
187 名前:デフォルトの名無しさん[] 投稿日:03/02/05 21:00
>>177
>麻雀をちょっと単純化して
>駒の数を
>9*4*4=144とする。
>面倒なのでダブりがないと仮定して、ちょっと複雑にする。

もっと詳しく書いて下さい。意味が全くわかりません。
駒って何ですか?
0008デフォルトの名無しさんNGNG
Pai nextPai = taku.getPai();
0009デフォルトの名無しさんNGNG
麻雀って役がそろいそうな確率を状態が変わるごとに出して
一番確率が高いものを選んでいくだけだろ。
0010デフォルトの名無しさんNGNG
相手の牌を読むのは無意味だね。どうせ分からないんだから。
知る必要があるのは相手が持っている牌の確率とほしい牌の確率だね。
0011デフォルトの名無しさんNGNG
今度は「おまいら最強の〜プログラムしてみろよ」スレの乱立が始まるんですか?
0012デフォルトの名無しさんNGNG
>>11
じゃ「ばばぬき」キボンヌ
0013デフォルトの名無しさんNGNG
「おまいら最強の友枝小学校運動会プログラムしてみろよ」とか?
0014デフォルトの名無しさんNGNG
>>13
もちろんラストは教職員リレーだな
0015デフォルトの名無しさんNGNG
>>13
もちろんアンカーは体育の先生だな。
0016デフォルトの名無しさんNGNG
>>9
一番確率が高いだけじゃなくて、上がったときの点数と確率を比較して
一番点数の期待値が高い役を探すんじゃないかな?

>>10
典型的なのは分かると思うけどな。
タンヤオ系とチャンタ系とかなら簡単なチェックで推理は出来そうだ。
0017デフォルトの名無しさんNGNG
ここから確率の話になります。




んなわけないか、麻雀程度の簡単なプログラムに興味がある奴いなそーだし。
0018デフォルトの名無しさんNGNG
オンナのこがぬぐ確立あげてくだしい
0019デフォルトの名無しさんNGNG
よし、麻雀暦5年の俺が麻雀の知識をすべて捧げてやろう
0020YAHOO!無料NGNG
YAHOO!BBのユーザーへの特報!!!

今YAHOO!BBでADSLを利用されてる方。

月額料金を無料にできる方法をお教えします。確実な方法です
し方法も一つではなく何通りお教えしますので、ヤフーbbのユ
ーザーである限り料金発生なくずっと使えます。

興味のある方は以下のメールアドレスに連絡ください。
料金をとめる方法は少しの謝礼でお教えします。
[email protected] [email protected]
 よろしくお願いします。
0021デフォルトの名無しさんNGNG
まず、一番近い確立の役に近づけるだけのプログラム
これは、弱すぎる。少し手遅れしても満貫までつくれそうなときは、
満貫作っちまったほうが強い
1手変わりで点数が増える場合も多いしな
0022デフォルトの名無しさんNGNG
あと、打ち手の過去の打ち方を蓄積できれば強くなると思う
0023デフォルトの名無しさんNGNG
チャンタ狙いだと、中張牌から切られることが多いが、
はじめの一打が19字牌とかで迷彩されたら、読めないだろうな
0024デフォルトの名無しさんNGNG
たとえば、同じ色の牌だけを集めるチンイツという役がある
その場合、捨て牌が偏ってしまうため、バレバレになる
バレバレになると誰も振り込んでくれない
ということは、自分のツモあがりだけとなり、あがれる確率が低い
だけど、余裕がある場合に第一打や途中で2、3個捨てておくと警戒が薄れ、
他の3人も出してくれる確立が高くなる(経験上)
自分のツモあがりだけと自分と他の3人から出る可能性のある場合、どちらがあがりやすそうかは明白
聴牌までの期待値を1下げて、あがりやすさを3上げるような微妙な部分をどう克服するのか、、
最強への道のりは果てしなく遠いようである

完

※ちなみのこのチンイツは振り込むとかなり痛い点数の役です
0025デフォルトの名無しさんNGNG
中学生のころ、じゃんけんプログラム最強決定戦みたいなのがあった。
C言語で関数を作って、過去に相手が出した手から次の手を創造することを
その関数に期待するルールだった。乱数やそれに類するものの使用は一切禁止。

さて、概略を記すと以下のような形だったわけだ。

/* 文法が間違ってたらごめん */
typedef (int) (*func_ptr)(int);

func_ptr program1;
func_ptr program2;

そしてクラブの部員が作ったプログラムをそれぞれポインタに代入して
戦わせる形だった。
002625NGNG
引数には前回の手が入り、返値に今回の手を入れる。
中でstatic配列などを使ってもいいことになっていた。
意味は1:グー,2:チョキ…みたいな感じ。

見事最強の座を獲得したプログラムはこんな感じだった。

int saikyou(int) {
 if((func_ptr)saikyou == program1) {
  for(int i=0;i<1000;i++)*program2(1);
 }
 else {
  for(int i=0;i<1000;i++)*program1(1);
 }
 return 2;
}

見事な勝率を誇り優勝。
0027デフォルトの名無しさんNGNG
>>26
最強同士で戦わせたらえらいことに
0028デフォルトの名無しさんNGNG
  ∧_∧
 ( ´∀`)< ぬるぽ
0029デフォルトの名無しさんNGNG
確率と確立を区別できない坊が多いな。
あと定跡と定石
それと香具師と家具師
0030デフォルトの名無しさんNGNG
後だしのプログラム作れば最強
0031デフォルトの名無しさんNGNG
牌データをハックするプログラム作れば最強
0032デフォルトの名無しさんNGNG
そして、後だし同士で戦わせる
0033デフォルトの名無しさんNGNG
麻雀のプログラム簡単ってやつはルールしってんのかな?
ドンジャラとは違うからな。
0034デフォルトの名無しさんNGNG
>>33
えっ? 確率が高い手を選んだらあとは運任せのゲームでしょ(w
0035デフォルトの名無しさんNGNG
>>34
それ初心者の打ち方だよ。

アンパイをどうよませるの?
捨て牌から相手の手をいかによむの?
相手がツモギリをした場合の処理は? うちながら相手の癖を理解させたりしなくていいの?

とかかなり問題は山づみ。
0036デフォルトの名無しさんNGNG
とりあえず定石を列挙汁
0037デフォルトの名無しさんNGNG
役の判定一つとってもバグのないプログラムを作るのは簡単じゃないよ。
0038デフォルトの名無しさんNGNG
では私から。
誰かがハク、ハツと鳴いたら、チュンは捨てない
0039デフォルトの名無しさんNGNG
>>34
じゃあはじまった瞬間食いタン決定だな。
0040デフォルトの名無しさんNGNG
まず、上にもあるが対極者の癖を学習することができること
これが麻雀には最重要では?
アンパイの読みとかも、基本は同じだけど対局者や
その流れで全然違う。

そしてそれを実装するためには、最初の数局は無難に打って、
相手が自分が学習した中でどのタイプの麻雀打ちかを
判断する。

逆に自分の手が読まれないように、自分のタイプはこまめに買える。
または複数タイプを混ぜるとか。


ついでに漏れは「他人にバレようが、チンイツなどの染め手ばかり狙い、
しかもオープンリーチばかりする馬鹿」です。オープンリーチ・一発・
ツモ(ドラ1以上)しか狙いに行きません。ごめん。
0041デフォルトの名無しさんNGNG
最強プログラムに必要なもの
・1巡ごとに見える牌の数が増えることから、相手の手にありえる何百万通り(?)ものなかからもっとも確率が高い牌姿などを常に考えておく
もしかしたら将棋より大変かもな
0042デフォルトの名無しさんNGNG
誰かがハク・ハツと鳴いたら、むしろとっととチュンは切ると思うが……
ただのポンなら(責任払いでも)自らチョボしたほうが安いし(をい
0043デフォルトの名無しさんNGNG
>>40
是非高レートで賭け麻雀しましょう。
0044デフォルトの名無しさんNGNG
役牌を簡単に鳴かせたら、相手のあがりを早めてしまう
0045デフォルトの名無しさんNGNG
役判定ルーチンを真面目に書くとけっこう汚くならない?

0046デフォルトの名無しさんNGNG
麻雀で勝つのには、立直とタンヤオとドラと役牌と混一だけで十分。
0047デフォルトの名無しさんNGNG
>>42
それは自分の手と相談してな。
安い手で張り合うのはばかばかしいだろ。 前の奴がだしたら便乗、二枚あったら頭ってかんじにしたほうが強くない?
0048デフォルトの名無しさんNGNG
こっちに2枚あったら、鳴かれる確率も低くなるな
0049デフォルトの名無しさんNGNG
>>46
おいおい…
やった奴に自信つけさせて破産させるソフトになっちまう。
0050デフォルトの名無しさんNGNG
裏ドラは何かも考えるようにして
相手のリーチに対して、振り込んだときに裏ドラがいくつ乗ってしまう確率があるのかとかも
0051デフォルトの名無しさんNGNG
普通に作ったんじゃ面白くない
0052デフォルトの名無しさんNGNG
声優は萌え萌えのでおながい
0053デフォルトの名無しさんNGNG
>>52
俺でよければ脱ぎまで担当するが?
0054デフォルトの名無しさんNGNG
負けてあげたら、モロ見え動画
これ最強
0055デフォルトの名無しさんNGNG
役判定でもいいからつくってみようよ。
まずはそこからだろ。
0056デフォルトの名無しさんNGNG
>>35
えっ? 読むって相手の手を完全に読めるの? 確率でしか分からないでしょ(w
0057デフォルトの名無しさんNGNG
>>41
>・1巡ごとに見える牌の数が増えることから、
一巡ごとに相手のありえる手の数が極端に減るねぇ。
0058デフォルトの名無しさんNGNG
どうせ考えるだけで、誰も作らないに10うんこ
将棋もね
0059デフォルトの名無しさんNGNG
麻雀の牌の数は136個。自分の牌はわかるから開始時点で123個の牌のある場所の
確率を出すだけだね。1巡ごとに見える牌は増えるから調べなきゃならない
牌の数はどんどん減っていくね。
0060デフォルトの名無しさんNGNG
危険牌の確率は確率だが確率だけじゃない確率もあるぞ
たとえば
相手が1巡目で5を切ってリーチしてきたとする
この5が安牌であることが100%の情報で、
この他の牌の危険度が全く同じあるかと言えばそうでもない
この5がどういう形からでてきたのかたとえば455と持ってたところから出た5だとすれば、36が当たり牌となっている
他にも次のようなかたちもありえたりす(ry
まあ、自分の持ってる牌などからも微量なが情報を得てだな
などなど、確率確率確率マンセーニダ
0061デフォルトの名無しさんNGNG
将棋って最後まで増え続けるの?
最初の数はものすごく少ないけど
0062デフォルトの名無しさんNGNG
ドラ表示牌も見えてるので122牌
親なら14枚から始まるから121牌
0063デフォルトの名無しさんNGNG
> この5が安牌であることが100%の情報で、
ありえない
0064デフォルトの名無しさんNGNG
>>61
> 将棋って最後まで増え続けるの?
なにが?
0065デフォルトの名無しさんNGNG
いや、現物でロンされてもチョンボなんですが・・・ツリ?
0066デフォルトの名無しさんNGNG
>>56
相手の手が確率でなく完全にわかるボードゲーム?のほうが少ないと思うな。
あがりやすさだけで判断するプログラムっていうのも
組んでみたらおもしろいかも。
0067デフォルトの名無しさんNGNG
>>47
そうですね、ただ自分が1枚しか持ってない状態でチュンの頭待ちだったら
まず誰も振り込んでこないので……
あと後半になればなるほど、ハクハツを鳴いた人間がチュンの頭待ち
をしている可能性が高くなるという問題もあります。
0068デフォルトの名無しさんNGNG
>>66
んだんだ。その点で麻雀と将棋は違うわな。
じゃんけんで相手の裏の裏の裏の裏の裏の・・・の手を考えても無駄なように、
麻雀で先の先の先の先の先の・・・の手を考えても無駄だな。
将棋と同じアプローチは通用しないのに、同じアプローチで考えて将棋よりも
麻雀が難しいといっている奴はバカ(藁
0069デフォルトの名無しさんNGNG
おまいら最強の花札プログラムしてみろよ
0070デフォルトの名無しさんNGNG
先を考えて、確率の高いものを選ぶんだぞ
0071デフォルトの名無しさんNGNG
>>68
全く違うものだしね。
比べる必要をまず感じないわな。
まあどっちが難しいとかにこだわる奴は放置で。
でもジャンケンとは違うよ。
あれは常に三分の一だから。
麻雀は実際強いうちかたがあるからね。
意味合い的には運の入る将棋ってかんじ?
0072デフォルトの名無しさんNGNG
>>70
なんの確率がわかるって言うんだよ?(藁
0073デフォルトの名無しさんNGNG
麻雀を確率計算で考えているページ?
ttp://kataagari0.tripod.co.jp/
0074デフォルトの名無しさんNGNG
>>71
運の入る将棋。
良い手の内からランダムで手を選ぶ将棋みたいなもんか。
0075デフォルトの名無しさんNGNG
将棋であれば相手の手が全て見えている状態から
戦略を練る。

しかし麻雀の場合は、相手の手の一部(捨牌・鳴牌)しか分からん。
その中で考えなければいけない。

この差は大きいと思うけど、どう?

ついでに実際の麻雀の場合は相手の思考時間+手の動きも
相手の手牌の内容を探る情報になるので……
マウスカーソルや視線の動きも情報として取り込まないと
(対人戦)最強にはなれないかと、思う。
まあこれも通じたり通じなかったりだけど
0076デフォルトの名無しさんNGNG
>>72
行動の有効度、危険度を設定して、それを参照しながら点を計算、一番たかい手を選ぶって感じか?
つーか確率は普通に存在するだろ。
どう計算したら早くできるかはわからんが。最も単純で簡単に計算出来る確率は、
アンパイが10個あったらアンパイ以外を捨てる場合振込む確率は
(全種類-10)÷全種類
0077デフォルトの名無しさんNGNG
> しかし麻雀の場合は、相手の手の一部(捨牌・鳴牌)しか分からん。
> その中で考えなければいけない。
>
> この差は大きいと思うけど、どう?
うん。だから全部の場合を考慮したり先の先を読むのは無意味になる。
すべては確立の世界なのだよ。ワセリン君。
0078デフォルトの名無しさんNGNG
>>76
だから先は関係ないだろ。過去と今だけで十分。
0079デフォルトの名無しさんNGNG
3という牌があったとする
この3で面子を作ろうとするには、12345が必要である
 23
 34
1 3
 3 5
 33          
となり、この3から面子完成への受け入れ枚数は多い
だが、2が場に3枚でていたとしよう
すると、3に4をツモって34(2か5で1面子完成)となっても、ほぼ2が枯れている状況では辛かったりする
2を手に入れるのがこんなんな上、25待ちで聴牌したとしても、5は出にくいからだ(みんなが使いやすい牌だから)
あと点数差など状況により、牌効率は違ってくる
0080デフォルトの名無しさんNGNG
>>66
現状で何かのおまけみたいに作ってある麻雀ソフトはほとんど「あがりやすさだけ」だと思うぞ。
たいてい、いんちきしてコンピュータの配牌が3しゃんてんくらいにしてあって、
あとは上がりを目指すだけ。
0081デフォルトの名無しさんNGNG
>>78
76の言ってることはあまりに大雑把な確率の捉え方なのでなんとも言えんが、
先を読まなくていいってことはないだろ。
今まで各々が思いつくままに挙げた話、
例えば「白発を鳴いたやつが居る」時にどうするかってのは、
実は相手の手の内、山の牌の確率的な分布に従って読めば、
先に捨てたほうが被害が少ないのか、抱えて死ぬべきなのかはおのずと得られる。
だから、思いつくままにルールを作りこむより、まともに読めるようにしたほうが強いと思うがな。
0082デフォルトの名無しさんNGNG
振り込む確率は違う
たとえば場に2が4枚見えていたとしよう
すると、相手は2を持っていないわけで、1待ちにするには国士無双か1の単騎待ちしかできない
この1と7の振り込む確率が同じだと思うか?
0083デフォルトの名無しさんNGNG
2が3枚、2が2枚、2が1枚だけしか見えていない場合も上記の理由により
7に対し危険度が段階的に違っている
0084デフォルトの名無しさんNGNG
俺は、白發鳴かれたときに、中を鳴かれる確率が低いとは言え、切らないほうが強いと思うなあ
確率が高い低いうんぬんのまえに万が一にも大三元に当たったら32000点(親なら48000点)
当たらなくて聴牌させて上がられても責任払い(パオ)があると16000(相手が親なら24000)払わされるし
その局は、防御に徹したほうがいいと思う
0085デフォルトの名無しさんNGNG
>84
ごめんなさい、レート0の麻雀ばっかりで、負けてもへこむだけなんで、
非実践的といえばそうですね…… まじに一回振り込みました(;;)

>80
なかにはきちんとやってるのもあるが、そうでないのは3シャンテンもない。
最悪な方法は、何順目に上がるかを最初に決め、コンピュータの牌を組んで、
残った牌でプレイヤーに麻雀をさせる。例えば鳴いても役が成立する場合に
わざと形だけ鳴かせることはあるだろうが……
0086デフォルトの名無しさんNGNG
>187 名前:デフォルトの名無しさん[] 投稿日:03/02/05 21:00
>>>177
>>麻雀をちょっと単純化して
>>駒の数を
>>9*4*4=144とする。
>>面倒なのでダブりがないと仮定して、ちょっと複雑にする。

>もっと詳しく書いて下さい。意味が全くわかりません。
>駒って何ですか?
レス遅くて申し訳ない
駒は牌の意味で使ってしまいました。
ダブりがないと仮定すると、ゲームが複雑になる事はOKですか?
0087デフォルトの名無しさんNGNG
>>84
例えば「もし奴に中が2枚あるとしたら残りの手の内はまだてんぱいに遠い可能性が高いけど、自分は上がりやすい形でてんぱる」とか、
「白発といといでツモられても自分は飛ぶ」とか、
総合的に見て、先を読んで、リスクとリターンをはかりにかけて切るか切らないかを判断するんじゃない?
0088デフォルトの名無しさんNGNG
>65
リーチかけてない香具師のアタリの可能性をまったく考えていないな。
0089デフォルトの名無しさんNGNG
てんぱっても、1000点や2000点の聴牌だったら、話にならんな
安手で役満とは勝負したくない
白發トイトイだったとしても流局、または誰かが振り込んでくれればいいな
これが大三元で、別のやつが食らって飛べば、もっとイイ
ま、その辺を考えての総合的か
0090デフォルトの名無しさんNGNG
>>88
リーチしたらっていってるだろ。
それに俺にはその切った相手に対してはって意味に聞こえるぞ。

つーか実際そういう読みを実装しようとおもったら
どんなふうにするんだ?
0091デフォルトの名無しさんNGNG
>>88
5でロンされたら、”同順”フリテンでチョンボなんですが・・・ツリ?
0092デフォルトの名無しさんNGNG
字は同巡が正しいかな?
5を出したやつが5でロンしたらチョンボ
一つ目の5を見逃して次の人の5でロンしてもチョンボ
0093デフォルトの名無しさんNGNG
とにかく合わせ打った牌は100%誰にもロンされない
ロンされたらチョンボで2000点(親なら4000点)貰える
0094デフォルトの名無しさんNGNG
>>60の
>この5が安牌であることが100%の情報で、

ってのが、そのリーチかけた香具師が捨てた次の瞬間だけ有効で、
その後、この100%安全という評価をどのように変更するのか述べられていない。
0095デフォルトの名無しさんNGNG
揚げ足取りだね
小学生の国語から勉強すれば?
今までの流れで掴み取れ
0096デフォルトの名無しさんNGNG
宣言が必要ですか?(ワラ
0097デフォルトの名無しさんNGNG
最強の麻雀プログラムと謳っているスレで、現物が100%安全と威張られてもな・・・
その現物の評価をどのように変更していくのかが重要なのだろ。
0098デフォルトの名無しさんNGNG
>>97
現物は、そのリーチ者に対しては100%安全だと思っていましたが・・・
あなたは現物は、そのリーチ者に対しては何%安全だと思いますか?
0099デフォルトの名無しさんNGNG
>>88-98
厨房板に日本語を勉強するスレを建てて、どこまで省略して伝わるかを議論・調査してなさい
0100デフォルトの名無しさんNGNG
リーチ者に対しては何%安全かという評価はあまり意味がない。
その牌が何パーセント安全であるかが意味をなす。
ってこんな当たり前のことをぐだぐだ言うこと自体、意味がないな。
0101デフォルトの名無しさんNGNG
ごめん・・・スレと関係ないけどさ、
漏れちょっと今、血吐いたよ・・・
0102デフォルトの名無しさんNGNG
月経ですか?
0103デフォルトの名無しさんNGNG
全体の安全度を求める上で、リーチ者には100%安全という情報は必要不可欠
これにて終了
0104デフォルトの名無しさんNGNG
っていうか俺が勘違いしていたよ。
てっきりもっとまともなというか、高度なことを議論しているのだとばかり思っていた。
そんな言うまでもないような当たり前のことは議論の前提の話であってそんなことを主張する香具師などいるとは思ってなかったからね。
0105デフォルトの名無しさんNGNG
まずはシステム(環境)のランダムを完全読みする
次に全ての牌とランダムの関係を完全読みする
最後に八連荘を連発出来るあがり方を読む
これ最強
0106マヅ゙レスNGNG
八連荘はローカル役でしょうが。
0107デフォルトの名無しさんNGNG
麻雀組めるやつ、つくってくれんかなぁ。
俺はテンパイ判定やってるレベルだからな。
0108デフォルトの名無しさんNGNG
考えるだけで誰も作らないに10うんこ
将棋モナー
0109デフォルトの名無しさんNGNG
東風荘用のbot作ってくれ、誰か
0110デフォルトの名無しさんNGNG
東風荘はテスト場としては最適だね
人も多いし、上の方に上がっていけば強いことが証明されるし
0111デフォルトの名無しさんNGNG
イカサマ最強説
0112デフォルトの名無しさんNGNG
マアジャンは相手モデルが絶対に必要よ。
0113デフォルトの名無しさんNGNG
CPUが負けそうになったらジャンタクがひっくり返る
これ最強
0114デフォルトの名無しさんNGNG
>>113
ちょんぼやん
893相手だと殺されるかもしれないし…
0115デフォルトの名無しさんNGNG
CPUが殺されるかyo!
0116デフォルトの名無しさんNGNG
早いリーチは1-4ソウ
0117デフォルトの名無しさんNGNG
結局>>25-26で爆笑したわけだが
0118デフォルトの名無しさんNGNG
CPUが負けそうだったり配牌がわるいとエラーをだす。
0119デフォルトの名無しさんNGNG
麻雀フレームワークを作ってみようかと思ってるんですが
麻雀の一般的なルールがよくわからないので、
その辺の解説があるページありますか?

開発は2月下旬から
言語はJAVAです
0120デフォルトの名無しさんNGNG
というか
JAVAとC#どっちがいいですかね?

他のプログラムからも使えるように
ソケットでプレイヤーの作成ができるようにはするつもりですが
0121デフォルトの名無しさんNGNG
ちょっと麻雀知らないなら、
そのことを冒頭で明記してよ!!
ネタと思いきや本気っぽいのも多々あるし…。
(ハク、ハツ鳴かれたらとっとと中切るとか)←あり得ないよ。
0122デフォルトの名無しさんNGNG
まぁ短気は斜で待てと
0123デフォルトの名無しさんNGNG
>>122
ちゃんと変換しろ!
そんなの河の状況によるだろ!!
ってネタにマジレスしちゃったよ〜♪

今の麻雀ゲームで最強なのって何だろう?
0124デフォルトの名無しさんNGNG
>>121
相手より早く上がれそうで自分の手が
責任払いより大きい手になりそうなら勝負しますが何か
0125デフォルトの名無しさんNGNG
>>124
>相手より早く上がれそうで自分の手が
>責任払いより大きい手になりそうなら勝負しますが何か

2フーロだよ?上がれそうなだけで、勝負されても他の人に大迷惑!
何を根拠に相手より早く上がれそうって言ってるの?
中でロンかもしれないのに…。。
マジレスしちゃったけど、ネタじゃなかったよね??
0126デフォルトの名無しさんNGNG
>何を根拠に相手より早く上がれそうって言ってるの?
直感だろ

麻雀は確率推定なんだから
論理的な推測は不要でしょ。
0127デフォルトの名無しさんNGNG
な事はない。
>126はゲーム理論の書籍でも嫁
0128デフォルトの名無しさんNGNG
>>126
確率推定で中切るなって!
麻雀知ってるの?
0129デフォルトの名無しさんNGNG
>>127
否定するなら、もっと具体的にかいてくれ
個所と理由ね

コミュニケーション入門でも嫁
0130デフォルトの名無しさんNGNG
>>127
アフォですか?
それとも、賭け麻雀しか、しないのですか?
割れポンのように、1位しか意味が無いのなら
更に、オーラスで後がないなら勝負するだろ
0131デフォルトの名無しさんNGNG
>>130
割れポンって1位しか意味ないんだっけか?
トータルじゃなかった??
0132デフォルトの名無しさんNGNG
>>131
レギュラー番組だった時は、どうだか知らないけど
スペシャルは基本的にトータルで1位じゃないと意味がない
0133デフォルトの名無しさんNGNG
オーラスで上がれば1位って時でも、
中は切らないね。
0134デフォルトの名無しさんNGNG
おめーら頭わるいな。
ムリして通して大当たりハコテンのリスクと降りて二位以下に甘んじて次回に再起を期待するリスクを比較するんだろ。
0135デフォルトの名無しさんNGNG
>>134
後がないのに次回があると思ってるのか?
0136デフォルトの名無しさんNGNG
書き込みテスト
0137デフォルトの名無しさんNGNG
こればっかはなー。

フリー雀荘とかならハコラス+役満御祝儀のリスクを背負ってまで勝負したくないし
タイトル戦の決勝戦オーラス、一発裏無し、南場でもノーテン親流れするルール、親がトータルトップ、で自分は満貫、白発仕掛けた奴は役満で優勝という局面で
二二二三四678(2)(3)(4)(4)(5) ツモ中 ドラ(4)
で、ツモが後一回しか無いときなんかは叩き切らないとまずいだろうし(大三元かどうかは分からないが、ここでオリたら確実に優勝が無くなるため)。
0138デフォルトの名無しさんNGNG
後一回じゃないや。
自分の最後のツモ(ハイテイにあらず)じゃないと100%ではないな。
0139デフォルトの名無しさんNGNG
>>137
今回は、あまり意味無いけど
筒子と索子の違いが想像しづらいから
次から�@〜�H(筒子)と�T〜�\(索子)を使うが良いぞ
>>138
自分の上家が鳴けば…(そんな運任せは考えたくないが)
0140デフォルトの名無しさんNGNG
早いリーチは14とか単騎は西で待ては、昔からある古臭い格言だぞ・・・
0141デフォルトの名無しさんNGNG
平均順位を基準にして最強を決めるのであれば
1位をとることよりも4位を引かないことが大切
麻雀プロで白發鳴かれてるところに、3枚(自分手の内含む)見えてない限り中を切る人なんていない(マジで)
0142デフォルトの名無しさんNGNG
>>124
それだけの考えで勝負するなよ
流局すれば、数万点が飛び交わずにノーテン罰符だけですむんだぞ
0143デフォルトの名無しさんNGNG
>>142
ツモ上がりされて、数万点が飛び交う罠
0144デフォルトの名無しさんNGNG
おまえが出す確率を0に近くすれば、上がられる確率も減る
ツモ上がりは、そいつ自信で引かなければいけない
こっちが中を一枚もってるだけで、残りの中を手に入れるのが難しくなってる品
0145デフォルトの名無しさんNGNG
つか、基本ルール決めたほうがいいんじゃない?
赤ドラ使う現代の雀荘ルールに近づけるか
普通の基本っぽい麻雀ルールに近づけるか
一発・ドラ無しの競技麻雀に近づけるかとか
0146デフォルトの名無しさんNGNG
ルール関係ないか
確率出して打つんだもんな
0147137=138NGNG
>>139
一応麻雀板何切るスレでの書式にのっとって書いたんだがな。
機種依存文字なんざ使ってんじゃねえ、ということでこうしたという話なんだと。
やっぱいいかげんな状況設定じゃボロが出るなぁ、上家がリーチ掛けてるとかいう設定も要るのか。

まぁ、中で打ったら最低満貫、良くある跳満、時々倍満、滅多に無いが三倍満、最悪の役満てなわけである。
役満御祝儀がなくて万一役満ツモられるとラスが濃厚ってんなら行く手もあるかもしれないが。
0148デフォルトの名無しさんNGNG
>>144
最初から中を3枚持ってる可能性も、あるんだって
大切なのは中を出さない事じゃなくて、上がらせない事
だから、一意的に中を切らないのではなく
状況をみて判断する事が大切
(それこそ、安そうな他家にわざと振り込むとか)
ちなみに、やってはいけない事は
役万確定してる香具師がいるのにリーチしたりする事
0149デフォルトの名無しさんNGNG
点棒状況は把握できないと困るよな。
東家:24800 南家:21200 西家:28400 北家:25600 なんて状態で南家が1000点作りに向かってもどうしようもないし
2着目と11600点差でアガリトップ、お互いに子の時にリーチを掛けるのもちょっとどうかと思うし
箱飛び終了、南1局3本場、3着目、トップの親と20000、2着目と16000差、ラス目が3200点しか持ってない状況で跳満ツモってもつまらんし
0150デフォルトの名無しさんNGNG
4枚しかない同種牌を既に3枚持ってる確率と自分の1枚が欲しい確率どっちが高いと思う?
0151デフォルトの名無しさんNGNG
>>148
最悪を呼ぶ芽のひとつを潰すという点で意味はある、つうか中を切らないってのは白発と仕掛けた奴がいるという状況を見て最悪へ至る道を一つ潰そうと判断した結果じゃないのか?
通った < 他家の安手に刺さった < 刺さったが小三元のみだった < 他家の、もしくは小三元+αの大物手に刺さった < 叩かれた後他家が打った < 大三元に突き刺さった、もしくは叩かれた後ツモられた

大体大三元が匂っている状況ということは中はション牌か見えてて1枚。
残った中の在処は自分がツモってくるか、他家が切るなりうっかりこぼすなりしないと確実には知ることができない。
相手の手牌の何処から何が出てきたかを見て、持ってるかどうか推理するにしても、そのとき相手が几帳面な理牌の仕方をしている保証は基本的に無いし。
0152デフォルトの名無しさんNGNG
小三元のみはありえない
小三元・白・發で満貫になる
0153デフォルトの名無しさんNGNG
>麻雀フレームワークを作ってみようかと思ってるんですが
>麻雀の一般的なルールがよくわからないので、
>その辺の解説があるページありますか?
とりあえず、適当なソフトをダウンロードするのがいいです。

なんとなく麻雀っていうのをたまにやってるんですけど
あのマニュアルに「役作り一覧」があるのでご参考ください。
0154デフォルトの名無しさんNGNG
早く作って対戦させようよ。
0155デフォルトの名無しさんNGNG
4人が作って、同卓させる
で、100回くらい試合をして一番強いやつを作ったやつが優勝
0156デフォルトの名無しさんNGNG
一番強い奴が勝つ確率はどのくらいだろう?
0157デフォルトの名無しさんNGNG
25〜100%?
0158デフォルトの名無しさんNGNG
脱衣麻雀やるやつって打ち方が変。
下手な奴ほど麻雀好き。
おかげでこちらの懐も暖まります。
0159デフォルトの名無しさんNGNG
誰か整理してください。
麻雀プログラムの基本
�@麻雀牌の種類は 万子・筒子・索子の三種 9 * 4個づつ
         風牌・三元牌 7 * 4個づつ
         合計3*9*4+7*4=136個の牌
�A対戦者は4名、新しい牌を一枚ずつめくって要らない牌を捨てて
 あがりの形にする。
�Bゲームに使用する牌は通常 136-14=122 但し槓をする毎に+1枚
�C一人の持ち牌は通常13枚 但し槓をする毎に+1枚
�Dあがりとは基本的には4面子・1雀頭ができた状態のこと
 面子の種類には順子(123や678)、刻子(444や中中中)、
 槓子(2222や西西西西で槓の宣言をしたもの)の3種類があります。
 雀頭は同じ牌二枚の組み合わせ
�Eゲームに使用しない牌のうち一枚はドラ表示牌となる。
 ドラ表示牌の次の牌はドラとなり一翻UP
�Fその他、役や点数は下記参照
ttp://www.dec.jpn.org/~gatoh/mjrule/mjruletop.html#mjrule01
0160デフォルトの名無しさんNGNG
七対子
一一226677南南白白發發
0161デフォルトの名無しさんNGNG
国士無双
一九(1)(9)19東南西北白發中
0162デフォルトの名無しさんNGNG
�B間違ってます
カンを1するごとに、その時のハイテイ牌を残すんです
だから、最後に場に残るのはかならず14枚
0163デフォルトの名無しさんNGNG
悲しいときー
オープンリーに自分がリーチしてないのにふりこんだ時ー。
0164デフォルトの名無しさんNGNG
人和は無いほうがいいな
人によって解釈が(上がり翻さえも)さまざまで一応ローカル役気味だし
流し満貫のほうがメジャーだ
0165デフォルトの名無しさんNGNG
訂正します。
上記�Bゲームに使用する牌 136-14=122


麻雀最強のセオリー

�@早あがりではなく期待値(あがれる確率*あがった時の点数)を計算する
�A期待値の計算の際には次の項目を考慮する
 1.あがれる確率に考慮するもの
  1)残りのあたり牌の数
  2)残りのあたり牌のうち相手の手配になっている数(予測)
  3)残りのツモ回数(鳴きを考慮する)
  4)自分の捨て牌の迷彩度
 2.あがった時の点数に考慮するもの
  1)ドラがのる場合
  2)海底摸月・河底撈魚・嶺上開花・搶槓・一発になる場合
  3)面前清自摸になった場合
 3.その他
  1)両面待ち以上の時は各々の期待値の合計
�B自分の期待値−相手の期待値(予測)で勝負する。
�Cトップをとるための必要点数を考慮する(残りの局数も)
�D相手に早あがりを誘い点数を下げるため、ノーテンリーチもある
0166デフォルトの名無しさんNGNG
�E2着・3着でも構わない場合はウマも考慮する。
0167デフォルトの名無しさんNGNG
(配牌から)聴牌をとるまででの残り枚数も考慮予測していかないと、
そしてその場合の将来の上がり牌候補の枚数も常に。
聴牌するころには上がり牌が少なくなってるんじゃ駄目だ。(期待値が高ければいいが)
0168デフォルトの名無しさんNGNG
>>166
用語をしらんから説明いれてかいてくれ。
0169デフォルトの名無しさんNGNG
ウマとは巨根のことか?
0170デフォルトの名無しさんNGNG
>>165
1.の4)自分の捨て牌の迷彩度←いらない
3.�D相手に早あがりを誘い点数を下げるため、ノーテンリーチもある←ない

あと、2.の意味がよくわからんので詳しくお願いします。
0171デフォルトの名無しさんNGNG
http://www.ma-jan.or.jp/rule.htm
ルールはこれでいいんでねか?
0172デフォルトの名無しさんNGNG
迷彩度はリーチかけて出やすいものかどうかを考えるときかな
ひっかけとか
0173デフォルトの名無しさんNGNG
>>170
迷彩評価は最強めざすならいるだろ。
簡単にやれば
真ん中をきると待ち有効度みたいなのから端牌いがいの牌の値を1マイナス、
またすじを100マイナスとかで
0174165NGNG
捨て牌の迷彩は要らないですか?
ノーテンリーチはトップほぼ確定の状態で自分がたまにするので入れてみました。
2.の意味は点数が運任せなものについても点数を多少上積みして計算
しないと正しい期待値計算にならないという意味です。
0175デフォルトの名無しさんNGNG
ウマは1位が4位から、2位が3位から貰える点数のこと
1位はこの他にオカが入る
0176165NGNG
>>171
私は異論ありません。
ただしリーチ一発と裏があるBルールが希望です。
0177デフォルトの名無しさんNGNG
>>171
そのルールは一般的じゃない
0178デフォルトの名無しさんNGNG
>>176
日本で一般ていったら普通それがはいるよな。
0179デフォルトの名無しさんNGNG
>>176
そうすね。じゃアリで。
0180デフォルトの名無しさんNGNG
裏ドラ以前に、チョンボとウマのところが一般とかけ離れてる
0181デフォルトの名無しさんNGNG
流し満貫は採用しないのか?
リンシャンの責任払いって現代の雀荘から無くなってきてるよ?
ダブル役満。トリプル役満は無し?
0182デフォルトの名無しさんNGNG
もっと普通の奴だせや!
0183デフォルトの名無しさんNGNG
・現物以外の食い替えを認める。
これも殆どの雀荘だと現物・スジの食い替えは無しになってるな
0184デフォルトの名無しさんNGNG
しかも、たしかプロの試合って30000点持ちの30000点返しだよね
0185デフォルトの名無しさんNGNG
もっとメジャーなルールのURLだしてくれ。
または全部書いてくれ。
0186デフォルトの名無しさんNGNG
リアルでのメジャーとゲームでのメジャーが違うんだよね
たとえばリアルだと赤ドラ・祝儀ありで、ゲームだとそれらがないものが殆ど
そしてそれらの有無でゲーム性が全く違ったものになってくる
0187デフォルトの名無しさんNGNG
つーか、場所によって多少ルール違うんだから、それら全てに対応してなきゃ最強とは言えん
0188デフォルトの名無しさんNGNG
「今夜も朝までパワフルまあじゃん」
が最強だったと思うんだがいかがか?
0189デフォルトの名無しさんNGNG
Bルールの一発裏ドラあるけど、カンドラ・カン裏無いってのも疑問。
0190デフォルトの名無しさんNGNG
とりあえず誰かルール案だしてみろ
0191デフォルトの名無しさんNGNG
>>187
>つーか、場所によって多少ルール違うんだから、それら全てに対応してなきゃ最強とは言えん

できるものなら、やってみれ。
ttp://www10.plala.or.jp/rascalhp/
0192165NGNG
荘風  東南戦
開始点 25,000点
返し点 30,000点
確定点 30,000点超
ウマ 10-30
連荘 テンパイ
途中流局 連荘
割れ目 なし
焼き鳥 なし
一発 あり
0193165NGNG
裏ドラ あり
槓ドラ あり
ダブロン あり
トリプルロン 流局
くいタン あり
赤牌 各5一枚
あがりやめ あり
チップ なし
繰上げ満貫 なし
積み場 あり
人和 あり
流し満貫 あり
喰い変え なし
トビ あり
0194デフォルトの名無しさんNGNG
25000持ち30000返し
食い替え一切無し
ドラ・裏ドラ・カンドラあり
リンシャンカイホーによるパオ無し
チョンボは満貫払い
人和は無し
三倍満は11翻から数え役満13翻から
ダブル役満あり(役満の重複を認める)
四暗刻単騎待ち・九連宝燈9面待ち・国士無双13面待ち・大四喜和はダブル役満
流し満貫あり
0195165NGNG
漏れの打っているフリー雀荘のルールでは
これのチップありで打っている。
さらに先ツモ有り(藁
0196デフォルトの名無しさんNGNG
2翻縛り無し
0197デフォルトの名無しさんNGNG
なかなかよいと思う。
0198デフォルトの名無しさんNGNG
>>192-194
それはそれでおいといて

とりあえず、東風荘のルールでいいかと。
0199デフォルトの名無しさんNGNG
ダブロンは頭ハネにしようよ
赤牌無しでいいんじゃねーか
モロ雀荘ルールじゃねーか
さらに四家立直も続行って書きそうだな
0200デフォルトの名無しさんNGNG
>>198
なんで?
とりあえずどんなんだ?
0201デフォルトの名無しさんNGNG
おまえらアフォだな。
>>1を見てみろよ。桜井章一だぞ。

ここは雀鬼会ルールで。
0202デフォルトの名無しさんNGNG
とりあえず、もまいらビデオ屋で「真・雀鬼」シリーズ(清水健太郎主演)を借りて来い
麻雀知らんやつでもなんとなく分かる
0203デフォルトの名無しさんNGNG
東風荘麻雀ルール
ttp://mj.giganet.net/yaku.htm
0204デフォルトの名無しさんNGNG
東風荘であたりまえのようにやってる西入は古代ルール
0205デフォルトの名無しさんNGNG
>>200
東風荘がインターネット麻雀で最もポピュラーだからじゃない?
0206デフォルトの名無しさんNGNG
3/4の牌が透ける、鷲巣麻雀で(w
0207デフォルトの名無しさんNGNG
ルールはここで、
いくら議論しても決まらないだろ!
とりあえず>>192 >>193
でダブロンは頭ハネで考えてみない?

で、最初に議論すべき項目は
「迷彩について」だと思う。
>>173
それは"待ち読み評価"じゃない?
オレは迷彩をする人は初心者と上級者には勝てないと
思うけど…。
0208デフォルトの名無しさんNGNG
アカギキタ-----(゜∀゜)-----!!
0209デフォルトの名無しさんNGNG
迷彩は必要だよ
たとえば、この配牌を見てくれ

四(7)2223445569西 北ツモ
明らかに染め手狙いでいける手だが、ここで、四や(7)から切ったのでは最後の上がりのときに
染め色バレバレでツモ上がりしかできなくなってしまうかもしれない
だけどこれを9や西をはじめに一個切ることで最後の上がりのときに、警戒度が全く違う
無論普通の手(普通の速度の手)を迷彩したりしない
0210デフォルトの名無しさんNGNG
あと、カベを使った上がり方とかも迷彩の一種かと
0211デフォルトの名無しさんNGNG
あと好牌先打も迷彩の一種になる
0212デフォルトの名無しさんNGNG
多少の気まぐれも必要かも。
似たような価値の牌がある場合に、いつも同じ順に切らないようにする感じなやつ。
西と北があったとして、西→北と切るようになってるとすると、
相手は北が出てきたら、西が使える状態にある又は西を持っていないと読むことが出来る。
0213デフォルトの名無しさんNGNG
おまえらプログラムできないでしょ?
麻雀の話なら他でやれば?
0214デフォルトの名無しさんNGNG
おまえら最強はイカサマルーチン組み込むことだろ。
深く考えるなボケ!!
0215デフォルトの名無しさんNGNG
>>213
おまえ麻雀できないでしょ?
ここじゃあ使えんからよそいってくれ。
0216コウリュウNGNG
な・・・なんということ・・・

囲碁スレ、将棋スレ、麻雀スレの三兄弟により
マ板糞スレ1800年の歴史は
今、最強の時代に!!

神は、なぜ、同じ時代に
三人の非凡なスレを送り出したのだ!

おのおのが名に恥じぬ糞スレとなったであろうに・・・・・・
0217デフォルトの名無しさんNGNG
麻雀の知識とプログラムの知識、両方が必要だと思うぞ。
どっちも無いなら使えないな。
0218デフォルトの名無しさんNGNG
>>216
この板やつらは初心者にえらそうに教えたり
他言語たたいたりしかできんから
おまえのような奴には荷が重すぎるってことだな。
0219デフォルトの名無しさんNGNG
オマエモナー
0220デフォルトの名無しさんNGNG
ツモった直後の14牌のデータを与えられて、それが上がっているかどうかを
判定するだけのプログラムですら、考えただけで頭爆発します。

0221デフォルトの名無しさんNGNG
>>220
俺も。
こういうアルゴリズムかんがえるのは大変だな。
まあ俺がヘタレだからなんだが。
0222デフォルトの名無しさんNGNG
もちろんVBで作るんだよな
0223デフォルトの名無しさんNGNG
>>222
えっ!
HSPじゃなかったの!
0224デフォルトの名無しさんNGNG
頭を爆発させるプログラムの方が難しいよね
0225デフォルトの名無しさんNGNG
RPGツクールで作るんだろ?
0226デフォルトの名無しさんNGNG
>>220
考えるな。調べれ。
この板の過去スレにしっかり載っている。

http://piza.2ch.net/tech/kako/980/980791374.html
0227デフォルトの名無しさんNGNG
漢ならアセンブラで久米
0228デフォルトの名無しさんNGNG
あがりになっていて、さらに得点の高いほうでファイナルアンサーね
0229デフォルトの名無しさんNGNG
>>209
なぜ初心者と上級者に勝てないと書かれたか分かる?
初心者……河を基本的に見ない -> 意味が無い
上級者……中途半端には回らない -> 意味が薄い

だいたい最初に9とか西とか少々切ったくらいではどっちみちこの場合ソーズが高くなって警戒度なんてまるで変わらないだろ。
第1打4とか5ならまだ警戒も薄れるが、ツモにかなり注文をつけることになる、フリテンの危険もある。
0230デフォルトの名無しさんNGNG
>>229
この9は最終形になった時要らない可能性が高い9ですよ
どっちにしろ要らなくなるなら、初めに切って迷彩したほうが効果的です
というのを含めた期待値を出す
ちなみに8引きは6でカバーできます
裏目になるのはすでに捨てた9を持ってきたときだけ(そんなに引く確率は高いかな?)

5巡で聴牌したときの捨て牌を見てください
普通に切って言った場合の最短
4(7)西北9
↑中から切れて不自然です

迷彩の
9(7)西4北
↑普通の手に見えるでしょう?これが2,3巡遅れても普通の手に見えるでしょう
0231220NGNG
>>226

そのスレ面白かったYo。
特にレス 10 - 12 はワラタ。
0232デフォルトの名無しさんNGNG
その辺のソフトが相手だと、明らかに迷彩が有利
ホンイツチンイツ狙いで使う色や字牌から切るのは愚行で
殆ど無いと思考されているから

下の捨て牌だと、染め手は思考されにくいが
上の捨て牌だと、もちろん思考の内に入る

っていうか、あの配牌でも上がりやすさ(他の人からの上がりやすさ含む)の期待値から迷彩使わないのが正解かもしれんが、
それは最強プログラムの仕事だ
0233デフォルトの名無しさんNGNG
迷彩は余裕のある手のときだけで、
フリテンになる可能性が高い場合にそんなことはしないでしょう
ま、例が中途半端な余裕度(?)だったからスマソ
0234デフォルトの名無しさんNGNG
ttp://www.amy.hi-ho.ne.jp/ishihata/maujong/
こんなのに頼ってみるのも一興じゃなかろうか。

>9(7)西4北
>↑普通の手に見えるでしょう?これが2,3巡遅れても普通の手に見えるでしょう

本当にそう見てもらえるか?
(7)も西も4も北も手出しなのに?
手なりではまずないし、安牌を抱えて打ったとしたら西と4の順番がおかしいように思う俺は負け組みだろうか、いや負け組みだけど。
0235デフォルトの名無しさんNGNG
あ、そうか、最適混合戦術とかいうやつか。
0236デフォルトの名無しさんNGNG
 ” 上 の よ り は ” w
0237デフォルトの名無しさんNGNG
>>234
手が早ければ普通の手でも後ろから2番目に手出しで4が切れることは普通だと思わんか?
早いなと思わせるのは仕方が無いが、染め手かどうかをかく乱しようとしている部分に意味がある

そのサイト見れないの俺だけ?
(・∀・)マッシーロ!!
0238デフォルトの名無しさんNGNG
>>237
4手出しって事は西を切る時点で4を持っているということ。
もう何処で4面子1雀頭を作るかが確定していて、安牌抱え打つなら西より先に打4とするだろう。
もし4手出しがあるとするなら両面への変化、46と持っていてツモ7、44と持っていてツモ3か5か。
でもそんな手なら(7)も持っとくだろうし……
後は点棒状況から手役を狙う必要があって、安目を否定したとかか?
0239デフォルトの名無しさんNGNG
つか、今の段階でそういうのはどうでもいいんで・・・主題を掴んで欲しかった・・・
書き終わってから4書いてないから足したらあそこに挟まってたって感じワラ
0240239NGNG
あんまり几帳面じゃないヘボなんで混乱招くといけないし控えることにします
0241デフォルトの名無しさんNGNG
久々にこのスレみたら、
まだ麻雀初心者がいるみたいだね。
例(>>209)で迷彩をして一色手を普通の手に
みせるって書いてたけど、意味ないよ!
8ツモはカバーできるって書いてたけど、
カバーできてないし…。。

>>212
気まぐれは必要ない!!
西も北も場面によっては価値が違うからね♪
例えば、自分が東家だとしたら北を先に切るでしょ?
(それも状況によるけど…)
0242桃花NGNG
ブロードバンド・コンテンツ配信サービス
PlayStation 2 ゲームダウンロード
http://sagatoku.fc2web.com/025game.gangu-01.htm
0243165NGNG
ところで言語はVBで決まり?
0244デフォルトの名無しさんNGNG
>ツモった直後の14牌のデータを与えられて、それが上がっているかどうかを
>判定するだけのプログラムですら
それはちょっとやばいかも・・・
0245デフォルトの名無しさんNGNG
>>244
きれいにかけないって意味じゃないの?
てきとうにやったら一応できるだろ。
0246デフォルトの名無しさんNGNG
>>245
やってみてよ
0247デフォルトの名無しさんNGNG
>>220じゃないが、実際難しいよ。
点数計算だけど。

面子の取り方だけど、
雀頭の可能性のある対子を全検出したあと、
それぞれについて順子優先と刻子優先で
面子に切り分けていけば、完全網羅できるのか?
0248デフォルトの名無しさんNGNG
>>246
なんで俺だけ口先だけスレで組まなくちゃいけないんだよ。
しかも頭をきめてあとは総当たりしかうかばねーよ。
あたま爆発しそうだよ。
0249デフォルトの名無しさんNGNG
>>247
チンイツの待ちを判定するプログラムならたぶんバグのないものを書いた。

複雑な手牌(おもにイーペー含み)なら雀頭を切り出すよりも面子の可能性があるものを
先に切り出した方が速いはず。んで再帰呼び出しを使う。
自分より知識のある人なら綺麗で短いソースを書くのは簡単だろう。

問題はもっと別なところにある。
得点の高いアガリを読むといったって、序盤から読んだら実用にならないほど膨大な計算量になる。
かといって「初めは手なりですすむ」という作戦は「高いアガリ」とはほど遠いもの。
>>209の手で五をツモってきたときにも向聴数は落ちるから、単純ではプログラムは手が進んだと解釈する。
そういう作戦の判断というか打ち筋の部分をまず考えないと何もできないとおもうがどうよ?
0250デフォルトの名無しさんNGNG
>>249
でも、序盤から読まないと"最強"にはならない。
配牌から理想形をイメージするアルゴリズムが必要だね。

例えば配牌でソーズと字牌で9牌以上あったら、
ホンイツを目指すとか。
もちろん場と点棒状況も考慮する。
0251248NGNG
それはそれで手替わりを考慮できないプログラムになりそう。
イーペー狙いからチートイに変更なんて事も(人間には)あり得るし。

というか、本当に完全に人間の真似をするプログラムが強いのか?
人間のファジーさを組み込むのは並大抵のことでは無い気がする。
0252デフォルトの名無しさんNGNG
学習機能だけ書いて
あとは、俺たちで打ちまくって鍛えるからw
0253デフォルトの名無しさんNGNG
>>251
配牌を得た状況で、
理想形をイメージする。
っで、1巡ごとにその理想形の検討が必要だね。
枯れてくる牌もでてくるから。
0254デフォルトの名無しさんNGNG
配牌の残りが15?くらいになったら全て先読みすれば、理想的な打ち方ができる。
0255デフォルトの名無しさんNGNG
>>254
配牌??
0256デフォルトの名無しさんNGNG
多牌です
0257デフォルトの名無しさんNGNG
>>254
山のことかな?
でも15牌っていったら、
もう海底だけどね…。。
0258デフォルトの名無しさんNGNG
みんながみんなちゃんとした言葉をつかって打ってるわけじゃないからなぁ。
まあ山ぐらいわかると思うが。
そこらへんは意味がとうるように理解してあげよう。
0259デフォルトの名無しさんNGNG
>>258
意味が通らないんだって…。
>>254はどーいう意味なの?
0260デフォルトの名無しさんNGNG
多分、残り4巡切ったらってことか。
でも完璧ったって3打しかできないよなあ。
0261デフォルトの名無しさんNGNG
シャンテン数を落とすのと、
手を高くするのはどちらが有効かを
評価するアルゴリズムが難しいのでは?
0262デフォルトの名無しさんNGNG
全ての場合について先読みすれば完璧な麻雀プログラムができあがる。
これ最強だね。
0263デフォルトの名無しさんNGNG
>>262
先読みって何?
具体的にお願いします。
0264デフォルトの名無しさんNGNG
>>263
牌の数は有限。
自分の配牌と捨牌、その他判明している牌を除いた牌が不明牌である。
その不明牌の配置の全ての場合を列挙し、最高の期待値となる分岐先へとゲームを進める。
場合の数は膨大になるが、ゲームが進むにつれ、減少していく。
そして残り3〜5巡くらいが現在のパソコンで計算可能な範囲であろう。
0265デフォルトの名無しさんNGNG
強化学習を使ったバージョンは是非作ってみたいね。
0266デフォルトの名無しさんNGNG
「流れ」を考慮してステハイしないとな。
0267デフォルトの名無しさんNGNG
最強の麻雀プログラム。
それは、当たり牌臭いものを、サクサク捨てるが
決して本物の当たり牌は捨てないプログラムだ
また、ツモられそうになったり
自分の欲しい牌がある時は、鳴いて流れを変えてこそ最強
以上、これを実装する為に、まず、第6感を備える事が出来る
ハードとプログラムを作るが良い
0268デフォルトの名無しさんNGNG
>>264
すべての場合を列挙するのと不明瞭牌で作れる最高の役(または意味ある役)を
考えるのとどう違うのか? いちいち意味ないのも全部出して意味あるか?
ほんのわずかな意味ある手だけ考えろよ。
0269デフォルトの名無しさんNGNG
今までマトモな思考アルゴリズムを搭載した麻雀ゲームって
本当に存在したんでしょうか?
0270デフォルトの名無しさんNGNG
先読み=確率計算なんだけどね
0271デフォルトの名無しさんNGNG
http://www8.plala.or.jp/ara3/mj/strategy.htm
0272デフォルトの名無しさんNGNG
>>268
無意味か有意義かをどのようにして判断するのだ。
牌がどのように配置しているのか不明なのに正確に判断することなど不可能だろ。
0273デフォルトの名無しさんNGNG
>>264
無駄な計算だね!

自分のほしい牌が山に残っているか否かで充分!!
0274デフォルトの名無しさんNGNG
>>273
それではせいぜい人間レベルの実力しかムリ。
最強を目指すなら完全読み切りだろ。これなら人間はかなわない。
0275デフォルトの名無しさんNGNG
>>271
これはひどいなぁ。
将棋には必勝法があるだってよ!!
ぜひおしえてほしいね。

ってすれ違いごめんなさい。
"おまいら最強の将棋プログラムしてみろよ"
に逝ってきます。
0276デフォルトの名無しさんNGNG
ないと主張するなら
ない事を証明しないとね。

否定の意思表示ならサルでもできるよ。
0277デフォルトの名無しさんNGNG
>>276
あるんだったらそれを証明しろ!!
0278デフォルトの名無しさんNGNG
>>275
よう分からんけど、>>271のリンク先の
将棋とオセロの話は、突き詰めて行けば
先手か後手かどちらかを取った方が必ず勝つ
と言う意味の必勝法だと思われ
0279デフォルトの名無しさんNGNG
最大最小木が構成できるという事実から、
自明であると思うけど。

0280デフォルトの名無しさんNGNG
将棋には、持将棋と千日手のルールが存在するから、引き分けの可能性も排除できないのではないのかい。
0281デフォルトの名無しさんNGNG
利積「我々は目指そう、パーフェクトな1000打を!!」

>その不明牌の配置の全ての場合を列挙し、最高の期待値となる分岐先へとゲームを進める。
言いたいことが分かるようで良く分からんのだが……
暗槓その他仕掛けが入らず、残り3順だとして、不明なのはツモ山に9枚、王牌に13枚、対局者39枚の計61枚。
これら全部を読みきろうとでも言うのか?
この場合、「最高の期待値」ってのは何なのか?

爆牌を超えるつもりか?
0282デフォルトの名無しさんNGNG
>>274
完全読みきりは最強の要素に入ってないよ。ただの無駄な処理。
0283デフォルトの名無しさんNGNG
>>282
きみ頭悪いな。
0284デフォルトの名無しさんNGNG
>>283
ははは。まぁ意味があることでも証明してから言いなさい。
「たーくさん考えたからきっとすごいんだ。」以外にね(w
0285247NGNG
全ての牌が透けて見えても、自分の負けがわかるだけって事もあるからな。
黄泉の深さは余り必要ないと思われ。

>>249
サンクス。
でも、結局雀頭から切り出すようにして書きますた。
一応動いてはいるが、どうやってテストしたらいいんだろう。。。
0286デフォルトの名無しさんNGNG
え、本当に作ってるの?!
0287デフォルトの名無しさんNGNG
麻雀強くてプログラムばりばりな奴いないの?
将棋のスレでもこんなこと書かれてたけど、
そんなやついたら、もう作られちまってるカモナ
0288デフォルトの名無しさんNGNG
おれ一応将棋四段でプロのプログラマだけど、将棋のプログラムを本気でつくるなら不眠不休で3ヶ月は必要。
結論としてはそんな暇ない。
麻雀はそれよかずっと簡単だが、それでもまともなものつくるのなら一ヶ月は必要だろ。
0289デフォルトの名無しさんNGNG
デジタルKEIです。重いけど見てくれ
http://homepage3.nifty.com/digikei/ten.html
0290デフォルトの名無しさんNGNG
>>289
板違いのマルチで宣伝を繰り返すこのウジ虫サイトを
ム板の技術を結集して潰しちゃってください
0291デフォルトの名無しさんNGNG
俺、東風荘で最高R1940のHSP厨です
0292デフォルトの名無しさんNGNG
>>288
おいおい口だけ君か?
ちなみに俺は天才プログラマー且つ天才ジャンシなわけだが
忙しくてつくれないな。
0293デフォルトの名無しさんNGNG
>>288
せめて「アマ」四段といえ。プロ棋士に失礼だ。

>>265
http://www.sun-inet.or.jp/~yaneurao/rsp/rspC9toCF.html
先達はこのように言ってるがね。
麻雀は偶然に支配されるゲームだから学習も一筋縄ではないのだろう。
0294デフォルトの名無しさんNGNG
偶然の量は、プレイヤーみな同じ
その偶然を一滴たりとも漏らさないようにようにするのが腕の見せ所
0295デフォルトの名無しさんNGNG
良い方の偶然をね
0296デフォルトの名無しさんNGNG
>>293
学習は簡単な場合分けならできそうだけどね。
・平和で上がれる確率が何%の時、平和に手をもっていく確率はどのくらいか
・タンヤオではどうか、
・役牌を一鳴きするか
後は、
・現在の得点状況
・後何局か
とかを組み合わせればどうよ。

大物手を狙いやすい奴。
せこせこ小さい手で上がる奴。
すぐ鳴く奴、
状況を理解しないで上がる奴。

とかぐらいは場合分けできそうだ。
0297デフォルトの名無しさんNGNG
あ、上のは人間の手牌も見れる、という前提ね。
捨牌だけだとかなーり大変そうだ。
0298デフォルトの名無しさんNGNG
相手の手牌みれたらそりゃ最強だろっていうツッコミはともかく、
打ち筋を確率で表現して学習させるのはいいかも。
結局人間の上達の基本的な道からはずれていないから、
PC流のアプローチとしては面白くないけどね。

ところで平和の判定と簡単にいうけれど、たぶんそれが実装できるのなら
他は大した手間じゃない。手の内に順子のみが入りそうで、最後は両面待ちになる
なんて事を予測するのは相当うまい予想アルゴリズムが必要。
(両面待ちの判定を捨てるなら少しは容易に構築可能かも知れないけど)

#本当に組むなら言語と共通仕様を先に決めた方がいいかモナー。
0299デフォルトの名無しさんNGNG
上がれる確率は聴牌の形を想定して、そこから逆算していけばどうかな?

例えば
22 68
という形の時は上がれる形は
22 678
だけ。7の残り枚数に依存する確率だよね。

12 68
の場合は、聴牌に必要な牌は
1、2、3、6、7、8
のどれか。
個々の牌を積もれる確率はわかる。
で、それを積もって、さらに上がれる確率も計算できる。
2手先を読むような感じで計算できないかな。
0300デフォルトの名無しさんNGNG
>#本当に組むなら言語と共通仕様を先に決めた方がいいかモナー。
3月ごろまでに作るように努力します。
言語はJAVAがいいと思うんですが、C#にしようかな・・・

とりあえず、俺は麻雀初心者なので
今度本を読んで勉強しようと思っていますが、
麻雀プロ級の方に質問。

どんな関数があれば、いいと思いますか?
思いつくだけ列挙してくれるとうれしいのですが。
例えば
自分の牌と、捨て牌だけから
次に引いてくる牌の確立を計算する関数
とか。
0301165NGNG
麻雀はフリー雀荘で8割方プラスで帰れる又は東風荘で1700〜1800って感じ。
プログラムはC,PHP,ASP,VB,HTML(プログラムか?)を趣味程度にやってます。

関数について提案です。

あがりとは基本的には4面子・1雀頭ができた状態のこと
そのあがりの形に持っていくために、如何にして
好条件のルートを選択するかというのが基本になります。

四(7)2223445569西

たとえば上記のようなケースでは次の牌をツモると4面子1雀頭に近づきます。
【期待牌】 三四五 (6)(7)(8) 123456789 西

しかしここで安易に全てが必要牌というわけではありません。
期待値というものを考慮しないといけないので、大雑把に書くと
次の(A)(B)の最終形が対戦している四人の中で一番最初にあがれる確率を
20% 50%としましょう。(麻雀は最初にあがれることが重要なゲームです)
0302165NGNG

22234455678999   清一色    6翻12000点 * 20% = 2400点
四五六(7)(8)(9)22334455 平和・一盃口 2翻 2000点 * 50% = 1000点

となり、期待値では清一色を狙うべきだと出ます。
なお、上記の20% 50%の計算は
【期待牌】三四五 (6)(7)(8) 123456789 西
をツモる確率、鳴ける確率等を元にして算出します。


但し、全て期待値に従っていれば良いのではなく目指す最終形によって
必要な牌は違ってきます。
例えばなにをあがっても良い序盤の局面では、期待値に従っている限り
全てが必要牌になりますが、12000点を取らないとトップにならない
局面と、1000点でもあがればトップになれる場合では自ずと
選ぶ必要牌は違ってきます。

ここまででソースのヒントはできたと思いますが、ご質問はありますでしょうか?

なお私は個人的には、これにさらに捨て牌の読みを入れるべきだと思います。
0303165NGNG
1.牌パイから期待牌を取得

2.期待牌の組み合わせで完成できる役をシミュレーション = 完成形

3.シミュレーションした結果で状況的に選択可能な最終形を計算する。 = 最終形
  不要な期待牌を削除して、期待牌を必要牌に変換する。

4.最終形から必要牌をツモった場合に捨てる牌をシミュレーション = 捨て牌

5.捨てる牌が相手のあたり牌である確率を計算。
  相手があがった場合の点数をシミュレーション。
  捨て牌があたり牌である確率 × あがった場合の点数 = 危険度

6.残りのツモ回数+鳴き回数のうちで必要牌を全てツモる確率を計算 = あがり率

7.自分の期待値 − 危険度 = 決定値
0304165NGNG
ざっくりですがこんな感じで如何ですか?
0305デフォルトの名無しさんNGNG
>>300
関数は誰もが使うライブラリのようなものをつくるのかな?
必要牌の推定や読みの部分は165氏のような上級者にお任せして、
もっと基本的な部分を提案するとすれば、
「手牌と捨て牌から残りの有効牌の数を調べる」
「残りの有効牌の数からタンヤオその他に使える牌数を調べる」
「対戦相手の捨て牌からヤオ九牌や各色の切られた数を調べる」
とか、考えればいくらでも作れると思います。
もし機能に不満があれば各個人が(JAVAでいう)オーバーライドすればいいので。
また、山や王牌がプレイヤーから直接覗けないようにしなければならないので、
ツモ牌やドラを与える関数も必要でしょうか。
0306デフォルトの名無しさんNGNG
・相手が読むことを想定した打順(迷彩)
・相手一人一人の好みを読んで狙いの推定を行う(危険度の補正)
・場の条件によって修正する戦略(オーラスであえて振り込むとか見逃すとか、
海底やツモが付くことで倍満やらになるときにはダマでいくとか)

おもしろそうだけどきりがないのー
0307300NGNG
どうもです。
非常に参考になります。
理解度は70%程度と、もう2,3回は読まないとだめっぽいのですが。
とりあえず、ディスクに永久保存しておきます。
麻雀の本を読まないとな・・・

>関数は誰もが使うライブラリのようなものをつくるのかな?
二つの意図があって、
一つは誰もが使うライブラリを提供する目的ですが
(みんなで同じ物作っても仕方ないので)
もう一つは、麻雀CPUを作るにあたって、
どんな関数が必要で、それぞれがどの程度実現できるのかを
知っておく事は非常に有益だと思ったので。

>また、山や王牌がプレイヤーから直接覗けないようにしなければならないので、
>ツモ牌やドラを与える関数も必要でしょうか。
それは毎回コピーして、各プレイヤーに渡すのがいいですね。

3月に入ったらホームページを立ち上げますね。
0308デフォルトの名無しさんNGNG
牌の流れを感じないとだめぽ。
裏ドラで数えヤクマン作れないとだめぽ。
ナインを全て引き分けに出来ないとだめぽ。
0309220NGNG
プログラミングは出来るけど麻雀の事があまりわからん。

そういうプログラム作る場合に決めなきゃいけないと思うことを
思いつくままに列挙。

>>159 を引用

> �@麻雀牌の種類は 万子・筒子・索子の三種 9 * 4個づつ
>          風牌・三元牌 7 * 4個づつ
>          合計3*9*4+7*4=136個の牌

五満 とか 五筒 とか 5索 には赤いやつとそうでないやつがあったと思うのだけど、
これは区別しなくていいのかどうか。

春夏秋冬は要らないかどうか。

ネットワーク上で牌情報をやり取りする際に牌を識別する方法には、
すでに標準のようなものがあるかどうか。(例えば万子の 3 ならM3 とか。)

0310デフォルトの名無しさんNGNG
>>309
> ネットワーク上で牌情報をやり取りする際に牌を識別する方法には、
> すでに標準のようなものがあるかどうか。(例えば万子の 3 ならM3 とか。)

そういうものは単純に変換可能だから大した問題ではないな。

内部的には2バイト表現しておけば、ドラや赤の表現も問題ないだろう。
0311デフォルトの名無しさんNGNG
300には、まず「場」と「ルール」のプログラミングをしてもらいたいな。
評価関数については、うん、多少興味がある。いくつか試みたいことが。
0312デフォルトの名無しさんNGNG
ルールをどれだけ調整可能にするのかな。
汎用にするならかなり幅を持たせる必要がでてくるわけだが。
麻雀って地方ルールだらけでむちゃくちゃだしな(笑)
アルゴリズム競技用ってことで、スパッとひとつに固定しても良さげだけど。
0313デフォルトの名無しさんNGNG
固定でいいんじゃない。
アルゴリズム競技のインターフェイスが確定すればそこから調整可能だろう。
東風ルールでいいと思う。
0314247NGNG
あら、作ってる人もういるのか。
c++でつくろうかと思ったんだが。
いま、役判定書いてますが、激しくややこしい。
ま、一通り出来たらほうこくしま。

0315300NGNG
>300には、まず「場」と「ルール」のプログラミングをしてもらいたいな。
今はちょっと忙しくて、何もできないので
3月の頭くらいまで待ってください。
abstract class Player{
public ReturnObject methodName(Information information)
}
を提供できるまでに、もっていきたいと思っているので。
メソッド名は何がいいんですかね・・・
turnかな?

ネックとなるのがルールなんですよね。
まあ、できるだけ汎用的に作ろうとは思っていますが
どんなルールがあるのかを知らないといけないんですよね。

そういうわけでオススメの本なんかを紹介していただけると。

ネットワークはまだ考えてないんですが、
東風で使ってくれる事を目指して作ろうかなw
0316デフォルトの名無しさんNGNG
>>315
「場」については現況をチェックできるようにしたほうがいいと思う
(現在の順番、各人の捨牌、手出し、ツモ切りなど・・ネット対応を考えるなら)

> そういうわけでオススメの本なんかを紹介していただけると。
できたら、いちどフリー雀荘にいくのをお勧めする。マジで
雑誌などに広告を出してるレートの安い店(0.5とか3とか)なら
懇切丁寧に教えてくれるし、大体一般的な標準ルール。
本を読むより、プログラムの感覚もつきやすいはず。


0317デフォルトの名無しさんNGNG
まあ、井出洋介の本なんかが(プログラムを組むなら)向いてるかも知れん。
ググってみ。
0318個人的に好きなので、3連刻・4連刻採用キボーンNGNG
漏れの希望。
まず、サーバを構築(または東風荘のを流用?)し、クライアントのクラスを配布。
で、そのクラスを派生させて個人個人が組めるようにしてくれるとありがたい。

ごめん、日本語分かりにくいかも……
0319個人的に好きなので、3連刻・4連刻採用キボーンNGNG
って前に同じ発言が…… 逝ったきます。

あと、できれば他の言語でも開発できるようにインタフェースを公開して欲しいっす。
0320300NGNG
247さんも作ってるようですが、
まあ、先に完成してしまったら作るのやめようかな・・・
なんせ、忙しくて・・・3月後半は日本一暇な可能性があるわけですが。
21〜23日に時間ができたので
その時にチョコチョコやってみます。

あ、みなさんチョコもらえそうですか?

>あと、できれば他の言語でも開発できるようにインタフェースを公開して欲しいっす。
公開も何も流行のGPLとかBSDライセンスで・・・
そうじゃないと、CPUの実験もできないと思うので。
ただ思うのは、テスト環境を作るのにJAVAでサーバーとして
立ち上げなくちゃならないので、別途ライブラリーを持ってる人とか
言語にこだわりのある人以外は、他言語で開発する意味が
ないような。

あと、サーバーでもつかえるような設計をする予定であって
最初からソケットで書くのはどうかと思ってます。
SC化するには、ソケットで飛んでくるデータを変換するPlayerクラスを
用意すればそれでいいと思うんで。

>できたら、いちどフリー雀荘にいくのをお勧めする。マジで
それは無理ですw

>「場」については現況をチェックできるようにしたほうがいいと思う
毎回鳴けるかどうかの判定をして
鳴ける時に限って、情報のコピーを渡して
鳴くかどうかを決めさせるのがいいですね。
0321220NGNG
●ネットワーク上で牌を伝達する際の識別方法案。
牌を英数字2文字で表す。

萬子: M1 M2 M3 M4 M5 M6 M7 M8 M9
筒子: P1 P2 P3 P4 P5 P6 P7 P8 P9
索子: S1 S2 S3 S4 S5 S6 S7 S8 S9
東南西北: TO NA SH PE
白發中: HK HT CH

考慮していないこと:
赤牌、花牌
0322220NGNG
●麻雀をする者を表すクラス Player のイメージ(Java)

/** ツモ切りする Player */
public class TsumogiriPlayer extends Player {
  public void turn(Context context) {
  }
}

/**
 * 東を引いてこない限りツモ切り。
 * 東を引いてきたら、面前の一番左にある牌を捨てる Player
 */
public class ILoveTon extends Player {
  public void turn(Context context) {
    Pai tsumo = context.getTsumo();
    if (tsumo.equals("TO")) {
      Pai[] menzen = context.getMenzen();
      context.setDrop(menzen[0]);
    }
  }
}

turn(Context) が自分の順番になるたびに呼ばれる、と想定して書いたのですが、
このままだとほかの人が鳴いたことを知ることができないなぁ・・・。
まあ、案ということで・・。

上の例では turn(Context) が呼ばれたときに渡される Context オブジェクトには、
あらかじめ切る(Dropする)牌として、自模ったものが設定されているつもり。
0323デフォルトの名無しさんNGNG
おっ、オレのおかげで麻雀ソフトの開発が進んでいるみたいだな。
よしよし精進しろよ。結果は有効に利用してあげよう。
0324デフォルトの名無しさんNGNG
1局を開始するごとにPai(牌)オブジェクトを136個生成し、
ランダムな順序で山オブジェクト(キュー状)に並べる。

ここでPaiオブジェクトは以下のような属性を持つ
-毎回staticに初期化する内容
・種別(萬子, 索子, 筒子, 風, 三元)
・サブコード(1〜9)
・赤フラグ
-判定用にセットする内容(なくてもいいが)
・特性情報フラグ集(ヤオ九, 中張, 字/数, 風, 三元, 緑など)
-場の状況に応じてセットする内容(なくてもいいが、便宜上)
・既知ドラフラグ
・所在(山、PlayerA〜D、河)
0325324NGNG
つづき

それから、「場」には以下の内容が要る
・席配置
・何場の何局か(席+局の情報で親が決定する)
・場のモード(配牌, ゲーム中, あがり/ちょんぼ画面)
・手番
・山
・積み棒の数(=連荘数)
・リーチ棒の数
・各プレーヤーオブジェクトへのリンク
プレーヤーは、所持得点、特殊状態(リーチ、オープンリーチ?)と、
手牌、それに河、サラシ牌情報への参照を持つ
あと名前とかのコメント情報か。

思考ルーチンは、自分の手牌と場を与えられ、そこから情報を随時引き出せる。
ただし場のモードが配牌・ゲーム中ならば場を通じた手牌取得は阻止される。

通信上では、4枚のどれか、という情報も識別できるようにすると処理にいろいろ便利。
赤ドラのように、一部だけが該当するという情報もあるし、追跡がしやすい。
ということでPaiオブジェクトリストのインデックスを通信に流すのが楽では。
パケットを人間に見易くするのであれば、
>>321案に、さらに1文字追加してabcdかなんかを付けると。
0326247NGNG
>>320
どうも。ぼちぼち作ってます。
結構いい感じなので、出来るのは多分こっちが先かも。
でも、こっちはネットワークは全然考えてないし、別物と考えてもいいのかな。
ロボット同士が物凄い勢いで10000荘くらい戦う感じで考えていたので。。。

なんか共有できるルーチンとか、協力できたらいいですね。
役判定とか。。。

>>321-322 と>>325
>牌を英数字2文字で表す。
今のところ、単純に1〜34に順に割り振ってます。
これでも大体理解出来るんで、可読性を上げるメリットは余り無いかなと思ってます。

#赤牌情報入れる場所が無くて往生してたりします。

全体は、大体>>322みたいに、Playerクラスを継承してもらって
ターンごとに呼ばれる関数に思考ルーチンを書いていただくって寸法で考えてますが、
他家の捨て牌のときどうしたものかと。

・捨て牌があるたびに呼ばれる関数をひとつ
(鳴けるかどうかも各自で実装? 間違えたらチョンボになるとか)

・ポンするか関数、チーするか関数等を別個実装
(関数の数が無駄に多い予感)

どうっすかね。
0327デフォルトの名無しさんNGNG
>>326
捨てられる度にゲーム進行を司るオブジェクト? が、各プレーヤーの手牌と比較して
鳴ける人だけに問い合わせるってのは駄目?
ここをチョンボありにしても思考ルーチン勝負にはあんまり意味があるとは思えない、というか
邪魔だと思う。

鳴き(ロン)問い合わせのタイミングは他に槓の時なんてのもあるよね。
0328220NGNG
>>327
> 鳴ける人だけに問い合わせるってのは駄目?

なるほど。
麻雀のルールでは、たしか複数の人が鳴こうと(ポン・カン)したときに、
優先順位ってありましたよね。その順番で聞いていく、と。

いっそのこと、鳴けない場合でも何かイベントがあるたびに呼ばれるように
してしまってもいいかもしれない。

例えば、誰かが牌を捨てただけのときにも呼ばれるようにしておけば、
GUI な interface を使っている場合には画面描画だけして、return すればよいし、
ほかの人の捨て牌の傾向を記録するようなインテリジェントな思考ルーチンを
作る人には、捨て牌を記録するチャンスが与えられるし。
0329247NGNG
>>327
鳴けるかどうか、というよりも
牌が一枚切れる(見える)ごとに、何らかの判定をしたい人もいるんじゃないかと思って。

例えば極端な例だけど、
最初の自模順が回ってくる前に、対面が白と発を、下家が東南と鳴いて、
それでも上家がリーチをかけて来た、なんていう状況のとき
自模が回ってきた段階で時系列を遡るよりは、楽じゃないかなと思うのだが。

チョンボ(誤ポン誤チー)は、どっちかというと悪用されるのが怖いというか。

鳴くかどうかを尋ねる関数と、
それと別に情報更新用の関数を用意すればいいのかな?
0330デフォルトの名無しさんNGNG
>>329
ひとつにするか別にするかはまあどっちでもいいんでない?
チョンボだけは不可能にしといたほうがいいぐらいで。

あと、捨て牌情報にはリーチフラグと、手出しかツモ切りか、という
情報もいるね。
0331デフォルトの名無しさんNGNG
あと、ツバメ返しやエレベーター、元禄積みとかもマスターしてあると強いな
0332デフォルトの名無しさんNGNG
>>301
嘘つきwレートにもよるけど8割プラスで帰れたらプロ並みだぞww
ゲーム代無料ですか?俺、東風荘では超上卓だけどそんな奴信じられん
と、つっこんでみた(・∀・)ニヤニヤ
0333デフォルトの名無しさんNGNG
>>332
俺も頂上宅だが、8割プラスの定義がわからないが
点3レベルの連中にだったら確実に勝てる。少なくとも絶対にラスは引かない。

ゲーム代込みでも8割プラス出来そうな気がするが、ちょっと厳しいかもな。
レートが上がるとさすがに8割は無理だけど。
0334デフォルトの名無しさんNGNG
とりあえずお前らは麻雀・他板行くか仕様考えるかして下さい。

仕様の中にフリテンチェック関数があると楽かも。
他家用と自家用と。
0335デフォルトの名無しさんNGNG
フリテンリーチって絶対見破れないと思う。
0336デフォルトの名無しさんNGNG
>>335
ながれたらチョンボ。
0337デフォルトの名無しさんNGNG
>>336
そんなルールあるんだ・・・
0338デフォルトの名無しさんNGNG
麻雀のゲームって
コンピューターが弱いんじゃないかとか、
いかさましてるんじゃないかとか
考えてしまう。
だから、純粋に楽しめない。

そういう意味では、2chの有志が作る
麻雀ゲームは楽しみ。
0339デフォルトの名無しさんNGNG
>>338
それあるね。どんなにかっちりつくっても、疑似乱数の偏りに勝手に意味を見いだして
文句つけてくるユーザーが絶えない(´д`;)
0340デフォルトの名無しさんNGNG
>>328
>麻雀のルールでは、たしか複数の人が鳴こうと(ポン・カン)したときに、
>優先順位ってありましたよね。その順番で聞いていく、と。
チーされたらポン(カン)する(違法?)と言うオプションも欲しいので
優先度の低い順に聞くのが良いと思う…
0341デフォルトの名無しさんNGNG
>>340
そんなきわどい技を使うの?
0342デフォルトの名無しさんNGNG
>>337
ルールというか、リーチかけたらてがえは出来ないんだから
流局時にてんぱってなかったらフリテンリーチ。
(リーチかけたら手を開けないとチョンボだから)
0343デフォルトの名無しさんNGNG
>>340
それでも優先順の高いほう(上家)からじゃないとだめくないか?
0344デフォルトの名無しさんNGNG
>>342
それ・・・ノーテンリーチ?
じゃなくて・・・俺が思ってたのは、1-4-7待ちで1は切ってるけど、
ツモ期待でリーチみたいなの。
0345デフォルトの名無しさんNGNG
>>343
優先度はポン(カン)がチーより高いので、上家・下家は関係ない
まぁ、捨てた香具師の下家から順に聞いてけば問題ないと言う話もあるが…
0346デフォルトの名無しさんNGNG
ひとつの捨て牌に対して可能な行為

・チー
・ポン(カン)
・ロン

チーは下家のみなのでチーが複数発生することはない
ポン(カン)は、牌の枚数からいって、ひとつ以下しか発生しえない
ロンだけは複数ありえる

チーが優先度がもっとも低く、ロンが最優先だが、
ロン同士は、ダブロンなしなら打者の下家が最優先になる、とかかな。

後出しの戦略を許すのなら、一打ごとに一定時間!の宣言タイムを設けるとかか?
まあ、本当の時間にしなくても、3回聞く、とかでもいいか。
他家の行動は知ることができるってことで。
0347345NGNG
スマソ、キモのロンを失念してたよ
0348345NGNG
下家がチーしたら、他家がカンして
下家がロン(カンチャン)するのはOKだけど
下家がチー(上がれるが役が上がるのを期待して)したら、他家がポンして
下家がロン(ポンされると役が上がらない)するのはOK?
0349345NGNG
>>348
ミスった…
カンチャンじゃなくて、槍槓(チャンカン)ね…
首吊ってきます
0350デフォルトの名無しさんNGNG
>>349
チャンカンロンするためには、カンが確定しないと駄目ってことで
別問題にしたほうがいいかも
0351350NGNG
あ、ここでいう「カンの確定」は、完了ではなく
他家の宣言との調整の結果、カンが選ばれるってことね
0352345NGNG
>下家がチーしたら、他家がカンして
>下家がロン(カンチャン)するのはOKだけど
自己レスだけど、ロンすると、それが優先されるから駄目なのかな…
麻雀博士、降臨キボンヌ
0353デフォルトの名無しさんNGNG
>>345

>下家がチー(上がれるが役が上がるのを期待して)したら、他家がポンして
>下家がロン(ポンされると役が上がらない)するのはOK?

これは無しじゃないでしょうか。
下家は一度チーと発声しているわけですよね。
そのとき同時に他家がポンした場合にポンが優先されると思うのですが、
そのポンの発声を聞いた後に「じゃあロン」と2度目の発声するのはルール違反に思えます。
0354デフォルトの名無しさんNGNG
全ての宣言は同時に行われ、チー<ポン=カン<ロンの順に強くなります。
ですので、後出しは重大なマナー違反で、他人のチーを聞いてポン等という
戦略を人間相手にしたらまず二度と打ってもらえないでしょう。
やはり宣言を一度だけ聞くのが現実的かと。

槍槓は他家の加槓に反応するものであり、今の議論とは全く関係ありません。
0355デフォルトの名無しさんNGNG
どんな順序でも関係ないので
一回づつだけ聞いて、staticに決まる優先度によってひとつ確定か。
0356デフォルトの名無しさんNGNG
とりあえず、日本プロ麻雀協会の競技規定です。
この規定がこのスレのルールにすべて適用できるとも思えませんし、
その必要もないですが、多少の参考にはなるのではないでしょうか。

http://www001.upp.so-net.ne.jp/npm/kyougikitei.htm
0357デフォルトの名無しさんNGNG
>>355
喰い関係の話しで気をつけなければいけない事を一つ。
東家が捨てた牌に対して、南家がロン、チー、出来る状況にあり、
且つ西家がポンできる状況にある場合、宣言を1度だけ聞くという条件では

switch( 南家にロン、チー、通し、の何れを行うかを聞く ) {
case ロン: 南家上がり; break;
case チー:
    switch(西家にポン、通し、の何れを行うかを聞く) {
    switch    switchcase ポン: 西家ポン; break;
    switch    switchcase 通し: 南家チー; break;
    switch    switch}
    switchbreak;
case 通し:
    switchswitch(西家にポン、通し、の何れを行うかを聞く) {
    switch    switchcase ポン: 西家ポン; break;
    switch    switchcase 通し: break;
    switch    switch}
    switchbreak;
}

のような手順にならなくてはならない。ちょっと面倒。
0358357NGNG
げ、インデントが狂った! 再掲。

switch( 南家にロン、チー、通し、の何れを行うかを聞く ) {
    case ロン: 南家上がり; break;
    case チー:
    switch(西家にポン、通し、の何れを行うかを聞く) {
        case ポン: 西家ポン; break;
        case 通し: 南家チー; break;
    }
    break;
    case 通し:
    switch(西家にポン、通し、の何れを行うかを聞く) {
        case ポン: 西家ポン; break;
        case 通し: break;
    }
    break;
}
0359デフォルトの名無しさんNGNG
宣言を各人専用のバッファに溜めておいて、全員出揃った後で比較すればいいのでは?
357方式だと、
「東家の切った牌に対し、南家がチー西家がポン北家がロンできる」状態を
判別するために多段のswitchが必要でややこしいでしょう。

#ダブロン有りなら無関係な話ですが。
0360165NGNG
順調に進んでいるようですね。
実際に作っている人も何人かいらっしゃるようで心強いです。
私はjavaの知識が無いのでプログラムに貢献できないのが
残念です。

最強プログラムができたら、私のセオリーと本当の最強の違いを
比較してみたいものです。
0361デフォルトの名無しさんNGNG
同時鳴きは発声優先、吃された後に栄って言っても無駄
0362デフォルトの名無しさんNGNG
自摸り三暗刻の立直のみに安全に差し込めるようなレベルまで行くのかねえ
0363デフォルトの名無しさんNGNG
>実際に作っている人も何人かいらっしゃるようで心強いです。
二人だよね

C++ vs Java
0364デフォルトの名無しさんNGNG
>>361
スレッドで同時処理w
0365デフォルトの名無しさんNGNG
OO vs 非OO
0366デフォルトの名無しさんNGNG
サバクラにしても、サバはどこで動かすんだ
と言ってみるテスト
0367デフォルトの名無しさんNGNG
ダブロン無しなんですか?
0368デフォルトの名無しさんNGNG
二家和や三家和が有りの場合、立直棒は上家取りが基本
0369デフォルトの名無しさんNGNG
思考ルーチン対決なら、ダブロンはあってもなくてもあまり戦略に変化はない気がする。

仕様としてかなりきちんと定義されてるという意味では、どっかの競技麻雀のルールを
発声とかの部分だけ修正して使うのが統一しやすいんじゃない?
0370デフォルトの名無しさんNGNG
ダブロンはアタマハネ。
0371デフォルトの名無しさんNGNG
戦略的には変わる
親リーかかってるばあいでもオナテンなら親には振り込みようが無いのでリーチかけられたりする
ダブロン無いなら上家と同じ待ちでリーチかけないで別の待ちにするとか
0372デフォルトの名無しさんNGNG
うん
0373357NGNG
>>359
ちゃんとアルゴリズムを考慮すればそれほど難しくはない。
もしこのような手順を取らず、全員出揃った後で比較するという
手段を取ると、(殊に対人の対戦の場合に)不都合が出てくる。

例えば、東家が捨てた牌が南家の上がり牌であったとして、
それに南家がロンをしたとしても、たまたまその牌が西家がポンできる牌で、
ポンするかどうかを西家が長考したとき、南家にとっては(明らかに上がれる
状態にあるのに、西家の解答を待たなければならないので)ストレスがかかる
と思われ。
0374デフォルトの名無しさんNGNG
>>373
ネット麻雀ではだいたい時間制限によって対処してるかな?
0375デフォルトの名無しさんNGNG
Javaはわからんのだが……

牌切った情報を全部のクライアントに送信。
→自分の所で鳴けなければそのままクライアントからサーバに「何もしない」を返事。
→鳴ければ、ロン・カン・ポン・チーどれができるかサーバに返事。
(この時点でロンできるユーザをサーバが把握)
→ユーザから行動を選択。

ということじゃだめ?例えばダブロン状態なら待たされるだろうけど、
ロンであがれるのにポンが終わるのを待たされるというのは無いと思う。
0376デフォルトの名無しさんNGNG
ネット麻雀じゃ、どこでもロン押しても、ポン待ちですよ
で、ポンできるひとが、キャンセルまたはポンを押してからポンが無効化されロンできる
0377デフォルトの名無しさんNGNG
>>375

ロンできるかどうか、鳴くことが出来るかどうかは、「場」側(ネットワークならサーバ側)
でチェックするのが良いと思う。また「場」は、各プレイヤーが持っている牌を全て把握
していて、そのプレイヤーが持っていない牌を切ってきたときにはエラーメッセージなど
で応答するのが良いと思う。

誰かが牌を切ったら場は
  1、その牌をそのプレイヤーが切ることが出来るのかどうかをチェック
    ありえない牌を切った:
      ならその旨プレイヤーに通知、再度どれを切るか受け付け
    切ることが可能な牌:
      打牌した(牌を切った)本人にそれを正常に受け付けた旨通知
  2、その牌が切られたことを全プレイヤーに通知
  3、打牌した者の次のプレイヤーに鳴くかロンかを聞く→記録
  4、その次のプレイヤーに鳴くかロンかを聞く→記録
  5、その次のプレイヤーに鳴くかロンかを聞く→記録
  6、記録してある「鳴くかロンか」を優先順位に基づき判断
  ・・・

鳴くかロンかを聞いた直後には、当然それが可能かどうかのチェックも入る。
可能でないならばエラーを返して再度受け付け。

牌を切ったことを通知することと、鳴くかロンかを聞くのは分けたほうが、いいと思う。
そうしないと、誰かが鳴くかどうか決めかねて時間経過している場合に、
他のものが、すでに打牌した者に対し、「早く切れよ」ってことになる。
0378デフォルトの名無しさんNGNG
>>376
ソネットのジャンプラグドは待たずにロンになるよ
0379デフォルトの名無しさんNGNG
ふと思ったけど、このスレの主旨って
最強のネットワーク対応型麻雀ゲーム(クライアント+サーバ)なの?
いや、別にそれでも構わないんだけど
でも最強を目指すのなら、クライアントとプラグインに完全に分離して
クライアントは既存の様々なネット麻雀に接続(人間と対戦)出来るように作り
プラグイン部で思考を担当するように作るのも面白いのではないかと
まぁ、実際に繋ぐ前には、迷惑を掛けない様に念入りなチェックが必要ですが…
0380デフォルトの名無しさんNGNG
>>377
牌の管理を「場」でやるのは賛成。
ただし、それならば

>   1、その牌をそのプレイヤーが切ることが出来るのかどうかをチェック
>     ありえない牌を切った:
>       ならその旨プレイヤーに通知、再度どれを切るか受け付け
>     切ることが可能な牌:
>       打牌した(牌を切った)本人にそれを正常に受け付けた旨通知

この部分は、「場」と「プレイヤー」が共有する牌No(デッキNo)で処理すれば
ありえない牌を切ることはなくなる。(いわゆるジャンピュータ方式)
鳴いてる場合は最大値オーバーがありうるけどね。

0381デフォルトの名無しさんNGNG
とりあえず、ネトゲーで試せるように。
ただ、他の3人の捨てた牌も自分で入力しなければいけないっぽいけど。
ゲームをひとつに絞るならほかにやりようもあるかもだが。
0382デフォルトの名無しさんNGNG
>>381
> ただ、他の3人の捨てた牌も自分で入力しなければいけないっぽいけど。
ん?意味がわからん。前提として「場」が牌の管理をするわけだから
「プレーヤー」は「場」の情報が変化した時(牌が切られた、誰かが鳴いたなど)
にメッセージを受けるというふうに考えていたのだが。

「プレーヤー」は自分内に「場」の(公開部分の)データコピーを持っていて
それを更新しながら「場」からのメッセージで自分が着手可能な場合に
次手を決定していけばいい。
0383デフォルトの名無しさんNGNG
>>382
東風荘に参加させたいんだって。
0384デフォルトの名無しさんNGNG
>>383
ああ、なるほど。そっちからの制作か。
いいかもね。
0385デフォルトの名無しさんNGNG
東風荘はコンピューターの参加を歓迎しないと思うよ。
東風荘もどきを作った方がいいと思う。
0386デフォルトの名無しさんNGNG
もし最強のプログラムになったとして
コンピュータに打たせて自分の成績(R)上げるなんて最低だな
0387デフォルトの名無しさんNGNG
>>386
いや、良い成績の残せる打ち手(プログラム)が作れたら
それはすばらしいことだと思うよ
0388デフォルトの名無しさんNGNG
麻雀で純粋に自分の頭で遊んでるやつに悪いと思わないの?
あなた自分のことしか考えていませんね
なんでファミコンじゃなくてネットで麻雀するか分かってますか?
それは人間と打ちたいからだと思いますよ
0389デフォルトの名無しさんNGNG
それ自体が素晴らしいことでも、他人に迷惑がかかる恐れのあることをしてもいいんですか?
気づかれなきゃいい、という問題ではありません
人間と打たせたいなら最強AIと打てるをウリにしたようなネット雀荘を別に作るべき
0390デフォルトの名無しさんNGNG
>>388
悪いとは思わないなぁ。
格好のチューリングテストだぜ?

というか、おれの対戦相手がロボだったら
おれならむしろうれしいけどな
0391デフォルトの名無しさんNGNG
>格好のチューリングテストだぜ?
つもってから打つ時間とかも考えないとな
0392デフォルトの名無しさんNGNG
そうやって、また雑魚が這い上がってくるわけか・・・。
絶対に自分で打つんじゃないぞ。
せっかく超上級卓で打ってるのに雑魚が混じると萎えるからなw
0393デフォルトの名無しさんNGNG
そういうのは強いプログラムができてから言いなさい。
とらぬ狸(略
0394デフォルトの名無しさんNGNG
で、ルールは確定したの?
もう誰か作り始めてるなら、報告きぼんぬ。
0395デフォルトの名無しさんNGNG
>>394
東風荘で(こっそり)打たせるんだから
ルールは東風荘ので。
0396デフォルトの名無しさんNGNG
東風荘の古代ルールじゃ「麻雀」最強とはいえないな。

ところで、最低でも「ラグ読み」出来ないと東風荘では勝てないぞ(低レベルでは勝てるけど)
0397デフォルトの名無しさんNGNG
今日ちょい暇だったので管理クラスとプレイヤークラスつくって牌配ってみた。
役判定を考え出したら頭がウニになってきたのでやめた・・・。
思考ルーチンまではまだまだ遠いなあ。
0398デフォルトの名無しさんNGNG
ねえ、りぬにあるサーバ・クライアント型麻雀ソフトベースじゃだめ?
netjamだったかなぁ?
0399デフォルトの名無しさんNGNG
>>398
ポインタを示してくれないと
0400デフォルトの名無しさんNGNG
400
0401デフォルトの名無しさんNGNG
ttp://www.sfc.wide.ad.jp/~kusune/netmaj/

これ。netjamじゃなくてnetmajか・・・・・・
0402デフォルトの名無しさんNGNG
確か古いCで・・・hfdじょあhfgらhふぇだんfけらんf
jふぃd;亜sjふぃ小田sjfぢおps@あjkふぉdp「さkふぉえrqk
0403デフォルトの名無しさんNGNG
>>396
>ところで、最低でも「ラグ読み」出来ないと東風荘では勝てないぞ(低レベルでは勝てるけど)

「ラグ読み」は必要ないでしょ!!
ラグは読みの参考になる程度であって、
"最強"を目指すならラグなしでもある程度、
読めなきゃいけないからね。。
0404デフォルトの名無しさんNGNG
東風荘ではラグ読みは大事な情報
レベルが高くなれば高くなるほど、細かい情報が勝負を分ける
ドラそば切ってラグったら、下家がドラ持ってる可能性が高いとかな
東風荘に限らず、ネット麻雀はリアルではあり得ないところ(ラグ)からも情報を得なければならない
0405デフォルトの名無しさんNGNG
"最強"とは東風荘での話しなの??
0406デフォルトの名無しさんNGNG
>>401
unixでしかもC言語ときたら
悲惨だ。
0407デフォルトの名無しさんNGNG
ぃぬxでしかもcげんごときたら
ひさんだ
0408デフォルトの名無しさんNGNG
東風厨逝ってよし。
だいだい、対戦相手&ルールの揃ったところの例としてネット雀荘が引き合いに出されただけなのに
なぜ東風荘での小技を偉そうに語っているのか理解不能。
ネット麻雀の欠点を利用した技を自慢したいなら麻雀板でやれ。
んで叩かれてろ。
0409デフォルトの名無しさんNGNG
ラグが重要な情報になるのであれば
ラグフェイントができる事にもなるわけで
そういうのは考えても考えなくても同じかもしれない。
0410デフォルトの名無しさんNGNG
ラグ読みはなしの方向で!!
0411デフォルトの名無しさんNGNG
モノができてから各サーバ向けに調整すりゃいい
0412デフォルトの名無しさんNGNG
http://www.amy.hi-ho.ne.jp/ishihata/maujong/
のプラグインを作るというのはどうか?
0413デフォルトの名無しさんNGNG
ラグの意味がわからん。いや、それだけ。
0414デフォルトの名無しさんNGNG
ラグ→遅れ→鳴く時に微妙に間がある
0415デフォルトの名無しさんNGNG
俺もまずは、まうじゃんのプラグインでいいと思う
0416デフォルトの名無しさんNGNG
自作プラグイン同士で戦わせたりできるし
0417デフォルトの名無しさんNGNG
プラグイン頂上決戦でつか?
0418デフォルトの名無しさんNGNG
ラグ:
誰も鳴けないときは問い合わせがないためすぐに次のツモになるが
誰かが鳴けるときは鳴くかどうか問い合わせるため、
即座に鳴かないと答えたところで遅延でばれてしまう

システムとしてこれを消すには、
模打のたびにたとえば1秒必ず待ってから次のツモに進むようにして、
無く場合はこの時間内に申告しないといけないようにする、とかか。
進行は少し遅くなるけど。
0419デフォルトの名無しさんNGNG
UIを一般的なものと変えて,より実戦的に造れば鳴きにも対処できる。

まず普通は 王牌,河,手牌 で,点数とか。
俺案では,ツールボックスで全牌の小ボタンを作成。
自分の手番の時に各牌にON/OFFを設定する
ON且つ鳴ける牌が出た時だけ処理は待ちを起こす

実戦でも・・「白なら鳴く,鳥はチーでチャンタへ。それ以外は面前」
とか「一通目,三色目の方なら鳴く」って感じだろ

ON/OFFの他に1〜4設定できるツルボを造り,
こちらから見てN枚目でON有効。 とすると「二枚目ならポン(4枚目)」なども

ややこしくしすぎるとパニくるだろうが
0420デフォルトの名無しさんNGNG
>>415
同意。なんか大体そろってるじゃん。
DLL同士の試合公開機能とかあるといいね。あまりくわしくHP見てないけど。
0421デフォルトの名無しさんNGNG
>>419
すでに十分ややこしいぞ
0422デフォルトの名無しさんNGNG
>>420
観戦できるし、COM4人の対戦も可能だから出来るはず
サーバーになってくれる人が必要だが
まずはまうじゃん内臓のルーチンに常勝できるようになるのが目標かね
自動対局もできるから1000局くらい戦わせてデータ取ることもできるし
0423デフォルトの名無しさんNGNG
なんかソフトウェアの作者がはげしくカキコがんばってますな
0424423NGNG
アゲちまった・・・鬱・・・
0425デフォルトの名無しさんNGNG
え〜からおまーどぉ、はょ国士一直線か染め専のソースうpれや
0426デフォルトの名無しさんNGNG
テンパイの判定ってどうするんですか?
0427デフォルトの名無しさんNGNG
>>426
そういうのを自分で考える、又は調べる気ないならやめれ。
0428デフォルトの名無しさんNGNG
自分でこつこつ作る。
だって、 NASA ほしいもん。
ホントにくれるんだよね。>>1
0429デフォルトの名無しさんNGNG
自動対局をノーウェイトのスピードでやれば寝てる間に数千試合のデータが取れる
0430デフォルトの名無しさんNGNG
え、みんなで考えるスレじゃないの?!
0431デフォルトの名無しさんNGNG
>>426
役判定が出来れば出来そうだけど、役判定がなあ。。。なんかすっきりこない。条件文の羅列になりそうでやだ。
すでに定石があったりするのかな?
0432247NGNG
取り合えずツモ切りOnlyの馬鹿cpuと卓を囲んで
点数の搾取が出来るところまで来たよ。

出来た
・手牌だけでわかる手役の判定と点数計算
・ポン

これから
・天和系、海底系、リーチ、特殊役の実装
・牌を河に捨てる
・チー、カン

NASAもらったら何しようかな。


0433デフォルトの名無しさんNGNG
役判定はまずコクシ、チートイ、…、から。
0434デフォルトの名無しさんNGNG
>>432
手役の判定って、高目取りがあるから結構面倒だよね。
0435デフォルトの名無しさんNGNG
役満と役満じゃない役は重複しないんだよねえ?
0436デフォルトの名無しさんNGNG
>>434
あがり判定といっしょにやらなきゃならないな
面子解釈が1通りじゃない場合もあるから
0437デフォルトの名無しさんNGNG
リーパイして、隣にある牌クラスと比べて面子クラスを確定させる作業を再帰的にえんやこらやと
やったらターハイしたときにぬるぽ?
0438デフォルトの名無しさんNGNG
麻雀ソフトをベクターで公開するスレはここでふか?
0439デフォルトの名無しさんNGNG
http://www.agemasukudasai.com/bloom/
0440デフォルトの名無しさんNGNG
とかいう以前に、役判定アルゴリズムはググッたらいくらでも出てくる

こういう底辺のライブラリの開発もいいけど、
役を「作り上げる」方のアルゴリズムを考えて生きたい
0441デフォルトの名無しさんNGNG
じゃ、まうじゃんプラグインでいいじゃん
0442デフォルトの名無しさんNGNG
>>437
例えば11112233が読めないと思われる。
発想自体はなかなかユニーク。
0443デフォルトの名無しさんNGNG
まうじゃん作者必死だな
0444デフォルトの名無しさんNGNG
麻雀 アルゴリズム
http://www.google.com/search?num=100&hl=ja&ie=UTF-8&oe=UTF-8&newwindow=1&c2coff=1&q=%E9%BA%BB%E9%9B%80+%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&lr=
麻雀 役 アルゴリズム
http://www.google.com/search?num=100&hl=ja&ie=UTF-8&oe=UTF-8&newwindow=1&c2coff=1&q=%E9%BA%BB%E9%9B%80+%E5%BD%B9+%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0&lr=
0445デフォルトの名無しさんNGNG
まうじゃんはダメでしょ。
まず、ソースが公開されてない。

例えば、ある牌を抜いて
試験的にいろいろ試してデータを取りたいとき
どうしようもない。

プラグインの開発には、
いろいろなテストを実行できるような
環境が必要だからね。

>・バグの存在確率80%以上
あと、自分でこう書いてるんだからダメなんだろうね。

0446デフォルトの名無しさんNGNG
2ch発麻雀ソフトの開発ですか?
0447デフォルトの名無しさんNGNG
将棋はもうやめるのか?
0448437NGNG
>>442
ああ、そのとおりですね。こりゃだめだ。ググってきまつ。
てか、叩いてほしかった・・・・なんつて。

「役を作りあげる」ためには自分のうち筋を冷静に分析してみることから始めてみます。
というか、暫定でもいいからルール規定してもらわないとなあ・・・。

ちなみにおいらの地方ルールでは「2」と「5」だけでチートイ作るとヤクマンです。
0449デフォルトの名無しさんNGNG
>>448
>ちなみにおいらの地方ルールでは「2」と「5」だけでチートイ作るとヤクマンです。
もしかして、これも叩いてほしいのか?
0450デフォルトの名無しさんNGNG
>>449
ワンズ、ピンズ、ソーズそれぞれ22, 55と揃えると六対子・・
チートイ不可能だね(笑)
0451デフォルトの名無しさんNGNG
勝手な予想だが、自分達でルールやぶりな役をつくって、
「この役すごいだろ!」
「馬ー鹿こっちはあがったら一億万点もらえるんだぞ!」
とかいいあってる奴らなのかも。
麻雀の低年齢化が予想されます。
0452デフォルトの名無しさんNGNG
>ワンズ、ピンズ、ソーズそれぞれ22, 55と揃えると六対子・・
おまえ馬鹿でしょ
4*3*2=24
0453デフォルトの名無しさんNGNG
>>452
2255二二五五(225555)
さて何点でしょう
0454デフォルトの名無しさんNGNG
>>453
ノーテンですね(笑)
0455デフォルトの名無しさんNGNG
俺のところチートイで4枚使いアリだったあよ。
0456デフォルトの名無しさんNGNG
ウチの大学の寮では偶数だけ、または奇数だけで作った役が 偶一色、奇一色
(ぐーいーそー、ひーいーそー)。それぞれ二飜ですた
0457437NGNG
四枚使いは普通は無しでしょ。つかネタくさかったらメル欄みてよ〜。

>>451
だ・か・ら、ルール決めようっていってんだよ・・・。

ttp://www.ma-jan.or.jp/rule.htm

これくらい張ってみることすらできねえのかよ。
0458デフォルトの名無しさんNGNG
がいしゅつだ罠ボケ
0459デフォルトの名無しさんNGNG
>>458
ガイシュツ?おーほんまやほんまや。
んで?なに?結局ルールは決めないのか?ん?
決めないなら決めないで自分が一番よくやるルールでってことか?
0460デフォルトの名無しさんNGNG
俺の高校では中野区民が「中」であがるとリャンハン、
同じく色白のやつが「白」であがるとリャンハンだった。
0461デフォルトの名無しさんNGNG
お国自慢はもういいとして。ルール決めよう。
0462デフォルトの名無しさんNGNG
Wiki とかあると便利ですか?
0463デフォルトの名無しさんNGNG
関西では4枚使いのチートイもけっこうあるらしいよ
0464デフォルトの名無しさんNGNG
連盟とか協会とかどっちがアレなのかわからんな
0465デフォルトの名無しさんNGNG
何でお前ら麻雀板行かないんだよ…。
ローカルルールなんざどうでもいいっての。

個人的には東風荘第一のでいいと思うけど
喰いタンがないからプログラム的に余り面白くないんだよな。

とつげき東風氏のページを紹介しとく。
http://www.interq.or.jp/snake/totugeki/MJexeIODLLman.htm
これを用いた代打ちプログラムを不特定多数に公開することは許可しないらしいが
「個人的な研究」には使えるから、実戦で東風荘ツールを併用して
データ収集ができるのが利点。
0466デフォルトの名無しさんNGNG
>>465
まあ、それを使うとNASAはもらえないけどな(w
0467デフォルトの名無しさんNGNG
>>465
東風第2は食いタンありだからそれにするか?
0468デフォルトの名無しさんNGNG
>>459の必死さにワラタ。
0469247NGNG
東風荘のルールってなんか合わないんだよな。
東南戦・食いタンあり・ノーテン親流れってのがしっくりくるんだが。
0470デフォルトの名無しさんNGNG
っていうか、ルール変更できないのを作ろうとしてるなんて論外だぞ
いかなるルールでも最強でなければならない
麻雀ソフトは全部そのくらいできるしね
まうじゃんとか
0471デフォルトの名無しさんNGNG
このスレで凸がでてくるとは(ワラ
0472デフォルトの名無しさんNGNG
>470
たとえばクイタンが有るか無いかは戦術上に大きな差を生むわけで。
最強の定義が今のところ麻雀の強さである以上、
どんなルールでも強いようなプログラムを作らなくても、ルール別に戦術を調整した
ものを適宜使い分ければ今は十分じゃないのか?
0473デフォルトの名無しさんNGNG
>>470
んじゃ、なんでもありで
0474デフォルトの名無しさんNGNG
はじめから詰め込みすぎると、わけわからんよーになるよなぁ。
0475デフォルトの名無しさんNGNG
http://www.eonet.ne.jp/~nohohon/osaka-band.htm
0476デフォルトの名無しさんNGNG
どんなルールだろうと、メインエンジンを実際に提供してくれた人の仕様に従う。
0477247NGNG
それじゃ、面倒だから国士とチートイは無しの方向で
0478デフォルトの名無しさんNGNG
>>477
むしろ国士とチートイは最も判定が簡単な役なのに(笑)
0479デフォルトの名無しさんNGNG
Javaの勉強のために作ろうかと手を動かしてるのですが、
いまいちイメージが湧きません。

例えば牌オブジェクトに関してですが、適用することが出来るべきメソッドは、
どんなものがあるんでしょう・・・。思いついたのは以下のものです。

int getNumber() // 萬子筒子索子の場合の数字(1-9)を返す。
        //風牌なら東0,南1,西2,北3
        //三元牌なら白0,發1,中2
int getType() // 萬子,筒子,索子,風牌,三元牌 の種別を返す。
boolean isManzu() // 萬子なら true
boolean isPinzu() // 筒子なら true
boolean isSouzu() // 索子なら true
boolean isKaze() // 風牌なら true
boolean isSang() // 三元牌なら true
boolean isRaoToh() // 老頭牌なら tue
boolean equals(Object) // 同じ牌なら true

足りないでしょうか。
0480デフォルトの名無しさんNGNG
>っていうか、ルール変更できないのを作ろうとしてるなんて論外だぞ
確かにメインエンジンはこの条件を満たすべきだし
そんなのはものすごく簡単な事だと思う。

>いかなるルールでも最強でなければならない
コンピューターがこの条件を満たす事は非常にすばらしいと思う。
けれど、これはすさまじく難しい。
0481デフォルトの名無しさんNGNG
>>479
boolean isManzu() // 萬子なら true
boolean isPinzu() // 筒子なら true
boolean isSouzu() // 索子なら true
boolean isKaze() // 風牌なら true
boolean isSang() // 三元牌なら true

これは
クラスを作って
instance of Manzu
とかで判定した方がいいんじゃないかな?
0482デフォルトの名無しさんNGNG
>>481
それ以外の属性の判定との統一性がとれなくなるかも
C/C++的には、このへんの属性はbit列にすると楽っぽいが

あと少なくとも要るのは
「同種牌の次の牌を得る手段」(ドラ用)
「大小関係を判定する手段」(理牌用、役判定を簡素化するためにも有用)
かな。
0483デフォルトの名無しさんNGNG
麻雀ゲームは作れても、それが最強でなければ意味がない
0484デフォルトの名無しさんNGNG
花とか赤とかアリのルールなら、このへんの設計から取り入れないといけないかのかな。
0485デフォルトの名無しさんNGNG
>>484
花牌ありはとりあえず無視でイイんじゃない?
赤はとーぜん考える必要があるけどね。
設計的にはドラと似てるから簡単でしょ!
0486デフォルトの名無しさんNGNG
なんか堂々めぐりだね。
0487デフォルトの名無しさんNGNG
>>486
だからルールは人の好みがあるから
ここでは決まらないんだって!
0488デフォルトの名無しさんNGNG
誰かテンパイ・役判定ルーチンを書いてうpしてよ。
0489デフォルトの名無しさんNGNG
>>488
テンパイは簡単だけど、
役判定はめんどくさそうだなぁ
0490デフォルトの名無しさんNGNG
役判定は、誰か一度書けば使いまわしが出来そうだね。
0491デフォルトの名無しさんNGNG
データ構造教えろや。
0492デフォルトの名無しさんNGNG
>>481
instance of 使わなきゃいけないのは設計間違ってるぞ。

牌をオブジェクトとして捕らえる意味はあんまりないような気がするんだけどなぁ
0493デフォルトの名無しさんNGNG
>instance of 使わなきゃいけないのは設計間違ってるぞ
理由を教えて欲しいんだけど
0494デフォルトの名無しさんNGNG
>>465
そのDLLいいね!
とりあえず今ガリガリと書いてますが
鳴き を考慮するととたんに面倒くさいね
0495デフォルトの名無しさんNGNG
>>479
他に要りそうなの
boolean isJi() // 字牌なら true
boolean isYaochu() // 19字牌なら true
boolean isGreen() // 索子の23468or發なら true
boolean isMyWind() // 自風牌なら true
boolean isGameWind() // 場風牌なら true
boolean isDora() // ドラなら true
boolean isRed() // 赤なら true
int getExposed() //場に見えてる枚数を返す
0496デフォルトの名無しさんNGNG
ちなみに字牌はツーパイと読みます
0497デフォルトの名無しさんNGNG
>>492
OOを適用する場合、
対象となるものをオブジェクトとして捕らえる意味が
あるか無いか等という事を考えるべきではない。

全てはオブジェクトなのだから・・・
0498247NGNG
駄目だああ。行き当たりばったりのコーディングではどうにもならない。
麻雀のルールって超すげー複雑。俺が甘ちゃんだったよ。



0499デフォルトの名無しさんNGNG
>>495
>boolean isMyWind() // 自風牌なら true
>boolean isGameWind() // 場風牌なら true
>boolean isDora() // ドラなら true
>int getExposed() //場に見えてる枚数を返す
これらは牌自体が持つ属性ではない。あくまで場に依存する性質。
したがって牌のメンバーにするべきではない。
0500デフォルトの名無しさんNGNG
>>498
とりあえず、何処でいきづまっているのか報告しれ。
0501デフォルトの名無しさんNGNG
>>498
がんばれ♪
0502247NGNG
んー、ぶっちゃけ全部なわけだが。
設計が甘くて、例えば、
山の残りが1枚の時は槓できない、なんて条件をひとつ追加しようと思っても
10箇所くらい手を入れなくちゃならない、ていう感じで。

取り合えず恥を忍んでうpするから、まあちょっと待ってくれ。
0503247NGNG
http://www.geocities.co.jp/SiliconValley-Oakland/9797/mj1.lzh

・ソース同梱
・コンパイラはBCB6Personal
・メインのコードはVCLに依存していないはず(多分)

・UIは作りかけ
・ひどいコードだと笑ってください。
0504デフォルトの名無しさんNGNG
>>503
乙。
ところで、
>struct Mentsu { char Pai; char State; };
気持ちは分かるが、今のうちに「赤」の事も考えとけ。後で泣きを見るぞ。
0505247NGNG
いま泣いてるyp
0506247NGNG
牌は0〜135の数字でやっとけば問題無い筈だと思うんだ。
0507デフォルトの名無しさんNGNG
>>503
Unit2.h, Unit3.hがない
ってーかこの名前どうにか(笑)
0508247NGNG
>>507
すまん。直し忘れだ。 
#include "Unit2.h" −> #include "Mahjong.h"

#include "Unit3.h"
は消してください。
0509デフォルトの名無しさんNGNG
>>508
そのように数カ所修正したら実行開始はできたけど、
半荘開始してもツモ順ですって出るだけで
下に並んでるボタン群はButton1とかそれぞれ表示されたまま、無反応な感じ・・
0510デフォルトの名無しさんNGNG
上下に並べて表示
0511デフォルトの名無しさんNGNG
だから、まうじゃんにしと(ry
0512デフォルトの名無しさんNGNG
作者必死(ry
0513デフォルトの名無しさんNGNG
ライバルソフト作者必死(ry
0514デフォルトの名無しさんNGNG
>>493
instanceof 使いたくなるときってインスタンス使う側での条件分岐になるんだけど
それは委譲と多態使うのが定石だと思うんだが。

http://www.alles.or.jp/~torutk/oojava/maneuver/2001/style/essentialJavaStyle.html
この辺の「Choosing Message」とか。

ただ、処理によっては使わざるを得なかったりするのはあるはずだけど。

0515デフォルトの名無しさんNGNG
>対象となるものをオブジェクトとして捕らえる意味が
>あるか無いか等という事を考えるべきではない。
理想と現実は違うよ。
すべてをオブジェクト・・・と言うのは
すべてを汎用的に・・・と言うのと同じです。

>instanceof 使いたくなるときってインスタンス使う側での条件分岐になるんだけど
もちろん、多態を使うためにオブジェクトにするわけだ。
Compararatorって知ってる?
ソーティングに使うんだけど
あれはオーバーライドする時に中でinstanceofを使うわけだ。

instanceofを使うのと、
isXXXで属性を確認する事は同じことでもある。
ただし、後者は実行時に変化する可能性がある。
牌のプロパティーとしては、普遍なわけだから
classという事でいいと思う。

ただし、実装という意味では
イーピン、リャンピンの差は
メンバ変数として持つ方がエレガントであると思う。
0516デフォルトの名無しさんNGNG
いろいろなアルゴリズムの組み方はあると思うが、
一番典型的というか簡単なのは、確率調整型アルゴリズムだと思う。
今の自分の手にある牌+他人と自分の捨てた牌(河牌だっけ?)、
他人が鳴いた牌から残りの牌の数を推定し、自分の手からどこへ
持っていくのが一番ウマーかを判断する。

あと、オーラスまでの点数なんだかんだは後でもいい気がする。
0517479NGNG
牌クラスを作ってみました。
http://pjam.jpweb.net/asugawara/mj/
0518デフォルトの名無しさんNGNG
乙。hashCodeメゾットは何に使うんだ?
0519デフォルトの名無しさんNGNG
>>518
コレクション系のクラスの内部などで使われるハッシュ値じゃないの?
0520247NGNG
>>479
nextと独立して、
同色のn個上(or下)の牌を返す関数なんてのがあると便利だと思うよ。
0521デフォルトの名無しさんNGNG
誰か作ってる・・・?
0522デフォルトの名無しさんNGNG
>>521
作ってるよ

ところでピンフに走るときとトイツ系に走るときとの
境目って条件にどういう重みをつけてる?
シュンツ、ターツのピンフ系重みを4,2
トイツ、コーツのトイツ系重みを同じく4,2くらいにして
延べ合計の比較でどちらを優先するか決めてるんだけど
最初の牌パイからの流れとか考慮したほうがいいのかな?
0523デフォルトの名無しさんNGNG
>>522
お? もう思考に着手してるのか。
流れはコンピュータとしては気にしてもしょうがない気がするなー。どうだろう。
0524デフォルトの名無しさんNGNG
>>522
昔作ったやつは、そういうしきい値テーブルを
戦術ごとに用意しておいて、状況に応じて戦術を変更するようにしてた。
戦術を決定する条件の定義と、その実施を分離して考えるのね。
0525デフォルトの名無しさんNGNG
>>524
まあいってみればトイツ系ピンフ系という戦術
を切り替える部分なんだけどね
でももう少し思考を階層化しておいたほうが
幅が広がるし作るのも楽になるか・・・
0526デフォルトの名無しさんNGNG
まだできないのか?
口だけか?
0527デフォルトの名無しさんNGNG
>>522
流れといえるかどうかわからんけど・・・。
たとえば毎回ツモった牌を全部記憶させておいて徐々に判断するとか。最初の頃はリャンメン待ち優先とか
ヤオチュウハイはとりあえず捨てる(爆)とか単純な考えかたで徐々に流れに対応させていくのはどう?
0528デフォルトの名無しさんNGNG
最初から最強じゃなきゃ駄目だ
0529デフォルトの名無しさんNGNG
半ちゃん毎にトップじゃだめなのかっ!? (´・ω・`)
0530デフォルトの名無しさんNGNG
とりあえず作ったプラグインではなにもせずに、別起動のアプリとの橋渡しをさせる。
他の奴が考えてる間も自分は裏で思考して、次の情報が来たら割込み処理で・・
0531デフォルトの名無しさんNGNG
>たとえば毎回ツモった牌を全部記憶させておいて徐々に判断するとか。
確率という言葉は知っていますか?
0532デフォルトの名無しさんNGNG
テストケース A
ドラ=南(東1枚)東一局〇本場1順目
東家>西。南家>西。西家>東
北手牌 123456789東東西北 つも=西
北を切った 0点
ダブリーまでした −100点
西をツモ切った 100点
東を切った 98点(手出しは・・なんか惜しい)
西家の東を叩いて西を切った 80点
西家の東を叩いて北を切った 10点
0533デフォルトの名無しさんNGNG
>>531
流れなんてないよ

とは爆岡の台詞だったか。
0534デフォルトの名無しさんNGNG
牌がランダムに来ることは明らかだと思う。
流れとは、勝っているときに
さらに勝ちを狙いに行くか、抑えるかとかの
引き際みたいな話なんじゃなかろうか?

0535デフォルトの名無しさんNGNG
>>531
確率が偏るからむづかしいんじゃないの?
確率で作ったら最強か?

>>534
どうやってCPUに「もうちょい勝ったらソープいけるな。勝ちに行く!」と思わせるか。かもw

0536デフォルトの名無しさんNGNG
勝負には「流れ」はあるけど、それは
「確率」が偏ることではなくて
打ち手の判断力とかコーヒーの温度とか
そういった「状況」が偏ること
0537!522-536NGNG
手積みだと、積み込んでる訳ではないのに
上手く混ざってないため、ある程度揃ってしまう事がある
俺的には、それも含めて流れと呼んでいるが
まぁ、デジタルな世界では、全く関係無い話ですね…
0538デフォルトの名無しさんNGNG
>>537
じゃあ、手積みっぽい混ぜかたをする
洗牌アルゴリズムでも考えるか。
0539デフォルトの名無しさんNGNG
「なんかトイツ場だなあ・・」って思わせる?
0540デフォルトの名無しさんNGNG
CASE 東1局 南家

  牌パイリャンシャンテン。しかしただのピンフ手。
  ここは早くあがって親を引き寄せるか、はじまったばかりなのでまわしていくか。
  
  1)「今日は配牌いいな。よし早めに親になって連荘狙うか」
  2)「じっくりと手を育てていくか」

  どっちかを実行して(50/50)その結果から打ち方を訂正していく、あるいはそのまま続けてみる。


0541デフォルトの名無しさんNGNG
>>539
そういうのはあるよ
トイツ場ってのは確率の面から見ても存在する
チンイツとかもそう
役の同時性ってのはオカルトじゃなくむしろ科学的なもんだ
0542デフォルトの名無しさんNGNG
>>540
配牌がイイから手を育てていくんだと思うが…。

>>541
その通り。だからプログラムにも相手の手役予測にも、
いれたいよね。
0543デフォルトの名無しさんNGNG
上家の不要牌を予測させたいぽ。
0544デフォルトの名無しさんNGNG
対戦成績っていらないの?
最強を目指すなら、相手によって
打ち回しを変えるのが当然だと思うし
そうじゃなくて、確率のみでやってると
その癖が出て、人間相手には勝てないと思うし…
0545デフォルトの名無しさんNGNG
麻雀のゲームをもっと簡単にする。
1から13までのカードがあったとして、
それを一枚づつく4人のプレイヤーに配り
最も数字の多い人が、全プレイヤーから2点づつ
もらう事ができる。
ただし、カードが配られた時点で降りていれば
1点を支払えばすむ。

このゲームの最適戦略はなんだろうか?
また、このゲームにおける最強のコンピューターを作る事はできるだろうか?
0546デフォルトの名無しさんNGNG
ああセブンブリッジを思い出した。
0547デフォルトの名無しさんNGNG
トランプの宿題?
0548デフォルトの名無しさんNGNG
じゃんけんみたいなゲームにおいて
最適戦略を出すにはゲーム理論が必要なのかな?
相手が偏った手を出してきた時に、
即座に対応するプログラムってあるのかな?
0549デフォルトの名無しさんNGNG
>>548
ジャンケンで先に10回勝った方の勝ちってルール(うろ覚え)で
100人と勝負して、ほぼ全員(2人位の負けはあったような無かったような…)に
勝てる、おばちゃんをテレビで見た事があるよ
その人に聞けば、勝負のコツが分かるので
対人のプログラムも出来るかもしれない…
0550デフォルトの名無しさんNGNG
>>548
過去の相手の出した手を記録しておいて、統計的に予想したら
作った本人が勝てなくなったってのを、ム板でだれか書いてたよ。
CPU対人ね。
0551デフォルトの名無しさんNGNG
りきむとグーを出す傾向があるらしいよ。
対戦中に逐一プレーヤをからかうようなメッセージを表示して、
怒らせてパーで仕留めるっていう戦略はどうだろう。
0552デフォルトの名無しさんNGNG
アイコになったらその手に負ける手を出す。ってのは一般的?
スレチガイスマソ
0553デフォルトの名無しさんNGNG
結局、麻雀が作れなくて
ジャンケンスレに落ちぶれたか・・・
0554デフォルトの名無しさんNGNG
>>544
>対戦成績っていらないの?
>その癖が出て、人間相手には勝てないと思うし…

オレは対戦成績はいらないと思う。
"その癖"って例えばどーいうの?


0555デフォルトの名無しさんNGNG
相手の戦略変更をいかにして検出するかが問題となる。
0556デフォルトの名無しさんNGNG
>>555
だから相手の戦略を読む必要あるの?
0557デフォルトの名無しさんNGNG
ダマでどの程度当たってくれるか
どうせあたらないならリーチかける
0558デフォルトの名無しさんNGNG
>>556
お前アホか?
そりゃあるだろ
ピンフ好きなやつなら筋切ってりゃいいんだし
0559デフォルトの名無しさんNGNG
>>556
お前の方がアホだろ!
トイツ場なのにピンフやるやつの
戦略なんて読んでどーする。
(読まなくても勝てるって意味)
0560デフォルトの名無しさんNGNG
>>559
ネタじゃないのなら
どう見ても、お前の方がアホ
0561デフォルトの名無しさんNGNG
>>559
お前アホか?
場の状況も相手の好きな手もどっちも重要なファクターだろ
バランスが大事なんだよ
0562デフォルトの名無しさんNGNG
class Saibara {
 enum { KOKUSHI } yaku;
 yaku mode;
public:
 Saibara (): mode(KOKUSHI) {}
 virtual void play () = 0;
};

これを基底クラスにするんよ。
0563デフォルトの名無しさんNGNG
>だから相手の戦略を読む必要あるの?
たとえば、相手がずっとグーを出してきていて
いきなり、ずっとチョキをだすようになったら・・・

麻雀というゲームでこのような戦略変更が
どの程度影響があるのかは知らないけど
あるかないかで言えばある。
0564デフォルトの名無しさんNGNG
悪党面した奴がいかがわしい口調で怪しい儲け話を持ちかけても
誰も相手にはしない。
麻雀だって同じ事。
要はどんな戦略が大事かではなくて、どういうタイミングで相手の期待を裏切るかが大事。

相手の癖や戦略を統計的に測ろうとすれば、それはそのまま相手が有利になることでもある。
なぜなら、それを勘案して着手することは相手の土俵で戦うことでもあるからだ。
そして、この考察の結論は「相手の癖など考慮することはない」という事になる。

まして「相手の好きな手を覚える」なんてのは、それ以前に無意味だろう。
待ち筋や最終形の分析ならまだ意味はあるかもしれないが。
せめて「相手が一度も上がらなかった手」をひたすらカウントするとかね。
(同じ相手と同じルールで何百回もやらなきゃだめだけど)
まあ、この手の「相手の癖」うんぬんてのは学生同士で同じ相手とひたすら対局してる奴の
発想だろうな。

スレ違いだね sage
0565デフォルトの名無しさんNGNG
なんか昔、ビクターが出していた「雀豪」というソフトを思い出したよ
打ち手の手筋をサンプリングして対戦できる機能があって結構興味深かったな
0566デフォルトの名無しさんNGNG
>悪党面した奴がいかがわしい口調で怪しい儲け話を持ちかけても
>誰も相手にはしない。
>麻雀だって同じ事。
なんで、これが
>要はどんな戦略が大事かではなくて、どういうタイミングで相手の期待を裏切るかが大事。
この結論に繋がるのか、小一時間程(略

>相手の癖や戦略を統計的に測ろうとすれば、それはそのまま相手が有利になることでもある。
>なぜなら、それを勘案して着手することは相手の土俵で戦うことでもあるからだ。
なんで、これが
>そして、この考察の結論は「相手の癖など考慮することはない」という事になる。
この結論に繋がるのか、小一時間程(略

まぁ、自分の中で、勝手に結論を付けるのは良いけど
最強を目指すのなら、絶対に同じ相手の履歴は必要だと思うよ
分かり易い所で考えると、
テンパったら必ずリーチする香具師とか
そう見せかけて、ダマで上がる香具師とか…
まぁ、何にせよ、相手がどんな香具師か分かるだけで
打ち方は全然変わってくるし
逆に、誰に対しても打ち方を変えない香具師は怖くないからね…
0567デフォルトの名無しさんNGNG
>>566
でもむしろ強いヤツは相手によって打ち方を変えたりしないぞ
まあ人間の場合は「ペースを保つ」というのが重要だからな
その点我々のような機械にはそんな弱点は無い
0568デフォルトの名無しさんNGNG
>>566
> >悪党面した奴がいかがわしい口調で怪しい儲け話を持ちかけても
> >誰も相手にはしない。
> >麻雀だって同じ事。
> なんで、これが
> >要はどんな戦略が大事かではなくて、どういうタイミングで相手の期待を裏切るかが大事。
> この結論に繋がるのか、小一時間程(略
>
> >相手の癖や戦略を統計的に測ろうとすれば、それはそのまま相手が有利になることでもある。
> >なぜなら、それを勘案して着手することは相手の土俵で戦うことでもあるからだ。
> なんで、これが
> >そして、この考察の結論は「相手の癖など考慮することはない」という事になる。
> この結論に繋がるのか、小一時間程(略

ここを小一時間話さなければわからないなら
まあ君は人間相手ではちょっと麻雀はやめといた方がいいかもね。


でもプログラムとしては相手の履歴機能はあった方がいいね。そのとおり。
あとの例はちょっといただけないが・・・
テンパったらリーチってどうやってデータ化できるんだ?小一時間
見せかけてダマであがるってどうやったら・・・小一時間
聴牌しても上がれない場合のほうが多いんだよ。
人間相手ならどうやってデータ化するつもりなの?
0569デフォルトの名無しさんNGNG
>>568
終わったらみんなで聴牌見せ合うような奴なんだろ。
相手にするな。スレ違いだし。
0570559NGNG
話しがわかる人がでてきてよかったよ♪
オレは説明が下手だからアホ扱いされたし…。。

>>566
>テンパったら必ずリーチする香具師とか
それはシロートだから怖くない。

>逆に、誰に対しても打ち方を変えない香具師は怖くないからね…
怖い。
0571デフォルトの名無しさんNGNG
今仕様確定・コーディングに動いてるのは何人ぐらい?
0572デフォルトの名無しさんNGNG
じゃんけんは1/3の確率でランダムに手を選択する戦略が最強です。
0573デフォルトの名無しさんNGNG
>>25-26をお忘れですか?
0574デフォルトの名無しさんNGNG
>>573
そのプログラムにも負けません。乱数はMersenne Twisterで生成。
0575デフォルトの名無しさんNGNG
なんか確率について勘違いしてる人がいる
サイコロの1が出る確率はまず大体 1/6 だけんども
終盤で初牌の 發 をツモる確率は 4/残り牌数 じゃねーべ?
場に無きゃ誰かが持ってんだ と思うんが自然だら
0576デフォルトの名無しさんNGNG
確率とは人間の勘のことです(w
0577デフォルトの名無しさんNGNG
>>575
>なんか確率について勘違いしてる人がいる
お前は「確率」というものについて語れる自信があるのか?(w
0578デフォルトの名無しさんNGNG
捨て牌から相手の牌の確率分布を推定する必要はある。
HMMを使うといいのかも。
0579575NGNG
ありますが何か?
0580デフォルトの名無しさんNGNG
>>579
ヘンペルのパラドックスについて、どう思う?
0581デフォルトの名無しさんNGNG
>>575

×初牌
○生牌
初と發をかけたんですか?
0582デフォルトの名無しさんNGNG
>じゃんけんは1/3の確率でランダムに手を選択する戦略が最強です。
グーで勝つと5点
チョキで勝つと10点
パーで勝つと15点の時
(引き分け0点、負けても0点)
最適戦略は何ですか?
0583デフォルトの名無しさんNGNG
>>582
何回勝負ですか?
0584デフォルトの名無しさんNGNG
>>576
レンジでミルクを温めたときに取っ手がこちら側にくる確率はとっても低いです。
0585572NGNG
>>582
得点を最大化する戦略=最適戦略とすれば、最適戦略は
グーを6/11、チョキを3/11、パーを2/11で選択する戦略です。
0586デフォルトの名無しさんNGNG
なんでこのスレにはじゃんけんの話をしている人たちがいるわけ?
0587デフォルトの名無しさんNGNG
もしろ>>25-26意味がわかりません(´・ω・`)ショボーン 解説キボンヌ。
0588デフォルトの名無しさんNGNG
>>587
「最強プログラム」のやってることは、コンピュータ同士のじゃんけんで
勝負前に相手のプログラムを(インチキ的に)呼び出して、そのとき
グーばっかり1000回ほど入力した後(このとき相手のプログラムはパーを
選ぶように「学習」してしまう)、本番の勝負でチョキを出す、という感じです。

教訓としては、どんな戦略でも過去の履歴を利用する戦略は
最強にはなり得ないということっすね。
0589デフォルトの名無しさんNGNG
>>588
おーありがとう!
関数ポインタ・・・(゚Д゚)ハァ?だったもので・・・
0590デフォルトの名無しさんNGNG
なるほど。>>25-26 は面白いな
相手も同じプログラムだと大変なことになるが。
0591デフォルトの名無しさんNGNG
相手の戦略は読む必要なし!
ラグも考える必要なし!
流れも考える必要なし!
0592デフォルトの名無しさんNGNG
みんなで神の一手を目指そうぜ
0593デフォルトの名無しさんNGNG
役満しか狙わないプログラムでいいじゃん。
0594デフォルトの名無しさんNGNG
>>593
ダメだろっ!!
0595デフォルトの名無しさんNGNG
for( int i = 0; i < 14; i++ ) {
  if( IsYaochu( pai[me][i] ) ) {
    gomi = pai[me][i];
    break;
  }
}
if( gomi == NULL ) {
  gomi[me][ (int)(rand()*14) ];
}
return gomi;
0596デフォルトの名無しさんNGNG
gomi = pai[me][ (int)( rand() *14 ) ];
だった。
0597デフォルトの名無しさんNGNG
>>593
天和、人和、地和しか狙わないプログラム。
0598デフォルトの名無しさんNGNG
>>597
どれも狙う役じゃないだろっ!!
0599デフォルトの名無しさんNGNG
>>595
何をする関数?
意味あんの??
0600デフォルトの名無しさんNGNG
>>598
配牌は、コンピュータ側の仕事なのです。
0601デフォルトの名無しさんNGNG
>>599
baka baka baka
0602デフォルトの名無しさんNGNG
この御時世、人和を役満にするような馬鹿いるの?
0603デフォルトの名無しさんNGNG
ここまで読んだが、麻雀上級者は俺しかいないよう棚
0604デフォルトの名無しさんNGNG
>>603
ナイス妄想棚
0605デフォルトの名無しさんNGNG
>得点を最大化する戦略=最適戦略とすれば、最適戦略は
>グーを6/11、チョキを3/11、パーを2/11で選択する戦略です。
これってどうやって計算するんですか?
この計算方法を麻雀にも取り入れることはできますか?
0606デフォルトの名無しさんNGNG
>>605
ゲーム理論
0607デフォルトの名無しさんNGNG
リーチするタイミングってどーする?
0608デフォルトの名無しさんNGNG
>>602
オマエガナー
0609デフォルトの名無しさんNGNG
>>607
点の状況、場の状況、ルールによって違う
0610デフォルトの名無しさんNGNG
>>609
だからプログラミングの時、
どーいう条件の時リーチするのかってこと!!
0611デフォルトの名無しさんNGNG
>>610
まず、鳴いてたらリーチはしない
次に聴牌してるか判断
聴牌してたら待ちを調べる
枯れてなければリーチする
0612デフォルトの名無しさんNGNG
>>611
テンパイ即リーじゃ"最強"にはならないだろ!!
0613611NGNG
>>612
そりゃそうだ
そこがわかってるなら大丈夫だ
0614デフォルトの名無しさんNGNG
>>612
>>611に加えて、山を詰んでいる配牌ルーチンにアクセスして、
残りの待ち牌を調べ期待値を算出、確率がある値より高ければリーチ。
0615デフォルトの名無しさんNGNG
>>614
それはずるじゃないのか?河と自分の手牌からだろ?
0616デフォルトの名無しさんNGNG
>>615
extern void PaiSearchInnami(void *ptr);
0617デフォルトの名無しさんNGNG
ズルしてでも最強ならいいんじゃないの?麻雀でしょ?
0618デフォルトの名無しさんNGNG
int PaiSearchInnami(int *YamaIndex)
{
  for(int i=0;i<4;i++)
  {
     if(Member[i]->Skill == BaiNin && Member[i]->Luck >= 10)
     {
       SetGameResult(IkasamaHakkaku);
       return -1;
     }
  }
  reutrn Yama[YamaIndex];
}
0619デフォルトの名無しさんNGNG
マージャンのプログラムというより、マージャンの一般セオリーを
語っているに過ぎないのだが・・・。
0620デフォルトの名無しさんNGNG
>>614
上がれる確率だけでリーチはかけないだろ!
手がわりとか考えないの??
0621桜井章一NGNG
NASDAと、あとKEKもつけるよ。
0622デフォルトの名無しさんNGNG
いらない。NASAだけでいい。
NASAが僕のものになったら、スペースシャトルいまあるやつ
全部同時発射する予定。
0623247NGNG
よくわからんけど、KEKは欲しいな。
カミオカンデは別枠なのか?
0624デフォルトの名無しさんNGNG
>>621
後付けなし
0625デフォルトの名無しさんNGNG
最強の脱衣マージャン?
0626デフォルトの名無しさんNGNG
ついにオレの麻雀プログラムが自我に目覚めました。
0627デフォルトの名無しさんNGNG
>>625
プレイヤーが楽しめないだろ!!
0628デフォルトの名無しさんNGNG
>>627
プレイヤー:女
ギャラリー:俺
0629デフォルトの名無しさんNGNG
>>628
オレは何役ですか?
0630デフォルトの名無しさんNGNG
>>629
リーチ棒
0631デフォルトの名無しさんNGNG
>>630
せめて台詞ありにしてくれ
0632デフォルトの名無しさんNGNG
漏れのリーチン棒でもn(ry
0633デフォルトの名無しさんNGNG
今度は最強のVシネづくりですか?
0634デフォルトの名無しさんNGNG
麻雀に強いとか弱いとかあるのか?
鍛えて強くなるような強さはないだろ?
知ってるか知ってないかの違いだけじゃないのか?
0635デフォルトの名無しさんNGNG
何を?
0636デフォルトの名無しさんNGNG
>>634
たぶんお前は周りから「カモ」
ってよばれてるぞ。
0637デフォルトの名無しさんNGNG
>>634
>麻雀に強いとか弱いとかあるのか?
ある

>鍛えて強くなるような強さはないだろ?
鍛えて強くなる

>知ってるか知ってないかの違いだけじゃないのか?
何を?
0638デフォルトの名無しさんNGNG
麻雀は神経衰弱のようなものです。
記憶力と運で勝負が決まります。
0639デフォルトの名無しさんNGNG
実際、麻雀のプロ1名 vs 容赦ない(重要)ソフトプレイヤー3名 で
100局ぐらい打たせてみたら、雀プロはトップ取ることできるんだろうか?
0640デフォルトの名無しさんNGNG
>>639
安藤なら勝てる。
井出には無理。
0641デフォルトの名無しさんNGNG
どっかの麻雀雑誌でこういう企画やってくんないかな。
当然だけと、ソフトプレイヤー同士のイカサマはなしでねw
厳密に実力勝負。
チェスや囲碁、将棋と比べると麻雀というゲームはコンピューターのほうが
かなり有利な勝負に思える。
0642デフォルトの名無しさんNGNG
>>638
実力(=記憶力+決断力+構成力+etc)と運で決まります。
0643デフォルトの名無しさんNGNG
>>642
運も実力のうち
というか、良いツモだったらこう、悪いツモだったらこう
って戦略立てておくだろ。
0644デフォルトの名無しさんNGNG
>>642
記憶力・・・多くのものを記憶できると手が確定するから有利
決断力・・・どんな人がどうだと何故有利?
構成力・・・どんな人がどうだと何故有利?
0645デフォルトの名無しさんNGNG
>>641
将棋はコンピュータ選手権を定期的にやるようになってから
レベルが上がり、選手(?)層が厚くなった。
この大会で上位に食い込めばソフトが売れるから。

麻雀も何らかの形で大会を行えば優秀なアルゴリズムが次々開発されると思われ。
0646デフォルトの名無しさんNGNG
>645
雀卓サーバーみたいなの作って、それに対応した
クライアントとして動作するような麻雀ソフトでないと
対戦させるのは難しいね。
0647デフォルトの名無しさんNGNG
>>644
例えば、1巡目
14牌ある中から1牌を選択するのは、
人によってどの牌を選択するか異なるよね?
その理由を考えれば自ずと答えはみえてくる。
(1巡目なので記憶力に差はないとする)
0648デフォルトの名無しさんNGNG
>>646
そこで東風荘を使う
0649デフォルトの名無しさんNGNG
>645
あんまこのスレに関係ないけど、
大局将棋なんかの人が一局一局打つには規模が大きい遊戯は
コンピュータ選手権主体てのもありかもな。結構発展しそう。
0650デフォルトの名無しさんNGNG
>>647
それが決断力? いくら決断力があってもそれで有利になるかどうかは運しだい。
決断力は勝利の要素にならないねぇ。
0651デフォルトの名無しさんNGNG
なるだろ・・・。
ランダムに捨てたときよりその決断力とやらを働かせた場合の方が強い。
0652デフォルトの名無しさんNGNG
>>651
決断力ってなんのことか分かってますか?
決断力があってもなくても同じ牌を捨てることがあるのですよ。
ランダムに捨てたら弱いですが、決断力が無いからランダムに出すわけじゃありません。
決断力と捨てる牌の決定とは関係ないのは言うまでも無く分かるよね?
0653デフォルトの名無しさんNGNG
勝利を決定はしないかもしれないけど
勝利の要素になるのを否定はできないんじゃないの?
0654デフォルトの名無しさんNGNG
だって勝利の要素になる根拠を誰も書いてないもの
0655デフォルトの名無しさんNGNG
>それが○○? いくら○○があってもそれで有利になるかどうかは運しだい。
>○○は勝利の要素にならないねぇ。

勝利の鍵は運一択だ!
運の良い麻雀プログラムを作れ。それが最強だな。
0656デフォルトの名無しさんNGNG
>>652
決断力がない=無限ループ

もう、他の人達は激怒ですなぁ。。
0657デフォルトの名無しさんNGNG
つまり、>>652は 決断力≒切るまでの時間 と言ってるわけだ。
0658デフォルトの名無しさんNGNG
あー、あれだ。
>>652はバランス派の男なんだよ、きっと。
0659デフォルトの名無しさんNGNG
優柔不断そうなプログラムだ・・・。
0660デフォルトの名無しさんNGNG
>>658
ファミリー寿司とか買ってくると中に入ってる
緑色の仕切りって バラン っていうんだよね
0661デフォルトの名無しさんNGNG
ラスになりそうだったら代走頼んでトイレに入る処理必須
0662デフォルトの名無しさんNGNG
>>658
カイジかよっ!!
0663デフォルトの名無しさんNGNG
>>661
ここのトイレには 窓は無いぜ・・・

必殺技 不発
0664デフォルトの名無しさんNGNG
>>661
"最強"ならラス以外でもトイレだろ!!
0665デフォルトの名無しさんNGNG
相手がヤクザな人で、こっちが大勝しそうなときも条件に
入れといてね。
0666デフォルトの名無しさんNGNG
あー、でもテンパったときのリーチ判断ルーチンていうのは
プログラムのキモだと思うな。
0667デフォルトの名無しさんNGNG
で結局決断力ってなんなんだ?
探索を止めるポイントのことか(w
0668デフォルトの名無しさんNGNG
>>656-658は他人の考えを予想しているだけで
それがあっているかも分からないし、
しかも自分の考えは一切なしな訳だが、
それって負け惜しみっていうのよ。
0669デフォルトの名無しさんNGNG
1ヒューマンプレイヤー vs 3コンピュータープレイヤーになった場合
イカサマはしなくても、人間のみを狙い打ちにするような作戦取られたら
ヒューマンプレイヤーに勝ち目はない気がする。
0670デフォルトの名無しさんNGNG
>>669
狙い打ちロジック=捨て牌読みロジックの存在が前提(・∀・)イイ!!
他家との協力ロジック=・・
狙い打ちロジックで対象の優先順位を、ユーザ・点数多い順などに・・

色をそれぞれ固めるとかは別のプログラムになっちゃうだろ
0671デフォルトの名無しさんNGNG
仕様追加 上家が5秒考えたら先ヅモして盲牌する処理
0672デフォルトの名無しさんNGNG
多面待ち、かつ、待ちがある確率以上で有効であるときのみ
リーチってことでいいっしょ。
捨て牌から、相手の待ち、出る牌を予想して、てことなので。
0673デフォルトの名無しさんNGNG
>672
他にも条件はあると思う。
点数考慮して、満貫でないと逆転できない場合とか。
ドラ3で役なしの手とか。
0674デフォルトの名無しさんNGNG
それまでの他家の傾向を分析し「一発だけは・・」な奴ばかりなら即リー
敵に役満や染め手の可能性高くなったら絶対ダマ
0675デフォルトの名無しさんNGNG
>>672
多面チャン がリーチの決定条件になることはない。
待ち牌の数 はリーチの決定条件になることあるけど。
同じこと言ってると思うなよ?
0676デフォルトの名無しさんNGNG
リーチしますか?
Q1 二二三三四四23456�V�V 3面11牌
Q2 壱壱壱2223334445 5面10牌
0677デフォルトの名無しさんNGNG
当然Q2はリーチだな。
んで仮にフリテンになっても目的の牌をつもるまではつきすすむ。
ツモ!リーチスーアンコウ単騎!
0678デフォルトの名無しさんNGNG
ワロタ
0679デフォルトの名無しさんNGNG
>>677 は なに切ってリーチするんだ
0680デフォルトの名無しさんNGNG
5
0681デフォルトの名無しさんNGNG
>>676
Q1はリーチする。

Q2は少牌だな。仮に
壱壱壱22233344459
だとしたら、
5切る。当然リーチはしない。 
0682デフォルトの名無しさんNGNG
>>681
>Q2は少牌だな。

Q1なら何を切るつもりだ?(w
0683デフォルトの名無しさんNGNG
>>682
Q1も少牌かぁ!!
結局>>676はネタか!
0684デフォルトの名無しさんNGNG






http://www.geocities.co.jp/Hollywood/9210/




0685デフォルトの名無しさんNGNG
つーか牌を捨てたときにあの形だったとき
リーチするかしないかであって
何を切るじゃないだろ
0686デフォルトの名無しさんNGNG
>685
いや、だからQ2はおかしい、ということ。
わざわざ5残したんだからスーアンコでなくてもいいってことでしょ。
0687デフォルトの名無しさんNGNG
>>686
壱壱壱2223333444 5
だったかもしれないし

俺はこれでツモりたくない
でもツモっちゃうかも
しかし安い
だが・・・
0688デフォルトの名無しさんNGNG
>687
迷わずカン
0689デフォルトの名無しさんNGNG
セオリーとかノウハウとかの「主観」の積み上げで最強になるわけねえと思うんだが。
ベイズ的に確率はじいて選択。これ。
0690デフォルトの名無しさんNGNG
>>689
セオリーは主観じゃないだろ!
0691デフォルトの名無しさんNGNG
つーか、お前ら人工知能のスレでどうすれば人間ができるか
ってことを語ってるに等しいぞ。
将棋スレのがまだ建設的だ。モノは出ないが。
0692デフォルトの名無しさんNGNG
全てのパターンをDBに入れてSELECT
0693デフォルトの名無しさんNGNG
>>692
何パターンあると思いますか?
0694デフォルトの名無しさんNGNG
>>693
数えると頭がハゲる位
0695デフォルトの名無しさんNGNG
数えるの速いね。
0696デフォルトの名無しさんNGNG
>>695
貴様、何故、ワシがハゲてる事を知ってるんだ?
さては、アデランスの手先だな?
0697デフォルトの名無しさんNGNG
ふはは、その髪貰った!明智君さらばだ!
0698デフォルトの名無しさんNGNG
age
0699デフォルトの名無しさんNGNG
誰か作り続けてるんじゃろか
0700デフォルトの名無しさんNGNG
ゲームとして成立してないのに?(W
0701デフォルトの名無しさんNGNG
>>700
おもしろそうなゲームじゃん!!
0702デフォルトの名無しさんNGNG
麻雀プロと麻雀ソフトの公開試合は過去にありましたね
結果は言うまでもないですがね
0703デフォルトの名無しさんNGNG
おまえら麻雀氏ら無すぎ
知ってそうなやつも初心者並みのコメント
プロは俺しかいないのかよ
0704デフォルトの名無しさんNGNG
>>703
(゚∀゚)ここにもいるよ
0705デフォルトの名無しさんNGNG
流れがあるとか言ってる奴は
プログラマやめれ
0706デフォルトの名無しさんNGNG
>>702
俺も見た。どこか忘れたけど、わずかの差だったが
麻雀ソフトの方が勝つ確率が高い傾向にあるって書いてた。
プロいわく相手の顔色が読めないからつらいって。
改良する余地があるって言ってたから今はもっと強くなってるかな?
0707デフォルトの名無しさんNGNG
>>705
>>536
0708デフォルトの名無しさんNGNG
ヒューリスティックなルールを積み上げていく場合(例えばスジとかカベとか)
「強い」思考ルーチンはできても「最強の思考ルーチン」は望めない。
あくまで組み合わせ論的に可能性を列挙・取捨選択した上で、
「トップを取る上でその局にアガらなければならない点数」以上の点数を現在の局で
プラスできる可能性が最も高い手を選択していく、ぐらいの勢いでいかないと。
その決定がみかけ上人間が言うところの「スジ」あるいは「カベ」という
セオリーに従うこともあるかもしれないが、その戦略の決定プロセスは
ヒューリスティックなルールの積み上げとは全く異なるものであるはず。

将棋などの完全情報ゲームは理論的にはminimaxサーチで最強の思考ルーチンが
できちまうわけなんだが、麻雀の場合はどうなんだろう?
0709デフォルトの名無しさんNGNG
>>708
まあそこそこ強いのは作れると思う。
究極的に強くなったとして・・・

10半荘やって9勝するのは無理だとしても
1000半荘やって900勝するのは可能、とか
そういう感じの強さになるんじゃないかな。
0710247NGNG
俺は、かえって逆だと思うけどな。
麻雀ってのは、降りるときは降りる、行くときは行くみたいな
メリハリが必要。
中途半端な手は、かえって悪い結果が出る。
少なくとも個人的にはそう思う。

で、組み合わせを列挙したところで、中途半端な手しか打てないと思うわけ。

だから、全ツッパルーチンとべた降りルーチンを作って(これならそんなに難しくないはず)
オートマトンにして、その切り替えの評価関数を煮詰めていくほうがいいんじゃないかな。

やってみなきゃわかんないけどね。
0711デフォルトの名無しさんNGNG
プログラマなら
御託を並べる前につくったらどうだ?
0712デフォルトの名無しさんNGNG
>>710
全然理論的じゃない説明ですね。
0713247NGNG
>>712
もちろん。あくまで経験則です。
0714デフォルトの名無しさんNGNG
>>710
思考ルーチンを考える前に
まずはシステムを完成させれ(w
0715708NGNG
>>710
いやいや、その「メリハリ」も、例えばどの手を選択しても得点期待値が
(その局の得点期待値っていうのはもちろんフリコミによるマイナスもすべて
含まれているので)マイナスであるなら、そのマイナスを最小に抑えようとする
戦略がすなわち(見かけ上)ベタオリになると思うんだよね。
0716デフォルトの名無しさんNGNG
>>713
ていうか、役判定も出来ないヤツが何を言うか! という感じです。
0717247NGNG
>>714
まあ、もうちょっと待ってくれよ。

>>715
どうだろうね。
一様な期待値の求め方では、
すっぱりと暗刻落として下りる手は打てない気がして。

なんにせよ、漏れは人間的なゲーム回し重視のルーチンで組んでみたいのです。

>>716
その通りだ。ごめん。

0718デフォルトの名無しさんNGNG
>>717
まぁ、ガンバってくれよ。
0719デフォルトの名無しさんNGNG
http://www.gnu.org/directory/Games/board/xmahjongg.html
オープンソースの麻雀ソフト
思考ルーチン作成に徹したい人は使ってみては?
0720デフォルトの名無しさんNGNG
>>717
押し引きみたいな2値判定がプログラムにあると
テストしてるときは見てて楽しいだろうな。
「もう降りんのか?」とか「タコつっぱりやめれ!」とか
プログラムに愛着がわくかもしれん。
0721デフォルトの名無しさんNGNG
>>711
の一言で全員あぽーん
0722デフォルトの名無しさんNGNG
>>719
それ、中身は上海みたいやけど(笑)
0723719NGNG
>722
うゎ、ほんとだ。ロクに確認せずに貼ったスマソ

責任を取って別の物貼り
http://www5e.biglobe.ne.jp/~tatano/program/mahjong/source.html
Javaのソース公開中。いくらかバグがあるようだし、実装が汚いが、無いよりマシか?というところ
0724723NGNG
http://www.stevens-bradfield.com/MahJong/
こっちにもあった。スゲェやりにくいけど
0725デフォルトの名無しさんNGNG
実は今までの意見を参考に、もう組み始めてる。
しばらくは東風荘で腕試し?するつもり。
0726デフォルトの名無しさんNGNG
>>725
結果報告よろしく!
0727デフォルトの名無しさんNGNG
>>706
プロは顔色なんて見ませんが・・・
0728デフォルトの名無しさんNGNG
早く作れよ!!
0729デフォルトの名無しさんNGNG
手牌判定部 2%
他家判定部 5%
外部映像取得>表情判断部 25%
ユーザ心理判断部 67%
シャミ・コシ処理 1%
0730デフォルトの名無しさんNGNG
>>729
シャミ・コシ処理は必要あるの? 
0731デフォルトの名無しさんNGNG
だれかフレームワークを公開してよ。
0732デフォルトの名無しさんNGNG
>>731
それはできない
0733デフォルトの名無しさんNGNG
ソースまだ〜
麻雀ソフト作って儲けたいよ=
0734デフォルトの名無しさんNGNG
>>733
ソースは自分で
0735デフォルトの名無しさんNGNG
そーすか
0736デフォルトの名無しさんNGNG
>>735
氏ね
0737デフォルトの名無しさんNGNG
>>736
黙れ、のび太
0738デフォルトの名無しさんNGNG
さて、そろそろ作ろうと思うんだけど
俺はルールを良く知らないんだよな。
でも、作るか。
ちょっと待ってろ。
0739デフォルトの名無しさんNGNG
>>738
ローカルルールとか多いしね。
0740デフォルトの名無しさんNGNG
とりあえず、仕様を考えたので
検証してください。

まず、適当に誰が東西南北に座るかを決定します。
ここから1ゲーム目が始まります
1牌をランダムに並べる。これを山牌と呼ぶ。
2山牌から王牌にあたる7*2枚を抜き出す。
3王牌から一枚とってドラにする
413*4を配牌として、配る。
5順番にツモ&キリを行う。

そして、だれかが上がったときに
それで本当にあがれるのかをルールと呼ぶと
このルールにあたる部分が可変になる
という事でどうでしょうか?

鳴きに関しては、
優先順位の高い順に、鳴くかどうかを聞いていくと言う形
にしようと思います。
0741デフォルトの名無しさんNGNG
>>740
今更無いと思うが、完先ルールみたいな化石ルールはどうする?
それと、4カイカンで流局しないとかのルールもあるから
プレイヤーの全ての行動に判定が必要だね
0742デフォルトの名無しさんNGNG
http://www.dec.jpn.org/~gatoh/mjrule/mjruletop.html
このサイトを参考にしています。
0743デフォルトの名無しさんNGNG
>>741
http://www.dec.jpn.org/~gatoh/mjrule/mjrule12_3.html
これのうちどれを採用するかも
オプションで決定した方がいいという事ですね。

了解しました。

他にもルールが可変であった方がいいところとかあれば
教えてください。
0744デフォルトの名無しさんNGNG
>>740
細かいとこツッコんでいいか?

>3王牌から一枚とってドラにする
×ドラ
○ドラ表示牌

まぁ、わかってるならイイけど、
もしかしたらと思ってさ。
0745デフォルトの名無しさんNGNG
>>744
ナイス突込みです。
初心者なので、用語の使い方が間違ってたりすると思うので
参考になります。
0746デフォルトの名無しさんNGNG
さて、東風ボット完成したんだが
勝手にサーバーに複数IDでつないで
じゃんじゃん対戦しちゃっていいものなのか?

技術自体には違法性はないが、営業妨害とか迷惑なんちゃらとか
そちらのほうが気になる。
0747デフォルトの名無しさんNGNG
役判定のサンプルならこれなんかどうだ?

http://giga.hp.infoseek.co.jp/NaoSoft/index.html の最下にある

http://giga.hp.infoseek.co.jp/NaoSoft/Yakuhantei/YHVer033r.zip
役判定プログラム 言語:C++ / 要:WIN DX8
(総当りで組み合わせを抽出し、最高得点を選択する方式)



個人的には、総当りではなく最短で判定したい気分。


0748デフォルトの名無しさんNGNG
http://members.aol.com/FraPen8848/index.htm/
0749デフォルトの名無しさんNGNG
>>746
ID削除対象行為だよ
0750デフォルトの名無しさんNGNG
ボットだとバレなきゃ(ry
0751デフォルトの名無しさんNGNG
東風プログラム改変しての多重接続は違法かな?
改造しなきゃ複数ログインできないはず

そもそも、複数つなぐ必要あるのか?
対戦相手はたくさんいるだろうに
0752デフォルトの名無しさんNGNG
>>751
並列で複数のボットを対戦させないと効率悪すぎってことでそ。
1つのボットで100試合の結果取るより、10のボットで
それぞれ10試合させたほうが10倍早い。
プログラム改変が難しそうならVirtualPCとか使えばできると思うが・・・。
0753デフォルトの名無しさんNGNG
>>752
結果のログよりまずはバグ取りだろ
1試合1試合丁寧にやっとけ
0754デフォルトの名無しさんNGNG
Rシステム(雀力計測)あるんだから、10個で10ずつより、1つで100やった方がいい
10個でやると、1つでやったときのRの位置が計算できない(詳細なR算出方法が公開されていない)
0755デフォルトの名無しさんNGNG
>>754
詳細なR算出方法って・・・ 単にウマつきの点数と違うんか あれ。
0756デフォルトの名無しさんNGNG
違う
0757デフォルトの名無しさんNGNG
なるほど。

Rateとは何ですか?

 Rateとは実力を評価するための指針となる数値です。この数値が大きい方が実力があるということになります。Rateの計算方法はバックギャモンのRating計算方法を元に麻雀に合わせて修正したものを採用しています。

・Rateの数値が大きい方が実力があるということになります
・試合数が少ない場合は、Rate値はそれほど有効ではありません。20試合でRate値が2000あるよりも、200試合でRate値が1800の方が有効な実力を示していると言えます。試合数が300試合を越えていてRate値が1800を越えている人は相当実力があると判断して構わないと思います。
・試合数が多くなると、Rateの変動幅が小さくなります。実力がそのRate値近辺に集束されてくるとの考えによります。
・Rateの変動値と終局時に表示される点数とは関係はありません。点数が+60でも、Rateが+60になるわけではありません。
・自分よりRateの高い人と対戦して勝った場合にはRateの増え幅は大きくなり、負けた場合は減り幅は小さくなります。また、自分よりRateの低い人と対戦して負けた場合はRateの減り幅は大きくなります。勝った場合の増え幅は小さくなります。
・現在のRateの計算式は順位が影響します。1位ならRateは増えますし4位ですとRateは減ります。点数はRateの増減には影響しません。
0758デフォルトの名無しさんNGNG
つーかRに頼らず、一試合ごとの点数を自前で集計すれば済むだけの話と思うが・・・。
なにせボットだけじゃなくて、他のプレイヤー3人も含めて進行するわけだから、
地道に1試合ごとやってったんじゃアルゴリズムを改良した時に効果があったかどうか
判定するのに時間を食いすぎるような。
0759デフォルトの名無しさんNGNG

やっぱり、コンピューター同士で
1000回くらい対戦させて
データを取ったほうがいいと思う。
0760デフォルトの名無しさんNGNG
というか、レーティングを気にするほど完璧なアルゴリズムが既に出来ているんですか?
0761デフォルトの名無しさんNGNG
コンピュータ同士で対戦させ
このスレでその牌姿を報告するべし
0762デフォルトの名無しさんNGNG
誰か麻雀牌の絵を作りませんか?
jpg,gif,pngで保存してもらえれば
いいと思います。
0763デフォルトの名無しさんNGNG
訂正

誰か麻雀牌の絵を作りなさい
jpg,gif,pngで保存しなさい
0764デフォルトの名無しさんNGNG
頭と性格が悪い奴はどうしようもない。
今時フリーの物はいくらでもある。
http://www.wonderwitch.com/freedata/
0765デフォルトの名無しさんNGNG
ttp://www.bl.mmtr.or.jp/~l6000all/haiga.htm
けっこうきれい
0766247NGNG
取り敢えず形になってきた。
0767デフォルトの名無しさんNGNG
各プレイヤーのアルゴリズムは、
プラグインで個別に指定できるようにしろ
以上
0768デフォルトの名無しさんNGNG
5回目以上のカンについて

4回目までのカンは
嶺上牌からツモれますが、
5回目以降はどこからツモればいいのですか?
0769746NGNG
ん・・・
1つのボットで100試合〜10のボットでそれぞれ10試合
ということじゃなくて。
1つのボットで100試合やる時間があるなら、10のボットでそれぞれ100試合なんだが。

それにRにはこだわってないよ。
問題なのはどのような状況で負けるかだけだし。
負けた場合はなにが原因か。確率的な負けなら避けようがない。
問題があるなら修正。統計とって一番多い負けパターンから修正するでしょ。
大量のデータ>修正>データ集め> を短時間に行いたいだけなのよん。
0770746NGNG
あとRはこんな何順な式から導かれるらしい

自分のR + ( (他家平均R-自分のR)/60 + (2.5-順位(1-4)) * 20 ) * 試合数補正

試合数補正
試合数 係数
001-100 1.0
101-200 0.8
201-300 0.6
301-400 0.4
401-999 0.2

こんな数値で実力を測れるとは思えないね。
単に順位の結果によって数値が決まる。
0771デフォルトの名無しさんNGNG
5回目の槓はゲームの性質上出来ません
0772デフォルトの名無しさんNGNG
>>ウィンドウで隠れて何番か見えない
順位取る技術があれば強いと思わない?
0773247NGNG
>>770
順位戦が駄目だって事?
それとも結果とは独立した実力(技術力?)を求めたいって事?

さて、シコシコ作ってたわけだが、取り敢えずココまで出来た。
http://www.geocities.co.jp/SiliconValley-Oakland/9797/mj2ch.lzh
0774デフォルトの名無しさんNGNG
>1
最強だなんて・・・ププッ
パソコンでやるんでなくてさ〜
雀荘いけばいいじゃん!
それとも対人恐怖症か?
0775247NGNG
半荘中止ボタンは駄目駄目です。落ちます。半荘を終えてから終了してください。
特にUserForm使うと危険。半荘中に閉じたら強制終了しか術がなくなります。

http://www.geocities.co.jp/SiliconValley-Oakland/9797/mj2chvcl.lzh
>>773のはVCLが必要かもしれないので、動かなかった場合こっちを試してみてくだしゃい。

http://www.geocities.co.jp/SiliconValley-Oakland/9797/mjimages.lzh
牌の画像入れ替え用。imgフォルダを入れ替える。
中身は>>765のやつと落書きです。

http://www.geocities.co.jp/SiliconValley-Oakland/9797/src.lzh
メイクできないけど、主なソース

取り敢えず今のところ、同じdll同士で対戦できない(バイナリが別なら出来る)等
駄目駄目ですが、取り敢えずdllの仕様だけみると思って見てください。
0776デフォルトの名無しさんNGNG
リーチできねーじゃん
後、シャンテンが一つずれてるような気がする
0777デフォルトの名無しさんNGNG
点数計算も間違ってます
0778デフォルトの名無しさんNGNG
HDDも初期化されます
0779デフォルトの名無しさんNGNG
すごいな、本当にやるなんて
俺なんかこんな高度なプログラムできないよ
0780デフォルトの名無しさんNGNG
ガンバってくれよ
0781デフォルトの名無しさんNGNG
しかし史上最強の麻雀アルゴリズムができたとして・・・・
それを何に使うかだ問題だ
普通に考えたら麻雀ゲームしかないだろなあw
0782デフォルトの名無しさんNGNG
>>781
意味不明
0783デフォルトの名無しさんNGNG
>>781
いや、これで次期内閣総理大臣を決定するのだよ
0784247NGNG
>>776-778
牌姿などとあわせてバグレポートきぼんぬ
リーチは今から書きます。
0785デフォルトの名無しさんNGNG
>>784
あんたにほれた。
0786デフォルトの名無しさんNGNG
早くつくれよ
0787デフォルトの名無しさんNGNG


                   ボッキアゲ

           ヽ(`Д´)ノ  ヽ(´w`)ノ   ヽ(`Д´)ノ      
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄.|
        |                         |
        |                         |     
0788デフォルトの名無しさんNGNG

                  インポサゲ
                 

           ヽ(´Д`)ノ  ヽ(´w`;)ノ   ヽ(´Д`)ノ      
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄.|
        |                         |
        |                         |     
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0789デフォルトの名無しさんNGNG
>>787-788
君たちはそんなハレンチなことばっかり言って
ハレンチ育ちか!?
0790デフォルトの名無しさんNGNG
誰か結果とかないの?
0791247NGNG
http://www.geocities.co.jp/SiliconValley-Oakland/9797/mj2ch01.lzh
いろいろと更新。
0792デフォルトの名無しさんNGNG
ソースコード読みにくい
0793デフォルトの名無しさんNGNG
役牌・ドラ8032123を和了られたときには萎えた
どっからそんなドラでてくるんだよ、逆転できねーよ
0794デフォルトの名無しさんNGNG
あがったのにリーチ棒が貰えてないよ

32符とか表示しないで、ちゃんと表示してくんろ
38符→40符
42符→50符

つーか、一回あがったら動かなくなった罠
0795デフォルトの名無しさんNGNG
まだまだバグだらけか…
0796デフォルトの名無しさんNGNG
初期のリブレットを見ているようだ






















                                     分からんか(´・ω・`)
0797デフォルトの名無しさんNGNG
Java版キボン
0798247NGNG
>>793
最強だから。

いや、まっことすまんです。
>>791のでは直っていると思うんですが。。。

>>792
ごめん。

>>794
リー棒忘れてました。

動かないってのはひどいですね。
もう少し状況を詳しく教えろ

0799デフォルトの名無しさんNGNG
>>798
まぁガンバレ
0800デフォルトの名無しさんNGNG
東2局に行けた香具師いるのか?
0801デフォルトの名無しさんNGNG
トイトイと染めしかやらねーじゃん
裸単騎多すぎ
弱すぎてウンコ出た
0802デフォルトの名無しさんNGNG
コピーすんの面倒だったから、前回の面子DLL混ぜてやったらフリーズした
0803デフォルトの名無しさんNGNG
どれを落としてもvclがないと怒られてしまう。。
0804デフォルトの名無しさんNGNG
"最弱"決定だな。
0805247NGNG
>>802
混ぜたら危険

>>803
これならどうですか?
http://www.geocities.co.jp/SiliconValley-Oakland/9797/mj2ch02.lzh

東二局に進まないってのは、原因がさっぱりわかりません。こっちでは再現しません。
UserFormをクリックしてみるとかしてみても駄目ですか?

0806デフォルトの名無しさんNGNG
>>805
とにかくガンバレ。

お前のような奴が世界を動かす。
0807デフォルトの名無しさんNGNG
次局に進まないってのは、>>802が原因だった
付属してた今回ryuをコピーして面子揃えたらちゃんとできたよ
0808デフォルトの名無しさんNGNG
・今の段階で「半荘終わるまでは打て」はウザイ
・ドラが表示されない
・自摸切りか手出しか分からない(重要)
・最初だから、どっちかというと全く鳴かないAIの方がいいと思う。鳴くと役が狭められるし
・今、誰が親なのか分かりにくい(そりゃ分かりますがね)
・東1局 0本場
 34符8翻 自風牌 場風牌 対々和 混一色 ドラ2
 25000 25000 25000 25000
 0 -24000 24000 0
 ↑この点数変動でどうなったのかを書いてほしい
 例:25000 1000 49000 25000
・起家マークキボンヌ
・ドラ0という表示は必要ない
・5飜は満貫、6〜7は跳満、9〜10は倍満、11〜12は三倍萬、13〜は役満と表記せよ(4飜や3飜の一部も満貫な)
・負けても脱がないという重大なバグ
0809デフォルトの名無しさんNGNG
8〜10だったね間違えたけどメンドイので訂正はしない
0810247NGNG
>>807
胸のつっかえが取れたよ。

>>808
細かいところまでサンクス。

>・今の段階で「半荘終わるまでは打て」はウザイ
すまん。途中終了が上手く出来ないのでそうしてあるわけだ。
だから正確には「打ってくださいおながいします」です。
半荘中止を押してからUserFormの何かしら(手牌か無視ボタンか)をクリックで
終了できるはずです。(最初のフォームのボタンの文字色で見分けてください)

>・ドラが表示されない
表はもう出来た。もうちょい待て。裏はちょっ難しいので考え中

>・自摸切りか手出しか分からない(重要)
デフォルトのimgでは手出し牌の縁が光っているはず。
>>775の別の牌に変えればもっとみやすいかも

>・最初だから、どっちかというと全く鳴かないAIの方がいいと思う。鳴くと役が狭められるし
あれは・・・システムテスト用くらいに思ってください。

>・今、誰が親なのか分かりにくい(そりゃ分かりますがね)
>・ ↑この点数変動でどうなったのかを書いてほしい
>・起家マークキボンヌ
>・ドラ0という表示は必要ない
>・5飜は満貫、6〜7は跳満、9〜10は倍満、11〜12は三倍萬、13〜は役満と表記せよ(4飜や3飜の一部も満貫な)
まとめてやっつけます。

>・負けても脱がないという重大なバグ
(゚Д゚)ハァ?
0811デフォルトの名無しさんNGNG
完成してから公開しろよ
なんだよコレ(w
恥ずかしくないのか?
中学生の部活活動レベルだぞ
0812デフォルトの名無しさんNGNG
一応もう一度書くけど倍満は”8〜10”ね
13〜は”数え役満”の方がいいかも
0813デフォルトの名無しさんNGNG
煽りは完全に放置で。
0814デフォルトの名無しさんNGNG
さっき四暗刻単騎待ちテンパった(*´Д`*)アハァ
0815デフォルトの名無しさんNGNG
811は早く遊びたくてしょうがないらしいでつ
0816デフォルトの名無しさんNGNG
っていうか、2ちゃんねる自体が中学生の部活動レベルだと思っていますよ
0817デフォルトの名無しさんNGNG
10回やって、全部1位でした
ポン厨うぜえ
0818デフォルトの名無しさんNGNG
だから"最弱"決定だな
0819デフォルトの名無しさんNGNG
このスレ途中までしか読んでないけど、これじゃだめなのか?
http://doranizm.hp.infoseek.co.jp/develop.html
0820デフォルトの名無しさんNGNG
最強かつ最弱では?
0821デフォルトの名無しさんNGNG
闘牌さらせや
0822デフォルトの名無しさんNGNG
247殿
ビルド環境はなんでしょうか?ビルド可能なソースはあります?
0823デフォルトの名無しさんNGNG
誰かできたか?
0824デフォルトの名無しさんNGNG
よく途中のじゃんけんへの脱線からここまでもってきたな。
0825デフォルトの名無しさんNGNG
最強カモーン
0826デフォルトの名無しさんNGNG
じゃんけんが脱線だと思ってるなら、相当なバカだと思われ
0827デフォルトの名無しさんNGNG
http://www.eonet.ne.jp/~nohohon/osaka-band.htm
0828デフォルトの名無しさんNGNG
>>812
本格麻雀では満貫は7飜(+2バンバン!)なのだが。
0829デフォルトの名無しさんNGNG
>>828
今時得意げに場ゾロ数える奴ァいねぇよ
0830デフォルトの名無しさんNGNG
(lll゚Д゚)ガーン!
フリーで打ってて役読み上げる時は必ず数えてるよ・・・
0831デフォルトの名無しさんNGNG
バンバン言うやつはバカだね。
時間の無駄!

>>830
フリーでは点数だけ言えばイイのだよ。
0832デフォルトの名無しさんNGNG
他の作ってる人は?
0833デフォルトの名無しさんNGNG
>>826
俺は完全に脱線していたと思うが。
ジャンケンの議論で何がしかの成果が得られたのか?
0834デフォルトの名無しさんNGNG
>>833
ゲーム理論
戦略
0835>>577=580=833NGNG
>>834
「ゲーム理論」という単語が出た事が成果か?
俺としては>>575が「確率」というものについて
一くさり語ってくれていたら成果が出たといっても
いいと思うが(w
0836デフォルトの名無しさんNGNG
>>835
http://www.geocities.co.jp/WallStreet-Bull/6161/
一回のじゃんけんにつき
グーで勝つと1点
チョキで勝つと3点
パーで勝つと10点獲得する。
引き分けは両者が0点
負けも0点を獲得するとする。

この時、どういう戦略が最も強いか。
答え
最強の戦略はない。
すなわち、相手に応じた戦略をとる必要がある。

麻雀にもこれと同じ要素が含まれている。
すなわち、麻雀では相手の戦略に応じて
自分の戦略を変えるアルゴリズムが有効である事がわかる。
しかし、どの程度有効かはわからない。
ものすごく有効かもしれないし、ほとんど有効じゃないかもしれない。
でも、必ず影響はある。
0837デフォルトの名無しさんNGNG
単純に考えるのは結構だが、例えが単純すぎる
0838デフォルトの名無しさんNGNG
さっさとバーうpしやがれってんだイヤンバカン
0839575NGNG
>>835
いや、別に語ることも無いよ
麻雀のツモとじゃんけんの手との違いを
理解してない人がいたから指摘しただけ
0840デフォルトの名無しさんNGNG
また脱線ですか?
0841デフォルトの名無しさんNGNG
ルールは変えられるの?
0842デフォルトの名無しさんNGNG
>>841
まだその段階ではないようです
0843デフォルトの名無しさんNGNG
使えねー
0844デフォルトの名無しさんNGNG
使えるー
0845デフォルトの名無しさんNGNG
>最強の戦略はない。
>すなわち、相手に応じた戦略をとる必要がある。
なぜ相手に応じる必要が?
0846デフォルトの名無しさんNGNG
↑
るーぷ
0847デフォルトの名無しさんNGNG
NPCの戦略なら、特徴あるキャラが複数居た方が面白いんじゃないかな。
0848デフォルトの名無しさんNGNG
バカに理解させようとする努力は無駄。
バカは自分がバカな事に気づかない。
0849デフォルトの名無しさんNGNG
>>848
本当だ。微塵も気付いていない。特に >>848 とか。
0850デフォルトの名無しさんNGNG
最強の闘牌について語れや
0851デフォルトの名無しさんNGNG
つうかそのじゃんけんなら最善の戦略はあるじゃん・・・。
0852デフォルトの名無しさんNGNG
とりあえず、最善の牌を必ず手に入れられるようなアルゴリズムを作れ。
0853デフォルトの名無しさんNGNG
お前はまずアルゴリズムという言葉の意味を理解しろ。
0854572=708NGNG
>>836
氏ねバカ。二度と来んな。
0855デフォルトの名無しさんNGNG
「面白さ」はどうでもいいんじゃないか?
0856247NGNG
面白い方がいいに決まってる。

いや、戦略を考えるのにさ。
単純な探索の速度だけが問題になるようなのじゃ、詰まらないだろ。

>>838
いまちょっといろいろ整理してるのでしばらくお待ちください。
0857デフォルトの名無しさんNGNG
このマージャンソフトすごいな。
半荘でおわれないばかりか、しばらくやってるとウイルスまでいれてくれる。
0858デフォルトの名無しさんNGNG
最強になること=楽しいことでないと駄目だ
0859デフォルトの名無しさんNGNG
>>858
言ってることの5%しかわかりません
0860デフォルトの名無しさんNGNG
5%も分かってくれたなら、宇宙は君のものだ
0861デフォルトの名無しさんNGNG
5%=1/20ということは、>>859が分かったのは"最"あたりか
0862デフォルトの名無しさんNGNG
強はちょっと難しかったな。
0863859NGNG
>>861-862
"="の意味だけわかりました。
何と何を比べてるのかは全くわかりません。

もちろん"最"なんて意味不明すぎて鼻血がでました。
0864デフォルトの名無しさんNGNG
最はオレの麻雀の中にいる
0865デフォルトの名無しさんNGNG
実は最は、もっともと読むんです。
0866デフォルトの名無しさんNGNG
最強の話ししようぜ。
0867デフォルトの名無しさんNGNG
やっぱ悟空最強。
0868デフォルトの名無しさんNGNG
今日は最強最悪のアソボット五九の日
0869デフォルトの名無しさんNGNG
最弱の話ししようぜ。
0870デフォルトの名無しさんNGNG
>>871
それ以外で
0871デフォルトの名無しさんNGNG
最弱はヤムチャだろ。
0872デフォルトの名無しさんNGNG
クリリンって弱そうなイメージあるけど、
実は純粋な地球人では一番強いんだよな。
0873デフォルトの名無しさんNGNG
>872は天津飯派を呼んだ!
0874デフォルトの名無しさんNGNG
>>872
純粋なって…鼻ないよ。
0875デフォルトの名無しさんNGNG
>>874
お前は突然変異で指が六本ある人間を地球人ではないというのか?
0876デフォルトの名無しさんNGNG
>>875
突然変異が純粋ですか?
0877デフォルトの名無しさんNGNG
>>876
突然変異だろうが奇形だろうが地球人だろうが。
純粋ってなんだよ。
0878デフォルトの名無しさんNGNG
>>877
知らねーよ!
>>872に聞け!!
0879デフォルトの名無しさんNGNG
クリリンより亀仙人の方が強いべさ
0880デフォルトの名無しさんNGNG
17・18号は純粋な地球人だと思う。
0881デフォルトの名無しさんNGNG
8号はフランケン
0882デフォルトの名無しさんNGNG
根こそぎフランケンは結構面白かった。
0883デフォルトの名無しさんNGNG
最後は亀より栗の方が強いような
だがサタンの娘(名前忘れた)って最後強くなかったか?
0884デフォルトの名無しさんNGNG
ビーデルだっけ?
あれも何気に悪魔から来てる名前だったのか
0885デフォルトの名無しさんNGNG
君達はドラゴンボール世代ですか?
オレは怪物君世代です。あとエスパーマミ
0886デフォルトの名無しさんNGNG
↑キモイヨー
0887デフォルトの名無しさんNGNG
↑アフォ発見
0888デフォルトの名無しさんNGNG
↓まあそういうなよ
0889デフォルトの名無しさんNGNG
↑うっせーぼけ
0890デフォルトの名無しさんNGNG
>>886-889
厨房はこの板に来ないで下さい。
紳士・淑女・熟女だけ来て下さい。
0891デフォルトの名無しさんNGNG
正直、俺は悟飯とビーデルのラブラブ学園生活が見たかった。

初Hの話とか。

エスパー魔美再放送キボン
0892デフォルトの名無しさんNGNG
幼女だけ来てくらさい
0893デフォルトの名無しさんNGNG
>>892
パンか!?
0894デフォルトの名無しさんNGNG
>>891
バキを読みなさい
0895デフォルトの名無しさんNGNG
麻雀の話はどこいった
0896デフォルトの名無しさんNGNG
>>895
麻雀版逝け
0897デフォルトの名無しさんNGNG
DLLの作り方おすえて
0898デフォルトの名無しさんNGNG
>>897
DLL版逝け
0899デフォルトの名無しさんNGNG
ドラゴンボール教えて
0900デフォルトの名無しさんNGNG
>>899
ここに逝ろ
0901デフォルトの名無しさんNGNG
ドラゴンボウル何個集まりました?
0902デフォルトの名無しさんNGNG
やっとボムの炭とエクソレイの粘菌が手に入ったところです。
0903デフォルトの名無しさんNGNG
>>901
じっちゃんの形見とかいっているガキが四星球を放しません。
そいつらとその仲間は暴力と科学力を使って、
なんども神龍に願い事をかなえてもらっているみたいです。
欲張りすぎです。どうしたらいいですか?
0904デフォルトの名無しさんNGNG
早く次スレの話ししようぜ

>>901
そんなもん集めなくても君の願いを叶えてやるぞ(嘘)
0905デフォルトの名無しさんNGNG
>>903
ドラゴンボールを7個集めてシェンロンにお願いしなさい
0906デフォルトの名無しさんNGNG
何気に中国系のドラゴンボールと麻雀は関係あるな
関心関心
0907デフォルトの名無しさんNGNG
また脱線ですか?
0908デフォルトの名無しさんNGNG
あれ?ツクってるひと、もう辞めたのかな?
0909デフォルトの名無しさんNGNG
結果だせや
0910デフォルトの名無しさんNGNG
早く次スレの話ししようぜ
0911デフォルトの名無しさんNGNG
>>910 やんの?
0912デフォルトの名無しさんNGNG
>>911
やらないの?
0913デフォルトの名無しさんNGNG
>>912
やってもいいが俺のレートは高いぞ
0914デフォルトの名無しさんNGNG
>>913
12回ローンでお願いします
0915デフォルトの名無しさんNGNG
脱衣麻雀…
リアルで…
やりたい…
0916デフォルトの名無しさんNGNG
野郎同士で脱ぎあうのか?
0917デフォルトの名無しさんNGNG
915はギャルですよ
0918デフォルトの名無しさんNGNG
脱衣麻雀なんてつまらないよ。
どーせなら野球拳!それか卓球拳!!
0919デフォルトの名無しさんNGNG
すなおにSEX
0920デフォルトの名無しさんNGNG
早く次スレの話ししようぜ
0921デフォルトの名無しさんNGNG
何か結果でた人いる?
0922デフォルトの名無しさんNGNG
おまいの言う結果って何よ?
0923デフォルトの名無しさんNGNG
>>922
より"最強"に近づいたプログラミングが
できたかどうかじゃない?
0924デフォルトの名無しさんNGNG
最強の麻雀プログラムは無理っぽいからすっごい簡単な麻雀プログラム作ったら無い牌捨てろっていってくるヽ(`Д´)ノウワァァン
0925デフォルトの名無しさんNGNG
>>924
(。・д・)ァゥァゥ
0926デフォルトの名無しさんNGNG
ここは最強スレだ。妥協は許ぬ。
0927デフォルトの名無しさんNGNG
ゆるぬ。
0928デフォルトの名無しさんNGNG
ゆるぬ
逆から読んだらぬるぽ
0929デフォルトの名無しさんNGNG
最強の麻雀プログラム?
数百通りの上がりの形を作っとくだろ。
その中から4つ(4人分)の上がりの形を決めるだろ。
全牌数分のデータから上で決めた4つの上がりの形で使ってる牌を消去するだろ。
4つの上がりの形からいくつか牌を抜くだろ。抜いた牌は別データとしてとっとけよ。
抜いたところに使用してない牌を適当にまぶすだろ。
で、画面に表示だ。
コンピュータはツモ切りでいいだろ。
ツモは使用して無い牌から適当にランダムで持ってくるだろ。
で、そのツモの途中でランダムに上がりの形から抜いた牌をつもらせるだろ

あとは秘密。この方法でげせーんでけっこう評価よかーた。
0930デフォルトの名無しさんNGNG
>>929
数百通り?4人分??
0931デフォルトの名無しさんNGNG
懐かしいアルゴリズムだな…… もうちょっと簡単な方法を示すと

1.上がりの形式を数パターン用意しておく。
2.コンピュータは上がりの形式から1つづつ選んでおく
 (つまり、最初から上がっている)
3.コンピュータは何回かツモ切りをした後、「上がった」と宣言する。

例えば、レベルが低いCOMは上がるまでにかなりツモ切るし、
ぎゃわんぶらぁ自己中心派(これまだ懐かしいなぁー)の「竜巻ツモ」なんかもこれなら簡単に実現可能。

ところで、大学院の修士研究に麻雀ゲーム理論やりたかったが、そういう研究室が無かったよ…… 鬱
0932デフォルトの名無しさんNGNG
よーするにイカサマか
0933デフォルトの名無しさんNGNG
盲牌の練習ソフトならできたよ
0934デフォルトの名無しさんNGNG
ばかばっか
0935デフォルトの名無しさんNGNG
今度はルリルリの話題ですか?
0936デフォルトの名無しさんNGNG
ばか発見
0937デフォルトの名無しさんNGNG
ところでおまいら、洗牌のアルゴリズムはどうやるんだ?
ランダムに配列を弄っても、現実っぽい配牌にはならないんだが?
0938デフォルトの名無しさんNGNG
>>937
普通に
for i = start to end-1
 swap(array[i], array[random(start, end)])
的なコードで十分じゃないの?
「現実っぽい」ってのは幻想では。
0939デフォルトの名無しさんNGNG
>>937
鷲頭麻雀みたいにツモ一回ごとに引き直す。
0940デフォルトの名無しさんNGNG
確かに現実だと多少の偏りはある。
(自動卓が規則的に動作してるため)
プログラムでそこまで考慮する必要があるのか?
と問われれば「ない」と大きな声で答えたい。
0941デフォルトの名無しさんNGNG
new BouyaTetsu().tsubamegaeshi();

最強。
0942デフォルトの名無しさんNGNG
現実っぽい灰パイって南だ?
テンホーだしたら駄目か?
0943247NGNG
一瞬考えたけどね。
自動卓の洗牌のシムレーション。

一局終了時に、河→牌山→手牌→鳴き牌の順に並べて、
ほどほどに混ぜつつ、次々局の牌山を組む。
混ぜ具合は湿度変数で指定できるって感じで。

馬鹿らしいからやらないけど。
0944デフォルトの名無しさんNGNG
247って何した人?
247の書き込み見てもよく分からないんだけど
0945デフォルトの名無しさんNGNG
>>943
全自動卓は普通牌を2セット持つので
それもシミューレート?(笑)
0946デフォルトの名無しさんNGNG
面白い麻雀目指すなら、ゲ製
最強の麻雀目指すなら、ム
0947デフォルトの名無しさんNGNG
>>944
ろくな設計もせずに麻雀プログラムを作成しようとして、自滅しかけている奴。
最新版は>>815か?

但し、とにかく動く(?)ソースをうpしている点で
他の奴等よりも10歩ぐらい先に進んでいる事は間違いない。
0948デフォルトの名無しさんNGNG
247は神です(嘘)
0949デフォルトの名無しさんNGNG
車ゲーはリアルシミュレーションによって面白くなるが、
麻雀をリアルシミュレーションするとスゲー地味になる。
0950デフォルトの名無しさんNGNG
>>943
面白いかも
前々局の捨て牌で山の傾向が決まったりして
古い自動雀卓みたい
0951デフォルトの名無しさんNGNG
早く次スレの話ししようぜ
0952デフォルトの名無しさんNGNG
>>949
> 車ゲーはリアルシミュレーションによって面白くなるが
そんなわけない。
0953デフォルトの名無しさんNGNG
車ゲーのどこがリアルなのかと(略
0954デフォルトの名無しさんNGNG
オレの友達は車ゲームで40km/h以上だしませんが何か?
0955デフォルトの名無しさんNGNG
オレの友達は車ゲームで事故死しましたが何か?
0956デフォルトの名無しさんNGNG
>>960
告ぎすれたテロ、ぼけ
0957デフォルトの名無しさんNGNG
また脱線ですか?
0958デフォルトの名無しさんNGNG
車ゲーは脱線しても壊れない。これはリアルじゃない。
0959デフォルトの名無しさんNGNG
車ゲー中に脱糞したら臭い。これはリアルだ。
0960デフォルトの名無しさんNGNG
さっさと最強の麻雀つくれよボケがPart2


■ここまでのあらすじ■
前スレで中盤で、なんとか動く麻雀プログラムをうpしてきた者が現れた。
だが、そこからなかなか進展していないようだ。
最強の麻雀への道は、まだ始まったばかりなのである。

前スレ
http://pc2.2ch.net/test/read.cgi/tech/1044446158/l50
0961247NGNG
賞品は無くなるのか?
0962デフォルトの名無しさんNGNG
NASAほしいよ〜
0963次スレNGNG
できたら、好きな大陸1つやるよ。

■ここまでのあらすじ■
4回戦までを終え、鷲巣の総資産の3分の2に当たる
約3億円を奪った。アカギは鷲巣の源泉を暴こうとする…!?

前スレ
http://pc2.2ch.net/test/read.cgi/tech/1044446158/l50
0964デフォルトの名無しさんNGNG
( ´,_ゝ`)プッ 
0965ここからはビジネスNGNG
>>469
いくら出せますか?
0966デフォルトの名無しさんNGNG
>>965
20円
0967デフォルトの名無しさんNGNG
将棋のスレを追い越しそうな勢いだ
0968デフォルトの名無しさんNGNG
あそこはもう終わりだろ。
0969デフォルトの名無しさんNGNG
今のトレンドは麻雀!
0970デフォルトの名無しさんNGNG
対人麻雀ゲーで
金のかわりになにをかければ面白いだろうか。
0971デフォルトの名無しさんNGNG
>>970
エロ動画
0972デフォルトの名無しさんNGNG
>>970
友情
0973デフォルトの名無しさんNGNG
>>970
いのき
0974デフォルトの名無しさんNGNG
女
0975247NGNG
>>971
ダウソ板で昔やってたな。点5メガとかなんかで。
0976デフォルトの名無しさんNGNG
>>975
レート高っ!!
0977デフォルトの名無しさんNGNG
麻雀っておもしろいよね
0978デフォルトの名無しさんNGNG
ジャケットを掛けたまま銀行に行ったことのない奴のセリフだな
0979デフォルトの名無しさんNGNG
>978
あんた、背中が煤けてるぜ
0980デフォルトの名無しさんNGNG
誰が次スレ立てるんだ?
0981デフォルトの名無しさんNGNG
↑
ちみ
0982デフォルトの名無しさんNGNG
( ´,_ゝ`)プッ 
0983デフォルトの名無しさんNGNG
誰かオレと麻雀の話ししようぜ!
0984デフォルトの名無しさんNGNG
なかなか良い提案だ。だが断る。
0985デフォルトの名無しさんNGNG
>>984
断らないで、お願いします。
一生のお願い。
0986デフォルトの名無しさんNGNG
Gだ断る
0987デフォルトの名無しさんNGNG
ここもクソスレになったなぁ
0988デフォルトの名無しさんNGNG
ゲ作板に近しいネタだとどうしても香ばしくなる罠
0989デフォルトの名無しさんNGNG
次スレができたら、俺が作ろうかな
0990デフォルトの名無しさんNGNG
990
0991デフォルトの名無しさんNGNG
991
0992デフォルトの名無しさんNGNG
992
0993デフォルトの名無しさんNGNG
993
0994デフォルトの名無しさんNGNG
994
0995デフォルトの名無しさんNGNG
995
0996デフォルトの名無しさんNGNG
996
0997デフォルトの名無しさんNGNG
997
0998デフォルトの名無しさんNGNG
998
0999デフォルトの名無しさんNGNG
999
1000デフォルトの名無しさんNGNG
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。