Ecco il problema del vicino più vicino.
Dati i reali (molto grande !), Più il bersaglio reale , trova e cui SUM è il più vicino a . Consentiamo una ragionevole pre-elaborazione / indicizzazione di (fino a ), ma al momento della query (data ), il risultato dovrebbe essere restituito molto velocemente (ad es. tempo).
(Esempio più semplice: se volessimo solo il SOLO più vicino a , ordineremmo offline, , quindi eseguiremo la ricerca binaria al momento della query, ).
Soluzioni che non funzionano:
1) Ordina offline, quindi al momento della query, inizia da entrambe le estremità e sposta due puntatori verso l'interno ( http://bit.ly/1eKHHDy ). Non va bene, a causa del tempo di query .
2) Ordina offline, quindi al momento della query, prendi ogni ed esegui la ricerca binaria di un "amico" che lo aiuti a riassumere qualcosa di simile a . Non va bene, a causa del tempo di query .
3) Ordina tutte le coppie offline, quindi esegui una ricerca binaria. Non buono, a causa della pre-elaborazione .
Grazie!
ps. Ulteriori generalizzazioni necessarie per la pratica: (1) e devono essere vettori 50-dimensionali, (2) "vicino" per essere la distanza del coseno vettoriale e (3) -best coppie più vicine-quella-somma, non solo 1-migliore.