前言:这篇博客主要是直接教大家怎么做出来是不是无损分解,直接来看一道题~
首先,我们会看到一道这样的题:
下面我们开始解决第二问:
第一步:画出一个大表,每一行都是第二问给出的,列就是所有的属性;
第二步:在上面开始判断,每一行有什么属性,就在表里用a标注;没有的用b
第三步:最关键的一步,通过题目给的条件开始判断:
先看A→D,先看你做的表格里有没有AD同时是a的,有的话,注意啊,看其他行的A是不是a的形式,,这时候有两种情况:
如果是!那么这一行的D列也就可以变成a!
如果不是!这一行的D列全变成b14,就是和第一行的D列靠齐。
现在很明显是第二种情况,那么AE,AC行的D列全变为b14:
(可以把a理解为比b高一级的等级,如果能推出来a就推出来a,,不能的话就推出来最上面一行的b)
再看E→D:还是先判断E和D列有没有同时为a的,发现没有,那么就看E列为a的,把这一行对应的D列改成b14:
再看D→B,我们发现第一行的b14对应a2,那么下面几行的b14也可以!
看BC→D,第四行的BCD全都为a!!所以其他行有BC都为a的,也能推出来D为a!也就是第三行和第五行:
DC→A,最后一行的DCA都是a!那么第三行和第四行的也能推!
第四步:这个过程结束后,咱们发现第三行已经全部为a啦!只要有一行能全部为a,那么这就是无损分解!!如果结束过后一行都没有满,那就不是无损分解。