根据给出的关系矩阵,判断该关系所具有的特性
目录
- 自反性与反自反性的判断
- 对称性与反对称性的判断
- 传递性的判断
自反性与反自反性的判断
关系R是自反的,当且仅当其关系矩阵的主对角线上元素都为1;关系R是反自反的,当且仅当其关系矩阵的主对角线上元素都为0。
题目描述
给定有限集合上二元关系的关系矩阵,判断该关系是否具有自反性或者反自反性?
源代码
#include<stdio.h>
#define N 100
int main()
{int a[N][N],i,j,sum=0,n;scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);if(i==j) sum+=a[i][j];}}//根据主对角线中1的个数判进行断if(sum==n) printf("该关系具有自反性!\n");else if(sum==0) printf("该关系具有反自反性!\n");else printf("该关系不具有自反性或反自反性!\n");return 0;
}
需要注意的是空集上的空关系既具有自反性,又具有反自反性,但是它对应的关系矩阵应该无法输入,所以在判断的时候没有加入这种情况。
对称性与反对称性的判断
关系R是对称的,当且仅当其关系矩阵关于主对角线对称;关系R是反对称的,当且仅当其关系矩阵中关于主对角线对称的元素不同时为1
题目描述
给定有限集合上二元关系的关系矩阵,判断该关系是否具有对称性或者反对称性?
源代码
#include<stdio.h>
#define N 100
int main()
{int a[N][N],n,i,j,flag=0,sum=0,t=0;scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);}}for(i=0;i<n;i++){for(j=0;j<n;j++){if(a[i][j]!=a[j][i]) flag=1;//不对称的时候修改标记量的初值if(i!=j) sum+=a[i][j];}}if(sum==0) printf("该关系既是对称的又是反对称的!\n");else if(sum>0&&flag==0) printf("该关系是对称的!\n");else{for(i=0;i<n;i++){for(j=0;j<n;j++){if(i!=j){t+=a[i][j]*a[j][i];}}}if(t==0) printf("该关系是反对称的!\n");else if(t>0) printf("该关系既不是对称的也不是反对称的!\n");}return 0;
}
与自反性和反自反性的情况不同,对称性与反对称性可以在能够进行输入的关系矩阵里面同时存在,所以需要加入这种情况。
传递性的判断
传递性在关系矩阵中的特点并不明显,故用另一个思路:关系R是传递的,当且仅当R∘R⊆R ,通俗来讲就是若R对应的关系矩阵中某一位置的元素为0,则在R∘R对应的关系矩阵的位置上的元素必须为0。
题目描述
给定有限集合上二元关系的关系矩阵,判断该关系是否具有传递性?
源代码
#include<stdio.h>
#define N 100
int mult(int a[N][N],int b[N][N],int n,int c[N][N])
{int i,j,k;for(i=0;i<n;i++){for(j=0;j<n;j++){c[i][j]=0;}}for(i=0;i<n;i++) { for(j=0;j<n;j++) { for(k=0;k<n;k++) { c[i][j]+=a[i][k]*b[k][j]; } } }
}
int main()
{int n,i,j,a[N][N],b[N][N]={0},c[100][100]={0};scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);b[i][j]=a[i][j];}}mult(a,b,n,c);for(i=0;i<n;i++){for(j=0;j<n;j++){if(a[i][j]==0){if(c[i][j]!=0){printf("该关系不具有传递性!\n");return 0;}}}}printf("该关系具有传递性!\n");return 0;
}
根据给出的关系矩阵,判断该关系所具有的特性相关推荐
- 离散数学10__第5章 关系与函数_关系的性质_自反对称传递
一 关系的定义 设A. B是任意两个集合, A x B 的子集R称为从A到B的二元关系, 简称为关系. 特别地,当A=B时, 称R为A上的关系. 如果<x, y> ∈ R,可记为xRy, ...
- 用C++来实现关系矩阵的性质(自反性、反自反性、对称性、反对称性、)的判断
实验题目:编程实现关系性质的判断 1.自反性:主对角线元素全为1 2.反自反性:主对角线元素全为0 3.对称性:矩阵为对称矩阵 4.反对称性:如果a[i][j] = 1,且i != j,则a[j][i ...
- 离散数学·(不调用第三方库)普通矩阵乘积/关系矩阵乘积,理论+python代码实现
矩阵乘法如何计算? 普通矩阵乘法:第一个矩阵的列数等于第二个矩阵的行数. 矩阵关系运算前提: (1)第一个矩阵的列数等于第二个矩阵的行数. (2)两个矩阵的元素均是0或1. 这里以关系矩阵乘法为例: ...
- 多视图几何总结——单应矩阵和基础矩阵的兼容关系
多视图几何总结--单应矩阵和基础矩阵的兼容关系 多视图几何总结--单应矩阵和基础矩阵的兼容关系 (1)单应矩阵和基础矩阵的兼容性 (2)基础矩阵 -> 单应矩阵 (3)单应矩阵 -> 基础 ...
- 判断点圆关系 (30 分)
判断点圆关系 (30 分) 输入平面上的一个点的坐标,以及一个圆的圆心坐标和半径,输出该点到原点的距离,并判断该点在圆内,圆外还是在圆周上. 在圆外时,将输出"outside",在 ...
- 二元关系的关系性质判断
今天离散老师布置了一个编程作业:用代码实现关系性质的判断.然后我就结合所学知识写了写,如果哪里有不足欢迎批评指正. 自反性:∀x∈A,有<x,x>∈R. 关系矩阵特点:主对角线元素全为1. ...
- 直线与圆的位置关系怎么判断
<直线与圆的位置关系>这个知识点应用比较广泛,是几何知识的一个综合运用,在今后的解题及几何证明中,将起到重要的作用,所以就必须熟练掌握它们之间有哪些位置关系.为了更好地理解,我们可以借助数 ...
- 画图分析Dual Attention(CAM、PAM)、non-local、CCNet、Relation-Aware Global Attention关系矩阵的具体含义--附代码)
初衷:在读代码时,只知道要对于non-local,PAM,CAM要 求出相应的关系矩阵,但这个关系矩阵是怎么求的,以及为什么要这样做就有效果,一直是云里雾里,所以本篇根据tensor数据流,将重点te ...
- 离散数学【关系】习题解析 序偶,直积,关系图,关系矩阵,哈斯图
下面是习题与解析 文章目录 第一题 序偶与类型 第二题 关系图,矩阵与类型 第三题关系图,矩阵与类型 第四题 复合关系 第五题 求t( R) 第六题 求表达式 第七题 求关系图等价类 第八题 写出序偶 ...
- 模糊数学笔记大全(模糊集、截集、模糊矩阵、模糊关系、模糊聚类、模糊模型识别、模糊综合决策、模糊数)
一.模糊集及其运算性质 二.模糊截集与分解定理 三.模糊隶属度函数的确定及常用隶属度函数 四.模糊矩阵与模糊关系 五.模糊聚类 六.模糊模型识别-I(最大隶属度原则) 六.模糊模型识别-II(择近原则 ...
最新文章
- 《Android开发从零开始》——11.AbsoluteLayoutFrameLayout学习
- 添加摇头刷脸_小区门禁系统开始刷脸的时代,你准备好了吗?
- 在php.ini中safe_mode开启之后对于PHP系统函数有什么影响呢?
- Ubuntu NEF to JPEG(Linux NEF 原生格式转jpeg)
- hashCode到底有什么用?
- java(IO)读写文件乱码转换UTF-8问题
- MVC3学习:利用mvc3+ajax实现登录
- 实用window2008之七 :路由器配置应用实例
- 百度移动搜索主要有如下几类结果构成
- 微软雅黑在IE中显示为宋体
- TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式
- 2011年1月22日 上野公园,秋叶原游记
- iOS 播放gif图片
- final修饰的变量就是常量?
- Metasploit 下wmap的基本使用方法
- 计蒜客 2018南京网络赛 I Skr(马拉车+哈希)
- 个人博客作业三:英语学习APP的案例分析
- AngularJS vs. jQuery,看看谁更胜一筹
- 计算机毕业设计Java仓库管理系统(源码+系统+mysql数据库+lw文档)
- owncloud 使用webdav