精华内容
下载资源
问答
  • //分别将自反性、对称性传递性的编号为Func1、Func2,Func3。 #include <iostream> #include <cstring> #include <fstream> using namespace std; const int LEN = 140...
    暂时当草稿存放在这里,后面再补充
    
    
    //分别将自反性、对称性、传递性的编号为Func1、Func2,Func3。
    #include <iostream>
    #include <cstring>
    #include <fstream>
    using namespace std;
    
    const int LEN = 140 + 10;
    int arr[LEN][2+10];      //存储集合元素
    int relation[LEN][LEN];  //关系矩阵
    int nnn; //集合元素个数
    int num; //集合关系个数
    void Func1();
    void Func2();
    void Func3();
    
    int main()
    {
     //   freopen("datain.txt", "r", stdin);
        cout << "请输入集合中的元素个数 : " << endl;
        cin >> nnn;
        cout << "请输入集合中的关系个数 : " << endl;
        cin >> num;
        cout << "集合中一共有" << num << "对关系" << "," << num*2 <<"个元素(请以整数形式输入) : " << endl;
        memset(arr, 0, sizeof(arr));   //用数组做参数传递给标准函数memset(),以让其将数组设置成全0:
        memset(relation, 0, sizeof(relation)); //这里不懂得话可以参考https://blog.csdn.net/qq_37796444/article/details/80181632
        int num1, num2;
        for(int i = 1; i <= num; i++)
        {
            cin >> num1 >> num2;
            arr[i][1] = num1;
            arr[i][2] = num2;
            relation[num1][num2] = 1;
        }
    
        cout << "输出关系矩阵 : " << endl;
        for(int i = 1; i <= nnn; i++)
        {
            for(int j = 1; j <= nnn; j++)
            {
                cout << relation[i][j] << "     ";
            }
            cout << endl;
        }
        cout << endl;
    
        cout << "判断结论 : " << endl;
        //判断是否满足自反性
        Func1();
        //判断是否满足对称性
        Func2();
        //判断是否满足传递性
        Func3();
        return 0;
    }
    
    void Func1()   //判断是否满足自反性
    {
        bool flag = true;
        for(int i = 1; i <= nnn; i++)
        {
            if(relation[i][i] != 1)
            {
                flag = false;
                break;
            }
        }
        if(flag == true)
        {
            cout << "满足自反性" << endl;
        }
        else
        {
            cout << "不满足自反性" << endl;
        }
    }
    
    void Func2()  //判断是否满足对称性
    {
        bool flag = true;
        for(int i = 1; i <= nnn; i++)
        {
            for(int j = 1; j <=nnn; j++)
            {
                if(relation[i][j] != relation[j][i])
                {
                    flag = false;
                }
            }
        }
        if(flag == true)
        {
            cout << "满足对称性" << endl;
        }
        else
        {
            cout << "不满足对称性" << endl;
        }
    }
    
    void Func3()  //判断是否满足传递性
    {
        bool flag = true;
        for(int i = 1; i <= num - 1; i++)  //num表示关系个数
        {
            for(int j = 2; j <= num; j++)
            {
                if(arr[i][2] == arr[j][1])   //arr数组表示存储集合元素
                {
                    int num1 = arr[i][1], num2 = arr[j][2];
                    if(relation[num1][num2] != 1)
                    {
                        flag = false;
                        break;
                    }
                }
            }
            if(flag == false)
                break;
        }
        if(flag == true)
        {
            cout << "满足传递性" << endl;
        }
        else
        {
            cout << "不满足传递性" << endl;
        }
    }
    

    展开全文
  • 集合论—关系的自反、对称和传递闭包

    万次阅读 多人点赞 2019-06-21 21:52:33
    关系的自反、对称和传递闭包定义 设R\text{R}R是非空集合AAA上的关系,R\text{R}R的自反(对称传递)闭包是AAA上的关系R′\text{R}&#x27;R′,且R′\text{R}&#x27;R′满足以下条件: R′\text{R}&#...
    关系的自反、对称和传递闭包定义

    R \text{R} R是非空集合 A A A上的关系, R \text{R} R的自反(对称、传递)闭包是 A A A上的关系 R ′ \text{R}&#x27; R,且 R ′ \text{R}&#x27; R满足以下条件:

    1. R ′ \text{R}&#x27; R是自反(对称、传递)的
    2. R ⊆ R ′ \text{R}\subseteq\text{R}&#x27; RR
    3. A A A上的任何包含 R \text{R} R的自反(对称、传递)关系 R ′ ′ \text{R}&#x27;&#x27; R都有 R ′ ⊆ R ′ ′ \text{R}&#x27;\subseteq\text{R}&#x27;&#x27; RR

    一般将 R \text{R} R的自反闭包(reflexive)记作 r ( R ) r(\text{R}) r(R),对称闭包(symmetry)记作 s ( R ) s(\text{R}) s(R),传递闭包(transfer)记作 t ( R ) t(\text{R}) t(R)

    构造 A A A上关系的 R R R

    R R R为非空集合 A A A上的关系,则有定理:

    1. r ( R ) = R ∪ R 0 r(R) = R\cup R^0 r(R)=RR0
    2. s ( R ) = R ∪ R − 1 s(R) = R\cup R^{-1} s(R)=RR1
    3. t ( R ) = R ∪ R 2 ∪ R 3 ∪ . . . t(R) = R\cup R^2 \cup R^3 \cup ... t(R)=RR2R3...

    例:设 A = { a , b , c , d } A=\{a,b,c,d\} A={a,b,c,d} R = { &lt; a , b &gt; , &lt; b , a &gt; , &lt; b , c &gt; , &lt; c , d &gt; } R=\{&lt;a,b&gt;,&lt;b,a&gt;,&lt;b,c&gt;,&lt;c,d&gt;\} R={<a,b>,<b,a>,<b,c>,<c,d>},则 R R R r ( R ) 、 s ( R ) 、 t ( R ) r(R)、s(R)、t(R) r(R)s(R)t(R)如图所示:
    R : R: R:

    a
    b
    c
    d

    r ( R ) : r(R): r(R):节点作圈

    自反
    自反
    自反
    自反
    a
    b
    c
    d

    s ( R ) : s(R): s(R):节点互逆

    对称
    对称
    a
    b
    c
    d

    t ( R ) : t(R): t(R):首尾连接

    传递
    传递
    传递
    传递
    传递
    a
    b
    c
    d

    R R R的关系矩阵为 M M M,相应的自反、对称、传递闭包的矩阵为 M r M_r Mr M s M_s Ms M t M_t Mt,将以上三条定理公式转化为矩阵表示。即得:

    1. M r = M + E M_r = M+E Mr=M+E
    2. M s = M + M ′ M_s = M+M&#x27; Ms=M+M
    3. M t = M + M 2 + M 3 + . . . M_t = M + M^2 + M^3+... Mt=M+M2+M3+...

    其中 E E E为同阶单位矩阵, M ′ M&#x27; M M M M的转置

    例:设 A = { a , b , c , d } A=\{a,b,c,d\} A={a,b,c,d} R = { &lt; a , b &gt; , &lt; b , a &gt; , &lt; b , c &gt; , &lt; c , d &gt; } R=\{&lt;a,b&gt;,&lt;b,a&gt;,&lt;b,c&gt;,&lt;c,d&gt;\} R={<a,b>,<b,a>,<b,c>,<c,d>},则 M r 、 M s 、 M t M_r、M_s、M_t MrMsMt如下所示:

    M r = [ 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 ] + [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] = [ 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 ] M_r=\begin{bmatrix} 0 &amp; 1 &amp; 0 &amp; 0 \\ 1 &amp; 0 &amp; 1 &amp; 0 \\ 0 &amp; 0 &amp; 0 &amp; 1 \\ 0 &amp; 0 &amp; 0 &amp; 0 \\ \end{bmatrix} + \begin{bmatrix} 1 &amp; 0 &amp; 0 &amp; 0 \\ 0 &amp; 1 &amp; 0 &amp; 0 \\ 0 &amp; 0 &amp; 1 &amp; 0 \\ 0 &amp; 0 &amp; 0 &amp; 1 \\ \end{bmatrix} = \begin{bmatrix} 1 &amp; 1 &amp; 0 &amp; 0 \\ 1 &amp; 1 &amp; 1 &amp; 0 \\ 0 &amp; 0 &amp; 1 &amp; 1 \\ 0 &amp; 0 &amp; 0 &amp; 1 \\ \end{bmatrix} Mr=0100100001000010+1000010000100001=1100110001100011 M s = [ 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 ] + [ 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 ] = [ 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 ] M_s=\begin{bmatrix} 0 &amp; 1 &amp; 0 &amp; 0 \\ 1 &amp; 0 &amp; 1 &amp; 0 \\ 0 &amp; 0 &amp; 0 &amp; 1 \\ 0 &amp; 0 &amp; 0 &amp; 0 \\ \end{bmatrix} + \begin{bmatrix} 0 &amp; 1 &amp; 0 &amp; 0 \\ 1 &amp; 0 &amp; 0 &amp; 0 \\ 0 &amp; 1 &amp; 0 &amp; 0 \\ 0 &amp; 0 &amp; 1 &amp; 0 \\ \end{bmatrix} = \begin{bmatrix} 0 &amp; 1 &amp; 0 &amp; 0 \\ 1 &amp; 0 &amp; 1 &amp; 0 \\ 0 &amp; 1 &amp; 0 &amp; 1 \\ 0 &amp; 0 &amp; 1 &amp; 0 \\ \end{bmatrix} Ms=0100100001000010+0100101000010000=0100101001010010 M t = [ 0 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 ] + [ 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 ] + [ 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 ] = [ 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 ] M_t=\begin{bmatrix} 0 &amp; 1 &amp; 0 &amp; 0 \\ 1 &amp; 0 &amp; 1 &amp; 0 \\ 0 &amp; 0 &amp; 0 &amp; 1 \\ 0 &amp; 0 &amp; 0 &amp; 0 \\ \end{bmatrix} + \begin{bmatrix} 1 &amp; 0 &amp; 1 &amp; 0 \\ 0 &amp; 1 &amp; 0 &amp; 1 \\ 0 &amp; 0 &amp; 0 &amp; 0 \\ 0 &amp; 0 &amp; 0 &amp; 0 \\ \end{bmatrix} + \begin{bmatrix} 0 &amp; 1 &amp; 0 &amp; 1 \\ 1 &amp; 0 &amp; 1 &amp; 0 \\ 0 &amp; 0 &amp; 0 &amp; 0 \\ 0 &amp; 0 &amp; 0 &amp; 0 \\ \end{bmatrix} = \begin{bmatrix} 1 &amp; 1 &amp; 1 &amp; 1 \\ 1 &amp; 1 &amp; 1 &amp; 1 \\ 0 &amp; 0 &amp; 0 &amp; 1 \\ 0 &amp; 0 &amp; 0 &amp; 0 \\ \end{bmatrix} Mt=0100100001000010+1000010010000100+0100100001001000=1100110011001110

    展开全文
  • ua中对table的排序一般是用lua自带的table.sort()函数排序,一般采用自己写的排序的方式,以下来说一说 table.sort()排序在工作中遇到的问题  1.排序的方式 table.sort(tbl,function(a,b) return a > b...

    ua中对table的排序一般是用lua自带的table.sort()函数排序,一般不采用自己写的排序的方式,以下来说一说

    table.sort()排序和在工作中遇到的问题 

    1.排序的方式

    table.sort(tbl,function(a,b)
            return a > b
    end)

    以上是一个简单的例子,得到的效果是对于待排序的数据的一个升序,你这样认为就是错了,例如a和b是一个样

    的,返回的是false,是一个不严格的升序,严格的说可以是一个非降序排列。 
    对于lua中的排序,最好是用lua自带的函数,不要自己造轮子,自己写一个排序的函数

    在排序的时候应该是严格弱序,用小于关系。

    正确的排序应该满足的条件,才能得到结果 
    1)反自反性

    cmp(a, a) === false

    就是在写的排序的实现中,自己和自己比较,要永远是false 
    2)非对称性

     cmp(a, b) == true ==> cmp(b, a) == false

    就是a和b比较得到的是true,那么b和a比较得到的就是false,否则就不成立 

    3)传递性

    cmp(a, b) == true && cmp(b, c) == true ==> cmp(a, c) == true

    不可比的传递性 

    就是说a和b之间成立,b和c之间成立,那么a和c之间也要成立,才能达到传递性

    如cmp(a,b) 
    a == b + 1 这个就是不成立的 
    如果存在这样的cmp(a, b) == true && cmp(b, c) == true,那么就假设a = 2,b = 1,c = 0 
    但是cmp(a, c)就不成立了,所以这个排序是不能成功的

    注:table.sort(list,function(a,b) 
    end)在这里面不需要去判断a,b是否存在,他们是一定存在的,它是list中的数据,所以一定是存在的。

    二:多个条件的比较 
    在一些需求当中,比较的数据不是一个,是组合的形式出现的,先是比较字段a,如果相等再比较字段b,那么在

    处理这样的实例当中,有以下的几种方式 
    1)

    function(a, b)    
      return a.level > b.level or 
      a.level == b.level and a.exp > b.exp
    end

    2)

    function(a, b)    
    if a.level == b.level then
        return a.exp > b.exp
    end
        return a.level > b.level
    end

    3)

    function(a, b)
        if a.level ~= b.level then
            return a.level > b.level
        end
        return a.exp > b.exp
    end

    这三种方法当中,第三种是最好的,因为它具有很大的延展性,如果以后比较的是三个或者是三个以上的字段,那么直接在后面添加就是,第二种的话,就是要倒序的去比较,讲比较的字段分成比较的先后顺序为1,2,3,4.那么按照第二种的话,就先去判断4是否相等,然后依次是3,2是否相等。不好理解

    三:排序与最值 
    对于不同的排序方式,算法得到的效果不同,那么就要考虑一下算法的复杂度。 
    任意table 线性查找最值 O(n) 
    排序 O(nlgn) 
    只需要最值且数组规模不小的时候不排序

    四:多次排序 
    由于在现实的例子中,可能对于要排序的条件不止一个,是两个或者是两个以上的时候,需要在一个函数中,一

    次性排完。 
    排序的稳定性: 
    快排不具备稳定性,所以不可以按照条件顺序多次排序 
    多次排序效率也不高




    展开全文
  • 自反性对称传递性

    千次阅读 2020-12-11 23:19:52
    说明R1具有自反.R2是反自反的。 R1即是对称的,又是反对称的。 R3={<1,1>,<1,2>,<2,1>} R4={<2,1>,<3,2>} 对称的逆就是反对称。(<x,y>与<y,x>为对称,如果一个...

    A={1,2,3}

    R1={<1,1>,<2,2>,<3,3>}

    R2={<1,3>}

    说明R1具有自反性.R2是反自反的。

    R1即是对称的,又是反对称的。

    R3={<1,1>,<1,2>,<2,1>}

    R4={<2,1>,<3,2>}

    对称的逆就是反对称。(<x,y>与<y,x>为对称,如果一个集合中只包括不同的<x,y>且没有<y,x>为反对称)

    R3是对称的。R4反对称。

    传递性与非传递性是互斥的。

    xRy ,yRz 存在关系<x,z>就是传递的。不存在就是非传递的。

    R4是传递的。

     

     

     

    展开全文
  • 传递性 该网站还为您提供了查看动画的选项,该动画可以很好地说明关系为何遵循该特定属性,或者为什么它遵循该特定属性。 该Web应用程序位于URL上: 建于 使用了以下内容: HTML5 CSS3 JAVASCRIPT 部署有: ...
  • Determine-the-nature-of-the-set-of-binary-relations 对任意二元关系集合,判定其是否具有自反性、对称性传递性、反对称性、反自反性,如果具有某些性质,需输出至少一个反例
  • 一、关系闭包 、 二、自反闭包 、 三、对称闭包 、 四、传递闭包 、
  • 关系的自反、对称传递,简单的代码。可以正常的运行,是课上的实验作业
  • 采用对称传递关系构建拓扑并研究其可数。基于对称传递关系,定义粗糙集近似集,由此建立拓扑及内部、闭包;针对构建拓扑,确立基与邻域基,得到第二可数、第一可数、可分、林德洛夫等可数特征;提供实例...
  • 离散数学-关系,集合,求自反闭包,对称闭包,传递闭包 离散数学-关系,集合,求自反闭包,对称闭包,传递闭包 离散数学-关系,集合,求自反闭包,对称闭包,传递闭包 离散数学-关系,集合,求自反闭包,对称闭包...
  • 本程序验证集合内的等价关系 检验是否满足自反关系 检验是否满足对称关系 检验是否满足传递关系
  • 学会用C语音编写自反闭包,对称闭包,传递闭包,加深对关系运算的理解。
  • 传递性传递性

    千次阅读 2019-06-24 16:27:32
    传递性: 数学逻辑学上定义: 若 ,其中 为某种关系运算符。 则: 表述: 若x,y,z∈R,x关系到y,y关系到z,则x关系到z.称为具有传递性。 e.g.: 若a,b,c∈R,且a=b,b=c,则a=c,就称为有传递性。 非传递性: 我认识...
  • /****************对称性判断****************/ for(i=0;i;i++)  for(j=0;j;j++)  { if(i==e-1) { printf("关系A是对称的\n"); goto exit0; } if(u[i][j]==0&&u[j][i]==1) goto ...
  • 判断二元关系是否传递对称

    千次阅读 2018-08-08 21:10:57
    "该二元关系对称\n" ); c= 0 ; for (j= 0 ;j;j++) for (i= 0 ;i;i++) if (!(b[j][i]== 1 &&b[i][j]== 1 )) c++; if (c==(n *n -n)/ 2 ) printf ( "该二元关系反对称\n" );c= 0 ; for (j= 0 ;j;j++) for (i= ...
  • 关系的求逆与闭包关系的求逆关系求逆运算的性质关系的闭包如果R满足某关系,但是R'满足闭包的计算方法 关系的求逆 R是A到B的关系,Rc(R−1)={<y,x>∣<x,y>∈R} R是A到B的关系,R^c(R^{-1})=\{<y,x&...
  • 判断是否输入的矩阵是否为方阵,在是方阵的基础上判断是否具有对称性,反对称性和自反性。 对称矩阵:一个方形矩阵,其转置矩阵和自身相等。 对称矩阵是指以主对角线为对称轴,各元素对应相等的矩阵。用线性代数书上...
  • 做模糊聚类分析时判断模糊矩阵传递性并计算传递闭包MATLAB实现,,可以算出模糊传递矩阵,当矩阵满足自反性对称性时为等价矩阵
  • 对称性原理

    2020-10-20 12:05:14
    一切物理现象都发生在时空之中,时空的对称性必然会影响物理现象的特性。宇宙学原理 对称性(C1): 宇宙空间...2.无论在何种惯性系(惯性参照系)中观察,光在真空中的传播速度都是一个常数,随光源观察者所在参...
  • #include#include#includeusing namespace std;class Relation{ int p[20][20];public: Relation() { for(int i=0;i for(int j=0;j p[i][j]=0; } Relation (char *a) { for(int i=0...//分别用来临时记录关系
  • 自反、对称传递

    千次阅读 2016-04-19 21:41:37
    假设集合A,以及基于A上的关系R 自反: 如果a是A的元素,那么,a>是R的元素 反自反:如果a是A的元素,那么,a>不是R的元素 对称: 如果,b>是R的元素,那么,a>是R的元素 反对称:如果,b>,,a>是R的元素,那么a,b相等...
  • 应用Fourier展开Hankel变换,求解了弹性饱和多孔介质...用传递矩阵方法处理了弹性饱和多孔介质半空间非轴对称动力问题,把边界上的应力位移与介质内的应力位移用传递矩阵联系起来,这种处理方法特别适用于数值分析.
  • 如何判断关系是否自反,反自反,对称,反对称,传递

    万次阅读 多人点赞 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={&...
  • 我们把关系R的闭包称作R‘,自反,(对称)(传递)闭包就是能满足该自反(对称传递)性质的关系R的最小扩充。 r(R):自反闭包 r:reflexive  s(R):对称闭包 s:symmetry t(R):传递闭包 t:transfer ...
  • 离散数学:编程求一个关系的闭包 实现语言:java package 离散数学; import java.util.Scanner; public class Work5 { public static void main(String[] args) { System.out.println("请输入集合A...
  • 在本文中,我们研究了新发现的Arnold-Beltrami通量-Bane... 这样的对称群Γ被传递到在规范/重力对应关系中出现的麸皮世界体积上的D = 3规范理论。 此外,我们说明了两臂解决方案中的规范通量与D = 4拓扑sigma模型中的超
  • Wrashall算法,自反性,对称性的实现

    千次阅读 2018-05-19 23:09:30
    如:自反性,对称性传递性以及Wrashall算法,下面将用Java实现 一.处理二元关系的类(ArraysSetOperation): public class ArraysSetOperation { private int[][] array; private int[][] array2 = new int...
  • 首先对平面图形的对称进行分析利用其对称群进行量化,进而将此推广到考察一般图的广义“对称性”与图自同构群的关系,最后刻画了无平方因子阶局部本原弧传递图的自同构群结构.
  • 若R1R2是传递的,则R1°R2也是传递的,如何证明? 反例, R1={<2,1>,<1,3>,<2,3>},R2={<1,3>,< 3.2>,<1,2>}, R1οR2 ={<2,3>,<... 所以无传递性 ...
  • 具体代码如下 1 #include<iostream> 2 using namespace std; 3 4 void Input(int a[25][2],int s) 5 { 6 int i; 7 8 for (i = 0; i < s; i++) 9 { 10 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,555
精华内容 13,022
关键字:

关系的对称性和传递性