タグ付けされた質問 「constraint-programming」

14
「ゼブラの所有者」をプログラムで解決するには?
編集:このパズルは「アインシュタインの謎」としても知られています ゼブラを所有している人(あなたがすることができ、ここでオンライン版を試してみてください)スタックオーバーフロー上のほとんどの人がペンと紙でそれを解決することができるというパズルとIベットの古典的なセットの例です。しかし、プログラムによるソリューションはどのように見えるでしょうか? 以下の手がかりに基づいて... 5つの家があります。 各家には独自の色があります。 すべての家の所有者は異なる国籍です。 彼らはすべて異なるペットを飼っています。 彼らはすべて別の飲み物を飲みます。 彼らはみんな違うタバコを吸います。 イギリス人は赤い家に住んでいます。 スウェーデン人は犬を飼っています。 デーンはお茶を飲みます。 温室は白い家の左側にあります。 彼らは温室でコーヒーを飲みます。 ポールモールを吸う男には鳥がいます。 黄色い家で彼らはダンヒルを吸います。 真ん中の家では牛乳を飲みます。 ノルウェー人は最初の家に住んでいます。 ブレンドを吸う男は猫のいる家の隣の家に住んでいます。 彼らは馬を飼っている家の隣の家で、ダンヒルを吸っています。 ブルーマスターを吸う男はビールを飲みます。 ドイツ人は王子を吸います。 ノルウェー人は青い家の隣に住んでいます。 彼らはブレンドを吸う家の隣の家で水を飲みます。 ...ゼブラの所有者は誰ですか?

3
SATソルバー(Python)を使用して、特定の領域内の自由なポリオミノのすべての組み合わせを見つける
私はSATソルバーの世界に不慣れで、次の問題についていくつかのガイダンスが必要になります。 それを考慮して: ❶4×4のグリッドに隣接する14個のセルを選択している ❷ サイズが4、2、5、2、1の5つのポリオミノ(A、B、C、D、E)があります ❸これらのポリオミノは無料です。つまり、その形状は固定されておらず、さまざまなパターンを形成できます。 SATソルバーを使用して、選択した領域(灰色のセル)内のこれら5つの遊離ポリオミノの可能なすべての組み合わせをどのように計算できますか? @spinkusの洞察に満ちた答えとORツールのドキュメントの両方を借りて、次のサンプルコードを作成できます(Jupyter Notebookで実行)。 from ortools.sat.python import cp_model import numpy as np import more_itertools as mit import matplotlib.pyplot as plt %matplotlib inline W, H = 4, 4 #Dimensions of grid sizes = (4, 2, 5, 2, 1) #Size of each polyomino labels = np.arange(len(sizes)) #Label …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.