Phiên bản tối ưu hóa các vấn đề quyết định


26

Được biết, mỗi vấn đề tối ưu hóa / tìm kiếm có một vấn đề quyết định tương đương. Ví dụ: bài toán đường đi ngắn nhất

  • tối ưu hóa / phiên bản tìm kiếm: Cho một đồ thị không trọng số vô hướng và hai đỉnh , tìm đường đi ngắn nhất giữa vu .G=(V,E)v,uVvu
  • phiên bản quyết định: Cho một đồ thị không trọng số vô hướng G=(V,E) , hai đỉnh v,uV và một số nguyên không âm k , có một đường dẫn trong G giữa uv có độ dài nhiều nhất là k không?

Nói chung, "Tìm xX st f(x)=min{f(x)xX} !" trở thành "Có xX st f(x)k ?".

Nhưng điều ngược lại cũng đúng, tức là có một vấn đề tối ưu hóa tương đương cho mọi vấn đề quyết định? Nếu không, ví dụ về một vấn đề quyết định không có vấn đề tối ưu hóa tương đương là gì?


6
Là bit này bằng không?
JeffE

5
Bạn phải giải thích "tương đương" chi tiết hơn, ví dụ: bạn có nghĩa là người ta có thể giải quyết bằng cách sử dụng cái kia như một oracle / hộp đen trong thời gian đa thức (hoặc trong không gian logarit)? Bạn có quan tâm đến tất cả các vấn đề hoặc chỉ các vấn đề bên trong NP ?
Kaveh

1
Tùy thuộc vào quan điểm của bạn, câu hỏi là tầm thường (đưa ra bất kỳ vấn đề quyết định nào không có " ") hoặc không trả lời được (làm thế nào để chứng minh rằng "không có vấn đề về lựa chọn tương đương"?). k
Raphael

Câu trả lời:


28

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 .xXF(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)xXyF(x)Z(x,y)y
  • phút maxhướ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 ' )xXPOyF(x)O p t ( x )Z(x,y)={Z(x,y)yF(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 ) xxXOpt(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)xXkQxyZ(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.PONPOPDNP

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 1f ( x ) L 2 L 1 L 2 L 1 m L 2L1L2fxxL1f(x)L2L1L2L1mL2

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 2P1P2P1TP2P1P2

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 TmP1TP2P1P2P2P1T

Đặt , sau đó .P D T P E T P OPONPOPDTPETPO

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 2P1P2P1TP2P 1 T P 2P2P1P1TP2

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 ON 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 | PDTPEPONPOZPETPD{Z(x,y)yF(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 OPEPDTPETPO

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 mmTm

Đặ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 PPPPmPPTP

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 ' ON P O P O T P ' E P O T P ' ET P ' DT P D T P E .PONPOZPD

PDTPETPO.
POTPEPONPOPOTPE
POTPETPDTPDTPE.
T P D P ON PTTPD P m P ' OP T P ' OPONPOPDNP và .PmPOPTPO

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σσ1qxXvà tất cả chúng ta có .yF(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 'POPOZxXyF(x)Z(x,y)=2q(|x|)Z(x,y)+σ(y)ZPONPO

Để 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ý. xPOTPExP ' EPOPE

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 2F ( 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 ' OZZy1,y2F(x)Z(x,y1)<Z(x,y2)Z(x,y1)<Z(x,y2)xPOxPOyxPO

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 ) yPEZ(x,y)=2q(|x|)Z(x,y)+σ(y)2q(|x|)σ(y)y


"Một lời tiên tri cho một vấn đề P 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 P trong thời gian không đổi." Phải có một nhà tiên tri chỉ mất thời gian liên tục?
Tim

@Tim Tất nhiên là có sách, tôi đã liệt kê một vài trong các bình luận của một câu trả lời
uli

@ Tim Về oracle: Nếu bạn đã tìm thấy / thụ thai giảm giữa hai vấn đề và bạn đã giảm được vấn đề của việc tìm kiếm một thuật toán hiệu quả cho để tìm kiếm một thuật toán hiệu quả cho . Hoặc nói cách khác là giảm cho bạn biết rằng để giải quyết bạn có thể sử dụng . Nó giống như sử dụng một chương trình con cho trong một thuật toán cho . Tuy nhiên, vấn đề vàA B A B A B B A A BATBABABABBAABthường là những vấn đề mà chúng ta không biết giải pháp hiệu quả. Và trong trường hợp Turing-giảm, chúng tôi thậm chí sử dụng nó trong trường hợp các vấn đề liên quan không thể quyết định được.
uli

@Tim Như vậy là một chương trình con chưa biết. Nó đã trở thành một phong tục trong lý thuyết độ phức tạp để gọi các thuật toán giả thuyết cho có nguồn gốc từ việc giảm như một thuật toán với oracle . Gọi chương trình con chưa biết cho một oracle chỉ thể hiện rằng chúng ta không thể hy vọng sẽ tìm thấy một thuật toán hiệu quả cho cũng giống như chúng ta không thể hy vọng sẽ có được một lời sấm cho . Sự lựa chọn này có phần đáng tiếc, vì nó bao hàm một khả năng kỳ diệu. Chi phí cho nhà tiên tri phải lànhư một chương trình con có ít nhất để đọc đầu vào . A B B B B | x | xBABBBB|x|x
uli

3
Một câu trả lời tuyệt vời xung quanh; điều duy nhất tôi muốn thêm (đến bây giờ thông qua một câu hỏi khác) là 'hướng tối ưu hóa' là một chút phức tạp không cần thiết và để cụ thể hóa, chúng ta luôn có thể đoán rằng hàm mục tiêu sẽ được tối đa hóa; nếu ý định là để giảm thiểu, thì chúng ta chỉ cần xác định hàm mục tiêu mới và viết lại tất cả các tối thiểu hóa là tối đa hóa . Z ' = - Z Z Z 'ZZ=ZZZ
Steven Stadnicki

5

Như các ý kiến ​​nói, câu trả lời phụ thuộc vào các định nghĩa chính xác. Hãy để tôi giải thích câu hỏi theo một cách rất cơ bản (thậm chí ngây thơ).

Đặt là một số quan hệ, đó là .S { ( một , b ) | một , b Σ * }SS{(a,b)a,bΣ}

Bây giờ chúng tôi xác định một vấn đề tìm kiếm cho :S

Với , hãy tìm một như vậy .b ( một , b ) Sab(a,b)S

và một vấn đề quyết định cho :S

Với Câu trả lời có hay không .( một , b ) S(a,b)(a,b)S

(ví dụ, trong ví dụ được đưa ra trong câu hỏi, sẽ giữ tất cả các cặp sao cho tồn tại một đường dẫn giữa và ngắn hơn .)( u , v , k ) u v kS(u,v,k)uvk

Lưu ý rằng hai vấn đề này được xác định rõ . Đối với định nghĩa này , chúng ta có thể hỏi liệu hai vấn đề có "tương đương" với bất kỳ nào không . Trong "tương đương" tôi có nghĩa là nếu một trong số chúng có thể tính toán được (nghĩa là tồn tại một thuật toán giải quyết nó) thì thuật toán còn lại cũng có thể tính toán được. Nói chung, họ không.S

Yêu cầu 1 : Quyết định ngụ ý Tìm kiếm .

Chứng minh: Hãy là thuật toán giải quyết vấn đề quyết định của . Đưa ra một đầu vào , Chúng ta có thể chạy cho bất kỳ , lần lượt từng cái hoặc song song. Nếu tồn tại sao cho , cuối cùng chúng ta sẽ tìm thấy nó. Nếu không, thuật toán có thể không dừng . S một D S ( một , x ) x Σ * b ( một , bDSSaDS(a,x)xΣb(a,b)S

Điểm 2 : Tìm kiếm không không có nghĩa Quyết định .

Lý do là thuật toán tìm kiếm có thể trả về một khác với thuật toán chúng ta cần. Đó là, với mỗi có một số rất dễ tìm, nhưng khác thì không. Chẳng hạn, hãy để là một số ngôn ngữ không thể giải quyết được, sau đó xác định Với mỗi thuật toán tìm kiếm có thể trả về . Nhưng không có thuật toán quyết định nào có thể trả lời chính xác liệu , cho tất cả các cặp . Nếu có thể, nó đã quyết định một vấn đề không thể giải quyết được, điều này là không thể.một b b ' L S = { ( x , 0 ) | x Σ * } { ( x , 1 ) | x L } . x 0 ( x , 1 ) S ( x , 1 )babbL

S={(x,0)xΣ}{(x,1)xL}.
x0(x,1)S(x,1)


S S này phụ thuộc vào . Ví dụ, nếu bị chặn, có thể tồn tại một thuật toán dừng lại.SS


2
Vấn đề quyết định đúng đắn là sự tồn tại của st . một , b Sba,bS
Kaveh

Nếu quyết định được định nghĩa là sự tồn tại của , thì tìm kiếm ngụ ý quyết định. b
Ran G.

1
Trong một ý nghĩa yếu, tính toán iewrt nhưng không phức tạp là một vấn đề tế nhị hơn.
Kaveh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.