区域定理的更直观证明?


10

区域定理说,如果我们用另一条线刺入n条线的排列,则其区域(与之相邻的所有0、1和2面的集合)的总复杂度为O(n)。实际常数至少在各种教科书中都说过,大约为6n,而证明是通过归纳法得出的,并经过相当仔细的收费论证。

在课堂上有人问我这个问题,但没有答案:

区域定理是否存在另一种更直观的证明?

现在,我意识到许多人发现归纳法非常直观,并且会因我的含意而冒犯,并且愿意将以上内容修改为仅“替代”它们。但是有没有这样的证据?甚至是书中证明

Answers:


5

这不是更干净的方法,但是它是为更高级的东西做准备的好方法,并且是抽象的一个很好的例子...

可以使用Davenport-Schinzel序列参数。考虑区域线上方的区域。每条线变成一条光线,实际上是两条光线,因为我们认为左侧和右侧是不同的。从左到右扫描该区域的边界,记下遇到的光线。这是在2n个符号上定义的序列,并且模式abab是非法的。这样,序列的长度最多为2(2n)-1 = 4n-1。将其应用到该线下方的区域,意味着边界为8n。

现在,证明没有... a..b..a..b ...作为n个符号的子序列的符号序列的长度为2n-1是容易的。实际上,请考虑在此序列中彼此最接近的两个相同字符的连续出现。显然,在这两个字符之间,出现的每个字符必须是唯一的。考虑一个这样的字符,并观察它是否出现在字符串中的其他位置,那么我们将获得禁止的子序列。因此,此字符在字符串中仅出现一次。删除它,如果您创建了两个连续的相同字符,则需要删除一个多余的字符。即,从字符串中删除字符将其缩短2,因此,字符串的最大长度为2n-1。


4

我发现归纳法非常直观,并且被您的含意所冒犯。但是什么收费的论点呢?

Wlog假定定义区域的线是水平的(否则旋转),并且这些线处于一般位置(否则会扰动并使区域更复杂)。删除其他n行之一。将生成区域的边缘分为左边界或右边界,分别取决于区域是位于其右侧还是左侧。(有些边沿既是左边界又是右边界,但在复杂性边界中被计数两次。)根据归纳假设,最多存在3n-3个左边界。(基本情况n = 0是微不足道的。)重新插入已删除的行最多会添加3个左边界(该行本身有一个边界,另外两个则是分割较旧的左边界)。因此,左边界的总数至多为3n。对称地,右边界的数量最多为3n,因此区域的总复杂度最多为6n。


也许只是在情人眼中。但是在我看来,区域定理需要一个“书”证明。
Suresh Venkat 2010年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.