Chỉnh sửa: Vui lòng xem câu trả lời của người dùng 20655 bên dưới để tham khảo một bài báo đã chứng minh độ cứng của vấn đề này. Tôi sẽ để lại bài viết gốc của mình, trong trường hợp bất cứ ai muốn xem bằng chứng thay thế này.
===============
Hãy xem xét một ví dụ của MIN-SAT, mà là một vấn đề NP-cứng , bao gồm các biến và mệnh đề C = { c 1 , c 2 , c 3 , ⋯ } . Chúng tôi sẽ giảm điều này cho vấn đề con đường của bạn.X={x1,x2,⋯xn}C={c1,c2,c3,⋯}
Chúng ta sẽ có hai đỉnh cho mỗi (một cho dạng bị phủ định và một cho dạng không phân nhánh) và một đỉnh cho mỗi c i . Hơn nữa, cho m = 2 n + | C | , chúng ta sẽ có m đỉnh p 1 , p 2 , ⋯ , p m để đệm.xicim=2n+|C|mp1,p2,⋯,pm
Nói một cách đơn giản, chúng ta sẽ xây dựng một biểu đồ trong đó giải pháp tối ưu sẽ là xây dựng một đường dẫn từ đến t bằng cách sử dụng x i s và ¯ x i s làm các nút trung gian. Chi phí của đường dẫn này sẽ chính xác bằng c j s mà đường dẫn chúng ta đã chọn sẽ thỏa mãn nếu chúng ta biến nó thành một nhiệm vụ. Các p i chỉ ở đó để ngăn chặn giải pháp tối ưu có thể gian lận bằng cách cắt ngắn thông qua bất kỳ c j s nào.stxixi¯cjpicj
Kết nối với bất kỳ mệnh đề c j trong đó x i xuất hiện và ¯ x i với bất kỳ mệnh đề c j nào trong đó ¯ x i xuất hiện. Để buộc gán một biến, chúng ta tạo một cấu trúc giống như bậc thang kim cương, trong đó x i và ¯ x i đều được kết nối với mỗi x i + 1 và ¯ x i + 1 . s được kết nối với cả hai x 1 và ¯xicjxixi¯¯¯¯¯cjxi¯¯¯¯¯xixi¯¯¯¯¯xi+1xi+1¯¯¯¯¯¯¯¯¯sx1 vàtđược kết nối với cảxnvà ¯ x n . Cuối cùng, mỗiciđược kết nối với tất cả các biến đệmpj. Tôi không có phần mềm chuyển sang vẽ đồ thị tiện dụng, vì vậy đây là một sơ đồ (cực kỳ) được vẽ thô sơ của công trình này:x1¯¯¯¯¯txnxn¯¯¯¯¯cipj
(Lưu ý rằng đám mây ở đây chỉ là một tập hợp các đỉnh lớn và mỗi cạnh dày từ c j đến đám mây này đại diện cho c j được kết nối với mỗi đỉnh trong tập hợp này.){Pi}cjcj
Yêu cầu là trong giải pháp tối ưu cho bài toán đường chạm tối thiểu, số đỉnh sẽ chạm vào đường dẫn là , trong đó Q là giải pháp tối ưu cho trường hợp MIN-SAT. Đây là vìQ+2n+2Q
- Nhu cầu đường dẫn đến bắt đầu từ và kết thúc tại t , và cách tốt nhất để làm điều này mà không thu thập tất cả các đỉnh đệm là để tiếp tục đi từ y i ∈ { x i , ¯ x i } để y i + 1 ∈ { x i + 1 , ¯ x i + 1 } mà không bao giờ thu thập cả hai x i và ¯ x i cho bất kỳ i ∈ 1 , ⋯ , nstyi∈{xi,xi¯¯¯¯¯}yi+1∈{xi+1,xi+1¯¯¯¯¯¯¯¯¯}xixi¯¯¯¯¯i∈1,⋯,n(điều này là trực quan, vì xóa một trong hai tùy chọn khỏi bất kỳ biến nào được chọn hai lần sẽ mang lại một đường dẫn hợp lệ với chi phí không lớn hơn chúng tôi đã giữ cả hai).
- Có một giải pháp chi phí tối đa là mà đi s , x 1 , x 2 , ⋯ , x n , t , thu thập không có gì ngoài s , t , { x i } , { ¯ x i } , và { c i } . Kể từ khi bất kỳ s - t con đường mà được bất kỳ đệm phải chứa ít nhất s , t , một số cm+2s,x1,x2,⋯,xn,tst{xi}{xi¯¯¯¯¯}{ci} s−tst , một số x i và x j , và tất cả { p } , nó có chi phí ≥ m + 5 , vì vậy nó là tối ưu. Do đó, giải pháp tối ưu không chạm vào bất kỳ đỉnh đệm nào, vì vậy đường dẫn phải được tiến hành như được nêu trong phần (1).cixixj{p}≥m+5
- Gọi các phép gán biến tương ứng với các đỉnh mà đường dẫn đi qua (trừ và t ) phép gán cảm ứng của đường dẫn. Một đỉnh c j được chạm vào nếu việc gán cảm ứng của đường dẫn sẽ thỏa mãn mệnh đề c j . Ngược lại, việc gán các biến thỏa mãn mệnh đề Q có thể được chuyển thành đường dẫn chạm chính xác Q của c j s bằng cách nhìn vào đường dẫn tạo ra phép gán.stcjcjQQcj
- xixi¯¯¯¯¯st2n+2ciQ
≤k≤k+2n+2