问题标签 [boolean-expression]
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.
language-agnostic - 减少布尔表达式
我有一个表情,假设,
我希望它减少到,
有没有人有什么建议?指向任何算法的指针?
Nota Bene:我相信,卡诺图或 Quine-McCluskey 不是这里的选择。因为这些方法不处理灰色情况。我的意思是,表达只能减少到像 A 或 A' 或什么都没有,或者说是黑色或白色或无色的情况。但是在这里我有灰色阴影,正如你们所看到的。
解决方案:我已经在 Clojure 中为此编写了程序。我使用包含函数作为值的地图的地图。这很方便,只需几个组合的一些规则,你就很好。感谢您提供有用的答案。
boolean-expression - 用德摩根定律简化布尔表达式
我需要用德摩根定律简化这个布尔表达式。
有人可以帮助我吗?
python - 'not ==' 和 '!= 之间是否存在逻辑差异(没有 is)
Python 3.x 之间是否存在显着差异:
和
我的问题并非针对上述用法,而是更普遍或更重要 - 即使结果相同,这种句法差异是否以不同的方式起作用?有逻辑上的区别吗?是否有更合适的任务,或者这仅仅是风格上的差异?如果这仅仅是风格,那么 Python 程序员认为哪一个更干净?
is
另外,上面是问和之间有什么区别的相反例子==
吗?前者和后者一样,是对象身份和对象价值相等的区别吗?我的意思是,在我上面的例子中,是is
在使用not
隐式吗?
boolean - 如何将布尔表达式从 AND 和 OR 转换为仅 NAND
我有一项任务让我发疯,因为我不知道从哪里开始。
任务如下: 转换给定的布尔表达式,使其仅包含 NAND 操作而没有否定。
我认为这是可能的,:D 但我不知道该怎么做,只花了几个小时转圈。
有人可以指出我正确的方向吗?
最好的问候,
问
更新:
感谢答案,我想我找到了解决方案:
python - Python Boolean:另一个列表或字典中列表的任何值
我最近才发现自己正在编写这行代码,我不太喜欢它:
我已经考虑过列表理解,它看起来像这样:
这并不是更好。我非常简单的问题是:这可以简化吗?或者这只是想太聪明?
bash - 如何制作“如果不是真的条件”?
我希望在不正确echo
时执行命令。cat /etc/passwd | grep "sysa"
我究竟做错了什么?
c - C 中布尔表达式的结果
为什么以下表达式的计算结果为 0?
假设 i = 5。从左到右计算表达式,我们计算左操作数 (i) 得到 5,我们计算右操作数 (--i) 得到 4。所以表达式 about 应该计算为 1。但是当我用 gcc 编译并运行它,它总是评估为 0。我的思维过程是否存在缺陷?
syntax - 我怎样才能 OR 一起到 gnumakefile 条件?
使用 gmake v3.80,我怎样才能创建一个将两件事 OR 在一起的规则。我从这段代码开始:
并且想将这两个 ifeq(s) 组合成一个 if 将这两个条件 OR 在一起,也许是这样的?
允许我这样做的实际语法是什么?
java - Java中布尔表达式的二叉表达式树库的建议
我正在使用Soot在 Java 中进行一些非常简单的程序分析/转换,我发现自己需要做一些简单的布尔表达式组合。因此,例如,在我的分析过程中,我将有一个表达式 like(a < 25) && (b >= 10)
并且我想(a >=-10)
通过 OR 运算符加入该表达式以获得完整的表达式,例如(a >=-10) || (a < 25) && (b >= 10)
. 基本上,只需将两个布尔表达式树组合成一个表达式。我可能还希望自动将表达式树转换为树的等效合取范式版本。
我的另一个要求是当我们有可以轻松消除的表达式时,能够简化表达式(如果需要,通过自定义代码)。例如(a < 20) || (a >= 20)
归约到TRUE
, since (a < 20) = (!(a >= 20))
, 所以我们可以在进行过程中消除一些项。
我知道编写布尔表达式树是一个经典的介绍性问题,而且我很确定我之前已经实现过它(一次,很久以前,用于数据结构类:))我知道我可以再做一次,如果需要......但鉴于这可能是以前处理过的事情,我想知道是否有关于我应该研究解决上述问题的库的任何建议。当可能已经有一个非常好的轮子时,我讨厌重新发明轮子。
所以总结一下,我正在寻找一个 Java 库,它具有:
- 布尔表达式树
- 表达式的组合
- 术语的简化(这是非常具体的,所以“很高兴”)
- 转换为 CNF
有什么建议吗?
(注意:我不会评估这些树,因此每个节点都将是未解析的谓词,例如variable != 20
or foo >= 50
,因此评估不是必需的,但如果它是库的一部分也没有什么坏处。)