Какой самый простой алгоритм мог бы использовать один или несколько человек, чтобы решить, кто из них должен выполнить какую-либо задачу? Есть одно задание, которое нужно выполнить только один раз и одному или нескольким людям. Люди могут говорить, то есть посылать сообщения друг другу. Общение должно быть минимальным, и все люди используют один и тот же алгоритм.
Одного человека, говорящего «Я делаю это», недостаточно, поскольку два человека могут сказать это одновременно.
Самое простое, что приходит мне на ум, это то, что каждый человек говорит число и немного ждет. Если кто-то ответит за это время, человек с меньшим числом «победит» и выполнит задание. Если никто не отвечает, человек говорит, что она это делает, и делает это. Когда она говорит, что делает это, все остальные отступают. Этого должно быть достаточно, чтобы два человека не выполняли задание одновременно (поскольку существует период ожидания/рукопожатия), но может потребоваться «второй раунд», если оба человека называют одно и то же число.
Есть что-то проще?
Для любопытных, я пытаюсь синхронизировать несколько копий скрипта SecondLife LSL, чтобы сделать что-то только один раз.