求R1 R2 的复合关系R1○R2的关系矩阵时,需要用到布尔乘法,
设关系矩阵为R1 1 0 1 R2 1 0 1
1 0 1 0 1 1
0 1 0 1 0 0
则根据公式运算方法为
1∧1 ∨ 0∧0 ∨ 1∧1 1∧0 ∨ 0∧1 ∨ 1∧0 1∧1 ∨ 0∧1 ∨ 1∧0
1∧1 ∨ 0∧0 ∨ 1∧1 1∧0 ∨ 0∧1 ∨ 1∧0 1∧1 ∨ 0∧1 ∨ 1∧0
0∧1 ∨ 1∧0 ∨ 0∧1 0∧0 ∨ 1∧ 1 ∨ 0∧0 0∧1∨ 1∧1 ∨ 0∧0
在计算的时候,如果两两先计算合取,最后计算析取,因为析取只要出现一个1,则可以忽略其他而得到结果为1,利用这点可以简化计算,
ex. : Line1 : 1∧1 ∨ 0∧0 ∨ 1∧1 等于 (1∧1) ∨ (0∧0) ∨ (1∧1)
很明显 强调部分 1∧1 等于1 所以结果第一行第一列为1
由此,我们可以把计算重心放在“1”上
计算结果时:
Part1:R1第一行 第 1 第 3 个数字是1
R2:
I. 第一列第 1 , 3 都是1, 所以复合关系L1R1(行1列1)是1
II. 第二列第 1 , 3都不是1,所以复合关系L1R2 是 0
III. 第三列第 1 个是1,所以复合关系L1R3 是1
Part2: R1第二行 第 1 第 3 个数字是 1
R2: 因为“1”的位置相同,所以同上
Part3:R1 第三行 第 2 个数字是 1
R2:
简便点讲R2只有第二列的第2个数字是1,所以L3,只有R2 是1 即 0 1 0
所以结果是
1 0 1
1 0 1
0 1 0
读者不难发现R1中的1 越少,则计算量简化的越多。
像这一题的思路,则非常简单,S 的第一行第三个数字是1
R中 只有第二列第三个数字是1,所以答案第一行为 01000;
S第二行第四个数字是1,R中第三列第四个数字是1,所以答案00100;
以此类推,实际在计算过程中填充1的位置,最后补全0,也很简便。
网友评论