Сложность достижимости в линейных динамических системах над конечными полями


10

Пусть A - матрица над конечным полем F2={0,1} а x , y - векторы пространства F2n . Меня интересует вычислительная сложность определения того, существует ли tN , для которого Atx=y , т. Е. Проблема достижимости для линейных динамических систем над конечными полями.

Проблема явно в NP (угадать 0t<2n и вычислить At за полиномиальное время путем повторного возведения в квадрат). Я и мои коллеги также смогли доказать NP -полноту связанной проблемы установления того, существует ли tN такой, что Atxy , где - компонентное неравенство.

Эта проблема кажется вполне естественной, но мне не удалось найти ссылки на ее вычислительную сложность в литературе, вероятно, потому что я не знаю точной терминологии. Знаете ли вы, что проблема с равенством является -полной или она действительно в P ?NPP


3
Можно свести к случаю, когда обратимо. Заметим, что образы A 1 , A 2 , представляют собой непрерывную цепочку подпространств и, следовательно, в конечном итоге становятся постоянным пространством W (фактически в пределах первых n шагов). Тогда является обратимым линейным преобразованием W . Можно легко проверить частные случаи, когда t = 1 , 2 , , n , после чего остается решить проблему с A, ограниченным W и xAA1,A2,WnAWt=1,2,,nAWxзаменено на . Anx
Эндрю Морган

Ответы:


4

Для ясности я собираюсь обобщить ваш вопрос так, чтобы он был больше характеристики (с базовым полем F q ) вместо конкретного случая p = q = 2 . Я возьму p и q как фиксированные константы; Я оставлю читателю понять, какова точная зависимость от этих параметров, поскольку есть некоторые компромиссы, которые можно сделать. Конечным результатом здесь является то, что ваша задача примерно эквивалентна задаче дискретного журнала для конечных полей характеристики p .p>0Fqp=q=2pqp

Чтобы быть более точным, пусть обычная дискретная логарифмическая задача над расширениями при заданном поле расширения F из F q и a , b F находит любое целое число t так, что a = b t , или сообщает, что ничего не существует , Пусть сильная дискретная логарифмическая задача над расширениями F q будет, если F , a , b, как и прежде, найти целые числа z , m так, чтобы aFqFFqa,bFta=btFqF,a,bz,m для целого числа t, если t = za=btt или сообщить, что t не существует. Тогда существуют следующие сокращения:t=z(modm)t

  • Существует детерминированное отображение сокращения от дискретного логарифма по расширениям к вашей задаче.Fq

  • Существует эффективный, детерминистический алгоритм, который решает вашу проблему, когда вам предоставляется доступ к оракулу, вычисляющему проблему сильного дискретного журнала по расширениям .Fq

Соответственно, я считаю маловероятным, что кто-то опубликует доказательство -твердости или доказательство того, что ваша проблема в P в ближайшем будущем.NPP

Замечание: Сильная дискретная логарифмическая задача над расширениями может быть приведена по Тьюрингу к следующей якобы более слабой форме (хотя все еще, по-видимому, более сильной, чем обычная дискретная логарифмическая задача): учитывая поле расширения F в F q и a , b F , найдите наименьшее неотрицательное целое число t, так что a = b t . Это следует из того факта, что порядок b равен единице плюс наименьший неотрицательный t, так что b - 1 = b tFqFFqa,bFta=btbtb1=bt,


Первое сокращение . Утверждение состоит в том, что обычная дискретная логарифмическая задача над расширениями отображения сводится к этой проблеме. Это следует из того факта, что умножение в F q n является линейным преобразованием, когда мы рассматриваем F q n как n- мерное векторное пространство над F q . Следовательно, вопрос вида a = b t над F q n становится a = B t e над F q , где aFqFqnFqnnFqa=btFqna=BteFq - n- мерные векторы, а B -матрица n × n , всюду по F q . Векторa может быть легко вычислен из a , B из b , и e является просто представлением 1 F q n , которое можно эффективно записать. По-видимому, это все еще трудный случай общей задачи дискретного логарифмирования, даже при p = q = 2 (но растущем na,enBn×nFqaaBbe1Fqnp=q=2n, конечно). В частности, люди все еще соревнуются, чтобы увидеть, как далеко они могут его вычислить.


Второе сокращение: утверждение состоит в том, что ваша проблема сводится к сильной дискретной логарифмической задаче над расширениями . Это сокращение имеет несколько частей, так что прости длину. Пусть на входе будут n- мерные векторы x , y и n × n матрицы A по всему F q ; цель состоит в том, чтобы найти t так, чтобы y = A t x .Fqnx,yn×nAFqty=Atx

Основная идея состоит в том, чтобы написать в канонической форме Иордана (JCF), из которой мы можем свести тестирование y = A t x к сильной дискретной логарифмической задаче с некоторой прямой алгеброй.Ay=Atx

Одной из причин для использования канонической формы под подобием матриц является то , что , если = Р - 1 J Р , то т = Р - 1 Дж т Р . Следовательно , мы можем преобразовать у = т х к ( Р у ) = J т ( Р х ) , где в настоящее время J находится в гораздо лучше , чем формат произвольного А . JCF - это особенно простая форма, которая включает остальную часть алгоритма. Итак, теперь предположим, чтоA=P1JPAt=P1JtPy=Atx(Py)=Jt(Px)JAУже в ГФДЕ, но также допускаютчто х , у , иможет иметь записи в поле расширения F д .Ax,y,AFq

Примечание: Есть некоторые тонкости, которые возникают при работе с JCF. В частности, я предполагаю, что мы можем выполнять полевые операции в любом расширении (независимо от его размера) за один временной шаг и что мы можем эффективно вычислять JCF. априори , это нереально, потому что работа с JCF может потребовать работы в поле расширения (поле расщепления характеристического полинома) экспоненциальной степени. Однако, с некоторой осторожностью и используя тот факт, что мы работаем над конечной областью, мы можем обойти эти проблемы. В частности, мы будем ассоциировать с каждым жордановым блоком поле F ' степени не более n над F qFqFnFq так что все записи в блоке Джордана и соответствующие элементы , y все находятся в пределах F . Поле F ' может отличаться от блока к блоку, но использование этого "смешанного представления" позволяет эффективно описать JCF, который, кроме того, может быть найден эффективно. Алгоритм, описанный в оставшейся части этого раздела, должен работать только с одним блоком за раз, поэтому, пока он выполняет свои полевые операции в соответствующем поле F ' , алгоритм будет эффективен. [конец замечания]xyFFF

Использование ГФД дает нам уравнения следующего вида, с каждым уравнением , соответствующим жордановой:

[y1y2y3yk1yk]=[λ1λ1λ1λ1λ]t[x1x2x3xk1xk]

Алгоритм будет обрабатывать каждый блок отдельно. В общем случае для каждого блока у нас будет запрос для нашего сильного дискретного логарифмического оракула, из которого оракул сообщит нам условие модульности, . Мы также получим множество S { 0 , 1 , , p - 1 }, так что s S [ t = st=z(modm)S{0,1,,p1} должен держать. После обработки всех блоков нам нужно проверить, что существует выбор t, который удовлетворяет соединениям всех этих условий. Это можно сделать, убедившись, чтово всех множествах S есть общий элемент s, так что уравнения t = ssS[t=s(modp)]tsS и t = z jt=s(modp) все выполняются одновременно, где j проходит по блокам.t=zj(modmj)j

Есть также некоторые особые случаи, которые возникают на протяжении всей процедуры. В этих случаях мы получим условия вида для некоторого значения или формы t = s для некоторого определенного целого числа s из определенных блоков, или мы можем даже обнаружить, что t не может существовать. Они могут быть включены в логику для общего случая без проблем.t>t=sst

Теперь мы опишем подпроцедуру для обработки каждого блока Jordan. Исправить такой блок.

Начните с фокусировки только на последней координате в блоке. Условие требует, чтобы y k = λ t x k . Другими словами, это пример проблемы дискретного журнала в некотором полевом расширении F q . Затем мы используем оракула для его решения, что либо не приводит к решению, либо дает условие модульности на t . Если «нет решения» возвращается, мы возвращаемся с указанием такового. В противном случае мы получаем условие t = zy=Atxyk=λtxkFqt , что эквивалентно y k = λ t x k .t=z(modm)yk=λtxk

Чтобы обработать другие координаты, мы начнем со следующей формулы (см., Например, здесь ): Сначала позаботимся о случае, когдаxk=0. Поскольку у нас уже есть условие модульности, из которого следует, чтоyk=λtxk, мы можем также предположить, чтоyk=0. Но тогда мы можем просто сосредоточиться на первыхk-1элементахxиyи верхнем левом углу(k-1)×(k-1)

[λ1λ1λ1λ1λ]t=[λt(t1)λt1(t2)λt2(tk1)λtk+1λt(t1)λt1(tk2)λtk+2λt(t1)λt1λt]
xk=0yk=λtxkyk=0k1xy(k1)×(k1)подматрица Иорданского блока. Итак, теперь предположим, что .xk0

Во-вторых, мы рассмотрим случай, когда . В этом случае степени блока Джордана имеют особую форму и заставляют либо t = z для некоторого z k , либо t > k , без каких-либо других условий. Я не буду описывать случаи, но достаточно сказать, что каждый может быть проверен эффективно. (В качестве альтернативы, мы могли бы свести к случаю, когда A является обратимым; см. Мой комментарий по этому вопросу.)λ=0t=zzkt>kA

Наконец, мы приходим к общему случаю. Поскольку у нас уже есть условие модульности, из которого следует, что , мы можем предположить, что это условие выполняется, и использовать y k x - 1 k в качестве замены для λ t . В более общем смысле мы можем использовать y k x - 1 k λ - z для представления λ t - z . Таким образом, нам нужно проверить, справедлива ли следующая система для некоторого выбора t : [ y 1 y 2yk=λtxkykxk1λtykxk1λzλtzt Заметим, что выполнение уравнения зависит только отt

[y1y2y3yk1yk]=[ykxk1(t1)ykxk1λ1(t2)ykxk1λ2(tk1)ykxk1λ(k1)ykxk1(t1)ykxk1λ1(tk2)ykxk1λ(k2)ykxk1(t1)ykxk1λ1ykxk1][x1x2x3xk1xk]
; это потому, что зависимость от t является только полиномиальной, t должно быть целым числом, а приведенные выше уравнения находятся над полем характеристики p . Следовательно, мы можем просто попробовать каждое значение t { 0 , 1 , , p - 1 } отдельно. Множество S, которое мы вернем, является просто выбором t, для которого система удовлетворена.t(modp)ttpt{0,1,,p1}St

Так что теперь, за исключением некоторых особых случаев, подпроцедура для каждого блока нашла условие модульности и множество S, так что один из t = st=a(modm)S должно выполняться для некоторых S S . Эти условия эквивалентны y = A t x в этом конкретном жордановом блоке. Таким образом, мы возвращаем их из подпроцедуры. Частные случаи либо заключают, что t не может существовать (в этом случае подпроцедура немедленно возвращает указание на это), либо мы имеем условие модульности t = at=s(modp)sSy=Atxt и некоторые специальные условия, такие как t = s для целого числа s или t > для некоторого целого числа . В любом случае, все условия эквивалентны y = A t x в этом блоке Джордана. Итак, как упоминалось выше, подпроцедура просто возвращает эти условия.t=a(modm)t=sst>y=Atx

На этом завершается спецификация субпроцедуры для каждого блока и алгоритма в целом. Это правильность и эффективность вытекают из предыдущего обсуждения.


Тонкости с использованием JCF во втором сокращении: Как упоминалось во втором сокращении, есть некоторые тонкости, которые возникают при работе с JCF. Есть несколько наблюдений для смягчения этих проблем:

  • Расширения конечных полей нормальны . Это означает , что если представляет собой неприводимый многочлен над F д , то любое расширение F д , содержащей корень P содержит все корни P . Другими словами, поле расщепления неприводимого многочлена P степени d имеет степень только d над F q .PFqFqPPPddFq

  • Существует обобщение жордановой канонической формы, называемой первичной рациональной канонической формой (PRCF), которая не требует записи расширений полей. В частности, если является матрицей с записями в F q , то мы можем записать A = P - 1 Q P для некоторых матриц P , Q с записями в F q , причем, кроме того, Q находится в PRCF. Кроме того, если мы сделаем вид, что записи A живут в поле F ′, расширяющем F qAFqA=P1QPP,QFqQAFFqкоторый содержит все собственные значения , тогда Q фактически будет в JCF. Таким образом, мы можем рассматривать вычисление JCF для A как особый случай вычисления PRCF.AQA

  • Используя форму PRCF, мы можем вычислить JCF для какA

    1. вычисление PRCF над F qAFq

    2. вычисление PRCF каждого блока (заимствуя обозначение из статьи в Википедии) в PRCF A , над полем расширения F , где F выбирается так, чтобы он содержал все собственные значения CCAFFC

    Основное преимущество этой факторизации состоит в том, что все характеристические многочлены блоков будут неприводимыми , и, следовательно, согласно нашему первому наблюдению, мы можем выбрать F , чтобы иметь степень размера C (которая не больше n ) над F q , Недостатком является то, что теперь мы должны использовать различные поля расширения для представления каждого блока JCF, поэтому представление является нетипичным и сложным.CFCnFq

Таким образом, учитывая способность эффективно вычислять PRCF, мы можем эффективно вычислить подходящее кодирование JCF, и это кодирование так, что работа с любым конкретным блоком JCF может быть выполнена в пределах поля расширения степени не более по F п .nFn

Как для эффективного вычисления ФКНР, бумаги « Рациональный Каноническая форма алгоритма » (KR Мэттьюз, Математика. Bohemica 117 (1992) 315-324) дает эффективный алгоритм для вычисления ФКНР , когда разложение характеристического полинома , как известно , Для фиксированной характеристики (такой, как у нас), разложение многовариантных полиномов по конечным полям может быть выполнено за детерминированный полиномиальный момент времени (см., Например, « О новом алгоритме факторизации для полиномов над конечными полями » (H. Niederreitter and R. Gottfert, Math. Of Вычисление 64 (1995) 347-353).), Поэтому PRCF можно вычислить эффективно.A


Можно ли рассчитать JCF эффективно? Во всяком случае, его существование может потребовать расширения поля.
Эмиль Йержабек

@ EmilJeřábek Спасибо. Полагаю, я работал под неявным предположением, что это легко, но я не знаю специфики. Кажется, это сильно связано с разложением одномерных многочленов над конечными полями, что может быть сделано достаточно эффективно для вышеуказанных целей, по крайней мере, согласно Википедии . ...
Эндрю Морган

Поэтому я предполагаю, что JCF можно найти эффективно, но я не совсем уверен. Вы упоминаете о необходимости расширения поля - это необходимо для сокращения (дискретный лог по конечным полям постоянного размера легко), поэтому это не должно вызывать удивления. Я действительно беспокоюсь о степени расширения, хотя собственные значения имеют только степень , а значения x i и y i являются линейными комбинациями степеней собственных значений, поэтому им, возможно, придется жить в поле размера n ! , Я буду отмечать эти возможные подводные камни в своем ответе, хотя я думаю, что он все еще приносит достаточно идей, чтобы остаться рядом. nxiyin!
Эндрю Морган

Правильно. Элементы живут в поле расщепления характеристического многочлена матрицы, который может быть произвольным многочленом степени n, поэтому поле расщепления может иметь степень, равную примерно (если мои расчеты верны). Но, возможно, это можно как-то обойти. Давайте факторизируем char poly (даже четкой степени факторизации должно быть достаточно). Можем ли мы как-то идентифицировать собственные пространства, соответствующие корням каждого фактора? То есть вместо полной JCF мы получили бы диагональную матрицу блока поверх исходного поля, где каждый блок имел бы собственные значения ...exp(nlogn)
Эмиль Йержабек

n
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.