美文网首页数学之美离散数学
离散数学 关系矩阵的布尔乘法的简便方法

离散数学 关系矩阵的布尔乘法的简便方法

作者: UniGenius_Mx | 来源:发表于2017-01-09 14:11 被阅读2664次

    求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 越少,则计算量简化的越多。

    demo

    像这一题的思路,则非常简单,S 的第一行第三个数字是1
    R中 只有第二列第三个数字是1,所以答案第一行为 01000;
    S第二行第四个数字是1,R中第三列第四个数字是1,所以答案00100;
    以此类推,实际在计算过程中填充1的位置,最后补全0,也很简便。

    相关文章

      网友评论

      本文标题:离散数学 关系矩阵的布尔乘法的简便方法

      本文链接:https://www.haomeiwen.com/subject/uwbjlttx.html