Commit Graph

176 Commits

Author SHA1 Message Date
Dirkjan Ochtman cdc1242ba9 Test both heuristic and simple selection 2021-01-19 11:00:29 +01:00
Dirkjan Ochtman 6db0f151ec Reset M to 12 for now 2021-01-19 10:50:41 +01:00
Dirkjan Ochtman c3a7ff5d23 Use heuristic selection for randomized test 2021-01-19 10:50:17 +01:00
Dirkjan Ochtman e4d66890da Fix heuristic selection candidate sourcing 2021-01-19 10:49:56 +01:00
Dirkjan Ochtman 08e1f4e085 Fix formatting 2021-01-19 10:47:59 +01:00
Dirkjan Ochtman c03cec4458 Fix neighbor updates for heuristic searches 2021-01-19 10:47:35 +01:00
Dirkjan Ochtman 58a7162d0a Simplify selection return value invariants 2021-01-19 10:47:01 +01:00
Dirkjan Ochtman 9e302d7dbe Fix ef value for insertion Searches 2021-01-19 10:45:41 +01:00
Dirkjan Ochtman 4c7caaf436 Simplify accessing zero nodes 2021-01-18 10:37:34 +01:00
Dirkjan Ochtman 1b70dcf743 Fix formatting 2021-01-14 18:29:39 +01:00
Dirkjan Ochtman 6dc83caabe Improve heuristic neighbor selection 2021-01-14 17:01:31 +01:00
Dirkjan Ochtman 47f26978f5 Simplify handling of ef parameters 2021-01-14 16:55:47 +01:00
Dirkjan Ochtman b865f2f287 Remove unused trait and impls 2021-01-14 16:53:22 +01:00
Dirkjan Ochtman f577dec212 Move neighbor selection into insert() 2021-01-13 17:07:24 +01:00
Dirkjan Ochtman eb7b9aafb3 Bump M to 32 2021-01-12 16:35:47 +01:00
Dirkjan Ochtman 619ea8a561 Make code compile again without serde 2021-01-12 16:35:41 +01:00
Dirkjan Ochtman e81d838f42 Fix formatting with cargo fmt 2021-01-12 14:39:22 +01:00
Dirkjan Ochtman 27d5e9b522 Fix serde support for larger ZeroNodes 2021-01-12 14:33:31 +01:00
Dirkjan Ochtman 04094ce06f Bump M up to 24 2021-01-12 13:37:07 +01:00
Dirkjan Ochtman 581b3a17e2 Simplify heuristic selection code 2021-01-12 13:31:51 +01:00
Dirkjan Ochtman d265ef7c29 Don't use heuristic selection for test 2021-01-12 13:31:40 +01:00
Dirkjan Ochtman c1e5acf35c Generalize Layer implementations 2021-01-11 21:13:17 +01:00
Dirkjan Ochtman 7bfca28d85 Add support for selection heuristic 2021-01-11 21:05:17 +01:00
Dirkjan Ochtman 09dd8d886b Make selection phase explicit in the code 2021-01-11 12:38:40 +01:00
Dirkjan Ochtman 19e451bac2 Default M to 12 2021-01-11 09:33:27 +01:00
Dirkjan Ochtman 0872d04665 Lower recall threshold to prevent spurious test failures 2021-01-07 21:44:11 +01:00
Dirkjan Ochtman df24ddc186 Test recall in randomized test 2021-01-07 21:38:53 +01:00
Dirkjan Ochtman 6def318423 Stick closer to algorithm 2 from the paper 2021-01-07 21:19:56 +01:00
Dirkjan Ochtman f01ed4a4a0 Re-order some code 2021-01-07 20:58:35 +01:00
Dirkjan Ochtman e6d200954e Discard empty layers 2021-01-07 20:55:08 +01:00
Dirkjan Ochtman e3c0224dc2 Update status with current layer 2021-01-07 20:53:21 +01:00
Dirkjan Ochtman f61659cca5 Search in appropriate layer during construction 2021-01-07 16:00:56 +01:00
Dirkjan Ochtman bd9c3f3897 Sort nearest neighbors after pushing batch peers 2021-01-07 16:00:41 +01:00
Dirkjan Ochtman d7c33e9e8f Keep track of candidate order using BinaryHeap 2021-01-07 15:59:41 +01:00
Dirkjan Ochtman 459f5e4d65 Tweak style 2021-01-07 15:58:46 +01:00
Dirkjan Ochtman db1d3128ec Add more extensive randomized test 2021-01-07 15:51:59 +01:00
Dirkjan Ochtman c4708ac032 Fix bug in discarding potential candidates 2021-01-07 14:15:03 +01:00
Dirkjan Ochtman df8388a8a1 Add API to set the seed for the RNG 2021-01-07 14:14:19 +01:00
Dirkjan Ochtman 4b3cb28820 Use more idiomatic way of generating random numbers 2021-01-07 11:23:42 +01:00
Dirkjan Ochtman a3f07f790f Move integration test into tests dir 2021-01-07 11:20:23 +01:00
Dirkjan Ochtman d02deec46b Remove obsolete comment 2021-01-07 11:16:50 +01:00
Dirkjan Ochtman 809fb0d192 Make mL parameter configurable 2021-01-07 11:07:09 +01:00
Dirkjan Ochtman abe24f3160 Upgrade to rand 0.8 2020-12-21 14:54:41 +01:00
Dirkjan Ochtman 3feb763d92 Add some documentation for the Builder type 2020-12-21 14:54:41 +01:00
Dirkjan Ochtman d3f07fcad1 Simplify API some more 2020-12-21 14:54:41 +01:00
Dirkjan Ochtman d42bf8adc9 Rename num argument to Layer::search() to links 2020-12-21 14:54:41 +01:00
Dirkjan Ochtman 3241070758 Rename Search::num to ef 2020-12-21 14:54:41 +01:00
Dirkjan Ochtman 5ceebde417 Increase batch size 2020-12-16 06:47:13 -08:00
Dirkjan Ochtman 9d959fce06 Implement parallel index construction 2020-12-16 13:51:24 +01:00
Dirkjan Ochtman e1f6b666c9 Slightly simplify search output loop variable 2020-12-16 12:43:51 +01:00