Erdős-Szekeres定理

概述

Erdős-Szekeres定理(Erdős-Szekeres Theorem):任意由 个不同实数组成的序列中,必存在长度为 的单调递增子序列或单调递减子序列。

定理陈述

形式化陈述

定理(Erdős & Szekeres, 1935):设 是由 个不同实数组成的序列,则该序列中必存在长度至少为 的严格递增子序列或严格递减子序列。

一般形式

更一般地,对任意正整数 ,由 个不同实数组成的序列中,必存在长度为 的递增子序列或长度为 的递减子序列。

即得到上述经典形式。

证明概要

证明思路

证明采用Seidenberg鸽巢论证(1959),优雅而简洁:

第一步:定义配对

对序列中每个位置 ),定义有序对: 其中:

  • = 以 为结尾的最长递增子序列的长度
  • = 以 为结尾的最长递减子序列的长度

第二步:证明配对互不相同

关键引理:若 ,则

证明:设以 结尾的最长递减子序列为 。若 ,则在以 结尾的最长递减子序列中, 可以接在 前面(因为 ),从而得到一条以 结尾的、长度至少为 的递减子序列,与 的定义矛盾。

类似地,若 ,则 (即 值减小时 值增大)。

因此,当 时,,即所有 个配对互不相同。

第三步:应用鸽巢原理

假设结论不成立,即不存在长度为 的递增子序列,也不存在长度为 的递减子序列。

那么对每个

因此每个配对 都取自集合 ,该集合共有 个元素。

但我们有 个互不相同的配对,由鸽巢原理,至少有两个配对相同,矛盾。

参考文献

关键推论

  • 推论1:在任意 人的队列中,总能找到 个人按身高递增或递减排列
  • 推论2:该定理与Dilworth定理(偏序集的链分解)密切相关——序列上的”小于”关系构成偏序,递增子序列对应链,递减子序列对应反链
  • 推论3 是紧的(tight),即存在长度为 的序列既不含长度为 的递增子序列,也不含长度为 的递减子序列(例如将 按特定方式排列)

应用场景

  • 排序算法分析:该定理给出了比较排序的下界直觉——任何排序算法在最坏情况下需要 次比较
  • 计算几何:在点集的凸包问题中,Erdős-Szekeres定理保证足够大的点集中存在凸 边形
  • Ramsey理论:该定理是Ramsey理论的一个经典实例,展示了”足够大的结构中必然出现特定模式”的思想
  • 偏序集理论:通过Dilworth定理的桥梁,该定理在偏序集的宽度和链分解中有重要应用
  • 数据压缩:在序列编码和信息论中,单调子序列的存在性影响最优编码策略

参见