Quais algoritmos existem para resolver sistemas lineares numéricos naturais?

9

Estou olhando para o seguinte problema:

Dados vetores dimensionais dos números naturais e algum vetor de entrada , é uma combinação linear dos com coeficientes numéricos naturais?n u u v iv1,,vmuuvi

ou seja, existem alguns que ? u = t 1 v 1 + + t m v mt1,,tmNu=t1v1++tmvm

Obviamente, a versão em número real desse problema pode ser resolvida usando a eliminação gaussiana. Gostaria de saber, a versão inteira deste problema foi estudada? Quais algoritmos existem para resolvê-lo?

Observe que isso está usando números naturais, mas não aritmética modular; portanto, isso é um pouco separado do Teorema Chinês do Restante e de sistemas como esse. Além disso, parece relacionado a equações diofantinas, mas estou me perguntando o que foi feito no caso em que apenas números inteiros não negativos são considerados? Isso também lembra um problema multidimensional de soma de subconjuntos, generalizado para nos permitir obter um número arbitrário de cópias de cada vetor. Também parece relacionado a testar se é um elemento da rede gerada por , exceto que aqui permitimos apenas combinações lineares com coeficientes não negativos.uv1,,vm

Para qualquer pessoa interessada, isso é motivado examinando se um vetor Parikh está em um conjunto linear, como no Teorema de Parikh .

Em particular, estou interessado em um algoritmo que poderia resolver o problema usando apenas operações com números naturais, evitando entrar nos números reais / de ponto flutuante.

jmite
fonte
2
Sim, a versão inteira (e várias versões da teoria dos anéis) foram estudadas. A versão inteira pode ser resolvida por eliminação gaussiana. A versão numérica natural é uma fera diferente. Meu sentimento é que deve ser NP-completo.
Thomas Klimpel
Como pode ser NP-completo se for resolvido pela eliminação gaussiana? Ainda estou interessado em algoritmos, mesmo que seja um problema intratável.
Jmite 29/05
Observe também que no problema que estou analisando, o sistema pode estar sub-determinado, ou seja, . Não tenho certeza de como isso muda. m<n
jmite

Respostas:

9

Seu problema é NP-completo, por redução do Subset Sum (está em NP, pois o fato de tudo não ser negativo limita suficientemente bem os coeficientes da solução). Dada uma instância da soma do subconjunto (existe um subconjunto de soma a ?), Construímos uma instância do seu problema da seguinte maneira. Para cada , colocamos como o vetor com duas entradas diferentes de zero: e e para ser o vetor com uma entrada diferente de zero . O vetor de destino éS T v 1 , , v 2 n , u 1 i n v i v i , i = 1 v i , n + 1 = s i v n + i v n + i , i = 1 u =S={s1,,sn},TSTv1,,v2n,u1invivi,i=1vi,n+1=sivn+ivn+i,i=1v 1 , , v 2 n 1 , , 1 , v i , v n + i Su=1,,1,T. Cada combinação natural de igual a deve selecionar exatamente um de cada um de e, assim, codifica um subconjunto de cuja soma é o valor do último componente.v1,,v2n1,,1,vi,vn+iS

Yuval Filmus
fonte
Interessante. Você apresentou essa prova ou tem uma referência que eu poderia citar? De qualquer forma, obrigado!
jmite
11
@ jmite Acabei de apresentar a prova, embora não possa descartar ter visto.
Yuval Filmus