【记得交作业】波波离散实验报告四(python实现)

本文介绍了如何在计算机中表示二元关系并判断其等价性,包括自反性、对称性和传递性的验证。通过实例演示了如何使用代码实现等价关系的检测,并对求商集的原理提供初步理解。适合初学者理解关系论在编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验名称二元关系及其性质

实验目的和要求

掌握二元关系在计算机上的表示方法,并掌握如果判定关系的性质。

实验内容:

实验四 二元关系及其性质

编程判断一个二元关系是否为等价关系,如果是,求其商集。

等价关系:集合A上的二元关系R同时具有自反性、对称性和传递性,则称R是A上的等价关系。

【实验原理和方法】

(1)A上的二元关系用一个n×n关系矩阵R=表示,定义一个n×n数组r[n][n]表示n×n矩阵关系。

(2)若R对角线上的元素都是1,则R具有自反性。

思路:使用flag标记,符合等价关系值为1.

实验心得:

我只会判断一个关系是否为等价关系,求商集的原理还没有特别理解,希望大家能够帮忙补充!感谢!!!

代码如下:

mat=[]
n=int(input('输入阶数:'))
for i in range(n):
    mat.append(input('第{}行'.format(i+1)).split())
#自反
zifan=1
for i in range(n):
    if mat[i][i]!=1:
        zifan=0
#对称
duichen=1
for i in range(n):
    for j in range(n):
        if mat[i][j]!=mat[j][i]:
            duichen=0
#传递
chuandi=1
for i in range(n):
    for j in range(n):
        for k in range(n):
            if mat[i][j]==1 and mat[j][k]==1 and mat[i][k]!=1:
                chuandi=0
if zifan==duichen==chuandi==1:
    print('是等价关系!')

else:
    print('不是等价关系!')

运行结果如下:

 代码可能存在借鉴,侵删!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值