Josh Engels

Bio Image


I currently work as an AI engineer at ThirdAI, where we are building an in-house sparse machine learning engine from scratch. At ThirdAI, I am lucky to be able to combine my passions for building algorithms and for implementing high performance systems.

While at ThirdAI, and earlier in Rice University's Sketching and Hashing Lab, I have investigated randomized algorithms, group testing, and locality sensitive hashing. This work has resulting in efficient data structures that use these techniques to speed up high dimensional near neighbor search (FLINNG) and set-of-vector search (DESSERT).

Broadly, I am interested in building algorithms that solve real-world problems in a wide variety of domains, including machine learning, compression, computational geometry, and distributed computing.


DESSERT: An Efficient Algorithm for Vector Set Search with Vector Set Queries.
Joshua Engels, Benjamin Coleman, Vihan Lakshman, and Anshumali Shrivastava
Under submission
Preprint | Code | Blog Post

Practical Near Neighbor Search via Group Testing.
Joshua Engels*, Benjamin Coleman*, and Anshumali Shrivastava
NeurIPS 2021: Spotlight talk - top 3%
* indicates equal contribution
Paper | Talk | Code | Blog Post

Missed one! How ballot layout and visual task strategy can interact to produce voting errors.
Joshua Engels, Xianni Wang, Michael D. Byrne
International Conference on Cognitive Modeling 2020.
Paper | Talk | Code | Blog Post

Blog Posts

What is Set-of-Vector Search?
In the traditional near neighbor problem, we are given a dataset \(D\) of \(N\) \(d\)-dimensional vectors. Our goal...

Near Neighbor Search with Group Testing and LSH
L Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore...

Simulating Voter Errors with ACT-R
Badly designed ballots may not seem like a pressing problem, but they have already swung multiple elections. For...