是否存在不能放入 3SAT 的布尔代数表达式?

发布于 2024-12-27 09:39:39 字数 160 浏览 1 评论 0原文

在我看来,这似乎很明显,没有,但我可能会留下一个特殊情况。 在我看来,1SAT(每个子句只有一个文字)和 2SAT 可以轻松转换为 3SAT。 任何超过3升的子句都被证明可以转化为3SAT。 所以也许这个问题应该这样问: 所有布尔代数都可以考SAT吗?或者 我们可以只用这些运算符来定义布尔代数吗?与或与非

This seems to me pretty obvious, There is not but I might be leaving a special case.
As I see it 1SAT (only one literal per clause) and 2SAT can be easily transformed into 3SAT.
An any clause with more than 3 literas has been proven it can be transformed into 3SAT.
So maybe the question should be asked as:
Do all boolean algebra can be put into SAT? or
can we define boolean algebra with ony these operators? AND OR and NOT

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

亽野灬性zι浪 2025-01-03 09:39:39

不,没有。

我不会给出完整的证明,但主要思想是:以正常形式(即析取的合取)编写给定的公式。对表达式中的变量数量使用归纳法。选择具有 n+1 个变量的最长子表达式,为子表达式的某些部分引入一个新变量以留下 n 个变量的表达式,将新变量的约束添加到公式中,根据需要重复该过程多次以获得公式其中最长的子表达式有 n 个变量。

No, there is not.

I will not give the full proof but here is the main idea: Write the given formula in a normal form i.e. conjunction of disjunctions. Use induction on the number of variables on an expression. Pick the longest subexpression with n+1 variables, introduce a new variable for some part of subexpression to leave an expression of n variables, add the constraints for the new variable to the formula, repeat the procedure as many times as needed to have a formula where the longest subexpression has n variables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文