Như đã nêu trong các ý kiến, nó phụ thuộc vào các định nghĩa, như thường lệ. Nỗ lực của tôi để trả lời điều này cần khá nhiều định nghĩa, vì vậy đây sẽ là một ví dụ khác về việc tôi không thể đưa ra câu trả lời ngắn gọn.
Định nghĩa: Một vấn đề tối ưu hóa là một tuple với(X,F,Z,⊙)
- X tập hợp các trường hợp hoặc đầu vào được mã hóa phù hợp (chuỗi) .
- x ∈ X F ( x ) xF là một hàm ánh xạ mỗi cá thể thành một tập hợp các giải pháp khả thi của .x∈XF(x)x
- ( x , y ) x ∈ X y ∈ F ( x ) Z ( x , y ) yZ là hàm mục tiêu ánh xạ từng cặp , trong đó và , thành một số thực được gọi là giá trị của .(x,y)x∈Xy∈F(x)Z(x,y)y
- phút max⊙ là hướng tối ưu hóa , hoặc .minmax
Định nghĩa: Một giải pháp tối ưu của một thể hiện của một vấn đề tối ưu hóa là một giải pháp khả thi mà . Giá trị của một giải pháp tối ưu được ký hiệu là và được gọi là tối ưu .P O y ∈ F ( x ) Z ( x , y ) = ⊙ { Z ( x , y ' )x∈XPOy∈F(x)O p t ( x )Z(x,y)=⊙{Z(x,y′)∣y′∈F(x)}Opt(x)
Định nghĩa: Bài toán đánh giá , ký hiệu là , tương ứng với bài toán tối ưu hóa là như sau: Cho một thể hiện , tính nếu có một giải pháp tối ưu và đầu ra không có giải pháp tối ưu nào khác.P OPEPOO p t ( x ) xx∈XOpt(x)x
Lưu ý rằng điều này chỉ yêu cầu giá trị của giải pháp tối ưu chứ không phải toàn bộ giải pháp với tất cả các chi tiết của nó.
Định nghĩa: Các vấn đề quyết định , ký hiệu là tương ứng với bài toán tối ưu được như sau: Cho một cặp , nơi và , quyết định xem có một giải pháp khả thi sao cho if và sao cho if .P O ( x , k ) x ∈ X k ∈ Q x y Z ( x , y ) ≤ k ⊙ = phút Z ( x , y ) ≥ k ⊙ = maxPDPO(x,k)x∈Xk∈QxyZ(x,y)≤k⊙=minZ(x,y)≥k⊙=max
Một quan sát đầu tiên bây giờ là . Bằng chứng không khó và bỏ qua ở đây.PO∈NPO⇒PD∈NP
Bây giờ trực giác và tương ứng với không khó hơn riêng của mình. Để thể hiện cảm giác này một cách chính thức (từ đó xác định nghĩa tương đương là gì ), chúng tôi sẽ sử dụng các mức giảm.P D P O P OPEPDPOPO
Hãy nhớ lại rằng một ngôn ngữ có thể rút ngắn thời gian đa thức sang ngôn ngữ khác nếu có hàm , có thể tính toán được trong thời gian đa thức, sao cho tất cả các từ , . Loại giảm mức này được gọi là Karp hoặc mức giảm nhiều-một , và nếu có thể giảm xuống theo cách này, chúng tôi thể hiện điều này bằng cách viết . Đây là một khái niệm trung tâm trong định nghĩa về tính đầy đủ của NP.L 2 f x x ∈ L 1 ⇔ f ( x ) ∈ L 2 L 1 L 2 L 1 ≤ m L 2L1L2fxx∈L1⇔f(x)∈L2L1L2L1≤mL2
Thật không may, việc giảm nhiều-một đi giữa các ngôn ngữ và không rõ làm thế nào để sử dụng chúng trong bối cảnh các vấn đề tối ưu hóa. Do đó, chúng ta cần xem xét một loại giảm khác nhau, giảm Turing . Đầu tiên chúng ta cần điều này:
Định nghĩa: Một lời tiên tri cho một vấn đề là một chương trình con (giả thuyết) có thể giải quyết các trường hợp của trong thời gian không đổi.PPP
Định nghĩa: Một vấn đề là Turing có thể giảm thời gian đối với một vấn đề , , nếu các trường hợp của có thể được giải quyết trong thời gian đa thức bằng thuật toán có quyền truy cập vào một lời tiên tri cho .P 2 P 1 ≤ T P 2 P 1 P 2P1P2P1≤TP2P1P2
Một cách không chính thức, giống như với , mối quan hệ thể hiện, rằng không khó hơn . Cũng dễ dàng nhận thấy rằng nếu có thể được giải trong thời gian đa thức, thì cũng có thể . Một lần nữa là một mối quan hệ . Thực tế sau đây là rõ ràng:P 1 ≤ T P 2 P 1 P 2 P 2 P 1 ≤ T≤mP1≤TP2P1P2P2P1≤T
Đặt , sau đó .P D ≤ T P E ≤ T P OPO∈NPOPD≤TPE≤TPO
Bởi vì đưa ra giải pháp đầy đủ, tính toán giá trị của nó và quyết định xem nó có đáp ứng ràng buộc hay không là đơn giản.k
Định nghĩa: Nếu hai vấn đề và cả hai quan hệ , giữ, chúng tôi viết ; quan niệm của chúng tôi về sự tương đương .P 2 P 1 ≤ T P 2P1P2P1≤TP2P 1 ≡ T P 2P2≤P1P1≡TP2
Bây giờ chúng tôi đã sẵn sàng để chứng minh rằng đưa ra vấn đề tối ưu hóa tương ứng là và là giá trị nguyên. Chúng tôi phải chứng minh rằng giữ. Chúng tôi có thể xác định với tìm kiếm nhị phân gán tên gốc cho . Các định nghĩa của đảm bảo rằng đối với một số đa thức , vì vậy số lượng các bước trong việc tìm kiếm nhị phân là đa thức trong. P O ∈ N P O Z P E ≤ T P D ⊙ { Z ( x , y ) | y ∈ F ( x ) } P D N P O | Z ( x , y ) | ≤ 2 q ( | x | ) q | x | ◻PD≡TPEPO∈NPOZPE≤TPD⊙{Z(x,y)∣y∈F(x)}PDNPO|Z(x,y)|≤2q(|x|)q|x|□
Đối với một bài toán tối ưu mối quan hệ để là chưa rõ ràng. Trong nhiều trường hợp cụ thể, người ta có thể hiển thị trực tiếp rằng . Để chứng minh rằng điều này nói chung trong khuôn khổ được đưa ra ở đây, chúng ta cần một giả định bổ sung.POP D ≡ T P E ≡ T P OPEPD≡TPE≡TPO
Trước tiên, chúng ta cần mở rộng từ các cặp ngôn ngữ sang các cặp vấn đề quyết định tương ứng. Sau đó, dễ dàng nhận thấy rằng chung chung hơn .≤ T ≤ m≤m≤T≤m
Đặt và là các vấn đề quyết định; sau đó . Điều này đúng bởi vì việc giảm nhiều thành một có thể được hiểu là việc sử dụng một nhà tiên tri theo một cách rất hạn chế: Nhà tiên tri được gọi một lần, vào cuối, và kết quả của nó cũng được trả về như kết quả chung. P ′ PPP′ ◻P≤mP′⇒P≤TP′□
Bây giờ chúng tôi đã sẵn sàng cho đêm chung kết:
Đặt và giả sử là giá trị nguyên và là NP hoàn chỉnh, sau đóVới các quan sát trước đó, nó vẫn hiển thị . Để làm điều này, chúng tôi sẽ đưa ra một vấn đề sao cho . Sau đó, chúng ta cóThứ hai và thứ ba giữ vì sự tương đương của quyết định và phiên bản đánh giá đã được chứng minh trước đó. thứ ba phát từ mức độ hoàn thành NP của và hai sự kiện được đề cập trước đó, cụ thể là Z P D P D ≡ T P E ≡ T P O . P O ≤ T P E P ' O ∈ N P O P O ≤ T P ' E P O ≤ T P ' E ≤ T P ' D ≤ T P D ≤ T P E .PO∈NPOZPD
PD≡TPE≡TPO.
PO≤TPEP′O∈NPOPO≤TP′EPO≤TP′E≤TP′D≤TPD≤TPE.
≤ T P D P O ∈ N P≤T≤TPD P ≤ m P ' O ⇒ P ≤ T P ' OPO∈NPO⇒PD∈NP và .
P≤mP′O⇒P≤TP′O
Bây giờ các chi tiết: Giả sử rằng các giải pháp khả thi của được mã hóa bằng bảng chữ cái được trang bị tổng số đơn hàng. Đặt là các từ trong được liệt kê theo thứ tự độ dài không tăng và thứ tự từ điển trong các khối từ có độ dài chung. (Vì vậy, là từ trống.) Với tất cả hãy để biểu thị số nguyên duy nhất sao cho . Cả và đều có thể được tính trong thời gian đa thức. Đặt là một đa thức sao cho tất cả Σ w 0 , w 1 , ... Σ * w 0 y ∈ Σ * σ ( y ) i y = w i σ σ - 1 q x ∈ X y ∈ F ( x ) σ ( y ) < 2 q ( | x | )POΣw0,w1,…Σ∗w0y∈Σ∗σ(y)iy=wiσσ−1qx∈Xvà tất cả chúng ta có .y∈F(x)σ(y)<2q(|x|)
Bây giờ vấn đề giống hệt với ngoại trừ hàm mục tiêu được sửa đổi . Với và ta lấy . có thể tính toán được trong thời gian đa thức, do đó . P O Z ' x ∈ X y ∈ F ( x ) Z ' ( x , y ) = 2 q ( | x | ) ⋅ Z ( x , y ) + σ ( y ) Z 'P′OPOZ′x∈Xy∈F(x)Z′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)Z′P′O∈NPO
Để chỉ ra rằng chúng tôi quan sát rằng là khả thi đối với khi và chỉ khi nó khả thi đối với . Chúng ta có thể cho rằng đây là trường hợp, vì trường hợp ngược lại là tầm thường để xử lý. xPO≤TP′ExP ' EPOP′E
Nhóm thế của cho là đơn điệu theo nghĩa là với mọi , nếu thì . Điều này ngụ ý rằng mọi giải pháp tối ưu cho trong là một giải pháp tối ưu của trong . Do đó, nhiệm vụ của chúng tôi giảm xuống việc tính toán một giải pháp tối ưu của trong . Z y 1 , y 2 ∈ F ( x ) Z ( x , y 1 ) < Z ( x , y 2 ) Z ′ ( x , y 1 ) < Z ′ ( x , y 2 ) x P ′ O x P O y x P ' OZ′Zy1,y2∈F(x)Z(x,y1)<Z(x,y2)Z′(x,y1)<Z′(x,y2)xP′OxPOyxP′O
Truy vấn nhà tiên tri cho chúng ta có thể nhận được giá trị của . Hình thành phần còn lại của số này modulo mang lại từ đó có thể được tính trong thời gian đa thức. Z ' ( x , y ) = 2 q ( | x | ) ⋅ Z ( x , y ) + σ ( y ) 2 q ( | x | ) σ ( y ) yP′EZ′(x,y)=2q(|x|)⋅Z(x,y)+σ(y)2q(|x|)σ(y)y