Complessità di un problema di matrice


21

Il seguente problema è apparso di recente nella mia ricerca. Non essendo un esperto di domande algoritmiche ho cercato su Google ampiamente nella ricerca di problemi adeguati da cui ridurre. Non vedo come funzionerebbe 3SAT, e anche se ZOE è simile nello spirito una riduzione non è ovvia. Un'altra possibilità sarebbe la teoria esistenziale dei reali. Nemmeno questa sembra corrispondere, ma potrei sbagliarmi.

Problema: A e B sono entrambe le matrici n×n sul campo preferito. Partiamo dal presupposto che un insieme arbitrario di indici di A sia impostato su 0. Allo stesso modo, un insieme arbitrario di indici di B è impostato su 0. Domanda: possiamo riempire gli indici rimanenti di A e B tale che AB=In ?

Esempio: A=[0a1a20] , B=[b100b2] . Non possibile.

Qual è la complessità computazionale di questo (in n )?

Eventuali suggerimenti o idee su dove cercare risultati simili in letteratura saranno molto apprezzati.

EDIT (completamente dimenticato di questo post): nel recente lavoro che è disponibile su arXiv (se qualcuno è interessato alla prestampa fammi sapere) abbiamo dimostrato che il problema è NP-difficile su qualsiasi campo finito.


4
A condizione che il campo di base sia abbastanza grande, il problema di verificare se è possibile rendere invertibile si riduce a (il complemento di) test di identità polinomiale. Basta osservare che il determinante di A B è un polinomio nei valori delle voci mancanti. ABAB
Andrew Morgan,

3
Inoltre, il caso in cui limitiamo le voci di e B a zero-uno e la caratteristica del campo è maggiore di n , riduce alla perfetta corrispondenza bipartita. Puoi immaginare di scegliere per ciascun indice i un altro indice k i in modo da impostare A i , k i = B k i , i = 1 e le voci rimanenti zero. (Metterne più di questi può solo far male.) Quindi la condizione A B = I n può essere espressa come un grafico bipartito con gli indici iABnikiAi,ki=Bki,i=1AB=Inia sinistra, le scelte di a destra e i bordi per le coppie ( i , k i ) per le quali possiamo impostare A i , k i e B k i , i . ki(i,ki)Ai,kiBki,i
Andrew Morgan,

2
@MB: Inoltre, si noti che mentre si controlla se può essere reso invertibile è come verificare se sia A che B possono, separatamente, essere resi invertibili, controllare se A B può essere reso invertibile non è lo stesso che verificare se A B può essere fatta l'identità . Per verificare se A (resp. B ) può essere reso invertibile, dici "che può essere fatto in modo efficace", ma nella tua impostazione questo equivale a verificare la perfetta corrispondenza tra il supporto di A (resp. BABABABABABAB) (stesso problema, ma impostazione leggermente diversa dal secondo commento di Andrew Morgan).
Joshua Grochow,

2
Qualche caso speciale di questo problema sembra probabile in PPAD, come il problema della complementarità lineare: kintali.wordpress.com/2009/08/04/linear-complementarity-prob‌ lem Questo dimostrerebbe che trovare una soluzione è difficile.
domotorp,

2
Nel caso in cui altri non lo abbiano già capito, c'è una scelta di (su qualsiasi campo) per cui A B = I , ma per cui il test di abbinamento perfetto fallisce. ovvero non v'è matrice di permutazione P in modo che P è supportata sul supporto di A e P - 1 = P è supportato sul supporto di B . La scelta è data da A = [ 1 - 1 0 1 0 1 1 - 1 1 ] eA,BAB=IPPAP1=PBA=[110101111] . B=[111011101]
Andrew Morgan,

Risposte:


8

Bene, ecco un non-orribile limite superiore sopra : P S P A C E , o assumendo l'ipotesi di Riemann, A M . Questo perché per ogni dato modello di zeri per A , B , controllare se si può fare A B = I n sta verificando se un certo sistema di n 2 equazioni polinomiali intere ha una soluzione in C , e questo può essere fatto in questi limiti, di Koiran.CPSPACEAMA,BAB=Inn2C

Un altro approccio è quello di cercare di sfruttare il fatto che si tratta in realtà di un sistema di equazioni bilineari . Risolvere equazioni bilineari equivale a trovare soluzioni di "rango 1" alle equazioni lineari. Ho cercato di determinare se ci sono migliori limiti superiori per risolvere i sistemi bilineari in generale, ma finora non ho avuto fortuna. È anche possibile che si possa sfruttare la particolare struttura di queste equazioni bilineari per ottenere qualcosa di meglio di ciò che è noto in generale ...


PSPACE non deriva dal problema di essere in NP?
MB

2
@MB: Su campi finiti il ​​problema è ovviamente in NP (mostra solo l'impostazione delle variabili), che è anche un limite superiore migliore di AM. Quando l'input è polinomio intero ma si chiede una soluzione nei numeri complessi, quando esiste una soluzione non è nemmeno ovvio che è possibile scriverlo in qualsiasi quantità finita di memoria, per non parlare del limite polinomiale.
Joshua Grochow,
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.