【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
给出任意真值表,都可以写出对应的主析取范式和主合取范式,主析取范式和主合取范式都是存在且唯一的。 主析取范式相当于列出了所有使得公式取值为1的条件,对应于真值表中值为1的行;主合取范式相当于列出了所有使公式取0的条件,对应于真值表中值为0的行。 例如,给出如下真值表
行号 | p | q | r | 值 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
2 | 0 | 1 | 0 | 1 |
3 | 0 | 1 | 1 | 0 |
4 | 1 | 0 | 0 | 1 |
5 | 1 | 0 | 1 | 1 |
6 | 1 | 1 | 0 | 0 |
7 | 1 | 1 | 1 | 1 |
可见2、4、5、7行值为1,于是对应的主析取范式为(!p & q & !r) | (p & !q & !r) | (p & !q & r) | (p & q & r)
而0、1、3、6行值为0,于是主合取范式为(p | q | r) & (p | q | !r) & (p | !q | !r) & (!p | !q | r)
所以,真值表、主析取范式、主合取范式三者,知道其中一个,可以立即得出其它两个。
来源:oschina
链接:https://my.oschina.net/u/3061712/blog/3148396