Ci sono migliaia di problemi NP-completi in letteratura e la maggior parte delle coppie non ha riduzioni esplicite. Dato che si riducono le riduzioni polinomiali di molti tempi, è sufficiente che i ricercatori si fermino quando il grafico delle riduzioni pubblicate è fortemente collegato, rendendo la ricerca sulla completezza NP un'attività molto più scalabile.
Anche se davvero non capisco il punto, ti umorizzerò dando una riduzione ragionevolmente semplice da 3-PARTITION a BALANCED PARTITION, con alcuni suggerimenti su come va la prova di correttezza.
Lascia che l'ingresso alla riduzione sia , un'istanza di 3-PARTITION. Verificare che Σ i ∈ [ 3 n ] x i = n B . Sia β un numero elevato da scegliere in seguito. Per ogni i ∈ [ 3 n ] e ogni j ∈ [ n ] , emettere due numeri
x i β j + β n +x1,…,x3n,B∈Z∑i∈[3n]xi=nBβi∈[3n]j∈[n]
Intuitivamente, il primo numero indica che x i è assegnato a 3 partizioni j e il secondo numero indica il contrario. Il termine x i β j viene utilizzato per tracciare la somma di 3 partizioni j . Il termine β n + j viene utilizzato per tracciare la cardinalità di 3 partizioni j . Il termine β 2 n + i viene utilizzato per garantire che ogni x i sia assegnato esattamente una volta. Il β (
xiβj+βn+j+β2n+i+β(i+4)n+jβ(i+4)n+j.
xijxiβjjβn+jjβ2n+ixi termine
n + j viene utilizzato per forzare questi numeri in diverse partizioni bilanciate.
β(i+4)n+j
Stampa altri due numeri
Il primo numero identifica la sua partizione bilanciata come “vero” e l'altro come “falso”. Iltermine 1 viene utilizzato per forzare questi numeri in diverse partizioni bilanciate. Gli altri termini fanno la differenza tra la somma delle 3 partizioni e la somma di suo complemento e le dimensioni di un 3-divisorio e la dimensione del suo complemento e il numero di volte in cui x i è stato assegnato.
1+∑j∈[n]((n−2)Bβj+(3n−6)βn+j)+∑i∈[3n](n−2)β2n+i1.
1xi
dovrebbe essere scelto abbastanza grande da garantire che non si possa verificare un "overflow".β