From 2ad948688c26f564e2fc55dc80040d1945e6f20e Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 10 Dec 2021 13:06:02 +0300 Subject: [PATCH] Update SmallWorld.cs --- ZeroLevel.HNSW/SmallWorld.cs | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/ZeroLevel.HNSW/SmallWorld.cs b/ZeroLevel.HNSW/SmallWorld.cs index 7f66ee1..9101f81 100644 --- a/ZeroLevel.HNSW/SmallWorld.cs +++ b/ZeroLevel.HNSW/SmallWorld.cs @@ -298,24 +298,10 @@ namespace ZeroLevel.HNSW return Enumerable.Empty<(int, float)>(); } var distance = new Func((id1, id2) => _options.Distance(_vectors[id1], _vectors[id2])); - // W ← ∅ // set for the current nearest elements var W = new Dictionary(k + 1); - // ep ← get enter point for hnsw - var ep = EntryPoint; - // L ← level of ep // top layer for hnsw - var L = MaxLayer; - // for lc ← L … 1 - for (int layer = L; layer > 0; --layer) - { - // W ← SEARCH-LAYER(q, ep, ef = 1, lc) - _layers[layer].KNearestAtLayer(ep, W, 1, context); - // ep ← get nearest element from W to q - ep = W.OrderBy(p => p.Value).First().Key; - W.Clear(); - } // W ← SEARCH-LAYER(q, ep, ef, lc =0) - _layers[0].KNearestAtLayer(ep, W, k, context); + _layers[0].KNearestAtLayer(W, k, context); // return K nearest elements from W to q return W.Select(p => (p.Key, p.Value)); }