Идолы-2
От: MichaelP  
Дата: 17.03.03 15:43
Оценка: 12 (1)
Подумав как сделать задачу с идолами разрешимой, родил следующее:

Существуют идолы двух типов:
1. Идолы правды всегда говорят правду.
2. Идолы лжи могут как ответить правду, так и солгать.

Известно, что идолов правды больше, чем идолов лжи.

За какое количество впросов можно узнать, кто есть кто?

P.S. Мне кажется, что я нашел решение за ~3N вопросов.
Re: Идолы-2
От: mihoshi Россия  
Дата: 17.03.03 15:56
Оценка:
Здравствуйте, MichaelP, Вы писали:

MP>Подумав как сделать задачу с идолами разрешимой, родил следующее:


MP>Существуют идолы двух типов:

MP>1. Идолы правды всегда говорят правду.
MP>2. Идолы лжи могут как ответить правду, так и солгать.

MP>Известно, что идолов правды больше, чем идолов лжи.


MP>За какое количество впросов можно узнать, кто есть кто?


MP>P.S. Мне кажется, что я нашел решение за ~3N вопросов.


См. мой ответ на Идолы-1. Только в твоем случае у каждого всего два состояния, так что и вопросов хватит ровно 100.
Re[2]: Идолы-2
От: MichaelP  
Дата: 17.03.03 16:07
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>См. мой ответ на Идолы-1. Только в твоем случае у каждого всего два состояния, так что и вопросов хватит ровно 100.

Мне кажется, что vvaizh более прав — "дипломат" может подстроиться по кого угодно. И на нем метод даст сбой. А я, собственно говоря, "дипломатов" и оставил.
Re: Идолы-2
От: MichaelP  
Дата: 17.03.03 16:14
Оценка:
MP>Существуют идолы двух типов:
MP>1. Идолы правды всегда говорят правду.
MP>2. Идолы лжи могут как ответить правду, так и солгать.

MP>Известно, что идолов правды больше, чем идолов лжи.


MP>За какое количество впросов можно узнать, кто есть кто?


MP>P.S. Мне кажется, что я нашел решение за ~3N вопросов.



Чтобы не возникало вопросов, что есть ложь на "сложновложенных" вопросах, переформулирую пункт два:
2. Идолы лжи выбирают, ответить на вопрос: Да или Нет, из только им известным соображений
Re: Идолы-2
От: Chorkov Россия  
Дата: 17.03.03 16:28
Оценка: 14 (1)
Здравствуйте, MichaelP, Вы писали:

MP>Подумав как сделать задачу с идолами разрешимой, родил следующее:


MP>Существуют идолы двух типов:

MP>1. Идолы правды всегда говорят правду.
MP>2. Идолы лжи могут как ответить правду, так и солгать.

MP>Известно, что идолов правды больше, чем идолов лжи.


MP>За какое количество впросов можно узнать, кто есть кто?


MP>P.S. Мне кажется, что я нашел решение за ~3N вопросов.


Предположим, что N — тепень числа 2,
тогда алгоритм следующий:
а) задаем всем идолам в вопрос "Правда ли, что в группе идолов с 1 по N/2 , идолов правды болльше чем лжи?"
Выясняем каких ответов большенство, выясняем правдивый ответ на вопрос.
б) если правдивых больше в первой половине, то выполняем (а), для первой половины идолов, иначе для второй.
и так, пока в отрезке не останится два идола. (оба правдивые, поскольку число правдивых больше чем лживых.
в) задаем одному из правдивых идолв вопросы о всех оставщихся идолах (N-2 вопросов)
всего задано 3N-6 вопросов.

Метод может быть ускорен до ~2.5N ( в случае соглассованного вранья идолов) и до ~2N (в случае "случайного вранья"), если использовать следующие модификации алгоритма.
1) вопрос в (а) задавать не последовательно всем идолам а поочередно идолам первой и втоой половины группы.
2) Прекращать опрос, как только число ответов "да" или ответов "нет" превысит половину размера множества.
3) исключать из исследуемого множества идолов, ответы которых не совпадают с истиной.
Re[2]: Идолы-2
От: MichaelP  
Дата: 17.03.03 16:49
Оценка:
Здравствуйте, Chorkov, Вы писали:

В целом решение совпадает с моим, но есть некоторые тонкости.

C>Предположим, что N — тепень числа 2,

А если нет?
C>тогда алгоритм следующий:
C>а) задаем всем идолам в вопрос "Правда ли, что в группе идолов с 1 по N/2 , идолов правды болльше чем лжи?"
C>Выясняем каких ответов большенство, выясняем правдивый ответ на вопрос.
C>б) если правдивых больше в первой половине, то выполняем (а), для первой половины идолов, иначе для второй.
Если N не степень 2, то количество вопросов я более осторожно оценил ~2N
C>и так, пока в отрезке не останится два идола. (оба правдивые, поскольку число правдивых больше чем лживых.
C>в) задаем одному из правдивых идолв вопросы о всех оставщихся идолах (N-2 вопросов)
C>всего задано 3N-6 вопросов.
Опять же, если N != 2^N, то у нас может остаться 1 идол, которому надо задать N-1 вопрос.


C>1) вопрос в (а) задавать не последовательно всем идолам а поочередно идолам первой и втоой половины группы.

Т.к. изначально у нас обе группы равноправны, то, имхо, выигрыша это не даст.
C>2) Прекращать опрос, как только число ответов "да" или ответов "нет" превысит половину размера множества.
C>3) исключать из исследуемого множества идолов, ответы которых не совпадают с истиной.
Целиком согласен.
Re[3]: Идолы-2
От: Chorkov Россия  
Дата: 17.03.03 20:00
Оценка: 14 (1)
Здравствуйте, MichaelP, Вы писали:

MP>Здравствуйте, Chorkov, Вы писали:


MP> В целом решение совпадает с моим, но есть некоторые тонкости.


C>>Предположим, что N — тепень числа 2,

MP>А если нет?
C>>тогда алгоритм следующий:
C>>а) задаем всем идолам в вопрос "Правда ли, что в группе идолов с 1 по N/2 , идолов правды болльше чем лжи?"
C>>Выясняем каких ответов большенство, выясняем правдивый ответ на вопрос.
C>>б) если правдивых больше в первой половине, то выполняем (а), для первой половины идолов, иначе для второй.
MP>Если N не степень 2, то количество вопросов я более осторожно оценил ~2N
C>>и так, пока в отрезке не останится два идола. (оба правдивые, поскольку число правдивых больше чем лживых.
C>>в) задаем одному из правдивых идолв вопросы о всех оставщихся идолах (N-2 вопросов)
C>>всего задано 3N-6 вопросов.
MP>Опять же, если N != 2^N, то у нас может остаться 1 идол, которому надо задать N-1 вопрос.

MP>

C>>1) вопрос в (а) задавать не последовательно всем идолам а поочередно идолам первой и втоой половины группы.
MP>Т.к. изначально у нас обе группы равноправны, то, имхо, выигрыша это не даст.
C>>2) Прекращать опрос, как только число ответов "да" или ответов "нет" превысит половину размера множества.
C>>3) исключать из исследуемого множества идолов, ответы которых не совпадают с истиной.
MP>Целиком согласен.

Группы не могут считаться равноправными, поскольку дипломатам известно в какой подгруппе приобладают правдивые идолы, поэтому стратегия вранья у дипломатов располоэженных в правдивой и в не правдивой подгруппах различна.

Дипломаты в правдивой группе могут говорить правду, чтобы их не отсеяли при переходе к следующей подгруппе. В то время как у дипломатов в подгруппе лжецов, лож сократит число будущих вопросов только на 1 (за счет не задавания вопроса о нем, на последнем этапе тестирования).

Таким образом, дипломаты в подгруппе "правды" говарят правду чаще (не реже) чем дипломаты в лживой группе.

Если дипламаты могут выбирать свое расположение (или, что тоже самое, мы исследуем случай наихудшего расположения), а выбор половины начиная с которой мы исследум множество идолов предсказуем, то оакжется, что большенство дипломатов, расположено в половине, которую мы исследовали первой. Таким образом, число вопросов на каждой итерации деления может возрасти, а число оставшихся идолов будет падать медленнее.

Кстати, нашел ошибку в предудущей оценке (2.5N вопросов)

4) Если в лживом подмножестве выявлено X>N/4 лжецов, то из рассмотрения на следующей итерации исключим (X-N/4) посдених (которым еще не задавались вопросы) идолов. Поскольку вне зависимости от того являются ли исключенные лжецами или нет, в оставшемся подмножестве, все-равно доминируют правдивые.

Правильная оценка 2N, даже при худшем раскладе.
обозначения:
N = число идолов в множестве, исследуемом на текущей итерации (а);
N*K = число задаваемых вопросов на текущей итерации;
N*S = число идоловв множестве, которое будет обработанно на следующей итерации
N*A = число вопросв, заданных чтобы определиться с правдивостью всех идолов
в текущем множестве (включая вопросы заданные на этапе (в)).
N*X = число выявленных на данной итерации лгунов (число полученных ложных ответов)
N*P = число лгунов, выявленных в подмножестве, которое будет признано более правдивым

теперь несколько уравнений:

Задавание вопросов, на данной итерации, будет прекращено, когда число правдивых ответов достигнет N/2
K*N-N*X=N/2
K=X+1/2

На следующей итерации обрабатываются только те идолы из правдивого подмножества, которые не лгуны:
N*S=N/2-N*P
S=1/2-P

Поскольку дипломаты из менее правдивого подмножества должны врать как можно больше. С учетом правила (4),
дипаломаты из лгущего подмножества не заинтересованы давать более чем N/4 ложных ответов.
N*X-N*P=N/4
X-P=1/4

Число вопросов, заданных на текущей итерации: K*N, при этом пределимся с N-N*S идолами.
Число вопросов, которые необходимы чтобы полностью определиться с этими N(1-S) идолами на последнем этапе: N-N*S-N*X
Таким образом:

A=(N-N*S-N*X+N*K)/(N-N*S)=
=(1-S-X+K)/(1-S)=(1+P)/(1/2+P) <=2

Не более Двух вопросов на идола!
Re[4]: Идолы-2
От: MichaelP  
Дата: 18.03.03 07:12
Оценка:
Здравствуйте, Chorkov, Вы писали:

C>Кстати, нашел ошибку в предудущей оценке (2.5N вопросов)


C>4) Если в лживом подмножестве выявлено X>N/4 лжецов, то из рассмотрения на следующей итерации исключим (X-N/4) посдених (которым еще не задавались вопросы) идолов. Поскольку вне зависимости от того являются ли исключенные лжецами или нет, в оставшемся подмножестве, все-равно доминируют правдивые.


C>Правильная оценка 2N, даже при худшем раскладе.


Я после некоторых рассуждений тоже стал склоняться к такому выводу, но, в отличии от Вас, не дошел до конкретных формул .

C>обозначения:

C>N = число идолов в множестве, исследуемом на текущей итерации (а);
C>N*K = число задаваемых вопросов на текущей итерации;
C>N*S = число идоловв множестве, которое будет обработанно на следующей итерации
C>N*A = число вопросв, заданных чтобы определиться с правдивостью всех идолов
C> в текущем множестве (включая вопросы заданные на этапе (в)).
C>N*X = число выявленных на данной итерации лгунов (число полученных ложных ответов)
C>N*P = число лгунов, выявленных в подмножестве, которое будет признано более правдивым

C>теперь несколько уравнений:


C>Задавание вопросов, на данной итерации, будет прекращено, когда число правдивых ответов достигнет N/2

C>K*N-N*X=N/2
C>K=X+1/2

C>На следующей итерации обрабатываются только те идолы из правдивого подмножества, которые не лгуны:

C>N*S=N/2-N*P
C>S=1/2-P

C>Поскольку дипломаты из менее правдивого подмножества должны врать как можно больше. С учетом правила (4),


Спорное утверждение. Более того, могу показать, что "лжецам" всегда выгодно говорить правду :

Если лжец солжет, то для "компенсации" его лжи понадобиться, в худшем случае, один правдивый ответ, но зато он раскрыл информацию о том, что он лжец, которую мы можем впоследствии использвать (как минимум не выяснять, кто он такой), если же он скажет правду, то на выяснение его принадлежности всегда понадобится лишний вопрос.
И действительно, если все лжецы говорят правду , то в предложенном алгоритме, мы получаем те же ~2N вопросов, о которых Вы и говорили.
К сожалению, данное рассуждение не дает конструктивного алгоритма.

Впрочем, похоже (я не до конца вник в рассуждения) это не влияет на последующие выводы.
Re: Идолы-2
От: Gena_Popov  
Дата: 18.03.03 18:02
Оценка:
Здравствуйте, MichaelP, Вы писали:

MP>Подумав как сделать задачу с идолами разрешимой, родил следующее:


MP>Существуют идолы двух типов:

MP>1. Идолы правды всегда говорят правду.
MP>2. Идолы лжи могут как ответить правду, так и солгать.

MP>Известно, что идолов правды больше, чем идолов лжи.


MP>За какое количество впросов можно узнать, кто есть кто?


MP>P.S. Мне кажется, что я нашел решение за ~3N вопросов.


У той задачи тоже есть решение )))
И там нужно 2N вопросов )). В твоем случае их нужно N а не 3N (причем условие о том что идолов лжи больше не нужно))
Re[2]: Идолы-2
От: Gena_Popov  
Дата: 18.03.03 18:04
Оценка:
Здравствуйте, MichaelP, Вы писали:

MP>>Существуют идолы двух типов:

MP>>1. Идолы правды всегда говорят правду.
MP>>2. Идолы лжи могут как ответить правду, так и солгать.

MP>>Известно, что идолов правды больше, чем идолов лжи.


MP>>За какое количество впросов можно узнать, кто есть кто?


MP>>P.S. Мне кажется, что я нашел решение за ~3N вопросов.


MP>

MP>Чтобы не возникало вопросов, что есть ложь на "сложновложенных" вопросах, переформулирую пункт два:
MP>2. Идолы лжи выбирают, ответить на вопрос: Да или Нет, из только им известным соображений

т.е. идол лжи = генератор случайных ответов. тогда надо подумать )))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.