ngôn ngữ NP Complete được đóng dưới bất kỳ hoạt động thường xuyên nào?


8

Tôi đã thử tìm kiếm trực tuyến, nhưng tôi không thể tìm thấy bất kỳ tuyên bố dứt khoát nào. Nó có ý nghĩa với tôi rằng Liên minh và Giao lộ của hai ngôn ngữ NPC sẽ tạo ra một ngôn ngữ không nhất thiết phải có trong NPC. Có phải cũng đúng là các ngôn ngữ NPC không bị đóng dưới các phép toán bổ sung, ghép và sao kleene?


1
chỉ cần một lưu ý: hoạt động thường xuyên là liên minh, ghép và ngôi sao Kleene và không giao nhau và bổ sung
A.Schulz

Tại sao không giao nhau và bổ sung? Tôi chưa thấy định nghĩa chính thức nào về hoạt động thường xuyên ở bất cứ đâu.
Tushar

@Tushar Thật vậy: union, concatenation và Kleene star là các hoạt động thường xuyên, trong khi union, ngã tư và bổ sung là các hoạt động Boolean. Xem wikipedia .
Hendrik

@Tushar: Bởi vì các hoạt động này được sử dụng để xây dựng các biểu thức thông thường .
A.Schulz

Câu trả lời:


15

Đối với tất cả các ví dụ trong câu trả lời này, tôi lấy bảng chữ cái là . Lưu ý rằng các ngôn ngữ { 0 , 1 } * chắc chắn không phải NP -complete.{0,1}{0,1}

  • Lớp ngôn ngữ NP -complete không bị đóng dưới giao lộ. Đối với bất kỳ NP ngôn ngữ -complete  , chúng ta hãy L 0 = { 0 w | w L }L 1 = { 1 w | w L } . L 0 và  L 1 đều NP -complete nhưng L 0L 1 = .LL0={0wwL}L1={1wwL}L0L1L0L1=

  • Lớp ngôn ngữ NP -complete không bị đóng dưới liên minh. Với NP ngôn ngữ -complete và  L 1 từ phần trước, chúng ta hãy L ' 0 = L 0{ 1 w | w { 0 , 1 } * } { ε }L ' 1 = L 1{ 0 w w { 0 ,L0L1L0=L0{1ww{0,1}}{ε} . L ' 0 và  L ' 1 đềuNP-complete nhưng L ' 0L ' 1 = { 0 , 1 } *L1=L1{0ww{0,1}}{ε}L0L1L0L1={0,1}.

  • Lớp ngôn ngữ NP -complete không bị đóng dưới sự kết hợp. Hãy xem xét các NP ngôn ngữ -complete và  L ' 1 từ phần trước. Kể từ khi cả hai ngôn ngữ chứa  ε , chúng tôi có L ' 0 L ' 1L ' 0L ' 1 = { 0 , 1 } *L0L1εL0L1L0L1={0,1}.

  • Lớp ngôn ngữ NP -complete không bị đóng dưới ngôi sao Kleene. Đối với bất kỳ NP ngôn ngữ -complete  , L { 0 , 1 }NP -complete nhưng ( L { 0 , 1 } ) * = { 0 , 1 } *LL{0,1}(L{0,1})={0,1}.

  • Nếu lớp các vấn đề NP -complete được đóng dưới sự bổ sung, thì NP  =  coNP . Điều này có đúng hay không là một trong những vấn đề mở lớn trong lý thuyết phức tạp.


Không bao gồm phần bổ sung, các ngôn ngữ hoàn chỉnh NP không đóng trong tất cả các ngôn ngữ đó phải không? Hay là cho P?
Điều chỉnh

@Adjit Um. Tôi đã chứng minh rằng NP bị đóng cửa dưới bất kỳ ai trong số họ.
David Richerby

Đối với ngôn ngữ cụ thể của bạn. Nhưng tôi đoán tôi không thấy làm thế nào {0, 1}*không hoàn thành NP. Ví dụ: nếu bạn sử dụng giao điểm của 2 ngôn ngữ hoàn chỉnh NP, bạn không nên có ngôn ngữ hoàn chỉnh NP, do đó làm cho NP bị đóng dưới giao lộ?
Điều chỉnh

{0, 1} * và ngôn ngữ trống là thường xuyên, do đó có thể quyết định trong thời gian đa thức và không phải NP-Complete. @DavidR Richby đã chỉ ra rằng tồn tại hai ngôn ngữ NP-Complete, giao điểm không phải là NP-Complete. Điều đó là đủ để chứng minh NPC không bị đóng dưới giao lộ.
kỳ lạ

@weirdev Không! Σ * không NP -complete vì không có ngôn ngữ khác giảm đối với họ. Không đủ để nói rằng họ ở trong P - chúng tôi không biết rằng các ngôn ngữ trong P không thể là NP -complete. Σ
David Richerby

-2

Hãy xem các bằng chứng cho sự kết hợp, giao nhau, nối và ngôi sao kleene của các ngôn ngữ NP, ở đây . Có vẻ như một đối số tương tự có thể được tạo ra cho các ngôn ngữ NP-Complete.

Để ký hiệu hãy để

  • nhà tiên tri quyết định một vấn đề NP-Complete đã biết như 3-SAT. Xem định nghĩa củagiảm TuringA
  • L 2 là các ngôn ngữ NP-CompleteL1L2
  • M 2 được máy mà quyết định Turing L 1 L 2 sử dụng Một .M1M2L1L2A
  • L 1L 2L3L1L2
  • là một máy turing quyết định L 3M3L3

Trong trường hợp hợp nhất từ 1 , chúng ta có thể tạo một máy mới quyết định L 3 bằng cách gọi M 1M 2 là các thói quen phụ. Lần lượt, mỗi lần gọi M 1 hoặc M 2 , A cũng được gọi. Vì vậy, M 3 quyết định L 3 sử dụng Một . Theo đối số từ 1 , thời gian chạy của M 3 là trong P và vì nó sử dụng A làm chương trình con, L 3 là NP-Complete. Nói cách khác,M3L3M1M2M1M2AM3L3AM3AL3 là NP-Complete vì cùng lý do L 1 L 2 là NP-Complete.L3L1L2

Lập luận tương tự có thể được thực hiện giao nhau và có vẻ như các đối số tương tự có thể được thực hiện để ghép và ngôi sao kleene.

Trong trường hợp khen, có vẻ khó chứng minh vì những lý do tương tự rất khó để chứng minh lời khen trong NP.


Tính đầy đủ của NP được định nghĩa theo các mức giảm nhiều hơn một, không phải là giảm orory. Hơn nữa, các ngôn ngữ hoàn chỉnh NP chắc chắn không bị đóng dưới liên minh hoặc giao lộ. Nếu chúng được đóng dưới phần bổ sung, thì NP = coNP, đây là một câu hỏi mở lớn.
David Richerby

Trong bài báo năm 1971 của Stephen Cook [1], định nghĩa NP-Hoàn thiện, ông sử dụng máy Truy vấn có cùng khái niệm với Oracle. Bạn cũng nên kiểm tra các liên kết ở trên về khả năng giảm thiểu. [1] chell.co.uk/media/product/_master/1/files/ Kẻ
joebloggs

@joebloggs: Tôi có thể thấy từ lập luận của bạn rằng sự kết hợp và giao điểm của hai ngôn ngữ NP-Complete là NP. Tuy nhiên, nó vẫn không chứng minh được liệu nó có hoàn thành NP hay không. Bạn phải giảm liên kết hoặc giao điểm của hai vấn đề quyết định hoàn thành NP thành vấn đề quyết định hoàn thành NP để chỉ ra điều đó.
Tushar

@DavidR Richby: Bạn nói rằng các ngôn ngữ hoàn chỉnh NP chắc chắn không bị đóng dưới liên minh hoặc giao lộ. Tôi quan tâm đến việc xem xét bằng chứng cho điều đó. Bạn có bất kỳ tài liệu tham khảo cho bằng chứng đó?
Tushar

2
@joebloggs: Đối số của bạn hoạt động với ngôn ngữ NP, nhưng KHÔNG dành cho ngôn ngữ hoàn chỉnh NP. Để chứng minh rằng một ngôn ngữ L là Np-perfect, bạn cần cung cấp một phép khử đa thức từ L sang một ngôn ngữ NP-Complete đã biết. Đối với câu trả lời của David, P bị đóng dưới giao lộ, vì cả ngôn ngữ trống và ngôn ngữ phổ quát đều ở P (do đó, chúng cũng nằm trong NP), nhưng chúng không phải là NP hoàn chỉnh. Hy vọng rằng làm cho nó rõ ràng!
Tushar
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.