[发明专利]一种连续1矩阵的转换方法在审
申请号: | 201710555463.8 | 申请日: | 2017-07-10 |
公开(公告)号: | CN107329937A | 公开(公告)日: | 2017-11-07 |
发明(设计)人: | 黄波士;刘丽彦;吕雪岭;吕晓燕 | 申请(专利权)人: | 吕雪岭 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 连续 矩阵 转换 方法 | ||
技术领域
本发明涉及一种连续1矩阵的转换方法,更具体的说,尤其涉及一种的连续1矩阵的转换方法。
背景技术
0/1矩阵为一个矩阵,其元素只能为0或者为1。具有连续1特性的0/1 矩阵为一个0/1矩阵,且矩阵中每行的所有1是连续的。本文献中把具有连续1特性的0/1矩阵简称为连续1矩阵。现有的连续1矩阵相关方法存在只支持检测而不支持转换的问题。
文献1:J.Tan and L.Zhang.The consecutive ones submatrix problem for sparsematrices.Algorithmica,48(3):287-299,2007。证明了给定一个0/1矩阵,从中提取出最大的一个子矩阵,使得这个子矩阵是连续1 矩阵是一个NP问题。文献1还提出一个近似算法,该算法能在多项式时间内提取一个极大的子矩阵,使得这个子矩阵是连续1矩阵。这个方法是多项式时间的,并且在只有两行三列的矩阵上的近似度是0.8。然而文献1所提出的方法只适用于非常小的矩阵。
文献2:K.S.Booth and G.S.Lueker,Testing of the Consecutive Ones Property,Interval graphs,and Graph Planarity Using PQ-Tree Algorithms,J.Comptr.Syst.Sci.13,3(1976),335-379。提出了一个能在线性时间内检测一个0/1矩阵是不是连续1矩阵的算法。该算法利用了PQ树。然而该算法非常复杂,很难实现。
文献3:W.-L.Hsu.A simple test for the consecutive ones property. J.Algorithms,43(1):1-1 6,2002。提出了一个新的能在线性时间内检测一个0/1矩阵是不是连续1矩阵的算法。该算法基于行分割的方法。每一个分割段内的行允许列重排序后满足连续1特性。然而,该方法只支持连续1矩阵的检测,而不支持将一个非连续1矩阵转换为一个连续1矩阵。
发明内容
本发明为了克服上述技术问题的缺点,提供了一种连续1矩阵的转换方法。
本发明的连续1矩阵的转换方法,其特征在于,转换方法为:首先将待转换的矩阵按照“含有1多的行在前、含有1少的行在后”的方法进行排序,然后以待转换矩阵的首行为参照,在其余各行中筛选出与首行不存在1元素所在行列为相同列的行,并将筛选出的行与首行组成新矩阵;然后,将待转换矩阵中已选出的行去除,对剩余的行继续按照前述方法进行刷选,直至待转换矩阵为空;最后,按照后一次形成的新矩阵放到前一次新矩阵右下角且空缺位用0填充的方式形成转换后的连续1矩阵。
本发明的连续1矩阵的转换方法,依次通过以下步骤来实现:
a).矩阵排序,待转换的0/1矩阵记为M,矩阵M的行元素和列元素数目均为n;将M的行根据其含有1的数目进行排序,含有1多的行在前、含有1少的行在后;排序后的矩阵仍记为M,如下所示:
b).标记含1最多的行,含有1元素最多的行记为r,则r=M[0],M[0] 表示矩阵M的第0行;由r构成的矩阵记为R,则R=[r];
c).判断1所在列是否存在交集,检查M的第1行至最后一行,记当前行为M的第i行,即M[i];判断M[i]中1所在的列与R中各行的1所在的列是否不存在交集,如果不存在交集,则将M[i]作为新的一行加入矩阵R;
d).判断每行的1是否连续,判断矩阵R中每行中的1是否连续,如果不连续,则通过对调相应的列达到矩阵R中每行中的1连续的目的,并对对调操作进行记录;
e).矩阵串联,令矩阵K=K串联R,K的初始值为空,K串联R的含义为把R放到K的右下角,空缺位用0补齐;
f).去除已添加行,将矩阵M中添加至矩阵K中的行去除,即令 M=M-R;执行步骤g);
g).判断矩阵是否为空,判断矩阵M是否为空,如果为空,则矩阵K即为M转换后的连续1矩阵,如果M不为空,则执行步骤b)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吕雪岭,未经吕雪岭许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710555463.8/2.html,转载请声明来源钻瓜专利网。