Decidere se un dato calcola una permutazione


27

Qual è la complessità nel decidere se un con bit di input e bit di output calcola una permutazione di ? in altre parole, se ogni stringa di bit in è un'uscita del circuito per un certo ingresso? Sembra un problema che è stato studiato, ma non riesco a trovare riferimenti. nn{0,1 } n {0,1 } nNC0nn{0,1}n{0,1}n


1
Il limite ovvio è che funziona anche per (controlla se la funzione è iniettiva). PcoNPP
Kaveh,

Cosa intendi con "un circuito NC0"? La frase abituale è "famiglia di circuiti NC0", che è (forse sfortunatamente) spesso abbreviata in "circuito NC0", ma non penso che tu intenda una famiglia di circuiti NC0 nella tua domanda.
Tsuyoshi Ito,

1
Con un circuito , intendo che ogni bit di uscita del circuito dipende solo dal numero costante di bit di ingresso. NC0
QiCheng,

3
Sì, sto chiedendo di una famiglia. Per rendere le cose più chiare, puoi cambiare in dove ogni bit di uscita dipende solo da bit di ingresso della famiglia. N C 0 5 5NC0NC505
QiCheng,

1
Questo non risponde alla tua domanda, ma se il problema è generalizzato in modo tale che ogni bit di output sia autorizzato a dipendere dai bit di input O (log n), allora penso che il problema sia completo in CoNP in Riduzione di Turing. Ciò deriva dalla completezza coNP della reversibilità finita degli automi cellulari bidimensionali ( Durand 1994 ) rappresentando ciascuna cellula in automi cellulari bidimensionali come una stringa binaria O (log n) bit.
Tsuyoshi Ito,

Risposte:


29

Durezza

A seguito del tuo commento sulla domanda, chiameremo un circuito in cui ogni bit di uscita dipende al massimo dai bit di ingresso k un " circuito NC 0 k ". Usando questo termine, il tuo problema è completo in caso di circuiti NC 0 5 . Cioè, il seguente problema è completo.

Istanza : un circuito booleano C con n bit di input e n bit di output in cui ciascun bit di output dipende al massimo da cinque bit di input.
Domanda : la mappatura da {0,1} n a se stessa viene calcolata dal biettivo C ?

Come ha commentato Kaveh, è ​​chiaramente in coNP, anche senza il limite del numero di bit di input da cui dipende ogni bit di output. Per dimostrare la durezza del coNP, ridurremo 3SAT a complemento dell'attuale problema. L'idea chiave della riduzione è la stessa utilizzata nel documento [Dur94] di Durand, che ho citato in un commento sulla domanda, ma nel nostro caso l'intera riduzione è molto più semplice.

Data una formula 3CNF φ con n variabili e m clausole, viene costruito un circuito booleano C con ( n + m bit di ingresso) e ( n + m bit di uscita) come segue. Etichettiamo i bit di input come x 1 , ..., x n , y 1 , ..., y m e i bit di output come x1 , ..., xn , z 1 , ..., z m . Consideriamo che i bit di input x1 ,…, x n specifica un'assegnazione di verità alle n variabili in φ .

  • xi = x i per 1≤ in . Cioè, i primi n bit di input vengono sempre copiati nei primi n bit di output.
  • Per 1≤ im , se l' i esima clausola di φ è soddisfatta, allora z i = y iy i +1 , dove l'interpretazione è interpretata modulo m . Altrimenti, z i = y i .

Si noti che ciascun bit di uscita dipende al massimo da cinque bit di ingresso. Ometto la prova della correttezza della riduzione, ma l'idea chiave (che ho preso in prestito da [Dur94]) è che se φ è soddisfacente e i bit di input x 1 , ..., x n sono impostati su un'assegnazione soddisfacente di φ , allora i bit di uscita m z 1 ,…, z m sono vincolati per avere la parità pari e quindi il circuito non può essere una permutazione. D'altra parte, se i bit di input x 1 ,…, x n sono impostati su un'assegnazione non soddisfacente di φ , quindi i bit di output z1 , ..., z m può essere impostato su qualsiasi cosa; per questo motivo, se φ non è soddisfacente, il circuito è una permutazione.

Trattabilità

Sul lato trattabile, il problema è in P in caso di circuiti NC 0 2 . Questo è mostrato come segue. In generale, ogni bit di uscita in un circuito booleano per una permutazione è bilanciato ; cioè, esattamente la metà delle stringhe di input imposta il bit di uscita su 1. Tuttavia, ogni funzione booleana bilanciata da {0,1} 2 a {0,1} è affine ; vale a dire, una copia di un singolo bit di input, l'XOR dei due bit di input o la loro negazione. Pertanto, possiamo prima verificare che ciascun bit di uscita sia bilanciato, quindi controllare la biettività dall'eliminazione gaussiana.

Non conosco la complessità nel caso di circuiti NC 0 3 o nel caso di circuiti NC 0 4 .

Riferimenti

[Dur94] Bruno Durand. Inversione di automi cellulari 2D: alcuni risultati di complessità. Theoretical Computer Science , 134 (2): 387–401, novembre 1994. DOI: 10.1016 / 0304-3975 (94) 90244-5 .


3
Ho pubblicato una domanda di follow-up sul caso dei circuiti NC ^ 0_3.
Tsuyoshi Ito,
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.