Розглянемо задачу MAX-LIN ( R ) щодо максимізації кількості задоволених лінійних рівнянь над деяким кільцем R , яке часто є NP-жорстким, наприклад у випадку R=Z
Візьмемо приклад цієї проблеми, де A - матриця n × m . Нехай k = m + 1 . Побудуйте нову лінійну систему ˜ A ˜ x = ˜ b , де ˜ A - матриця k n × ( k n + m ) , ˜ x тепер - розмірний вектор ( k n + m ) , і ˜ bAx=bAn×mk=m+1A~x~=b~A~kn×(kn+m)x~(kn+m)b~- розмірний вектор:kn
деIn-матриця тотожностіn×n.
A~=⎡⎣⎢⎢⎢⎢⎢⎢⎢AInIn−InIn−In⋱⋱In−In⎤⎦⎥⎥⎥⎥⎥⎥⎥,b~=⎡⎣⎢⎢⎢⎢b0⋮0⎤⎦⎥⎥⎥⎥
Inn×n
Слід зазначити , що ця система завжди виконується вектором . Насправді перші m записи ˜ x можуть бути довільними, і є якийсь вектор рішення з цим префіксом.x~=(0bb⋯b)Tmx~
Тепер я стверджую, що частка рівнянь A x = b є задовольняючою, якщо існує розріджене рішення ˜ A ˜ x = ˜ b, яке має принаймні δ n k нулі. Це тому, що кожен задоволений ряд A x = b дає k потенційних нулів, коли x подовжується до ˜ xδAx=bA~x~=b~δnkAx=bkxx~
Таким чином, якщо ми знайдемо розрідженість найрідкішого розчину до , ми також максимізували δ , діливши розрідженість на k .A~x~=b~δk
Тому я вважаю, що ваша проблема є важкою для NP.