タグ

gameとalgorithmに関するwebmarksjpのブックマーク (5)

  • 第10回 麻雀の役を判定する:ITpro

    図1に示す(1)から(3)までの麻雀(マージャン)の手牌があります。「あがり牌」はすべて山からツモったものとし,リーチはかけていません。またドラやハイテイ*1なども関係ないものとします。これらの役を判定して,親の場合の点数を計算するプログラムを作ってください。 「ややこしや~ややこしや~」というのは野村萬斎ですが,思わずそううなってしまうことがプログラミングをしているとよくあります。今回の麻雀の役判定は,考えれば考えていくほどややこしく,そうしたものの代表と言えるでしょう。排他処理や優先順位が複雑にからんでいて一筋縄ではいきません。 今回はややこしい組み合わせを解決する方法を考えてみます。麻雀になじみのない方も,ちょっとしたパズル気分で試してみてください。 麻雀の役を考える 麻雀を知らない方のためにルールをおおざっぱに説明しておきましょう*2。麻雀の牌には,大きく分けて「萬子(マンズ)」「

    第10回 麻雀の役を判定する:ITpro
  • 第8回 倉庫番を解くアルゴリズム - 地球にやさしいアルゴリズム:ITpro

    「倉庫番」*1というゲームをご存じでしょうか。図1のように盤面にはいくつかの「荷物」とそれを運ぶ「人」がいます。人は1個の荷物を押して運ぶことができます。荷物を引っ張ったり,二つ並んだ荷物を同時に押して運ぶことはできません。人と荷物は縦横4方向に動けますが,壁のある位置には進めません。人を使って盤面上の荷物を動かし,すべての荷物を目的地(ゴール)に収めることができればゲーム・クリアとなります。図1の問題を解くための手順を示すアルゴリズムを作ってください。 友人たちと車でスキーに行くとき,いつも困るのは「トランクへ荷物を詰め込む順番」です。大きなスキーやかさばるスキーウエアを詰め込んでいるうえ,人によってはゲーム機やを持ってきたりするので,各自の荷物の量がまったく違うのです。狭い車のトランクには,これら荷物をうまい順番で入れていかないとなかなか全部収まりません。寒い冬の夜中にごそごそと詰

    第8回 倉庫番を解くアルゴリズム - 地球にやさしいアルゴリズム:ITpro
  • 「ナンプレ」パズルの良問を自動・大量生成する新システム

    SUDOKU」(数独)の名称で人気のパズル「ナンバープレース」(ナンプレ)。同パズルの高品質な問題を自動的に大量生成できるシステムを、タイムインターメディアが開発した。一般的なPCで短時間に問題を作成できる上、パズル作家の考え方を取り入れることで「良問」を生成できるようになっているという。 ナンプレ自体は19世紀末にフランスで登場したものがルーツ。日の出版社「ニコリ」が「数独」と名付けて1984年に掲載し、1997年に日で数独のを目にしたニュージーランド人が2004年11月から英Timesに連載を始め、翌年、ブームに火が付いた。 人気が広がるにつれて問題の需要も増えているが、これに対し「良い問題」の供給が足りていないのが現状という。新システムの開発に当たった同社常務・知識工学センターの藤原博文さんによると、主流はコンピュータによる自動生成だが、良問と悪問の区別がつかない「にわかパズ

    「ナンプレ」パズルの良問を自動・大量生成する新システム
  • SAT ソルバで数独を解く方法 - まめめも

    数独は非常に SAT に変換しやすい問題です。全部参考文献 *1 に載っている内容ですが、なるべくわかりやすく説明してみます。ちょっと長いです。 SAT とは まず SAT をごく簡単に説明します。すでに SAT を知っている人はここは読み飛ばしてください。 命題論理式の形の一つに乗法標準形のというのがあります。変数か変数の否定 (リテラルと言います) を or だけでつないだ式 (節と言います) を and だけでつないだ論理式のことを言います。つまり以下みたいな形です。 ( a1 or !a2 or ... or an) and ( b1 or !b2 or ... or !bn) and ... and (!z1 or z2 or ... or !zn)SAT は「a1 や zn などの変数にうまく true か false を代入して、上の式全体を true にできるか」という問題

    SAT ソルバで数独を解く方法 - まめめも
  • はてな ルービックキューブの解法は『群論』という数学の分野で説明ができることを知りました。この群論について少し触れてみたくなりました。「ルービックキ・・

    ルービックキューブの解法は『群論』という数学の分野で説明ができることを知りました。 この群論について少し触れてみたくなりました。 「ルービックキューブを解くための」という目的に近づけるような解説が出ているサイトまたは書籍等を紹介してください。 群論のはたくさんあるようですが、ルービックキューブを説明するという観点でどういうが良いのか、わからないでいます。

  • 1