Рис. 1.1. Первые пять чисел деления круга
Если продолжить действовать таким же образом, кажется, что проявляется паттерн. Вот данные по числу областей, получающихся при добавлении очередных точек на окружности:
1, 2, 4, 8, 16 …
В этот момент разумно предположить, что добавление очередной точки удваивает число областей. Проблема заключается в том, что этот паттерн нарушается, как только я добавляю шестую точку. Как ни старайся, число областей, на которые линии разбивают круг, оказывается равным 31. А вовсе не 32!
Рис. 1.2. Шестое число деления круга
Для числа областей существует формула, но она чуть сложнее, чем простое удвоение. Если на окружности есть N точек, максимальное число областей, которые можно получить, соединяя эти точки, равно
1/24 (N4 – 6N3 + 23N2 – 18N + 24).
Мораль тут следующая: важно знать, что именно описывают ваши данные, а не полагаться на одни лишь числа. Обработка данных может быть делом опасным, если она не сочетается с глубоким пониманием того, откуда взялись эти данные.
Вот еще одно предостережение относительно шорткатов такого рода. Каким должно быть следующее число в этой последовательности?
2, 8, 16, 24, 32 …
В ней много степеней двух. Но что там делает число 24? В общем, если вы сумели заключить, что следующее число этой последовательности – 47, я советую вам в ближайшую же субботу купить лотерейный билет. Это выигрышные номера тиража британской Национальной лотереи, разыгранного 26 сентября 2007 года. Мы настолько пристрастились к поиску паттернов, что часто видим их там, где никакого паттерна ожидать нельзя. Лотерейные билеты выпадают случайным образом. Без паттернов. Без тайных формул. Шорткатов к миллионным состояниям не бывает. Однако в главе 8 я объясню, что даже случайные вещи следуют неким паттернам, которые можно рассматривать в качестве потенциальных шорткатов. Если речь идет о случайностях, шорткатом будет рассмотрение долгосрочной перспективы.
Концепцию паттерна можно использовать в качестве шортката к пониманию того, действительно ли какое-либо явление случайно, и этот метод имеет отношение к легкости запоминания числовых последовательностей.
Шорткат к хорошей памяти
Поскольку в интернете каждую секунду появляется огромное количество данных, компании ищут более рациональные способы их хранения. Выявление паттернов в данных облегчает их сжатие, благодаря которому для их хранения требуется меньше места. Именно эта идея лежит в основе технологий, подобных форматам JPEG или MP3.
Возьмем изображение, составленное только из черных и белых пикселей. В любом таком изображении где-нибудь может быть большой участок, состоящий из сплошных белых пикселей. Можно не описывать по отдельности каждый белый пиксель, используя для сохранения изображения такое же количество памяти, которое требуется для всех его данных, а прибегнуть к шорткату. Тогда нужно записать информацию о местоположении границы области белых пикселей и просто добавить указание закрасить эту область белым. Как правило, программный код, который я могу написать для такого закрашивания, займет гораздо меньше места, чем записи о каждом белом пикселе этой области.
Любые паттерны такого рода, которые можно обнаружить в пикселях, пригодны для написания кода, благодаря которому для записи изображения потребуется намного меньше памяти, чем для сохранения данных каждого пикселя по отдельности. Возьмем, к примеру, шахматную доску. В ее изображении есть чрезвычайно явный паттерн, позволяющий нам написать программу, просто повторяющую комбинацию из черной и белой клеток 32 раза. Эта программа не будет больше даже для доски огромного размера.
Я полагаю, что такие паттерны лежат и в основе того способа, которым человек запоминает данные. Должен признаться, что у меня очень плохая память. Я думаю, это было одной из причин, по которым меня привлекла математика. Математика всегда была моим оружием против ужасной памяти на имена, даты и случайные сведения, в которых я не могу найти логики. На уроках истории я понятия не имел, в каком году умерла королева Елизавета I; если мне говорили, что это случилось в 1603 году, я забывал эту дату уже через десять минут. На французском мне было трудно запомнить все формы неправильного глагола aller[19]. На химии я постоянно забывал, что именно горит фиолетовым пламенем – калий или натрий. Но, когда речь шла о математике, я мог восстановить любую информацию, опираясь на паттерны и логику, которые я находил в этой дисциплине.
Я подозреваю, что это один из способов, которые мы используем для запоминания. Память опирается на способность нашего мозга выявлять паттерны и структуры, что помогает сохранять сжатую программу, на основе которой можно восстанавливать воспоминания. Вот вам маленькая задачка. Посмотрите на заштрихованные клетки в показанной ниже таблице размером 6 × 6. Затем закройте книгу. Можете ли вы воспроизвести эту таблицу по памяти? Тут важно не пытаться запомнить каждую из 36 клеток изображения по отдельности, а найти паттерн, который поможет вам восстановить все изображение.
Рис. 1.3. Можете ли вы запомнить расположение заштрихованных клеток?
Хотя доля заштрихованных клеток на этом изображении приблизительно та же, что и доля черных клеток на шахматной доске размером 6 × 6, из-за отсутствия явного паттерна запомнить их расположение гораздо труднее. Чтобы получить это изображение, я подбрасывал монету и заштриховывал те клетки, для которых она выпадала орлом. С математической точки зрения вероятность получения рисунка, аналогичного шахматной доске, с регулярным чередованием орлов и решек, равна вероятности случайного расположения заштрихованных клеток. Однако рисунок шахматной доски намного легче запомнить.
Если вам удается выявить в изображении паттерн, вы можете записать инструкцию воспроизведения этого изображения. В математике такую инструкцию называют алгоритмом. Оценка размеров алгоритма, необходимого для запоминания изображения, дает довольно точную меру случайности этого изображения. Рисунок шахматной доски обладает высокой упорядоченностью. Алгоритм его воспроизведения занимает мало места. Для изображения, созданного путем подбрасывания монеты, вероятно, потребуется алгоритм не меньший, чем запись содержания каждой из 36 клеток таблицы по отдельности.
Можно заметить, что из фотографии, изображающей сцену с очевидным сюжетом, получается файл формата JPEG гораздо меньшего размера, чем исходное изображение, а картинка, состоящая из случайных пикселей, не становится меньше, если попытаться сжать ее алгоритмом JPEG: в ней нет паттернов, помогающих сжатию.
Кто бы и что бы, будь то человек или машина, ни запоминал что-либо, они прибегают к математической стороне своего разума. Запоминание требует обнаружения в данных, которые мы пытаемся сохранить, паттернов, связей, ассоциаций и логики. Паттерны – это шорткат к хорошей памяти.
Со ступеньки на ступеньку
Вернемся к вопросу, который я задал в начале этой главы. Сколько существует способов подняться на пролет из 10 ступенек, если использовать комбинации шагов на одну ступеньку (одинарных) и на две ступеньки (двойных)? К решению этой задачи можно подойти несколькими разными путями. Один из них – просто начать выписывать в случайном порядке разные варианты. При таком несистематическом подходе некоторые возможности наверняка будут пропущены, а чтобы записать их все, понадобится много времени. Нет ли стратегии получше?
Чуть более систематическим будет следующий подход. Начнем с одних лишь одинарных шагов. С ними решение только одно: 1111111111. Затем добавим к одинарным шагам один двойной. Тогда нужно сделать в общей сложности девять шагов – восемь одинарных и один двойной, причем каким по счету будет двойной шаг, можно выбирать. Этот двойной шаг можно сделать в девяти разных местах.
Эта стратегия кажется перспективной. На следующем этапе можно рассмотреть комбинации с двумя двойными шагами, перемешанными с шестью одинарными. В этом варианте подъем совершается за восемь шагов. Но придется вычислить, сколько существует вариантов выбора, то есть какой из восьми шагов будет двойным. Один двойной шаг можно сделать в восьми разных местах, а второй – в семи оставшихся после первого. Создается впечатление, что число возможных вариантов – 8 × 7. Но тут нужно действовать осторожно, потому что на самом деле мы учли одни и те же варианты дважды. Можно назначить первый двойной шаг на положение № 1, а второй – на положение № 2, а можно сделать наоборот. Результат от этого не изменится. Поэтому суммарное число возможных вариантов равно (8 × 7)/2 = 28. Собственно говоря, у этого числа есть особое математическое название. Оно называется числом сочетаний из 8 по 2 и обозначается следующим образом[20]:
В более общем случае число вариантов выбора двух чисел из N + 1 чисел вычисляется по формуле 1/2 N(N + 1) – той же самой формуле, которую Гаусс использовал для треугольных чисел. Снова то же самое колесо, которое мы уже изобрели! Задачу о выборе двух чисел из N + 1 действительно можно свести к задаче вычисления треугольных чисел. В главе 3 я покажу, каким прекрасным шорткатом к решению одной задачи часто может быть ее преобразование в другую.
Эти инструменты для вычисления количества вариантов выбора, называемые биномиальными коэффициентами, были и в числе тех формул, которые Гаусс и помощник его учителя Бартельс вместе разбирали в своих книгах по алгебре.
Но чтобы решить нашу головоломку, на следующем этапе нужно вычислить, какими способами можно выбрать три места для трех двойных шагов по лестнице из семи возможных. Хотя этот метод кажется разумным и систематическим, нам нужно будет придумывать все новые формулы для включения в подъем по лестнице все большего числа двойных шагов. Эта работа начинает казаться трудоемкой и медленной – совсем не такой, каким должен быть шорткат.