Mi sto interrogando su un algoritmo che restituisce vero o falso, dicendomi se è possibile tracciare un cerchio attorno a un insieme di punti A, in modo tale che qualsiasi punto dall'insieme di punti B non sia al suo interno, o viceversa (possibile disegnare un cerchio attorno a un insieme di punti B, in modo tale che qualsiasi punto dall'insieme di punti A non sia al suo interno).Come si determina se è possibile disegnare un cerchio attorno a un insieme di punti, in modo che i punti dell'altro set non siano al suo interno?
In pratica, vengono forniti 2 insiemi di punti come input e occorre determinare se è possibile disegnare un cerchio attorno a uno di essi, in modo tale che qualsiasi punto dell'altro non sia all'interno di esso.
Ho visto Megiddo's linear time algorithm per il smallest enclosing circle problem, ma il problema è che disegna solo il cerchio più piccolo, il che significa che non funziona nel caso in cui sia necessaria una circonferenza grande.
Ecco una foto di quello che voglio dire:
In questa immagine è possibile disegnare un grande cerchio intorno al set di punti rossi, in modo che uno qualsiasi dei punti verdi non sono al suo interno, quindi l'algoritmo di Megiddo non funzionerà.
Dal tuo abstract: "Mostriamo che decidere se due insiemi sono separabili in modo circolare può essere eseguito in * O * (* n *) il tempo tramite l'algoritmo di programmazione lineare di Megiddo." L'OP sostiene che l'algoritmo di Megiddo non funziona sull'esempio (ma forse è solo la sua vendetta per l'errore di ortografia). – usr2564301
@Jongware L'algoritmo di Megiddo mostra che i problemi di programmazione lineare in 3d possono essere risolti in tempo lineare. Megiddo fornisce anche un esempio di utilizzo dell'algoritmo che trova il cerchio di chiusura più piccolo. Questo esempio non è ciò che l'OP vuole. Tuttavia, il documento qui mostra una diversa formulazione che effettivamente consente l'applicazione dell'algoritmo di Megiddo. (L'idea sta proiettando i punti su un paraboloide, quindi trovando un piano di separazione.) –