问题标签 [cnf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
101 浏览

python - Python - 将列表数据类型输出到 CNF

我有一个清单:

我需要输出到 CNF 格式的文件('output.txt'),如下所示:

那我现在该怎么办?

0 投票
1 回答
5396 浏览

python - 将公式转换为cnf python

我想将公式转换为 CNF。有图书馆可以做到这一点吗?这是我的代码。我创建了许多函数来将任何(a 或 b)转换为 CNF 格式。

但是如果有很多命题,那就很难像 (a > b) & (c & d) or not(f) ..

0 投票
1 回答
96 浏览

python - 更改输入位置以在 python 中调用函数

这是我的代码:

而不是input =(a,b)打电话Equivalent function我想输入(a=b)。我怎样才能做到这一点?我试图控制元素之前和下一个,=并在您输入(a = b)时将其添加到Equivalent功能中,输出应该是(a|~b)&(b|~a)但它不起作用。

0 投票
1 回答
114 浏览

logic - 命题逻辑:CNF转换

我正在尝试解决一个简单的练习,我必须在 CNF 中转换一个命题句:

这是句子: P => (Q <=> R)

根据解析规则,我做的第一件事是以这种方式消除 <=> 符号:

P => (Q <=> R) ---> P => (QVR) /\ (RVQ)

然后我删除了 => 符号:

P => (QVR) /\ (RVQ) ------> ¬PV (QVR) /\ (RVQ)

所以我的解决方案是:(¬PVQVR) /\ (¬PVRVQ)

而右边的是:(¬PV ¬QVR) /\ (¬PV ¬RVQ)

谁能帮我理解我哪里出错了?

0 投票
2 回答
5857 浏览

mysql - 试图在 mysql 中编辑 my.cnf 文件,但它不起作用

我正在尝试在 mysql 中使用 cat /etc/my.cnf 但是当我这样做时,它只是显示->希望我继续输入。

但是,当我在末尾加上分号时。

猫 /etc/my.cnf;

它抛出一个错误。

如何编辑 /etc/my.cnf 文件?

我在 Mac 上的终端上运行它,并使用命令进入 mysql 服务器

sudo /usr/local/mysql/bin/mysql -u root

.

0 投票
2 回答
421 浏览

logic - 熄灯游戏的 Sat 求解器

我有一个学校项目,我必须使用 SAT Solver 找到游戏“Lights Out”(https://en.wikipedia.org/wiki/Lights_Out_(game))的解决方案,但我在尝试设置连接词时遇到了麻烦游戏的正常形式。

游戏由 5 x 5 的灯光网格组成。按下任何一个灯都会切换它和四个相邻的灯。谜题的目标是关掉所有的灯。

到目前为止我是如何尝试的:

对于 3x3 网格(开始),我设置了 9 个术语(每个按钮),因此:

C11 : 位置 1,1 的按钮变亮 C12 : 位置 1,2 的按钮变亮 C13 : 位置 1,3 的按钮变亮。[...]

由于 1,1 处的按钮熄灭 1,2 和 2,1 位置处的按钮

我做了 C11 => C12 和 C21 1,2 处的按钮熄灭了位置 1,1 和 1,3 和 2,2 我做了 C12 => C11 和 C13 和 C22

并继续另一个:

然后我只是将这些转换为 CNF 以获得 sat 求解器所需的子句,但似乎我做错了..

谁能帮我把这个游戏写成 CNF 形式?

非常感谢 !

如果您需要更好地理解它,这里是游戏:

https://www.geogebra.org/m/JexnDJpt#material/KArehWn8

0 投票
2 回答
199 浏览

python - Python 脚本在 Spyder(在 Windows 上)中完美运行 - 在 Linux 上不起作用

我编写了一个脚本,它读取 .cnf 文件,分析一些内容,然后输出一些结果(通过print())。为了读取 .cnf 文件,我使用以下行:

现在,如果我在 Spyder 环境(Python 3.6)中运行它,一切正常。脚本读取 config.cnf,执行操作并输出结果。如果我在 Linux 上运行完全相同的脚本(config.cnf 位于同一目录中),则会显示以下错误消息:

我使用以下命令:

我是 Python 和 Linux 的新手,所以如果这是一些基本错误,请不要厌倦。谢谢你。

0 投票
1 回答
64 浏览

boolean - 如何解决“量词层次结构以通用量词结尾”?

我试图编译一个名为 CADET 的 QBF 求解器工具。CADET 只能解决 QDIMACS 的格式类型。

克隆存储库并安装工具后,只需一个简单的命令即可。./cadet <filename>.qdimacs需要执行该文件。给出了错误的照片和 QDIMACS 文件。

这是 .qdimacs 文件代码

这是我在执行期间收到的警告:

0 投票
1 回答
513 浏览

graph - 3 将给定图形着色为 Mini-Sat 格式的布尔表达式

我正在做一个项目,我必须读取一个表示图形的文件。我使输入文件看起来像这样:

所以每一行都代表一个节点。例如,第一行是连接到b 和c 的节点a,第二行是连接到a、c 和d 的节点b。所以我不确定从哪里开始。我知道我们需要一堆 if 和 else 语句,以便共享一条边的两个节点不能具有相同的颜色,并且每个节点应该至少具有一种颜色。但是,我怎样才能创建节点变量本身,因为文本文件可以包含任意数量的节点。我知道我必须为一堆 if 和 else 语句做些什么,但我不知道如何使用它来将其简化为 miniSAT 格式,例如:

其中第一个“3”代表变量的数量,第二个 3 代表子句的数量。其他行由不同的变量组成,每个不同的数字都是它自己的变量,如果它是正的,那么它是真的,否则是假的

0 投票
1 回答
55 浏览

constraints - pyeda 方法“抽象语法树”

我真正想做的是将布尔表达式转换为整数线性规划约束。我试图首先将表达式转换为 CNF(使用pyeda),然后从 CNF 形成约束(因为这非常简单)。但是,我无法理解.to_ast()函数输出的抽象语法树。例如,在.to_ast()表达式上运行时(~C1 | ~P1 | ~O1) & (~C1 | ~P1 | ~O2),输出为

很明显,-是否定的,整数代表变量之一。有谁知道是否存在从整数到变量的映射?简短问题的详细描述...