Случайный выбор лидера после каждого раунда - PullRequest
0 голосов
/ 27 декабря 2018

Я работаю в системе, где мне нужно выбрать лидера (из n узлов) случайным образом.Лидер будет меняться после каждого раунда (после того, как текущий лидер завершит свою задачу).Все узлы будут общаться друг с другом.

Переизбрание будет проходить в двух условиях:

  1. Раунд закончен.
  2. Лидер умирает преждевременно.

Есть ли реализации этой идеи для справки.Это хорошая идея?Зачем?Следует ли подходить к этой ситуации по-другому?

1 Ответ

0 голосов
/ 30 декабря 2018

Насколько я понял ваш вопрос, вам нужно выбирать другого лидера из ваших узлов. Каждый раз, чтобы сделать это, вы можете поместить все узлы в очередь, а затем найти длину очереди и сгенерировать случайное число от 0 додлина очереди и имя узла в этом индексе в качестве лидера, когда он умирает или заканчивает свою работу, вы можете удалить этот узел из очереди и переизбрать своего лидера тем же процессом. Теперь длина на 1 меньше.Надеюсь, я правильно понял вопрос.

...