Задача
Двое играют в такую игру. Один задумывает натуральное
Решение
Пусть сначала n – не любое натуральное число, а заключено в промежутке
n
N,
Наилучшая в этом смысле стратегия, назовем ее Sn , состоит в том, что каждый новый вопрос делит промежуток значений, которые еще может принимать неизвестное пока число n , на две равные (или отличающиеся на 1) части. Именно, если мы уже знаем, что
a
n < b,
"? Стратегия Sn описана.
Можно доказать, что максимальное число вопросов для отгадывания числа
n
N при использовании Sn равно ]log _2 N[, где ]l[ означает
наименьшее целое число, не меньшее l .
Ответим теперь на вопрос (б). Докажем, что для любой стратегии T и любого числа n
f'T(n)
]log _2 N[.
Доказательство. Пусть задано натуральное N , и неизвестное число n находится в промежутке от 1 до N . Пусть
Займемся вопросом (а)задачи M180. Пусть мы задали несколько вопросов
типа "верно ли, что n
x " и получали ответы "да": число n все время
оказывалось больше или равно очередному x . Ясно, что следующее x надо взять
больше всех уже употребленных (иначе этот вопрос будет лишним).
Таким образом, в начале игры надо все время увеличивать x – до тех пор, пока в первый раз загадавший не скажет "нет". Пусть x1<x2<x3<... – последовательность, которую угадывающий решил называть, пока не получит первый ответ "нет". Она должна быть бесконечной, так как n может оказаться сколь угодно большим.
Пусть теперь наступил второй этап игры: на k -й вопрос загадавший в первый раз ответил "нет". Таким образом,
xk-1
n<xk.
Предположим, что на втором этапе игры, т.е. после первого ответа "нет", мы именно так и играем. Остается выбрать монотонно возрастающую последовательность xk , чтобы полностью определить стратегию.
Разберем три конкретных стратегии, отличающиеся лишь выбором последовательности xk .
-
Стратегия T1 : xk=10k . Тогда, как указано в условии, fT(n) растет примерно как
. -
Стратегия T2 : xk=2k . Тогда число вопросов на первом этапе не больше ]log 2 n[, а число вопросов на втором этапе не больше ]log 2
[.
Всего получается примерно 2log _2 n вопросов. -
Стратегия T3 : xk=22k . Теперь число вопросов на первом этапе резко уменьшилось. В самом деле, пусть
Тогда число вопросов на первом этапе игры равно k и не превышает
k
log 2 log 2 n+1,
log 2 (22k-22k-1)
log 2 22k=2k
Пусть n=22k-1.
Тогда
fT3(n)
log 2 log 2 n+2k
log 2 n+log 2 log _2 n.
При больших n второе слагаемое значительно меньше первого, и отношение fT3(n) к нижней оценке log _2 n (см.формулу(eq:180.1)) близко к1.
Пусть теперь n=22k-1. Тогда величина fT3(n)– такая же, а выраженная через n она составляет
fT3(n)
log 2 log 2 n+2k
2log 2 n+log 2 log _2 n,
Это положение иллюстрируется графиком на рис.7. На этом графике красная линия условно изображает доказанную выше нижнюю оценку: log _2 n (график носит качественный, эскизный характер и не претендует на точность).
Ступенчатая черная линия изображает график функции fT3(n). Эта функция постоянна на каждом промежутке вида(eq:180.2). К концу такого промежутка нижняя оценка почти догоняет ее, но тут fT3(n) скачком увеличивается и делается примерно вдвое больше.
Возникает вопрос: существует ли такая стратегия T4 , для которой fT4(n) при всех n не слишком сильно отличается от нижней оценки? (Предположительный график fT4(n) приведен синим пунктиром.)
Сейчас мы опишем стратегию T4 такую, что
т.е. относительное превышение fT4(n) над нижней оценкой log _2 n при больших n стремится к нулю.
Первый этап игры, как и прежде, определяется последовательностью чисел
xk=22k.
n< 22k.
Опишем стратегию T4 для второго этапа игры. Припишем каждому n
в промежутке(eq:180.2) "вес", равный
. Будем теперь
задавать вопросы так, чтобы делить примерно пополам не количество значений,
которые еще может принимать n , а сумму их весов.
Подсчитаем примерно, сколько вопросов уйдет на отгадывание произвольного n в промежутке(eq:180.2). Положим m=22k-1. Вначале сумма весов примерно равна
Если мы отгадаем n , то доведем сумму весов до величины
. Значит,
сумма весов уменьшится примерно в n ln n раз. Предположим, что нам каждый
раз удавалось делить ее точно вдвое. Тогда было затрачено
log 2 n ln n=log 2 n+log 2 ln n
log 2 n
log 2 n+const log 2 log _2 n
log 2 n+const log 2 log _2 n
Легко показать, что эта функция удовлетворяет условию(eq:180.3), которое мы и обещали выполнить.
Ответ
Ответ задачи отсутствует
Чтобы оставлять комментарии, войдите или зарегистрируйтесь