快速可达矩阵计算(先获得所有有序的回路,再进行一次Warshall法就可以)


论文写作或者计算需要帮助可发邮件到 hwstu # sohu.com 把 #替换成@,请说清来意,不必拐弯抹角,浪费相互之间的时间。

返回首页


此处输入要素的个数:



显示的是一个随机 12 * 12 的方阵



   子丑寅卯辰巳午未申酉戌亥
子                      1            
丑                1    1            
寅 1                         1    1
卯    1                              
辰                1                  
巳                                    
午                                  1
未 1             1          1      
申                1                  
酉    1                              
戌       1 1       1               
亥                                    

利用深搜算法获得所有环路,该环路的着色矩阵显示为



   巳 子 丑 未 酉 亥 寅 卯 辰 午 申 戌
巳                                   
子         1                        
丑1       1                        
未1 1       1                     
酉      1                           
亥                                   
寅   1       1 1                  
卯      1                           
辰1                                 
午               1                  
申1                                 
戌                  1 1    1      

得到了一个有序的环,所有环路,是一个有序图



子要素
丑要素
寅要素
卯要素
辰要素
巳要素
午要素
未要素
申要素
酉要素
戌要素
亥要素
第0层
第1层
第2层
第3层
第4层
第5层
第6层
第7层
第8层

根据层级由上往下进行计算,最上的层级为0



当前为:0 层,包含有 1 个要素
        当前层的可达集合为 5
       0层的可达集合为5 。
       因此要素5可达集合为5 。

当前为:1 层,包含有 4 个要素
        当前层的可达集合为 1,0,5,9,7
        除了本层的要素还有5 开始处理5 指向层级的可达集合
           处理完了5 得到的可达集合为 。
       1层的可达集合为1,0,5,9,7 。
       因此要素0可达集合为1,0,5,9,7 。
       因此要素1可达集合为1,0,5,9,7 。
       因此要素7可达集合为1,0,5,9,7 。
       因此要素9可达集合为1,0,5,9,7 。

当前为:2 层,包含有 1 个要素
        当前层的可达集合为 11
       2层的可达集合为11 。
       因此要素11可达集合为11 。

当前为:3 层,包含有 1 个要素
        当前层的可达集合为 0,9,11,2
        除了本层的要素还有0,9,11 开始处理0,9,11 指向层级的可达集合
           处理完了0,9,11 得到的可达集合为1,0,5,9,7 。
       3层的可达集合为0,9,11,2,1,5,7 。
       因此要素2可达集合为0,9,11,2,1,5,7 。

当前为:4 层,包含有 1 个要素
        当前层的可达集合为 1,3
        除了本层的要素还有1 开始处理1 指向层级的可达集合
           处理完了1 得到的可达集合为1,0,5,9,7 。
       4层的可达集合为1,3,0,5,9,7 。
       因此要素3可达集合为1,3,0,5,9,7 。

当前为:5 层,包含有 1 个要素
        当前层的可达集合为 5,4
        除了本层的要素还有5 开始处理5 指向层级的可达集合
           处理完了5 得到的可达集合为 。
       5层的可达集合为5,4 。
       因此要素4可达集合为5,4 。

当前为:6 层,包含有 1 个要素
        当前层的可达集合为 11,6
        除了本层的要素还有11 开始处理11 指向层级的可达集合
           处理完了11 得到的可达集合为 。
       6层的可达集合为11,6 。
       因此要素6可达集合为11,6 。

当前为:7 层,包含有 1 个要素
        当前层的可达集合为 5,8
        除了本层的要素还有5 开始处理5 指向层级的可达集合
           处理完了5 得到的可达集合为 。
       7层的可达集合为5,8 。
       因此要素8可达集合为5,8 。

当前为:8 层,包含有 1 个要素
        当前层的可达集合为 2,3,6,10
        除了本层的要素还有2,3,6 开始处理2,3,6 指向层级的可达集合
           处理完了2,3,6 得到的可达集合为11,6,1,3,0,5,9,7,2 。
       8层的可达集合为2,3,6,10,11,1,0,5,9,7 。
       因此要素10可达集合为2,3,6,10,11,1,0,5,9,7 。

运行 17 次的集合运算,
运行 20 次的集合直接赋值,

得到的新矩阵为



   子丑寅卯辰巳午未申酉戌亥
子 1 1          1    1    1      
丑 1 1          1    1    1      
寅 1 1 1       1    1    1    1
卯 1 1    1    1    1    1      
辰             1 1                  
巳                1                  
午                   1             1
未 1 1          1    1    1      
申                1       1         
酉 1 1          1    1    1      
戌 1 1 1 1    1 1 1    1 1 1
亥                                  1

原始矩阵的可达矩阵为



   子丑寅卯辰巳午未申酉戌亥
子 1 1          1    1    1      
丑 1 1          1    1    1      
寅 1 1 1       1    1    1    1
卯 1 1    1    1    1    1      
辰             1 1                  
巳                1                  
午                   1             1
未 1 1          1    1    1      
申                1       1         
酉 1 1          1    1    1      
戌 1 1 1 1    1 1 1    1 1 1
亥                                  1

化学加平台
解释结构模型
感谢化学加提供单独服务器服务器!请大家多支持化学加平台,可以多介绍人关注化学加!
对解释结构模型在线计算有什么意见与建议请发电子邮件到, hwstu #sohu.com 把#替换成 @