Математику популяризовать трудно. Школьный курс заканчивается научными достижениями XVII–XVIII веков, а дальнейшие результаты кажутся слишком сложными, абстрактными и далекими от жизни. Действительно, чтобы понять глубину современных математических теорий, надо много и серьезно учиться. Однако вполне возможно «на пальцах» объяснить некоторые важные проблемы, которыми занимается современная математика, и идеи их решения. А также продемонстрировать практические следствия этих решений, с которыми, как оказывается, мы сталкиваемся на каждом шагу.
Именно это сделано в книге Нелли Литвак и Андрея Райгородского «Кому нужна математика? Понятная книга о том, как устроен цифровой мир». Книга действительно понятная — основной текст легко осилят те, кто смутно помнит программу средней школы. В «Приложения для подготовленного читателя» вынесены выкладки, доступные матшкольнику.
Что происходит, когда вы заходите на сайт, забиваете слово в поисковик, отправляете электронное письмо? Всё это стало возможно благодаря не только развитию техники, но и новым результатам в математике.
Вы подошли к кассам в супермаркете. Перед вами десять очередей разной длины. Что выгоднее: встать не глядя в одну из очередей или выбрать наугад две очереди (не обязательно соседние), сравнить их длины и встать в более короткую? Оказывается, второй вариант гораздо выгоднее. Он называется «выбор из двух» и впервые был предложен в 1986 году. Сейчас выбор из двух помогает отправить ваш запрос в Интернете на не слишком загруженный сервер, чтобы вы не ждали очень долго.
А вот более специальный пример: «За 1992–2012 годы компьютеры ускорились примерно в 8000 раз. За это же время независимо от скорости компьютера, иными словами, исключительно благодаря развитию математических идей алгоритмы расчета ускорились в 469 800 раз! Получается, что если вам нужно решить задачу линейного программирования, то лучше использовать старый компьютер и современные методы, чем наоборот — новейший компьютер и методы начала 1990-х. Мы не устаем восхищаться прогрессом компьютерных технологий. При этом математика достигла гораздо большего прогресса, и никто даже не заметил!» (Речь идет о пакетах CPLEX и Gurobi и задачах целочисленного линейного программирования, цитата из книги слегка укорочена.)
В каждой главе сначала описывается практическая проблема, ставится соответствующая математическая задача, затем приводится идея и история решения. Особенно впечатляют даты решений: 1940–2000-е годы.
Главы посвящены логистике (планированию производства), кодированию (хранению информация), связности случайных графов (надежности Интернета), методу выбора из двух (обработке запросов в Интернете), шифрованию (алгоритмам защиты данных), счетчикам с короткой памятью (обработке больших данных при ограниченной памяти), дизайну механизмов (математике онлайн-рекламы).
Текст хорошо проработан, подобраны хорошие аналогии и пояснения, его удачно дополняют иллюстрации и таблицы (Н. Литвак пишет, что давала читать черновики своим близким, и это чувствуется). Есть только небольшое количество мелких огрехов: например, в главе 6 не объясняется, что такое имплементация, так что приходится догадываться из контекста.
Как и во всякой хорошей популярной книге, здесь много запоминающихся историй — например, про жизнь Поля Эрдёша, про взлом «Энигмы» Тьюрингом. А также врезки с отдельными красивыми сюжетами (интересные свойства простых чисел, алгоритм подсчета числа рукопожатий и т. д.) и отсылки к другим ресурсам.
Если вам надо убедить кого-то (например, учеников, друзей или себя), что математика может быть полезной и интересной, эта книга — для вас.
Алексей Сгибнев