任何熟悉 quine mccluskey 的人都知道,要获得蕴涵项,我们应该将 n 个 1 的组与 n+1 个 1 的组进行比较。所以我的问题是:是否有一个条件可以确定我们是否可以跳过 n 和 n+1 组之间的比较?或者减少通过比较蕴涵项产生的蕴涵项的数量?
我不得不问这个问题,因为我一直在 c# 中实现quine mccluskey 算法,并且当程序求解 12 个变量时,最坏的情况,即函数计算为 1 时,平均需要 1 小时来计算。
我试图计算 12 个变量的循环数(比较 n 到 n+1 的所有组),结果是 8,454,274,920,其中 2,125,764 实际上包含可以组合的蕴涵项。它的执行时间是 3,938,804 毫秒或 65.64673333333333 分钟。