• ベストアンサー

立体4目並べの局面数の上限

縦6マス×横7マスの立体4目並べが先手必勝か どうか調べようとしています。 どれぐらいの局面を調べなければならないでしょうか。 正確な数値を出すのは難しそうなので最悪でもこれ以下になるという数値を出してください。 よろしくお願いします。 立体4目並べ http://www.gandom-aids.co.jp/ConnectFour.htm

質問者が選んだベストアンサー

  • ベストアンサー
  • eatern27
  • ベストアンサー率55% (635/1135)
回答No.3

たまたま、2ちゃんねるで、こんなの見つけました。 http://science3.2ch.net/test/read.cgi/math/1032447973/422-431 (将棋・囲碁の話題なのは気にしないで下さい) これによると、state-space complexity(可能な局面の数) は、~10^14以下らしいです。 これでは、nagata20000さんより精度が悪いですが。 そんなことより、気になるのは、#423の >コネクトフォー  ~10^21通り (1988年Victor Allisが必勝法報告) という「必勝法報告」の記述です。 これの情報もととみられる#422で紹介されているサイトが確認できず、 「先手の必勝」or「後手の必勝」とか、 どの大きさでやっているのか(縦6マス×横7マスの大きさなのか) という情報が全く分からない事が残念でなりません。(確認できても載っている保証はありませんが) 同じサイトを情報源としていると見られる#429によると、可能な局面の数の上限が10^14で、nagata20000さんの仰る68,796,803,560,332に近いので(むしろ、四捨五入すれば10^14になるので)、縦6マス×横7マスでの議論である可能性は十分にあると思います。なので、「先手必勝か否か」を知るのが目的なら、Victor Allis氏が発見した必勝法を探す方が早いかもしれませんね。 参考になる情報なのかは私にはわかりませんが。。。

参考URL:
http://science3.2ch.net/test/read.cgi/math/1032447973/422-431
nagata20000
質問者

お礼

回答ありがとうございます。 もう必勝法がわかっているんですか。 ちょっと残念。Victor Allisの必勝法探してみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • ryn
  • ベストアンサー率42% (156/364)
回答No.2

> 最終局面の数はそれでよいと思うのですが > 最終局面に至るまでの途中の局面が数えられていない > ので42C21が上限ということはいえないと思います。 確かにおっしゃる通りです. 失礼いたしました. とすると,質問者さんの  68,796,803,560,332 通り というのはかなり抑えられていますね. もう少し考えてみます.

全文を見る
すると、全ての回答が全文表示されます。
  • ryn
  • ベストアンサー率42% (156/364)
回答No.1

少なくとも  〇●〇●〇●〇  〇●〇●〇●〇  〇●〇●〇●〇  ●〇●〇●〇●  ●〇●〇●〇●  ●〇●〇●〇● という勝負がつかずに最後までいく例があるので 上限を考えてみます. 42ヶ所のうち21ヶ所に黒(or 赤)を埋める方法は  42C21 = 538257874440 通り あります. あと,左右対称なのでもう少し減らすことができます. といっても単純に2で割るというわけにはいかないですが.

nagata20000
質問者

お礼

回答ありがとうございます。 最終局面の数はそれでよいと思うのですが 最終局面に至るまでの途中の局面が数えられていない ので42C21が上限ということはいえないと思います。

nagata20000
質問者

補足

ちなみに私が計算した上限は 68,796,803,560,332 でした。これではちょっと大きすぎて計算機で計算できそうにありませんね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語で三目並べをするプログラムの作成

    C言語で三目並べ(いわゆる○×)をするプログラムを作成したいのですがうまくいきません;; どなたか教えてください。よろしくお願いします。 条件 ・コンピュータの手はランダムに決定するものとする(空いているところに打つ) ・盤面を表現する配列は3×3の二次元配列とし、グローバルに宣言する ・以下のような関数を作成すること:盤の表示、○×を打つ、3つ並んだかチェック ・他にも必要に応じて関数を宣言すること ヒント集 ・マスの状態は空:0 ○:1 ×:2など数値で定義するとよい。 ・char stone[3][3]={"-","○","×"};などと宣言しておくと便利? ・9マスしかないので、9マス打ち切ったら終了→このとき勝敗が決まっていなければ引き分け ・ループの考え方は2通りできる  1.先手後手がセットで1ループ、9マス目に先手が打ったらbreak 2.先手、後手それぞれ1ループ,nマス目は、n%2=0なら先手、n%2=1な  ら後手 ・三目並んだかのチェックは工夫のしどころ  ・手盤の人の石だけチェックする  ・打ったところの縦横は必ずチェック、斜めはどうする? ・作っていく順  ・石の入力+盤面表示、コンピュータの手番、3つ並んだかチェック、勝敗表示  ・石の入力+盤面表示、3つ並んだかチェック、勝敗表示、コンピュータの手番

  • 筆で書いた文字を立体的な看板にしたい。

    看板を自作したいのですが。 大きさは、横3m60cm、縦1m20cmで文字部分は横1m80cm、縦70cmに4文字のアルファベットが入ります。 文字は半紙に筆で書いてもらったのですが、この文字を看板上で立体的にしたいのです。 さてここで問題になるのが、筆の刷毛目(かすれた)部分です。できるだけ正確に再現したいのですが、なにか良い方法はないでしょうか。 文字部分は照明に浮かび上がるように5cmほど立体にしたいのです。 材料などアドバイスをよろしくお願い致します。

  • 確率

    縦5マス、横5マスの碁盤目状の図がある。左下の端をA,Aから横に3マス、縦に2マスいったところの点をB,Aから横に2マス、縦に3マスいったところの点をCとする。Aを出発点として、さいころを投げて1,2の目が出れば右に1区間,それ以外の目が出れば上に1区間ずつ進む。  (1)点Bに達する確率PBを求めよ。(答え:40/243)  (2)点Cに達する確率PCとPBはどちらがおおきいか。(答え:PCが大きい) 解き方がわかりません。問題から図を想像するのはむずかしいかもしれないですが、回答よろしくおねがいします!!

  • dreamweaverでの表の作成

    dreamweaverで以下のような表を作成したいのですが、方法がわかりません。 表のマス:縦3つ、横2つで、1マスにつき縦30ピクセル、横100ピクセル 表の外枠:黒色 内枠の縦線:なし 内枠の横線:白色 左側マス:水色 右側マス:灰色 枠内の文字:上と左から10ピクセル空ける です。 コードで教えていただけるとありがたいので、 よろしくお願いします。      

  • 確率 最短距離の問題

    考えてみましたが、よくわからないので教えてください。 横5マス、縦6マスの碁盤の目のようになっている道の最短距離の道順の総数の求め方は 11C5=11C6=462通り とあります。同じ物を含む順列の考え方を使えば普通にわかるのですがこのコンビネーションを使ったやり方がわかりません。 よろしくお願いいたします。

  • RANK関数について

    たとえば、 B2,D2,F2,H2,J2,L2と、1マスおきに横に並んでいるセルについて、この6つにおけるそのセルの数値の順位を求める関数の式を教えてください。順位はそれぞれのセルの右のセルに表示させます。B2の順位はC2にです。 縦にならんでいるやつならわかるのですが。 横にとびとびである場合、できないのでしょうか。

  • 数独かを判断するプログラム

    私が作ろうとしているプログラムは数独を解くものではなく、予めテキストファイルに書かれている横9つ縦9つ、計81個の数字の表が、数独として成り立っているかを判断するものです。 数独についてはこちらで http://ja.wikipedia.org/wiki/数独 or http://sudoku.ara3.net/rule.htm 配列をa[9][9]と用意し、テキストファイルから数字を左上から順に配列に確保していき、その表が数独かどうか判断する段階で躓いています。3×3のマスの中に1~9までの数字が1個ずつあり、かつそのマスが計9つあれば数独なので、まず最初の3×3のマスの中の数字を1~9まで確認し、それを残り8つのマスにも同様に繰り返すだけで良いと思うのですが、その方法がわからず困っています。どなたかお解かりになる方、よろしくお願いします。 例として、テキストファイルの数字の表は以下の様になっています。 1 2 3 4 5 6 7 8 9 4 5 6 7 8 9 1 2 3 7 8 9 1 2 3 4 5 6 2 3 4 5 6 7 8 9 1 5 6 7 8 9 1 2 3 4 8 9 1 2 3 4 5 6 7 3 4 5 6 7 8 9 1 2 6 7 8 9 1 2 3 4 5 9 1 2 3 4 5 6 7 8 ちなみにこの表は数独として成り立っています。

  • 4目ならべの

    4目並べの必勝法というか、コツってあるのでしょうか? どうしても勝てません。 例えば↓ http://www.gamedesign.jp/flash/balls/balls_jp.html

  • この給与体系をどう考えますか?

    以下の様な給与体系について 皆様はどの様にお考えになるか教えて下さい。 *以下の文章を表で捉えて下さい。 (1)レベル1~6まで(縦)ある。 (2)1つのレベルの中に4つの位(横)がある(L1-1~L1-4) これで24個のマスが完成します。 そのマスが従業員の地位を表すものです。 横に1つ移動(昇格)すると1.5万円昇給。縦移動は不明。 定期昇給はなく、成果によって移動し昇給します。 よって据え置きの可能性もあります。落ちる事はまずないとの事。 質問は: 定期昇給でなく、成果による昇給を皆様どの様に考えるか? 1回の移動で1.5万円という金額をどう思うか? の2点です。 2点以外の考え方もお聞きしたく思います。 少ない情報ですが、この範囲でお願いいたします。 ☆出来ましたらプラスとマイナスの意見をお聞きしたいです。 以上、よろしくおねがいいたします。

  • 高1数学(場合の数) 

    進研模試の数学の過去問です。1問だけでもいいので、わかる方は解説願います。 Q1 色の異なる7個の球とA,B,Cの3つの箱があります。 7個の球のうち、5個には1という数が、残りの2個には2という数が書かれています。 7個の球を箱に入れたとき、箱Aにいれた球に書かれている数の和をa、 箱Bに入れた球に書かれている数の和をb、箱Cにいれた球に書かれている数の和をcとするとき、 aもbもcも3になる入れ方は何通りありますか。 Q2 Q1のときa>b>cとなる球の入れ方は何通りありますか。 ただし、どの箱にも1個以上3個以下の球を入れる。 Q3  縦4マス、横3マスの計12個のマスをもつ図形があり、 12個のますのうち4個のますを選んで○印をつける。 ○をつけた横隣に○を付けてはいけないとき、○の付け方は何通りあるか。 Q4 A、K、I、N、O、H、Iの7個の文字を1列に並べる。 K、N、Hがこの順にあるような並び方は420通りあるが、これに加えて、 K、N、Hの少なくとも2つが連続する並べ方は何通りあるか? Q1の答は120通り、Q2は110通り、Q3は195通り、Q4は300通りです。 どうやったら、この答えが導けるか解説願います。 長文すみません。

このQ&Aのポイント
  • 電話番号とFAX番号の識別は可能か?MFC-J837DNという製品について相談したいことやトラブルの経緯、試したことなどを教えてください。
  • お使いの環境について教えてください。Windowsで無線LAN接続されていますか?関連するソフトやアプリ、電話回線の種類も教えてください。
  • 閲覧していたFAQでの質問です。ブラザー製品のMFC-J837DNについての情報を知りたいと思っています。
回答を見る