一个问题的思考
问题背景
前几天一个朋友问我关于苯的同分异构体的问题,其中需要讨论具有n个官能团(m个重复)的问题。我们知道,在苯环上放三个相同的官能团有三种方法。放三个官能团,两个相同,则会有六种方法。三个都不重复的话,则会有十种方法。
在这里我们只讨论放相同官能团的问题。我们会发现,这更像一个圆桌排序的问题,但是很可惜,这个问题并不是我们所认为的圆桌排序。圆桌排序涉及到座位全排后客人互不相同。至于圆桌排序的公式
C
n
−
1
n
−
1
C_{n-1}^{n-1}
Cn−1n−1,我们可能在推广的时候会用得到。
问题的切入点
首先,我们需要明确的是这三个官能团相同,即在讨论重复的时候,不应该只讨论由于圆桌循环而导致的重复问题,还应该讨论由于官能团的重复所带来的重复问题,而问题的难处也恰恰出在这里。
我们以苯环来举例,即在一个正六边形的拐角分配座位。我们很容易想到这样的方法:固定头位置,找出其等效排序。比如:{1,2,3},{1,2,4},{1,2,5},{1,2,6},{1,3,6}。像这种,分别写出其由于圆桌导致的重复序列,得到全部的序列之后,我们将其中重复的删除掉。这不失为一种处理问题的方法,但我们并不是想寻找这种问题的穷举法解决方案。我们从这里面我们可以看出圆桌导致的重复问题和相同官能团导致的重复问题相交叉,这便成了一个比较复杂的问题,例如我们可以知道:{1,2,4},{2,3,5},{3,4,6},{4,5,1},{5,6,2},{6,1,3}是同一种类型,这是由于圆桌排序的循环问题导致的。但当我们找到{1,3,6}时,我们发现,这个也和{1,2,4}重复。所以,如果我们想从其中得出一个具体公式,我们就不能使用编号排列的方式。
那我们应该将注意力放到哪里呢?间隔,官能团之间的间隔!
问题的抽象
至于这个方法的正确性的验证,我们下次再谈。毕竟像这种灵光一闪的念头,总是想先把问题解决,再证明正确性。即使不正确,估计也八九不离十了。
我们进行如下的定义:两个相邻的官能团之间的距离为零。然后,两个官能团之间能放几个官能团,距离就是几。
我们可以抽象出这样的问题。对于一个正N边形,在其m个角上放置m个相同的官能团,官能团之间的距离之和为(N-m)。特别地指出,官能团之间的距离是允许为0的。
我们设想官能团之间距离的不同组合方式,但始终要遵循着其之和是个定值。
从简单的来,假如只有一个官能团,放在正六边形上,距离只有一个5。假如有两个相同的官能团,距离有多少种选择呢?{0,5},{1,4},{2,3},从中我们可以看出第一项是按照递增的顺序,而第二项是按照递减的顺序,且当第一项变成
[
N
−
1
2
]
[\frac{N-1}{2}]
[2N−1],为了研究的方便,我们把分母变成N。那么问题就变成了有n个未知数:
x
1
+
x
2
+
x
3
⋯
+
x
n
=
N
x_1 + x_2 +x_3 \dots +x_n = N
x1+x2+x3⋯+xn=N的问题。需要注明的是:
x
i
x_i
xi为非负整数,求不同的组合方式。
问题的解决策略
问题:
x
1
+
x
2
+
x
3
⋯
+
x
n
=
N
x_1 + x_2 +x_3 \dots +x_n = N
x1+x2+x3⋯+xn=N
首先,让前(n-1)项为0,最后一项为N。1种。
第二步:让前(n-2)项为0,最后两项和为N,有
∑
i
=
1
[
N
2
]
1
\sum_{i=1}^{[\frac{N}{2}]}1
∑i=1[2N]1种方法。
第三步:让前(n-3)项为0,最后三项之和为N,因为前(n-3)项为零,所以区别与有(n-2)个零的项排序的方法就是让最后三个数没有一个为零。于是就会有:
∑
i
=
1
[
N
3
]
∑
j
=
i
[
N
−
i
2
]
1
\sum_{i=1}^{[\frac{N}{3}]} \sum_{j=i}^{[\frac{N-i}{2}]}1
∑i=1[3N]∑j=i[2N−i]1种方法。
…
\dots
…
第四步,第五步,就是第三步的递推。
把这些全部加起来,我们可以得出一个公式:
W
a
y
s
=
∑
x
1
=
0
[
N
n
]
∑
x
2
=
x
1
[
N
−
x
1
n
−
1
]
∑
x
3
=
x
2
[
N
−
x
1
−
x
2
n
−
2
]
⋯
∑
x
n
−
1
=
x
n
−
2
[
N
−
x
1
−
⋯
−
x
n
−
2
2
]
1
Ways = \sum_{x_1=0}^{[\frac{N}{n}]} \sum_{x_2=x_1}^{[\frac{N-x_1}{n-1}]}\sum_{x_3=x_2}^{[\frac{N-x_1-x_2}{n-2}]}\dots \sum_{x_{n-1}=x_{n-2}}^{[\frac{N-x_1-\dots-x_{n-2}}{2}]}1
Ways=∑x1=0[nN]∑x2=x1[n−1N−x1]∑x3=x2[n−2N−x1−x2]⋯∑xn−1=xn−2[2N−x1−⋯−xn−2]1
验证
笔者在这里进行一个小验证,那苯上的三个相同的官能团来说:我们有{0,0,3},{0,1,2},{1,1,1}三种不同排序方式,简单证明其正确性。
尾声
这只是突然的一个想法,正确性与否还未进行验证,如有错误还请各位看官指出。