おまいら最強の麻雀プログラムしてみろよ!!
■ このスレッドは過去ログ倉庫に格納されています
0001桜井章一
NGNG0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG>>177
>麻雀をちょっと単純化して
>駒の数を
>9*4*4=144とする。
>面倒なのでダブりがないと仮定して、ちょっと複雑にする。
もっと詳しく書いて下さい。意味が全くわかりません。
駒って何ですか?
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG一番確率が高いものを選んでいくだけだろ。
0010デフォルトの名無しさん
NGNG知る必要があるのは相手が持っている牌の確率とほしい牌の確率だね。
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGじゃ「ばばぬき」キボンヌ
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGもちろんラストは教職員リレーだな
0015デフォルトの名無しさん
NGNGもちろんアンカーは体育の先生だな。
0016デフォルトの名無しさん
NGNG一番確率が高いだけじゃなくて、上がったときの点数と確率を比較して
一番点数の期待値が高い役を探すんじゃないかな?
>>10
典型的なのは分かると思うけどな。
タンヤオ系とチャンタ系とかなら簡単なチェックで推理は出来そうだ。
0017デフォルトの名無しさん
NGNGんなわけないか、麻雀程度の簡単なプログラムに興味がある奴いなそーだし。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020YAHOO!無料
NGNG今YAHOO!BBでADSLを利用されてる方。
月額料金を無料にできる方法をお教えします。確実な方法です
し方法も一つではなく何通りお教えしますので、ヤフーbbのユ
ーザーである限り料金発生なくずっと使えます。
興味のある方は以下のメールアドレスに連絡ください。
料金をとめる方法は少しの謝礼でお教えします。
[email protected] [email protected]
よろしくお願いします。
0021デフォルトの名無しさん
NGNGこれは、弱すぎる。少し手遅れしても満貫までつくれそうなときは、
満貫作っちまったほうが強い
1手変わりで点数が増える場合も多いしな
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGはじめの一打が19字牌とかで迷彩されたら、読めないだろうな
0024デフォルトの名無しさん
NGNGその場合、捨て牌が偏ってしまうため、バレバレになる
バレバレになると誰も振り込んでくれない
ということは、自分のツモあがりだけとなり、あがれる確率が低い
だけど、余裕がある場合に第一打や途中で2、3個捨てておくと警戒が薄れ、
他の3人も出してくれる確立が高くなる(経験上)
自分のツモあがりだけと自分と他の3人から出る可能性のある場合、どちらがあがりやすそうかは明白
聴牌までの期待値を1下げて、あがりやすさを3上げるような微妙な部分をどう克服するのか、、
最強への道のりは果てしなく遠いようである
完
※ちなみのこのチンイツは振り込むとかなり痛い点数の役です
0025デフォルトの名無しさん
NGNGC言語で関数を作って、過去に相手が出した手から次の手を創造することを
その関数に期待するルールだった。乱数やそれに類するものの使用は一切禁止。
さて、概略を記すと以下のような形だったわけだ。
/* 文法が間違ってたらごめん */
typedef (int) (*func_ptr)(int);
func_ptr program1;
func_ptr program2;
そしてクラブの部員が作ったプログラムをそれぞれポインタに代入して
戦わせる形だった。
002625
NGNG中で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最強同士で戦わせたらえらいことに
0028デフォルトの名無しさん
NGNG( ´∀`)< ぬるぽ
0029デフォルトの名無しさん
NGNGあと定跡と定石
それと香具師と家具師
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNGドンジャラとは違うからな。
0034デフォルトの名無しさん
NGNGえっ? 確率が高い手を選んだらあとは運任せのゲームでしょ(w
0035デフォルトの名無しさん
NGNGそれ初心者の打ち方だよ。
アンパイをどうよませるの?
捨て牌から相手の手をいかによむの?
相手がツモギリをした場合の処理は? うちながら相手の癖を理解させたりしなくていいの?
とかかなり問題は山づみ。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG誰かがハク、ハツと鳴いたら、チュンは捨てない
0039デフォルトの名無しさん
NGNGじゃあはじまった瞬間食いタン決定だな。
0040デフォルトの名無しさん
NGNGこれが麻雀には最重要では?
アンパイの読みとかも、基本は同じだけど対局者や
その流れで全然違う。
そしてそれを実装するためには、最初の数局は無難に打って、
相手が自分が学習した中でどのタイプの麻雀打ちかを
判断する。
逆に自分の手が読まれないように、自分のタイプはこまめに買える。
または複数タイプを混ぜるとか。
ついでに漏れは「他人にバレようが、チンイツなどの染め手ばかり狙い、
しかもオープンリーチばかりする馬鹿」です。オープンリーチ・一発・
ツモ(ドラ1以上)しか狙いに行きません。ごめん。
0041デフォルトの名無しさん
NGNG・1巡ごとに見える牌の数が増えることから、相手の手にありえる何百万通り(?)ものなかからもっとも確率が高い牌姿などを常に考えておく
もしかしたら将棋より大変かもな
0042デフォルトの名無しさん
NGNGただのポンなら(責任払いでも)自らチョボしたほうが安いし(をい
0043デフォルトの名無しさん
NGNG是非高レートで賭け麻雀しましょう。
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNGそれは自分の手と相談してな。
安い手で張り合うのはばかばかしいだろ。 前の奴がだしたら便乗、二枚あったら頭ってかんじにしたほうが強くない?
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNGおいおい…
やった奴に自信つけさせて破産させるソフトになっちまう。
0050デフォルトの名無しさん
NGNG相手のリーチに対して、振り込んだときに裏ドラがいくつ乗ってしまう確率があるのかとかも
0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG俺でよければ脱ぎまで担当するが?
0054デフォルトの名無しさん
NGNGこれ最強
0055デフォルトの名無しさん
NGNGまずはそこからだろ。
0056デフォルトの名無しさん
NGNGえっ? 読むって相手の手を完全に読めるの? 確率でしか分からないでしょ(w
0057デフォルトの名無しさん
NGNG>・1巡ごとに見える牌の数が増えることから、
一巡ごとに相手のありえる手の数が極端に減るねぇ。
0058デフォルトの名無しさん
NGNG将棋もね
0059デフォルトの名無しさん
NGNG確率を出すだけだね。1巡ごとに見える牌は増えるから調べなきゃならない
牌の数はどんどん減っていくね。
0060デフォルトの名無しさん
NGNGたとえば
相手が1巡目で5を切ってリーチしてきたとする
この5が安牌であることが100%の情報で、
この他の牌の危険度が全く同じあるかと言えばそうでもない
この5がどういう形からでてきたのかたとえば455と持ってたところから出た5だとすれば、36が当たり牌となっている
他にも次のようなかたちもありえたりす(ry
まあ、自分の持ってる牌などからも微量なが情報を得てだな
などなど、確率確率確率マンセーニダ
0061デフォルトの名無しさん
NGNG最初の数はものすごく少ないけど
0062デフォルトの名無しさん
NGNG親なら14枚から始まるから121牌
0063デフォルトの名無しさん
NGNGありえない
0064デフォルトの名無しさん
NGNG> 将棋って最後まで増え続けるの?
なにが?
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG相手の手が確率でなく完全にわかるボードゲーム?のほうが少ないと思うな。
あがりやすさだけで判断するプログラムっていうのも
組んでみたらおもしろいかも。
0067デフォルトの名無しさん
NGNGそうですね、ただ自分が1枚しか持ってない状態でチュンの頭待ちだったら
まず誰も振り込んでこないので……
あと後半になればなるほど、ハクハツを鳴いた人間がチュンの頭待ち
をしている可能性が高くなるという問題もあります。
0068デフォルトの名無しさん
NGNGんだんだ。その点で麻雀と将棋は違うわな。
じゃんけんで相手の裏の裏の裏の裏の裏の・・・の手を考えても無駄なように、
麻雀で先の先の先の先の先の・・・の手を考えても無駄だな。
将棋と同じアプローチは通用しないのに、同じアプローチで考えて将棋よりも
麻雀が難しいといっている奴はバカ(藁
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG全く違うものだしね。
比べる必要をまず感じないわな。
まあどっちが難しいとかにこだわる奴は放置で。
でもジャンケンとは違うよ。
あれは常に三分の一だから。
麻雀は実際強いうちかたがあるからね。
意味合い的には運の入る将棋ってかんじ?
0072デフォルトの名無しさん
NGNGなんの確率がわかるって言うんだよ?(藁
0073デフォルトの名無しさん
NGNGttp://kataagari0.tripod.co.jp/
0074デフォルトの名無しさん
NGNG運の入る将棋。
良い手の内からランダムで手を選ぶ将棋みたいなもんか。
0075デフォルトの名無しさん
NGNG戦略を練る。
しかし麻雀の場合は、相手の手の一部(捨牌・鳴牌)しか分からん。
その中で考えなければいけない。
この差は大きいと思うけど、どう?
ついでに実際の麻雀の場合は相手の思考時間+手の動きも
相手の手牌の内容を探る情報になるので……
マウスカーソルや視線の動きも情報として取り込まないと
(対人戦)最強にはなれないかと、思う。
まあこれも通じたり通じなかったりだけど
0076デフォルトの名無しさん
NGNG行動の有効度、危険度を設定して、それを参照しながら点を計算、一番たかい手を選ぶって感じか?
つーか確率は普通に存在するだろ。
どう計算したら早くできるかはわからんが。最も単純で簡単に計算出来る確率は、
アンパイが10個あったらアンパイ以外を捨てる場合振込む確率は
(全種類-10)÷全種類
0077デフォルトの名無しさん
NGNG> その中で考えなければいけない。
>
> この差は大きいと思うけど、どう?
うん。だから全部の場合を考慮したり先の先を読むのは無意味になる。
すべては確立の世界なのだよ。ワセリン君。
0078デフォルトの名無しさん
NGNGだから先は関係ないだろ。過去と今だけで十分。
0079デフォルトの名無しさん
NGNGこの3で面子を作ろうとするには、12345が必要である
23
34
1 3
3 5
33
となり、この3から面子完成への受け入れ枚数は多い
だが、2が場に3枚でていたとしよう
すると、3に4をツモって34(2か5で1面子完成)となっても、ほぼ2が枯れている状況では辛かったりする
2を手に入れるのがこんなんな上、25待ちで聴牌したとしても、5は出にくいからだ(みんなが使いやすい牌だから)
あと点数差など状況により、牌効率は違ってくる
0080デフォルトの名無しさん
NGNG現状で何かのおまけみたいに作ってある麻雀ソフトはほとんど「あがりやすさだけ」だと思うぞ。
たいてい、いんちきしてコンピュータの配牌が3しゃんてんくらいにしてあって、
あとは上がりを目指すだけ。
0081デフォルトの名無しさん
NGNG76の言ってることはあまりに大雑把な確率の捉え方なのでなんとも言えんが、
先を読まなくていいってことはないだろ。
今まで各々が思いつくままに挙げた話、
例えば「白発を鳴いたやつが居る」時にどうするかってのは、
実は相手の手の内、山の牌の確率的な分布に従って読めば、
先に捨てたほうが被害が少ないのか、抱えて死ぬべきなのかはおのずと得られる。
だから、思いつくままにルールを作りこむより、まともに読めるようにしたほうが強いと思うがな。
0082デフォルトの名無しさん
NGNGたとえば場に2が4枚見えていたとしよう
すると、相手は2を持っていないわけで、1待ちにするには国士無双か1の単騎待ちしかできない
この1と7の振り込む確率が同じだと思うか?
0083デフォルトの名無しさん
NGNG7に対し危険度が段階的に違っている
0084デフォルトの名無しさん
NGNG確率が高い低いうんぬんのまえに万が一にも大三元に当たったら32000点(親なら48000点)
当たらなくて聴牌させて上がられても責任払い(パオ)があると16000(相手が親なら24000)払わされるし
その局は、防御に徹したほうがいいと思う
0085デフォルトの名無しさん
NGNGごめんなさい、レート0の麻雀ばっかりで、負けてもへこむだけなんで、
非実践的といえばそうですね…… まじに一回振り込みました(;;)
>80
なかにはきちんとやってるのもあるが、そうでないのは3シャンテンもない。
最悪な方法は、何順目に上がるかを最初に決め、コンピュータの牌を組んで、
残った牌でプレイヤーに麻雀をさせる。例えば鳴いても役が成立する場合に
わざと形だけ鳴かせることはあるだろうが……
0086デフォルトの名無しさん
NGNG>>>177
>>麻雀をちょっと単純化して
>>駒の数を
>>9*4*4=144とする。
>>面倒なのでダブりがないと仮定して、ちょっと複雑にする。
>もっと詳しく書いて下さい。意味が全くわかりません。
>駒って何ですか?
レス遅くて申し訳ない
駒は牌の意味で使ってしまいました。
ダブりがないと仮定すると、ゲームが複雑になる事はOKですか?
0087デフォルトの名無しさん
NGNG例えば「もし奴に中が2枚あるとしたら残りの手の内はまだてんぱいに遠い可能性が高いけど、自分は上がりやすい形でてんぱる」とか、
「白発といといでツモられても自分は飛ぶ」とか、
総合的に見て、先を読んで、リスクとリターンをはかりにかけて切るか切らないかを判断するんじゃない?
0088デフォルトの名無しさん
NGNGリーチかけてない香具師のアタリの可能性をまったく考えていないな。
0089デフォルトの名無しさん
NGNG安手で役満とは勝負したくない
白發トイトイだったとしても流局、または誰かが振り込んでくれればいいな
これが大三元で、別のやつが食らって飛べば、もっとイイ
ま、その辺を考えての総合的か
0090デフォルトの名無しさん
NGNGリーチしたらっていってるだろ。
それに俺にはその切った相手に対してはって意味に聞こえるぞ。
つーか実際そういう読みを実装しようとおもったら
どんなふうにするんだ?
0091デフォルトの名無しさん
NGNG5でロンされたら、”同順”フリテンでチョンボなんですが・・・ツリ?
0092デフォルトの名無しさん
NGNG5を出したやつが5でロンしたらチョンボ
一つ目の5を見逃して次の人の5でロンしてもチョンボ
0093デフォルトの名無しさん
NGNGロンされたらチョンボで2000点(親なら4000点)貰える
0094デフォルトの名無しさん
NGNG>この5が安牌であることが100%の情報で、
ってのが、そのリーチかけた香具師が捨てた次の瞬間だけ有効で、
その後、この100%安全という評価をどのように変更するのか述べられていない。
0095デフォルトの名無しさん
NGNG小学生の国語から勉強すれば?
今までの流れで掴み取れ
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGその現物の評価をどのように変更していくのかが重要なのだろ。
0098デフォルトの名無しさん
NGNG現物は、そのリーチ者に対しては100%安全だと思っていましたが・・・
あなたは現物は、そのリーチ者に対しては何%安全だと思いますか?
0099デフォルトの名無しさん
NGNG厨房板に日本語を勉強するスレを建てて、どこまで省略して伝わるかを議論・調査してなさい
0100デフォルトの名無しさん
NGNGその牌が何パーセント安全であるかが意味をなす。
ってこんな当たり前のことをぐだぐだ言うこと自体、意味がないな。
0101デフォルトの名無しさん
NGNG漏れちょっと今、血吐いたよ・・・
■ このスレッドは過去ログ倉庫に格納されています