为什么具有n个顶点的图形具有2 ^ n -2个切割?我无法想出这个。有4个顶点,我只能得到14个削减。我可以得到最多。削减?我错过了什么?
通过cut,我的意思是V被分成2对非空顶点列表-A和B.
答案 0 :(得分:20)
合理化它以及枚举切割的一种简单方法是为每个节点分配一个二进制数字。 0表示它在集合A中,1表示它在集合B中。然后简单地增加,忽略0和2 ^ n - 1的情况,留下2 ^ n - 2个削减。因此,对于具有顶点P,Q,R,S的4顶点图:
PQRS
0000 A : { P,Q,R,S } B : {} // ignore, B is empty
0001 A : { P,Q,R } B : { S }
0010 A : { P,Q,S } B : { R }
0011 A : { P,Q } B : { R,S }
0100 A : { P,R,S } B : { Q }
0101 A : { P,R } B : { Q,S }
0110 A : { P,S } B : { Q,R }
0111 A : { P } B : { Q,R,S }
1000 A : { Q,R,S } B : { P }
1001 A : { Q,R }, B : { P,S }
1010 A : { Q,S } B : { P,R }
1011 A : { Q } B : { P,R,S }
1100 A : { R,S } B : { P,Q }
1101 A : { R } B : { P,Q,S }
1110 A : { S } B : { P,Q,R }
1111 A : {} B : { P,Q,R,S } // ignore, A empty
这会让你留下14,2 ^ 4 - 2。
答案 1 :(得分:6)
你的最后一句话是这样的 - 剪切只是一个顶点的分区,分为两组,两组都不是空的。
因此,要定义一个特定的切割,你只需要采用V的一些子集,然后定义A,以及B,它的补充。
V的子集数,其中| V | = n是V,2 ^ n的幂集的基数。但是你必须减去两个例子,因为A不能为空,也不能等于V,因为那么B就是空的。因此2 ^ n - 2。
答案 2 :(得分:5)
我认为这是相当明显的:
或者将其视为真值表。 a
表示顶点位于集合A中,b
表示它位于集合B中。
Vertices
1 2 3 4
a a a a
a a a b
a a b a
a a b b
a b a a
a b a b
a b b a
a b b b
b a a a
b a a b
b a b a
b a b b
b b a a
b b a b
b b b a
b b b b
如果我们删除a a a a
和b b b b
套,我们会留下所需的14 ...
答案 3 :(得分:1)
剪切意味着顶点将位于一个集合A或集合B中。
由于两组都必须是非空的,因此只有以下几种可能。
1,(n-1)==>这意味着集合A中的1个顶点和集合B中的(n-1)。没有选择n = nC1中的1的方法
2,(n-2)==>集合A中的2个顶点和集合B中的(n-2)。没有从n = nC2中选择2的方法
3,(n-3)==>集合A中的3个顶点和集合B中的(n-3)。没有选择n = nC3中的3个的方法
(n-1),1 ==>集合A中的(n-1)个顶点和集合B中的1个顶点。没有从n = nCn-1中选择n-1的方法
因此,削减总数为:
nC1 + nC2 + nC3 + ..... nCn-1 = 2^(n)-2
答案 4 :(得分:0)
首先,我在计算4个顶点(正方形)的切割数时遇到了类似的问题。
请记住,你可以按正方形的对角线切割。这将为您提供缺失的2。