Il problema “Minori discriminanti” è NP-completo?


14

Questo è un nome che ho inventato per questo problema. Non l'ho mai visto descritto da nessuna parte prima. Non sono stato ancora in grado di trovare una prova della completezza NP né un algoritmo temporale polinomiale per questo problema. Non è un problema di compiti a casa - è legato a un problema che ho riscontrato nel mio lavoro.

BIT PIÙ DISCRIMINANTI

ISTANZA: un insieme T contenente vettori di bit, in cui ogni vettore di bit è esattamente lungo N bit. Ogni elemento di T è unico, come ci si aspetterebbe da un set in matematica. Un numero intero K <N.

DOMANDA: Esiste un set B al massimo di posizioni di bit K (cioè numeri interi nell'intervallo [0, N-1]) in modo tale che quando rimuoviamo tutti i bit tranne quelli in B da ogni vettore in T, i rimanenti vettori più corti sono tutti ancora unico?

Esempio 1: per l'istanza N = 5, T = {00010, 11010, 01101, 00011}, K = 2, la risposta è sì, perché possiamo selezionare le posizioni dei bit B = {0,3}. Usando la convenzione che la posizione del bit 0 è la più a destra, e i numeri della posizione del bit aumentano da destra a sinistra, rimuovendo tutte le posizioni dei bit tranne quelle in B dai vettori in T lascia T '= {00, 10, 11, 01}, e quelli sono tutti unici.

Esempio 2: N = 5, T = {00000, 00001, 00010, 00100}, K = 2. La risposta è no, perché non importa quali posizioni a due bit selezioniamo, nessuno dei vettori a 2 bit sarà uguale a 11, quindi almeno due dei vettori a 2 bit saranno uguali tra loro.

Ovviamente possiamo risolvere questo problema elencando tutti i sottoinsiemi (N sceglie K) con dimensione K delle posizioni N bit e determinando quali soddisfano la condizione della domanda. Tuttavia, questo è esponenziale nella dimensione di input.


1
Correlati: teorema di Bondy .
Aryabhata,

Risposte:


18

Questo problema è NP-completo. Una prova basata sulla riduzione da 3-SAT è la seguente:

Considera un'istanza di 3-SAT con variabili e clausole m . Costruiremo 2 n + 2 m vettori di bit ( "righe") di lunghezza 2 n + log 2 ( n + m ) , tale che il minor numero di bit discriminante è n + log 2 ( n + m ) nm2n+2m2n+log2(n+m)n+log2(n+m) se l'istanza 3-SAT originale è soddisfacente.

I primi bit corrisponderanno alle letterali { x 1 , ¬ x 1 , x 2 , ¬ x 2 , . . . , x n , ¬ x n } . Rispetto a questi bit, le prime 2 m di righe verranno visualizzate in coppie, la prima delle quali avrà un 1 per ogni valore letterale incluso nella clausola corrispondente e la seconda sarà interamente composta da 0 . I restanti 2 n2n{X1,¬X1,X2,¬X2,...,Xn,¬Xn}2m102nle righe verranno anche in coppie, la prima delle quali avrà per il letterale corrispondente e la sua negazione, e la seconda sarà interamente composta da 0 . Infine, gli ultimi bit log 2 ( n + m ) saranno usati per "firmare" ogni coppia di righe con il suo indice, da 0 a n + m - 1 , scritto in binario.10log2(n+m)0n+m-1

Al fine di distinguere ogni riga "letterale" dal suo successore, deve essere conservato il bit corrispondente a quel letterale o il bit corrispondente alla sua negazione. Inoltre, al fine di discriminare tra le righe "zero + index", tutti i bit di indice log 2 ( n + m ) devono essere mantenuti. Il numero minimo possibile di bit discriminanti è quindi n + log 2 ( n + m ) n+mlog2(n+m)n+log2(n+m). Infine, al fine di distinguere ciascuna riga della "clausola" dal suo successore, almeno uno dei tre bit corrispondenti ai letterali inclusi in tale clausola deve essere mantenuto. Se l'istanza 3-SAT è soddisfacente, quest'ultima condizione non richiede alcun bit aggiuntivo (in particolare, non è necessario conservare i bit corrispondenti a e ¬ x i per qualsiasi i ); e viceversa, se ci sono n + log 2 ( n + m ) bit che discriminano tra tutti i vettori 2 n + 2 m bit, devono contenere esattamente uno deiXio¬Xioion+log2(n+m)2n+2m e ¬ x i per ogni i , e quindi corrispondono a un'assegnazione soddisfacente dei valori di verità alle n variabili.Xio¬Xioion


Grazie! Intelligente e diretto nel vedere che conserva le risposte sì (OK, ho dovuto pensarci per almeno 20 minuti prima di poterlo dire.)
andy_fingerhut

14

Sebbene sia già stata fornita una prova della completezza NP , potrebbe valere la pena sottolineare che questo problema è equivalente a un noto problema NP completo chiamato problema del set minimo di test ([SP6] in Garey e Johnson , chiamato anche raccolta minima di test problema ): basta scambiare il ruolo dei set e il ruolo delle posizioni.


2
ah. punto eccellente.
Suresh Venkat,

@Tsuyoshi Ito: il problema minimo di raccolta dei test è NP-completo. Sono curioso del set di test minimo massimo , qual è la complessità? Voglio dire, qual è la più grande cardinalità di qualsiasi raccolta di test minima.
Peng Zhang,
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.