SMTによるLinkedInクイーンズ問題の解決:SATより簡単!
2025-06-12
この記事では、追加の地域制約のある古典的なNクイーンズ問題のバリエーションである「LinkedInクイーンズ」パズルを、SMTソルバーZ3を使用して解く方法を詳しく説明しています。著者は、整数変数と制約を利用したSMTでの問題表現が、多数のブール節を必要とする同等のSAT表現よりもはるかに簡単であることを示しています。SMTソルバーは、Glucoseなどの高度に最適化されたSATソルバーよりも遅い可能性がありますが、エンコーディングの容易さから、多くの人にとってSMTが好まれています。この記事には、完全なコードと、モデルの正しさを検証するための便利なサニティチェックが含まれています。これは、業界がSATを直接使用するのではなく、SATにコンパイルするツールを好む理由の説得力のある説明を提供します。
開発
SMTソルバー