Độ phức tạp của các phép so khớp trong đồ thị lưỡng cực


8

Tôi có thể đang thiếu một cái gì đó rõ ràng nhưng tôi không thể tìm thấy tài liệu tham khảo về sự phức tạp của việc đếm các kết quả khớp (không phải là khớp hoàn hảo) trong các biểu đồ lưỡng cực. Đây là vấn đề chính thức:

  • Đầu vào: một đồ thị lưỡng cực vớiE U × VG=(U,V,E)EBạn×V
  • Output: số matchings của G , nơi một matchings là một tập hợp con FE như vậy mà không có vBạnV xảy ra ở hai cạnh của F .

Sự phức tạp của vấn đề này là gì? Có khó # P không?

Người ta đã biết rằng việc đếm các kết hợp hoàn hảo trên các biểu đồ lưỡng cực là # P-hard và được biết rằng việc đếm các kết hợp của các biểu đồ tùy ý (hoặc thậm chí là các biểu đồ 3 mặt phẳng) là # P-hard bởi bài báo này , nhưng tôi đã không t tìm thấy bất cứ điều gì về việc đếm các kết quả không hoàn hảo trên các biểu đồ lưỡng cực.


Dường như có một vấn đề trong thuật toán này, có những trường hợp trong đó không phải tất cả các nút từ bên trái hoặc bên phải được đưa vào giải pháp 2sat, do đó thuật toán đếm chính xác không hoạt động. Có ai biết một thuật toán cho các giải pháp khớp lưỡng cực tối đa duy nhất được dẫn xuất bằng cách sử dụng giảm xuống 2sat không?
dùng3700810

Câu trả lời:


13

Vấn đề đếm các kết quả "không hoàn hảo" như vậy trong các biểu đồ lưỡng cực là # P-Complete.
Điều này đã được chứng minh bởi chính Les Valiant, trên trang 415 của bài báo

Leslie G. Valiant
Sự phức tạp của vấn đề liệt kê và độ tin cậy
SIAM J. Comput., 8 (3), 410 phản421


Có vẻ tốt, cảm ơn! Tôi không biết tại sao sự thật đơn giản này không được nêu rõ trên trang Wikipedia (hoặc ở nơi khác trên Web). Tôi đã cải thiện Wikipedia cho phù hợp: vi.wikipedia.org/w/ đá Cảm ơn một lần nữa!
a3nm

0

Một tuần trong lớp lý thuyết phức tạp của tôi ở trường đại học, vấn đề bài tập về nhà duy nhất của chúng tôi là chứng minh rằng # 2-SAT đã hoàn thành # P, bằng cách giảm từ #BIPARTITE MATFING. Không ai có thể giải quyết nó, ngay cả khi cuối cùng tất cả chúng ta đã cùng nhau làm việc với nó.

Lớp tiếp theo, giáo sư ngạc nhiên về việc chúng tôi đã tìm thấy nó khó khăn như thế nào và đưa ra bằng chứng của mình. Đó là sai. May mắn thay, một cookie thông minh đã có thể đưa ra mức giảm chính xác, điều này hoàn toàn điên rồ và phức tạp ghê tởm. Nhân tiện, giáo sư có giải thưởng Turing :)

Dù sao, trong khi tôi và các bạn cùng lớp không thể giải quyết vấn đề đó, chúng tôi đã có thể giải quyết vấn đề dễ dàng hơn để giảm từ #BIPARTITE MATCHING xuống # 2-SAT, vì vậy đây là bằng chứng tôi đã đưa ra vài năm trước.

Định lý. #BIPARTITE MATCHING # 2-SAT.p

Bằng chứng . Đặt là một thể hiện của #BIPARTITE MATCHING. Đặt các phân vùng là (vì vậy và ) .A = { a ii [ n ] } ,G= =(V,E)| Một | = n | B | = m

Một= ={mộtTôi|Tôi[n]},B= ={bTôi|Tôi[m]}
|Một|= =n|B|= =m

Bây giờ chúng ta giảm để một công thức 2SAT , sao cho mỗi bài tập đáp ứng của là một kết hợp của , và ngược lại. Để bắt đầu, với mỗi cạnh tạo một biến . Ý tưởng là cài đặt biến thành TRUE tương ứng với cạnh nằm trong khớp. Với mỗi đỉnh , hãy tạo các biểu thức 2SAT Để được thỏa mãn, tất cả, nhưng nhiều nhất một trong số phải là sai. Để thấy điều này, giả sử cả haiGφφGmộtTôibjExTôijxTôijmộtTôibjTôiMột i x i j x i j x i k ( ¬ x i j¬ x i k ) Một i B i C = n i = 1 A im i = 1 B

MộtTôi= =j<k(¬xTôij¬xTôik),BTôi: =j<k(¬xjTôi¬xkTôi)
MộtTôixTôijxTôijvà là đúng. Khi đó là sai và cũng vậy . Điều tương tự giữ cho . Để chúng ta có hài lòng khi và chỉ khi mỗi đỉnh trong là sự cố xảy ra với nhiều nhất một cạnh chúng ta chọn, và do đó các cạnh tạo thành một khớp.xTôik(¬xTôij¬xTôik)MộtTôiBTôi C G
C= =Tôi= =1nMộtTôiTôi= =1mBTôi
CG

Tôi nghĩ rằng tôi phải thiếu một cái gì đó ở đây. Điều này dường như cho thấy rằng một phiên bản tùy ý của #BIPARTITE_MATCHING có thể được mã hóa dưới dạng phiên bản của # 2-SAT. Nhưng, tôi đã dự đoán rằng bạn sẽ cố gắng chỉ ra rằng một phiên bản # 2-SAT tùy ý có thể được mã hóa dưới dạng một thể hiện của #BIPARTITE_MATCHING, phải không?
mhum

Rất tiếc, bạn đã đúng. Điều này đã được gỡ bỏ một vấn đề bài tập về nhà cũ và tôi thực sự không có câu hỏi được viết ra, chỉ có câu trả lời của tôi. Vấn đề phải là chỉ ra rằng # 2-SAT là # P-Complete, biết rằng # BIPARTITE-PERFECT-MATCHING là # P-Complete. Tôi sẽ chỉnh sửa nó.
vườn

1
@gardenhead: Cảm ơn câu trả lời của bạn! Điều này thật thú vị nhưng tôi không nghĩ rằng điều này rất liên quan đến câu hỏi của tôi, phải không? Điều này chỉ cho thấy # BIPARTITE-MATCHING nằm trong #P, điều này không gây nhiều bất ngờ.
a3nm

Việc giảm câu trả lời này dường như là chính xác, mặc dù nó dường như không liên quan đến câu hỏi. Tuy nhiên, tôi không hiểu nhận xét của @ a3nm, tôi cũng không theo dõi câu chuyện trong lời nói đầu của câu trả lời (điều này làm vẩn đục ba cách giảm khác nhau).
András Salamon

Tôi đã tìm ra cách giảm # MONO-2SAT thành #BIPARTITE MATFING, nhưng bằng chứng không đơn giản: P.
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.