Jump to content

Дерево Калкина – Уилфа

Дерево Калкина-Уилфа
Как значения извлекаются из своего родителя

В теории чисел дерево Калкина -Уилфа это дерево которого , вершины соответствуют взаимно однозначно положительным рациональным числам . Корнем дерева является цифра 1, и любое рациональное число, проще всего выражаемое дробью Двое дочерних элементов ⁠ a / b — числа а / а + б и а + б / б . Каждое положительное рациональное число встречается в дереве ровно один раз. Он назван в честь Нила Калкина и Герберта Уилфа , но появляется и в других работах, включая Кеплера «Гармоники мира» .

Последовательность рациональных чисел при в ширину обходе дерева Калкина–Уилфа известна как последовательность Калкина–Уилфа . Его последовательность числителей (или, смещенных на единицу, знаменателей) представляет собой двухатомный ряд Штерна и может быть вычислена с помощью функции fusc .

Дерево из Кеплера «Harmonices Mundi» (1619 г.)

Дерево Калкина-Уилфа названо в честь Нила Калкина и Герберта Уилфа , которые рассматривали его в статье 2000 года. В статье 1997 года Жан Берстель и Альдо де Лука [ 1 ] назвали то же дерево деревом Рени , поскольку некоторые идеи они почерпнули из статьи Джорджа Н. Рэйни 1973 года. [ 2 ] Двухатомный ряд Штерна был сформулирован гораздо раньше Морицем Абрахамом Штерном , немецким математиком XIX века, который также изобрел близкородственное дерево Штерна-Броко . Еще раньше подобное дерево (включающее только дроби от 0 до 1) появляется в Кеплера «Гармониях мира» (1619). [ 3 ]

Определение и структура

[ редактировать ]
Дерево Калкина – Уилфа, нарисованное с использованием дерева H. макета

Дерево Калкина–Уилфа можно определить как ориентированный граф , в котором каждое положительное рациональное число a / b встречается как вершина и имеет одно выходящее ребро в другую вершину, ее родителя, за исключением корня дерева, числа 1, у которого нет родителя.

Родитель любого рационального числа может быть определен после представления числа в самых простых терминах, как дробь. a / b ⁠, для которого общий делитель a b и наибольший равен 1. Если a / b < 1 , родительский элемент а / б есть а / б - а ; если a / b > 1 , родительский элемент а / б есть а - б / б . Таким образом, в любом случае родителем является дробь с меньшей суммой числителя и знаменателя, поэтому повторное сокращение этого типа должно в конечном итоге достичь числа 1. Как граф с одним выходящим ребром на каждую вершину и одним корнем, достижимым всеми остальными вершинами , дерево Калкина-Уилфа действительно должно быть деревом.

Детей любой вершины в дереве Калкина – Уилфа можно вычислить путем обращения формулы для родителей вершины. Каждая вершина a / b имеет одного потомка, значение которого меньше 1, a / a + b , потому что, конечно, a + b > a . Аналогично каждая вершина a / b имеет одного потомка, значение которого больше 1, а + б / б . [ 4 ]

Поскольку каждая вершина имеет двух дочерних элементов, дерево Калкина–Уилфа является бинарным деревом. Однако это не бинарное дерево поиска : его порядок не совпадает с порядком отсортировки его вершин. Однако оно тесно связано с другим бинарным деревом поиска на том же наборе вершин, деревом Штерна – Броко : вершины на каждом уровне двух деревьев совпадают и связаны друг с другом перестановкой с обращением битов . [ 5 ]

Обход в ширину

[ редактировать ]
Последовательность Калкина-Уилфа, изображенная в виде красной спирали, проходящей через дерево Калкина-Уилфа.

Последовательность Калкина-Уилфа - это последовательность рациональных чисел, генерируемая обходом в ширину дерева Калкина-Уилфа,

1 / 1 , 1 / 2 , 2 / 1 , 1 / 3 , 3 / 2 , 2 / 3 , 3 / 1 , 1 / 4 , 4 / 3 , 3 / 5 , 5 / 2 , 2 / 5 , 5 / 3 , 3 / 4 , ….

Поскольку дерево Калкина–Уилфа содержит каждое положительное рациональное число ровно один раз, то и эта последовательность тоже. [ 6 ] Знаменатель каждой дроби равен числителю следующей дроби в последовательности. Последовательность Калкина – Уилфа также можно сгенерировать непосредственно по формуле

где q i обозначает i- е число в последовательности, начиная с q 1 = 1 , а q i представляет целую часть . [ 7 ]

возможно вычислить q i непосредственно из кодирования длины серии двоичного представления i : Также количество последовательных единиц, начиная с младшего бита, затем количество последовательных нулей, начиная с первого блока единиц, и так далее. Последовательность чисел, сгенерированная таким образом, дает в виде цепной дроби представление q i . Пример:

i = 1081 = 10000111001 2 : Цепная дробь равна [1;2,3,4,1], следовательно, q 1081 = 53 / 37 .
i = 1990 = 11111000110 2 : Цепная дробь равна [0;1,2,3,5], следовательно, q 1990 = 37 / 53 .

В другом направлении, использование непрерывной дроби любого q i в качестве кодирования двоичного числа по длине серии возвращает само i . Пример:

q я = 3/4 i : равна Цепная дробь [0;1,3], следовательно, = 1110 2 = 14.
q я = 4/3 [ 1 : Цепная дробь ;3]. Но для использования этого метода длина цепной дроби должна быть нечетным числом . Поэтому [1;3] следует заменить эквивалентной цепной дробью [1;2,1]. Следовательно, я = 1001 2 = 9.

Аналогичное преобразование между двоичными числами, закодированными по длине серии, и непрерывными дробями также можно использовать для оценки функции вопросительного знака Минковского ; однако в дереве Калкина – Уилфа двоичные числа являются целыми числами (позиции при обходе в ширину), тогда как в функции вопросительного знака они являются действительными числами от 0 до 1.

Двухатомная последовательность Стерна

[ редактировать ]
Диаграмма рассеяния fusc (0...4096)

Двухатомная последовательность Стерна представляет собой целочисленную последовательность

0, 1, 1, 2, 1, 3, 2, 3, 1, 4, 3, 5, 2, 5, 3, 4, 1, … (последовательность A002487 в OEIS ).

При нумерации, начинающейся с нуля , n -е значение в последовательности — это значение fusc( n ) функции fusc с именем [ 8 ] в соответствии с запутанным видом последовательности значений и определяется рекуррентными отношениями

с базовыми случаями fusc(0) = 0 и fusc(1) = 1 .

n - е рациональное число при обходе дерева Калкина – Уилфа в ширину — это число fusc( n ) / fusc( n + 1) . [ 9 ] Таким образом, двухатомная последовательность образует как последовательность числителей, так и последовательность знаменателей чисел в последовательности Калкина – Уилфа.

Функция fusc( n + 1) представляет собой количество нечетных биномиальных коэффициентов вида ( п - р
р
)
, 0 ≤ 2 р < п , [ 10 ] а также подсчитывает количество способов записи n как суммы степеней двойки , в которых каждая степень встречается не более двух раз. Это можно видеть из fusc, определяющего рекуррентность: выражения в виде суммы степеней двойки для четного числа 2 n либо не содержат в себе единиц (в этом случае они образуются путем удвоения каждого члена в выражении для n ), либо двух 1s (в этом случае остальная часть выражения формируется путем удвоения каждого члена в выражении для n − 1 ), поэтому количество представлений представляет собой сумму количества представлений для n и для n − 1 , что соответствует рецидив. Аналогично, каждое представление для нечетного числа 2 n + 1 формируется путем удвоения представления для n и добавления 1, что снова соответствует повторению. [ 11 ] Например,

6 = 4 + 2 = 4 + 1 + 1 = 2 + 2 + 1 + 1

имеет три представления в виде суммы степеней двойки с не более чем двумя копиями каждой степени, поэтому fusc(6 + 1) = 3 .

Связь с деревом Штерна – Броко

[ редактировать ]

Дерево Калкина-Уилфа напоминает дерево Штерна-Броко тем, что оба являются двоичными деревьями, в которых каждое положительное рациональное число появляется ровно один раз. Кроме того, верхние уровни двух деревьев выглядят очень похожими, и в обоих деревьях одни и те же числа появляются на одних и тех же уровнях. Одно дерево можно получить из другого, выполнив перестановку битов чисел на каждом уровне деревьев. [ 5 ] Альтернативно, число в данном узле дерева Калкина-Уилфа может быть преобразовано в число в той же позиции в дереве Штерна-Броко и наоборот, с помощью процесса, включающего обращение виде цепной дроби . представлений этих чисел в [ 12 ] Однако в других отношениях они имеют разные свойства: например, дерево Штерна – Броко представляет собой двоичное дерево поиска : порядок обхода дерева слева направо такой же, как и числовой порядок чисел в нем. Это свойство неверно для дерева Калкина – Уилфа.

Примечания

[ редактировать ]
  1. ^ Берстель и де Лука (1997) , Раздел 6.
  2. ^ Рэйни (1973) .
  3. ^ Кеплер, Дж. (1619), Гармоники мира , том. III, с. 27 .
  4. ^ Описание здесь двойственно исходному определению Калкина и Уилфа, которое начинается с определения дочерних отношений и выводит родительские отношения как часть доказательства того, что каждое рациональное слово появляется в дереве один раз. Как определено здесь, каждое рациональное выражение по определению появляется один раз, и вместо этого тот факт, что полученная структура является деревом, требует доказательства.
  5. ^ Перейти обратно: а б Гиббонс, Лестер и Берд (2006) .
  6. ^ Калкин и Уилф (2000) : «список всех положительных рациональных чисел, каждое из которых встречается один и только один раз, можно составить, записав 1/1 Гиббонс , затем дроби на уровне чуть ниже вершины дерева, читаем слева направо, затем дроби на следующем уровне вниз, читаем слева направо и т. д.» , Лестер и Бёрд ( 2006) обсуждают эффективные методы функционального программирования для выполнения этого обхода в ширину.
  7. ^ Кнут и др. (2003) приписывают эту формулу Моше Ньюману.
  8. ^ Название fusc было дано в 1976 году Эдсгером В. Дейкстрой ; см. EWD570 и EWD578.
  9. ^ Калкин и Уилф (2000) , Теорема 1.
  10. ^ Карлитц (1964) .
  11. В записи OEIS этот факт приписывают Карлитцу (1964) и нецитируемой работе Линда. Однако статья Карлитца описывает более ограниченный класс сумм степеней двойки, подсчитываемых fusc( n ) вместо fusc( n + 1) .
  12. ^ Бейтс, Бандер и Тогнетти (2010) .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: acdcafccd7c22e9c369dbd4c7d8cccff__1714224780
URL1:https://arc.ask3.ru/arc/aa/ac/ff/acdcafccd7c22e9c369dbd4c7d8cccff.html
Заголовок, (Title) документа по адресу, URL1:
Calkin–Wilf tree - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)