Considere equipado com os vetores de produto de ponto padrão e vetores: . Queremos construir uma estrutura de dados que permita consultas no seguinte formato: dado output . É possível ir além do tempo trivial de consulta de O (nm) ? Por exemplo, se n = 2 , é imediato obter O (\ log ^ 2 m) .
A única coisa que posso pensar é o seguinte. É uma consequência imediata do lema de Johnson-Lindenstrauss que, para todo e uma distribuição em exista um mapeamento linear de (que pode ser avaliado em ), de modo que . Então, no tempo O ((n + m) \ log m) podemos calcularalgo que está em algum sentido próximo de para a maioria dos 's (pelo menos se as normas e forem pequenas).
UPD O limite acima mencionado pode ser um pouco mais aguçado para o tempo de consulta se usarmos o hash sensível à localidade. Mais precisamente, escolhemos vetores gaussianos independentes . Em seguida, para seguinte maneira: . Então, podemos estimar o ângulo entre dois vetores dentro de um erro aditivo computando -Distância na imagem deste mapeamento. Assim, podemos estimar produtos pontuais dentro de um erro aditivono tempo .