CN108009061A - 一种改变复杂网络中节点控制类别的方法 - Google Patents

一种改变复杂网络中节点控制类别的方法 Download PDF

Info

Publication number
CN108009061A
CN108009061A CN201711261943.XA CN201711261943A CN108009061A CN 108009061 A CN108009061 A CN 108009061A CN 201711261943 A CN201711261943 A CN 201711261943A CN 108009061 A CN108009061 A CN 108009061A
Authority
CN
China
Prior art keywords
node
queue
network
redundant
matching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711261943.XA
Other languages
English (en)
Other versions
CN108009061B (zh
Inventor
张锡哲
李倩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201711261943.XA priority Critical patent/CN108009061B/zh
Publication of CN108009061A publication Critical patent/CN108009061A/zh
Application granted granted Critical
Publication of CN108009061B publication Critical patent/CN108009061B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2263Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Neurology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种改变复杂网络中节点控制类别的方法,方法包括:针对待处理的冗余节点n,获取网络中能够通过交错路径到达冗余节点n的所有未饱和节点;构造以冗余节点n为起点的交错网络;采用最小割算法处理交错网络,获取冗余节点n与交错路径上所有未饱和节点断开时所需要删除的最少边的集合;识别网络中包括冗余节点n的交错环,并基于识别的交错环,确定出破坏交错环所需删除的连边;删除最少边的集合中的所有连边,以及删除确定出的用于破坏交错环所需删除的连边;在网络中选择一条从冗余节点n出发的交错路径,删除选择的交错路径中的一个匹配边,使得冗余节点n转换为输入节点。上述方法极大的降低了转化代价,具有更高的效率。

Description

一种改变复杂网络中节点控制类别的方法
技术领域
本发明涉及网络技术,特别是一种改变复杂网络中节点控制类别的方法。
背景技术
现实生活中许多事物及其之间的关系都可以建模为网络,如社会系统中的人际关系网、科学家协作网、流行病传播网和交通网,生态系统中的神经元网、基因调控网和蛋白质交互网和食物链网络,科技系统中的电话网、因特网和万维网等。对这种日益复杂的网络系统的结构及行为分析是理解其内在规律的前提。要保证这些系统的正常运作,就有必要研究复杂网络的控制。例如,在交通网络中,为尽量避免交通拥塞,可以通过增加道路或拓宽道宽来减缓交通堵塞现象,对哪些道路或路口进行操作才能起到作用?在食物链网络中,物种受环境影响而灭绝影响了食物链的结构,如何来保证生态系统的可持续性?在因特网中,对那些节点施加控制能保证网络的稳定性,调整哪些节点的通信从而维持网络的正常通信状态?社交网络中,选择哪些节点进行信息发布或调控,使得控制消息传播的影响范围?这些都可借助对复杂网络控制的研究来分析。
为了控制复杂网络,需要向网络中的部分节点输入控制信号,通过节点间边的连接,驱动网络的所有节点达到期望的状态,这些用来输入控制信号的节点称为驱动节点。为了完全控制网络所有节点的状态,所需的最少的驱动节点集合称为最小驱动节点集(MIS)。网络的一个MIS可以通过寻找网络的最大匹配来得到。具体的,对于网络任意的最大匹配,未匹配点即为驱动节点。
对一个实际网络G=(V,E),顶点集V,边集E,其节点数为N=|V|,边数为L=|E|。将图G对应的二分图表示为B=(V+,V-,E),对于二分图B的最大匹配M,V-中的未匹配点称为驱动节点,V+中的未匹配点称为未饱和点。由于网络中可能存在多个最大匹配,因此,网络存在多个可能的最小驱动节点集。如果一个节点属于某一个最小驱动节点集,则称其为输入节点;如果一个节点不出现在任何最小驱动节点集,则称其为冗余节点。其中,输入节点是指所有可能驱动节点,驱动节点是指当前最大匹配下的驱动节点。
图1示出了一个简单网络及其节点类别的示意图。图1中,A图为网络拓扑结构图;B图为两个不同的最小驱动节点集示意图,分别为{1,3}和{1,2};C图为节点的控制分类示意图,其中输入节点为{1,2,3},冗余节点为{4}。
上述节点分类在实际网络应用中,具有重要的应用价值。例如,输入节点代表控制信号的可能输入位置,冗余节点表示控制信号在网络中的传递节点。现有工作表明在人类蛋白质交互网络中,冗余节点倾向为癌症的相关基因或药物靶标节点,并且通过改变网络拓扑关系,将冗余节点改变为驱动节点,可能是疾病状态和健康状态转换的关键因素。因此深入研究复杂网络控制中的节点类型转换,具有重要的实际意义。
现有技术中公开了一种网络控制模式转换的问题,即将一个集中控制模式的网络转换为分散控制模式或将一个分散控制模式的网络转换为集中控制模式。其中,集中模式对应网络中绝大多数节点为冗余节点。分散模式对应网络中绝大多数节点为输入节点。具体地,通过将网络中的边全部反向来可以实现模式之间的相互转换。上述网络控制模式转换的方案通过反向特定的一小部分边,甚至是某一条边就可以实现模式转换。但是,如何选择这些特定边,如何找到最少的边,并未给出方法。
另外,现有技术还提出了一种加边的方法,能够改变网络中连通分支中节点的类型。但是,上述加边的方法都是针对网络中的节点集合进行类型改变的,其所需改变的边的个数较多,并且不能针对单个的节点进行类型转换。在某些实际网络中,例如蛋白交互网络,只需要转化某个特定节点的类型,该节点可能与特定的疾病有关,这时就需要找到一种高效的节点类型转化方法。
因此,如何将冗余节点直接转换为其他类型的节点且使得代价最小成为当前亟需解决的问题。
发明内容
针对现有技术中的问题,本发明提供一种改变复杂网络中节点控制类别的方法,该方法通过删除最少数目的边完成冗余节点类型的转换,有效降低了转化代价,具有更高的转化效率。
第一方面,本发明提供一种改变复杂网络中节点控制类别的方法,包括:
步骤101、针对待处理的冗余节点n,获取网络中能够通过交错路径到达冗余节点n的所有未饱和节点;
步骤102、构造以所述冗余节点n为起点的交错网络;
步骤103、采用最小割算法处理所述交错网络,获取所述冗余节点n与所述交错路径上所有未饱和节点断开时所需要删除的最少边的集合;
步骤104、识别所述网络中包括所述冗余节点n的交错环,并基于识别的交错环,确定出破坏所述交错环所需删除的连边;
步骤105、删除最少边的集合中的所有连边,以及删除确定出的用于破坏所述交错环所需删除的连边;
步骤106、在所述网络中选择一条从所述冗余节点n出发的交错路径,删除选择的交错路径中的一个匹配边,使得所述冗余节点n转换为输入节点;
所述网络为所述冗余节点n当前所在的网络。
可选地,所述步骤101包括:
1011、针对所述冗余节点n,获取网络中该冗余节点n的所有非匹配入边,将所有非匹配入边对应的节点加入第一队列C中;
1012、遍历所述第一队列C中的节点,若遍历的节点属于未访问过的未饱和节点,则更新未饱和节点集U、边集合E’、节点集合V’(即属于交错路径上的所有节点集合);1013、若遍历的节点未访问过且不是未饱和节点,则获取该节点的匹配出边对应的节点,将该节点加入到第二队列Q;更新边集合E’、节点集合V’,并更新当前遍历的节点的状态为已访问状态;
1014、遍历完所述第一队列C中的所有节点之后,查看第二队列Q是否为空;
1015、若不为空,则从所述第二队列Q取出一个节点,针对该节点,获取该节点的非匹配入边对应的节点,将所有非匹配入边对应的节点加入所述第一队列C中;
在所述第一队列C不为空时,重复上述遍历所述第一队列C中的节点的步骤,直至所述第一队列C为空。
若第二队列Q不为空,重复1015步,直到第二队列Q为空;
1016、在第一队列C为空,且第二队列Q为空时,所述未饱和节点集U中的所有节点即为网络中通过交错路径到达冗余节点n的所有未饱和节点;
其中,遍历所述第一队列C和所述第二队列Q中的节点时,若遍历的节点为所述冗余节点n的匹配入边对应的节点,则不处理;
若遍历的节点的状态为已访问状态,则更新边集合E’。
可选地,所述步骤102包括:
1021、增加一个虚拟节点t;
1022、基于所述虚拟节点t,更新节点集合V’;
1023、基于所述虚拟节点t,和所述未饱和节点集U中的所有未饱和节点,更新所述边集合E’;
1024、将所述冗余节点n的匹配入边对应的节点作为交错网络的源节点;构造该源节点到虚拟节点t的有向网络G’,该有向网络作为交错网络;
其中,所述交错网络中与所述虚拟节点直接关联的所有边的边权重为无穷大。
可选地,所述步骤103包括:
1031、针对上述所构造的有权重的交错网络,采用最小割算法处理所述交错网络,获取所述交错网络中需要删除的最少的边;
1032、将所述交错网络中需要删除的最少的边转化为所述网络中的边,将转化后的边作为所述冗余节点n与所述交错路径上所有未饱和节点断开时所需要删除的最少边。
可选地,所述步骤104包括:
1041、将所述冗余节点n的匹配入边对应的节点加入第二队列Q;
1042、从所述第二队列Q中取出一个节点,查找该节点的所有非匹配出边对应的节点,将查找的节点加入第一队列C;
1043、若第一队列C不为空,则遍历所述第一队列C中的节点,若正在遍历的节点的状态为未访问状态,则查找该节点的匹配入边,将查找的该节点的匹配入边对应的节点加入到第二队列Q,并将该节点的状态更新为已访问状态;
1044、遍历完所述第一队列C中的所有节点之后,查看所述第二队列Q是否为空;
1045、在所述第二队列Q不为空时,重复上述遍历所述第二队列Q中节点的步骤,直至所述第一队列C和第二队列Q均为空,
其中,若正在遍历的节点的状态为已访问状态,则不处理;若正在遍历的节点为所述冗余节点,则根据所述冗余节点和正在遍历的节点的连边作为确定出的破坏所述交错环所需删除的连边。
可选地,所述步骤A还包括:
采用最大匹配算法确定当前网络中的最大匹配;
基于确定的最大匹配,所述网络中的输入节点、未饱和节点,冗余节点均是对应所述最大匹配的节点;
所述匹配入边、匹配出边均是对应所述最大匹配的连边。
可选地,遍历第一队列C中所有节点之后,处理第二队列Q中的一个节点;
对第二队列Q中一个节点处理完成之后,则遍历所述第一队列C中所有节点。
可选地,所述网络为蛋白质交互网络,食物链网络、基因调控网络、生态系统中的网络或科技系统中的网络。
第二方面,本发明还提供一种改变复杂网络中节点控制类别的装置,包括:
存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面任意一项的方法的步骤。
第三方面,本发明还提供一种计算机存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面任意一项的方法的步骤。
本发明具有的有益效果:
本发明的方法在控制复杂网络等应用中具有切实的实际意义,例如,将人类蛋白质交互网络中的病变基因转化为正常基因,改变细胞信号通路网络中重要基因的类型以增强可控性等。本发明能够通过删除最少数目的边完成节点类型转化,与类似方法相比,本发明极大的降低了转化代价,具有更高的效率。
附图说明
图1为现有技术中简单网络结构及其节点分类的示意图;
图2为本发明提供的二分图的匹配的示意;
图3为本发明实施例中冗余节点转换为驱动节点的过程示意图;
图4为本发明实施例提供的改变复杂网络中节点控制类别的方法的流程示意图;
图5为本发明实施例提供的改变复杂网络中节点控制类别的装置的结构示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
本发明实施例核心构思是,寻找有效的方法直接转化节点的类型而使得代价最小。本发明实施例通过删除最小数量的边完成某个节点的类型转化。本发明实施例的方法是从目标节点开始,沿着交错路径到达未饱和节点,其次,将目标节点到未饱和节点之间的路线转化为有向图,最后应用最小割算法求出节点类型转化所需删除的最少边数。本发明方法所构造的有向图相对于原网络图来说是很小的,最小割算法的复杂度为O(VE),因此本发明的方法在技术上是可行的。同时在实际网络中删边可以通过阻断信号传递来实现,代价较小,因此本发明的方法具有很强的实用性。
为更好的理解本发明实施例的内容,以下对本发明的部分技术/词语进行解释。
为了完全地控制一个网络,需要的最少输入是由网络的最大匹配决定的。匹配节点由它的前驱节点控制,而未匹配节点则必须由一个外部输入来控制,故未匹配节点即为网络的输入节点。一旦为每个输入节点进行输入,那么网络中的节点均拥有了自己的前驱,即网络是完全可控的。
考虑网络G(V,E),其中V为节点集合,E为边集合。匹配边集M是一个独立的边集,即边与边之间不共享节点。对于一个节点,如果它是一条匹配边的终点,那么该节点为匹配节点;否则,为非匹配节点。边数最多的匹配边集被称为图的一个最大匹配。如果图中所有的节点都是匹配节点,那么该图中的最大匹配就称为完美匹配。
将网络G(V,E)的最大匹配边集的大小记作|M*|,那么最小输入定理可以描述为:如果网络G(V,E)中存在一个完美匹配,则要控制网络G(V,E)所需的最小输入节点数NI或最小输入节点数ND为1;否则,等于网络中最大匹配对应的非匹配节点的数量。即:
N1=ND=max{N-|M*|,1}
也就是说,对于非匹配节点数不为0的网络,输入节点数即为非匹配节点数,且非匹配节点即为输入节点的一种情况。对于非匹配节点数为0的完美匹配的网络,输入节点数为1,网络中任一节点均可定义为输入节点。
下面给出关于最大匹配的若干概念。
定义1:给定一个二分图G=(V,E),在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是二分图的一个匹配。
二分图的最大匹配,即是在给定的二分图G=(V,E)的所有匹配中,把其中包含的边数最多的匹配找出来。如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完全匹配,也称作完美匹配。
如图2所示,2(a)为一个二分图,2(b)表示该二分图的一个匹配,但非其最大匹配,2(c)为二分图的一个最大匹配,2(d)表示一个完美匹配,图中的每个顶点均被匹配上了。
定义2:设Vi是图G的一个顶点,如果Vi不与任意一条属于匹配M的边相关联,就称Vi是一个未盖点。
定义3:设P是图G的一条路径,如果P的任意两条相邻的边一定是一条属于M而另一条不属于M,则称P是一条交错路径。
定义4:起始于未匹配点且终止于未匹配点的交错路径叫做可增广路径。
在图2(c)中,x4和y4为未盖点,由于该图表示的是一个最大匹配,不存在增广路径,但可以找到一条y4->x3->y1的交错路径。在图2(b)中,由于它不是一个最大匹配,因此可以找到一条y1->x3->y3->x1->y2->x2的增广路径,如果将这条增广路径的匹配边与非匹配边互换,则得到了一个比当前匹配数大1的匹配,这也是二分图最大匹配算法的基础。
下面给出输入节点与驱动节点之间关系的说明。
定理1:对于匹配节点v,如果存在某一驱动节点n,使得n与v之间存在交错路径,那么节点v为输入节点。
证明:令n与v之间的交错路径为P(n,v)=(e1,e2,…,ej),根据交错路径的定义,P中的边交替出现在最大匹配中,也就说,e1为非匹配边、e2为匹配边,e3为非匹配边,以此类推,其中最后一条边ej为匹配边。若将从v到n的这条交错路径上的匹配边与非匹配边互换,即将匹配边变为非匹配边,非匹配边变为匹配边,则会得到新的匹配M'。显然M'仍然是最大匹配。相应地,对于最大匹配M',n变为匹配节点,v变为驱动节点,则v成为M'下的驱动节点,证明完毕。
考虑网络G(V,E),其中V为节点集合,E为边集合。令M为网络的一个最大匹配,n为需要转化的目标节点。网络G’(V’,E’)为将要构造的有向加权网络,V’为节点集合,E’为边集合,U’为网络G’的未饱和节点集合。
本发明的方法的主要过程包括:针对某一个特定的冗余节点n(下述也可称为目标节点),通过删除网络中的连边,将其转化为输入节点。
具体做法是,首先,从节点n出发,找到所有能够通过交错路径达到节点n的未饱和节点,形成以节点n为起点的交错图;
其次,基于最小割算法,计算出将节点n与交错路径上未饱和节点断开所需要删除的最少边。
然后,识别包含冗余节点n的交错环,计算出破坏所述交错环所需删除的边;删除该计算的边。
再者,任选一条从节点n出发的交错路径,删除其中任意一个匹配边,即可将节点n转换为输入节点。
实施例一
如图4所示,本实施例提供一种改变复杂网络中节点控制类别的方法,本实施例的方法包括下述步骤:
步骤101、针对待处理的冗余节点n,获取网络中能够通过交错路径到达冗余节点n的所有未饱和节点。
举例来说,本实施例的步骤101可包括下述的图中未示出的子步骤:
1011、针对所述冗余节点n,获取网络中该冗余节点n的所有非匹配入边,将所有非匹配入边对应的节点加入第一队列C中;
1012、遍历所述第一队列C中的节点,若遍历的节点属于未访问过的未饱和节点,则更新未饱和节点集U、边集合E’、节点集合V’;
1013、若遍历的节点未访问过且不是未饱和节点,则获取该节点的匹配出边对应的节点,将该节点加入到第二队列Q;更新边集合E’、节点集合V’,并更新当前遍历的节点的状态为已访问状态;
1014、遍历完所述第一队列C中的所有节点之后,查看第二队列Q是否为空;
1015、若不为空,则从所述第二队列Q取出一个节点,针对该节点,获取该节点的非匹配入边对应的节点,将所有非匹配入边对应的节点加入所述第一队列C中;
在所述第一队列C不为空时,重复上述遍历所述第一队列C中的节点的步骤,直至所述第一队列C为空。
若第二队列Q不为空,重复1015步,直到第二队列Q为空(即从Q中取一个元素,将其对应节点加入C中,然后就去处理C了。从Q中取一个元素就处理C,不是取完再处理C)。
1016、在第一队列C为空,且第二队列Q为空时,所述未饱和节点集U中的所有节点即为网络中通过交错路径到达冗余节点n的所有未饱和节点;
其中,遍历所述第一队列C和所述第二队列Q中的节点时,若遍历的节点为所述冗余节点n的匹配入边对应的节点,则不处理;
若遍历的节点的状态为已访问状态,则更新边集合E’。
步骤102、构造以所述冗余节点n为起点的交错网络。
举例来说,本实施例的步骤102可包括下述的图中未示出的子步骤:
1021、增加一个虚拟节点t;
1022、基于所述虚拟节点t,更新节点集合V’;
1023、基于所述虚拟节点t,和所述未饱和节点集U中的所有未饱和节点,更新所述边集合E’;
1024、将所述冗余节点n的匹配入边对应的节点作为交错网络的源节点;构造该源节点到虚拟节点t的有向网络G’,该有向网络作为交错网络;
其中,所述交错网络中与所述虚拟节点直接关联的所有边的边权重为无穷大。
步骤103、采用最小割算法处理所述交错网络,获取所述冗余节点n与所述交错路径上所有未饱和节点断开时所需要删除的最少边的集合。
举例来说,本实施例的步骤103可包括下述的图中未示出的子步骤:
1031、针对上述所构造的有权重的交错网络,采用最小割算法处理所述交错网络,获取所述交错网络中需要删除的最少的边;
1032、将所述交错网络中需要删除的最少的边转化为所述网络中的边,将转化后的边作为所述冗余节点n与所述交错路径上所有未饱和节点断开时所需要删除的最少边。
步骤104、识别所述网络中包括所述冗余节点n的交错环,并基于识别的交错环,确定出破坏所述交错环所需删除的连边。
举例来说,本实施例的步骤104可包括下述的图中未示出的子步骤:
1041、将所述冗余节点n的匹配入边对应的节点加入第二队列Q;
1042、从所述第二队列Q中取出一个节点,查找该节点的所有非匹配出边对应的节点,将查找的节点加入第一队列C;
1043、若第一队列C不为空,则遍历所述第一队列C中的节点,若正在遍历的节点的状态为未访问状态,则查找该节点的匹配入边,将查找的该节点的匹配入边对应的节点加入到第二队列Q,并将该节点的状态更新为已访问状态;1044、遍历完所述第一队列C中的所有节点之后,查看所述第二队列Q是否为空;
1045、在所述第二队列Q不为空时,重复上述遍历所述第二队列Q中节点的步骤,直至所述第一队列C和第二队列Q均为空,
其中,若正在遍历的节点的状态为已访问状态,则不处理;若正在遍历的节点为所述冗余节点,则根据所述冗余节点和正在遍历的节点的连边作为确定出的破坏所述交错环所需删除的连边。
特别说明,队列Q和队列C的处理原则是:从Q中取一个元素,将其对应节点加入C中,然后就去处理C了。从Q中取一个元素就处理C,不是取完再处理C。
步骤105、删除最少边的集合中的所有连边,以及删除确定出的用于破坏所述交错环所需删除的连边。
步骤106、在所述网络中选择一条从所述冗余节点n出发的交错路径,删除选择的交错路径中的一个匹配边,使得所述冗余节点n转换为输入节点。
本实施例中的网络可为所述冗余节点n当前所在的网络,该网络中连边的权重默认为预设值,如1。采用最大匹配算法确定当前网络中的最大匹配;
基于确定的最大匹配,所述网络中的输入节点、未饱和节点,冗余节点均是对应所述最大匹配的节点;
所述匹配入边、匹配出边均是对应所述最大匹配的连边。
本实施例的网络可为蛋白质交互网络,食物链网络、基因调控网络、生态系统中的网络(如神经元网络)或科技系统中的网络。
本实施例的方法在控制复杂网络等应用中具有切实的实际意义,例如,将人类蛋白质交互网络中的病变基因转化为正常基因,改变细胞信号通路网络中重要基因的类型以增强可控性等。本实施例中能够通过删除最少数目的边完成节点类型转化,与类似方法相比,本实施例极大的降低了转化代价,具有更高的效率。
实施例二
针对网络(G,M,n),本实施例的方法的具体流程如下:
Step1:对于冗余节点n,令队列Q=Q+{n},找到n的匹配入边e(s,n),V’={s}。
Step2:从队列Q取一节点v,Q=Q-{v},其匹配入边为e(m,v);寻找非匹配入边{e(c1,v,),…,e(ci,v)},加入队列C=C+{c1,…,ci}。
Step3:从队列C取一不为s的节点c,C=C-{c};
若c已访问,则E’=E’+{e(m,c)},转Step3;
若c的所有出边不在最大匹配M中,则U’=U’+{c},E’=E’+{e(m,c)},V’=V’+{c},转Step3。
否则,寻找c的匹配出边e(c,k),令Q=Q+{k},E’=E’+{e(m,c)},V’=V’+{c},c标记为已访问。重复Step3直到C为空。
Step4:重复Step2、Step3直到Q为空。
Step5:增加虚拟节点t,令V’=V’+{t};
对U’中节点{u1,u2,…,ui},
增加虚拟边E’=E’+{e(u1,t),e(u2,t),…,e(ui,t)},
新增边权重为无穷大,其他边权重为1。至此从源节点n到虚拟节点t的有向网络G’构造完成。
Step6:在有向网络G’中应用最小割算法,求出使目标节点(即冗余节点n)与未饱和节点断开连接所需要删除的最少的边,加入集合DE(删除边的集合)。
Step7:令n的匹配入边为e(s,n);P=P+{s};
Step8:从P中取出一节点v,P=P-{v};令v的所有非匹配出边为e(v,c1),…,e(v,ci),
将这些非匹配出边对应的节点{c1,…,ci}加入队列C=C+{c1,…,ci};
Step9:从C取出一节点c,C=C-{c};
若c=n,则令DE=DE+{e(v,n)},转Step9;
若c未访问过,则令c的匹配入边为e(k,c);令P=P+{k},将c标记为已访问。重复Step9直到C为空。
Step10:重复Step8、Step9直到P为空。
Step11:更新边集合DE=DE+e(s,n)。此边是从所述冗余节点n出发的交错路径中选择的一个需要删除的匹配边,执行将DE中所有边删除,即可将冗余节点n转换为输入节点。也就是说,实现删除节点n的任一交错路径中任意一个匹配边的步骤。
DE表示节点转换需要删除的边的集合(即为改变节点n控制类别所需要删除的边集),本实施例中可以作为算法的返回参数。
上述方法应用在医学领域,例如将人类蛋白质交互网络中的病变基因转化为正常基因,改变细胞信号通路网络中重要基因的类型以增强可控性等。本发明能够通过删除最少数目的边完成节点类型转化,与类似方法相比,本发明实施例极大的降低了转化代价,具有更高的效率。
实施例三
本发明实施例中,为了说明冗余节点转化为驱动节点算法的过程,本实施例给出了一个简单网络(图3)中节点的转化过程。
步骤S1、首先运用最大匹配HK算法求出一个最大匹配,图3中粗边表示匹配边,细边表示非匹配边,双圆节点表示目标节点,菱形节点表示未饱和节点,六边形节点表示新添加的虚拟节点t。边权重默认为1。对目标节点7,将7加入队列Q中,其匹配入边是e(3,7),V’={3},M=3。本实施例中目标节点是冗余节点7,其对应的匹配入边对应节点记为s。
步骤S2、从Q取出节点7,其匹配入边是e(3,7),找到节点7的所有非匹配入边e(1,7)、e(2,7)、e(5,7),将节点1、2、5加入队列C中。
从队列C取出节点1,因为节点1属于未访问过的未饱和节点,则未饱和节点集合U=U+{1},边集合E’=E’+{e(3,1)},节点集合V’=V’+{1}。
从队列C中取出节点2,因为节点2未访问过且非未饱和节点,边集合E’=E’+{e(3,2)},节点集合V’=V’+{2},找到节点2的匹配出边e(2,8),将节点8加入队列Q中,节点2标记为已访问。
从队列C中取出节点5,因为节点5属于未访问过的未饱和节点,则U=U+{5},E’=E’+{e(3,5)},V’=V’+{5}。
此时队列C为空,队列Q为8。
图3(a)为原始网络的二分图,图3(b)为搜索生成树,图3(c)为新构造的有向加权网络。
步骤S3、从Q取出节点8,其匹配入边是e(2,8),找到节点8的所有非匹配入边e(3,8)、e(4,8),将节点3、4加入队列C中。
从队列C中取出节点3,因为节点3=s,则不处理。
从队列C中取出节点4,因为节点4未访问过且非未饱和节点,则E’=E’+{e(2,4)},V’=V’+{4},找到节点4的匹配出边e(4,9),将节点9加入队列Q中,节点4标记为已访问。
此时队列C为空,Q为9。
特别说明的是,本实施例中目标节点是冗余节点7,其对应的匹配入边对应节点记为s,此处s=3。
步骤S4、从Q取出节点9,其匹配入边是e(4,9),找到节点9的所有非匹配入边e(3,9)、e(5,9)、e(6,9),将节点3、5、6加入队列C中。
从队列C中取出节点3,因为节点3=s,则不处理。
从队列C中取出节点5,因为节点5已经访问过,则E’=E’+{e(4,5)}。
从队列C中取出节点6,因为节点6未访问过且非未饱和节点,则E’=E’+{e(4,6)},V’=V’+{6},找到节点6的匹配出边e(6,10),将节点10加入队列Q中,节点6标记为已访问。
此时队列C为空,队列Q为10。
步骤S5、从Q取出节点10,其匹配入边是e(6,10),找到节点10的所有非匹配入边e(5,10),将节点5加入队列C中。
从队列C中取出节点5,因为节点5已经访问过,则E’=E’+{e(6,5)}。此时队列C为空,队列Q为空。
步骤S6、增加虚拟节点11,V’=V’+{11};对U中节点{1,5},E’=E’+{e(1,11),e(5,11)},边权重为无穷大。将冗余节点对应匹配边的源节点3看作有向网络G’的源节点,至此从节点3到虚拟节点11的有向网络G’构造完成,如图3(c)所示。
步骤S7、在有向网络G’中应用最小割算法,求出需要删除的最小的边(e(3,1)、e(3,2)、e(3,5)或e(3,1)、e(2,4)、e(3,5))。
步骤S8、转化为真实网络中的边(e(1,7)、e(2,7)、e(5,7)或e(1,7)、e(4,8)、e(5,7)),执行删边操作。
如图3(c)所示,图3(c)是构造的交错网络,在该交错网络上应用最小割算法,但由于该交错网络中的边不是真实边。如将图3(b)中的e(3,7)和e(2,7)合并成了图3(c)中的边e(3,2)。因此删边时需要转化为真实网络中的连边。转化方法即按照构造方法反向转化实现。
步骤S9、对目标节点7,其匹配入边是e(3,7),将3加入队列Q中。
步骤S10、从Q取出节点3,找到节点3的所有非匹配出边e(3,8)、e(3,9),将节点8、9加入队列C中。
从队列C中取出节点8,因为节点8未访问过,找到节点8的匹配入边e(2,8),将节点2加入队列Q中,节点8标记为已访问。
从队列C中取出节点9,因为节点9未访问过,找到节点9的匹配入边e(4,9),将节点4加入队列Q中,节点9标记为已访问。此时队列C为空,队列Q为2、4。
步骤S11、从Q取出节点2,找到节点2的所有非匹配出边e(2,7),将节点7加入队列C。从队列C取出节点7,因为节点7是目标节点,则DE=DE+{e(2,7)}。此时队列C为空,队列Q为4。
步骤S12、从Q取出节点4,找到节点4的所有非匹配出边e(4,8),将节点8加入队列C中。从队列C中取出节点8,因为节点8已访问过,不作处理。此时队列C为空,队列Q为空。
步骤S13、将目标节点的匹配入边e(3,7)加入队列DE中,返回DE。
与现有技术相比,本实施例的方法极大的降低了转化代价,具有更高的效率。
如图5所示,图5示出了本发明实施例提供的改变复杂网络中节点控制类别的装置的结构示意图,本实施例的装置包括:存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述方法实施例的步骤。
具体地,上述处理器可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。处理器通过读取并执行存储器中存储的计算机程序指令,以实现上述实施例中的任意一种基改变复杂网络中节点控制类别的方法。
在一个示例中,上述装置还可包括通信接口和总线。其中,如图5所示,处理器、存储器、通信接口通过总线连接并完成相互间的通信。
通信接口,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
另外,结合上述实施例中的方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种改变复杂网络中节点控制类别的方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种改变复杂网络中节点控制类别的方法,其特征在于,包括:
步骤101、针对待处理的冗余节点n,获取网络中能够通过交错路径到达冗余节点n的所有未饱和节点;
步骤102、构造以所述冗余节点n为起点的交错网络;
步骤103、采用最小割算法处理所述交错网络,获取所述冗余节点n与所述交错路径上所有未饱和节点断开时所需要删除的最少边的集合;
步骤104、识别所述网络中包括所述冗余节点n的交错环,并基于识别的交错环,确定出破坏所述交错环所需删除的连边;
步骤105、删除最少边的集合中的所有连边,以及删除确定出的用于破坏所述交错环所需删除的连边;
步骤106、在所述网络中选择一条从所述冗余节点n出发的交错路径,删除选择的交错路径中的一个匹配边,使得所述冗余节点n转换为输入节点;
所述网络为所述冗余节点n当前所在的网络。
2.根据权利要求1所述的方法,其特征在于,所述步骤101包括:
1011、针对所述冗余节点n,获取网络中该冗余节点n的所有非匹配入边,将所有非匹配入边对应的节点加入第一队列C中;
1012、遍历所述第一队列C中的节点,若遍历的节点属于未访问过的未饱和节点,则更新未饱和节点集U、边集合E’、节点集合V’;
1013、若遍历的节点未访问过且不是未饱和节点,则获取该节点的匹配出边对应的节点,将该节点加入到第二队列Q;更新边集合E’、节点集合V’,并更新当前遍历的节点的状态为已访问状态;
1014、遍历完所述第一队列C中的所有节点之后,查看第二队列Q是否为空;
1015、若不为空,则从所述第二队列Q取出一个节点,针对该节点,获取该节点的非匹配入边对应的节点,将所有非匹配入边对应的节点加入所述第一队列C中;
在所述第一队列C不为空时,重复上述遍历所述第一队列C中的节点的步骤,直至所述第一队列C为空;
若第二队列Q不为空,重复步骤1015,直到第二队列Q为空;
1016、在第一队列C为空,且第二队列Q为空时,所述未饱和节点集U中的所有节点即为网络中通过交错路径到达冗余节点n的所有未饱和节点;
其中,遍历所述第一队列C和所述第二队列Q中的节点时,若遍历的节点为所述冗余节点n的匹配入边对应的节点,则不处理;
若遍历的节点的状态为已访问状态,则更新边集合E’。
3.根据权利要求2所述的方法,其特征在于,所述步骤102包括:
1021、增加一个虚拟节点t;
1022、基于所述虚拟节点t,更新节点集合V’;
1023、基于所述虚拟节点t,和所述未饱和节点集U中的所有未饱和节点,更新所述边集合E’;
1024、将所述冗余节点n的匹配入边对应的节点作为交错网络的源节点;构造该源节点到虚拟节点t的有向网络G’,该有向网络作为交错网络;
其中,所述交错网络中与所述虚拟节点直接关联的所有边的边权重为无穷大。
4.根据权利要求3所述的方法,其特征在于,所述步骤103包括:
1031、针对上述所构造的有权重的交错网络,采用最小割算法处理所述交错网络,获取所述交错网络中需要删除的最少的边;
1032、将所述交错网络中需要删除的最少的边转化为所述网络中的边,将转化后的边作为所述冗余节点n与所述交错路径上所有未饱和节点断开时所需要删除的最少边。
5.根据权利要求4所述的方法,其特征在于,所述步骤104包括:
1041、将所述冗余节点n的匹配入边对应的节点加入第二队列Q;
1042、从所述第二队列Q中取出一个节点,查找该节点的所有非匹配出边对应的节点,将查找的节点加入第一队列C;
1043、若第一队列C不为空,则遍历所述第一队列C中的节点,若正在遍历的节点的状态为未访问状态,则查找该节点的匹配入边,将查找的该节点的匹配入边对应的节点加入到第二队列Q,并将该节点的状态更新为已访问状态;
1044、遍历完所述第一队列C中的所有节点之后,查看所述第二队列Q是否为空;
1045、在所述第二队列Q不为空时,重复上述遍历所述第二队列Q中节点的步骤,直至所述第一队列C和第二队列Q均为空,
其中,若正在遍历的节点的状态为已访问状态,则不处理;若正在遍历的节点为所述冗余节点,则根据所述冗余节点和正在遍历的节点的连边作为确定出的破坏所述交错环所需删除的连边。
6.根据权利要求1至5任一所述的方法,其特征在于,所述步骤101还包括:
采用最大匹配算法确定当前网络中的最大匹配;
基于确定的最大匹配,所述网络中的输入节点、未饱和节点,冗余节点均是对应所述最大匹配的节点;
所述匹配入边、匹配出边均是对应所述最大匹配的连边。
7.根据权利要求2或5所述的方法,其特征在于,
遍历第一队列C中所有节点之后,处理第二队列Q中的一个节点;
对第二队列Q中一个节点处理完成之后,则遍历所述第一队列C中所有节点。
8.根据权利要求1至7任一所述的方法,其特征在于,所述网络为蛋白质交互网络,食物链网络、基因调控网络、生态系统中的网络或科技系统中的网络。
9.一种改变复杂网络中节点控制类别的装置,其特征在于,包括:
存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-8任意一项的方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现如权利要求1-8任意一项的方法的步骤。
CN201711261943.XA 2017-12-04 2017-12-04 一种改变复杂网络中节点控制类别的方法 Expired - Fee Related CN108009061B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711261943.XA CN108009061B (zh) 2017-12-04 2017-12-04 一种改变复杂网络中节点控制类别的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711261943.XA CN108009061B (zh) 2017-12-04 2017-12-04 一种改变复杂网络中节点控制类别的方法

Publications (2)

Publication Number Publication Date
CN108009061A true CN108009061A (zh) 2018-05-08
CN108009061B CN108009061B (zh) 2020-04-14

Family

ID=62056432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711261943.XA Expired - Fee Related CN108009061B (zh) 2017-12-04 2017-12-04 一种改变复杂网络中节点控制类别的方法

Country Status (1)

Country Link
CN (1) CN108009061B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108847986A (zh) * 2018-06-28 2018-11-20 东北大学 一种用于双层网络的控制方法
CN110504004A (zh) * 2019-06-28 2019-11-26 西安理工大学 一种基于复杂网络结构可控性基因的识别方法
CN112631856A (zh) * 2020-12-17 2021-04-09 西安电子科技大学 一种意图驱动6g网络智能运维方法、系统、设备及应用
CN114548021A (zh) * 2022-04-27 2022-05-27 杭州捷配信息科技有限公司 测试点识别方法、装置及应用

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000183968A (ja) * 1998-12-17 2000-06-30 Nippon Telegr & Teleph Corp <Ntt> パケット通信システムおよびそれを構成するノードとエッジ装置
CN106127306A (zh) * 2016-06-17 2016-11-16 北京理工大学 一种高共享性Rete网络构建方法
CN106789333A (zh) * 2017-01-16 2017-05-31 东北大学 一种基于时间分层的复杂网络传播源点定位方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000183968A (ja) * 1998-12-17 2000-06-30 Nippon Telegr & Teleph Corp <Ntt> パケット通信システムおよびそれを構成するノードとエッジ装置
CN106127306A (zh) * 2016-06-17 2016-11-16 北京理工大学 一种高共享性Rete网络构建方法
CN106789333A (zh) * 2017-01-16 2017-05-31 东北大学 一种基于时间分层的复杂网络传播源点定位方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108847986A (zh) * 2018-06-28 2018-11-20 东北大学 一种用于双层网络的控制方法
CN110504004A (zh) * 2019-06-28 2019-11-26 西安理工大学 一种基于复杂网络结构可控性基因的识别方法
CN110504004B (zh) * 2019-06-28 2022-02-22 西安理工大学 一种基于复杂网络结构可控性基因的识别方法
CN112631856A (zh) * 2020-12-17 2021-04-09 西安电子科技大学 一种意图驱动6g网络智能运维方法、系统、设备及应用
CN114548021A (zh) * 2022-04-27 2022-05-27 杭州捷配信息科技有限公司 测试点识别方法、装置及应用
CN114548021B (zh) * 2022-04-27 2022-07-29 杭州捷配信息科技有限公司 测试点识别方法、装置及应用

Also Published As

Publication number Publication date
CN108009061B (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
CN108009061A (zh) 一种改变复杂网络中节点控制类别的方法
Zhu et al. Network planning with deep reinforcement learning
CN110674869B (zh) 分类处理、图卷积神经网络模型的训练方法和装置
CN104215254B (zh) 路径导航的方法和装置
CN101650191B (zh) 道路网络拓扑抽象的方法及装置
CN103299269B (zh) 网络优化
CN108645411A (zh) 基于粒子群算法的机器人路径规划方法、装置及终端设备
CN104266656A (zh) 用于道路网的最短路径搜索方法及装置
CN103444149A (zh) 网络拓扑发现
Larki et al. Solving the multiple traveling salesman problem by a novel meta-heuristic algorithm
Banharnsakun et al. ABC-GSX: A hybrid method for solving the Traveling Salesman Problem
CN111080786A (zh) 基于bim的室内地图模型构建方法及装置
Du et al. GAQ-EBkSP: a DRL-based urban traffic dynamic rerouting framework using fog-cloud architecture
CN105740964A (zh) 一种城市路网数据组织与最短路径快速计算方法
CN107332770A (zh) 一种必经点路由路径选择方法
CN106060896A (zh) 基于最小树形图的无人机编队通信拓扑的获取方法及系统
Pathak et al. Traveling salesman problem using bee colony with SPV
Ning et al. A novel artificial bee colony algorithm for the QoS based multicast route optimization problem
Quirion-Blais et al. A case study of snow plow routing using an adaptive large hood search metaheuristic
CN112484733B (zh) 一种基于拓扑图的强化学习室内导航方法
Hajizadeh et al. A branch‐and‐dive heuristic for single vehicle snow removal
Korani et al. Discrete mother tree optimization for the traveling salesman problem
CN113673821A (zh) 一种园区道路清扫车的智能调度方法及系统
CN107024220B (zh) 基于强化学习蟑螂算法的机器人路径规划方法
CN107229677A (zh) 一种枚举控制网络所需的所有最小输入节点集合的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200414