问题标签 [boolean-algebra]

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 回答
3653 浏览

math - 将此逻辑句转换为连接范式

我正在努力将这句话转换为 CNF:

(A ∨ B) ⇔ (C ∧ D)。

我已经尝试使用双条件消除逻辑规则来消除⇔。

(A ∨ B) → (C ∧ D) ∧ (C ∧ D) → (A ∨ B)。

然后我用蕴含消除逻辑规则消除了→。我现在有

¬(A ∨ B) ∨ (C ∧ D) ∧ ¬(C ∧ D) ∨ (A ∨ B)。

我几乎被困在这里。我的教授说我应该使用分配规则来减少句子。我似乎找不到任何符合分配规则要求的东西。因此,在执行一些我不知道的逻辑规则之前,我似乎无法使用分配规则。

我在这里想念什么?Stack Overflow 可以帮助我恢复到 CNF 的转换吗?

0 投票
2 回答
127 浏览

boolean-logic - 使用布尔代数进行简化

最简单的形式是A'B'C' + A'B'C + A'BC' + AB'C'什么?我已经尝试使用 K-map 和布尔代数规则来做到这一点,但他们给了我不同的答案!

0 投票
1 回答
53 浏览

boolean-logic - 具有最大项的布尔代数

我想简化以下表达式: F = (A+B+C)(A+B'+C)(A'+B+C)

我已经相应地简化了它。

F = (A+B+C)(A+B'+C)(A'+B+C)

F = (A+C)(A'+B+C)

F = AA' + AB + AC + A'C + BC + C

F = AB + C(A + A' + B + 1) = AB + C

但是,正确答案是 (A+C)(B+C)。在我的“当前”证明中我哪里出错了?我已经看到了解决方案,但我想知道为什么我目前的方法是错误的。

0 投票
3 回答
955 浏览

math - 简化这个布尔代数

是否可以简化这个布尔代数?我想消除使用两次 X 变量的冗余,但似乎看不到方法。

(X AND Y) OR NOT(X AND Z)

提前致谢!

0 投票
2 回答
1281 浏览

java - 带有逻辑运算符的表达式 - 它相当于什么?

我有这个逻辑运算符表达式:

你如何简化它并找到等价物?

0 投票
0 回答
33 浏览

automata - 为什么我们不能将寄存器自动机简化为符号自动机?

在考虑自动机时,它们通常被认为是有限字母表。以下是两种类型的自动机,它们可以处理无限字母表上的单词(为清楚起见,包括定义)。

分别附加在单词开头和结尾的符号 [ 和 ] 是分隔符,不在字母表中。也就是说,自动机处理形式为w = [ v ] 的单词,其中v是字母表的一个元素。

字母表上的k 寄存器自动机A 是一个 5 元组 (Q, q_0, F, t_0, P),其中:

  • Q 是一组有限状态;

  • Q 中的 q_0 是初始(或开始)状态;

  • F(Q 的子集)是最终(或接受)状态的集合;

  • t_0 : {0,1,...,k}--> 字母联合 {[,]} 是初始寄存器分配;和,

  • P 是形式为 (i, q)-->(q', d) 或 q-->(q', i, d) 的有限转换集,其中 i 在 {0,1,...,k }, q, q' 在 Q 和 d 在 {Stay, Left, Right}。

符号有限自动机 (SFA) M 是一个 5 元组 ( A , Q, q_0, F, d),其中:

  • A 是一个有效的布尔代数(字母表);
  • Q 是一组有限状态;
  • Q 中的 q_0 是初始(或开始)状态;
  • F(Q 的子集)是最终(或接受)状态的集合;和,
  • d(Q x Y_A x Q 的子集)是有限的转换集。

研究表明,对于寄存器自动机,等价是不可判定的,但在符号自动机中,等价是可判定的。我的问题是为什么?这两种自动机类型的工作结果相似,那么为什么我们不能将一种归约到另一种呢?

有人告诉我这是一个非常简单的问题,但我似乎无法在任何地方找到答案,所以感谢您的帮助!:)

我目前的想法是,SFA 要求他们的字母表是有效的布尔代数,而 RA 可以处理任何事情,因此他们的字母表不必遵循布尔代数的规则。我不知道如何正确地将这个想法转化为任何有用的东西。

0 投票
1 回答
579 浏览

matlab - 用于计算逻辑电路输出的 Matlab 程序

逻辑电路

我必须计算这个逻辑电路上的每个输出,而且我对电子没有任何经验。

因此,我搜索了符号的含义,并在 Matlab 上构建了我的程序。

如果我做错了或指出更好的方法,有人可以看看并帮助我吗?

这是我的 Matlab 代码:

0 投票
1 回答
41 浏览

math - 布尔代数帮助:对偶

我一直把这个问题弄错,我不知道为什么

我把这个作为答案:

我不明白为什么这是错误的

0 投票
2 回答
767 浏览

boolean - 仅使用 NAND 的布尔代数最小化

谁能解释布尔表达式在最后一步是如何简化的?

原始问题:

使用最少数量的 2 输入 NAND 门实现 X=a´b´d´+b´cd´+a´b´c+a´cd´+abc´+abd+bc´d+ac´d。假设双轨输入可用。没有门可以用作NOT。

问题解决方案图片

0 投票
2 回答
1314 浏览

verilog - Verilog - || 之间的混淆 和 + 运算符

在布尔代数中,项的加法对应于 OR 门,而乘法对应于 AND 门。

假设我想要一个恒温器的鼓风机,其工作方式如下:

如果加热器或空调打开,风扇应该打开。或者,如果用户请求打开风扇(通过打开输入fan_on),即使加热器或空调关闭,风扇也应该打开。

基于这些要求,我将 Verilog 代码中的逻辑语句表述为:

然而,在模拟时,这会产生一个不正确的解决方案。但是,这有效:

一样

我的问题:

我对 + 运算符有什么误解?此外,我对后两种确实有效的解决方案感到困惑——为什么它们都有效,最后一个我只使用逻辑 OR 运算符的方式是一种更正确(或首选)的方式来做我想做的事情?

编辑#1:这是我声明输入和输出的整个模块