Complexidade de acessibilidade em sistemas dinâmicos lineares em campos finitos


10

Seja A uma matriz sobre o campo finito F2={0,1} e x , y sejam vetores do espaço F2n . Estou interessado na complexidade computacional de decidir se existe tN tal que Atx=y , ou seja, no problema de alcançabilidade de sistemas dinâmicos lineares sobre campos finitos.

O problema está claramente em NP (suposição 0t<2n e calcule At em tempo polinomial por quadratura repetida). Me e colegas também foram capazes de provar o NP -completeness do problema relacionado de estabelecer se existe tN tal que Atxy , onde é desigualdade componente a componente.

Esse problema parece bastante natural, mas não pude encontrar referências a sua complexidade computacional na literatura, provavelmente porque não conheço a terminologia exata. Você sabe se o problema com a igualdade é NP completo ou se está realmente em P ?


3
Pode-se reduzir para o caso em que é invertível. Observa-se que as imagens de A 1 , A 2 , ... são uma cadeia não crescente de subespaços, e, portanto, torna-se eventualmente um espaço constante W (na realidade dentro dos primeiros n passos). Em seguida, uma é uma transformação linear invertível em W . Pode-se verificar facilmente os casos especiais quando t = 1 , 2 , , n , após o qual resta apenas resolver o problema com A restrito a W e xAA1,A2,WnAWt=1,2,,nAWxsubstituído por . Anx
Andrew Morgan

Respostas:


4

Para maior clareza, generalizarei sua pergunta como sendo acima da característica (com o campo base F q ) em vez do caso específico de p = q = 2 . Vou levar p e q como uma constantes fixas; Vou deixar para o leitor descobrir qual é a dependência exata desses parâmetros, pois existem algumas trocas que podem ser feitas. O resultado final aqui é que seu problema é aproximadamente equivalente ao problema de log discreto para campos finitos da característica p .p>0Fqp=q=2pqp

Para ser mais específico, deixe o problema de log discreto comum sobre extensões de , dado um campo de extensão F de F q , e a , b F , encontre qualquer número inteiro t para que a = b t , ou relate que não existe . Seja o forte problema de log discreto sobre extensões de F q , dado que F , a , b como antes, encontre inteiros z , m de modo que aFqFFqa,bFta=btFqF,a,bz,m para um número inteiro t iffou relate que nãoexiste. Existem as seguintes reduções:a=btttt=z(modm)t

  • Há uma redução determinística no mapeamento das extensões de log discretas de para o seu problema.Fq

  • Existe um algoritmo determinístico eficiente que resolve seu problema quando recebe acesso a um oracle que computa o forte problema de log discreto sobre extensões de .Fq

Assim, consideraria improvável que alguém publique uma prova de dureza ou uma prova de que seu problema está em em um futuro próximo.PNPP

Observação: o forte problema de log discreto sobre as extensões de pode ser reduzido a Turing para a seguinte forma ostensivamente mais fraca (embora ainda pareça mais forte que o problema comum de log discreto): Dado um campo de extensão de e , encontre o menor número inteiro não negativo para que . Isso decorre do fato de que a ordem de é uma mais o menor não negativo, de modo que .F F q a,b F ta= b t bt b - 1 = b tFqFFqa,bFta=btbtb1=bt


Primeira redução: a alegação é que o problema de log discreto comum nas extensões do mapeamento reduz a esse problema. Isto segue o fato de que a multiplicação em é uma transformação linear quando vemos como um espaço vetorial dimensional sobre . Portanto, uma pergunta do formato acima de se torna sobre , em que são vetores dimensionais e éF q n F q n n F q a= b t F q n a = B t e F q a ,e nBn×n F q a aBbe 1 F q n p=q=2nFqFqnFqnnFqa=btFqna=BteFqa,enBn×nmatriz, em todo . O vector pode ser facilmente calculado a partir de , a partir de , e é apenas a representação de , que pode ser escrita de forma eficiente . Parece ainda ser um caso difícil do problema geral de log discreto, mesmo com (mas crescendo , é claro). Em particular, as pessoas ainda estão competindo para ver até onde podem calcular isso.FqaaBbe1Fqnp=q=2n


Segunda redução: a alegação é que seu problema se reduz ao forte problema de log discreto sobre extensões de . Essa redução tem alguns pedaços, então perdoe o comprimento. Deixe a entrada ser o -dimensional vectores e matriz , todo ; o objetivo é encontrar modo que . nx,yn×nA F q ty= A t xFqnx,yn×nAFqty=Atx

A idéia básica é escrever na forma canônica da Jordânia (JCF), a partir da qual podemos reduzir o teste ao forte problema de log discreto com alguma álgebra direta.y = A t xAy=Atx

Uma razão para usar uma forma canônica sob similaridade de matrizes é que, se , então . Por isso podemos transformar para , onde agora está em um formato mais agradável do que a muito arbitrária . O JCF é uma forma particularmente simples, que permite o restante do algoritmo. Então, de agora em diante, vamos supor que já está em JCF, mas também permitir que e pode ter entradas em um campo de extensão de .A t = P - 1 J t P y = A t x ( P y ) = J t ( P x ) J A A x , y , A F qA=P1JPAt=P1JtPy=Atx(Py)=Jt(Px)JAAx,y,AFq

Observação: existem algumas sutilezas que surgem do trabalho com o JCF. Especificamente, assumirei que podemos realizar operações de campo em qualquer extensão de (não importa o tamanho) em uma única etapa e que possamos calcular o JCF com eficiência. a priori , isso não é realista, porque trabalhar com o JCF pode exigir o trabalho em um campo de extensão (o campo de divisão do polinômio característico) de grau exponencial. No entanto, com algum cuidado, e usando o fato de estarmos trabalhando em um campo finito, podemos contornar esses problemas. Em particular, associaremos a cada bloco da Jordânia um campo de grau no máximo acima deF n F q xy FFFFqFnFq para que todas as entradas no bloco Jordan e os elementos correspondentes de , vivam dentro de . O campo pode diferir de bloco para bloco, mas o uso dessa `` representação mista' 'permite uma descrição eficiente do JCF, que além disso pode ser encontrada com eficiência. O algoritmo descrito no restante desta seção precisa trabalhar apenas com um bloco de cada vez, desde que faça suas operações de campo no campo associado , o algoritmo será eficiente. [observação final]xyFFF

O uso de JCF nos fornece equações da seguinte forma, com cada equação correspondente a um bloco de Jordan:

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

O algoritmo manipulará cada bloco separadamente. No caso geral, para cada bloco, teremos uma consulta para o nosso forte oráculo de log discreto, a partir do qual o oráculo nos dirá uma condição de modularidade, . Também obteremos um conjunto para que deva manter . Depois de processar todos os blocos, precisamos verificar se existe uma opção de que satisfaça as conjunções de todas essas condições. Isso pode ser feito, certificando-se há um elemento comum em todos os conjuntos de modo que as equações eS { 0 , 1 , , p - 1 } s S [ t = st=z(modm)S{0,1,,p1} t s S t = ssS[t=s(modp)]tsSt = z jt=s(modp)jt=zj(modmj)são todos satisfeitos simultaneamente, onde varia sobre os blocos.j

Também existem alguns casos especiais que surgem ao longo do procedimento. Nesses casos, obteremos condições do formato para algum valor de ou do formato para algum número inteiro específico , de certos blocos, ou talvez até descobrimos que nenhum pode existir . Eles podem ser incorporados à lógica do caso geral sem problemas.l t = s s tt>t=sst

Agora descrevemos o subprocedimento para lidar com cada bloco da Jordânia. Corrija esse bloco.

Comece concentrando-se apenas na última coordenada do bloco. A condição requer que . Em outras palavras, é uma instância do problema de log discreto em alguma extensão de campo de . Em seguida, usamos um oráculo para resolvê-lo, o que resulta em nenhuma solução ou fornece uma condição de modularidade em . Se "nenhuma solução" for retornada, retornaremos indicando tal. Caso contrário, obteremos uma condição , que é equivalente a .y k = λ t x k F q t t = zy=Atxyk=λtxkFqty k = λ t x kt=z(modm)yk=λtxk

Para lidar com as outras coordenadas, começamos com a seguinte fórmula (veja, por exemplo, aqui ): xk=0yk=λtxkyk=0k-1xy(k-1)×(k-1)xk0

[λ1λ1λ1λ1λ]t=[λt(t1)λt1(t2)λt2(tk1)λtk+1λt(t1)λt1(tk2)λtk+2λt(t1)λt1λt]
\ ddots & \ ddots & \ vdots \\ & & & \ lambda ^ t & \ binom {t} {1} \ lambda ^ {t-1} \\ & & & & & lambda ^ t \ end {bmatrix } Primeiro, vamos cuidar do caso em quexk=0 . Como já temos a condição de modularidade que implica , podemos assumir que também. Mas então podemos apenas reduzir a focando os primeiros entradas de e , e na parte superior esquerda submatrix do bloco de Jordan. Então, a partir de agora, assuma que .yk=λtxkyk=0k1xy(k1)×(k1)xk0

Segundo, trataremos do caso em que . Nesse caso, os poderes do bloco da Jordânia têm uma forma especial e forçam para alguns , ou , sem outras condições. Não vou elaborar os casos, mas basta dizer que cada um pode ser verificado com eficiência. (Como alternativa, poderíamos reduzir para o caso em que é invertível; veja meu comentário sobre a questão.)t = z z k t > k Aλ=0t=zzkt>kA

Finalmente, chegamos ao caso geral. Como já temos a condição de modularidade que implica que , podemos assumir que a condição é válida e usar como de . De maneira mais geral, podemos usar para representar . Portanto, precisamos verificar se o seguinte sistema vale para alguma opção de : y k x - 1 k λ t y k x - 1 k λ - z λ t - z t [ Y 1 Y 2 Y 3y k - 1 y k ] = [ y k x - 1 k ( tyk=λtxkykxk1λtykxk1λzλtztt

[y1y2y3yk1yk]=[ykxk1(t1)ykxk1λ1(t2)ykxk1λ2(tk1)ykxk1λ(k1)ykxk1(t1)ykxk1λ1(tk2)ykxk1λ(k2)ykxk1(t1)ykxk1λ1ykxk1][x1x2x3xk1xk]
y_kx_k ^ {- 1} \ end {bmatrix} \ begin {bmatrix} x_1 \\ x_2 \\ x_3 \\ \ vdots \\ x_ {k-1} \\ x_ {k} \\ \ end {bmatrix} Observe que se a equação vale depende apenas de ; isso ocorre porque a dependência de é apenas polinomial, t(modp)tt deve ser um número inteiro e as equações acima estão sobre um campo da característica . Portanto, podemos apenas tentar cada valor de separadamente. O conjunto que retornaremos são apenas as opções de para as quais o sistema está satisfeito.pt{0,1,,p1}St

Portanto, agora, exceto em alguns casos especiais, o subprocedimento por bloco encontrou uma condição de modularidade e um conjunto para que um de deva manter por alguns . Essas condições são equivalentes a dentro desse bloco específico da Jordânia. Então, devolvemos isso do subprocedimento. Os casos especiais concluem que não existe (nesse caso o subprocedimento retorna imediatamente uma indicação disso), ou então temos uma condição de modularidade e alguma condição especial como para um número inteiro. , ou para algum número inteirot=a(modm)St=s(modp)sSy=Atxtt=a(modm)t=sst> . De qualquer forma, todas as condições envolvidas são equivalentes a dentro desse bloco da Jordânia. Portanto, como mencionado acima, o subprocedimento apenas retorna essas condições.y=Atx

Isso conclui a especificação do subprocedimento por bloco e do algoritmo como um todo. Sua correção e eficiência seguem a discussão anterior.


Sutilezas com o uso do JCF na segunda redução: Conforme mencionado na segunda redução, existem algumas sutilezas que surgem do trabalho com o JCF. Existem algumas observações para mitigar esses problemas:

  • Extensões de campos finitos são normais . Isto significa que, se é um um irredutível polinomial sobre , então qualquer extensão de contendo uma raiz de contém todas as raízes de . Em outras palavras, o campo de divisão de um polinômio irredutível de grau tem grau apenas acima de .PFqFqPPPddFq

  • Existe uma generalização da forma canônica da Jordânia, chamada de forma canônica racional primária (PRCF), que não exige que as extensões de campo sejam anotadas. Em particular, se é uma matriz com entradas em , então podemos escrever para algumas matrizes com entradas em , onde, além disso, está no PRCF. Além disso, se fingirmos que as entradas moram em um campo estendendo que contém todos os autovalores de , entãoAFqA=P1QPP,QFqQAFFqAQestará de fato no JCF. Assim, podemos ver a computação do JCF de como um caso especial de computação do PRCF.A

  • Usando a forma do PRCF, podemos calcular o JCF de comoA

    1. calculando o PRCF de overAFq

    2. computando o PRCF de cada bloco (emprestando a notação do artigo da Wikipedia) no PRCF de , sobre um campo de extensão , em que é escolhido para conter todos os autovalores deCAFFC

    A principal vantagem dessa fatoração é que os polinômios característicos dos blocos serão irredutíveis e, portanto, pela nossa primeira observação, podemos escolher para ter o tamanho de (que é no máximo ) sobre . A desvantagem é que agora precisamos usar campos de extensão diferentes para representar cada bloco do JCF, para que a representação seja atípica e complicada.CFCnFq

Assim, dada a capacidade de calcular o PRCF com eficiência, podemos calcular com eficiência uma codificação adequada do JCF, e essa codificação é para que trabalhar com qualquer bloco específico do JCF possa ser feito dentro de um campo de extensão de grau no máximo acima .nFn

Quanto ao cálculo eficiente do PRCF, o artigo " A Rational Canonical Form Algorithm " (KR Matthews, Math. Bohemica 117 (1992) 315-324) fornece um algoritmo eficiente para calcular o PRCF quando a fatoração do polinômio característico de é conhecida . Para características fixas (como a nossa), fatorar polinômios univariados sobre campos finitos pode ser feito em tempo polinomial determinístico (consulte, por exemplo, " Em um novo algoritmo de fatoração para polinômios sobre campos finitos " (H. Niederreitter e R. Gottfert, Math. Computation 64 (1995) 347-353).), Para que o PRCF possa ser computado com eficiência.A


O JCF pode ser calculado com eficiência? De qualquer forma, sua existência pode exigir a expansão do campo.
Emil Jeřábek

@ EmilJeřábek Obrigado - Suponho que trabalhei sob a suposição implícita de que era fácil, mas na verdade não sei os detalhes. Parece estar fortemente relacionado ao fatorar polinômios univariados sobre campos finitos, o que pode ser feito com eficiência suficiente para os fins acima, pelo menos de acordo com a Wikipedia . ...
Andrew Morgan

Então, meu palpite é que o JCF pode ser encontrado com eficiência, mas não tenho certeza. Você menciona a necessidade de estender o campo - isso é necessário para a redução (log discreto sobre campos finitos de tamanho constante é fácil), portanto não deve ser surpresa. No entanto, eu me preocupo com o grau da extensão - enquanto os valores próprios têm apenas o grau , os valores e são combinações lineares de potências dos valores próprios, portanto, eles podem precisar viver em um campo de tamanho. Vou fazer uma anotação dessas possíveis armadilhas na minha resposta, apesar de achar que ainda contribui com idéias suficientes para permanecer por perto. nxiyin!
Andrew Morgan

Direita. Os elementos vivem no campo de divisão do polinômio característico da matriz, que pode ser um polinômio arbitrário de grau n; portanto, o campo de divisão pode ter um grau tão alto quanto aproximadamente (se meu cálculo está correto). Mas talvez isso possa ser contornado de alguma forma. Vamos fatorar o caractere poli (mesmo fatoração de grau distinto deve ser suficiente). De alguma forma, podemos identificar os espaços próprios correspondentes às raízes de cada fator? Ou seja, em vez de full JCF, nós obter uma matriz diagonal por blocos sobre o campo original, onde cada bloco teria valores próprios ...exp(nlogn)
Emil Jerabek

... em uma extensão de grau no máximo . Talvez pudéssemos processar cada bloco separadamente. (Esta é apenas uma vaga idéia, eu não tentei trabalhar com isso.)n
Emil Jerabek
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.