Если кто-то думает, что алгоритм голосования — штука очевидная и понятная (пришёл на выборы, поставил галочку, подсчитали голоса, за кого больше, тот и победил), то он стал жертвой современных политических систем, в которых этот вопрос обычно стараются даже не озвучивать. На самом деле есть множество методик проведения голосований, например метод Шульце. Однако, насколько я понял, нет одного идеального алгоритма.
Есть две большие группы алгоритмов голосования: ординалистские и кардиналистские. Ординалистские предполагают ранжирование альтернатив только по порядку, а кардиналистские — присваивание альтернативам некоего «веса».
В рамках ординалистского подхода сформулирована теорема Эрроу, согласно которой невозможна система голосования, позволяющая гарантированно выбрать оптимальное решение в ситуации, когда вариантов больше двух. Это звучит печально для демократии, однако, во-первых, значительная часть вопросов сводится к выбору из двух вариантов: «Да»/«Нет». Во-вторых, то, что невозможно в общем случае, вполне может быть возможно в частном (т. е. нужно анализировать результаты выборов, чтобы понять, удались ли они). В-третьих, остаётся кардиналистский подход.
Надеюсь, вышеописанное даёт понимание, что этот вопрос необходимо решать с привлечением математиков и, вероятно, использовать различные алгоритмы для различных задач. Простого ответа на него у меня нет.