学习平面中的三角形


13

我给学生们分配了一个问题,即找到一个与R 2中个点的集合一致的三角形,并用± 1标记。(A三角形Ť一致的与标记的样品,如果Ť包含的所有正和无负点的;可以通过假设,样品坦言至少1一致的三角形)。mR2±1TT

他们(或我)可以做的最好的事情是在时间运行的算法,其中m是样本大小。谁能做得更好?O(m6)m


只是要清楚一点:三角形的顶点不必是集合的点,对吗?在边界上有负点是可以接受的吗?
ex0du5

(1)因为对这个问题有误解,所以我投票决定结束这个问题。该系统不允许我取消投票,但实际上是取消投票。(2)我认为有一个O(m log m)时间算法,但是现在没有时间去验证它。想法是计算正例的凸包,并在该凸包周围扫一扫,以找到形成所需三角形的三条线。
伊藤刚(Tsuyoshi Ito)

@ ex0du5-实际上,三角形的顶点不必包含采样点。至于边界问题,由于它们是非必需的,因此可以在此处忽略。[如果边界算作三角形的一部分,那么边界上就不会有负点。]
Aryeh

@TsuyoshiIto:我的想法与此类似,但是在某些情况下,三角形的边缘不能与凸包的边缘共线,但是三角形仍然存在。三角形显然仍然包含凸包,但不仅仅是延伸包壳线并找到三角形。您可能需要绕某些顶点旋转的线,以避开负点。这就是为什么我询问边界上的负数的原因,以允许使用一种搜索算法,该算法从船体的顶点到负数之间选择线,以使其保持离散搜索。
ex0du5

@ ex0du5:好吧,我没有假设三角形的边缘与正例的凸包的某些边缘平行。
伊藤刚(Tsuyoshi Ito)2012年

Answers:


14

正如@TsuyoshiIto所建议的,由于Edelsbrunner和Preparata的缘故,有一个时间算法。实际上,他们的算法找到了一个具有最少可能边缘数量的凸多边形,该凸多边形将两个点集分开。他们还证明了代数决策树模型中更普遍的问题的Ω n log n 下界。但是,尚不清楚该下限是否适用于三角形情况。O(nlogn)Ω(nlogn)

对该算法的完整描述太长,无法在此处发布,但这是基本思想。令为正点的凸包。对于每一个不利点q,考虑通过线q相切的Ç。这些线将平面分成四个楔形,其中之一包含C;令W q 为与包含C的楔相对的楔。最后,令F(“禁区”)为所有楔形W q )的并集。任何分隔三角形必须将CF分隔开CqqCCW(q)CFW(q)CF。既˚F可以被构造Ö Ñ 登录Ñ 时间。CFO(nlogn)

$ C $和$ F $的示例

FFO(n)Fee

有关更多详细信息,请参见原始论文:

  • Herbert Edelsbrunner和Franco P. Preparata。 最小多边形间距信息与计算 77(3):218-232,1988年。

3

TT

tABtBCBC

t

  1. t
  2. ABtAABCABBCAC
  3. t

O(m2)

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.