一、实验目的
通过算法设计并编程实现对给定集合上的关系是否为自反的、对称的和传递关系的判断,加深学生对关系性质的理解,掌握用矩阵来判断等价关系的方法。
二、实验内容
给定R的关系矩阵,据此判断所给关系R是否为等价关系。
三、实验原理和方法
设R为非空集合A上的关系。如果R是自反的、对称的和传递的,则称R为A上的等价关系。
从给定的关系矩阵来断判关系R是否为自反。若M(R的关系矩阵)的主对角线元素均为1,则R是自反关系;若M(R的关系矩阵)的主对角线元素均为0,则R是反自反关系;若M(R的关系矩阵)的主对角线元素既有1又有0,则R既不是自反关系也不是反自反关系。本算法可以作为判等价关系算法的子程序给出。
从给定的关系矩阵来判断关系R是否为对称。若M(R的关系矩阵)为对称矩阵,则R是对称关系;若M为反对称矩阵,则R是反对称关系。因为R为对称的是等价关系的必要条件,所以,本算法可以作为判等价关系算法的子程序给出。
一个关系R的可传递性定义告诉我们,若关系R是可传递的,则必有:mik=1∧mkj=1 mij=1。可传递性也是等价关系的必要条件,本算法也可以作为判等价关系算法的子程序给出。
四、实验要求
设A={1,2,3},任选一种语言判断下述关系的性质:
关系R1={<1,1>, <1,2>,<1,3>,<2,1>,<3,1>}
关系R2={<1,1>, <1,2>,<2,1>,<2,2>,<3,3>}
五、实验过程
源代码