Quali algoritmi esistono per risolvere i sistemi lineari numerici naturali?


9

Sto osservando il seguente problema:

Dato n vettori -dimensionale di numeri naturali v1,,vm ed alcuni input vettore u , è u una combinazione lineare di vi 's con coefficienti numerici naturali?

cioè ci sono alcuni dove u = t 1 v 1 + + t m v m ?t1,,tmNu=t1v1++tmvm

Ovviamente la versione in numero reale di questo problema può essere risolta usando l'eliminazione gaussiana. Mi chiedo, è stata studiata la versione intera di questo problema? Quali algoritmi esistono per risolverlo?

Si noti che questo utilizza numeri naturali, ma non l'aritmetica modulare, quindi questo è in qualche modo separato dal teorema del resto cinese e da sistemi del genere. Inoltre, sembra correlato alle equazioni di Dihanthant, ma mi chiedo cosa sia stato fatto nel caso in cui vengano considerati solo numeri interi non negativi? Ciò ricorda anche un problema di somma parziale di sottoinsiemi, generalizzato per permetterci di prendere un numero arbitrario di copie di ciascun vettore. Sembra anche correlato al test se è un elemento del reticolo generato da v 1 , ... , v m , tranne che qui permettiamo solo combinazioni lineari con coefficienti non negativi.uv1,,vm

Per chiunque sia interessato, questo è motivato dal vedere se un vettore Parikh è in un insieme lineare, come nel Teorema di Parikh .

In particolare, sono interessato a un algoritmo che potrebbe risolvere il problema utilizzando solo operazioni con numeri naturali, evitando di entrare nei numeri reali / in virgola mobile.


2
Sì, sono state studiate la versione intera (e varie versioni teoriche dell'anello). La versione intera può essere risolta mediante eliminazione gaussiana. La versione numerica naturale è una bestia diversa. La mia sensazione è che dovrebbe essere NP-completo.
Thomas Klimpel,

Come può essere NP-completo se risolto dall'eliminazione gaussiana? Sono ancora interessato agli algoritmi per questo, anche se è un problema intrattabile.
jmite,

Si noti inoltre che nel problema che sto esaminando, il sistema potrebbe essere sotto-determinato, ovvero . Non sono sicuro di come questo lo cambi. m<n
jmite,

Risposte:


9

S={s1,,sn},TSTv1,,v2n,u1invivi,i=1vi,n+1=sivn+ivn+i,i=1u=1,,1,Tv1,,v2n1,,1,vi,vn+iS


Interessante. Ti è venuta questa prova o ne hai un riferimento che potrei citare? Ad ogni modo, grazie!
jmite,

1
@jmite Ho appena trovato la prova, anche se non posso escludere di averla vista.
Yuval Filmus,
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.