Logical Min-Cut NP-Complete หรือไม่


24

นิยามปัญหา Logical Min Cut (LMC)

สมมติว่าเป็นเดี่ยวชั่ง,และมีสองจุดของและสามารถเข้าถึงได้จากsการศึกษา LMC ปัญหาว่าเราสามารถทำให้ไม่สามารถเข้าถึงได้จากโดยการกำจัดของขอบบางส่วนของต่อไปนี้ข้อ จำกัด ต่อไปนี้:G=(V,E)stVtstsG

  1. จำนวนของขอบที่ถูกลบจะต้องน้อยที่สุด
  2. เราไม่สามารถลบขอบทางออกทุกจุดยอดของใด ๆ(กล่าวคือไม่มีจุดยอดที่มีขอบขาออกสามารถลบขอบขาออกทั้งหมดได้)G

ข้อ จำกัด ที่สองนี้เรียกว่าการลบแบบลอจิคัล ดังนั้นเราจึงมองหาตรรกะกำจัดน้อยที่สุดของขอบของบางดังกล่าวว่าจะไม่สามารถเข้าถึงได้จากsGts

ความพยายามในการแก้ไขปัญหา

หากเราเพิกเฉยต่อข้อ จำกัด การกำจัดแบบลอจิคัลของปัญหา LMC มันจะเป็นปัญหาขั้นต่ำในการขุดกราฟที่ไม่ได้ถ่วงดังนั้นมันจะสามารถแก้ไขได้แบบพหุนาม (ทฤษฎีบทสูงสุดการไหลแบบไม่ไหล)G

ถ้าเราไม่สนใจข้อ จำกัด น้อยที่สุดของการกำจัดปัญหา LMC ก็จะแก้ปัญหาได้ polynomially อีกครั้งใน DAG: การหาจุดสุดยอดดังกล่าวว่าสามารถเข้าถึงได้จากและไม่สามารถเข้าถึงได้จากkแล้วพิจารณาเส้นทางซึ่งเป็นเส้นทางจากพลเพื่อkตอนนี้พิจารณาเส้นทางเป็น subgraph ของ : คำตอบจะขอบทุกทางออกของ subgraph พีเป็นที่ชัดเจนว่าจุดยอดสามารถพบได้โดย DFS ในในเวลาพหุนาม น่าเสียดายที่อัลกอริทึมนี้ใช้งานไม่ได้kkstkpskpGpkG สำหรับกราฟกำกับโดยตรง

ฉันพยายามที่จะแก้ปัญหา LMC ด้วยเทคนิคการเขียนโปรแกรมแบบไดนามิก แต่จำนวนสถานะที่จำเป็นสำหรับการแก้ปัญหากลายเป็นสิ่งที่อธิบาย ยิ่งไปกว่านั้นฉันพยายามลดปัญหา NP-Complete เช่น 3-SAT, max2Sat, max-cut และ clique สำหรับปัญหา LMC ที่ฉันไม่ได้จัดการเพื่อหาการลดลง

โดยส่วนตัวผมคิดว่าปัญหา LMC นั้นคือ NP-Complete แม้ว่าเป็นไบนารี DAG (เช่น DAG ที่ไม่มีโหนดใดที่มีระดับเกินกว่า 2)G

คำถาม

  1. ปัญหา LMC NP-Complete ในกราฟย่อยโดยพลการหรือไม่? (คำถามหลัก)G
  2. ปัญหา LMC NP-Complete ใน DAG โดยพลการGหรือไม่
  3. ปัญหา LMC NP-Complete ใน DAG ตามอำเภอใจGหรือไม่

ผมค่อนข้างมั่นใจว่าปัญหาอยู่ในถ้ากราฟของคุณจะไม่มีทิศทาง นั่นจะเป็นคำตอบที่เพียงพอสำหรับคำถามของคุณ? P
Alex สิบ Brink

@SaeedAmiri: หานาทีตัดและเสื้อ ถ้ามันตัดยอดแล้วจุดสุดยอดนี้จะต้องเป็นsหรือเสื้อ หากเป็นทั้งคู่แสดงว่าไม่มีการตัดขั้นต่ำ สมมติว่าtคือจุดสุดยอดที่ตัดการเชื่อมต่อและ( t , v )ขอบ ลบขอบนี้และดำเนินการตัดขั้นต่ำบนsและvซ้ำ ๆ ststt(t,v)sv
Alex สิบ Brink

โดยการสังเกตอย่างง่ายสามารถสรุปได้ว่าหากปัญหาต่อไปนี้คือ NP-Complete ดังนั้นปัญหา LMC ก็จะเป็น NP-Complete ด้วย (ฉันไม่แน่ใจว่าอินเวอร์สนั้นเป็นจริง) สมมติว่าเป็นกราฟิค วิธีการที่เราสามารถมีนาทีตัดG (พาร์ทิชันVเพื่อSและT ST จำนวนขอบจากSไปTมีน้อย) และมีไม่ได้อยู่จุดสุดยอดวีเป็นของV ST หัวของขอบทางออกของทุกโวลต์เป็น ถึงT (ขอบทางออกคือจากSถึงG=(V,E)GVSTSTvVvTS ) T
amirv


2
Amirv สำหรับปัญหาที่มีข้อ จำกัด เพียง (2) อัลกอริทึมที่คุณแนะนำตามที่ฉันเข้าใจแล้วนั้นไม่ถูกต้องนัก อาจมีวิธีแก้ปัญหาแม้ว่าสำหรับโหนดทั้งหมด v จะมีเส้นทางจาก s ถึง v และเส้นทางจาก v ถึง t พิจารณารูปแบบของกราฟกับV = { s , เสื้อ, }และE = { ( s , T ) , ( s , ) , ( , s ) }G=(V,E)V={s,t,a}E={(s,t),(s,a),(a,s)}
Neal Young

คำตอบ:


1

ให้ G = (V, E) เป็น DAG แบบถ่วงน้ำหนัก, s และ t เป็นจุดยอดสองจุดของ G, และ LSTMC = (G, s, t) เป็นตัวอย่างของปัญหาลอจิคัล st min-cut เห็นได้ชัดว่าปัญหา LSTMC คือ NP ตอนนี้เราควรแสดงให้เห็นว่า LSTMC เป็น NP-Hard เราลดปัญหาการกดปุ่มตั้งค่าเป็นปัญหา LSTMC ให้ S = {s1, s2, ... , sn} เป็นเซตที่กำหนดและ {a1, a2, ... , am} เป็นสหภาพของเซตทั้งหมด ระบุหมายเลข k1 ปัญหาการตัดสินใจของปัญหาชุดการกดปุ่มระบุว่ามีชุด A ที่มีองค์ประกอบ k1 เช่นนั้นทุกองค์ประกอบของ S (ทุกชุด si st i = 1..n) มีองค์ประกอบอย่างน้อยหนึ่งตัวของ A. เรา แสดงว่าชุดปัญหาการกดปุ่มเป็น HS (S) เราสร้าง DAG G weight ถ่วงน้ำหนักจากชุด S โดยอัลกอริทึม HS2LSTMC อัลกอริทึมนี้พิจารณาว่าเป็นจุดสุดยอดต้นทางของ DAG G ′ สำหรับแต่ละชุดของ HS st i = 1..n อัลกอริทึมจะพิจารณาจุดสุดยอดที่สอดคล้องกัน si และเพิ่มขอบด้วยน้ำหนักอนันต์จาก s ถึงแต่ละ si จากนั้นสำหรับแต่ละองค์ประกอบ aj ของสหภาพของชุดอินพุต st j = 1..m อัลกอริทึมจะพิจารณาจุดสุดยอดที่สอดคล้องกัน aj และเพิ่มขอบด้วยศูนย์น้ำหนักจากแต่ละ si ไปยัง aj st aj ∈siใน HS ในที่สุดอัลกอริทึมจะพิจารณาจุดยอดสุดท้ายสองจุดที่เรียกว่า t และ k และเพิ่มขอบสองจุดจากแต่ละ aj st j = 1..m ไปยังจุดยอดสุดท้ายทั้งสอง เป็นที่ชัดเจนว่า G ′สามารถทำในเวลาพหุนาม

ตอนนี้เราควรแสดงให้เห็นว่า HS (S) มีคำตอบด้วยองค์ประกอบ k1 หาก LSTMC = (G ′, s, t) มีคำตอบที่มีขอบลบออกทางตรรกะเช่นผลรวมของน้ำหนักของขอบลบคือ k1

เพื่อความง่ายเราทำการพิสูจน์ส่วนนี้โดยแสดงตัวอย่าง:

ในรูปต่อไปนี้สมมติว่า S = {s1, s2, s3} เช่นนั้น s1 = {1, 2, 3}, s2 = {1, 4} และ s3 = {2, 5} รูปที่ 2 แสดง DAG G ′ที่ถ่วงน้ำหนักของปัญหา LSTMC ที่สอดคล้องกับปัญหาชุดการกด h (S) ในตัวอย่างนี้ชุด A คือสหภาพขององค์ประกอบทั้งหมดของ S คือ A = {1, 2, 3, 4, 5} เรามี | S | = 3 และ | A | = 5. ตัวอย่างนี้แสดงให้เห็นว่าอินสแตนซ์ตามอำเภอใจของปัญหาชุดการกดสามารถแก้ไขได้โดยความช่วยเหลือของอินสแตนซ์เฉพาะของปัญหาการตัดลอจิกขั้นต่ำใน DAG แบบถ่วงน้ำหนัก หากเราคำนวณคำตอบให้กับ LSTMC = (G ′, s, t) และพิจารณาขอบที่ลบออกของคำตอบซึ่งอยู่ในรูปของ (aj, t) เรียกว่า E1 (1 ≤ j ≤ m) จากนั้นชุดหางของ E1 คือคำตอบของ HS (S) คำตอบสำหรับปัญหา LSTMC คือชุดขอบ E1 = {(s1, 2), (s1, 3), (s2, 4), (s3, 5), (1, t), (2, t)} ดังนั้นชุดหางของชุดย่อย E2 = {(1, t), (2,

การลดลง


0

G

คำตอบนี้ตอบคำถาม # 3 (ขออภัยสำหรับความยุ่งเหยิงในการเขียนล่วงหน้า :))

sst

ABvG{s,t}

vtvAvB

ABsAAtABBt

A{a}A

aatstaaBAaAaAt

{a}B{a}tat

|{a}|atstataat

|{a}|{a}tk<|{a}|As{a}t

G

{a}

{a}B

{a}{a}t{a}

{a}{a}

{a}ts

{a}

{a}t{a}tsts

A

O(|E|)O(|E|2)O(|E|).

O(|V|(|V|+|E|))O(|V|3)O(|E|2)O(|V|2+|E||V|+|V|3+|E|2)=O(|V|3+|E|2)

st


{a}B{a}t(a,t)a{a}

s{a}aA

2
ในที่สุดฉันก็จัดการเพื่อพิสูจน์ว่าปัญหานี้คือ NP-Complete
amirv

1
@amirv โอ้โปรดทำหุ้นร่างของหลักฐานในรูปแบบของคำตอบนั้น!
Raphael

1
ปัญหาคือ NP-Complete แม้ว่า digraph พื้นฐานเป็น DAG ไบนารีที่ไม่ถ่วง
amirv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.