问题标签 [karnaugh-map]

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 投票
3 回答
274 浏览

boolean - 解决代数约简的 K-Map

我需要帮助验证使用 K-Map 的代数表达式。

我发布的表达式实际上是由我的教授完成的,但出于练习目的,我想使用 K-Map 来验证答案是否正确。

当我尝试我的 K-Map 解决方案来证明答案是正确的时,我想出了这个 在此处输入图像描述

我不确定我的回答是否正确。如果不是,我需要有人告诉我如何使它正确,以便它与我发布的解决方案相匹配。我很感激帮助。

0 投票
2 回答
1306 浏览

karnaugh-map - 卡诺图简化后的总和(POS)或积和(SOP)的乘积

我只是好奇如何确定简化的布尔表达式是 SOP 形式还是 POS 形式。例如这个问题: 问题

这个表达式的答案是:NOT BD/⌝BD,这是 SOP 形式 谁能解释为什么?

0 投票
1 回答
117 浏览

karnaugh-map - 使用卡诺图进行简化

我有 2 个布尔方程,我必须用卡诺图来简化它们,但我在理解这个过程时遇到了一点问题:首先,我得到了这个:out = (~a * b * ~c * d) + (~ A B C D)。这减少到〜a * b * d。位在 c 处发生变化,因此 c 无关紧要,没问题。

卡诺图

现在的问题是:b * ~a + a * b * ~c 这简化为 ~a * b+b * ~c。在这里,我们在 c 处再次进行了一些更改,但 ~c 并非无关紧要。为什么?

卡诺图2

0 投票
1 回答
870 浏览

boolean - 哪些变量在卡诺图的哪一边

对于三个或更多变量的卡诺图,决定变量的哪一侧使解决方案更容易发现和更简单。但是你怎么知道哪边哪边有哪些变数。

例如。对于变量 x、y 和 z;您可以将 x 和 y 作为列标题,将 z 作为行标题,或者您可以将 y 和 z 作为列标题,将 x 作为行标题,这将给出两个不同的表

0 投票
1 回答
4915 浏览

optimization - 具有 5 个输入和 3 个输出的真值表

我必须制作一个具有 5 个输入和 3 个输出的真值表,如下所示:

A B C D E red green blue
0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 1
0 0 0 1 0 0 0 1 . . . . 1 1 0 1 0 0 1 1
. . . 1 1 1 1 1 1 0 1

等(总共32行,rgb表中的数字表示二进制中每行1的数量,即第1行1 0 1 0有三个1,所以二进制中的三个是0 1 1)。

我想在 Atanua ( http://sol.gfxile.net/atanua/index.html ) 工具中展示它的结果(例如,当我按下按钮 E 时,蓝光会发光,当按下 ABD 时绿色和蓝色的光会发光等等)。但是有一个要求,我只能使用 AND、OR、NOT 操作数,并且每个操作数只能有两个输入。尽管我使用卡诺图将其最小化,但对于这么多记录,每个输出的结果仍然很长(尤其是最后一个)。

我试图通过将所有三个输出布尔函数合而为一来进一步简化它,最小化过程结束得很好:

A + B + C + D

它似乎工作正常(但由于只有一个输出光,它只能分别在红绿蓝列中工作)。我担心的是我想要三个输出(三个灯,而不是一个),并且在这种最小化之后甚至可能吗?在阿塔努阿有一个好的解决方案吗?还是我必须制作 3 个单独的布尔函数,无论它们有多长(即使在最小化之后也有很多)?

编辑:整个真值表:)

A B C D E R G B

0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 1
0 0 0 1 0 0 0 1
0 0 0 1 1 0 1 0
0 0 1 0 0 0 0 1
0 0 1 0 1 0 1 0
0 0 1 1 0 0 1 0
0 0 1 1 1 0 1 1
0 1 0 0 0 0 0 1
0 1 0 0 1 0 1 0
0 1 0 1 0 0 1 0
0 1 0 1 1 0 1 1
0 1 1 0 0 0 1 0
0 1 1 0 1 0 1 1
0 1 1 1 0 0 1 1
0 1 1 1 1 1 0 0
1 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0
1 0 0 1 0 0 1 0
1 0 0 1 1 0 1 1
1 0 1 0 0 0 1 0
1 0 1 0 1 0 1 1
1 0 1 1 0 0 1 1
1 0 1 1 1 1 0 0
1 1 0 0 0 0 1 0
1 1 0 0 1 0 1 1
1 1 0 1 0 0 1 1
1 1 0 1 1 1 0 0
1 1 1 0 0 0 1 1
1 1 1 0 1 1 0 0
1 1 1 1 0 1 0 0
1 1 1 1 1 1 0 1
每种颜色的卡诺图(~是非门,*是与,+或):
红色:
BCDE+ACDE+ABDE+ABCE+ABCD
绿色:
~A~BDE+~AC~DE+~ACD~E+~BCD~ E+~AB~CE+B~CD~E+BC~D~E+A~B~CE+A~B~CD+A~BC~D+AB~C~D

蓝色:
~A~B~C~DE+~A~B~CD~E+~A~BC~D~E+~A~BCDE+~AB~C~D~E+~AB~CDE+~ABC~DE+~ABCD~E +A~B~C~D~E+A~B~CDE+A~BC~DE+A~BCD~E+AB~C~DE+AB~CD~E+ABC~D~E+ABCDE

0 投票
1 回答
1850 浏览

boolean-expression - 状态机图中的布尔表达式

我无法确定 Q1 和 Q2 的布尔方程。我所做的是将值输入到卡诺图中。但是由于状态图只包含 3 个状态(00、01 和 11),我有点不确定如何设置卡诺。我知道如果它有四个状态(00、01、11 和 10)会是什么样子。

状态图

这就是我的卡诺的样子,虽然它可能是错误的

这就是我的卡诺的样子,虽然它可能是错误的

编辑:我应该在我的卡诺中添加最后一行 (10) 并且只输入不关心吗?

0 投票
0 回答
111 浏览

algorithm - 用超过 4 个变量简化 kv 映射的算法

有人知道一种算法来简化具有 4 个以上变量的 kv 图吗?使用 4 个变量,您只需创建彼此靠近的字段组。然后你可以写下描述这个组的逻辑表达式。通过对所有组执行此操作,您将获得用于创建 kv 映射的 logix 表达式的简化版本。

根据这个:

Die Bedingung dafür, dass mehrere Felder eine Gruppe bilden können, ist daher nicht, dass es sich um zusammenhängende rechteckige Blöcke handelt, sondern ob es möglich ist, eine entsprechende Gruppe durch Spiegelung und Beibehalten zu erzeugen。

维基百科 KV 图

翻译版本(谷歌翻译)

我虽然也许你可以这样做:你折叠地图,看看哪个“1”是彼此的。折叠我的意思是:交替取 x 和 y 中轴并折叠地图。如果彼此有两个“1”,则它们创建一个组。

但是第二次折叠后你在做什么?例如:

变成

第一次折叠后。正确,没有组。但是如果我第二次弃牌,我会得到一个错误的组。那么我如何才能将这种情况与例如这种情况区分开来:

-> 折叠 x

-> 折叠 y

现在有两个“1”彼此(我把它写成2)。这将在折叠 2 次后创建一个正确的组。

0 投票
1 回答
144 浏览

logic - 如何将多值逻辑转换为高效的布尔逻辑?

0 投票
0 回答
334 浏览

boolean - 具有超过 4 个输入的函数的 k-map

对于超过 4 个变量的函数,通常的解决方案是并行使用多个 4 输入 K-map 表。我想知道为什么不使用每行或每列超过 2 个输入的表,只要变量集以格雷码编码。细胞仍将相邻

0 投票
0 回答
62 浏览

boolean-logic - 我将如何将这个布尔表达式放入两个产品之和的形式中?

所以我从 xy'+x'y+xz+y'z 开始

我使用了 Kmap 并最终得到了等效的解决方案

z+x'y+xy'

从这里我需要把它变成两个产品的总和,然后取它的补充来得到我需要的解决方案。

但我看不出有办法把它变成两个产品的总和

我可以使用分配律并最终得到 (z+x')(z+y)+xy'

但我很确定这不是两种产品的总和,至少在我的书向我展示的意义上不是