-
2018-06-08 22:00:19
今天离散老师布置了一个编程作业:用代码实现关系性质的判断。然后我就结合所学知识写了写,如果哪里有不足欢迎批评指正。
自反性:∀x∈A,有<x,x>∈R。
关系矩阵特点:主对角线元素全为1.
关系图的特点:图中每个顶点都有环。
代码:
int refl(){ bool flag=false; for(int i=1;i<=n;i++){ if(!e[i][i]){ flag=true; break; } } if(flag) return 0; else return 1; }
反自反性:∀x∈A,有<x,x>∉R。
关系矩阵特点:主对角线元素全为0.
关系图特点:图中每个顶点都没环。
代码:
int irrefl(){ bool flag=false; for(int i=1;i<=n;i++){ if(e[i][i]){ flag=true; break; } } if(flag) return 0; else return 1; }
对称性:若<x,y>∈R,则<y,x>∈R。
关系矩阵特点:矩阵为对称矩阵。
关系图特点:如果两个顶点之间有边,一定是一对方向相反的边。
代码:
int sym(){ bool flag=false; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(e[i][j]&&!e[j][i]){ flag=true; } } if(flag) break; } if(flag) return 0; else return 1; }
反对称性:
若<x,y>∈R,且x不等于y,则<y,x>∉R。
关系矩阵特点:如果r[i][j]=1,且i不等于j,则r[j][i]=0.
关系图特点:如果两个顶点之间有边,一定是一条有向边。
代码:
int irsym(){ bool flag=false; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i!=j){ if(e[i][j]&&e[j][i]){ flag=true; break; } } else continue; } if(flag) break; } if(flag) return 0; else return 1; }
传递性:
若<x,y>∈R,且<y,z>∈R,则<x,z>∈R。
关系图特点:如果顶点xi到顶点xj有边,xj到xk有边,则从xi到xk有边。
代码:
int tra(){ memset(book,0,sizeof(book)); for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(e[i][k]&&e[k][j]){ book[i][j]=1;//表示两点之间可以到达 } } } } bool flag=false; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(book[i][j]){ flag=true; break; } } if(flag) break; } if(flag) return 1; else return 0; }
总代码:
#include<bits/stdc++.h> using namespace std; int n,m;//n代表集合中元素的个数,m表示集合r中序偶的个数 int e[101][101];//关系矩阵 int a[101];//集合a int vis[101][101],book[101][101]; struct node { int x, y;//x为第一元素,y为第二元素 }r[100010];//集合r的序偶 int refl(){ bool flag=false; for(int i=1;i<=n;i++){ if(!e[i][i]){ flag=true; break; } } if(flag) return 0; else return 1; } int irrefl(){ bool flag=false; for(int i=1;i<=n;i++){ if(e[i][i]){ flag=true; break; } } if(flag) return 0; else return 1; } int sym(){ bool flag=false; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(e[i][j]&&!e[j][i]){ flag=true; } } if(flag) break; } if(flag) return 0; else return 1; } int irsym(){ bool flag=false; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i!=j){ if(e[i][j]&&e[j][i]){ flag=true; break; } } else continue; } if(flag) break; } if(flag) return 0; else return 1; } int tra(){ memset(book,0,sizeof(book)); for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(e[i][k]&&e[k][j]){ book[i][j]=1;//表示两点之间可以到达 } } } } bool flag=false; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(book[i][j]){ flag=true; break; } } if(flag) break; } if(flag) return 1; else return 0; } int main() { while (~scanf("%d%d",&n,&m)) { getchar(); memset(vis,0,sizeof(vis)); memset(e,0,sizeof(e)); for (int i = 1; i <= n; i++) { scanf("%d",&a[i]);//输入集合a } getchar(); for(int i=1;i<=m;i++){ scanf("%d %d",&r[i].x,&r[i].y);//输入集合r的第一第二元素 vis[r[i].x][r[i].y]=1; } //生成关系矩阵 for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(vis[a[i]][a[j]]) e[a[i]][a[j]]=1; } } if(refl()){ printf("具有自反性\n"); printf("关系矩阵为\n"); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ printf("%d ",e[i][j]); } printf("\n"); } } if(irrefl()){ printf("具有反自反性\n"); printf("关系矩阵为\n"); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ printf("%d",e[i][j]); } printf("\n"); } } if(sym()){ printf("具有对称性\n"); printf("关系矩阵为\n"); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ printf("%d",e[i][j]); } printf("\n"); } } if(irsym()){ printf("具有反对称性\n"); printf("关系矩阵为\n"); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ printf("%d",e[i][j]); } printf("\n"); } } if(tra()){ printf("具有传递性\n"); printf("关系矩阵为\n"); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ printf("%d",e[i][j]); } printf("\n"); } } } return 0; }
更多相关内容 -
判断关系性质
2013-12-22 14:09:09这是判断关系性质的代码,自己写的,大家看看 -
离散数学实验:关系性质判断
2020-05-08 19:23:35熟悉关系的性质,掌握求判断关系性质的方法。 二、实验内容 本实验要求从键盘输入一个关系的关系矩阵,判断该关系是否是自反的、对称的、传递的、反自反的、反对称的。用C语言或MATLAB实现。 三、实验源程序 #...一、实验目的
熟悉关系的性质,掌握求判断关系性质的方法。
二、实验内容
本实验要求从键盘输入一个关系的关系矩阵,判断该关系是否是自反的、对称的、传递的、反自反的、反对称的。用C语言或MATLAB实现。
三、实验源程序
#define _CRT_SECURE_NO_WARNINGS//避免scanf编译不通过 #include <stdio.h> #include <stdlib.h> void Input();//输入关系矩阵 bool Ref();//判断是否自反 bool NoRef();//判断是否反自反 bool Sym();//判断是否对称 bool NoSym();//判断是否反对称 bool Tra();//判断是否传递 int matrix[100][100]{ 0 }; int line; int main() { Input(); if (Ref()) printf("该关系是自反的\n"); if (NoRef()) printf("该关系是反自反的\n"); if (Sym()) printf("该关系是对称的\n"); if (NoSym()) printf("该关系是反对称的\n"); if (Tra()) printf("该关系是传递的!\n"); return 0; } void Input() { printf("请输入关系矩阵的行列数(行列数小于等于100):\n"); scanf("%d", &line); if (line > 100 || line < 1)//判断行列数是否合法 { printf("非法输入!\n"); exit(0); } printf("请输入关系矩阵:\n"); for (int i = 0;i < line;i++) { for (int j = 0;j < line;j++) { scanf("%d", &matrix[i][j]); if (matrix[i][j] >= 2 || matrix[i][j] < 0) { printf("输入关系矩阵错误\n"); exit(0); } } } } bool Tra() { for (int i = 0;i < line;i++) { for (int j = 0;j < line;j++)//二重数组遍历关系矩阵 { if (matrix[i][j] == 1)//如果第i行j列的元素是1 { for (int k = 0;k < line;k++)//开始搜索第j行为1的元素 { if (matrix[j][k] == 1) { if (matrix[i][k] != 1) return false;//如果存在这种情况:第i行第j //列和第j行第k列的元素均为1,但是第i行第k列的元素不为1,则不具有传递性 } } } } } return true; } bool Ref() { for (int i = 0;i < line;i++) { if (matrix[i][i] != 1) return false;//只要主对角线元素存在非1元素,即不具有自反性 } return true; } bool NoRef() { for (int i = 0;i < line;i++) { if (matrix[i][i] != 0)//只要对角线存在非0元素,即不具有反自反性 return false; } return true; } bool Sym() { for (int i = 0;i < line;i++) { for (int j = 0;j < line;j++) { if (matrix[i][j] != matrix[j][i]) //只要第i行第j列元素和第j行第i列元素不相等,即不是对称矩阵,则不具有对称性 return false; } } return true; } bool NoSym() { for (int i = 0;i < line;i++) { for (int j = 0;j < line;j++) { if (matrix[i][j] == matrix[j][i] && (matrix[i][j] == 1 || matrix[j][i] == 1)) //只要存在两个对称位置元素中,存在一个为1,另一个同样为1,则不具有反对称性 return false; } } return true; }
四、实验分析
实验要求利用关系矩阵判断五个性质,我们要了解这些性质在关系矩阵的体现是什么。正如源代码中的注释。之后,码代码是很简单的。
-
关系性质判断及闭包的求法
2011-10-20 14:19:01对离散数学中二元关系的判定及自反、对称、传递闭包的计算 -
离散数学实验三 关系性质判断
2020-06-13 22:15:03熟悉关系的性质,掌握求判断关系性质的方法 二、实验内容 定义1 设R是集合X上的二元关系,对任意的x∈X,都满足<x,x>∈R,则R是自反的。 定义2 设R是集合X上的二元关系,对任意的x∈X,都满足<x,x>R,则...一、实验目的
熟悉关系的性质,掌握求判断关系性质的方法
二、实验内容
定义1 设R是集合X上的二元关系,对任意的x∈X,都满足<x,x>∈R,则R是自反的。 定义2 设R是集合X上的二元关系,对任意的x∈X,都满足<x,x>R,则R是反自反的。 定义3 设R是集合X上的二元关系,对任意的x,y∈X,满足<x,y>∈R<y,x>∈R,则R是对称的。 定义4 设R是集合X上的二元关系,对任意的x,y∈X,满足<x,y>∈R∧<y,x>∈Rx=y,则R是反对称的。X` 定义5 设R是集合X上的二元关系,对任意的x,y,z∈X,满足<x,y>∈R∧<y,z>∈R<x,z>∈R,则R是传递的。 本实验要求从键盘输入一个关系的关系矩阵,判断该关系是否是自反的、对称的、传递的、反自反的、反对称的。用C语言或MATLAB实现。
三、实验源程序及结果截图
1.实验源程序:#include <stdio.h> #include <stdlib.h> int main() { int i,j,n; //输入关系矩阵,只能输入0或1,若不是0或1,提示输入错误并结束程序 printf("请输入关系矩阵阶数n:\n"); scanf("%d",&n); int a[n][n]; printf("请输入关系矩阵真值(0或1):\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]!=0&&a[i][j]!=1){ printf("输入错误!"); return 0; } } } //判断是否为自反矩阵(自反矩阵主对角线元素全为1) for(i=0;i<n;i++){ if(a[i][i]!=1)break; } if(i==n)printf("该关系矩阵是自反的\n"); else if(i<n)printf("该关系矩阵不是自反的\n"); //判断是否为反自反矩阵(反自反矩阵主对角线元素全为0) for(i=0;i<n;i++){ if(a[i][i]!=0)break; } if(i==n)printf("该关系矩阵是反自反的\n"); else if(i<n)printf("该关系矩阵不是反自反的\n"); //判断是否为对称矩阵(对称矩阵a[i][j]==a[j][i]) for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(a[i][j]!=a[j][i])break; } } if(i>=n&&j>=n)printf("该关系矩阵是对称的\n"); else printf("该关系矩阵不是对称的\n"); //判断是否为反对称矩阵(反对称矩阵中i!=j时,a[i][j]和a[j][i]不能同时为1) for(i=0;i<n;i++){ for(j=0;j<n;j++){ if(i!=j){ if(a[i][j]==1&&a[j][i]==1)break; } } } if(i>=n&&j>=n)printf("该关系矩阵是反对称的\n"); else printf("该关系矩阵不是反对称的\n"); //判断是否为传递矩阵(传递矩阵若a[i][j]==1并且a[j][k]==1则a[i][k]一定为1) int k; for(i=0;i<n;i++){ for(j=0;j<n;j++){ for(k=0;k<n;k++){ if(a[i][j]==1&&a[j][k]==1){ if(a[i][k]!=1)break; } } } } if(i>=n&&j>=n&&k>=n)printf("该关系矩阵是传递的\n"); else printf("该关系矩阵不是传递的\n"); return 0; }
-
判断关系的性质--离散课程设计
2008-12-29 12:02:28判断关系的性质:判断关系的性质--离散课程设计.有关离散的程序,用C++编写的. -
【集合论】关系性质 ( 常见的关系的性质 | 关系性质示例 | 关系运算性质 )
2020-10-07 22:07:02一、常见的关系的性质 、 二、关系的性质示例 、 三、关系运算性质 、
一、常见的关系的性质
在 自然数集 N = { 0 , 1 , 2 , ⋯ } N=\{ 0, 1,2, \cdots \} N={0,1,2,⋯} 上 , 如下关系的性质 :
1. 小于等于关系 :
小于等于关系 :
符号化描述 : ≤ = { < x , y > ∣ x ∈ N ∧ y ∈ N ∧ x ≤ y } \leq = \{ <x, y> | x \in N \land y \in N \land x \leq y \} ≤={<x,y>∣x∈N∧y∈N∧x≤y}
关系性质 : 自反 , 反对称 , 传递
2. 大于等于关系 :
大于等于关系 :
符号化描述 : ≥ = { < x , y > ∣ x ∈ N ∧ y ∈ N ∧ x ≥ y } \geq = \{ <x, y> | x \in N \land y \in N \land x \geq y \} ≥={<x,y>∣x∈N∧y∈N∧x≥y}
关系性质 : 自反 , 反对称 , 传递
3. 小于关系 :
小于关系 :
符号化描述 : < = { < x , y > ∣ x ∈ N ∧ y ∈ N ∧ x < y } < = \{ <x, y> | x \in N \land y \in N \land x < y \} <={<x,y>∣x∈N∧y∈N∧x<y}
关系性质 : 反自反 , 反对称 , 传递
4. 大于关系 :
大于关系 :
符号化描述 : > = { < x , y > ∣ x ∈ N ∧ y ∈ N ∧ x > y } > = \{ <x, y> | x \in N \land y \in N \land x > y \} >={<x,y>∣x∈N∧y∈N∧x>y}
关系性质 : 反自反 , 反对称 , 传递
5. 整除关系 :
整除关系 :
符号化描述 : ∣ = { < x , y > ∣ x ∈ N ∧ y ∈ N ∧ x ∣ y } | = \{ <x, y> | x \in N \land y \in N \land x | y \} ∣={<x,y>∣x∈N∧y∈N∧x∣y}
关系性质 : 反对称 , 传递
x ∣ y x|y x∣y 中的 ∣ | ∣ 符号是整除的意思 , x x x 整除 y y y ;
-
x x x 整除 y y y , x x x 是除数 (分子) , y y y 是被除数 (分母) ; y x \dfrac{y}{x} xy
-
y y y 能被 x x x 整除 , x x x 是除数 (分子) , y y y 是被除数 (分母) ; y x \dfrac{y}{x} xy
-
整除关系中 , 一定要注意 , 只能非 0 0 0 整除 0 0 0 , 0 0 0 不能整除非 0 0 0 , 即 0 0 0 只能作被除数 , 不能作除数 ;
参考 : 【集合论】二元关系 ( 特殊关系类型 | 空关系 | 恒等关系 | 全域关系 | 整除关系 | 大小关系 ) 三、 整除关系
6. 恒等关系 :
恒等关系 :
符号化描述 : I N = { < x , y > ∣ x ∈ N ∧ y ∈ N ∧ x = y } I_N = \{ <x, y> | x \in N \land y \in N \land x = y \} IN={<x,y>∣x∈N∧y∈N∧x=y}
关系性质 : 自反 , 对称 , 反对称 , 传递
7. 全域关系 :
全域关系 :
符号化描述 : E N = { < x , y > ∣ x ∈ N ∧ y ∈ N } = N × N E_N = \{ <x, y> | x \in N \land y \in N \} = N \times N EN={<x,y>∣x∈N∧y∈N}=N×N
关系性质 : 自反 , 对称 , 传递
自反 , 反对称的关系 , 称为偏序关系 ;
二、关系的性质示例
关系图关系判定 :
- ① 自反 : 关系图中所有顶点 都有环 ;
- ② 反自反 : 关系图中所有顶点 都没有环 ;
- ③ 对称 : 两个顶点之间 有 0 0 0 个或 2 2 2 个有向边 ;
- ④ 反对称 : 两个顶点之间 有 0 0 0 个或 1 1 1 个有向边 ;
- ⑤ 传递 : 前提 a → b , b → c a \to b , b\to c a→b,b→c 不成立 默认传递 , 前提 a → b , b → c a \to b , b\to c a→b,b→c 成立 必须满足 a → c a \to c a→c 存在 ;
1. R 1 = { < a , a > , < a , b > , < b , c > , < a , c > } R_1 = \{ <a, a> , <a, b> , <b , c> , <a,c> \} R1={<a,a>,<a,b>,<b,c>,<a,c>} :
绘制上述关系的关系图 : 反对称 , 传递
自反/反自反 : 有的顶点有环 , 有的顶点没有环 , 自反和反自反都不成立 ;
对称/反对称 : 顶点之间都是 1 1 1 条有向边 , 顶点之间只有 0 / 1 0/1 0/1 条边 , 是 反对称 的 ;
传递 : a → b , b → c a\to b, b \to c a→b,b→c 成立 , a → c a \to c a→c 存在 , 传递性 成立 ;
2. R 2 = { < a , a > , < a , b > , < b , c > , < c , a > } R_2 = \{ <a, a> , <a, b> , <b , c> , <c,a> \} R2={<a,a>,<a,b>,<b,c>,<c,a>} :
绘制上述关系的关系图 : 反对称
自反/反自反 : 有的顶点有环 , 有的顶点没有环 , 自反和反自反都不成立 ;
对称/反对称 : 顶点之间都是 1 1 1 条有向边 , 顶点之间只有 0 / 1 0/1 0/1 条边 , 是 反对称 的 ;
传递 : a → b , b → c a\to b, b \to c a→b,b→c 成立 , a → c a \to c a→c 不存在 , 传递性 不成立 ;
3. R 3 = { < a , a > , < b , b > , < a , b > , < b , a > , < c , c > } R_3 = \{ <a, a> , <b, b> , <a,b> , <b,a> , <c,c> \} R3={<a,a>,<b,b>,<a,b>,<b,a>,<c,c>} :
绘制上述关系的关系图 : 自反 , 对称 , 传递
自反/反自反 : 所有顶点都有环 , 自反性 成立 ;
对称/反对称 : 顶点之间都是 0 0 0 或 2 2 2 条有向边 , 顶点之间只有 0 / 2 0/2 0/2 条边 , 是 对称 的 ;
传递 : 传递性 成立 ;
- 前提 a → b , b → a a \to b , b\to a a→b,b→a , 对应存在 a → a a \to a a→a
- 前提 b → a , a → b b \to a , a\to b b→a,a→b , 对应存在 b → b b \to b b→b
4. R 4 = { < a , a > , < a , b > , < b , a > , < c , c > } R_4 = \{ <a, a> , <a,b> , <b,a> , <c,c> \} R4={<a,a>,<a,b>,<b,a>,<c,c>} :
绘制上述关系的关系图 : 对称
自反/反自反 : 有的顶点有环 , 有的顶点没有环 , 自反和反自反都不成立 ;
对称/反对称 : 顶点之间都是 0 0 0 或 2 2 2 条有向边 , 顶点之间只有 0 / 2 0/2 0/2 条边 , 是 对称 的 ;
传递 : 传递性 不成立 ;
- 前提 a → b , b → a a \to b , b\to a a→b,b→a , 对应存在 a → a a \to a a→a
- 前提 b → a , a → b b \to a , a\to b b→a,a→b , 不存在对应的 b → b b \to b b→b , 这里传递性不成立 ;
5. R 5 = { < a , a > , < a , b > , < b , b > , < c , c > } R_5 = \{ <a, a> , <a,b> , <b,b> , <c,c> \} R5={<a,a>,<a,b>,<b,b>,<c,c>} :
绘制上述关系的关系图 : 自反 , 反对称 , 传递
自反/反自反 : 所有顶点都有环 , 自反性 成立 ;
对称/反对称 : 顶点之间都是 0 0 0 或 1 1 1 条有向边 , 顶点之间只有 0 / 1 0/1 0/1 条边 , 是 反对称 的 ;
传递 : 前提不成立 , 传递性 成立 ;
6. R 6 = { < a , a > , < b , a > , < b , c > , < a , a > } R_6 = \{ <a, a> , <b,a> , <b,c> , <a,a> \} R6={<a,a>,<b,a>,<b,c>,<a,a>} :
绘制上述关系的关系图 : 没有任何关系
自反/反自反 : 有的顶点有环 , 有的顶点没有环 , 自反和反自反都不成立 ;
对称/反对称 : 顶点之间都是 1 1 1 或 2 2 2 条有向边 , 顶点之间只有 0 / 1 0/1 0/1 条边是反对称 , 顶点之间只有 0 / 2 0/2 0/2 条边是对称 , 上述对称/反对称都不成立 ;
传递 : 前提 a → b , b → c a \to b , b \to c a→b,b→c , 不存在对应的 a → c a \to c a→c , 这里传递性不成立 ;
三、关系运算性质
讨论问题 : 指定性质的关系 之间进行运算 , 其结果的性质 ; 如 自反的两个关系 进行逆序合成运算 , 结果扔是自反的 ;
下图中表格的含义是 : 如 第二列 “自反” 与 第三列 “ R 1 ∪ R 2 R_1 \cup R_2 R1∪R2” , 交叉的表格位置 , 代表 关系 R 1 R_1 R1 与关系 R 2 R_2 R2 是自反的 , 其有序对交集是否是自反的 , 如果是 1 1 1 , 说明是自反的 , 如果没有值 , 说明不是自反的 ;
自反 反自反 对称 反对称 传递 R 1 − 1 , R 2 − 1 R_1^{-1}, R_2^{-1} R1−1,R2−1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 R 1 ∪ R 2 − 1 R_1 \cup R_2^{-1} R1∪R2−1 1 1 1 1 1 1 1 1 1 R 1 ∩ R 2 R_1 \cap R_2 R1∩R2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 R 1 ∘ R 2 , R 2 ∘ R 1 R_1 \circ R_2 , R_2 \circ R_1 R1∘R2,R2∘R1 1 1 1 R 1 − R 2 , R 2 − R 1 R_1 - R_2 , R_2 - R_1 R1−R2,R2−R1 1 1 1 1 1 1 1 1 1 ∼ R 1 , ∼ R 2 \sim R_1, \sim R_2 ∼R1,∼R2 1 1 1 -
-
离散数学通过矩阵判断二元关系的性质
2020-11-21 20:21:58编程实现关系性质的判断 提示: 用矩阵表示二元关系 通过矩阵的特征判断二元关系所具有的性质 运用二维数组实现矩阵的输入 ,然后判断自反性,反自反性,对称性,反对称性,传递性。 思路 自反性,反自反性实现较为... -
关系的性质判断(自反,对称,传递)
2018-04-28 22:07:20#include<stdio.h>#include<.../**********集合A的输入,去掉A中的符号***********/ printf("请输入集合A ( 必须以'}'结束 )\n"); scanf("%s",m); f... -
形式逻辑(07)性质判断 和 推理
2020-06-17 10:49:16性质判断的构成:性质判断是由主项、谓项、联项和量项组成。 主项:表示被断定对象的概念,用“S”表示。 谓项:表示被断定对象性质的概念,用“P”表示。 联项:它是联结主项和谓项的概念,分为肯定和否定两种。... -
c语言程序判断关系R在集合A是否等价、相容、偏序
2019-11-11 21:51:53这是我们离散老师布置的第二次程序作业,...判断关系R在集合A是否等价、相容、偏序,也就是判断关系R是否满足自反,对称,反对称,传递这些性质。 等价:自反,对称,传递 相容:自反,对称 偏序:自反,反对称,传... -
根据给出的关系矩阵,判断该关系所具有的特性
2020-06-26 12:14:23题目较为简单,不做过多解释,有问题可以在评论区留言,我每天签到的时候会关注评论区的内容 -
【离散数学】二元关系的性质
2021-02-11 11:45:17二元关系的主要性质有:自反性、反自反性、对称性、反对称性、传递性,这几个性质的判定有一些坑,决定简单分析分析 -
考研逻辑整理 - 性质判断及其变形推理
2017-05-27 07:30:13性质判断1) 性质判断:就是断定对象具有或不具有某种属性的判断 (也称为直言判断或直言命题)。 例如: 这个人是律师。2) 性质判断的构成 I. 主项:表示被断定对象的概念,用 “S” 表示 Ⅱ. 谓项:表示被断定... -
C++实现离散数学之集合与关系运算、性质判断与闭包运算
2019-05-08 20:28:16我尝试着编程实现了课本上集合与关系的相关内容,如集合的逆运算,复合运算,集合上关系的性质判断与闭包运算等,基本判断方法均为定义法。 代码如下: #include<iostream> #include<vector> #... -
离散数学 习题篇 —— 关系的性质
2019-10-28 19:46:33集合A上的关系R,判断R的性质。 输入格式: 第一行是一个整数N(1≤N≤1000),表示集合A={1,2,3,⋯,N}; 第二行是一个整数m(0≤m≤109); 后跟m行,每行两个由空格隔开的整数x,y,表示<x,y>∈R。 输出格式: ... -
【集合论】偏序关系 ( 偏序关系定义 | 偏序集定义 | 大于等于关系 | 小于等于关系 | 整除关系 | 包含关系 |...
2019-07-03 23:29:55( 2 ) 偏序关系 与 等价关系 ( 等价关系 用于分类 | 偏序关系 用于组织 ) 2. 偏序集定义 ( 1 ) 偏序集定义 二. 偏序关系 示例 1. 小于等于关系 ( 1 ) 小于等于关系 说明 ( 2 ) 小于等于关系 分析 2. 大于等于... -
离散数学 关系性质的判断及其闭包运算
2013-11-27 20:33:331、关系矩阵的特性判断 判断任意给定一个6×6的关系矩阵是否是自反的、对称的、反对称的,并显示运算结果。 #include using namespace std; int main() { int a[6][6],i; for(i=0;i;i++) { for(int j=0;j... -
离散数学(6)——关系的表示和关系的性质
2020-03-26 21:25:48离散数学(6)——关系的表示和关系的性质 一、关系矩阵 A={a1,a2,…,an},R⊆A×A R的关系矩阵 M( R )=(rij)n×n eg: A={a,b,c} R1={<a,a>,<a,b>,<b,a>,<b,c>} R2={<a,b>,<... -
【集合论】关系性质 ( 传递性 | 传递性示例 | 传递性相关定理 )
2020-10-04 22:58:46二、传递性示例 上述关系图中 , 符合 当 xRyxRyxRy , yRzyRzyRz 时 , 存在 xRzxRzxRz , 则上述关系是传递的 ; 上述关系图中 , 符合 当 xRyxRyxRy , yRzyRzyRz 时 , 不存在 xRzxRzxRz , 则上述关系不是传递的 ; 上述... -
【集合论】序关系 ( 全序关系 | 全序集 | 全序关系示例 | 拟序关系 | 拟序关系定理 | 三歧性 | 拟线序关系 ...
2020-10-14 11:17:21一、全序关系 ( 线序关系 ) 、 二、全序关系示例 、 三、拟序关系 、 四、拟序关系定理 1 、 四、拟序关系定理 2 、 五、三歧性、拟线序 、 -
实验二 集合上二元关系性质判定的实现(python实现)
2019-01-21 20:08:18通过编程实现任意集合上二元关系的性质判定,借此过程让学生充分理解二元关系的 自反性、对称性、传递性、反自反性和反对称性。 要求: 能正确判定任意二元关系的自反性、对称性、传递性、反自反性和反对称性。 ... -
离散数学实践:关系的性质判断&关系的幂&关系的传递闭包
2013-11-21 23:06:45二元关系类 成员变量: 指向存储在一维数组中的关系矩阵的指针p; 矩阵的阶数;... 判断关系的特性 //自反,对称,传递 关系的逆; √ 与或位运算; 关系的交并差补; //调用与或位运算 √ 关系的合成; -
【集合论】关系性质 ( 对称性 | 对称性示例 | 对称性相关定理 | 反对称性 | 反对称性示例 | 反对称性定理 )
2020-10-04 22:57:55的交集 , 包含在 恒等关系中 ; 如果两个顶点之间有两条边 , 求逆之后 , 两个顶点的两个的两条边分别反向 , 还是相同的两条边 , 如果二者求交集 , 还是存在两条边 , 肯定不是恒等关系 , 恒等关系都是环 ; ( 不符合... -
离散数学:判断任意一个关系是否为函数,若是函数,判定其是否为单射、满射或双射
2020-10-20 11:22:522、对函数的性质进行判断(判断单射、满射和双射); 3、提供判断结果的输出。 代码: #include<string.h> #include<iostream> using namespace std; char *A,*B,*F; int a,b,f; int Judge(c -
【集合论】序关系 : 总结 ( 偏序关系 | 偏序集 | 可比 | 严格小于 | 覆盖 | 哈斯图 | 全序关系 | 拟序关系 ...
2020-10-27 14:23:30一、偏序关系、 二、偏序集、 三、可比、 四、严格小于、 五、覆盖、 六、哈斯图、 七、全序关系 ( 线序关系 )、 八、拟序关系、 九、拟序关系相关定理、 十、偏序关系八种特殊元素、 十一、链、 十二、反链、 十三... -
南邮 | 离散数学实验二:集合上二元关系性质判定的实现
2019-02-08 13:00:24题目:根据某一集合元素以及关系矩阵,判断其满足什么特性,输出满足的特性,再求此集合的闭包。 举例:以集合{1,2,3,4}为例。关系矩阵为:[[1,0,1,0],[0,1,0,0],[1,0,1,1],[0,0,1,1]]。 程序代码 //集合 A = {1,2... -
离散数学:用C语言来判断集合存在的二元关系
2018-06-26 22:26:32用C语言来判断是否满足自反,反自反,非自反,对称,反对称,非对称和传递性也不知道写的对不对。没有大量验证,但是随便找的一些关系测试的没毛病,如果错了,欢迎各位大佬留言#include<bits/stdc++.h&... -
如何判断关系是否自反,反自反,对称,反对称,传递
2019-06-19 11:10:23首先,求出关系的关系矩阵,即布尔逻辑0、1矩阵。 例如,集合A={1,2,5,8,12,16} R是整除关系。 那么我们写成关系矩阵。 关系矩阵 M= 1 1 1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 R={&... -
线性变换的矩阵表示——线性变换对角化和其矩阵对角化的关系
2020-10-06 23:28:43可对角化的线性变换的提出背景 可对角化的线性变换的定义 定理1:线性变换可对角化...存在一组基,使得线性变换A‾\underline{A}A在这组基下的矩阵为对角阵 ⟺ \iff⟺ AAA的等价类中存在对角阵,即AAA可对