用C语言来判断是否满足自反,反自反,非自反,对称,反对称,非对称和传递性
也不知道写的对不对。没有大量验证,但是随便找的一些关系测试的没毛病,如果错了,欢迎各位大佬留言
但常常地我们把关系与其图等价起来,即若 R ? X × Y 则 R 是一个关系.
关系的运算时关系上的一元运算。它把给出的关系R扩充成一新关系R’,使R’具有一定的性质。且所进行的扩充又是最“节约”的。 比方自反。相当于把关系R对角线上的元素全改成1。其它元素不变,这样得到的R’是自反的。且是修改次数最少的。即是最“节约”的。
一个关系R的闭包,是指加上最小数目的有序偶而形成的具有自反性,对称性或传递性的新的有序偶集,此集就是关系R的闭包。
设R是集合A上的二元关系,R的自反(对称、传递)闭包是满足下面条件的关系R':
(i)R'是自反的(对称的、传递的);
(ii)R'?R。
(iii)对于A上的不论什么自反(对称、传递)关系R",若R"?R,则有R"?R'。
R的自反、对称、传递闭包分别记为r(R)、s(R) 和t(R)。
性质1
集合A上的二元关系R的闭包运算能够复合。比如:
ts(R)=t(s(R))
表示R的对称闭包的传递闭包,通常简称为R的对称传递闭包。而tsr(R)则表示R的自反对称传递闭包。
性质2
设R是集合A上的二元关系,则有
(a)假设R是自反的。那么s(R)和t(R)也是自反的。
(b)假设R是对称的。那么r(R)和t(R)也是对称的;
(c)假设R是传递的,那么r(R)也是传递的。
性质3
设R是集合A上的二元关系。则有
(a)rs(R)=sr(R);
(b)rt(R)=tr(R);
(c)ts(R)? st(R)。
版权声明:如果觉得本文对您有用或写得好,还请往左边点个赞哦~~~如有错误欢迎指出哦 /wzwdcld/article/details/
但经常地我们把关系与其图等价起来,即若 R ? X × Y 则 R 是一个关系.
关系的运算时关系上的一元运算,它把给出的关系R扩充成一新关系R’,使R’具有一定的性质,且所进行的扩充又是最“节约”的。 比如自反,相当于把关系R对角线上的元素全改成1,其他元素不变,这样得到的R’是自反的,且是改动次数最少的,即是最“节约”的。
一个关系R的闭包,是指加上最小数目的有序偶而形成的具有自反性,对称性或传递性的新的有序偶集,此集就是关系R的闭包。
设R是集合A上的二元关系,R的自反(对称、传递)闭包是满足以下条件的关系R':
(i)R'是自反的(对称的、传递的);
(iii)对于A上的任何自反(对称、传递)关系R",若R"?R,则有R"?R'。
R的自反、对称、传递闭包分别记为r(R)、s(R) 和t(R)。
集合A上的二元关系R的闭包运算可以复合,例如:
表示R的对称闭包的传递闭包,通常简称为R的对称传递闭包。而tsr(R)则表示R的自反对称传递闭包。
设R是集合A上的二元关系,则有
(a)如果R是自反的,那么s(R)和t(R)也是自反的;
(b)如果R是对称的,那么r(R)和t(R)也是对称的;
(c)如果R是传递的,那么r(R)也是传递的。
设R是集合A上的二元关系,则有