质蕴涵数和 EPI

Number of Prime Implicant and EPI

我的助教解决了这个问题,

的素数蕴涵数 (PI)
f(a,b,c,d)= Sigma m(0,2,4,5,8,10,11,13,15) 

是7,Essential PI(EPI)的数量是1。这将如何计算?我认为这是错误的。有什么想法吗?

我的解决方案是:

为了给大家提供更多的学习机会,我会在另一个函数上用图形化的方式来做PI和EPI的判断过程,和你的类似。您可以使用完全相同的方法来求解您在问题中给出的函数的数字。请注意,有多种方法可以确定 PI 和 EPI,但我喜欢 Kmap 方法,因为它很好地说明了这个概念。 [注意:在 OP 添加他的解决方案后,我修改了我的答案以包含原始功能]

示例:

假设我们有这个函数:

g(a,b,c,d) = Sigma m(0,4,7,9,10,11,12,13,15)

并且我们要确定主蕴含项 (PI) 和基本主蕴涵项 (http://en.wikipedia.org/wiki/Implicant) 的数量。

第一步是为给定函数生成 Kmap (http://en.wikipedia.org/wiki/Karnaugh_map)(因为它是作为最小项的总和给出的,用 1 填充 Kmap 中的位置,形成给定的术语列表):

现在我们必须为 Kmap 的所有项找到最大的覆盖。这些最大覆盖的数量就是 PI 的数量,每个最大覆盖都是一个质蕴涵项(即一个蕴涵项或部分函数,​​不能用任何其他蕴涵项进一步简化以形成更一般的蕴涵项或更大的覆盖)。这样的覆盖是这样的:

现在我们有了覆盖,我们可以计算这些最大的覆盖。有 6 个,所以有 6 个 PI,这些覆盖物代表它们。现在,为了获得 EPI 的数量,我们需要查看 Kmap 中有多少项被一次且仅一次覆盖覆盖。查看这些术语,它们是 0(仅被蓝色覆盖)、7(仅被绿色覆盖)、9(仅被橙色覆盖)和 10(仅被青色覆盖)。因此,有 4 个 EPI。

现在,试试这个方法解决你的问题,看看你得到了什么数字!

[更新:这是关于您的解决方案的信息]

我觉得你的 Kmap 和 covering 都不错:

从你的覆盖物可以看出,最大的覆盖物共有7个;沿对角线 6 个,1 个大的覆盖四个角。因此,如上所述,有 7 个 PI。要获得 EPI,我们需要查看这些 PI 中有多少唯一涵盖其中一个术语,即找到一个且只有一个我们的 PI 涵盖的术语,这些就是 EPI。查看 Kmap,只有项 8 和 2 的角仅由一个 PI 覆盖(即 4 个角覆盖)。虽然有两个术语,但它们共享保存覆盖,并记住覆盖是蕴含项。因此,由于只有一个覆盖物包括一个且只有一个覆盖物所涵盖的术语,因此只有 1 个 EPI。 (所以,您的 TA 是正确的;7 个 PI 和 1 个 EPI)。