Научная статья на тему 'Эквивалентные по Фробениусу примитивные множества чисел'

Эквивалентные по Фробениусу примитивные множества чисел Текст научной статьи по специальности «Математика»

CC BY
219
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ЧИСЛО ФРОБЕНИУСА / ПРИМИТИВНОЕ МНОЖЕСТВО / ПОРОЖДЕННАЯ МНОЖЕСТВОМ ЧИСЕЛ АДДИТИВНАЯ ПОЛУГРУППА / FROBENIUS NUMBER / PRIMITIVE SET / ADDITIVE SEMIGROUP GENERATED BY SET OF NUMBERS

Аннотация научной статьи по математике, автор научной работы — Фомичев Владимир Михайлович

Множества натуральных взаимно простых чисел {й1,..., ak} и {b1,...,bi} полагаются эквивалентными, если им соответствует одно и то же число Фробениу-са, то есть g(a 1,..., ak) = g(b 1,...,bi). Получены результаты, позволяющие для широкого класса множеств аргументов сократить вычисления при решении проблемы Фробениуса как в оригинальной постановке (определение числа Фробе-ниуса g(a1,...,ak)), так и в расширенной постановке (определение множества всех чисел, не содержащихся в аддитивной полугруппе, порожденной множеством {a1,..., ak}).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Primitive sets of numbers being equivalent by Frobenius

Equivalence of primitive sets of natural numbers is investigated in connection with the Diophantine Frobenius problem. The equivalence is used for simplifying calculations of Frobenius number g(a 1,..., a k) and of the whole set of numbers that are not contained in the additive semigroup generated by a set {a 1,..., a k}.

Текст научной работы на тему «Эквивалентные по Фробениусу примитивные множества чисел»

2014 Теоретические основы прикладной дискретной математики №1(23)

УДК 519.6

ЭКВИВАЛЕНТНЫЕ ПО ФРОБЕНИУСУ ПРИМИТИВНЫЕ МНОЖЕСТВА ЧИСЕЛ

В. М. Фомичев

Финансовый университет при Правительстве Российской Федерации, г. Москва, Россия

E-mail: [email protected]

Множества натуральных взаимно простых чисел {al,...,at} и {bl,...,bi} полагаются эквивалентными, если им соответствует одно и то же число Фробениу-са, то есть g(al,...,at) = g(bl,.. .,bi). Получены результаты, позволяющие для широкого класса множеств аргументов сократить вычисления при решении проблемы Фробениуса как в оригинальной постановке (определение числа Фробе-ниуса g(al,..., at)), так и в расширенной постановке (определение множества всех чисел, не содержащихся в аддитивной полугруппе, порожденной множеством {al, . . ., ak}).

Ключевые слова: число Фробениуса, примитивное множество, порожденная множеством чисел аддитивная полугруппа.

Введение

Основные обозначения:

N0 = N U {0}, где N — множество всех натуральных чисел;

(al,..., ak) —наибольший общий делитель натуральных чисел al,.. .,ak;

(A) —аддитивная полугруппа, порожденная множеством A С N;

если A = {al,..., ak}, n Є N0, то nA = {nal,..., nak}, n + A = {n + al,... ,n + ak};

A(i) = {al,.. .,ai}, C (A(i)) = diNo\(A(i)), di = (al,.. .,ai), г = 2,...,к; zi = maxC(A(i)), (A(i)) = {a Є (A(i)) : a < zi}, г = 2,... ,к.

Диофантова проблема Фробениуса (ПФ) (другое название — Money Changing Problem) состоит в определении наибольшего натурального числа t Є (A), то есть числа, не представимого линейной комбинацией (с неотрицательными целыми коэффициентами) взаимно простых чисел al,..., ak.

Множество A = {al,.. .,ak} натуральных чисел, к > 1, называется примитивным, если (al,.. .,ak) = 1. Следовательно, функция Фробениуса g(al,.. .,ak) определена на всех примитивных множествах {al,..., ak} равенством

g(al,..., ak) = max{t Є N : t Є (A)}.

Определим C(A) = C(A(k)) —множество всех натуральных чисел, не представимых линейными комбинациями чисел al,...,ak, к > 1. Тогда число Фробениуса g(A) = = max C(A). Задача определения множества C(A) называется расширенной проблемой Фробениуса (РПФ).

Описание множества C(A) и формула числа Фробениуса даны Сильвестром [1] для к = 2 ещё в 1884г.: |C(A)| = (g(al, a2) + 1)/2, где

g(al, a2) = ala2 — al — a2. (1)

При к > 2 активно изучался порядок множества C(A) и некоторые его свойства [2, гл. 5]. В [3] анонсирован алгоритм РПФ на основе рекуррентного соотношения между множествами C(A(k)), к > 1, и дана оценка его сложности.

Несмотря на то, что ПФ исследовалась намного активнее, формулы получены только для множеств частного вида при k = 3, 4. Объективные трудности в получении общей формулы обоснованы в [2], где показано, что уже при k = 3 нельзя разбить область определения на конечное число подобластей так, чтобы в каждой подобласти число Фробениуса g(ai, a2, a3) выражалось как значение полинома от аргументов.

Более продуктивным оказался алгоритмический подход к определению g(ai,..., ak). Построен ряд алгоритмов как при k = 3 [4], так и при произвольном k. В [5, 6] разработан алгоритм вычисления функции Фробениуса при любом k с помощью экспо-ненцирования квадратной неотрицательной матрицы M порядка ak и определения её показателя примитивности (экспонента) с использованием соотношения

g(ai,.. .,ak) = exp M — afc.

Вычислительная сложность алгоритма в битовых операциях равна O(a|), требуемая память — O(ak logak) битов. В [7] предложено улучшение этого алгоритма со сложностью O(a|), однако обоснование корректности алгоритма не представлено.

В [8] на основе теоретико-графового подхода построен алгоритм определения g(a1,...,ak) со сложностью O(a1(k + loga1)) арифметических операций. В [9] оценка сложности этого алгоритма снижена до величины порядка O(ka1) операций.

Данная работа посвящена сокращению вычислительной сложности РПФ и ПФ с использованием эквивалентности множеств аргументов функции Фробениуса. На основе исследования отношений эквивалентности РПФ и ПФ для исходного множества аргументов A редуцируются на его собственное подмножество порядка h, где

2 ^ h ^ min(k,a1). Это позволяет снизить оценку вычислительной сложности до величины O(l(A) + ha1) арифметических операций, где l(A) ^ k и числа l(A) и h в ряде случаев значительно меньше k.

1. Эквивалентность множества и подмножества

Примитивное множество чисел A = {a1,...,ak} рассмотрим как возрастающую последовательность длины k, где 1 < a1 < ... < ak.

Множества A и A1 называются эквивалентными (обозначается A = A'), если (A) = (A;). Наименьшие числа эквивалентных множеств равны.

Примитивные множества A и A1 называются g-эквивалентными (обозначается

g

A = A'), если g(A) = g(A'). Из определения следуют свойства:

1) если D = D', то D = D';

2) D = D' ^ C(D) = C(D');

3) A(i) = A(i-1) ^ ai G (A(i-1)), необходимое условие этого d = di-1, i = 2,... ,k. Пусть a G N, B С N. Положим, что a делит B (записывается a | B), если a делит

без остатка некоторое число из B. В противном случае a не делит B (записывается

a IB).

Теорема 1. Примитивные множества A(i) и A(i-1) являются g-эквивалентными, если и только если ai /(g(a1,..., ai-1) — (A(i-1))).

Доказательство. Свойство ai /(g(a1,..., ai-1) — (A(i-1))) равносильно тому, что

g(a1,..., ai-1) = b + rai

при любом b G (A(i-1)) и любом натуральном r, то есть g(a1,..., ai-1) G C(A(i)). Вместе с тем, если a > g(a1,..., ai-1), то по определению a G (A(i-1)) и, значит, a G (A(i)).

Следовательно, g(a1,.. .,ai-1) —наибольшее натуральное число из множества C(A(i)). Отсюда g(a1,..., ai-1) = g(ab ..., ai). ■

g

Следствие 1. Пусть (a1,a2) = 1, тогда {a1,a2} = {a1,a2,a3}, если и только если a3 /C(A(2)), где C(A(2)) = a1a2 — a1 — a2 — (A(2)).

2. Эквивалентность, связанная с линейными соотношениями

Числа ai и aj множества A называются a1-эквивалентными, если ai mod a1 = = aj mod a1. Примитивное множество A = {a1,...,ak} разбивается на h классов a1-эквивалентности, где 2 ^ h ^ min{k,a1}. Трансверсаль множества A по отношению a1-эквивалентности, состоящую из наименьших чисел классов, назовём a1-транс-версалью множества A и обозначим A/a1. Обозначим W(A/a1) последовательность порядковых номеров (начиная со второго) чисел a1 -трансверсали.

Множество A называется приведённым, если ai G (A(i-1)), i = 2,..., k. Неприведён-ное примитивное множество A содержит приведённые примитивные подмножества. Приведённое подмножество Ba множества A, называемое A-базисом, строится последовательно: a1 G Ba; a2 G Ba, если и только если a2 не кратно a1; пусть из {a1,..., ai-1} в подмножество Ba включены числа b1,...,bj, тогда ai G Ba, если и только если di-1 > di или di-1 = di и ai G C(b1,..., bj), i = 3,..., k. Обозначим W(BA) последовательность порядковых номеров (кроме 1) чисел A-базиса, то есть таких i G {2,..., k}, что di-1 > di или di-1 = di и ai G C(a1,..., ai-1).

Пример 1. Неприведённое множество A = {5,14,19, 28, 43,49} разбивается на три класса 5-эквивалентности: Co = {5}, C3 = {28,43}, C4 = {14,19,49}. Здесь A/5 = {5,14, 28} есть 5-трансверсаль множества A; A-базис есть множество Ba = = {5,14}; W(Ba) = {2}.

Неприведённое множество A = {7,14, 23, 48, 56, 62} разбивается на три класса 7-эквивалентности: C0 = {7,14, 56}, C2 = {23}, C6 = {48, 62}. Здесь A/7 = BA = {7, 23, 48} есть 7-трансверсаль множества A и A-базис, W(Ba) = {3, 4}.

Индексом примитивности множества A называется наименьшее натуральное число p(A), такое, что dp(A) = 1. Пусть p(A) = p, тогда p ^ k, dp = dp+1 = ... = dk = 1. Последовательность порядковых номеров i G {2,.. .,p}, таких, что di-1 > di, обозначим L(A).

Пример 2. Для множества A = {5,14,19, 28, 43, 49}: p(A) = 2, L(A) = {2}.

Для множества A' = {6,18, 27, 28, 42, 63, 79}: p(A') = 4, L(A') = {3,4}.

Теорема 2. Для любого множества A выполнено:

а) Ba С A/a1 С A, Ba = A/a1 = A;

б) L(A) С W(Ba) С W(A/a1);

в) |Ba| ^ |A/a1| ^ min{k,a1}, и последняя оценка достижима.

Доказательство.

а) По построению A/a1 С A и Ba С A, покажем, что Ba С A/a1, или, что равносильно, A\A/a1 С A\Ba. Пусть aj G A/a1, тогда найдётся число ai G A/a1, такое, что ai < aj и ai mod a1 = aj mod a1. Тогда aj = ai + ra1 при некотором r G N, следовательно, aj G Ba.

Из доказанных включений следует, что (Ba) С (A/a1) С (A). Вместе с тем каждое из чисел множества A\Ba есть линейная комбинация чисел Ba, значит, (A) = (A/a1) =

= (Ba).

б) Включение Ш(ВА) С Ш(А/а^ следует из условия ВА С А/й1 . Если г Е Ь(А), то ^г-1 > ^, значит, г € Ш(ВА). Следовательно, £(А) С Ш(ВА).

в) По построению |А/а1| ^ к. Вместе с тем |А/а1| не превышает числа наименьших неотрицательных вычетов по модулю а1. Достижимость оценки очевидна. ■

Следствие 2. Всякое примитивное множество А = |а1,..., а&} содержит эквивалентное подмножество порядка не больше ш1п|к,а1}.

3. Эквивалентность быстро возрастающих последовательностей

Далее положим, что примитивное множество А = А/а!, то есть к ^ а! и числа а1,..., а& несравнимы по модулю а!, где а! ^ 3.

Пусть Ь(А) = {п2,...,пг}, 1 < г < к, то есть ^-! > ^ , ] = 2,..., г. Тогда последовательность разбивается на г отрезков А1,..., Аг, где А- = (а^.,..., ага^.+1 -!), ] = 1,..., г, п1 = 1, пг = р, пг+1 = к + 1.

Обозначим: 3 = А!\{а!}; 3(А) —множество чисел аг из А, таких, что ^г-! = ^ и аг не делит множество С(А(г !)) (то есть 3(А) С {п2 + 1,..., к}\{п2,..., пг}); Ш(3) — возрастающая последовательность номеров чисел множества 3(А).

Отметим некоторые известные свойства:

1) если В С А и А\В С (В), то А = В;

2) множество А(г)/^ = {а^^,..., аг/^} примитивное, (А(г)) = ^(А(г)/^), г = 2,..., к;

3) ^(а!,..., а^) ^ (а! — 1)(а& — 1) — 1 [4, теорема 3.1.1].

Теорема 3. А = А\3(А); если п2 > 2, то А = А\(31 и 3(А)).

Доказательство. Если ^г-! = ^ и аг не делит множество С(А(г-!)), то С(А(г)) = = С(А(г-!)), г = п2 + 1,..., к. Отсюда если аг € 3(А), то С(А-)) = С(В--1)) при любом ] Е {г,..., к}, где В = А\{аг}. В частности, при ] = к получаем С (А) = С (А\{аг}), следовательно, А = А\{аг}.

Пусть Ш(3) = {г!,.. .,г4}. В силу произвольности рассмотренного множества А и числа аг Е 3(А) рассуждения верны для множества А и числа аг1; для множества А\{аг1} и числа аг2; ..., для множества А\{аг1,..., аг4-1} и числа а^. Значит,

А = А\{а»1} = ... ^ А\{а»1,.. .,аг(-} = А\3(А).

Если п2 > 2, то числа а2,...,аП2-! кратны а!. Следовательно, 3! С (а!) и 3! С

С ((А\3 (А))\31). Тогда по утверждению а теоремы 2

А\3(А) = (А\3(А))\3! = А\(3 и 3(А)),

значит, А = А\(31 и 3(А)). ■

Далее без ущерба для общности считаем, что п2=2.

Обозначим: 7- = ^((а!/^га^. — 1)(ага^./^ — 1) — 1), /! = 1, /- —наибольший номер, такой, что п- ^ /- < п^+1 и а^. ^ 7- (при а! ^ 3 корректность этих условий вытекает из утверждений б и в теоремы 2); 5! = (а!), 5- = (а^., ...,а^.), то есть отрезок 5-составлен из первых (наименьших) /- — п- + 1 чисел отрезка А-, ] = 2,..., г; 5(А) есть конкатенация отрезков 51, 52,..., 5Г; /(А) —длина последовательности 5(А).

Следствие 3. А = 5(А), /(А) ^шт{к, а1ар — а! — 2ар + р}, где р = р(А).

Доказательство. При ] = 2,..., г выполнена цепь вложений С(А(п)) 3 ... 3

3 С(А(п+1-!)). Тогда в соответствии с утверждениями б и в теоремы 2 каждое число

множеств C(A(nj)), ... , C(A(nj+1 1)) не превышает Yj. Если j < nj+1 — 1, то по определению числа /j каждое из чисел a^+1, ... , anj+1-1 больше Yj и, следовательно, не делит ни одно из чисел множеств C(A(nj)), ..., C(A(nj+1 1)). Тогда по теореме 1 A = S(A).

По построению /(A) ^ k, так как S(A) С A. Заметим, что наибольшее число из S(A) не превышает yp, где yp = a1 ap — a1 — ap, поэтому /(A) ^ a1ap — a1 — ap. Вместе с тем {{1,..., ap}\{a1,..., ap}} П A = 0; тогда, учитывая, что yp > ap при a1 ^ 3, получаем /(A) ^ yp — ap + p = a1ap — a1 — 2ap + p. ■

Алгоритмы построения множеств A/a1 и A\S(A) являются полиномиальными. Алгоритм построения множества A\J(A) экспоненциальный, по сложности он равносилен решению расширенной проблемы Фробениуса [4].

Наибольшее сокращение вычислительной сложности РПФ и ПФ достигается в тех случаях, когда {a1,..., ak} = {a1, a2}.

Пример 3. Пусть A = {5,13,18, 20, 57}. Вычисляем A/5: 5 = 20 = 0 (mod 5), 13 = 18 = 3 (mod 3), 57 = 2 (mod 5). Тогда A/5 = {5,13, 57}. Следовательно, A = = {5,13, 57}.

Вычисляем J (A/5): L(A/5) = {13}, r = 2, A1 = {5}, A2 = {13, 52}, y2 = 47 < 57. Тогда J (A/5) = {57}, (A/5)\J (A/5) = {5,13}. Окончательно имеем A = {5,13}.

4. Эквивалентность примитивных пар чисел

Обозначим: [A] — класс g-эквивалентности, содержащий примитивное множество A; [A]m — класс всех примитивных множеств порядка m, g-эквивалентных A, m =2, 3,...

Теорема 4. Пусть (a,b) = 1. Тогда

[{a,b}]2 = {(a + 8, b + e) : a — b +1 < e < 0, 8 = (1 — a)e/(b + e — 1) G N,

1 — a<8< 0, e = (1 — b)8/(a + 8 — 1) G N}. g

Доказательство. Пусть (a, b) = (a + 8, b + e), то есть g(a, b) = g(a + 8, b + e), где g(a, b) = ab — a — b в соответствии с (1). Тогда

b8 + ae + 8e — 8 — e = 0. (2)

Так как функция g(a,b) монотонно возрастает при a,b > 1, то при заданных a,b уравнение (2) относительно 8, e выполнено лишь при условии 8e < 0. Следовательно, множество [{a, b}]2 состоит из примитивных пар вида (a + 8, b + e), где a + 8 <b + e и

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

8e < 0. Пусть 8 > 0, e < 0, тогда по условию задачи a — b +1 <e< 0 и из (1) следует

8 = (1 — a)e/(b + e — 1). (3)

Тогда [{a, b}]2 включает все примитивные пары (a + 8, b + e), где при e > a — b + 1 число 8, определяемое формулой (3), является натуральным.

Пусть 8 < 0, e > 0, тогда по условию задачи 1 — a < 8 < 0 и из (2) следует

e = (1 — b)8/(a + 8 — 1). (4)

Тогда [{a, b}]2 включает все примитивные пары (a + 8, b + e), где при 1 — a < 8 < 0 является натуральным число e, определяемое формулой (4). ■

Следствие 4. Если a > 2, то (2,g(a,b) + 2) G [{a,b}]2; если a > 3, то (3, (g(a, b) + 3)/2) G [{a, b}]2.

Доказательство. Если а > 2, то при 5 = 2 — а в соответствии с (4) получаем

е = (1 — Ь)(2 — а) Е N. Следовательно, {а, Ь} = {2,#(а, Ь) + 2}.

Если а > 3, то при 5 = 3 — а в соответствии с (4) получаем е = (1 — Ь)(3 — а)/2. Хотя бы одно из чисел примитивной пары (а, Ь) нечётное. Следовательно, е Е N и

{а,Ь} = {3, (#(а,6) + 3)/2}. ■

Пример 4. Построим множество [{13, 22}]2, где #(13, 22) = 251. При 5 > 0 имеем —8 < е < 0, соответствующие значения 5 приведены в табл. 1.

Таблица 1

Значения 5

£ —7 —6 —5 —4 —3 —2 — 1

6 6 72/15 60/16 48/17 2 24/19 12/20

Из табл. 1 следует, что (5, е) Е {(2, —3), (6, —7)}. Паре (13, 22) ^-эквивалентна примитивная приведённая упорядоченная пара (15,19). Пара (19,15) не упорядочена, поэтому она исключена из класса [{13, 22}]2.

При е > 0 имеем —12 < 5 < 0; соответствующие значения е приведены в табл. 2.

Таблица 2

Значения е

6 — 11 — 10 —9 —8 —7 —6 —5 —4 —3 —2 — 1

£ 231 105 63 42 147/5 21 15 84/8 7 42/10 21/11

Тогда (8, e) G {(—3, 7), (—5,15), (—6, 21), (—8, 42), (—9, 63), (—10,105), (—11, 231)}, и пара (13, 22) g-эквивалентна семи примитивным приведённым упорядоченным парам: (10, 29), (8, 37), (7, 43), (5, 64), (4, 85), (3,127) и (2, 253). Итак, класс g-эквивалентности [{13, 22}]2 содержит (вместе с самой парой (13, 22)) девять примитивных приведённых упорядоченных пар.

Заключение

Отношения эквивалентности примитивных множеств позволяют сократить сложность решения РПФ и ПФ путём редукции заданного примитивного множества к его собственному подмножеству, выполняемой с помощью полиномиального алгоритма.

Редукция множества A к множествам A/a1 и A\S(A) позволяет понизить известные оценки сложности вычисления функции Фробениуса. В частности, сложность алгоритма экспоненцирования квадратной неотрицательной матрицы [5, 6] понижается до величины порядка O(a3), где a — наибольшее число редуцированного множества (A/a1)\S(A/a1). Оценка Боккера — Липтак [9] понижается до величины порядка O(/(A) + ha1), где h — порядок множества (A/a1)\S(A/a1), то есть в ряде случаев при больших значениях k оценка понижается до величины порядка O(a1).

ЛИТЕРАТУРА

1. Sylvester J. J. Problem 7382 // Mathematical Questions from the Educational Times. 1884. V. 37. P. 26.

2. Curtis F. On formulas for the Frobenius number of a numerical semigroup // Math. Scand. 1990. No. 67. P. 190-192.

3. Фомичев В. М. Эквивалентность примитивных множеств // Прикладная дискретная математика. Приложение. 2013. №6. С. 20-24.

4. Alfonsin J. R. The Diophantine Frobenius Problem. Oxford University Press, 2005.

5. Heap B. R. and Lynn M. S. A graph-theoretic algorithm for the solution of a linear Diophantine problem of Frobenius // Numerische Math. 1964. No. 6. P. 346-354.

6. Heap B. R. and Lynn M. S. On a linear Diophantine problem of Frobenius: an improved algorithm // Numerische Math. 1965. No 7. P. 226-231.

7. Bogart C. Calculating Frobenius numbers with Boolean Toeplitz matrix multiplication // For Dr. Cull, CS 523, March 17, 2009. Oregon State University.

8. Nijenhuis M. A minimal-path algorithm for the “money changing problem” // Am. Math. Monthly. 1979. V. 86. P. 832-835.

9. Bocker S. and Liptak Z. The “money changing problem” revisited: computing the Frobenius number in time O(kai). Technical Report No.2004-2, Univ. of Bielefeld, Technical Faculty, 2004.

i Надоели баннеры? Вы всегда можете отключить рекламу.