一个男孩女孩排队换位的命题的证明与相关拓展分析

原题:30 个小孩排队候诊。从 8:00 起每一分钟,每个身后站着女孩的男孩和这个女孩换位。求证:这个换位过程会在 8:30 诊室开门之前结束。

证法一:采用数学归纳法,证明一般性的命题:

n 个小孩任意排成一列,每过一分钟来一轮换位,即每个身后站着女孩的男孩和这个女孩换位。直到所有的男孩身后都没有女孩为止。求证:换位轮次不大于 n-1。

n = 1 时,命题显然成立。假设 n = k(k ≥ 1)时,命题成立,即 k 人队列的换位轮次不大于 k-1。以下考虑 n = k + 1 的情形:

(1)如果初始队列中全是男孩或全是女孩,则命题显然成立;

(2)如果初始队列中有男孩也有女孩,记女孩中排在最前面位置的那一个为 H,分以下子情形讨论:

【2-1】如果 H 处在队首位置,则每一轮换位都与 H 无关,即等价于除去 H 之外的 k 人队列的换位情形,其换位轮次不大于 k-1,自然也不会大于 k,命题成立;

【2-2】如果 H 前面有 m(1 ≤ m ≤ k)个男孩,H 要经过 m 轮换位才能到达队首位置。而且在完成第一轮换位后,H 的前面有 m-1 个男孩,而 H 和后面的女孩(如果还有的话)不相邻,中间隔着至少 1 个男孩,且随后的每一轮换位都会把 H 前面的一个男孩换到 H 的后面,直到 H 被换到队首的位置(此时对应【2-1】的情形)。这说明从第二轮换位起,其它女孩的换位都不受 H 的影响,即与 H 无关,等价于除去 H 之外的 k 人队列的换位情形。于是 k+1 人的换位轮次不大于 max(m, 1+k-1) = k,命题成立。

综上,一般性命题得证。

原题对应 n = 30 的情形,所以最多要经过 29 轮换位,即从 8:00 起,至多过 29 分钟(即 8:29 时),换位过程结束。

附言:

上面的数学归纳法也可以记男孩中排在最末尾位置的那一个为 T,围绕 T 分情况讨论,过程类似。

 

证法二:同样先证明一般性的命题:

n 个小孩任意排成一列,每过一分钟来一轮换位,即每个身后站着女孩的男孩和这个女孩换位。直到所有的男孩身后都没有女孩为止。求证:换位轮次不大于 n-1。

把这 n 个小孩的初始排队的状态用如下的序列来表示:

U = (b) [a1,b1) ... [ak,bk) [a]          ①

这里实际上按性别的不同,对 n 个小孩做了分组划分:

(1)队头的女孩分组由 b 个女孩组成,队尾的男孩分组由 a 个男孩组成,显然这两个分组的成员不会参与换位,分别以 (b) 和 [a] 表示,这两个分组统称为规范组,初始状态下允许规范组为空,a, b ≥ 0;

(2)中间是 2k 个分组,男孩分组与女孩分组交替排列,这些分组从前往后两两结对,用 k 个偏序值对 [ai,bi) 表示,[ai,bi) 对应 ai 个男孩在前 bi 个女孩在后的子序列(称作偏序子序列),每个值对的左元和右元均不小于1,k ≥ 0;

(3)当 k = 0 时,U = (b) [a],即对应于经若干轮次的换位后达到的最终状态,这时 a + b = n,并称 (b) [a] 形式的序列为规范序列

为值对σi = [ai,bi) 及对应的子序列定义如下的偏序值函数:

f(σi) = f([ai,bi)) = ai + bi - 1

相应地,为序列 U = (b) σ1 ... σk [a],定义如下的偏序值函数:

F(U) = ∑ f(σi) | i=1,...,k            ②

显然由于 b + a + ∑ (ai + bi| i=1,...,k = n,F(U) 还有另一种表达式:

F(U) = n - a - b - k                 ③

由上面定义,易知 f(σi) > 0,即任意偏序值对(或偏序子序列)的偏序值都大于0,且有

0 ≤  F(U) ≤ n - 1

当 F(U) > 0 时,称序列 U 为偏序序列

当且仅当 k = 0,即 U = (b) [a] 时,F(U) = 0,规范序列的偏序值为0

当且仅当 k= 1 且 a = b = 0 时,F(U) = n-1,此时序列 U 可称作最大偏序序列

对 ① 给出的序列 U 在满足 k > 0 的条件下(即 U 为偏序序列),经过一轮换位后得到如下的序列 V:

V = (d) [c1,d1) ... [cm,dm) [c] , m ≥ 0

这里,序列 V 的构成元素的语义和满足的约束条件和由 ① 给出的序列 U 完全一致。

由 U 和 V 在形式上的一般性,函数 F 的取值为自然数,以及 1 ≤ F(U) ≤ n-1,可知只要证明 F(V) < F(U),一般情形的命题便得到证明。

不难看出,从 U 到 V 的这一轮换位实际上是 U 序列中 k 个值对所对应的 k 个子序列内部各自独立发生一次男孩与女孩的换位,这实际上定义了一个变换(置换):Γ(U) = V,即序列 U 经一次 Γ 变换后成为序列 V。

值对 [p,q) 是对应的子序列的一种缩写形式,为更加直观地体现子序列中的换位,用 1 和 0 分别指代子序列中的男孩和女孩,并用符号 A >> B 表示子序列 A 变换为子序列 B,比如值对 [4,3) 对应的子序列表示为 1111,000,对应有如下变换:

 [4,3) = 1111,000 >> 111,0 1,00 = [3,1) [1,2)

按变换结果的不同,值对 [p,q) 分以下几种情形:

(I)当 p > 1 且 q > 1 时,有 [p,q) >> [p-1,1) [1,q-1),例如上面刚给的例子:[4,3) >> [3,1) [1,2);

(II)当 p > 1 且 q = 1 时,有 [p,q) >> [p-1,1) [1],例如:[3,1) = 111,0 >> 11,0 1 = [2,1) [1];

(III)当 p = 1 且 q > 1 时,有 [p,q) >> (1) [1,q-1),例如:[1,3) = 1,000 >> 0 1,00 = (1) [1,2);

(IV)当 p = 1 且 q = 1 时,有 [p,q) >> (1) [1],即 [1,1) = 1,0 >> 01 = (1) [1]。

 如上,可以看到,情形(II)和(IV)会出现一个游离状态的男孩,用 [1] 表示;情形(III)和(IV)会出现一个游离状态的女孩,用 (1) 表示。

这四种情形的值对,为叙述方便,分别称为 I 型、II 型、III 型、IV 型值对。

由 ③ 知:

F(V) = n - c - d - m

为了使得 F(V) 比 F(U) 小,当且仅当

(c + d) + m > (a + b) + k       ④

即每一轮换位后,要么是规范组成员数增多了(c + d > a + b,这也符合总体趋势);要么是规范组成员数不变,但值对数增加了(m > k)。

以下开始用数学归纳法来证明 F(V) < F(U):

当 k = 1 时,即 U = (b) [p,q) [a],易知:

[p,q)为 I 型值对时,变换后值对数增加了1,规范组成员数不变;

[p,q)为 II 型或 III 型值对时,变换后值对数不变,规范组成员数增加了1;

[p,q)为 IV 型值对时,变换后值对数减少了1,而规范组成员数增加了2。

因此,k = 1 时,F(V) < F(U) 成立。假设 k = g(g ≥ 1)时,F(V) < F(U) 成立。以下考虑 k = g + 1 的情形:

此时,U = (b) [p,q) U' [a]

其中 [p,q) 是 U 中第一个值对,U' 是由其余 g 个值对排成的序列,记 V' = Γ(U'),由假设有 F(V') < F(U')

(1)如果 [p,q) 是 I 型值对,变换后会变成两个值对,即 Γ([p,q)) = [p-1,1) [1, q-1)

【1-1】如果 U' 中打头的是 III 型或 IV 型值对,则 V' 的头部会有一个女孩进入到规范组,而在 U 变换到 V时,这个女孩会和 Γ([p,q)) 合并为 [p-1,1) [1, q),即少了一个规范组成员同时多了一个值对,因此有 F(V) - F(U) =  F(V') - F(U') < 0

【1-2】如果 U' 中打头的是 I 型或 II 型值对,则 V' 的头部是一个值对,即在 U 变换到 V时,Γ([p,q)) 和 V' 只是拼接,而不发生值对元素合并,此时有 

 F(V) - F(U) + 1 =  F(V') - F(U') < 0

(2)如果 [p,q) 是 II 型值对,即有 Γ([p,q)) = [p-1,1) [1]

【2-1】如果 U' 中打头的是 III 型或 IV 型值对,则 V' 的头部会有一个女孩进入到规范组,而在 U 变换到 V时,这个女孩会和 Γ([p,q)) 合并为 [p-1,1) [1,1),即少了一个规范组成员同时多了一个值对,因此有 F(V) - F(U) =  F(V') - F(U') < 0

【2-2】如果 U' 中打头的是 I 型或 II 型值对,则 V' 的头部是一个值对,记为 [r,s),在 U 变换到 V时,Γ([p,q)) 末尾游离的男孩会并入 [r,s) 而合成 [r+1,s),此时有 

 F(V) - F(U) =  F(V') - F(U') < 0

(3)如果 [p,q) 是 III 型值对,即有 Γ([p,q)) = (1) [1,q-1),打头的游离状态的女孩会进入规范组

【3-1】如果 U' 中打头的是 III 型或 IV 型值对,则 V' 的头部会有一个女孩进入到规范组,而在 U 变换到 V时,这个女孩会和 Γ([p,q)) 合并为 (1) [1,q),即换了一个女孩进入规范组,因此有 F(V) - F(U) =  F(V') - F(U') < 0

【3-2】如果 U' 中打头的是 I 型或 II 型值对,则 V' 的头部是一个值对,即在 U 变换到 V时,Γ([p,q)) 和 V' 只是拼接,而不发生值对元素合并,此时有 

 F(V) - F(U) + 1 =  F(V') - F(U') < 0

(4)如果 [p,q) 是 IV 型值对,即有 Γ([p,q)) = (1) [1],同样打头的游离状态的女孩会进入规范组

【4-1】如果 U' 中打头的是 III 型或 IV 型值对,则 V' 的头部会有一个女孩进入到规范组,而在 U 变换到 V时,这个女孩会和 Γ([p,q)) 合并为 (1) [1,1),即换了一个女孩进入规范组,因此有 F(V) - F(U) =  F(V') - F(U') < 0

【4-2】如果 U' 中打头的是 I 型或 II 型值对,则 V' 的头部是一个值对,记为 [r,s),在 U 变换到 V时,Γ([p,q)) 末尾游离的男孩会并入 [r,s) 而合成 [r+1,s),即规范组成员数增加了1,而值对数减少了1,因此有 

 F(V) - F(U) = F(V') - F(U') < 0

综上可知,k = g + 1 时,F(V) < F(U) 成立。

 以上证明了 F(V) < F(U)。于是一般性命题得证。

原题对应 n = 30 的情形,所以最多要经过 29 轮换位,即从 8:00 起,至多过 29 分钟(即 8:29 时),换位过程结束。

 附言:

上述的偏序值函数 F(U) 的定义由葛永超老师定义的类似函数引申而来。他给出的定义如下:

A = {i | i 不在队首的女孩组,也不在队尾的男孩组}

B = {i | i 是男孩,且他的后面是一个女孩}

S = |A| - |B|

只要把队列中每个小孩按某种唯一标识(比如学号、身份证号等)彼此区分,就很容易理解这个定义:A 和 B 是两个集合定义,集合 A 涵盖队列中不在队首女孩组也不在队尾男孩组(即不在上述的规范组)的所有其余成员;|A| 表示集合 A 中的成员个数,由集合 B 的定义易知 |B| 就是上述的序列 U 中的偏序值对个数。S 便是 F(U)。

 

以下为拓展分析:

U 为一个由数字 0 和 1 组成的序列,从左向右遍历这个序列,考察每一个数字 1,如果这个数字右边紧邻的数字是 0,则交换它们的位置,遍历完成后得到新的序列 V。这便是上面定义的变换 Γ(U) = V 的另一个等价说法。这个变换是否有逆变换?

 沿用上面的符号 >> 来指代 变换 Γ,由变换实例 010100 >> 001010 容易想到可以定义一个反向变换 Λ:从左向右遍历一个由数字 0 和 1 组成的序列 V,考察每一个数字 1,如果这个数字左边紧邻的数字是 0,则交换它们的位置,遍历完成后得到新的序列 U,即 Λ(V) = U。于是

Λ(001010) = 010100

再看一个  Γ 变换实例(符号 << 指代 Λ 变换):

M = 0101001 >> 0010101 = N,而

N = 0010101 << 0101010 = W,且

W = 0101010 >> 0010101 = N

即找到三个互不相同的序列 M、N、W,满足  Γ(M) =  Γ(W) = N。因此,Γ 变换不存在逆变换。

 

上面定义的 Λ 变换是否有逆变换?

把所有的 0 看成 1,把所有的 1 看成 0,可以看出 Λ 变换实质上就是 Γ 变换,因此 Λ 变换也不存在逆变换。和上面反例相对应的反例如下:

M' = 1010110 << 1101010 = N',而

N' = 1101010 >> 1010101 = W',且

W' = 1010101 << 1101010 = N'

即找到三个互不相同的序列 M'、N'、W',满足  Λ(M') =  Λ(W') = N'。

 

给定一个由数字 0 和 1 组成的偏序序列 U,问要经过多少次 Γ 变换才能变成规范序列?

记要经过的 Γ 变换次数为 ω(U)。

先考虑 U 中只有一个偏序值对 [p,q),即 ① 中 k=1 的情形:

当 [p,q) 为 IV 型值对时,[1,1) >> (1) [1],显然 ω(U) = 1 = F(U);

当 [p,q) 为 III 型值对时,[1,q) >> (1) [1,q-1),易知 ω(U) = q = F(U);

当  [p,q) 为 II 型值对时,[p,1) >>  [p-1,1) [1],同样有 ω(U) = p = F(U);

当  [p,q) 为 I 型值对时,[p,q) >>  [p-1,1) [1,q-1),对 p 和 q 分情形考虑,不难推出 ω(U) = p+q-1 = F(U)。

考虑 U 中恰有两个偏序值对 [p,q) [r,s) ,即 ① 中 k=2 的情形:

考察一个 III 型值对和一个 II 型值对组合的例子

例 1:U = [p,q) [r,s) = [1,4) [3,1) 

[1,4) [3,1) >> (1) [1,3) [2,1) [1] = U1 >> (2) [1,2) [1,1) [2] = U2 >> (3) [1,2) [3] >> (4) [1,1) [3] >> (5) [4] 

U 经过了 5 次 Γ 变换后成为规范序列 (5) [4],其中头两次 Γ 变换都是偏序值减 2,即 F(U) - 2 = F(U1), F(U1) - 2 = F(U2),之后的 Γ 变换每次都是偏序值减 1。

从变换规律看,偏序值减 2 的变换都是 q 和 r 各减 1,维持值对数不变,而两头的规范组成员各加 1。此例中,min(q,r) - 1 = min(4,3) - 1 = 2,即有 

ω(U) = F(U) - min(q,r) + 1

接着考察由两个 I 型值对组成的例子

例 2:U = [p,q) [r,s) = [2,4) [3,4)

[2,4) [3,4)

>>      [1,1) [1,3)  [2,1) [1,3)          // 值对数加 2

>> (1) [1,1) [1,2)  [1,1) [1,1) [1,2)     // 值对数加 1,规范组成员加 1

>> (2) [1,1) [1,2)  [1,1) [1,1) [1,1)      // 值对数不变,规范组成员加 1 

>> (3) [1,1) [1,2)  [1,1) [1,1) [1]     // 值对数减 1,规范组成员加 2 

>> (4) [1,1) [1,2)  [1,1) [2]      // 值对数减 1,规范组成员加 2 

>> (5) [1,1) [1,2)  [3]      // 值对数减 1,规范组成员加 2 

>> (6) [1,1) [1,1)  [3]      // 值对数不变,规范组成员加 1

>> (7) [1,1)  [4]      // 值对数减 1,规范组成员加 2

>> (8) [5]      // 值对数减 1,规范组成员加 2

不难发现,本例中依然满足:ω(U) = F(U) - min(q,r) + 1

对于其它类型的值对组合,也不难推出:ω(U) = F(U) - min(q,r) + 1

综上,对于 ① 中 k=1 的情形,有 ω(U) = F(U);对于 ① 中 k=2 的情形,有 ω(U) = F(U) - min(b1,a2) + 1

为了能统一这两种情形以及随后出现的可能更为复杂的情形的 ω(U) 的表达式,会用到如下的引理:

引理 1:为 ① 给出的序列 U 增加一个 IV 型值对(保留两端的规范组不变),或者从 U 的 k 个值对中去掉一个 IV 型值对(如果有的话),则得到的新序列 W 必然满足 F(W) - ω(W) = F(U) - ω(U)。若从 U 到 W 是增加了一个 IV 型值对,则有 ω(W) - ω(U) = F(W) - F(U) = 1。

引理 1 的证明暂缺。

k=1 时,U = (b) [a1,b1) [a],记 W = (b) [a1,b1) [1,1) [a],由引理 1 有

F(W) - ω(W) = F(U) - ω(U)

而 F(W) - ω(W) = min(b1,1) - 1 = 0

故有 ω(U) = F(U),此时,U 中没有值对 [a2,b2),但令不存在的 a2 为 1,ω(U) = F(U) - min(b1,a2) + 1 也就和 ω(U) = F(U) 统一了。

考虑 U 中恰有三个偏序值对 [p,q) [r,s) [t,u) 的情形:

考察如下的两个 I 型值对被一个 IV 型值对隔开的例子

例 3:U = [p,q) [r,s) [t,u) = [3,4) [1,1) [5,3)

[3,4) [1,1) [5,3)

>>      [2,1) [1,4) [5,1) [1,2)          // 值对数加 1

>>      [1,1) [1,1) [1,3) [4,1) [1,1) [1,1)          // 值对数加 2

>> (1) [1,1) [1,1) [1,2) [3,1) [1,1) [1,1) [1]         // 值对数不变,规范组成员加 2 

这个例子的特别之处在于它的第一次变换,偏序值只减少了 1,但随即出现了前面两个例子一样的序列段,即两个相邻值对中前者的右元和后者的左元都大于 1(简称:前右后左都大于 1)。

进一步可推出本例中 ω(U) = F(U) - min(q,t) + 1

由引理 1 可知,对于任意的 U = (b) [p,q) V [t,u) [a],其中 V 由任意个数的 IV 型值对组成,记 W = [p,q) [t,u),有

F(U) - ω(U) = F(W) - ω(W) = min(q,t) - 1,即有 ω(U) = F(U) - min(q,t) + 1

把例 3 中间的值对换成 III 型值对,比如

例 4:U = [p,q) [r,s) [t,u) = [3,4) [1,3) [5,3)

[3,4) [1,3) [5,3)

>>      [2,1) [1,4) [1,2) [4,1) [1,2)          // 值对数加 2

>>      [1,1) [1,1) [1,4) [1,1) [3,1) [1,1) [1,1)          // 值对数加 2

>> (1) [1,1) [1,1) [1,4) [3,1) [1,1) [1,1) [1]         // 值对数减 1,规范组成员加 2

这个例子里,后两个值对构成前右后左都大于 1 的序列段,且 min(s,t) - 1 = 2,即头两次变换都是偏序值减 2;第 3 次变换是偏序值减 1,但再次出现前右后左都大于 1 的序列段,这时有

min(q, max(s,t) - min(s,t) + 1) - 1 = min(q, |s-t| + 1) - 1 = min(4,3) - 1 = 2

即接着又会有两次变换都是偏序值减 2,因此可推测 

ω(U) = F(U) - min(s,t) + 1 - min(q, |s-t| + 1) + 1          ⑤

依然是两个 I 型值对中间放一个 III 型值对,但这次令 s > t,比如

例 5:U = [p,q) [r,s) [t,u) = [2,3) [1,3) [2,2)

[2,3) [1,3) [2,2)

>>      [1,1) [1,3) [1,2) [1,1) [1,1)          // 值对数加 2

>> (1) [1,1) [1,3) [1,2) [1,1) [1]         // 值对数减 1,规范组成员加 2

>> (2) [1,1) [1,3) [1,2) [2]         // 值对数减 1,规范组成员加 2

>> (3) [1,1) [1,3) [1,1) [2]         // 值对数不变,规范组成员加 1

之后的变换由引理 1 可知都是偏序值减 1

从这个例子看,min(s,t) - 1 = min(3,2) - 1 = 1,即头 1次变换都是偏序值减 2,之后的变换都是偏序值减 1,于是有

 ω(U) = F(U) - min(s,t) + 1,而

min(q, |s-t| + 1) - 1 = min(3, 3-2+1) - 1 = 1,这说明 ⑤ 是错误的。即对于 U = [p,q) [1,s) [t,u),没有一个简洁而统一的 ω(U) 表达式。

上面的考察中,对于 U = [p,q) [1,s) [t,u),已经得到大致如下的结论:

当 s ≤ t 时,ω(U) = F(U) - min(s,t) + 1 - min(q, t - s + 1) + 1     ⑥

当 s > t 时,ω(U) = F(U) - min(s,t) + 1           ⑦

接下来看看,不再限定 [p,q) 和 [t,u) 为 I 型值对时,⑥ 和 ⑦ 是否依然符合。

例 6:U = [p,q) [r,s) [t,u) = [3,1) [1,3) [5,1)

[3,1) [1,3) [5,1)

>>      [2,1) [1,1) [1,2)  [4,1) [1]          // 值对数加 1,规范组成员加 1

>>      [1,1) [1,1) [1,1) [1,1)  [3,1) [2]          // 值对数加 1,规范组成员加 1

之后的变换由引理 1 可知都是偏序值减 1

这个例子是两个 II 型值对中间有一个 III 型值对,容易验证满足 ⑥,由于 q=1,也可以说同时满足 ⑦。

例 7:U = [p,q) [r,s) [t,u) = [1,3) [1,3) [5,1)

[1,3) [1,3) [5,1)

>> (1) [1,3) [1,2)  [4,1) [1]          // 值对数不变,规范组成员加 2

>> (2) [1,3) [1,1)  [3,1) [2]          // 值对数不变,规范组成员加 2

>> (3) [1,3)  [3,1) [3]          // 值对数减 1,规范组成员加 2

>> (4) [1,2)  [2,1) [4]          // 值对数不变,规范组成员加 2

>> (5) [1,1)  [1,1) [5]          // 值对数不变,规范组成员加 2

这个例子是一个 III 型值对在前,一个 II 型值对在后,中间有一个 III 型值对,容易验证满足 ⑥。

接着考察 U = [p,q) [r,s) [t,u) 中,中间值对是 II 型值对的情形,应该会有类似 ⑥ 和 ⑦ 的结论

例 8:U = [p,q) [r,s) [t,u) = [1,2) [3,1) [5,1)

[1,2) [3,1) [5,1)

>> (1) [1,1) [2,1) [5,1) [1]          // 值对数不变,规范组成员加 2

>> (2) [2,1) [5,1) [2]          // 值对数减 1,规范组成员加 2

>> (2) [1,1) [5,1) [3]          // 值对数不变,规范组成员加 1

 这个例子里,ω(U) = F(U) - min(q,r) + 1

例 9:U = [p,q) [r,s) [t,u) = [1,5) [3,1) [4,1)

[1,5) [3,1) [4,1)

>> (1) [1,4) [2,1) [4,1) [1]          // 值对数不变,规范组成员加 2

>> (2) [1,3) [1,1) [4,1) [2]          // 值对数不变,规范组成员加 2

>> (3) [1,3) [4,1) [3]          // 值对数减 1,规范组成员加 2

>> (4) [1,2) [3,1) [4]          // 值对数不变,规范组成员加 2

>> (5) [1,1) [2,1) [5]          // 值对数不变,规范组成员加 2

这个例子和上个例子不同之处在于 q > r,因而有

ω(U) = F(U) - min(q,r) + 1 - min(t, q - r + 1) + 1

综合例 8 和例 9,对于 U = [p,q) [r,1) [t,u),有如下结论:

当 q > r 时,ω(U) = F(U) - min(q,r) + 1 - min(t, q - r + 1) + 1     ⑧

当 q ≤ r 时,ω(U) = F(U) - min(q,r) + 1           ⑨

最后考察一下三个值对都是 I 型的例子

例 10:U = [p,q) [r,s) [t,u) = [4,5) [3,4) [6,4),求 ω(U) 的值。

[4,5) [3,4) [6,4)

>> [3,1) [1,4)  [2,1) [1,3)  [5,1) [1,3)          // 值对数加 3

>> [2,1) [1,1) [1,3)  [1,1) [1,1) [1,2)  [4,1) [1,1) [1,2)          // 值对数加 3

>> [1,1) [1,1) [1,1) [1,3)  [1,1) [1,1) [1,1)  [3,1) [1,1) [1,1) [1,1)          // 值对数加 2

再往下探寻偏序值减幅大于 1 的变换,由引理 1 可知,等同于探寻去掉所有 [1,1) 值对(即 IV 型值对)后余下的值对序列,即 

[1,3) [3,1)

>> (1) [1,2) [2,1) [1]          // 值对数不变,规范组成员加 2

>> (2) [1,1) [1,1) [2]          // 值对数不变,规范组成员加 2

本例中, F(U) = 8+6+9 = 23,实际的变换过程中有两次是偏序值减 3,还有三次是偏序值减 2,因而

ω(U) = 23 - (3-1)·2 - (2-1)·3 = 16。

posted on 2021-06-20 21:12  readalps  阅读(213)  评论(0编辑  收藏  举报

导航