Обозначим через
(
,
) максимальное количество сообщений, которое бросающий первым может передать с помощью
имеющихся в его распоряжении камней при условии, что второму обеспечивается возможность передачи не менее
сообщений. В обозначениях
таблицы EtCetera эквивалентно тому, что среди всевозможных пар перечисленных в 3-м столбце
-й строки таблицы присутствует пара (k,m).
Я, в отличие от
EtCetera, интерпретирую как ноль камней, так и один камень, как возможность передачи не нуля, а
одного сообщения (поскольку логарифм от этой единицы даёт правильное значение — ноль бит информации, которое можно передать). Однако если второму бросающему никак нельзя дать возможность передать
сообщений, если первому досталось
камней, то
. Поэтому в моих обозначениях
,
, а для
будет
.
Пусть мы хотим вычислить
, где
, для всех
. Первый может бросить
камней если и только если
для какого-то
(поскольку, очевидно,
не убывает с ростом
при фиксированном
, то достаточно потребовать
).
Итак, пусть первый кинул
камней (разрешённое количество). Зададимся вопросом: сколько максимально сообщений первый сможет передать после ответного броска второго? Иными словами, какое максимальное количество сообщений второй может позволить передать первому при своём следующем ходе (не забывая при этом о своих
сообщениях)? Ответ на это, по определению функции
, таков: максимальное
, при котором
всё ещё не меньше
, или
.
Суммируя варианты передачи по всем разрешённым
, имеем полное количество сообщений, которое может передать первый при указанном ограничении:
Этому выражению можно придать другую форму:
Если к этому добавить, что максимальное
, для которого
, мы уже ранее вычислили как
(
-й член последовательности Фибоначчи), то остаётся только считать. Искомое количество сообщений для
камней будет равно
Вот таблица первых
:
-- Пт авг 09, 2013 12:41:53 --EtCetera это всё уже писал, даже обозначения почти те же. Только я его сначала не понял