Hãy xem xét vấn đề MAX-LIN(R) để tối đa hóa số phương trình tuyến tính thỏa mãn trên một số vòng R , thường là NP-hard, ví dụ trong trường hợp R = Z
Lấy một ví dụ của vấn đề này, A x = b trong đó Một là ma trận n×m . Đặt k=m+1 . Xây dựng một hệ tuyến tính mới A~x~=b~ , trong đó A~ là ma trận kn×(kn+m) , x~ bây giờ là một vectơ chiều (kn+m) và b~là một vectơ kn chiều:
A~=⎡⎣⎢⎢⎢⎢⎢⎢⎢AInIn−InIn−In⋱⋱In−In⎤⎦⎥⎥⎥⎥⎥⎥⎥,b~=⎡⎣⎢⎢⎢⎢b0⋮0⎤⎦⎥⎥⎥⎥
nơi
Inlà
n×nma trận sắc.
Lưu ý rằng hệ thống này luôn được hài lòng bởi các vector . Trong thực tế, các mục nhập m đầu tiên của ˜ x có thể tùy ý và có một số vectơ giải pháp với tiền tố đó.x~=(0bb⋯b)Tmx~
Bây giờ tôi tuyên bố rằng phần của phương trình của A x = b là iff satisfiable tồn tại một giải pháp thưa thớt của ~ Một ~ x = ~ b trong đó có ít nhất δ n k số không. Điều này là do mọi hàng thỏa mãn của A x = b mang lại k số 0 tiềm năng khi x được mở rộng thành ˜ xδAx=bA~x~=b~δnkAx=bkxx~
Vì vậy, nếu chúng ta tìm ra thưa thớt của giải pháp sparsest để , chúng tôi cũng đã tối đa hóa δ , bằng cách chia thưa thớt bởi k .A~x~=b~δk
Do đó, tôi tin rằng vấn đề của bạn là NP-hard.