python计算可达矩阵

从别人那里看到的,原代码貌似有些问题,修改了一下

matrix = [[0, 0, 1, 0, 0, 0, 0, 0, 0],[0, 0, 1, 1, 0, 0, 0, 0, 0],[0, 0, 0, 0, 1, 0, 0, 0, 0],[0, 0, 0, 0, 1, 1, 0, 0, 0],[0, 0, 0, 0, 0, 0, 1, 0, 0],[0, 0, 0, 0, 0, 0, 1, 1, 0],[0, 0, 0, 0, 0, 0, 0, 0, 1],[0, 0, 0, 0, 0, 0, 0, 0, 1],[0, 0, 0, 0, 0, 0, 0, 0, 0]]def get_reach_matrix(matrix):'''@description: 从邻接矩阵获得可达矩阵@matrix {list} list列表形式的矩阵,因此需要np.mat将其转化为矩阵 @return: 01形式的可达矩阵@usage: matrix = [[0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 1, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0],[0, 0, 0, 0, 1, 1, 0, 0, 0],[0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1],[0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0]]get_reach_matrix(matrix)'''import numpy as npA = np.mat(matrix)I = np.identity(len(A))newMat = A+IoldMat = newMatflag = 0step = 1while flag == 0:oldMat = newMatnewMat = oldMat*(A+I)for i in range(len(newMat)):for j in range(len(newMat)):if newMat[i, j] >= 1:newMat[i, j] = 1step += 1print(step)if (oldMat == newMat).all():flag = 1print(newMat, step)get_reach_matrix(matrix)

输出:

2
3
4
5
[[1. 0. 1. 0. 1. 0. 1. 0. 1.][0. 1. 1. 1. 1. 1. 1. 1. 1.][0. 0. 1. 0. 1. 0. 1. 0. 1.][0. 0. 0. 1. 1. 1. 1. 1. 1.][0. 0. 0. 0. 1. 0. 1. 0. 1.][0. 0. 0. 0. 0. 1. 1. 1. 1.][0. 0. 0. 0. 0. 0. 1. 0. 1.][0. 0. 0. 0. 0. 0. 0. 1. 1.][0. 0. 0. 0. 0. 0. 0. 0. 1.]] 5

python从邻接矩阵计算可达矩阵,复制即用相关推荐

  1. matlab可达矩阵 结果,matlab求可达矩阵

    matlab中可达矩阵的计算 2页 1下载券 邻接矩阵的可达矩阵及层... 2页 2下载券 邻接矩阵的一种计算方法 7页 免费 ISM算法(邻接矩阵求可达... 暂无...... JAVA矩阵算法代码 ...

  2. MATLAB及PYTHON飞行动力学矩阵计算教程

    MATLAB及PYTHON飞行动力学矩阵计算教程 张量的飞行动力学 课程英文名:Flight Dynamics with Tensors 此视频教程共4.0小时,中英双语字幕,画质清晰无水印,源码附件 ...

  3. python下的所有文件_python批量复制文件夹下所有文件大小

    python复制文件夹下所有文件 Python---进阶---文件操作---获取文件夹下所有文件的数量和大小 一.####编写一个程序,统计当前目录下每个文件类型的文件数 ####思路: - 打开当前 ...

  4. 神经网络隐藏层个数怎么确定_含有一个隐藏层的神经网络对平面数据分类python实现(吴恩达深度学习课程1第3周作业)...

    含有一个隐藏层的神经网络对平面数据分类python实现(吴恩达深度学习课程1第3周作业): ''' 题目: 建立只有一个隐藏层的神经网络, 对于给定的一个类似于花朵的图案数据, 里面有红色(y=0)和 ...

  5. WarShall算法求传递闭包(可达矩阵)

    最近在复习离散数学,顺便记录记录自己对warshall算法的理解. 1.传递闭包(可达矩阵) 传递闭包是有向图的一个重要性质,它指的是在有向图中从任意一个节点出发,可以到达的所有节点的集合.在某些应用 ...

  6. k均值算法python实现(吴恩达机器学习作业)

    k均值算法python实现(吴恩达机器学习作业) 题目要求 数据集 读取mat文件 K-means 实现 结果 问题 题目要求 采用K均值算法对样本进行聚类. 编写K均值算法源代码,对ex7data2 ...

  7. python将txt文件转化为矩阵_python 读文件,然后转化为矩阵的实例

    代码流程: 1. 从文件中读入数据. 2. 将数据转化成矩阵的形式. 3. 对于矩阵进行处理. 具体的python代码如下: - 文件路径需要设置正确. - 字符串处理. - 字符串数组到 整型数组的 ...

  8. Word处理控件Aspose.Words功能演示:使用 Python 将 Word 文档的内容复制到另一个文档

    在各种情况下,您可能需要将 Word 文档的内容复制到另一个文档中.此外,您可能需要创建原始 Word 文档的克隆.为了自动化这些操作,本文介绍了如何在 Python 中将内容从一个 Word 文档复 ...

  9. 【Python学习笔记】多个矩阵点乘和叉乘

    [Python学习笔记]多个矩阵点乘和叉乘 一.定义 二.代码实现 一.定义 点乘,对应元素相乘,点乘对象的行数必须相等,且前者的列数必须与后者相等,或为1,具有广播机制. 叉乘,前者的列数必须和后者 ...

  10. Cris 的 Python 数据分析笔记 04:NumPy 矩阵的复制,排序,拓展

    04. 矩阵的复制,排序,拓展 文章目录 04. 矩阵的复制,排序,拓展 1. NumPy 的引用问题 2. 浅复制 3 深复制 4. 索引求最值 5. title 扩展 6. sort 排序 1. ...

最新文章

  1. 公开课 | 微信高级研究员解析深度学习在NLP中的发展和应用
  2. P1972 [SDOI2009]HH的项链(离线树状数组)
  3. python使用阿里云sdk
  4. python练习题:使用循环和函数实现一个摇骰子小游戏
  5. Go线程安全:我们不用考虑同步的问题 不用考虑数据污染的情况
  6. 区域数据导入功能(OCUpload插件使用)
  7. graphpad7.04多组比较p值_同是折线图为何你却这么优秀,这才是多组数据作图应该有的样子...
  8. 童话世界区块宠物源码
  9. 从源码安装mysql_从源代码安装mysql
  10. 简单-三层-存储过程-增删改《一》
  11. 谷歌研究员发现新的 iOS 安全系统
  12. 【C语言数据结构7】--串的实现
  13. 【工具】多人在线协同编辑文档软件
  14. intel收购Altera
  15. CSS 背景位置 background-position属性
  16. python绘画海贼王_入门级项目实战,Python生成海贼王云图!
  17. 如何在手机上拍摄专业证件照片
  18. 什么是 Web 应用防火墙(WAF)?
  19. 最近在搞TAM TIM
  20. java实现简单窗口小游戏“扫雷”

热门文章

  1. 什么是javaEE、javaSE、javaME,这三者区别是什么?
  2. 黑客帝国canvas黑客帝国代码雨特效-A5源码
  3. linux 命令行修改分辨率,Linux命令行(console)屏幕分辨率调整
  4. 沃特玛采集均衡模块_采集均衡模块以及电池管理系统技术方案
  5. P6647 [CCC 2019] Tourism
  6. ZZULIOJ1010
  7. js使用正则表达式验证身份证格式
  8. 无线通信中的IQ调制,BPSK调制,QPSK调制,16QAM调制的理解
  9. PROSAIL模型前向模拟与植被参数遥感提取代码实践
  10. 微软商店无法下载出错问题。