8
ГЕНЕАЛОГИЧЕСКИЕ ДЕРЕВЬЯ
А. А. ПАНОВ
В этой статье пойдет речь о математической классике — алгоритм Евклида и пифагоровых тройках. Алгоритм Евклида описан в εκklидовых «Началах» (около 300 г. до н. э.) и наверняка был известен задолго до этого. История пифагоровых троек прослеживается еще дальше. Замечательным памятником человека ккультуры является древнеавилонская глиняная таблица, содержащая пятнадцать пифагоровых троек. Она датируется 1700 годом до н. э.
Мы здесь попытаемся строить пыль с этих древних понятыми, поговорить о них на наглядном «языке деревьев». Этот язык оказывается полезным при решении некоторых уравнений и указывает, какая связь существует между алгоритмом Евклида и методом построения пифагоровых троек, недавно предложенным английским математиком А. Холлом.
Алгоритм Евклида
Алгоритм Евклида служит для нахождения наиболее общего делителя (НОД) двух натуральных чисел.
Пусть — пара положительных целых чисел:
- если , то число и есть наиболее общий делитель исходной пары чисел, если , то перейти к 2);
- большее число заменить на его разность с меньшим и перейти к 1).
Возможно, вы больше привели к следующему варианту шага 2:
2’) большее число заменить на его остаток от деления на меньшее и перейти к 1),
но это дело вкуса.
Задача 0. Докажите, что оба алгоритма 1), 2) и 1), 2’) приводят к одному и тому же результату.
Указание. Вспомните, что деление — это многоократное вычитание.
Во всяком случае, сам Евклид говорит о своем алгоритме как о «постоянном отличии меньше от большего» («Начала», Книга 7, Предложение П, перевод Д. Д. Мордухай-Болтовского). Именно этот алгоритм, основанный на многоократном вычитании, и будет объektом нашего исследования.
Продемонстрируем работу алгоритма на конкретном примере. Пусть . Тогда, записывая действия алгоритма справа налево, получим следующее цепочку:
.
Значит, НОД . Проделав то же самое для пары , получим цепочку
.
Ясно, что каждое число во второй цепочке получается из соответствующего числа в первой цепочке делением на 4.
Разобравшись с этим примером, ответьте на следующий вопрос.
Задача 1. Пусть . Положим . Чему равен НОД и в чем сходство между действием алгоритма Евклида на пару и на пару ?
В дальнейшем мы ограничим только пары , для которых НОД . Такие пары будем называть простыми парами.
Генеалогия простых пар
Рассмотрим еще один пример. Применим алгоритм Евклида к простой паре :
.
Эта цепочка имеет общую часть с цепочкой для пары , и потому их можно обединить:
Можно добавить еще одну простую пару , и картина условия:
10
Создается впечатление, что должно существовать общая картина, обведенная все простые пары. Чтобы выяснить ее строение, можно было бы добавить еще несколько простых пар. Так или иначе, в какой-то момент времени нам должны прийти в голову правильный вопрос: путь имеет простая пара ; от каких пар к ней могут идти стрелки?
Задача 2. Докажите, что если от пары в алгоритме Евклида идет стрелка к паре , то либо , , либо , .
Эта задача подсказывает, что нужно ввести два преобразования и , переводящих пару в пары
(1).
Тепер мы можем двигаться в обратном порядке. Начнем с пары и применим к ней оба преобразования и ( действует по стрелке, идущей вверх, — по стрелке, идущей вниз). Получим две новые пары — и . К каждой из них снова применим и и т. д.
Каждая пара здесь порождает две новые пары, и этот процесс продолжается впервые до бесконечности. Как и следовало ожидать, рисунок 1 содержит в качестве фрагментов все предыдущее картини, только стрелки здесь обращены в другую сторону.
Рис. 1.
Задача 3. Докажите, что любая пара на рисунке 1 простая.
Задача 4. Докажите, что каждая простая пара содержится на рисунке 1 и притом только один раз.
После этих задач to, что изображено на рисунке 1, естественно называть генеологическим деревом простых пар.
Задача 5. Пусть пара лежит на генеологическом дереве на рисунке 1. Существует единственный путь, соединяющий ее с начальной парой . Покажите, что движение по этому пути против стрелок соответствует применению к паре алгоритма Евклида.
Итак, генеологическое дерево на рисунке 1 содержит все простые пары. Применение алгоритма Евклида к паре эквивалентно движению по дереву против стрелок.
Уравнение
Изменим теперь тему разговора и попытаемся найти все целочисленные решения уравнения
Ограничим лишь положительные . Пример: , , .
Казалось бы, о чем говорить? Для заданного отискание решения уравнения свойства к разложению числа на два сомножителя, и для каждой можно даже подсчитать число решения.
Задача 6. Заффиксируем и путь — разложение на простые сомножители. Докажите, что число решения уравнения (2) равно .
Однако я хочу предложить другую точку зрения.
Задача 7. Пусть — решение уравнения (2); докажите, что при тройка — тоже решение. Пусть — решение уравнения (2) и НОД ; докажите, что тоже решение уравнения (2) и при этом НОД .
Таким образом, при отискании всех решений уравнения (2) мы можем ограничиться только теми, для которых НОД ; будем назвать их примитивными. Все остальные получаются из примитивных простым умножением.
Задача 8. Пусть — примитивное решение уравнения (2). Докажите, что найдется такая простая пара , что , , .
Тепер ясно, что соответствия , , (3) осуществляется взаимно однозначное соответствие между простыми парами и примитивными решениями уравнения (2).
Это значит, что мы в полной мере можем воспользоваться нашими предыдущими результатами о простых парах. Например, используя соответствие (3), заменим на рисунке 1 каждую простую пару соответствующим ей примитивным решением . Получившееся дерево естественно называть генеологическим деревом примитивных решений уравнения (2). Оно содержит все без
11
исключения примитивные решения. Можно предложить более прямой и удобный путь построения этого дерева.
Задание 9. Пусть пара порождает при помощи (3) решения . Обозначим решение, пороженное парой , через и решение, пороженное , — через . Доказите, что
Все это означает, что генеалогическая дерево на рисунке 2 возникает непосредственно при помощи преобразования и . Мы исходим из очередного решения (1, 1, 1) и начинаем действовать на него преобразования и . Стрелка, идущая вверх, соответствует действию , стрелка, идущая вниз, — действию .
Рис. 2.
Рисунок 2 выглядает весма привлекательным и позволяет получитьясное представление об устройстве множества всех примитивных решений уравнения (2). Но все-tаки уравнение , как мы уже говорили, допускает и более простой подход. Поэтому перейдем к рассмотрению более содержательного примера.
Пифагороны тройки
Итак, уравнение
Его целочисленные положительные решения называются пифагороны тройками. Самый первый пример пифагоровой тройки — это, конечно, тройка (3, 4, 5). Нам бы хотелось и для этого уравнения построить дерево решений — генеалогическое дерево пифагоровых тройки, подобное тому, что на рисунке 2. Как это сделать? Если следовать тому, что было сделано для уравнения , то необходимо:
(I) среди всех пифагоровых троек выделить примитивные;
(II) для примитивных пифагоровых троек выписать подходящие соответствия на подобные соответствий (3);
(III) построить генеалогическое дерево для пар и заменить на нем каждую пару на порожденную его тройку .
To, что связано с пунктами (I) и (II), уже давно известно. Мы сообщим необходимые факты без каких бы то ни было комментариев и доказательств, отсылая читателя в случае необходимости к статье С. М. Воронина и А. Г. Кулагина («Квант», 1987, № 1, с. 11).
Пифагорова тройка называется примитивной, если НОД и при этом нечетно, а четно. Тройка (3, 4, 5), например, примитивна.
Известно, что для любой пифагоровой тройки существует такая единственная примитивная пифагорова тройка и такое единственное натуральное число , что либо , либо . Тем самым, перечислив все примитивные пифагороны тройки, мы получаем возможность перечислять и все вообщепи-fontовы тройки.
Целочисленная пара называется примитивной, если , НОД и числа имеют разную четность. Пара (2, 1), например, примитивна.
Известно, что соответствия (4) осуществляют взаимно однозначное соответствие между множеством всех примитивных пар и множеством всех примитивных пифагоровых троек. Пара (2, 1), например, при помощи соответствий (4) порождает тройку (3, 4, 5).
Что касается пункта (III) нашей программы построения генеалогического дерева, то он был реализован английским математиком А. Холлом.
Генеалогия пифагоровых троек
В небольший заметке, опубликован в 1970 году в журнале «Mathematical Gazette», А. Холл предлагает
12
следующий способ построения генеалогического дерева для примитивных пар и примитивных пифагоровых troek. Вводятся три преобразования и :
При помощи этих преобразований, начиная с пары (2, 1), строится генеалогическое дерево. Здесь направление вверх соответствует преобразования , горизонтальное направление — преобразование , направление вниз — преобразование .
Задача 10. Пусть пара порождает при помощи соответствий (4) пифагорову troйку . Пифагорову troйку, порожденную парой , обозначаем через ; troйку, порожденную парой , — через ; наконец, troйку, порожденную парой , — через . Докажите, что
Теперь при помощи преобразования построим еще одно генеалогическое дерево, но уже началосься с troйки (3, 4, 5).
Замечательный результат Холла заключается в том, что генеалогическое дерево на рисунке 3 содержит все без исключения примитивные пары; значит, генеалогическое дерево на рисунке 4 содержит все без исключения пары (2, 1).
К каждой паре на рисунке 3 подходитровно одна стрелка. Для преобразования это соответствует следующему факту.
Задача 13. Пусть пара примитивна и . Докажите, что тогда только одна из трех пар , , будет примитивной. При этом .
И, наконец, завершаюшая
Задача 14. Докажите, что каждая примитивная пара содержится на генеалогическом дереве на рисунке 3 и при этом только один раз (а также каждая примитивная пифаговая troйка на рисунке 4).
Другие генеалоги
В 1978 году в скандинавском математическом журнале «Normat» была опубликована статья Е. Сельмара, в которой установлен, что существуют
13
еше два генеологических деревьев, содержащих все без исключений и повторений примитивные пифагоровы трейки (рис. 5).
Первое из них строится при помощи преобразования
Второе — при помощи преобразования
Пифагоры трейки неизменно, на протяжении тиссячелей привлекают внимание математиков. Но мы видим, что эта тема не исчерпала себя, и тут до сих пор продолжают обнаруживать новые интересные факты.
Подводя итоги
В связи с тем, что было расссказано, имеется несколько вопросов, которые необходимо если не решить, то по крайней мере задать. Например, почему для управления от каждой решения отходят две стрелки, а на генеологическом дереве для — три? Далее, почему для управления построено три генеологических деревьев, а для — только одно, и существует ли для этих управления другие деревья? Наконец, как бы найдены преобразования , , , позволяющие строить генеологические деревья для пифагоровых трейки?
Наше построение генеологического дерева для управления напрямую связано с алгоритмом Евклида и выгладит достаточно мотивированным, чего нельзя сказать об управлении . Однако между этим управлениями имеется связь, оправдывающая попытки сделать для одного из них то, что было сделано для другого. Действительно, записем управление в виде и разложим левую часть на множители: . Сделав замену , , , приходим к управлению . Таким образом, существует замена, переводящая управление в управление .
Имеется еще цель ряда управления, допускающих замену, переводящую их в . Таким управлениями будут, скажем, и . Вы можете попытаться построить генеологические деревья и для этих управлений.
Необходимо сказать еще об одном заменаальном управлении — управлении Маркова:
Оно обладает уже привящным для нас свойством — все его решения, кроме двух очень низких (1, 1, 1) и (2, 1, 1), организуют в генеологическое дерево. Об этом подробно расссказано в увеличительной стате М. Г. Крейна («Квант», 1985, № 4, с. 13). Это дерево вполне аналогично генеологическому дереву для управления . Существует ли какая-то связь между этим управлениями? Какие еще управления обладают подобными свойствами?
Так что тут есть о чем еще подумать.