129得票15回答
以编程方式解决“谁拥有斑马”问题?

编辑: 这个谜题也被称为 "爱因斯坦之谜" 谁有斑马 (你可以在这里尝试在线版本) 是一个经典谜题集的例子,我敢打赌 Stack Overflow 上大多数人都可以用纸和笔解决它。但是编程解决方案会是什么样子呢? 基于以下线索... 共有五所房子。 每所房子都有自己独特的颜色。 所有房...

45得票13回答
Java嵌入式Prolog解释器/编译器

我正在用Java编写一个应用程序,需要完成一些复杂的逻辑规则推理作为其功能的一部分。我希望使用Prolog或其他逻辑/约束编程语言来编写我的逻辑推理,而不是Java,因为我相信结果代码将更简单且更易于维护。 我在Google上搜索了一些嵌入式Java实现的Prolog,并找到了一些,但都很少...

42得票1回答
使用“Prolog in Scala”查找可用的类型类实例

考虑到https://speakerdeck.com/folone/theres-a-prolog-in-your-scala,我想要“滥用”Scala类型系统,以找到所有符合给定条件的CanBuildFrom实例。按照Prolog风格,我会评估以下伪代码: can_build_from(S...

39得票9回答
开始使用约束编程技术

寻找开始使用约束编程的技巧、教程、书籍和其他资源。

36得票2回答
递归:如何避免Python“集合在迭代过程中发生了更改”运行时错误

背景和问题描述: 我有一些代码可以解决图着色问题(广义定义为为无向图分配“颜色”,确保由边连接的两个顶点没有相同的颜色)。我正在尝试使用约束传播来实现一种解决方案,以提高标准递归回溯算法的效率,但是遇到以下错误: File "C:\Users\danisg\Desktop\colorin...

30得票4回答
预约安排算法(N个人和N个空闲繁忙时间段,约束满足)

问题陈述 我们有一个雇主想要面试N个人,因此创建N个面试时间。每个人都有在这些时间段内的空闲与忙碌时间表。请给出一个算法,如果可能的话,将N个人安排到N个面试时段中,并返回标志/错误等。最快的运行复杂度是多少? 我目前的方法 朴素算法:有N!种方式来安排N个人。遍历所有排列,对于每个排列...

19得票3回答
LP/MIP和CP的区别

约束编程(CP)与线性规划(LP)或混合整数规划(MIP)之间有什么区别?我知道LP和MIP是什么,但不理解它们与CP的区别-或者CP只是与MIP和LP相同吗?我对此有些困惑...

19得票3回答
使用SAT求解器(Python),寻找特定区域内所有自由多米诺骨牌的组合。

我对SAT求解器的世界还不熟悉,需要关于以下问题的指导。 考虑到: ❶ 我有一个4*4网格中14个相邻单元的选择 ❷ 我有5个多米诺骨牌(A,B,C,D,E),分别为大小为4、2、5、2和1 ❸ 这些多米诺骨牌是自由的,即它们的形状没有固定,可以形成不同的图案 我该如何使用SAT...

17得票4回答
艾伦语是一种约束逻辑编程语言吗?

Erlang基于Prolog,这是否意味着Erlang是一种约束逻辑语言? Erlang是否具有Prolog的构建模块:Facts、Rules和Query?

17得票5回答
编程实现年轻表问题

一道奇怪的问题: 我在学校参加一个解题比赛,并且被允许使用计算机。由于我是唯一会编程的人,我使用C和Pascal程序来更快地解决问题。我已经完成了伪代码转换成代码、算法、Collatz猜想验证等练习。现在,昨天我正在为下一个挑战(4月18日)进行培训,我看到了一个关于杨表的练习。它是这样表述的...