Questions tagged «constraint-programming»

14
以编程方式解决“谁拥有斑马线”?
编辑:这个难题也被称为“爱因斯坦之谜” 该谁拥有斑马(你可以试试这里的网络版)是一款经典的一套谜题的一个例子,我敢打赌,大多数人对堆栈溢出可以用纸笔解决它。但是程序化解决方案会是什么样子? 根据下面列出的线索... 有五个房子。 每个房子都有自己独特的颜色。 所有房主都来自不同国籍。 他们都有不同的宠物。 他们都喝不同的饮料。 他们都抽不同的香烟。 英国人住在红房子里。 瑞典人有一只狗。 丹麦人喝茶。 温室在白宫的左侧。 他们在温室里喝咖啡。 抽颇尔购物中心的人有鸟。 他们在黄色的房子里抽烟登喜路。 他们在中间房子里喝牛奶。 挪威人住在第一所房子。 抽Blend的人住在有猫的房子旁边的房子里。 在他们有一匹马的房子旁边的房子里,他们抽着邓希尔。 抽蓝大师的男人喝啤酒。 德国人抽王子。 挪威人住在蓝房子旁边。 他们在抽烟的房子旁边的房子里喝水。 ...谁拥有斑马线?

3
使用SAT求解器(Python)查找特定区域内的游离多氨基酸的所有组合
我是SAT求解器领域的新手,并且需要有关以下问题的一些指导。 考虑到: ❶我选择了4 * 4网格中的14个相邻单元格 ❷我有5个大小分别为4、2、5、2和1的多氨基酸(A,B,C,D,E) poly这些多氨基酸是自由的,即它们的形状不固定,可以形成不同的图案 如何使用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)) …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.