最小依赖集 (解法+例题)

发布时间:2024-12-25 15:44

避免过度依赖权力解决问题 #生活技巧# #人际关系技巧# #解决人际关系矛盾#

最小依赖集 (解法+例题)

网上看了很多最小依赖集的解法和例题,许多都存在错误,故自己参考总结写了一篇,如果有错误,感谢指正。

一、求最小依赖集的算法

①根据推理规则的分解性,右部最小化

②消除左边的冗余属性

③消除冗余的FD(依赖)

重点:操作步骤的顺序不能颠倒,颠倒了可能消除不了FD中左边冗余的属性,或冗余的依赖。

二、具体操作详解(以下两种意思相同,表述略有区别罢了)

(1)右部最小化:右切,使每个函数依赖的右部仅有一个属性
(2)规则最小化:除本求包(对每个函数依赖的左部做除本求包,求包的结果如果不包含本函数依赖的右部,本函数依赖保留;求包的结果如果包含了本函数依赖的右部,删除本函数依赖)
(3)左部最小化

三、例题,反例等

反例,假如将②③步骤颠倒

例:求**F={ABD→AC,C→BE,AD→BF,B→E}**的最小函数依赖集 F m F_m Fm​

注意:当在函数依赖已经改变的地方开始一个新步骤时,重写函数依赖集很重要,这样可以在下一步中方便引用。

第一步 对F中的函数依赖运用分解原则来创建一个等价函数依赖集H,该集合中每一个函数依赖的右部是单个属性:

H={①ABD→A,②ABD→C,③C→B,④C→E,⑤AD→B,⑥AD→F,⑦B→E}

第二步 考察每一个函数依赖是否是必须的,去除非必要的函数依赖

(1)ABD→A是平凡的函数依赖(就是A是ABD的子集,所以他是平凡的依赖),所以显然是非必要的函数依赖,因此去除。保留在H中的函数依赖是H={②ABD→C,③C→B,④C→E,⑤AD→B,⑥AD→F,⑦B→E}

(2)考察ABD→C,去掉此函数依赖将会得到新的函数依赖集J={③C→B,④C→E,⑤AD→B,⑥AD→F,⑦B→E}。如果ABD→C是非必要的,则 ( A B D ) J + (ABD)_J^+ (ABD)J+​=ABDFE,不包含C,因此ABD→C是必要的函数依赖,不能去掉。

H={②ABD→C,③C→B,④C→E,⑤AD→B,⑥AD→F,⑦B→E}

(3)考察C→BJ={②ABD→C,④C→E,⑤AD→B,⑥AD→F,⑦B→E},则** C J + C_J^+ CJ

网址:最小依赖集 (解法+例题) https://www.yuejiaxmz.com/news/view/563539

相关内容

数据库求最小函数依赖集
大学生“屏社交”依赖症的隐忧
家庭环境对青少年手机依赖影响的研究综述
AI写作工具推荐:让创作不再依赖灵感
依赖: wine
未能加载文件或程序集“System.Web.Http.WebHost, Version=4.0.0.0, ”或它的某一个依赖项。系统找不到指定的文件。
破解生活难题,算法如何成为你的贴心小助手?
独立女性 = 不依赖任何人?
如何帮助孩子摆脱对电子产品的依赖?
线上教育更便捷,学习更高效?别一味依赖,这个问题需辩证看待

随便看看