關系規范化理論學習筆記:求解F的最小函數依賴集(最小覆蓋)的算法_例題+錯題


前言:少一些浮躁,多一些總結,多多交流多多分享,少空想多做事,沖鴨,龍龍!奮斗奮斗奮斗!把握好當下的點點滴滴,青春無悔!

分值一般是5分的!

 

求函數依賴集F的最小覆蓋(最小函數依賴集)的算法的3個steps就是讓我聯想到一個詞--------------執果溯因。2333.

 

從左到右這個判斷,基本上很多很多的題目我都去采用這個方法,不要耍小聰明哦,不要猶豫懷疑,不要畏難害怕,就這樣堅定的從左到右一個一個的檢驗這個函數依賴是否冗余,多一份安心!!少整些那花里胡哨的肉眼預判判斷了,拿起筆來一步一步的搞一步一步的踏踏實實的演算,這就是我的方法,按書上的來2333!這是最笨的方法,也是最好的方法23333!

剛才的一道題深化了我對算法第三步求閉包的一些認識,嘿嘿開心

 

一.經驗算法還沒有很熟稔現在正處於算法套用的經驗值積累期......

1.

 

 

 

 

分析:分為3步驟,需要加上的文字語言描述就像這樣的形式:

 

(1)將F的右部分解為單一屬性

 

(2)去掉冗余的函數依賴

 

(3)去掉(左部)冗余的屬性

 

 

 

 

 

 

 

 

 

 

 ps:姑且先按照書上地這個語言套路先熟練地應用練習一波,嘿嘿2333。

 

教材參考:

 

 

ppt參考:

 

 

 

大致地算法過程流程如此,各位大佬多多請教哦,嘿嘿。

 

 

 

 

 

2.

 

 

 

 

 

一些解決的答案參考如下哦:

 

 

 

 

 

我呀采用的方法是直接硬核暴力計算,在進行算法的第二步化簡的時候,可以頭都不回地從左到右,從第一個到最后一個逐個檢查每一個函數依賴是不是冗余的吶?

 

重劍無鋒,大巧不工,從左到右依次是我采用的一種方法?當然嘞,添加一些小技巧也該是可行的,就比如說呢:從右到左依次地檢查函數依賴是否冗余,如果冗余就去除之,

 

,也可以有一些小技巧吧:(這是我的感覺,正確性有待實踐地錘煉哦)

 

預處理:

適當的預判

 

在F中包含{A->B,B->C,A->C},就將A->C從F中去除。

 

在F中包含{A->B,B->C,AB->C},就將AB->C從F中去除。

 

!這些我可以稍作考慮一下啦啦2333我憑着感覺寫的,還請大佬們多多請教哦,2333

 

下面是我寫的過程:

 

 

 

 

 

 

 

 

 

Fm=

 

ps:第(3)步的冗余屬性去除訓練還有待多多訓練

 

3.

 

 

哇塞i,這題我第一次做然后做錯了qwq。我竟然忘記了第一步的F右部屬性分解了!!!!!!

 

給出的標程答案的參考

 

 

 

 

函數依賴集F的最小覆蓋(最小函數依賴集)的算法的3個steps就是讓我聯想到一個詞--------------執果溯因。2333.

 

從左到右這個判斷,基本上很多很多的題目我都去采用這個方法,不要耍小聰明哦,就這樣一個一個的檢驗,多一份安心!

 

 

 

4.

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

 

 

 

 

 

 

 

會當如切如磋,如琢如磨!

 

 

 

 

 

 

 

 

 

 

回顧:

 

 

 

 

6.一道例題,我先搬過來嘿嘿:

 

 

 

 

 

7.

 

 

 

 

 

8.

 

 

 

 

9.

 

 

(1)將F的右部分解成單一屬性。

 

F={HI->J,HI->M,HK->J,HK->L,HN->I,K->J,I->K}

 

(2)去除冗余的函數依賴。

 

 

 

 

10.算法有着固定的流程和套路,恍然便有高中解析幾何的感覺2333!

 

 

待與大佬門交流確認核實之2333

 

 


免責聲明!

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



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