I am looking for a shuffle algorithm for delegates that has the following inputs:
vector<delegate_id> prev_delegate_order
vector<delegate_id> top_101_delegates_sorted_by_vote
sha256 random_seed
I need to calculate the "next_delegate_order" such that the minimum distance between the same delegate is N/2 the number of delegates while maximizing the entropy and mixing.
This algorithm should be implemented in c++ using int64_t as the delegate ID. I am looking for the best algorithm based upon the consensus on this thread.
Go!