问题标签 [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.
karnaugh-map - 卡诺图简化后的总和(POS)或积和(SOP)的乘积
我只是好奇如何确定简化的布尔表达式是 SOP 形式还是 POS 形式。例如这个问题: 问题
这个表达式的答案是:NOT BD/⌝BD,这是 SOP 形式 谁能解释为什么?
boolean - 哪些变量在卡诺图的哪一边
对于三个或更多变量的卡诺图,决定变量的哪一侧使解决方案更容易发现和更简单。但是你怎么知道哪边哪边有哪些变数。
例如。对于变量 x、y 和 z;您可以将 x 和 y 作为列标题,将 z 作为行标题,或者您可以将 y 和 z 作为列标题,将 x 作为行标题,这将给出两个不同的表
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
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。
我虽然也许你可以这样做:你折叠地图,看看哪个“1”是彼此的。折叠我的意思是:交替取 x 和 y 中轴并折叠地图。如果彼此有两个“1”,则它们创建一个组。
但是第二次折叠后你在做什么?例如:
变成
第一次折叠后。正确,没有组。但是如果我第二次弃牌,我会得到一个错误的组。那么我如何才能将这种情况与例如这种情况区分开来:
-> 折叠 x
-> 折叠 y
现在有两个“1”彼此(我把它写成2)。这将在折叠 2 次后创建一个正确的组。
boolean - 具有超过 4 个输入的函数的 k-map
对于超过 4 个变量的函数,通常的解决方案是并行使用多个 4 输入 K-map 表。我想知道为什么不使用每行或每列超过 2 个输入的表,只要变量集以格雷码编码。细胞仍将相邻
boolean-logic - 我将如何将这个布尔表达式放入两个产品之和的形式中?
所以我从 xy'+x'y+xz+y'z 开始
我使用了 Kmap 并最终得到了等效的解决方案
z+x'y+xy'
从这里我需要把它变成两个产品的总和,然后取它的补充来得到我需要的解决方案。
但我看不出有办法把它变成两个产品的总和
我可以使用分配律并最终得到 (z+x')(z+y)+xy'
但我很确定这不是两种产品的总和,至少在我的书向我展示的意义上不是