您的位置:澳门新葡萄赌场娱乐 > www.599588.com > 依赖模糊聚类和纤维割的档次化三个维度网格分

依赖模糊聚类和纤维割的档次化三个维度网格分

发布时间:2019-05-02 05:46编辑:www.599588.com浏览(144)

    全文预警:本篇复杂指数五颗星。

      网格分割算法是三维几何处理算法中的重要算法,具有许多实际应用。[Katz et al. 2003]提出了一种新型的层次化网格分割算法,该算法能够将几何模型沿着凹形区域分割成不同的几何部分,并且可以避免过度分割以及锯齿形分割边界。算法的核心思想是先利用模糊聚类的方法分割几何模型,并保留分割边界附近的模糊区域,然后利用最小割的方法在模糊区域里寻找准确的分割边界。算法主要包含以下4个步骤:

      网格分割算法是三维几何处理算法中的重要算法,具有许多实际应用。[Katz et al. 2003]提出了一种新型的层次化网格分割算法,该算法能够将几何模型沿着凹形区域分割成不同的几何部分,并且可以避免过度分割以及锯齿形分割边界。算法的核心思想是先利用模糊聚类的方法分割几何模型,并保留分割边界附近的模糊区域,然后利用最小割的方法在模糊区域里寻找准确的分割边界。算法主要包含以下4个步骤:

    “复杂网络”是个啥?

    你看过琅琊榜吗?这部作品有两个特点:帅哥特别多,帅哥之间的关系特别复杂。像这样的人际关系网络就是一个简单的复杂网络。类似的,交通运输网络、电力系统网络、微博上的相互关注、Facebook上的好友关系,这些也都是典型的复杂网络。

    www.599588.com 1琅琊榜中的人际关系网络。图片来源:www.anyv.net

    关于复杂网络的研究兴起于20世纪末期,很快就被广泛地应用于各个领域。复杂网络既是对数据的一种表现形式,也是一种研究的手段。在研究复杂网络的系统图示里,系统的各个组成部分叫做节点;部分之间的相互关系叫做连边。研究复杂网络的重要目的是为了控制网络,趋利避害。比如,在癌症治疗的时候,我们就希望通过外界控制将某些疾病状态的细胞转换为健康状态的细胞,达到治愈的目的。

    www.599588.com 2复杂网络的基本要素。供图:成慧敏 张忠元。

      1. 计算网格中所有相邻面片之间的距离;

      1. 计算网格中所有相邻面片之间的距离;

    复杂网络如何控制?

      2. 计算每个面片属于不同分割区域的概率;

      2. 计算每个面片属于不同分割区域的概率;

    用最小的成本控制整个网络

    我们先从一个简单的例子开始。胖虎要举办生日聚会,希望来的朋友越多越好。哆啦A梦说大雄去我就去,大雄说静香去我就去。请问胖虎如何让静香、大雄、哆啦A梦3人都去参加聚会呢?

    胖虎当然可以挨个搞定静香、大雄和哆啦A梦。不过,只搞定静香显然也可以达到同样的效果。因为这三个人之间存在相互联系。合理利用这种联系,就可以“牵一发以动全身”。就像一辆汽车,无论内部构造多精巧,系统多复杂,我们只需要管好方向盘和刹车等几个关键点就能达到控制的目的。

    在复杂网络中也存在类似的情况。我们当然可以对网络中数量众多的节点分别进行控制。但这种控制无疑需要投入大量的时间和精力。而且,当网络增大到一定规模时,这种控制甚至根本不可行。所以,如何找到复杂网络中的“静香”,通过控制一个,或少数几个关键节点,实现对整个网络的控制,以最少的投入达到最大的效果,这是研究复杂网络想要解决的问题之一。

    www.599588.com 3胖虎通过“控制”静香就可以达到邀请全部三人到生日聚会的目的。供图:成慧敏 张忠元。

    那么,如何以最少的投入来控制整个复杂网络呢?这就需要解决两个问题:什么样的网络是可控的?以及,如何找到数量最少,又能控制这个网络的节点?

      3. 迭代调整每个面片的概率,直到收敛;

      3. 迭代调整每个面片的概率,直到收敛;

    知己知彼,百战不殆:什么样的网络是可控的?

    想要控制一个复杂网络,先得确认这个网络是否可控。什么样的网络是可控的呢?网络可控的意思就是借助外力作用(对某些节点输入控制信号),我们能够独立地控制这个网络中的每个节点。这句话包含了两个含义:

    1. 我们可以控制网络中每个节点。只要网络中有一个节点不受控制,那么这个网络就没有被控制住。比如下面这幅图示的网络中,如果我们只对节点1输入控制信号,节点3就不受控制,我们也就无法控制整个网络。所以要想控制住这个网络仅仅对节点1施加外力是不够的,还需要对节点3也施加一个外力。

    www.599588.com 4
    2. 我们可以独立地控制每个节点。看下面的示意图。在这个网络里,每当我们对节点1施加控制,节点1的变化一定会同时引起节点2和节点3的变化。假设我们的目的是想改变节点2,同时保持节点3不变的话,在这样的网络中是永远也无法实现的。总结成规律,就是,如果网络里有两个节点受到且仅受到同一个节点的控制,那么这两个节点就不是被独立地控制的。

    www.599588.com 5

    原理介绍完了,咱们来举一个例子。请问,在下面三种网络结构中,哪个控制源能成功控制全网?

    www.599588.com 6节点间带箭头的连边代表控制关系。图a红色节点“3”为不可达节点;图b红色节点“2”包含膨胀结构;图c为既不包含不可达节点也不包含膨胀节点的“仙人掌”结构。供图:成慧敏 张忠元。

    答案是,C。

    在网络结构(a)中,控制源控制节点1,节点1控制节点2,但是节点2无法控制节点3,节点3处于控制不可达的状态,因此信号源无法控制全网。

    在网络结构(b)中,节点3和节点4同时受到节点2 的控制,无法被独立控制,因此信号源无法控制全网。

    与图(b)相比,网络结构(c)中,节点4和节点5可以互相控制,套用刚才总结的规律,此时,节点3和节点4不再受到且仅受到一个节点的控制——节点4不仅受到来自节点2的控制,还受到来自节点5的控制。 因此,在(c)结构中,控制源可以通过控制节点1达到独立地控制每一个节点,也就是控制全网的目的。

      4. 在模糊区域里寻找准确的分割边界。

      4. 在模糊区域里寻找准确的分割边界。

    擒贼先擒王:你该控制谁?

    知道了什么样的网络是可控的,那么,如何才能以最高效的方式对网络进行控制呢?根据Yang-Yu Liu等人在2011年提出的“最小输入定理”,只需要三步。

    www.599588.com 7最小输入定理步骤。供图:成慧敏 张忠元。

    第一步:把原始网络转换成二部图。就是把网络中所有的节点排好后左右各放一列。左边这列是网络图中有箭头出发的节点,用“ ”代表;右边这列是网络图中被箭头指向的节点,用“-”代表,两列节点之间是否有连边由原始网络决定,比如原始网络中存在由A出发指向B的连边,那么在二部图“ ”列的A与“-”列的B之间就应该有连边。

    第二步:根据二部图求最大匹配。什么是匹配呢?在连好边的二部图里,如果一条连边既没有和其他连边共用出发点,也没有和其他连边共用终点,那么这条连边所连接的两个节点就匹配了。最大匹配,就是尽可能多的让左右两列的节点都能匹配在一起。如果我们以丈夫和妻子分别代表左列和右列,一个丈夫节点连到两个妻子节点这种情况不是匹配,反过来一个妻子节点连到两个丈夫节点的情况也不是匹配。因此一夫多妻和一妻多夫都不是匹配,只有一妻一夫才算匹配。而最大匹配就是在一夫一妻的前提下最大限度地减少左右两列中单身节点的数量。

    www.599588.com 8最大匹配就是在一夫一妻的前提下撮合做多对夫妻。供图:成慧敏 张忠元。

    第三步:实现最大匹配后,对右列中没有匹配上的的节点输入控制信号就能控制全网。

    回想一下刚才由五个节点组成的可控网络图(c),下面我们以它为原始网络为大家详细介绍最小输入定理。

    首先,我们将原始网络结构(下面的图i)转换成二部图,参与到网络中的角色有节点1至节点5,我们把他们列在“+”和“-”两列中。“+”列表示箭头的出发节点,“-”列表示箭头的指向节点,如图(i)所示。

    接下来找出该图的最大匹配,先把所有的指向关系间连线,这时“一妻多夫”的情况出现(节点2和节点5同时指向节点4),“一夫多妻”情况也出现了(节点2同时指向节点3和节点2 )。对于该图,存在两种匹配方式:第1种有3个匹配节点(节点1-->节点2、节点2-->节点4、节点4-->节点5);第2种有4个匹配节点(节点1-->节点2、节点2-->节点3、节点4-->节点5、节点5-->节点4)。显然,第2种匹配方式为最大匹配。

    确定好最大匹配后,我们为最大匹配的连边标上红色。红色连边即为匹配连接,红色连边对应的右列中的“-”节点为匹配节点,也就是图(ii)和(iii)中的绿色节点;而右列中没有被红色连边相连的“-” 节点就是非匹配节点。匹配节点都处于“可控”的状态。我们可以通过控制左列中与红色连边相连的“ ”节点来控制它们。例如节点3受到节点2的管理,节点2受到节点1的管理,而在没有控制源的情况下,节点1则处于“无人管理”的状态。所以我们(控制源)只需要对节点1这个非匹配节点输入控制信号就能实现整个网络的目的了。

    www.599588.com 9 最小输入定理实例展示。供图:成慧敏 张忠元。

      下面以模型二分为例具体介绍上述计算过程,如果模型需要分割成多个部分,可以以此为基础进行层次化分割。

      下面以模型二分为例具体介绍上述计算过程,如果模型需要分割成多个部分,可以以此为基础进行层次化分割。

    别忙出去搞控制!

    都看懂了?准备去控制复杂的客户网络和七大姑八大姨的相亲网络了?别忙,你可能盲目乐观了。咱们现在还只是找到了身边的“静香们”。如何控制她们,如何通过她们去控制整个网络,这还需要更深的学问来指导生活。“最小输入定理”虽然在理论上解决了如何以最小的成本控制整个网络的分析,但是,具体输入什么样的控制信号能使得网络达到期望状态?以及,如何将复杂网络可控性的理论应用到现实生活中?这些问题的答案仍然需要通过大量的研究工作来一一作答。这些也是研究复杂网络的科学家们在未来努力的方向。(编辑:明天 婉珺)

    题图来源

    Step 1:

    Step 1:

    参考文献:

    1. Liu Y Y, Slotine J J, Barabási A L. Controllability of complexnetworks[J]. Nature, 2011, 473(7346): 167-173.
    2. Liu Y Y, Barabási A L. Control principles of complex networks[J]. arXivpreprint arXiv:1508.05384, 2015.
    3. RATHORE T, PRATHEEK C H S. STUDY ON CONTROLLABILITY OF COMPLEXNETWORKS[J].
    4. 侯绿林,老松杨, 肖延东, 等.复杂网络可控性研究现状综述[J]. 物理学报, 2015 (18): 477-487.

     

      对于相邻面片fifj,定义它们两者之间的测地距离和角度距离(如下图所示)。测地距离为相邻面片质心之间的距离,而角度距离表达式如下:

      对于相邻面片fifj,定义它们两者之间的测地距离和角度距离(如下图所示)。测地距离为相邻面片质心之间的距离,而角度距离表达式如下:

    www.599588.com 10

    www.599588.com 11

    上式中αij为相邻面片之间的二面角,对于凹边η = 1,对于凸边η取较小值(例如0.2)。

    上式中αij为相邻面片之间的二面角,对于凹边η = 1,对于凸边η取较小值(例如0.2)。

    www.599588.com 12

    www.599588.com 13

    图:测地距离和角度距离示意图

    图:测地距离和角度距离示意图

    构建网格的对偶图(如下图所示),网格中的每个面片对应对偶图中的一个顶点,同时如果网格中的两个面片相邻,那么对偶图中对应的两个顶点相连。图中边的权重定义为:

    构建网格的对偶图(如下图所示),网格中的每个面片对应对偶图中的一个顶点,同时如果网格中的两个面片相邻,那么对偶图中对应的两个顶点相连。图中边的权重定义为:

    www.599588.com 14

    www.599588.com 15

      给定网格中任意的两个面片,它们之间的距离等于对偶图中两点之间的最近距离。在预处理阶段,需要计算并记录对偶图中所有顶点之间的最近距离。

      给定网格中任意的两个面片,它们之间的距离等于对偶图中两点之间的最近距离。在预处理阶段,需要计算并记录对偶图中所有顶点之间的最近距离。

    www.599588.com 16

    www.599588.com 17

    图:网格与对偶网格

    图:网格与对偶网格

    Step 2:

    Step 2:

      选择相距最远的两个面片REPA和REPB作为两个分割区域的种子面片,对于面片fi计算其分别属于两个区域的概率,面片fi属于区域B的概率为:

      选择相距最远的两个面片REPA和REPB作为两个分割区域的种子面片,对于面片fi计算其分别属于两个区域的概率,面片fi属于区域B的概率为:

    www.599588.com 18

    www.599588.com 19

      上式表明一个面片距离哪个区域更近,那么其属于哪个区域的概率更大。

      上式表明一个面片距离哪个区域更近,那么其属于哪个区域的概率更大。

    www.599588.com 20

    www.599588.com 21

    图:概率分布图,红色点代表种子面片

    图:概率分布图,红色点代表种子面片

    Step 3:

    Step 3:

      利用模糊聚类的方法迭代更新两个区域的种子面片,具体如下:

      利用模糊聚类的方法迭代更新两个区域的种子面片,具体如下:

      1. 计算每个面片分别属于两个区域的概率;

      1. 计算每个面片分别属于两个区域的概率;

      2. 重新计算种子面片:

      2. 重新计算种子面片:

    www.599588.com 22

    www.599588.com 23

      3. 迭代上述步骤直到种子面片不再发生变化。

      3. 迭代上述步骤直到种子面片不再发生变化。

      当迭代收敛之后,可以将网格分为3个区域A,B和C,其中C区域为模糊区域,对应下图b中的红色部分。

      当迭代收敛之后,可以将网格分为3个区域A,B和C,其中C区域为模糊区域,对应下图b中的红色部分。

    A = {fi | PB(fi) < 0.5 – ε}

    A = {fi | PB(fi) < 0.5 – ε}

    B = {fi | PB(fi) > 0.5 ε}

    B = {fi | PB(fi) > 0.5 ε}

    C = {fi | 0.5 – ε ≤ PB(fi) ≤ 0.5 ε}

    C = {fi | 0.5 – ε ≤ PB(fi) ≤ 0.5 ε}

    www.599588.com 24

    www.599588.com 25

    Step 4:

    Step 4:

      在模糊区域中利用最小割的方法寻找准确边界,首先需要构建模糊区域的网络s-t图G = (V, E)(如下图所示),V和E如下:

      在模糊区域中利用最小割的方法寻找准确边界,首先需要构建模糊区域的网络s-t图G = (V, E)(如下图所示),V和E如下:

    V = VC∪VCA∪VCB∪{S,T}

    V = VC∪VCA∪VCB∪{S,T}

    E = EC∪{(S, v), ∀v∈VCA}∪{(T, v), ∀v∈VCB}∪{eij∈E | i∈VC, j∈{VCA∪VCB}}

    E = EC∪{(S, v), ∀v∈VCA}∪{(T, v), ∀v∈VCB}∪{eij∈E | i∈VC, j∈{VCA∪VCB}}

    其中VCA和VCB代表对偶图中与VC相连的VA和VB顶点集,而VA, VB, VC为对偶图中A, B, C区域面片所对应的顶点集。

    其中VCA和VCB代表对偶图中与VC相连的VA和VB顶点集,而VA, VB, VC为对偶图中A, B, C区域面片所对应的顶点集。

    www.599588.com 26www.599588.com 27

    www.599588.com 28www.599588.com 29

      s-t图中边的容量定义为:

      s-t图中边的容量定义为:

    www.599588.com 30

    www.599588.com 31

    根据上述定义,网络图最小割的结果对应网格中模糊区域内二面角最大的分割边界。

    根据上述定义,网络图最小割的结果对应网格中模糊区域内二面角最大的分割边界。

           如果模型需要分割成多个部分,可以对每个区域继续进行分割,直到满足终止条件。

           如果模型需要分割成多个部分,可以对每个区域继续进行分割,直到满足终止条件。

    www.599588.com 32

    www.599588.com 33

     

     

     

     

    参考文献:

    参考文献:

    [1] Sagi Katz and Ayellet Tal. 2003. Hierarchical mesh decomposition using fuzzy clustering and cuts. ACM Trans. Graph. 22, 3 (July 2003), 954-961.

    [1] Sagi Katz and Ayellet Tal. 2003. Hierarchical mesh decomposition using fuzzy clustering and cuts. ACM Trans. Graph. 22, 3 (July 2003), 954-961.

     

     

    附录

    附录

    K-means算法:

    K-means算法:

      给定一系列数据样本(x1, x2, … , xn),其中每个数据都是一个d维向量,K-means聚类算法的目标是将这n个数据样本归类成k(≤n)个簇,并且满足如下最小能量函数:

      给定一系列数据样本(x1, x2, … , xn),其中每个数据都是一个d维向量,K-means聚类算法的目标是将这n个数据样本归类成k(≤n)个簇,并且满足如下最小能量函数:

    www.599588.com 34

    www.599588.com 35

    其中μi表示第i个簇Si中数据点的平均值 。

    其中μi表示第i个簇Si中数据点的平均值 。

      算法具体步骤:

      算法具体步骤:

      1. 随机设定k个聚类中心点的初始值μ1(0), μ2(0), …, μk(0)

      1. 随机设定k个聚类中心点的初始值μ1(0), μ2(0), …, μk(0)

      2. 将每个数据点归类到离它最近的那个聚类中心点所代表的簇中。

      2. 将每个数据点归类到离它最近的那个聚类中心点所代表的簇中。

      3. 重新计算每个簇的聚类中心点www.599588.com 36

      3. 重新计算每个簇的聚类中心点www.599588.com 37

      4. 重复第二步,直到迭代到最大步数或者前后两次能量函数的差值小于设定的阈值为止。

      4. 重复第二步,直到迭代到最大步数或者前后两次能量函数的差值小于设定的阈值为止。

    K-medoids算法:

    K-medoids算法:

      K-medoids算法是K-means算法的一个变种,两者不一样的地方在于聚类中心点的选取。在K-means算法中,我们将中心点取为当前簇中所有数据点的平均值,而在K-medoids算法中,我们从当前簇中选取一个点作为聚类中心点,它满足到当前簇中其他所有点的距离之和最小。

      K-medoids算法是K-means算法的一个变种,两者不一样的地方在于聚类中心点的选取。在K-means算法中,我们将中心点取为当前簇中所有数据点的平均值,而在K-medoids算法中,我们从当前簇中选取一个点作为聚类中心点,它满足到当前簇中其他所有点的距离之和最小。

      在某些情况下,K-medoids聚类算法的结果要优于K-means算法,如下图所示,但从K-means算法变到K-medoids算法,时间复杂度会增加许多:K-means算法中计算聚类中心点只要求一个平均值O(N)即可,而在K-medoids算法中则需要枚举每个点,并求出它到所有其他点的距离之和,复杂度为 O(N2)。

      在某些情况下,K-medoids聚类算法的结果要优于K-means算法,如下图所示,但从K-means算法变到K-medoids算法,时间复杂度会增加许多:K-means算法中计算聚类中心点只要求一个平均值O(N)即可,而在K-medoids算法中则需要枚举每个点,并求出它到所有其他点的距离之和,复杂度为 O(N2)。

    www.599588.com 38 

    www.599588.com 39 

    图:在相同的数据和初始条件下,K-means算法(1a - 1f)的结果陷入局部最优解,而K-medoids算法(2a – 2h)的结果更加合理

    图:在相同的数据和初始条件下,K-means算法(1a - 1f)的结果陷入局部最优解,而K-medoids算法(2a – 2h)的结果更加合理

    Max-flow/Min-cut算法

    Max-flow/Min-cut算法

      图论中一个常见的问题是网络图中两个节点之间的最大流是多少?这个问题具有重要的现实意义,例如交通工程师希望知道两个城市之间道路的最大通行能力是多少,因为这个信息将决定如何扩建道路,最大流问题的数学描述如下:

      图论中一个常见的问题是网络图中两个节点之间的最大流是多少?这个问题具有重要的现实意义,例如交通工程师希望知道两个城市之间道路的最大通行能力是多少,因为这个信息将决定如何扩建道路,最大流问题的数学描述如下:

    www.599588.com 40

    www.599588.com 41

    s.t. www.599588.com 42

    s.t. www.599588.com 43

    解决最大流问题的一个经典方法是Ford&Fulkerson算法,其方法如下:

    解决最大流问题的一个经典方法是Ford&Fulkerson算法,其方法如下:

    www.599588.com 44

    www.599588.com 45

      我们以下图为例,解释Ford&Fulkerson算法的求解过程。网络图中边上方的标签代表该条边的最大容量,例如边AB上方靠近节点A的标签代表从节点A到节点B的最大容量,而靠近B节点的标签代表从节点B到节点A的最大容量。

      我们以下图为例,解释Ford&Fulkerson算法的求解过程。网络图中边上方的标签代表该条边的最大容量,例如边AB上方靠近节点A的标签代表从节点A到节点B的最大容量,而靠近B节点的标签代表从节点B到节点A的最大容量。

    www.599588.com 46

    www.599588.com 47

      求解从节点A到节点G的最大流,首先需要在当前网络图中寻找从节点A到节点G的路径,接着建立残余网络图,即从当前网络图中减去该路径上的最大流量,然后重复上述步骤直到网络图中不存在从节点A到节点G的路径为止。

      求解从节点A到节点G的最大流,首先需要在当前网络图中寻找从节点A到节点G的路径,接着建立残余网络图,即从当前网络图中减去该路径上的最大流量,然后重复上述步骤直到网络图中不存在从节点A到节点G的路径为止。

    www.599588.com 48www.599588.com 49

    www.599588.com 50www.599588.com 51

    www.599588.com 52www.599588.com 53

    www.599588.com 54www.599588.com 55

    www.599588.com 56

    www.599588.com 57

      通过上述方法可以发现当算法终止时,可以寻找得到5条从节点A到节点G的路径,所以该网络图的最大流值为4 3 4 2 1=14。而最大流的网络图如下:

      通过上述方法可以发现当算法终止时,可以寻找得到5条从节点A到节点G的路径,所以该网络图的最大流值为4 3 4 2 1=14。而最大流的网络图如下:

    www.599588.com 58

    www.599588.com 59

      最大流问题与最小割问题密切相关,网络图中的割是指网络图中一些边的集合,当网络图中移除这些边时能够导致网络流中断,而最小割就是指所有割中权重之和最小的一个割,下图给出了网络图中一些割集的情况。最小割问题的数学描述如下:

      最大流问题与最小割问题密切相关,网络图中的割是指网络图中一些边的集合,当网络图中移除这些边时能够导致网络流中断,而最小割就是指所有割中权重之和最小的一个割,下图给出了网络图中一些割集的情况。最小割问题的数学描述如下:

    www.599588.com 60

    www.599588.com 61

    www.599588.com 62

    www.599588.com 63

      最大流/最小割定理指出,网络图中从源点到汇点的最大流值等于网络图中的最小割值。但真正问题是最小割的边在网络图中的位置,因为假如交通工程师决定扩展道路,那需要知道该扩展哪些道路。可以想象扩展那些最大流值还未达到最大容量的那些边是毫无意思的,而那些最大流值已达到最大容量的边才是我们关心的,也就是最小割的位置。

      最大流/最小割定理指出,网络图中从源点到汇点的最大流值等于网络图中的最小割值。但真正问题是最小割的边在网络图中的位置,因为假如交通工程师决定扩展道路,那需要知道该扩展哪些道路。可以想象扩展那些最大流值还未达到最大容量的那些边是毫无意思的,而那些最大流值已达到最大容量的边才是我们关心的,也就是最小割的位置。

    www.599588.com 64

    www.599588.com 65

    本文为原创,转载请注明出处:。

    本文为原创,转载请注明出处:。

     

     

     

     

    参考:

    参考:

    本文由澳门新葡萄赌场娱乐发布于www.599588.com,转载请注明出处:依赖模糊聚类和纤维割的档次化三个维度网格分

    关键词: