ВЕСТН. МОСК. УН-ТА. СЕР. 15. ВЫЧИСЛ. МАТЕМ. И КИВЕРН. 2024. № 2. С. 47-57 Lomonosov Computational Mathematics and Cybernetics Journal
УДК 519.7, 519.712.3, 512.714 С.Н. Селезнева1
О ПРОВЕРКЕ ПОЛИНОМИАЛЬНОСТИ ФУНКЦИЙ к-ЗНАЧНОЙ ЛОГИКИ ОДНОЙ ПЕРЕМЕННОЙ ПО СОСТАВНОМУ МОДУЛЮ к*
Предложены критерии полиномиальное™ функций к-значной логики одной переменной по составному модулю к, равному степени простого числа. На основе этих критериев для каждого простого числа р получены алгоритмы проверки полиномиальности функций рт-зпачпой логики одной переменной, т 1. В этих алгоритмах все вычисления проводятся в кольце вычетов по модулю рт.
При положительном ответе эти алгоритмы находят канонический полином функции, поступающей на
р
с возможными константами).
к
к
Б01: 10.55959/М8и/0137-0782-15-2024-47-2-47-57
1. Введение. Пусть Е^ =0 1 к 1 , где к 2. Функцией к-значной логики называется произвольное отображение из ЕП в Е^, где п 1. Функция к-значной логики / (х\ хп) назы-
к
функция к-значной логики /(х1 хп) — полиномиальна, если найдется полином (многочлен) над кольцом ^^ ^^^^^^^^ по модулю к, который задает функцию /. Известно, что любая функция кк
кк кк
к
к
к
подходы, опирающиеся на возможности решения в кольце Zk систем линейных уравнений относительности неизвестных коэффициентов полиномов (например, [1]), на свойства конечных разностей (например, [2]), на свойства ¿-разностей, где ( — делитель числа к (например, [3]),
к
к
рами значений, и оценена сложность этих алгоритмов. Отметим, что алгоритмы из [5,6] имеют
п
к
ны.
к
Предлагаются критерии полиномиальности, опирающиеся на конечные разности функций к
ским видом полиномов полиномиальных функций. Известны различные канонические виды по-
к
В итоге получены алгоритмические критерии полиномиальности, на основе которых построены
к
векторами значений, и оценена сложность этих алгоритмов.
1 Факультет ВМК МГУ, проф., д.ф.-м.н., e-mail: seleznQcs.msu.ru
* Работа поддержана Минобрнауки в рамках выполнения программы Московского центра фундаментальной и прикладной математики по соглашению № 075-15-2022-284.
2. Основные определения. Пусть к — целое положительное число, где к 2, и Ед, = = 0 1 к 1 . Функцией к-значной логики / одной переменной называем отображение / : Е^ Е^. Множество всех функций к-значной логики одной переменной обозначаем Р^. Функцию /(ж) Р^^ тождественно равную нулю, будем обозначать 0 или 0(ж).
йй
Пусть + и обозначают сложение и умножение по модулю к. Далее пусть N =0 1 2 — множество натуральных чисел с нулем. Выражение вида Xя, где в N, хя = х х при в 1
и ж0 = 1, называем мономом (или одночленом) степени в. Выражение вида а8ж8 + + а\ж + ао, где в N а8 а\ ао Е^ — коэффициенты, называем полиномом (или многочленом) по модулю к. Если /(ж) — полином по модулю к, то его длиной ¿(/) называем число его слагаемых с ненулевыми коэффициентами и его степенью й(/) называем наибольшую степень его слагаемых с ненулевыми коэффициентами. Если Zk = (Е&; + ) — кольцо вычетов по модулю к, то, понятно, что полином по модулю к является полиномом (многочленом) из кольца Zk[ж]. Отметим, что если ■и(ж) — алгебраическое выражение, построенное из переменной ж и констант из множества Е^ при помощи операций + и , то тождественными преобразования ми в кольце Zk его можно привести к однозначному полиному (многочлену) /(ж) Zk[ж]. Будем отождествлять такие выражения ■и(ж) с соответствующими им полиномами /(ж) и писать -и(ж) Zk[ж], подразумевая /(ж) Zfc[ж].
Функцию /(ж) Р^ называем полиномиальной, если ее можно представить каким-то полино-кк обозначаем Ро^1^. Известно, что Р^ = Ро^1^ тогда и только тогда, когда к — простое число, т.е. когда кольцо Zk является полем (см., например, [1]).
3. Полиномиальные функции. Пусть к = р — простое число и PZp[ж] обозначает множество всех полиномов из Zp[ж], степень которых не превосходит (р 1). Множество PZp[ж] с операциями сложения и умножения многочленов в кольце Zp[ж] и дальнейшим приведением их по модулю многочлена жр ж является кольцом (коммутативным и ассоциативным кольцом с единицей). Это кольцо будем также обозначать PZp[ж]. Оно изоморфно фактор-кольцу Zp[ж] /р, где 1р = (жр ж) — идеал, порожденный многочленом жр ж. Известно, что любую функцию из Рр1^ можно записать однозначным каноническим полиномом из PZp[ж] и, кроме того, разные полиномы из PZp[ж] определяют разные функции. Другими словами, между функциями из Р^ и полиномами из PZp[ж] можно установить взаимно однозначное соответствие. Поэтому кольцо PZp[ж] будем также называть кольцом полиномов функций р-значной логики.
к
полиномиальных функций из Р^ [3-5,7-9]. Некоторые из них опираются на алгебраические свойства многочленов над кольцом Zk [5,7-9]. Мы будем придерживаться терминологии из [9].
Определим составную характеристику вр т(в) числа в N по отношению к простому числу р и числу т 1: положим вр т(в) = ¿,где£ N — такое наибольшее число из чисел 0 1 т 1 т, что в! делится нацело на р*. Заметим, что если в 1 в2 ^ив1 в2,товрто(в1) врт(в2). Положим вр(т) = тахв, где максимум берется по всем таким числам в N,410 врт(в) < т.
Отметим, что в дальнейшем вычисления будем выполнять в кольце Zk (т.е. то модулю к). Приведем некоторые пояснения. Если в N то иногда будем писать в Е^, подразумевая элемент а равный остатку от деления числа в на к. Кроме того, если а Ь Е^, то будем
говорить, что а делится на Ь, если найдется такой элемент в что в кольце Zk верно равенство
Ь в = а. Если в N,10 в! обозначает факториал числа в, т.е. в! = в (в 1) 1 при в 1 и 0! = 1. При этом рассматриваем в! как элемент из Е&, т.е. считаем в! Е^. Если в г N, где в 1, то С\ обозначает биномиальный коэффициент из в по г, т.е. С\ = 0 при г > в, = С| = 1 и С = С ! + С^ } при в 2. При этом рассматриваем С\ как элемент из Е&, т.е. считаем С\ Е^.
Верно следующее утверждение.
Утверждение 1. Если р — простое число, т 1, то
р 1 вр(т) тр 1
Доказательство. Заметим, что для каждого из чисел s = 0 1 p 1 верно cp m(s) = = 0. В силу того, что m 1, нижняя оценка терна. Заметим, что (mp)! делится на pm, откуда cp m(mp) = m. Значит, верхняя оценка также верна. Утверждение доказано.
Обоснуем еще одно вспомогательное свойство, которым в дальнейшем будем пользоваться. Утверждение 2. Пусть p — простое число, m 1, t N, 1 t sp(m), b Epm. Е'слм в кольце Zpm уравнение t! z = b относительно неизвестной z имеет решение, то оно имеет единственное решение at Epm, для которого at < pm Cp m(-
Доказательство. По определению составной характеристики cp m(t) верно, что t! делится на pCp m(-Значит, t! = pCp m(-^ c, гДе c N. Кроме того, по определению составной характеристики cp m(t) верно, что t! не делится на pCp m(-^^ . Значит, чиело c не делится на p. Следовательно, уравнение t! z = b имеет вид pCp m^ c z = b. Пусть a Epm — решение этого уравнения в кольце Zpm и a = pm Cp m(-tí ai+ao, гдe ao Epm Cp m(t), ai EpCp m(t). Далее получаем в кольце Zpm:
b = pcp m(í) c a = pCp m(c (pm Cp m(ai + a0)= pCp m(c a0
Значит, ao Epm Cp m(t) — также решение этого уравнения. Теперь предположим, что do Epm cp m (t) — другое решение этого уравнения в кольце Zpm. Далее получаем в кольце Zpm:
0 = pcp m(í) c d0 pCp í) c a0 = pCp m(í) c (d0 a0)
В силу того, что число c не делится па p, заключаем, что число do ao делится па pm Cp m(-а значит, do = ao- Утверждение доказано.
В следующей теореме описывается канонический вид полиномов из Zpm[ж], задающих полиномиальные функции из
Ppm '
Теорема 1 (см. [7,9]). Пусть p — простое число, m 1. Любую функцию f(ж) из Poip m можно записать единственным полиномом из Zpm [ж] следующего вида,:
Sp( m)
f (ж) = asxs s=e
g(9e as < pm Cp mдля всex s = 0 1 sp(m).
Пусть k = pm где k = p — простое число, m 1. Пусть PZpm [ж] обозначает множество всех
Sp( m)
полиномов f (ж) = a^ из Zpm[ж], где as < pm Cp ms ) для всех s = 0 1 sp(m), т.е.
s=£)
Sp (m)
PZpm [ж] = f (ж) = a^ Zpm [ж] as < pm cp m(s > s = 0 1 sp(m)
s=e
Множество PZpm [ж] с операциями сложения и умножения многочленов в кольце Zpm [ж] и дальнейшим приведением их по модулю многочленов pm Cp ms дДж) для всех s s = 0 1 sp(m) sp(m) + 1 где д5(ж) = ж (ж 1) (ж s + 1) Zpm [ж], является кольцом (коммутативным и ассоциативным кольцом с единицей). При этом под приведением полинома f (ж) Zpm [ж] по модулю полинома pm Cp m(-gs Zpm[ж] понимается вычитание из f (ж) такого полинома pm Cp m(-gs(ж)Л,(ж), где Л,(ж) Zpm [ж], что для любого слагаемого a^, где t s, в полиноме f (ж) pm Cp ms)5^(ж)Л,(ж)
Zpm [ж] верно, ч то at < pm Cp m(-Это кольцо будем также об означать PZpm [ж]. Оно изоморфно фактор -КОЛЬЦу Zpm [ж] Ipm где Ipm — идеал, порожденный множеством многочленов pm Cp m(s)gs s sp(m) + 1 . По теореме 1 между функциями из Po^ и полиномами из PZpm [ж] можно установить взаимно однозначное соответствие. Поэтому кольцо PZpm [ж] будем
pm
4. Конечные разности функций. В ряде работ при исследовании свойств функций к-значной логики, в частности, их полиномиальности, рассматриваются их конечные разности (см., например, [2,3]). Введем определения и опишем свойства конечных разностей. Пусть /(ж)
Р^ ^. Конечной разностью (с шагом 1) функции / (ж) назовем функцию / = / (ж + 1) / (ж)
Р^- При этом вели чина ( / )(а), где а Ед, называется конечной разностью (с шагом 1) функции /(ж) в точке а.
Отметим, что если /(ж) д(ж) Р^ и а Ь Ед,, то
(а/ + Ьд) = а / + Ь д
Определим также кратные конечные разности. Если § 1, то конечной разностью (с
шагом 1) (^ / порядка в для функции / (ж) назовем функцию / Р^ при в = 1 и функцию
( (5 ^ /)
р(±) При § 2. Отметим, что конечной разностью порядка 1 для функции является конечная разность этой функции. По определению назовем конечной разностью *-0/ порядка 0 для функции /(ж) саму эту функцию /, т.е. (0/ = /(ж) Р^-
Для полноты изложения докажем свойства конечных разностей, которыми в дальнейшем будем пользоваться.
Утверждение 3. Пусть к 2 и в £ N8 £ 1. Тогда,
0 если £ < в
(ж4 = £! если £ = в
1) (£ в + 1)ж4 5 + Л(ж) еели £ > в
г(9е Л(ж) ^ [ж] — некоторый такой полином, что ¿(Л) £ в 1.
в
в=1
ж4 = (ж + 1)4 ж4 = С4гж4 г = 1 + Л(ж)
где С — биномиальный коэффициент из £ по г, С4 Ед, а Л(ж) = 0 при £ = 1 и Л(ж) = Сж4 г
г=2
^[ж], ¿(Л.) £ 2 при £ 2. Значит, базис индукции верен. Индуктивный переход. Пусть в 2. Тогда по предположению индукции (5 ^ж4 = 0 при £<в 1, (5 ^ ж4 = £! при £ = в 1и ^5 ^ ж4 = 1) (£ в + 2)ж4 ^ + Л(ж),гдеЛ(ж) ^ [ж], ¿(Л) £ в при £ > в 1. Рассмотрим возможные случаи. Если £ < в 1, то ^ж4 = 0 = 0. Если £ = в 1, то (^ж4 = £! = 0. Если £ = в, то ^ж4 = 1) 2ж + а) = И, где а Ед.
Если £ в + 1, то
(ж4 = (£(£ 1) (£ в + 2)ж4 ^ + Л(ж)) = 1) (£ в + 1)ж4 5 + Л
где Л(ж) ^[ж], ¿(Л) £ в, а значит, Л) £ в 1. Утверждение доказано.
В следующем утверждении показывается, как выражаются конечные разности функции через ее значения.
Утверждение 4. Пусть к 2 /(ж) Р^ ив N в 1. Тогда,
в
(/ = ( 1УС5 / (ж + в г) Р^
г=£)
г(9е С5 — биномиальный коэффициент из в по г, С5 Ед для всеж г = 0 1 в.
s
s=1
Индуктивный переход. Пусть s 2. Тогда по предположению индукции
S i
(S ^ f = ( 1)гCS !f (ж + s 1 i)
i=0
где CS х — биномиальные коэффициепты, C. ^ E^, i = 0 1 s 1. Далее получаем
S i
(S) f = ( (S ^ f )= ( 1)ÍCS ! f (ж + s 1 i) =
i=e
s i
= ( 1)iCS i f(ж + s 1 i) = i=£) s 1
= ( 1)iCS 1 (f (ж + s i) f (ж + s 1 i)) =
i=e
= f(ж + s) + S 1 ( 1)i(CS ! + CS 1 )f(ж + s i) + ( 1)sf(ж) =
i=L
= S ( 1)iCSf (ж + s i)
i=e
Утверждение доказано.
5. Вспомогательные утверждения. В этом разделе докажем некоторые вспомогательные утверждения, которыми будем пользоваться далее.
Теорема 2. Пусть k = pm, г<9е p — простое число, m 1, uf (ж) P^- Равенство f = 0 верно тогда и только тогда, когда, f (ж) = a, г<9е a = f (0) E&.
Доказательство. 1. Необходимости. Пусть f = 0. Тогда для любого b E& верно f (b + 1) = f (b), откуда получаем f (ж) = f (0). Необходимость обоснована. 2. Достаточность непосредственно проверяется. Теорема доказана.
Утверждение 5. Пусть p — простое число, m 1, t N, 1 t sp(m), fí(ж) Pj^m*, ^ft = 0 и ft i (ж) = Д(ж) a^, г<9е at Epm — решение в кольце Zpm уравнения ( ^ ft)(0) = = t! z относительно неизвестной z. Тогда, (^ ft i = 0.
Доказательство. В силу условия ^ ft = 0 по теореме 2 заключаем, что ^ft = = ( ^ ft)(0) Epm. Применяя утверждение 3, получаем
(í)ft i = (í)(ft aíжí)= Wft t! at = ( «ft)(0) t!a = 0 по выбору at. Утверждение доказано.
Утверждение 6. Пусть p — простое число, m 1 t N 1 t sp(m), f(ж) Pp^ и (f = 0. Если функция f (ж) — полиномиальна, то в кольце Zpm уравнение ( ^ f)(0) = t! z
z at
Epm, для, которого at < pm Cp m
Доказательство. Пусть f(ж) Po¿pm• По условию (^ f = 0, а значит, (s)f = 0 для всех s = t + 1 sp(m). По теореме 1 верно, что
Sp( m)
f (ж) = a^s PZpm [ж]
s=e
где as < pm Cp m(-s\ s = 0 1 sp(m). Применяя утверждение 3, получаем, что as = 0 для всех
t
s = t + 1 sp(m). Другими словами, f (ж) = a.^. Далее по утверждению 3 находим
s=e
t
(t) f(ж) = (^ asжs = t! at Epm
s=e
Значит, уравнение ( (^ /)(0) = £! а4 = £! г имеет решение г — а^, где а^ Ерт, а^ < рт срт( Затем по утверждению 2 заключаем единственность такого решения. Утверждение доказано.
6. Критерии полиномиальное™. Пусть к = рт, где р — простое число, т 1. В этом разделе докажем алгоритмические критерии полиномиальности функций из Ррт', на основе которых опишем алгоритмы.
Сначала обоснуем необходимое условие полиномиальности.
Утверждение 7. Пусть р — простое число, т 1 и /(ж) Р^^. Если функция /(ж) — полиномиальна, то / = 0.
Доказательство. Если / (ж) Ро^, то по теореме 1 ее можно записать единственным полиномом из Р^рт [ж], причем степень этого полинома не превышает вр(т). По утверждению 3 заключаем, что / = 0. Утверждение доказано.
Пример. Покажем, что функция /(ж) Ре, где /(0) = 4, /(Ь) = 0 при Ь = 0, не является полиномиальной. Действительно, 8 = 23, в2(3) = 3 и ( (-4/)(0) = 4. В силу утверждения 7 получаем, что / Ро4^-
Теперь докажем критерии полиномиальности функций из Ррт'.
Теорема 3. Пусть р — простое число, т 1, / Р^^ и вp(-/ = 0. Пусть для всех
в = 0 1 вр (т) функции / РрРт определяются следующим образом:
1) при в = вр(т) полагаем,, ч,то /в(ж) = /(ж);
2) при в = 1 вр(т) полагаем,, ч,то / 1 (ж) = /в(ж) а^, где а5 — наименьшее решение в кольце ^рт уравнения
( (/в)(0)= в! г (1)
относительно неизвестной г, если уравнение (1) имеет решения в кольце Zpm■,
3) если при каком-то в, 1 в вр(т), уравнение (1) не имеет решений в кольце Zpm, то /4(ж) не определена для, всех £ = 0 1 в 1.
Тогда:
1) еслм при каком-то в, 1 в вр(т), уравнение (1) не имеет решений в кольце Zpm, то / Ро1рт;
2) еслм при каждом, в в = вр(т) вр(т) 1 1, уравнение (1) имеет решения в кольце Zpm,
^ т)
то /о = /(0) / Ро*рт и /(ж) = а^, где ао = /о Ерт, при этом полином справа от,
3=в
/
Доказательство. 1. Пусть для некоторого в = 1 £ вр(т), функц пя /4 построена, но уравнение (1) не имеет решений в кольце Zpm. Применяя условие ^/ = 0 и утверждение 5 последовательно для всех в = вр(т) вр(т) 1 £ + 1, получаем, что ^ /4 = 0. Тогда по
(1) т) (1) утверждению 6 заключаем, что /4 Ро/рт. Но /(ж) = /4(ж) + а зпачит, / Ро/рт.
2. Предположим, что для всех в в = 1 вр(т), уравнение (1)
имеет решение в кольце Zpm. Применяя условие ^т)^) / = 0 и утверждение 5 последовательно для всех в = вр(т) вр(т) 1 1, получаем, что /о = 0. Тогда по теореме 2 заключаем, что /о = /о(0) Ерт. Далее, заметим, что по построению верно
Зp( т)
/ (ж) = /о (ж) + а5 ж5 откуда /о(0) = /(0) а значит, /о = /(0). Положив, ао = /о, получаем
Зp( т)
/ (ж) = asжз
5=0
Значит, f Poipm. Кроме того, по утверждению 2 для каждого s = 1 sp(m) верно as < < pm cp m(дл я ao также вер но ao < pm Cp = pm. Следовательно, полином справа от знака равенства является каноническим. Теорема доказана.
Теорема 4. Пусть p — простое число, m 1, f P^^ Далее пусть для всех s =
= 0 1 sp(m) функц и и fs Pp m определяются следующим образом:
1) при s = sp(m) полагаем,, ч,то fs(ж) = f(ж);
2) при s = 0 1 sp(m) 1 полагаем,, ч,то /.(ж) = fs^ (ж) a^, г<9е as — наименьшее решение в кольце Zpm уравнения
( (-) fs^ )(0) = s! z (2)
относительно неизвестной z, если уравнение (2) имеет решение в кольце Zpm;
3) если при каком,-т,о s, 0 s sp(m) 1, уравнение (2) не имеет решений в кольце Zpm, то
fí(ж) не определена для, всех t = 0 1 s. :
1) если при каком,-т,о s, 1 s sp(m), уравнение (2) не имеет решений в кольце Zpm, то f Po1pm;
2) если fo = f (0), rno f Po^;
3) если при каждом, s, s = 1 sp(m), уравнение (2) имеет решения в кольце Zpm и fo = f (0),
sp( m)
то f Poipm и f (ж) = asж^^де ao = fo Epm, при этом полином справа от, знака, равенства
s=e
f
Доказательство. 1. Пусть f Po¿pm. Тогда по необходимому условию полипомиаль-ности утверждения 7 верно sp(m)^) f = 0. Далее по теореме 3 получаем, что при каждом s, s = 1 sp(m), уравнение (2) имеет решения в кольце Zpm и fo = f (0).
2. Пусть при каждом s, s = 1 sp(m), уравнение (2) имеет решения в кольце Zpm и fo = f (0). Положим ao = fo Epm. Заметим, что ao < pm Cp = pm. Далее по построению верно
sp( m)
f (ж) = asЖS s=e
Значит, f Poipm. Более того, полином справа от знака равенства является каноническим. Теорема доказана.
7. Алгоритмы и их сложность. Теперь перейдем к описанию для каждого простого числа p алгоритмов проверки полиномиальности функции f которые основаны на теоремах 3
и 4.
Ниже приведено строгое описание этих алгоритмов. В описании знак ":=" обозначает присваивание, т.е. переменной слева от знака присваивается значение выражения справа от знака.
Zp m p m
Алгоритм Проверка полиномиальности функции из P^, где p — простое число. Вход: число m N, m 1, функция f P^.
sp (m) ц-.
Выход: "да" и представление f (ж) = a^s PZpm [ж], если f Po^m, и "нет", если f
s=e
Po1( ^
p m
Описание алгоритма.
1. Положим fsp(m)(ж) := f (ж) tm := sp(m) + 1. b Ep m
tm
2.1) положим cb := ( {tm>f)(b) = ( 1)iC¿mf(b + tm i) Epm;
i^ m
2.2) если сь = 0 т0 алгоритм останавливается и выдает / Ро^.
3. Цикл: для всех £ = вр(т) вр(т 1) 1 выполним 3.1-3.5:
3.1) положим (см. утверждение 4)
^ := ( (4)Л)(0)= * ( 1)*С/4(£ г) =
4 4т 1
= ( 1)г С / (£ г) а,- (£ г, Ерт;
3.2) рассмотрим в кольце Zpm уравнение
= £! г (3)
относительно неизвестной г;
3.3) если уравнение (3) не имеет решений в кольце Zpm) то алгоритм останавливается и выдает / Ро1рт;
3.4) если уравнение (3) имеет решения в кольце Zpm, то найдем такое его единственное решение а4 Ерт, что а4 < рт Ср т (;
3.5) положим /4 1 (ж) := /4(ж) а4 ж4.
4. Если /о(ж) = /(0) то алгоритм останавливается и выдает / Ро/^.
5. Если /о (ж) = / (0), то положим ао := / (0) Ерт, алгоритм останавливается и выдает
ц-, 5р (т)
/ Ро/рт и / (ж) = asжз.
5=0
Окончание описания алгоритма.
Алгоритм Проверка полиномиальпости функции из Рр^ где р — простое число. Вход: число т N т 1, функция / Рр^.
^т) ц-.
Выход: "да" и представление / (ж) = а^ PZpm [ж], если / Ро/рт, и "нет", если / Ро/р
Описание алгоритма.
1. Положим Др(т)(ж) := /(ж).
2. Положим £т := вр (т) + 1.
3. Цикл: для всех £ = вр(т) вр(т 1) 1 выполним 3.1-3.5:
3.1) положим (см. утверждение 4)
^ := ( (4)/4)(0)= 4 ( 1)гС/4(£ г) =
4 4т 1
= ( 1)г С / (£ г) а, (£ г)' Ерт;
3.2) рассмотрим в кольце Zpm уравнение
й = £! г (4)
г
3.3) если уравнение (4) не имеет решений в кольце Zpm) то алгоритм останавливается и выдает / Ро1рт
3.4) если уравнение (4) имеет решения в кольце Zpm, то найдем такое его единственное решение а4 Ерт, что а4 < рт Ср т
3.5) положим /4 1 (ж) := /4(ж) а4 ж4.
4. Цикл: для всех Ь Ерт выполним 4.1-4.2:
«Р( т)
4.1) положим сь := /(Ь) а«Ь« Ерт;
4.2) если сь = /(0), то адгоритм останавливается и выдает / Ро^;
5. Положим ао := /(0) Ерт, алгоритм останавливается и выдает / Ро^т и /(ж) =
«Р( т)
= а«ж«.
«=е
Окончание описания алгоритма.
Теорема 5. Пусть р — простое число. Каждый из алгоритмов
м А^2^ для каждого
числа т N т 1, и каждой функции / Р^, заданной вектором значений правильно
/
канонический полином.
Доказательство. Правильность работы алгоритма
следует из утверждения 7 и теоремы 3. Правильность работы алгоритма Ар следует из теоремы 4. Теорема доказана.
Пусть р — простое число. Далее оценим сложность алгоритмов АР1^ и АР2). Под
сложностью
алгоритма понимаем наибольшее число операций сложения и умножения в поле с возможными константами из Ер, которое алгоритм выполняет до своей остановки и получения ответа. Считаем, элемент а Ерт задается как (а! ат) где а! ат — запись числа а в
р-ичпой системе счисления. На вход алгоритма функция / Р^т* подается в виде вектора значений ^ = (/(0) /(1) /(рт 1)) Щт. Под простейшим действием алгоритма понимаем сложение, вычитание, умножение в кольце 2рт двух элементе в из Ерт, а также проверку существования решения в кольце ^рт уравнения а г = Ь, где а Ь Ерт, и поиска наименьшего его решения при положительном ответе (при этом если уравнение не имеет решения, то выдается соответствующее сообщение). Пусть каждое из простейших действий можно вычислить при помощи не более р(т)
операций поля ^р (с возможными константами). Отметим, что, применяя обычные алгоритмы сложения и умножения "в столбик", получаем р(т) = 0(т2).
В следующей теореме оценена сложность алгоритмов Ар1^ и АР2^.
р АР1)
и
равна Рр(т) = 0(т рт Р(т)).
Доказательство. 1. Сначала оценим сложность некоторых общих вычислений.
1.1. Отметим, что в алгоритмах требуется нахождение числа зр(т), при этом по утверждению 1 верно зр(т) тр 1. Отметим, что тр 1 < рт, поэтому можно рассматривать зр(т) как элемент из Ерт, при этом (т) = 0. Для нахождения зр (т) вычисляем фактор палы ¿1 Ерт чисел Ь Ерт для £ = 0 1 тр до тех пор, пока впервые не найдем такое число Ерт, что ¿т1 = 0 При этом тр Значит, для вычисления потребуется не более тр умножений в кольце ^рт.
Теперь положим (т) = 1.
1.2. Далее в алгоритмах требуется последовательно вычислять факториалы ¿1 Ерт при Ь = 8р (т) 8р (т) 1 1. Для каждого та кого Ь факториал ¿1 Ер т можно вычислить при помощи не более тр умножений в кольце ^рт.
1.3. В алгоритмах также требуется последовательное нахождение значений в кольце т биномиальных коэффициентов С? Ерт, где Ь = 1 1. Вычисление этих биномиальных коэффициентов предлагается устроить следующим образом: сначала, пользуясь равенствами С? = С? = 1 и С? = С? х + С? 1, вычистим все биномиальные коэффициепты С? Ерт, г = 0 1 Это потребует не более (тр)2 сложений в кольце ^т. Все (Ьт + 1) биномиальных коэффициентов С?т, г = 0 1 сохраним в памяти. Затем в алгоритмах при Ь
при переходе от Ь к (Ь 1) биномиальные коэффицепты будем вычислять, пользуясь равенствами
С? 1 = 1
и С ^ = С? С^ Такое вычисление потребует одно вычитание в кольце т для каждого биномиального коэффициента С£ г = 1 2 Ь 1.
1.4. Кроме того, в алгоритмах требуется найти степени j элементов а € Epm для всех j = = 1,...,sp(m) и а = l,...,tm. Их можно вычислить, применяя не более (mp)2 умножений в кольце Zpm. Далее сохраним все их в памяти, их не более (mp)2.
2. Теперь оценим сложность алгоритма ДР"^. Выполнение одной итерации цикла 2 требует не более 3 ■ tm ^ 3mp операции в кольце Zpm. Цикл 2 выполняется не более pm раз. Поэтому сложность выполнения цикла 2 не более 3 ■ mp ■ pm операций в кольце Zpm. Далее рассмотрим цикл 3. Для каждого t, t = sp(m),sp(m) — l,..., l выполнение 3.Требует не более 3■ (t + 1) ^ 3mp операций в кольце Zpm; выполнение 3.2-3.4 требует одну операцию в кольце Zpm; в 3.5 вектор значений функции ft не вычисляем (3.5 исключительно для пояснения). Цикл 3 выполняется не более mp раз. Поэтому сложность выполнения цикла 3 не более 3 • (mp)2 операции в кольце Zpm. Следовательно, алгоритм Д" требует выполнения не более 3-mp• pm+3-(mp)2 операций в кольце Zpm и храпения в памяти не более (mp)2 + mp элементов из Epm. Значит, сложность алгоритма Д" равпa O(m ■ pm ■ ^p(m)) операций поля Zp (с возможными константами).
3. Далее оценим сложность алгоритма ДР2). Рассмотрим цикл 3. Для каждого t, t = sp(m), sp(m) — 1,..., 1 выполнение 3.1 требует не более 2 ■ t(tm — 1) ^ 2(mp)2 ОПбр^ЦИИ В кОЛЬЦб Zpm; выполнение 3.2 3.4 требует одну операцию в кольце Zpm; в 3.5 вектор значений функции ft не
mp
сложность выполнения цикла 3 не более 2 ■ (mp)3 операции в кольце Zpm. Рассмотрим цикл 4. Для каждого b € Epm выполнение 4. Требует не более tm ^ mp операции в кольце Zpm. Цикл 4 выполняется не более pm раз. Поэтому сложность выполнения цик л а 4 не более pm ■ (mp) операций в кольце Zpm. Следовательно, алгоритм Д2) требует выполнения не более mp • pm + 2 ■ (mp)3 операций в кольце Zpm и храпения в памяти не более (mp)2 + mp элементов из Epm. Значит,
(2)
сложность алгоритма Др равнa O(m-pm-^p(m)) операций поля Zp (с возможными константами). Теорема доказана.
Пусть p — простое число. Рассмотрим задачу проверки полиномиальности функции из Ppm, где m ^ 1.
Вход: число m € N, m ^ 1, фупкция f € Pp(m .
Выход: "пет", если f / Po/pn), "да" и коэффициенты канонического поли пома функции f, если
f € Poipmm. p
Ppm, где m ^ 1. Как обычно, под сложностью задачи понимаем наименьшую сложность среди всех алгоритмов, решающих эту задачу. Как следствие из теорем 5 и 6 получаем следующую теорему.
p
лучающий на вход число m € N, m ^ 1 и вектор знач ений а/ функц и и f € Ppm, выдающий
"нет", если f / Po1pm, выдающий "да" и коэффициенты канонического полинома функции f.
если f € Po1pm, и имеющий сложностъ O(m ■ pm ■ <^р(m)) (операций поля Zp с возможными константами).
8. Заключение. В работе предложены критерии полиномиальности функций k-зпачпой логики одной переменной по составному модулю k, равному степени простого числа. На основе
p
функций pm-3na4Hoft логики одной переменной, m ^ 1. При положительном ответе эти алгоритмы находят канонический полином функции, поступающей на вход. Оценена сложность полученных
Zp Ep
СПИСОК ЛИТЕРАТУРЫ
1. Яблонский С.В. Функциональные построения в k-значной логике // Труды Математического института им. В.А. Стеклова АН СССР. 1958. 51. С. 5 142.
2. С а г 1 i t z L. Functions and polynomials (mod pn) // Acta Arithmetica. 1964. IX. P. 67 78.
3. Мещанинов Д. Г. Метод построения полиномов для функций k-значной логики / / Дискретная математика. 1995. 7. Вып. 3. С. 48 60.
4. Ремизов А. Б. О падструктуре замкнутого класса полиномов по модулю k // Дискретная математика. 1989. 1. Вып. 1. С. 3 15.'
kk
k
6. S е 1 е z n е V a S. N. Constructing polynomials for functions over residue rings modulo a composite number in linear time // Lecture Notes in Computer Science. Vol. 7353. Springer. 2012. P. 303 312.
k
гики от n переменных, представимых полиномами по модулю k // Многоустойчивые элементы и их применение. М.: Советское радио. 1971. С. 79 83. 8. Singmaster D. On polynomial functions (mod m) //J. Number Theory. 1974. 6. N 5. P. 345 352.
kk
// Дискретная математика. 2016. 28. Вып. 2. С. 81 91.
Поступила в редакцию 30.06.23 Одобрена после рецензирования 13.12.23 Принята к публикации 13.12.23