915 миллионов комбинаций
В 1974 году компания «Лего» подсчитала, что шесть стандартных (4х2) блоков конструктора одного цвета можно соединить в 102981500 различных комбинаций.
Много лет эту информацию никто не ставил под сомнение, пока в начале 2000-х годов темой не заинтересовался Сёрен Эйлерс, профессор математики из Копенгагенского университета.
«Я вспомнил, что видел старый плакат, на котором говорилось, что существует примерно 102 миллиона способов соединить шесть блоков “Лего” одного цвета. После посещения [тематического парка] LEGOLAND мне стало интересно, как было получено это число — ведь, на мой взгляд, без компьютера найти его было бы сложно», — рассказывал ученый в интервью.
Для решения задачи он написал программу на Java, которая смоделировала все возможные комбинации стандартных блоков «Лего». По словам математика, его домашний компьютер G4 Apple Powerbook подвергся «тяжелому испытанию». Целую неделю машина, используя рекурсивный метод подсчета, перебирала данные, и в конце концов выдала окончательный результат — 915103765 — число, оказавшееся намного больше исходного. Дело в том, что программа Эйлерса учитывала все возможные варианты, а оригинальные расчеты базировались лишь на одном типе комбинаций, в котором из блоков в итоге получается башня.
Однако профессор не очень поверил результатам, опасаясь, что допустил ошибки при работе с программой. (Позже он отмечал: «Мне до сих пор кажется, что я не нашел математического решения, ведь я использовал компьютер. А это же жульничество! Я бы предпочел разработать красивую формулу».) Поэтому дополнительную проверку Эйлерс поручил Миккелю Абрахамсену — школьнику, который ранее обращался в университет с просьбой дать ему сложный математический проект. Профессор поставил Абрахамсену задачу без каких-либо дополнительных вводных, и через пару недель подросток вернулся с тем же результатом — 915103765. Для решения проблемы он написал программу на языке Pascal, которая выполнялась на Intel Machine с Windows XP. Причем итеративный метод, примененный школьником, получился еще более эффективным, чем тот, что использовал преподаватель математики. Впоследствии Абрахамсен занимался повышением скорости программ для получения еще более точных значений. За свою работу юный исследователь был удостоен премии Forskerspire, которую присуждает Копенгагенский университет.
Кстати, Сёрен Эйлерс не единственный математик, которого заинтересовали возможные комбинаций «Лего». Невероятно, но в ту же неделю, когда Эйлерс связался с университетским отделом коммуникаций, сотрудники подразделения получили письмо от Мухаммада Ахсана, бангладешского профессора математики на пенсии. Профессор Ахсан приехал в командировку в Данию и тоже озадачился «проблемой “Лего”». Сделав несколько вычислений на листе бумаги, он обнаружил, что минимальная цифра составляет более 200 миллионов!
Специально для своих выкладок Эйлерс создал в 2005 году сайт, который работает до сих пор. Здесь есть не только подробное описание методов и алгоритмов, но и много другой интересной информации. Ученый стал развивать идею и начал подсчитывать, что будет, если добавить седьмой блок, восьмой, и так далее. С каждым новым дополнением работа становится экспоненциально все более трудоемкой — получается «”Лего”-энтропия» — и некоторые вычисления могут занимать годы, если не столетия.
Например, вот, сколько нужно времени, чтобы получить ответ для задачи с 25-ю стандартными блоками «Лего»:
«Нам потребуется что-то около 130881177000000000000000000000000000000000 лет, чтобы найти правильное число, учитывая нынешнюю [2005 год] эффективность наших компьютерных программ. Через 5000000000000 лет нам придется вывезти компьютер за пределы Солнечной системы, поскольку Солнце, как ожидается, станет красным гигантом примерно в это время».
А вы собираете «Лего» или аналоги? Может, у вас есть классная история, связанная с конструкторами? Ставьте реакции и пишите в комментариях ⬇️
👉 ISPsystem | ПО для управления IT инфраструктурой
👉 ISPsystem — облака, инфраструктура, хостинг
Подпишись!
