Читать «Есть идея!» онлайн - страница 13

Мартин Гарднер

Тут Сьюзен стало ясно, что число у каждого перекрестка равно либо ближайшему числу (если оно одно), либо сумме двух ближайших чисел.

Сьюзен. Еще четыре перекрестка пометила числами. Скоро закончу.

Не поможете ли вы Сьюзен? Не подскажете ли ей, сколько различных дорог ведет от ее дома к школе?

Сколько путей?

Три перекрестка на ближайшей вертикали справа следует пометить (сверху вниз) числами 1, 4, 9, а два перекрестка на следующей вертикали — числами 4 и 13. Число 13, стоящее на карте у самого правого нижнего перекрестка, показывает, что Сьюзен может выбрать кратчайшую дорогу в школу 13 различными способами.

Придуманный Сьюзен метод действительно приводит к простому и эффективному алгоритму для определения числа кратчайших путей, ведущих от ее дома к школе. Если бы Сьюзен попыталась вычертить все пути, чтобы затем пересчитать их, то решение оказалось бы весьма громоздким, а при большом числе улиц просто необозримым. Вы сможете лучше оценить эффективность предложенного Сьюзен алгоритма, если вычертите все 13 путей.

Чтобы проверить, насколько глубоко вы усвоили алгоритмы Сьюзен, попробуйте нарисовать сети улиц, имеющие другие конфигурации, и подсчитать число кратчайших путей, ведущих из точки А в точку В. Четыре задачи этого типа представлены на рис. 1. Решать их можно по-разному, например, воспользоваться комбинаторными формулами, но все методы несколько сложнее алгоритма Сьюзен.

Чему равно число кратчайших путей, по которым ладья может перейти из одного углового поля на шахматной доске в другое, диагонально противоположное? Эта задача легко решается, если каждому полю на шахматной доске приписать по числу так же, как Сьюзен приписывала числа перекресткам на карте города. Ладья ходит только по горизонтали и вертикали. Следовательно, кратчайший путь из любой клетки в любую другую состоит в преодолении разделяющего клетки расстояния по горизонтали и по вертикали. Если числа расставлены верно (см. рис. 2), то они указывают число кратчайших путей, ведущих из нижнего угла в любое поле. Например, поле в правом верхнем углу помечено числом 3432. Следовательно, ладья может перейти с поля, стоящего в левом нижнем углу доски на диагонально противоположное поле 3432 кратчайшими путями.

Разрезав шахматную доску по диагонали и повернув половину, мы получим треугольник, изображенный на рис. 3. Числа, стоящие в клетках любого ряда, указывают число кратчайших путей, ведущих в них из самой верхней клетки. Расставленные в клетках числа образуют знаменитый арифметический треугольник Паскаля, и это не удивительно: алгоритм для подсчета числа кратчайших путей, ведущих от вершины, в точности совпадает с процедурой построения треугольника Паскаля. Этот изоморфизм позволяет считать исходную головоломку прологом к изучению необычайно разнообразных и красивых свойств треугольника Паскаля.

Треугольник Паскаля позволяет находить биномиальные коэффициенты (то есть коэффициенты при любом члене разложения (a + b)n, где n — любое целое число) и решения многих задач элементарной теории вероятностей. Заметим, что на рис. 3 число кратчайших путей, ведущих из вершины треугольника в самую левую или самую правую клетку нижнего ряда, равно 1 и что по мере приближения к середине ряда число кратчайших путей возрастает. Возможно, вам случалось видеть одно из устройств, действие которых основано на свойствах треугольника Паскаля: по наклонной доске, в которую в шахматном порядке вбиты колышки, скатываются шарики и скапливаются в отсеках под колышками нижнего ряда. Распределение шариков имеет форму колоколообразной кривой, а число шариков в каждом отсеке пропорционально соответствующему биномиальному коэффициенту, потому что число кратчайших путей, ведущих в каждый отсек, в точности совпадает с определенным биномиальным коэффициентом.