閉包,閉包

2021-01-14 Alice的離散結構

一、閉包的定義:

閉包是關係的一種特殊運算,運算結果依然是關係。

閉包是包含原關係具有某種性質的最小的關係。閉包有三種,自反閉包、對稱閉包、傳遞閉包。R的自反閉包記作r(R), 對稱閉包記作s(R), 傳遞閉包記作t(R)。


二、閉包的求法:

1.集合表示法中閉包的求法:

設R為A上的關係, 則有


2.矩陣表示法中閉包的求法:

設關係R, r(R), s(R), t(R)的關係矩陣分別為M, Mr , Ms 和 Mt ,則有

                          (1) Mr=M+E   

                          (2) Ms=M+M '      

                          (3) Mt=M+M2+M3+…

E 是單位矩陣, M '是 轉置矩陣,相加時使用邏輯加。


3.關係圖表示法中閉包的求法:

設關係R, r(R), s(R), t(R)的關係圖分別記為G, Gr, Gs, Gt, 則Gr , Gs , Gt 的頂點集與G 的頂點集相等. 除了G 的邊以外, 以下述方法添加新的邊:

(1) 考察G 的每個頂點, 若沒自迴路就加一個自迴路,得到Gr  

(2) 考察G 的每條邊, 若有一條 xi 到 xj 的單向邊, i≠j, 則在G中加一條 xj 到 xi 的反向邊,  得到Gs

(3) 考察G 的每個頂點 xi, 找 xi 可達的所有頂點 xj (允許i=j ), 如果沒有從 xi  到 xj  的邊, 就加上這條邊, 得到圖Gt


例:設A={a,b,c,d}, R={<a,b>,<b,a>,<b,c>,<c,d>,<d,b>}, 求r(R), s(R), t(R)。

解:r(R)={<a,b>,<b,a>,<b,c>,<c,d>,<d,b>,<a,a>,<b,b>,<c,c>,<d,d>}

s(R)={<a,b>,<b,a>,<b,c>,<c,d>,<d,b>,<c,b>,<d,c>,<b,d>}

 t(R)={<a,b>,<b,a>,<b,c>,<c,d>,<d,b>,<a,a>,<b,b>,<a,c>,<b,d>,<c,b>,<c,a>,<d,c>,<c,c>,<d,d>,<a,d>,<d,a>}


如果在關係圖中解,R和r(R), s(R), t(R)的關係圖如下圖所示。



相關焦點

  • 第55p,閉包函數,函數知識的綜合運用
    大家好,我是楊數Tos,這是《從零基礎到大神》系列課程的第55篇文章,第三階段的課程:Python進階知識:Python進階知識:詳細講解Python中的函數(八)====> 函數的嵌套調用之閉包函數。
  • 解讀Python函數閉包的概念及作用域
    但在一些情況下,可以將函數內部的嵌套函數引入到全局環境中使用,Python將引入到全局環境中使用的嵌套函數及其環境變量構建成一個封閉的包,該包內的環境變量不受外部環境的影響,這就是我們將要討論的閉包。前面我們了解了嵌套函數的作用域僅限於其父函數體內,如果在父函數體外調用其嵌套的函數,就會超出嵌套函數的作用域。
  • go 學習筆記之僅僅需要一個示例就能講清楚什麼閉包
    第一句我們知道了閉包是一種技術,而現在我們有知道了閉包存儲了閉包函數所需要的環境,而環境分為函數運行時所處的內部環境和依賴的外部環境,閉包函數被使用者調用時不會像普通函數那樣丟失環境而是存儲了環境.環境是閉包所處的環境,這裡強調的是外部環境,更確切的說是相對於匿名函數而言的外部變量,像這種被閉包函數使用但是定義在閉包函數外部的變量被稱為自由變量.「雪之夢技術驛站」: 由於閉包函數內部使用了自由變量,所以閉包內部的也就關聯了自由變量的值或引用,這種綁定關係是創建閉包時確定的,運行時環境也會一直存在並不會發生像普通函數那樣無法維持環境.