ปัญหา“ กำกับแล้ว” ที่ง่ายกว่าตัวแปร“ ไม่ได้กำกับ”


28

ฉันกำลังนำเสนอการบรรยายเกี่ยวกับการเรียงแพนเค้กและกล่าวว่า:

ซึ่งทำให้ฉันคิด มีความรู้สึกว่าการเรียงลำดับ "เซ็นชื่อ" คือ "กำกับ" - คุณสามารถดูเครื่องหมายเป็นทิศทาง (และแน่นอนนี่คือแรงจูงใจจากชีววิทยาวิวัฒนาการ) แต่มันเป็นปัญหาที่ง่ายขึ้น! สิ่งนี้เป็นเรื่องผิดปกติเพราะโดยทั่วไป (อย่างน้อยในกราฟ) ปัญหาการกำกับยากกว่า (หรืออย่างน้อยก็ยาก) เช่นเดียวกับคู่หูที่ไม่ได้บอกทิศทาง

สมมติว่ามีคำจำกัดความที่ "ชี้แนะ" มีตัวอย่างของปัญหาการชี้นำที่ง่ายกว่าคู่หูที่ไม่ได้บอกทางหรือไม่?


2
คุณอาจพิจารณาฮอร์น 3SAT (ทุกประโยคสามารถแสดงเป็น (A และ B) C) เป็นคำสั่งโดยตรงเนื่องจากอาจถูกมองว่าเป็นนัย ดังนั้นนี่เป็นกรณีที่กำกับง่ายในขณะที่ 3SAT ที่ไม่ได้บอกทิศทางนั้นยาก
Mohammad Al-Turkistany

1
ฉันสงสัยคำถามที่คล้ายกันสำหรับชั้นเรียนที่ฉันสอน (ที่เราใช้ LP เพื่อประมาณวิธีแก้ปัญหา IP): มีคลาสของปัญหาที่ค้นหาวิธีแก้ปัญหาจำนวนเต็มได้ง่ายกว่าการหาวิธีแก้ปัญหาปันส่วน
Gopi

คำตอบ:


17

นับวงจร Eulerian สำหรับกราฟกำกับเป็น doable ในเวลาพหุนามโดยใช้ทฤษฎีบทที่ดีที่สุดในขณะที่เห็นได้ชัดว่าปัญหาเดียวกันสำหรับกราฟไม่มีทิศทางคือ #


คำตอบทั้งหมดนั้นยอดเยี่ยม แต่ถ้าฉันต้องยอมรับคำตอบนี้เป็นเพราะช่องว่างมีขนาดใหญ่และปัญหาสะอาดมาก
Suresh Venkat

15

กรณีที่น่าสนใจและไม่เป็นที่รู้จักก็คือ สมมติว่าเรามีขอบน้ำหนักกราฟและโหนดรากRเราต้องการกราฟย่อยค่าใช้จ่ายขั้นต่ำของเพื่อให้มีเส้นทางที่ไม่ต่อเนื่องจากไปยังทุกโหนดในกราฟ เมื่อนี่เป็นปัญหา arborescence ค่าใช้จ่ายขั้นต่ำในกราฟที่กำกับและในกราฟที่ไม่ได้บอกทิศทางมันจะเทียบเท่ากับปัญหา MST ทั้งสองแก้ไขได้ในเวลาโพลีแม้ว่ากรณีที่ไม่ได้บอกทิศทางจะง่ายกว่า อย่างไรก็ตามปัญหาคือโพลี - เวลาที่แก้ไขได้ในกราฟกำกับสำหรับใด ๆในขณะที่ NP-Hard ในกราฟที่ไม่ได้บอกทิศทางสำหรับ (เนื่องจากจับค่า min-costGrGkrk=1kk=22ปัญหากราฟกราฟย่อยที่เชื่อมต่อกับลิ่ม)


13

บางทีนี่อาจไม่ใช่ตัวอย่างที่ดีที่สุด แต่ให้พิจารณา (Directed) Cycle Cover โดยที่ภารกิจคือการครอบคลุมจุดยอดทั้งหมดโดยใช้ vertex-disjoint (กำกับ) รอบ ในกรณีที่กำกับแล้วสามารถลดการจับคู่สองฝ่ายและแก้ไขได้ในเวลาพหุนาม ในกรณีที่ไม่ได้บอกทิศทางปัญหาสามารถลดลงเป็น nonbipartite ที่ตรงกัน (และในทางกลับกัน) ซึ่งเป็นปัญหาที่ยากขึ้น แต่ยังสามารถแก้ไขเวลาพหุนามได้


10
ตัวอย่างที่คล้ายกันที่น่าประทับใจยิ่งขึ้นคือ: ให้เป็นกราฟถ่วงน้ำหนักกำกับ (น้ำหนักอาจเป็นค่าลบ) เราสามารถตรวจสอบว่ามีวัฏจักรลบในโดยใช้อัลกอริทึม Ford-Bellman แต่ถ้าไม่ถูกบอกทิศทางปัญหาจะกลายเป็นเรื่องยากมากขึ้น (แต่ยังสามารถแก้ไขเวลาแบบโพลีได้) GGG
ilyaraz

นี่เป็นตัวอย่างที่ดีและเป็นไปตามสิ่งที่ฉันคิดตอนที่ถามคำถาม
Suresh Venkat

2
ฉันมักจะรู้สึกว่า "ปัญหาเกี่ยวกับรอบ" ง่ายกว่าในกราฟกำกับ อาจมีหลักการบางอย่างอยู่ด้านหลังเช่นเดียวกับองค์ประกอบที่เชื่อมต่อ 2 แห่งมี "โครงสร้างที่น้อยลง" กว่าส่วนประกอบที่เชื่อมต่ออย่างยิ่ง ("ปัญหาที่เกี่ยวข้องกับวงจร" = สิ่งที่สามารถแก้ไขได้โดยแยกส่วนประกอบแต่ละส่วน)
Diego de Estrada

3
Diego: หากการเดินเท้าแบบปิดทางเดินผ่านจุดยอด v นั้นจะมีวัฏจักรกำกับการพุ่งผ่าน v คำสั่งเชิงอุปมาอุปไมยไม่เป็นความจริงสำหรับกราฟที่ไม่ได้บอกทิศทาง ดังนั้นในกราฟกำกับเรามักจะให้เหตุผลเกี่ยวกับการเดินแทนที่จะเป็นวัฏจักร การเดินนั้นแข็งแกร่งและมีกราฟน้อยกว่าวัฏจักรซึ่งอาจเป็นข้อได้เปรียบ บางทีนี่อาจเป็นคำอธิบายที่เป็นทางการของความประทับใจของคุณ
Daniel Marx

9

นี่คือปัญหาที่ตามที่ฉันเพิ่งรู้ว่าจริง ๆ แล้วดูยากกว่าในกราฟที่ไม่ได้บอกทิศทาง

สมมติว่าคุณมีกราฟที่มีน้ำหนักขอบบวกและลบและคุณจะถูกขอให้ตรวจสอบวงจรน้ำหนักเชิงลบ มีอัลกอริทึมการปรับขนาดสำหรับปัญหานี้สำหรับกราฟกำกับโดย Goldberg'93 (AV Goldberg 1993. อัลกอริธึมการปรับสเกลสำหรับปัญหาเส้นทางที่สั้นที่สุดใน SODA '93.) ทำงานในเวลา O ( ) เวลา โดยที่คือจำนวนขอบจำนวนจุดยอดและคือค่าสัมบูรณ์ที่ใหญ่ที่สุดของน้ำหนักขอบ ในทางตรงกันข้ามปัญหาเดียวกันในกราฟที่ไม่ได้บอกทิศทางนั้นมีอัลกอริธึมที่แย่กว่ามาก สำหรับความรู้ของฉันที่รู้จักกันดีที่สุดคือ Gabow'83 (HN Gabow. 1983. เทคนิคการลดประสิทธิภาพสำหรับ subgraph ที่ จำกัด การศึกษาระดับปริญญาและปัญหาการไหลเวียนของเครือข่ายแบบสองทิศทางใน STOC '83) และทำงานใน O (min (mnlogCmnCn3,mnlogn)) เวลา นอกจากนี้ยังมีวิธีการใช้ T-joins ซึ่งให้รันไทม์เหมือนกันฉันจำไม่ได้ว่าเห็นที่ไหน

ปัญหาวงจรเชิงลบเป็นสิ่งสำคัญในการออกแบบของแหล่งเดียวเส้นทางที่สั้นที่สุด (SSSP) อัลกอริทึมและมันก็ไม่น่าแปลกใจที่ดีที่สุดครั้งวิ่ง SSSP ในกราฟกำกับและไม่มีทิศทางที่มีน้ำหนักโดยพลการมีเดียวกัน runtimes-- O ( ) และ O (min ( )) ตามลำดับmnlogCn3,mnlogn


แต่ที่นี่ 'ยาก' หมายถึงเพียงแค่เกี่ยวกับ runtimes (พหุนาม) ของอัลกอริทึมที่เรารู้ อาจเป็นไปได้ว่าเราขาดเทคนิคบางอย่างแน่นอน
virgi

2
นั่นเป็นอีกตัวอย่างที่น่าสนใจ และขอแสดงความยินดีกับ ps ในผลลัพธ์ใหม่ที่น่าทึ่ง
Suresh Venkat

1
ขอบคุณ Suresh! ในบันทึกอื่นฉันเพิ่งสังเกตเห็นว่า ilyaraz มีคำตอบของฉันในความคิดเห็นต่อคำตอบของ Daniel Marx ... ขอโทษที่ซ้ำกัน
virgi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.