La mia interpretazione della domanda:
Non credo che questa domanda debba essere presa in modo semplicistico come un problema di complessità della geometria computazionale. Dovrebbe essere meglio compreso come dire: percepiamo la capacità di trovare la risposta in tempo costante, quando possiamo. Ciò che spiega questa percezione, e fino a questa spiegazione e ai limiti umani, può fare anche un computer.
O(1)O(log(n))
Ciò può essere rafforzato dalle leggi di Weber-Fechner , secondo cui la nostra percezione deve essere misurata su una scala logaritmica della misura fisica effettiva. In altre parole, percepiamo variazioni relative piuttosto che variazioni assolute. Questo è ad esempio il motivo per cui l'intensità del suono è misurata in decibel.
O(log(n))Oψ(log(log(n)))Oψ
Oψ(log(log(n))) che a tutti gli effetti pratici è probabilmente percettibilmente indistinguibile da una costante, e c'è necessariamente un tempo costante ad esso aggiunto per avviare il processo di riconoscimento e riconoscere il risultato.
Tenendo conto dei limiti fisiologici
La conclusione di cui sopra è ulteriormente sostenuta quando si considerano i passaggi di acquisizione dell'immagine.
L'OP è stato attento a separare la costruzione di un'adeguata struttura di dati, "come un quadrifoglio", che è ammortizzata su diverse query.
Questo non funziona per la maggior parte delle persone che non memorizzano l'immagine. Penso che l'immagine venga scansionata per ogni query, ma ciò non implica la scansione di tutti i punti: non la prima volta e non per le query successive.
TscanTscan
mOψ(log(log(m)))
227log2(27)
Senza conoscere le unità effettive da utilizzare, ciò dimostra semplicemente che la variazione per l'elaborazione è nella peggiore delle ipotesi nello stesso ordine delle altre operazioni a tempo costante. Pertanto, è del tutto naturale che il tempo percepito per trovare il punto più vicino sia costante. . . se determiniamo il punto più vicino o solo un insieme di punti più vicini.
Informazioni sui contro-esempi e una possibile soluzione
Naturalmente è facile costruire contro-esempi che rendono molto difficile la determinazione degli occhi del punto più vicino in una piccola raccolta di punti più vicini. Questo è il motivo per cui l'OP sta effettivamente richiedendo un algoritmo che elimina rapidamente la maggior parte dei punti, ad eccezione di quelli più vicini. Questo problema della possibile difficoltà di scegliere tra diversi punti vicini è affrontato in molte risposte, con l'esempio paradigmatico di punti più vicini che si trovano quasi su un cerchio attorno al punto di riferimento. In genere le leggi di Weber-Fechner precludono la possibilità di distinguere piccole variazioni di distanza su distanze sufficientemente lunghe. Questo effetto può effettivamente essere aumentato dalla presenza di altri punti che, sebbene eliminati, possono distorcere la percezione delle distanze. Quindi cercare di identificare il punto più vicino sarà un compito più difficile, e potrebbe richiedere specifiche fasi di esame, come l'uso di strumenti, che distruggeranno completamente la sensazione di tempo costante. Ma sembra chiaramente al di fuori della gamma di esperimenti considerati dal PO, quindi non molto rilevante.
La domanda a cui rispondere , che è la domanda effettivamente posta dal PO, è se esiste un modo per eliminare la maggior parte dei punti, tranne forse per i restanti pochi che sembrano avere distanze molto simili al punto di riferimento.
O(log(n))
Il rifiuto del costo ammortizzato non consente una soluzione informatica, poiché tutti i punti devono essere esaminati. Ciò sottolinea una grande differenza nella potenza di calcolo del cervello e della percezione umana: può usare il calcolo analogico con proprietà piuttosto diverse dal calcolo digitale . Questo è in genere il caso in cui miliardi di punti non sono distinguibili dall'occhio, che non ha la risoluzione di vedere altro che una grande nuvola con varie sfumature di buio. Ma l'occhio può quindi concentrarsi sulla parte più piccola rilevante e vedere un numero limitato di punti, contenente quelli pertinenti. Non deve conoscere tutti i punti individualmente. Affinché un computer faccia lo stesso, dovresti dargli un sensore simile, piuttosto che le coordinate numeriche precise di ciascun punto. È un problema molto diverso.
"La semplice ispezione visiva" è per alcuni aspetti molto più potente del calcolo digitale. Ed è dovuto anche alla fisica dei sensori, non solo a una potenza di calcolo del cervello forse maggiore.