• 关系规范化理论学习笔记:求解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

  • 相关阅读:
    ElasticSearch第三步-中文分词
    centos 6.7 搭建tornado + nginx + supervisor的方法(已经实践)
    python ConfigParser 模块
    collections 模块(namedtuple, deque, Counter )
    Kali 开机报错解决方案
    debian 或者kali 安装git
    kali python pip3 的安装和卸载
    Kali 使用ssh,安装vmware tools 和字体重叠
    装饰器
    python2.7 报错(UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128))
  • 原文地址:https://www.cnblogs.com/dragondragon/p/12554951.html
Copyright © 2020-2023  润新知