閉集和閉包的關(guān)系 離散數(shù)學(xué)關(guān)系閉包運(yùn)算問題設(shè)R是集合A上的關(guān)系,那么t。s。r(R)是什么意思啊?怎么復(fù)合運(yùn)算這種閉包關(guān)系啊?
離散數(shù)學(xué)關(guān)系閉包運(yùn)算問題設(shè)R是集合A上的關(guān)系,那么t。s。r(R)是什么意思啊?怎么復(fù)合運(yùn)算這種閉包關(guān)系啊?先求自反閉包R(R),再求R(R)的對稱閉包s(R(R)),最后求s(R(R))的傳遞閉包t
離散數(shù)學(xué)關(guān)系閉包運(yùn)算問題設(shè)R是集合A上的關(guān)系,那么t。s。r(R)是什么意思啊?怎么復(fù)合運(yùn)算這種閉包關(guān)系啊?
先求自反閉包R(R),再求R(R)的對稱閉包s(R(R)),最后求s(R(R))的傳遞閉包t(s(R(R)),按順序求
自反閉包是在原關(guān)系的基礎(chǔ)上加上所有自反關(guān)系。同樣,傳遞閉包是在原有關(guān)系的基礎(chǔ)上對傳遞關(guān)系的補(bǔ)充。對稱閉包是對滿足對稱性要求的原關(guān)系的補(bǔ)充。
離散數(shù)學(xué)r的自反閉包,傳遞閉包和對稱閉包該怎么算?
閉包是直接或間接從屬性派生的所有屬性的集合。例如,f={a->B,B->C,a->D,e->F}。如果B和D可以直接從a得到,C可以間接得到,那么a的閉包就是{a,B,C,D}。示例:設(shè)R(a,B,C,D,e,g)有一個(gè)函數(shù)依賴集F={ab→C,BC→ad,D→e,CG→B},求出ab的閉包。解決方法:首先,從ab開始,設(shè)x={a,B},因?yàn)楹瘮?shù)依賴ab→C,左邊的所有屬性都在x中,所以可以把右邊的C加到x中,此時(shí),x={a,B,C}。第二,考慮函數(shù)依賴關(guān)系BC→ad,左邊的B和C在X中,右邊的D不在X中,把它加到X中,此時(shí),X={a,B,C,D}。然后考慮函數(shù)依賴關(guān)系D→E。類似地,E可以添加到x,其中x={a,B,C,D,E}。上面的方法不能再向x添加屬性,所以我們得到{a,B}={a,B,C,D,e}。由于閉包會使函數(shù)中的變量都保存在內(nèi)存中,內(nèi)存消耗非常大,因此不能濫用閉包,否則會造成網(wǎng)頁性能問題,可能導(dǎo)致ie內(nèi)存泄漏。解決方法是在退出函數(shù)前刪除所有未使用的局部變量。2閉包將在父函數(shù)外部,并更改父函數(shù)內(nèi)部變量的值。因此,如果將父函數(shù)用作對象,將閉包用作其公共方法,將內(nèi)部變量用作其私有值,則必須小心不要更改父函數(shù)的內(nèi)部變量的值。
數(shù)據(jù)庫閉包怎么計(jì)算?
一般來說,如果r={(x)i,y_i)如果:i∈a}是一個(gè)二元關(guān)系,那么它的自反閉包就是把r_i中出現(xiàn)的所有x,y(x)對應(yīng)于i_i,x_i)和(y)i,y_i)加進(jìn)去。例如,如果r={(a,b),(b,b),(b,d)},那么r的自反閉包就是{(a,b),(b,b),(b,d)}{(a,a),(b,b),(d,d)}={(a,b),(b,b),(b,d),(a,a),(d,d)}
在離散數(shù)學(xué)中,對于既不是自反又不是反自反的關(guān)系,應(yīng)該適當(dāng)?shù)丶由弦恍┬驅(qū)κ顾鼈冏苑?,而且順序?qū)?yīng)該盡可能少地添加。與有序?qū)Φ年P(guān)系稱為原始關(guān)系的自反閉包,表示為R(R)。[1]
示例:
讓a={1,2,3},r={<1,1>,<2,2>},找到r的自反閉包。
解決方案:因?yàn)閞缺少順序?qū)?LT3,3>,r不是自反關(guān)系。加上這個(gè)順序?qū)⒊蔀橐粋€(gè)自反關(guān)系(即,在關(guān)系矩陣中,對角線上的數(shù)字是1)。所以R(R)={<1,1>,<2,2>,<3,3>}的自反閉包。
從尋找自反閉包的過程中,我們可以得到:R(R)=Ruia