【淺談】關系矩陣及關系性質的區分記憶


  • 寫在前面:因為能力和記憶有限,為方便以后查閱,特寫看上去 “不太正經” 的隨筆。隨筆有 “三” 隨:隨便寫寫;隨時看看;隨意理解。

 

         1.先從矩陣(Matrix)談起:

     什么是矩陣?這里直接上一張二維矩陣的圖。

 

                    

 

    所謂矩陣,無非就是像矩形那樣方陣排列。

    橫向走的我們定義為列(column),圖示有兩列,分別以2、3開頭。

    縱向走的我們定義為行(raw),圖示有兩行,分別以2、4開頭。

            這里我們不難發現列出的矩陣和二維數組這種數據結構無異,因此可以對應表示,記 A 為這個矩陣,Aij表示第 i 行,第 j 列(圖示A12表示第1行第2列的元素,即為3)。

            當 i = j 時的矩陣被稱為方陣,這是今天我們所談的關系矩陣及關系性質應滿足的第一個條件

 

            我們還可以引入方陣二維數組表示的C++通用定義:          

int **a;//a即為矩陣名
int n;
cin>>n;//n表示矩陣的維度,供我們輸入賦值
a = new int*[n+1];//先給a開辟行方向上的空間,從a[0]至a[n],實則從a[1]開始使用
for (int i =1; i<=n; i++) a[i]=new int[n+1];//每行開辟列空間 //以下嵌套for循環給矩陣賦予初始值0 for (int i = 1; i <= n; i++) for (int j = 1; j <= n; j++) a[i][j] = 0;

            

  當矩陣上的元素僅用0或1來表示時,我們把它稱為布爾矩陣,這是今天討論的關系矩陣及關系性質應滿足的第二個條件

  : 換句話說,以下的討論均基於布爾方陣這個前提,並不是所有關系矩陣都需要滿足該前提,這點很重要。

 

2.關於關系矩陣(為方便理解,會引入部分關於圖論的知識,但都基於表層)

幾個關系矩陣的實例:

關系矩陣中的0代表不存在關系,1表示存在關系。關系矩陣是一個關系的一種表現形式。

矩陣的維度n表示可以存在關系的元素個數,例如圖中a,b皆為 4✖4 的矩陣,維度為4,故可以存在4種元素(就是下面關系圖中的圓圈,我們稱之為結點),使得每2個元素間的關系可以用矩陣表示出來。元素編號記為1~n,圖示即為1,2,3,4,相同行相同列代表相同元素編號。

上面沒看懂也不要緊,為了更直觀地觀察我們采用關系圖進行講解:

對於矩陣A,若Aij=1,即表示存在 i 到 j 的關系,關系圖中可以理解為存在 i 到 j 的道路,在圖上以有向邊的形式呈現。

例如關系矩陣a中,a11,a23值為1,在關系圖a中存在帶箭頭的邊,從編號為1的結點出發指向1;從編號為2的結點出發指向3,以此下去,2到2,3到2,3到3,4到4。

再看關系圖b我們進行反推,1到2,2到3,3到4,4到1;說明b12= b23= b34= b41=1,對照關系矩陣b,符合。

 

3.關系的性質(依然可結合上面的關系矩陣和關系圖進行理解)

   1)自反性(reflexive)

         關系矩陣主對角線上所有元素值都為1,可見關系矩陣a;

         關系圖上每個結點存在自環,即每個結點都存在從自身出發指向自身的有向邊,可見關系圖a。

        因此,關系a具有自反性。

   2)非自反性(irreflexive)

        關系矩陣主對角線上所有元素值為0,可見關系矩陣b;

        關系圖上每個結點都沒有自環,可見關系圖b。

        因此,關系b具有非自反性。

  3)對稱性(symmetric)

       關系矩陣沿主對角線對稱,對角線上元素沒有要求,可見關系矩陣a;

       關系圖上的邊只存在自環以及雙向箭頭(即若存在2到3的關系,必然存在3到2的關系)兩種,可見關系圖a。

       因此,關系a具有對稱性。

  4)非對稱性(asymmetric)

       關系矩陣沿主對角線對稱的任意兩個元素,要么全0,要么一個0一個1,不存在全1的情況,對角線上元素必須全為0,可見關系矩陣b;

       關系圖兩個頂點間只存在一條邊,或者不存在邊,每個元素都自環,可見關系圖b。

       因此,關系b具有非對稱性。

  5)反對稱性(antisymmetric)

       關系矩陣沿主對角線對稱的任意兩個元素,要么全0,要么一個0一個1,不存在全1的情況,對角線上元素沒有規定,可見關系矩陣b;

       關系圖兩個頂點間只存在一條邊,或者不存在邊,每個元素允許存在自環但不強求必須存在,可見關系圖b。

       因此,關系b具有反對稱性。

  6)傳遞性(transitive)

       關系矩陣上,若Aij=1,則矩陣A第 i 行與第 j 列元素兩兩對應之積的總和大於等於1,即兩兩對應的元素中存在1✖1這種情況。以關系矩陣a為例,a23=1,取該矩陣第2行(0110)與第3列(0110)元素對         應相乘求和,0✖0+1✖1+1✖1+0✖0=2 ≥ 1,驗證a上每一個值為1的元素,所有均滿足則具有傳遞性。

      關系圖中若存在a到b的有向邊及b到c的有向邊,則必定存在a到c的有向邊,驗證所有邊滿足這個性質的才具有傳遞性。

        照上述思路可以驗證關系a具有傳遞性。

 

 

 

  • 小插曲:

               線性代數中的矩陣只有對稱與反對稱兩種,分別對應aij= aji,aij= - aji兩種條件(這里 i,j 任取,可相等,故反對稱矩陣主對角線全為0),這里注意不要混淆。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM