Apprentissage des triangles dans l'avion


13

J'ai assigné à mes élèves le problème de trouver un triangle cohérent avec une collection de points dans , étiqueté avec . (Un triangle est cohérent avec l'échantillon étiqueté si contient tous les points positifs et aucun des points négatifs; par hypothèse, l'échantillon admet au moins 1 triangle cohérent).mR2±1TT

Le mieux qu'ils (ou moi) pourraient faire est un algorithme qui s'exécute dans le temps , où est la taille de l'échantillon. Quelqu'un peut-il faire mieux?O(m6)m


Juste pour être clair: les sommets du triangle n'ont pas besoin d'être des points de la collection, non? Et il est acceptable d'avoir des points négatifs sur la frontière?
ex0du5

(1) J'avais voté pour clore la question parce que j'avais mal compris le problème. Le système ne me permet pas d'annuler mon vote, mais je l'annule virtuellement. (2) Je pense qu'il existe un algorithme O (m log m), mais je n'ai pas le temps de le vérifier pour le moment. L'idée est de calculer la coque convexe des exemples positifs et de balayer cette coque convexe pour trouver trois lignes formant le triangle souhaité.
Tsuyoshi Ito

@ ex0du5 - en effet, les sommets du triangle n'ont pas besoin d'être constitués des points d'échantillonnage. Quant aux problèmes de frontière, ils peuvent être ignorés ici car ils sont inessentiels. [Si la frontière compte dans le triangle, alors vous n'aurez pas de points négatifs sur la frontière.]
Aryeh

@TsuyoshiIto: Je pensais de la même façon, mais il y a des cas où vous ne pouvez pas avoir les bords du triangle colinéaires aux bords de la coque convexe, mais un triangle existe toujours. Le triangle contient toujours évidemment la coque convexe, mais il ne s'agit pas simplement d'étendre les lignes de la coque et de trouver le triangle. Vous pouvez avoir besoin de lignes qui tournent autour de certains des sommets pour éviter les points négatifs. C'est pourquoi j'ai posé des questions sur les négatifs sur la frontière, pour permettre à un algorithme de recherche qui a choisi des lignes allant des sommets de la coque aux négatifs de garder une recherche discrète.
ex0du5

@ ex0du5: Eh bien, je n'ai pas supposé que les bords du triangle sont parallèles à certains bords de la coque convexe des exemples positifs.
Tsuyoshi Ito

Réponses:


14

Comme le suggère @TsuyoshiIto, il existe un algorithme pour ce problème, dû à Edelsbrunner et Preparata. En fait, leur algorithme trouve un polygone convexe avec le nombre minimum possible d'arêtes qui sépare les deux ensembles de points. Ils prouvent également une borne inférieure Ω ( n log n ) pour le problème plus général du modèle d'arbre de décision algébrique; cependant, il n'est pas clair si cette limite inférieure s'applique au cas du triangle.O(nlogn)Ω(nlogn)

Une description complète de l'algorithme est trop longue pour être publiée ici, mais voici l'idée de base. Soit la coque convexe des points positifs. Pour chaque point négatif q , examiner les lignes à travers q qui sont tangents à C . Ces lignes divisent l'avion en quatre coins, dont l'un contient C ; laisser W ( q ) soit le coin opposé celui qui contient C . Enfin, soit F (la "région interdite") l'union de tous les coins W ( q ) . Tout triangle de séparation doit séparer C de FCqqCCW(q)CFW(q)CF. Les deux et F peuvent être construits en O ( n connectent n ) fois.CFO(nJournaln)

exemple de $ C $ et $ F $

Étiquetez les bords de alternativement dans le sens horaire et antihoraire. Edelsbrunner et Preparata en outre montrer que si un triangle de séparation existe, alors il y a un triangle de séparation dont les bords sont alignés avec des bords dans le sens horaire de F . En O ( n ) temps supplémentaire, nous pouvons trouver le bord (nécessairement dans le sens des aiguilles d'une montre) de F d' abord frappé par un rayon de chaque bord dans le sens des aiguilles d'une montre e ; appeler ce bord le «successeur» de e . Les pointeurs successeurs partitionnent les bords dans le sens horaire en cycles; s'il y a un triangle de séparation, l'un de ces cycles successeurs a une longueur 3 (et aucun n'a une longueur supérieure à 4).FFO(n)Fee

Voir le document original pour plus de détails:


3

TT

tABtBCBC

t

  1. t
  2. ABtAABCABBCAC
  3. t

O(m2)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.