Jump to content

Дополнительная цепочка

В математике цепочка сложения для вычисления положительного целого числа n может быть задана последовательностью натуральных чисел , начинающихся с 1 и заканчивающихся n , так что каждое число в последовательности представляет собой сумму двух предыдущих чисел. Длина цепочки сложения — это количество сумм, необходимых для выражения всех ее чисел, которое на единицу меньше мощности последовательности чисел. [1]

Например: (1,2,3,6,12,24,30,31) — цепочка сложения для 31 длины 7, так как

2 = 1 + 1
3 = 2 + 1
6 = 3 + 3
12 = 6 + 6
24 = 12 + 12
30 = 24 + 6
31 = 30 + 1

Цепочки сложения можно использовать для возведения в степень цепочки сложения . Этот метод позволяет выполнять возведение в степень с целочисленными показателями, используя количество умножений, равное длине цепочки сложения показателя степени. Например, цепочка сложения числа 31 приводит к методу вычисления 31-й степени любого числа n с использованием только семи умножений вместо 30 умножений, которые можно было бы получить при повторном умножении, и восьми умножений с возведением в степень путем возведения в квадрат :

н 2 = п × п
н 3 = п 2 × н
н 6 = п 3 × н 3
н 12 = п 6 × н 6
н 24 = п 12 × н 12
н 30 = п 24 × н 6
н 31 = п 30 × н

Методы вычисления цепочек сложения

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

Вычислить цепочку сложения минимальной длины непросто; обобщенный вариант задачи, в котором необходимо найти цепочку, одновременно образующую каждое из последовательностей значений, является NP-полной. [2] Не существует известного алгоритма, который мог бы вычислить минимальную цепочку сложения для заданного числа с какими-либо гарантиями разумного времени или небольшого использования памяти. Однако известно несколько методов расчета относительно коротких цепочек, которые не всегда оптимальны. [3]

Одним из очень хорошо известных методов расчета относительно коротких цепочек сложения является бинарный метод , аналогичный возведению в степень возведением в квадрат . В этом методе цепочка сложения числа получается рекурсивно, из цепочки сложения для . Если четно, его можно получить в одну дополнительную сумму, как . Если нечетно, этот метод использует две суммы для его получения путем вычисления а затем добавив один. [3]

Факторный метод нахождения цепочек сложения основан на простой факторизации числа быть представленным. Если есть номер в качестве одного из его главных множителей, то цепочка сложения для можно получить, начав с цепочки для , а затем соединив с ним цепочку для , модифицированный путем умножения каждого из его чисел на . Идеи факторного метода и бинарного метода можно объединить в m-арный метод Брауэра, выбрав любое число. (независимо от того, делит ли оно ), рекурсивно строя цепочку для , объединяя цепочку для (модифицировано так же, как указано выше), чтобы получить , а затем прибавляем остаток. Дополнительные усовершенствования этих идей привели к созданию семейства методов, называемых методами скользящего окна . [3]

Длина цепи

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

Позволять обозначаю самый маленький так что существует цепочка сложениядлины который вычисляет .Известно, что

,

где - вес Хэмминга (число единиц) двоичного разложения . [4]

Можно получить цепочку сложения для из цепочки сложения для включив одну дополнительную сумму , откуда следует неравенство от длины цепей для и . Однако это не всегда равенство,как в некоторых случаях может иметь более короткую цепочку, чем полученная таким способом. Например, , заметил Кнут. [5] Это возможно даже для иметь более короткую цепочку, чем , так что ; самый маленький для чего это происходит , [6] за которым следует , и так далее (последовательность A230528 в OEIS ).

Цепь Брауэр

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

Цепь Брауэра или цепочка звездчатого сложения — это цепочка сложения, в которой каждая из сумм, используемых для расчета ее чисел, использует непосредственно предыдущее число. Число Брауэра — это число, для которого оптимальна цепочка Брауэра. [5]

Брауэр доказал, что

л * (2 н −1) ≤ n − 1 + l * ( н )

где — длина самой короткой звездной цепочки. Для многих значений n , и в частности для n < 12509 , они равны: [7] л ( п )= л * ( н ) . Но Хансен показал, что существуют некоторые значения n , для которых l ( n ) ≠ l * ( n ) , например n = 2 6106  + 2 3048  + 2 2032  + 2 2016 + 1, который имеет l * ( п ) знак равно 6110, л ( п ) ≤ 6109 . Наименьшее такое n равно 12509.

Гипотеза Шольца

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

Гипотеза Шольца (иногда называемая гипотезой Шольца-Брауэра или гипотезой Брауэра-Шольца ), названная в честь Арнольда Шольца и Альфреда Т. Брауэра), представляет собой гипотезу 1937 года, утверждающую, что

Известно, что это неравенство справедливо для всех чисел Хансена, являющихся обобщением чисел Брауэра; Нил Клифт проверил с помощью компьютера, что все являются Хансеном (а 5784689 — нет). [6] Клифт далее подтвердил, что на самом деле для всех . [5]

См. также

[ редактировать ]
  1. ^ DE Кнут, Искусство компьютерного программирования , Том 2, «Получисловые алгоритмы», раздел 4.6.3, 3-е издание, 1997 г.
  2. ^ Дауни, Питер; Леонг, Бентон; Сетхи, Рави (1981), «Вычисление последовательностей с цепочками сложения», SIAM Journal on Computing , 10 (3): 638–646, doi : 10.1137/0210047 . В ряде других статей со ссылкой на эту статью утверждается, что поиск кратчайшей цепочки сложения для одного числа является NP-полной, но она не утверждает и не доказывает такой результат.
  3. ^ Jump up to: Перейти обратно: а б с Отто, Мартин (2001), Цепочки сложения-вычитания Брауэра (PDF) , Diplomarbeit, Университет Падерборна, заархивировано из оригинала (PDF) 19 октября 2013 г. , получено 19 октября 2013 г.
  4. ^ Шенхаге, Арнольд (1975), «Нижняя граница длины цепочек сложения», Theoretical Computer Science , 1 (1): 1–12, doi : 10.1016/0304-3975(75)90008-0
  5. ^ Jump up to: Перейти обратно: а б с Гай (2004) стр.169
  6. ^ Jump up to: Перейти обратно: а б Клифт, Нил Майкл (2011). «Расчет оптимальных цепочек сложения» (PDF) . Вычисление . 91 (3): 265–284. дои : 10.1007/s00607-010-0118-8 .
  7. ^ Ахим Фламменкамп, Кратчайшие цепочки сложения
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 12963386e8c2f32cbedcf10b63a61038__1721113920
URL1:https://arc.ask3.ru/arc/aa/12/38/12963386e8c2f32cbedcf10b63a61038.html
Заголовок, (Title) документа по адресу, URL1:
Addition chain - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)