私の問題は何ですか:
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について次の質問をしましたが、ここで回答を得られる可能性が高いと言われました!)