| |||
![]()
|
![]() ![]() |
![]()
Вот некоторые соображения относительно этой задачи (ниже). Чтобы не портить удовольствия остальным читателям текст скрыт (надо выделить его мышкой): На мой дилетантский взгляд задача совершенно не программистская, а чисто математическая. На знание начал мат. анализа. Короткий ответ таков: стратегии не существует. Наивная попытка: стратегия состоит в том, чтобы каждый из ЗК в каждый момент времени помнил было ли в его камере больше "светлых" или "темных" дней. Если "светлых" дней больше в конце "вечности", то он голосует за первую стратегию, наоборот -- за вторую. Проблема возникает в том, случае, когда количество "светлых" и "темных" дней "одинаково". Например, рассмотрим такой алгоритм переключения лампочек (1-я стратегия): у 1-го ЗК лампочка всегда горит, а у 2-го и 3-го чередуется, тогда по окончании "бесконечности" у 2-го и 3-го ЗК количество "светлых" и "темных" дней одинаково. Пусть мы скажем, что ЗК голосует за первую стратегию, если кол-во "светлых" дней больше или равно, количеству "темных". Но тогда рассмотрим следующий алгоритм для 2-й стратегии: две лампочки вместе не загораются вообще никогда, а одна лампочка чередуется между 2-м и 3-м ЗК (можно сделать так, чтобы вторая лампочка загоралась некоторое количество раз в начале у 1-го ЗК, перед тем как останется только одна). Получаем равное количество дней для 2-го и 3-го ЗК. Очевидно, что 2-й и 3-й ЗК проголосуют неправильно в этом случае неправильно. Я подумаю как увеличить доказательную силу рассуждений, поскольку, строго говоря, я доказал только то, что выбранная мною стратегия не работает. :) Добавить комментарий: |
|||
![]() |
![]() |