「レディオアタイガー」パズルを作成するアルゴリズムは?


8

私の問題は何ですか:

Raymond Smullyanによるパズルは次のように機能します。あなたは多くのドアのある部屋にいます。それらのドアの後ろには女性がいます。他の後ろにはトラがいます。あなたの目標は、正しいドアの1つ(女性のいるドア)を選ぶことです。すべてのドアに、のようなものを言う看板があります。このドアの後ろの女性があります扉IIおよびVIの背後にあるライオンがありますようにとは。ここで、真実を示す標識の1つだけまたはドアの標識がそのドアの後ろに女性がいる場合にのみ真であるなどの追加情報もあります。たとえば、最初のパズルは次のようになります。

2つのドアがあり、それぞれに1つの看板があります。兆候の1つは真、もう1つは偽です。

 ---------------------    ---------------------
|      DOOR I         |  |      DOOR II        |
| There's a lady in   |  | In one of those     |
| this room and a     |  | rooms, there's a    |
| a tiger in the      |  | lady, in the other  |
| other one           |  | one there's a tiger |
 ---------------------    ---------------------

女性のドアの後ろ?

さて、この質問のトピックに行きます:そのようなパズルを自動生成するための可能な方法を探しています。(遠く離れた)目標は、パラメータとしてドアの数(および結果として生じるパズルの難しさ)をパラメータとして必要とし、ドアに対応するテキストを作成するアルゴリズムを構築することです。

これまでに試したこと:

どこから始めればいいのか本当にわからないので、あまりありません。看板のテキストのパターンを作成するのは簡単です。また、使用するtrue-falseルールに対応して、trueとfalseのステートメントをそれらの看板にランダムに割り当てることも簡単です(たとえば、1つの看板だけが真実を言う)。しかし、それはそれがトリッキーになる部分です:解決可能ユニークなソリューションを持つパズルを作成する方法?私の最初のアイデアは、ランダムパズルを作成し、バックトラックを使用してソリューションを検索することでした。しかし、その方法では、アルゴリズムが最終的に有効な一連の記号を見つけるまでに非常に長い時間がかかる可能性があります。また、その方法では、特定のパズルの難易度を簡単に判断できません。

要約すると、アイデア、役立つリンクなどはありますか?どんな助けにも感謝します、誰も私の問題の完璧で完全な解決策を投稿することを期待しません。

(注:私は元々、stackoverflowについて次の質問をしましたが、ここで回答を得られる可能性が高いと言われました!)


aaai.org/Papers/AAAI/2007/AAAI07-361.pdfが役立つ場合があります。
アダム、

1
実際、数学SEでもっと良い答えが得られると思います。これはSAT問題の変形であり、単純にO(2 ^ n)です。つまり、問題の解決策は、ブライトフォースを介して20のドアに非常に迅速に一意に証明できるということです。難易度は式の長さに直接関係していると思います。また、定義済みの制約パターンを使用して、式を半ランダムに作成します。
パンダパジャマ

あなたは興味があるかもしれません 、この質問にも
パンダパジャマ

回答:


1

テキストの生成は別の問題ですが、ドアの数が少ない場合は、おそらくカルノーマップを使用できます。trueになるランダムなセルを選択し、その他はすべてfalseにし、適切なアルゴリズムを使用して、そのマップに一致する最も効率的なブール式を見つけます。

http://www.codeproject.com/Articles/37031/Karnaugh-Map-Minimizer-3-Variables


それは有効な解決策を備えたパズルを見つけるでしょうが、私はそれがユニークな解決策を持っていることを保証することはできないと思います...それともそれはできますか?
パンダパジャマ

他のすべてのセルをゼロに設定することにより、私が信じている他の解決策がないことを保証します。
デビッドカミンズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.