Complessità di raggiungibilità nei sistemi dinamici lineari su campi finiti


10

Sia una matrice sopra il campo finito e , siano vettori dello spazio . Sono interessato alla complessità computazionale di decidere se esiste tale che , cioè il problema di raggiungibilità per sistemi dinamici lineari su campi finiti.AF2={0,1}xyF2ntNAtx=y

Il problema è chiaramente in (indovina e calcola in tempo polinomiale ripetendo la quadratura). Io e i miei colleghi siamo stati anche in grado di dimostrare la del problema correlato di stabilire se esiste tale che , dove è disuguaglianza componente.NP0t<2nAtNPtNAtxy

Questo problema sembra abbastanza naturale, ma non sono stato in grado di trovare riferimenti alla sua complessità computazionale in letteratura, probabilmente perché non sono a conoscenza della terminologia esatta. Sai se il problema con l'uguaglianza è completo o se è effettivamente in ?NPP


3
Si può ridurre al caso in cui è invertibile. Osserva che le immagini di sono una catena non crescente di sottospazi, e quindi alla fine diventa uno spazio costante (in effetti entro i primi passi). Poi è una trasformazione lineare invertibile su . Si può facilmente controllare i casi speciali quando , dopo di che resta solo da risolvere il problema con limitato a e sostituito da . A 1 , A 2 , ... W n A W t = 1 , 2 , ... , n A W x A n xAA1,A2,WnAWt=1,2,,nAWxAnx
Andrew Morgan,

Risposte:


4

Per chiarezza, generalizzerò la tua domanda in merito alla caratteristica (con campo base ) anziché al caso specifico di . Prenderò e come costanti fisse; Lascerò al lettore capire qual è la dipendenza esatta da questi parametri, poiché ci sono alcuni compromessi che possono essere fatti. Il risultato finale qui è che il tuo problema è approssimativamente equivalente al problema del log discreto per i campi finiti della caratteristica .F q p = q = 2 p q pp>0Fqp=q=2pqp

Per essere più specifici, lascia che sia il normale problema di registro discreto sulle estensioni di , dato un campo di estensione di e , trova un numero intero modo che , o segnala che non esiste. Lasciate che il forte problema del singolo registro su estensioni di essere, dato come prima, trovare interi in modo che per un intero se e solo se o segnala che noF F q a,b F ta= b t F q F ,a,bz,ma= b t tFqFFqa,bFta=btFqF,a,bz,ma=bttt=z(modm)tesiste. Quindi esistono le seguenti riduzioni:

  • C'è una riduzione di mappatura deterministica dal log discreto sulle estensioni di al tuo problema.Fq

  • Esiste un algoritmo efficiente e deterministico che risolve il problema quando viene dato accesso a un oracolo che calcola il forte problema di registro discreto rispetto alle estensioni di .Fq

Di conseguenza, improbabile che qualcuno pubblichi una prova di -hardness o una prova che il tuo problema è in nel prossimo futuro.NPP

Nota: il forte problema di registro discreto sulle estensioni di può essere ridotto di Turing alla seguente forma apparentemente più debole (sebbene apparentemente più forte del normale problema di registro discreto): Dato un campo di estensione di e , trovano il numero intero non negativo modo che . Ciò deriva dal fatto che l'ordine di è uno più il più piccolo non negativo in modo che .FqFFqa,bFta=btbtb1=bt


Prima riduzione: l'affermazione è che il normale problema di registro discreto sulle estensioni della mappatura di riduce a questo problema. Ciò segue il fatto che la moltiplicazione in è una trasformazione lineare quando vediamo come uno spazio vettoriale dimensionale su . Quindi una domanda del modulo over diventa over , dove sono vettori dimensionali e èFqFqnFqnnFqa=btFqna=BteFqa,enBn×nmatrice, dappertutto . Il vettore può essere facilmente calcolato da , da e è solo la rappresentazione di , che può essere scritta in modo efficiente . Questo sembra essere ancora un caso difficile del problema di log discreto generale, anche con (ma crescente , ovviamente). In particolare, le persone sono ancora in competizione per vedere fino a che punto possono calcolarlo.FqaaBbe1Fqnp=q=2n


Seconda riduzione: l'affermazione è che il problema si riduce al forte problema di registro discreto rispetto alle estensioni di . Questa riduzione ha alcuni pezzi, quindi perdona la lunghezza. Lascia che l'input sia il vettore dimensionale e matrice , su tutto ; l'obiettivo è trovare modo che .Fqnx,yn×nAFqty=Atx

L'idea di base è scrivere in Jordan in forma canonica (JCF), da cui possiamo ridurre il test al forte problema del log discreto con qualche semplice algebra.Ay=Atx

Uno dei motivi per usare una forma canonica sotto somiglianza delle matrici è che se , allora . Quindi possiamo trasformare in , dove ora è in un formato molto più bello della arbitraria . JCF è una forma particolarmente semplice, che consente il resto dell'algoritmo. Quindi, da ora in poi, si supponga che è già in JCF, ma anche permettere che e può avere voci in un campo di estensione di .A=P1JPAt=P1JtPy=Atx(Py)=Jt(Px)JAAx,y,AFq

Nota: ci sono alcune sottigliezze che derivano dal lavorare con JCF. In particolare, assumerò che possiamo eseguire operazioni sul campo all'interno di qualsiasi estensione di (non importa quanto sia grande) in una sola volta e che possiamo calcolare il JCF in modo efficiente. a priori , questo non è realistico, perché lavorare con il JCF può richiedere di lavorare in un campo di estensione (il campo di divisione del polinomio caratteristico) di grado esponenziale. Tuttavia, con un po 'di attenzione e sfruttando il fatto che stiamo lavorando su un campo finito, possiamo aggirare questi problemi. In particolare, assoceremo ad ogni blocco Jordan un campo di grado al massimo sopraFqFnFq in modo che tutte le voci nel blocco Jordan e gli elementi corrispondenti di , vivano tutti all'interno di . Il campo può differire da blocco a blocco, ma l'uso di questa `` rappresentazione mista' 'consente una descrizione efficiente del JCF, che inoltre può essere trovato in modo efficiente. L'algoritmo descritto nel resto di questa sezione deve funzionare solo con un blocco alla volta, quindi fintanto che esegue le sue operazioni sul campo nel campo associato , l'algoritmo sarà efficiente. [nota finale]xyFFF

L'uso di JCF ci fornisce equazioni nella forma seguente, con ogni equazione corrispondente a un blocco Jordan:

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

L'algoritmo gestirà ciascun blocco separatamente. Nel caso generale, per ogni blocco, avremo una query per il nostro forte oracolo log discreto, dal quale l'oracolo ci dirà una condizione di modularità, . Otterremo anche un set modo che deve contenere . Dopo aver elaborato tutti i blocchi, dovremo verificare che vi sia una scelta di che soddisfi le congiunzioni di tutte queste condizioni. Questo può essere fatto assicurandosi che ci sia un elemento comune in tutti gli insiemi modo che le equazioni ett=z(modm)S{0,1,,p1}sS[t=s(modp)]tsSt=s(modp)t=zj(modmj)sono tutti soddisfatti contemporaneamente, dove estende sui blocchi.j

Ci sono anche alcuni casi speciali che si presentano durante la procedura. In questi casi, ci arriveremo condizioni di forma per un certo valore di , o della forma per alcuni specifici intero , da alcuni blocchi, o potremmo anche scoprire che non può esistere . Questi possono essere incorporati nella logica per il caso generale senza problemi.t>t=sst

Descriviamo ora la sottoprocedura per la gestione di ciascun blocco Jordan. Risolvi un tale blocco.

Inizia concentrandoti solo sull'ultima coordinata nel blocco. La condizione richiede che . In altre parole, è un'istanza del problema di registro discreto in alcune estensioni di campo di . Quindi usiamo un oracolo per risolverlo, il che non porta a nessuna soluzione, oppure fornisce una condizione di modularità su . Se viene restituita "nessuna soluzione", si restituisce tale indicazione. Altrimenti, otteniamo una condizione , che equivale a .y=Atxyk=λtxkFqtt=z(modm)yk=λtxk

Per gestire le altre coordinate, iniziamo con la seguente formula (vedi, ad esempio, qui ):

[λ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 } Innanzitutto, prendiamoci cura del caso in cuixk=0 . Poiché abbiamo già la condizione di modularità che implica , possiamo supporre che anche . Ma allora possiamo solo ridurre a concentrarsi sui primi inserimenti di ed , e la parte superiore sinistra sottomatrice del blocco Jordan. Quindi d'ora in poi supponiamo che .yk=λtxkyk=0k1xy(k1)×(k1)xk0

In secondo luogo, gestiremo il caso in cui . In questo caso, i poteri del blocco Jordan hanno una forma speciale e forza per alcuni , oppure , senza altre condizioni. Non descriverò i casi, ma basti dire che ognuno può essere controllato in modo efficiente. (In alternativa, potremmo ridurre al caso in cui è invertibile; vedere il mio commento sulla domanda.)λ=0t=zzkt>kA

Finalmente arriviamo al caso generale. Dato che abbiamo già la condizione di modularità che implica che , possiamo supporre che tale condizione sia valida e usare come supporto per . Più in generale, possiamo usare per rappresentare . Pertanto, dobbiamo verificare se il seguente sistema vale per una scelta di : yk=λtxkykxk1λtykxk1λzλtzt

[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} Osservalo se l'equazione è valida dipende solo da ; questo perché la dipendenza da è solo polinomiale, t(modp)tt deve essere un numero intero e le equazioni di cui sopra si trovano su un campo della caratteristica . Quindi possiamo semplicemente provare ogni valore di separatamente. L'insieme che restituiremo è solo la scelta di per la quale il sistema è soddisfatto.pt{0,1,,p1}St

Quindi ora, ad eccezione di alcuni casi speciali, la sottoprocedura per blocco ha trovato una condizione di modularità e un set modo che uno di debba valere per alcuni . Queste condizioni sono equivalenti a all'interno di questo specifico blocco Jordan. Quindi restituiamo questi dalla sottoprocedura. I casi speciali concludono che non può esistere (nel qual caso la sottoprocedura restituisce immediatamente un'indicazione di ciò), oppure abbiamo una condizione di modularità e alcune condizioni speciali come per un numero intero oppure per un numero interot=a(modm)St=s(modp)sSy=Atxtt=a(modm)t=sst> . In ogni caso, le condizioni coinvolte sono tutte equivalenti a all'interno di questo blocco Jordan. Quindi, come menzionato sopra, la sottoprocedura restituisce solo queste condizioni.y=Atx

Ciò conclude la specifica della sottoprocedura per blocco e dell'algoritmo nel suo insieme. La correttezza e l'efficienza derivano dalla discussione precedente.


Sottigliezze con l'uso di JCF nella seconda riduzione: come menzionato nella seconda riduzione, ci sono alcune sottigliezze che derivano dal lavorare con JCF. Ci sono alcune osservazioni per mitigare questi problemi:

  • Le estensioni dei campi finiti sono normali . Ciò significa che se è un polinomio irriducibile sopra , quindi qualsiasi estensione di contenente una radice di contiene tutte le radici di . In altre parole, il campo di divisione di un polinomio irriducibile di grado ha grado solo su .PFqFqPPPddFq

  • Esiste una generalizzazione della forma canonica giordana, chiamata la forma canonica razionale primaria (PRCF), che non richiede che le estensioni dei campi vengano scritte. In particolare, se è una matrice con voci in , allora possiamo scrivere per alcune matrici con voci in , dove inoltre è in PRCF. Inoltre, se facciamo finta che le voci vivano in un campo estende che contiene tutti gli autovalori di , alloraAFqA=P1QPP,QFqQAFFqAQsarà infatti in JCF. Quindi possiamo considerare il calcolo del JCF di come un caso speciale di calcolo del PRCF.A

  • Usando il modulo del PRCF, possiamo calcolare il JCF di comeA

    1. calcolo del PRCF di overAFq

    2. calcolare il PRCF di ciascun blocco (prendendo in prestito la notazione dall'articolo di Wikipedia) nel PRCF di , su un campo di estensione , dove è scelto per contenere tutti gli autovalori diCAFFC

    Il vantaggio principale di questa fattorizzazione è che i polinomi caratteristici dei blocchi saranno tutti irriducibili , e quindi, secondo la nostra prima osservazione, possiamo scegliere per avere grado la dimensione di (che è al massimo ) over . Il rovescio della medaglia è che ora dobbiamo usare diversi campi di estensione per rappresentare ogni blocco del JCF, quindi la rappresentazione è atipica e complicata.CFCnFq

Pertanto, data la capacità di calcolare il PRCF in modo efficiente, possiamo calcolare una codifica adeguata del JCF in modo efficiente, e questa codifica è tale che il lavoro con qualsiasi blocco particolare del JCF può essere eseguito all'interno di un campo di estensione di grado al massimo sopra .nFn

Per quanto riguarda il calcolo efficiente del PRCF, il documento " A Rational Canonical Form Algorithm " (KR Matthews, Math. Bohemica 117 (1992) 315-324) fornisce un algoritmo efficiente per calcolare il PRCF quando è nota la fattorizzazione del polinomio caratteristico di . Per caratteristiche fisse (come quelle che abbiamo), il factoring di polinomi univariati su campi finiti può essere eseguito in tempi polinomiali deterministici (vedi ad esempio " Su un nuovo algoritmo di fattorizzazione per polinomi su campi finiti " (H. Niederreitter e R. Gottfert, Math di. Calcolo 64 (1995) 347-353).), In modo che il PRCF possa essere calcolato in modo efficiente.A


Il JCF può essere calcolato in modo efficiente? Comunque, la sua esistenza potrebbe richiedere l'espansione del campo.
Emil Jeřábek,

@EmilJeřábek Grazie- Suppongo di aver lavorato con il presupposto implicito che fosse facile, ma in realtà non ne conosco i dettagli. Sembra essere fortemente correlato al factoring di polinomi univariati su campi finiti, che può essere fatto in modo abbastanza efficiente per gli scopi di cui sopra, almeno secondo Wikipedia . ...
Andrew Morgan,

Quindi la mia ipotesi è che JCF possa essere trovato in modo efficiente, ma non ne sono del tutto sicuro. Si dice che è necessario estendere il campo, questo è necessario per la riduzione (è semplice accedere a campi discreti su campi finiti di dimensioni costanti), quindi non dovrebbe sorprendere. mi preoccupo del grado di estensione- mentre gli autovalori hanno solo il grado , i valori e sono combinazioni lineari di potenze degli autovalori, quindi potrebbe essere necessario vivere in un campo di dimensioni. Prenderò nota di queste possibili insidie ​​nella mia risposta, anche se penso che contribuisca ancora abbastanza idee per rimanere in giro. nxiyin!
Andrew Morgan,

Giusto. Gli elementi vivono nel campo di divisione del polinomio caratteristico della matrice, che può essere un polinomio arbitrario di grado n, quindi il campo di divisione può avere un grado pari a circa (se il mio calcolo è corretto). Ma forse questo potrebbe essere eluso in qualche modo. Fattorizziamo il polietilene (anche una fattorizzazione in gradi distinti dovrebbe essere sufficiente). Possiamo in qualche modo identificare eigenspace corrispondenti alle radici di ciascun fattore? Cioè, invece del JCF completo, otterremmo una matrice diagonale a blocchi sul campo originale, dove ogni blocco avrebbe autovalori ...exp(nlogn)
Emil Jeřábek,

... in massima estensione al massimo . Quindi potremmo forse elaborare ciascun blocco separatamente. (Questa è solo una vaga idea, non ho provato a risolverlo.)n
Emil Jeřábek,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.