我目前正在开发一个应用程序,该应用程序需要在真值表中生成输入信号的二进制组合。
信号可以是 '0' 、 '1' 或 'X' (无关紧要)。要求是动态生成输入组合,以便用最少的条目覆盖所有可能的组合。让它变得困难的是不关心('X')条件。
示例:如果我们考虑 3 位信号“XX X”涵盖所有组合,它是最小的
X | X | X
但如果用户将“XX X”更改为“XX 0”,则应用程序必须插入新条目“XX 1”,以便涵盖所有可能的组合。
X | X | 0
X | X | 1
如果用户再次将“XX 0”更改为“X 1 0”,那么我必须生成新条目 X 0 0
X | 1 | 0
X | X | 1
X | 0 | 0
现在,如果用户将条目 X 0 0 更改为 XXX,则必须删除所有其他条目。最终,表格应该是最小的,涵盖了所有组合。
我必须在 Java 中以编程方式执行此操作,是否有数学方法可以做到这一点?
谢谢