Nauka trójkątów w płaszczyźnie

13

I przypisany Moi studenci problem znalezienia trójkąt spójne z kolekcją punktów w R 2 , oznaczonego ± 1 . (Trójkąt T jest zgodny z próbką oznaczoną, jeśli T zawiera wszystkie punkty dodatnie i żaden z punktów ujemnych; z założenia próbka przyjmuje co najmniej 1 spójny trójkąt).mR2±1TT

Najlepsze, co mogliby zrobić (lub ja), to algorytm działający w czasie , gdzie m to wielkość próbki. Czy ktoś może zrobić lepiej?O(m6)m

Aryeh
źródło
Żeby było jasne: wierzchołki trójkąta nie muszą być punktami kolekcji, prawda? Czy dopuszczalne są punkty ujemne na granicy?
ex0du5
(1) Głosowałem za zamknięciem pytania, ponieważ źle zrozumiałem problem. System nie pozwala mi anulować mojego głosu, ale praktycznie go anuluję. (2) Myślę, że istnieje algorytm czasu O (m log m), ale nie mam czasu, aby go teraz zweryfikować. Chodzi o to, aby obliczyć wypukły kadłub pozytywnych przykładów i omiatać ten wypukły kadłub, aby znaleźć trzy linie tworzące pożądany trójkąt.
Tsuyoshi Ito
@ ex0du5 - rzeczywiście wierzchołki trójkąta nie muszą składać się z punktów próbnych. Jeśli chodzi o kwestie brzegowe, można je tutaj zignorować, ponieważ są nieistotne. [Jeśli granica liczy się jako część trójkąta, to nie będziesz mieć ujemnych punktów na granicy.]
Aryeh
@TsuyoshiIto: Myślałem podobnie, ale zdarzają się przypadki, w których krawędzie trójkąta nie mogą być współliniowe z krawędziami wypukłego kadłuba, ale trójkąt nadal istnieje. Trójkąt nadal oczywiście zawiera wypukły kadłub, ale nie tylko rozszerza linie kadłuba i znajduje trójkąt. Możesz potrzebować linii, które są obracane wokół niektórych wierzchołków, aby uniknąć punktów ujemnych. Dlatego zapytałem o negatywy na granicy, aby umożliwić algorytmowi wyszukiwania, który wybrał linie od wierzchołków kadłuba do negatywów, aby zachować dyskretne wyszukiwanie.
ex0du5
@ ex0du5: Cóż, nie zakładałem, że krawędzie trójkąta są równoległe do niektórych krawędzi wypukłego kadłuba pozytywnych przykładów.
Tsuyoshi Ito

Odpowiedzi:

14

O(nlogn)Ω(nlogn)

CqqCCW(q)CFW(q)CFCFO(nlogn)

przykład $ C $ i $ F $

FFO(n)Fee

Zobacz oryginał, aby uzyskać więcej informacji:

Jeffε
źródło
3

TT

tABtBCBC

t

  1. t
  2. ABtAABCABBCAC
  3. t

O(m2)

shalabuda
źródło