I have a set of $n$ normalized vectors and I would like to assign each to a unique binary encoded representation of length $log(n)$. I want to find an assignment such that vector pairs with higher dot products have smaller hamming distances in the binary encoding representation and vectors with smaller dot products will have larger hamming distances in the binary encoding representation.
Ex: given 3 vectors ${v_1 , v_2 , v_3}$ from a set of $n = 4$ vectors. If $v_1 \cdot v_2 = .1$ , $v_1 \cdot v_3 = .2$, and $v_2 \cdot v_3 = .8$
Possible assignment could be $v_1 = 00$ $v_2 = 11$ $v_3 = 10$
$v_1$ and $v_2$ have the lowest dot product and thus have a hamming distance of 2 and $v_2$ and $v_3$ are close so their hamming distance is 1.
Obviously this is not a perfect example but would extend better hopefully into larger dimensions. I'm struggling to solve this problem let alone formulate a concrete objective to solve for. The point is just to keep higher dot product vectors within a smaller hamming distance in the binary encoding. Any help formulating a proper objective and a solution would be awesome!