Equazione diofantea lineare in numeri interi non negativi


16

Ci sono solo pochissime informazioni che posso trovare sul problema NP completo di risolvere l'equazione diofantea lineare in numeri interi non negativi. Cioè, c'è una soluzione in non negativo all'equazione a 1 x 1 + a 2 x 2 + . . . + a n x n = b , dove tutte le costanti sono positive? L'unica menzione degna di nota di questo problema che conosco è in Schrijverx1,x2,...,xna1x1+a2x2+...+anxn=bTeoria della programmazione lineare e intera . E anche allora, è una discussione piuttosto concisa.

Quindi apprezzerei molto qualsiasi informazione o riferimento che potresti fornire su questo problema.

Ci sono due domande a cui tengo maggiormente:

  1. È fortemente NP-completo?
  2. Il problema relativo è il conteggio del numero di soluzioni # P-hard o addirittura # P-complete?

5
Questa non è davvero una domanda a livello di ricerca e trovo difficile credere che non hai trovato più informazioni. Inizia qui: en.wikipedia.org/wiki/Knapsack_problem
domotorp

3
per 2), non esiste un esempio noto di un problema NP-completo la cui versione di conteggio naturale non è # P-complete. capire una riduzione parsimoniosa per il tuo particolare problema potrebbe essere più facile che trovare un riferimento. questo documento lo fa per il #SubsetSum strettamente correlato: crt.umontreal.ca/~gerardo/tsppd-p-complete.pdf
Nikolov

8
Per favore, posso chiedere a @domotorp e 4evergr8ful un po 'più di civiltà? Il primo avrebbe potuto spiegare come il problema dello zaino si riduca a tali equazioni di Dihanthant, che a suo avviso sembra essere il caso, mentre 4evergr8ful potrebbe forse raffreddarsi, soprattutto dal momento che entrambi chiede aiuto ed è ovviamente inesperto nel funzionamento di questo forum . Ma ho pensato anche al problema dello zaino, e non mi è affatto chiaro che si riduca a soluzioni positive delle equazioni di Dihanthant.
Andrej Bauer

6
OP, come detto @Austin, la stessa idea programma dinamico come per zaino lavora per risolvere il problema in tempo polinomiale quando l' ai sono limitato polinomiale. quindi no, il problema non è fortemente np-completo. e domotorp aveva una buona ragione per indicarti la pagina wiki dello zaino.
Sasho Nikolov,

4
@ 4evergr8ful Certo, ho pensato che tu abbia parafrasato la citazione. Va bene. Tuttavia, li hai citati erroneamente cambiando "sei" in "ogni". Poiché G&J definisce parsimonioso (ovvero il numero di soluzioni è esattamente lo stesso), NON è vero che ogni riduzione tra i problemi in NP può essere resa parsimoniosa SENZA P = Parità-P. La ragione di ciò è che la riduzione standard da SAT a NAE-SAT introduce un fattore che è una potenza di 2. Ciò è previsto, poiché SAT è completo per Parity-P ma NAE-SAT è semplice (esiste un'ovvia associazione di assegnazioni quindi la risposta è sempre pari = 0).
Tyson Williams,

Risposte:


1

Per quanto riguarda (1), il problema non è fortemente NP-difficile, cfr Corollary 1 qui :

Papadimitriou, CH (1981). Sulla complessità della programmazione di numeri interi. Journal of the ACM , 28 (4), 765-768.

Per quanto riguarda (2), il problema risiede ovviamente in #P se tutte le costanti sono positive. Esiste anche una versione completa di # P di SubsetSum, che si adatta quasi all'istanza del problema ma richiede tuttavia che sia 0 o 1, vedere qui :xi

Faliszewski, P. e Hemaspaandra, L. (2009). La complessità del confronto tra indici di potenza. Theoretical Computer Science 410 (1), 101-107.

xi{0,1}


0

Non sono affatto un esperto in questo, ma vorrei iniziare una discussione costruttiva. Ecco un tentativo, basato sulla domanda math.stackexchange.com Conta il numero di soluzioni positive per un'equazione diofantea lineare . Il materiale è legato ai polinomi di Erhart, di cui non so nulla, e penso anche ai commenti di @ SashoNikolov sopra.

N(a1,a2,,an;b)

anxn+an1xn1++a1x1=b,
aib
N(a1;b)={1if a1b0otherwise
N(a1,,an+1;b)=0 k b/an+1N(a1,,an;ban+1k)
K'S. Sappiamo che sarà un polinomio inB, ma non vedo come calcolare il polinomio abbastanza velocemente.

1
Caro Andrej, in caso di forte durezza NP, misuriamo in termini di valore dell'input e non in lunghezza. Vedi anche: en.wikipedia.org/wiki/Knapsack_problem#Dynamic_programming
domotorp

2
@domotorp, penso che Andrej stia affrontando la seconda domanda, sulla completezza # P, non la prima sulla completezza NP forte, alla quale, per quanto posso vedere, è molto facile rispondere (no, il problema non è fortemente NP -completare). Andrej, sono confuso da ciò che speri di mostrare qui? Poiché il problema decisionale è NP-completo, non si può sperare di contare il numero di soluzioni. Stai sperando di approssimare il numero di soluzioni? O hai un algoritmo di tempo più veloce che esponenziale?
Sasho Nikolov,

1
A proposito, penso che sia probabile che l'algoritmo in questo documento (contando approssimativamente il numero di soluzioni per zaino tramite programmazione dinamica) possa essere adattato al problema dell'equazione diottantina
Nikolov

3
Ho imparato un altro fatto su questo problema. Esistono tre tipi di persone: quelli che lo chiamano il problema diotropico #lineare, quelli che lo chiamano il problema dello zaino #unbound, e infine quelli che lo chiamano il problema denumerante. E non sembrano parlarsi.
4evergr8ful
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.