org-page

static site generator

一个西瓜切 4 最多有多少块?

这不是发散思维问题

这不是发散思维问题, 所以无数块这种回答可以路过了。

我在大二的时候,对这个问题进行了深入分析,最终得到一个通用的空间切割公式,无论多少纬空间都适用。记得当时和我的数学老师讨论这个问题后,他叫我写篇文章发表出去。不过最终没发表成功:

  1. 我不是教授;
  2. 文章太短,废话太少;

大家如果觉得我分析的原因是开玩笑的话,试问你们在中国论文数据库里面搜索到几篇对你有帮助的论文。这年代,只要你是个教授,把已知公式的行列式展开都能重新发表。好像跑题了,好吧,咱们继续。

1 应该先提供答案吗?

想了一下,还是不了,给一些喜欢思考的朋友提供思维空间,实在喜欢直接看答案的跳到文章最后去吧。

BTW: 切 3 刀都答错的人,重新爬回妈的肚子吧。

2 给大家打一个镇定剂

初看这个问题,貌似需要很强的空间思维能力,关于这个,你可以放心,看完这篇文章,发现这压根只需要 0 维空间想象级别。0 维?那就是不需要。

3 西瓜切 4 刀是什么概念?

西瓜,那就是一个 3 维空间,切 4 刀,相当于用 4 个平面去切割,把这 4 个平面向 3 维空间延伸一下,会变成什么样?

好了,先不回答这个问题,先降维讨论 1 维空间的切割问题,那就是 4 个点切一条线,4 个点(0 维)向 2 维空间延伸一下,会变成 4 条线切一条线。如图:

cut-line.png

上面转换我们把 4 个点切直线问题,变成了 4 条线切直线问题,这是因为线与线相交得到点,最终实际起到切割作用的是点。推广来, d-1 空间切割 d 维空间也可以转换成 d 维切割 d 维空间,因为 d 维和 d 维相交得到 d-1 维空间,实际起到切割作用的就是这 d-1 维空间。

上诉转换方式看起来既无意义,也很白痴,不过,请相信我,你想记住这个 重要 的转换,因为我们马上要用到了。

3.1 结论

d-1 为空间切割 d 维空间也可以转换成 d 维切割 d 维空间。

4 什么是切割?

4.1 定义切割

切割是从一个区域的边界进入,从另外一个边界出去。

以线切割一个矩形例子, 从一条边进入,从另外一条边出去, 这样就把矩形分成了 2 半,我们假设这次是横着穿过矩形的,用的直线 A。现在在竖着用直线 B 切割一次如何,我们将矩形分成了 4 块。第一次切割得到 2 块, 第二次切割得到 4 块,相比第一次多了 2 块,这 2 块从哪里来的?这 2 块来自于第二条直线 B 切割了两个区域 — 白色和灰色区域,B 直线从上到下两次出入边界,而 A 是一条特殊边界,黑色和白色共享的,B 与其相交既是从边界 A 离开白色区域,也是从边界 A 进入灰色区域。我们暂且称 A 这类边界为切割边界。很明显,当我们完成 B 的切割,B 本身也就成了切割边界。

cut-square.png

下面我们依次用 B,C,D 直线来切割矩形:

  1. 根据切割定义,B 切割了几个区域,取决于 B 与切割边界 A 相交了多少次,反过来说,切割边界 A 可以把 B 分成几个区域? 这等价于用 1 个点切割直线 B,可以分成几个区域,答案是 2 个。得到总区域数:=2 + 2 = 4=
  2. 现在用第 3 条直线 C 来切割矩形,C 能切割几个区域了?用 2 个点分隔直线 C (A, B 2 个切割边界去切 C), 得到答案是 3。总分隔的区域数是: 4 + 3 = 7
  3. 用第 4 条直线切割,我不分析了,总区域数是:=7 + 4 = 11=

5 总结

  1. n 条直线切割平面,最多可以切割成几个区域?

    n - 1 条直线切割完成时,得到 y(n-1) 个区域,同时具有 n - 1 个切割边界,n - 1 个点可以把第 n 条直线切成 n 块,所以有:

    y(n) = y(n-1) + n, 其中 y(0) = 1

    y(0) 代表没有切割, 那就是一整个平面区域。

  2. d 维空间切割 n 次, 最多可以切割成几个区域?

    设分隔的区域数为二元函数:y(d, n), 那么 n - 1 次完成后,得到 y(d, n-1) 个区域,同时具有 n - 1 个切割边界, 第 n 次用空间 D (d-1 维空间) 切割时,能切割区域数等价于 D 空间切割 n - 1 次的区域数 y(d-1, n-1), 那么可以得:

    y(d, n) = y(d, n-1) + y(d-1, n-1)

    1. 其中对于任何 n 有 y(0, n) = 1(点无论切割几次,只有一个点)
    2. 对于任何 d 有 y(d, 0) = 1(无论几维空间, 切割 0 次都是空间自己本身)
  3. 看图说话

    cut-watermelon.png

    观察 L 形的蓝色区域,你会发现,表格中的任何一处都有这个规则,?六个读者填了,其中紫色的?号就是文章标题的答案。

6 公式

不提供公式证明了,d 维空间切割 n 次做多分割数维为:

y(d, n) = C(n, d) + C(n, d - 1) + … + C(n, 0)

其中 C(p, q) 代表组合数, 从 p 中取 q 个的组合数。

7 答案

标题答案是 15

Comments

comments powered by Disqus