This has a lot of practical applications. For example Artsy (<a href="https:&#x2F;&#x2F;www.artsy.net" rel="nofollow">https:&#x2F;&#x2F;www.artsy.net</a>) builds a K-nearest neighbor graph for its artworks. For example, scroll down to related results in Warhol&#x27;s &quot;Mushroom Soup&quot; in <a href="https:&#x2F;&#x2F;www.artsy.net&#x2F;artwork&#x2F;andy-warhol-mushroom-soup" rel="nofollow">https:&#x2F;&#x2F;www.artsy.net&#x2F;artwork&#x2F;andy-warhol-mushroom-soup</a> to find Damien Hirst&#x27;s &quot;Chicken from Last Supper&quot;. The data is done by humans, but the related algorithm is based on K-nearest neighbors.<p>We started with this basically what&#x27;s in the article, then used Locality Sensitive Hashing (<a href="http:&#x2F;&#x2F;www.mit.edu&#x2F;~andoni&#x2F;LSH" rel="nofollow">http:&#x2F;&#x2F;www.mit.edu&#x2F;~andoni&#x2F;LSH</a>) as a real-time approximation and today we use NNDescent from this priceton paper: <a href="http:&#x2F;&#x2F;www.cs.princeton.edu&#x2F;cass&#x2F;papers&#x2F;www11.pdf" rel="nofollow">http:&#x2F;&#x2F;www.cs.princeton.edu&#x2F;cass&#x2F;papers&#x2F;www11.pdf</a>