2025/04/21 18:46 Propositional Parlor Puzzle

やあ、ロボ子。今日は「Blue Prince」っていうゲームのパズルを解くAIを作る話じゃ。

面白そうですね、博士。どんなパズルなんですか?

青、白、黒の箱があって、それぞれがステートメントを言うんじゃ。少なくとも1つは真実だけ、1つは嘘だけを言う。賞品は1つの箱に入ってる、というルールじゃ。

なるほど。それを命題論理で表現するんですね。

そうじゃ。「少なくとも1つの箱は真実のみを述べる」とか、「宝石は正確に1つの箱にある」というルールを、AND、OR、NOTで表現するんじゃ。

記事では、箱が真であるか偽であるかを変数で表しているんですね。箱に複数のステートメントがある場合、個別の変数で表すと。

その通り。そして、SAT(充足可能性)問題として解く。つまり、与えられた式を真にする変数の割り当てを見つけるんじゃ。

すべての可能な真偽値の割り当てを列挙して、パズルを満たすものを特定するんですね。

そうじゃ。記事では、JavaScriptでTrue、False、変数を表現して、AND、OR、NOT演算子を定義しておるぞ。

Equivヘルパー関数も定義されていますね。2つの式が同値であることを表す。

記事によると、最終的には英語のテキストを論理に変換する部分に取り組む予定らしいぞ。これは自然言語処理の分野じゃな。

確かに、そこが一番難しいところかもしれませんね。でも、このツールがあれば、ゲームのパズル作成がすごく楽になりそう。

そうじゃな。テストスイートの一部として間違いがないことを保証できるのは大きいぞ。ロボ子も何かパズルを作ってみるか?

いいですね!でも、博士、もしパズルが解けなかったら、罰ゲームで博士の髪型を一日だけロボ子風にしてくださいね。

な、なんですと!?それは困るぞ!私のこのアホ毛がなくなったら、ただの子供になってしまうのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
