ความซับซ้อนของการขุดโฮโมมอร์ฟิซึมกับวงจรเชิง


9

รับกราฟแบบกำหนดทิศทางคงที่ (digraph) D, Dปัญหาการตัดสินใจการระบายความร้อนถามว่า G มี homomorphism ไป D. โฮโมมอร์ฟิซึมของG ถึง D คือการทำแผนที่ f ของ V(G) ถึง V(D) ที่เก็บรักษาอาร์คนั่นคือถ้า uv เป็นส่วนโค้งของ Gจากนั้น f(u)f(v) เป็นส่วนโค้งของ D.)

ชั้นเรียนของ D-COLORING ปัญหาการเชื่อมต่ออย่างยิ่งให้ Dichotomy การคาดคะเนสำหรับ CSPs ที่ระบุไว้โดย Feder และ Vardi (สามารถเข้าถึงได้บนCiteseer )

ในบทความปี 2001 (เข้าถึงได้จากหน้าผู้เขียน, ที่นี่ ), Feder พิสูจน์ทฤษฎีบทขั้วคู่เมื่อDเป็นวงจรที่มุ่งเน้น (โดยวงจรที่มุ่งเน้นฉันหมายถึงวงจรที่ไม่ได้บอกทิศทางโดยที่แต่ละขอบถูกแทนที่ด้วยส่วนโค้งเดียวที่สามารถปรับได้ตามอำเภอใจ) กล่าวอีกนัยหนึ่งเขาแสดงให้เห็นว่าสำหรับวงจรเชิงใดD, D-COLORING เป็นได้ทั้งพหุนามเวลาแก้ไขหรือ NP- สมบูรณ์

น่าเสียดายที่การจำแนกประเภทของ Feder เป็นสิ่งที่ไม่น่าสนใจอย่างมากและไม่ชัดเจนเนื่องจากความซับซ้อนของหลาย ๆ กรณีนั้นเกี่ยวข้องกับความซับซ้อนของ SAT บางรุ่นที่ขึ้นอยู่กับทิศทาง เมื่อดูที่กระดาษฉันไม่สามารถระบุคำตอบสำหรับคำถามของฉันได้:

คำถาม:อะไรคือขนาดที่เล็กที่สุดของวงจรที่มุ่งเน้นD ดังนั้น D-COLORING NP-complete หรือไม่

คำตอบอาจจะระบุไว้ที่ไหนสักแห่งในวรรณกรรม แต่ฉันไม่สามารถหาได้


แก้ไข:ฉันจะให้รายละเอียดเพิ่มเติมเกี่ยวกับการจำแนกประเภทของ Feder เฟดเดอร์แสดงให้เห็นว่าวงจรเชิง NP-complete ใด ๆ จะต้องมีความสมดุลนั่นคือมีส่วนโค้งจำนวนเท่ากันในทั้งสองทิศทาง จากนั้นให้พิจารณา "ระดับ" ที่เกิดจากการปฐมนิเทศ (เริ่มไปรอบ ๆ วงจรที่จุดสุดยอดโดยพลการถ้าอาร์คไปทางขวาคุณจะขึ้นไป 1 ถ้าอาร์คไปทางซ้ายคุณจะลง 1) จากนั้นถ้ามีอย่างน้อยหนึ่ง "การวิ่งบนล่าง" มันเป็นพหุนาม หากมี "การวิ่ง" อย่างน้อย 3 ครั้งและวัฏจักรนั้นเป็นแกนมันจะทำให้ NP สมบูรณ์ (ในตัวอย่างของAndrásจากความคิดเห็นมี "การวิ่ง" สามแบบ แต่วัฏจักรไม่ใช่แกนหลัก) กรณีที่ยุ่งยากที่สุดคือกรณีที่มี "การวิ่งบนล่าง" สองครั้ง บางตัวนั้นยากพหุนามบางส่วนและเฟดเดอร์เกี่ยวข้องกับปัญหา SAT แบบพิเศษเพื่อให้ได้ขั้ว

ในฐานะที่เป็นคำถามระดับกลาง: อะไรคือวงจรที่เล็กที่สุดที่มีการทำงาน "บนสุด" สามอันและหลักคืออะไร? ตัวอย่างดังกล่าวจะเป็น NP-complete โดยการสนทนาข้างต้น


ฉันจำคำตอบสั้น ๆ ในวรรณกรรมไม่ได้ (อาจจะเป็น Barnaby Martin หรือ Florent Madelaine) อย่างไรก็ตามขนาดจะอยู่ที่ 6 จุดยอดสูงสุดและขอบที่กำกับได้ถึง 6 อันเนื่องจากสามารถลดขนาดลงได้K3- สีเพื่อ D-Colouring สำหรับ digraph หกจุดสุดยอด Dโดยแทนที่แต่ละขอบที่ไม่ได้บอกทิศทางในกราฟด้วยสองเส้นโค้งที่ชี้ไปยังจุดสุดยอดใหม่ระหว่างจุดปลาย
András Salamon

ขอบคุณAndrás อย่างไรก็ตามฉันคิดว่าคำตอบจะต้องมีขนาดใหญ่กว่าเพราะแก่นแท้ของตัวอย่างนี้เป็นเพียงแค่กราฟิคที่มีส่วนโค้งที่ไม่ซ้ำกันซึ่งแก้ไขได้ด้วยพหุนาม ...
Florent Foucaud

คุณพูดถูกการก่อสร้างที่ฉันเสนอนั้นง่ายเกินไป
András Salamon

ฉันถาม Florent Madelaine และ Barnaby Martin แต่พวกเขาไม่ทราบคำตอบโดยตรงแม้ว่าพวกเขาจะสนใจ :-) เพื่อนร่วมงานของฉันถาม Feder ทางอีเมลเมื่อสัปดาห์ที่แล้ว แต่เขายังไม่ได้ตอบ (ยัง)
Florent Foucaud

แรงกระตุ้นครั้งที่สองของฉันคือการใช้รูปสามเหลี่ยมแบบแข็ง อย่างไรก็ตามด้วยความแข็งแกร่งของอุปกรณ์จากChvátalและคณะ (JCT 1971) รูปสามเหลี่ยมที่แข็งแล้วดูเหมือนจะต้องการจำนวนจุดยอดที่อย่างน้อย 9v + 36 ถ้ากราฟอินพุตมีจุดยอด v และไม่ชัดเจนว่าจะปรับแกดเจ็ตเหล่านี้เป็นเส้นทางได้อย่างไร บางทีเราอาจใช้เส้นทางชี้นำที่แข็งเพื่อแทนที่ขอบแต่ละอัน แต่ฉันไม่ชัดเจนว่าจะทำอย่างไรในขณะที่ยังคงความสามารถในการแมปขอบของกราฟกับขอบของสามเหลี่ยมใด ๆ (แต่ไม่มีที่อื่น) เนื่องจาก วิธีที่ชัดเจนในการทำคือต้องการความสมมาตร
András Salamon

คำตอบ:


5

สำหรับคำถามกลาง (แกนกลางที่มีการวิ่งบนล่างสามครั้ง) แล้วเรื่องนี้ล่ะ?

สัญกรณ์บางอย่าง: ฉันจะอธิบายการทำงานโดยคำใน {l,r}ด้วยเช่น llrl สอดคล้องกับกราฟย่อย . ระดับเพิ่มขึ้นr ส่วนโค้งและลดลงเมื่อ l โค้งและฉันคิดว่ามันน้อยที่สุด 0. ข้อ จำกัด ตรงไปตรงมาคือ:

  • ไม่สามารถรันได้ซึ่งประกอบด้วยเท่านั้น ls หรือของเท่านั้น rs เพราะมิฉะนั้นก็มีโฮโมมอร์ฟิซึมที่ชัดเจนจาก D เพื่อเรียกใช้นี้ (การแมปแต่ละโหนดของ Dเป็นรายการที่มีระดับเดียวกัน) นี่ก็หมายความว่าระดับสูงสุดจะต้องเป็นอย่างน้อย3.
  • หากระดับสูงสุดคือ 3จากนั้นการวิ่งบนล่างสุด (resp bottom-top) ทั้งหมดจะอยู่ในรูปแบบ llr(lr)ill (รับผิดชอบ rrl(rl)irr); อีกครั้งมันไม่ยากที่จะหาโฮโมมอร์ฟิซึมจากD เพื่อเรียกใช้ซึ่งย่อเล็กสุด i.

อย่างไรก็ตามสำหรับระดับสูงสุด 4 มีทางออกคือความยาว 36: พิจารณา D มอบให้โดย (rrrlrrlllrll)3. สิ่งนี้มีการรันบนล่างสุดที่จำเป็นและเป็นแกนหลัก (ดูด้านล่าง) ตามข้อ จำกัด ข้างต้นจำเป็นต้องมีน้อยที่สุดเนื่องจากการวิ่งแต่ละครั้งจะมีขอบ "ถอยหลัง" เพียงเส้นเดียว

เพื่อโน้มน้าวตัวเราเองว่านี่เป็นแกนกลางให้ตั้งชื่อจุดยอด (v1,,v36) ด้านล่าง (เช่นระดับ0) จุดยอดคือ v1,v13,v25. โฮโมมอร์ฟิซึมใด ๆφ จาก D กับกราฟย่อยจะต้องรักษาระดับและโดยเฉพาะอย่างยิ่ง φ(v1){v1,v13,v25}; โมดูโล่แบบอัตโนมัติที่เห็นได้ชัดvivi+12ก็พอที่จะพิจารณากรณี φ(v1)=v1. พิจารณาพื้นที่ใกล้เคียงของv1 ใน D (บันทึกย่อด้วยระดับ):

v34(1)v35(2)v36(1)v1(0)v2(1)v3(2)v4(3)v5(2)v6(3)v7(4)

เริ่มด้วย φ(v1)=v1, เรามี φ(v2){v36,v2}. แต่ถ้าφ(v2)=v36จากนั้น φ(v3)=v35และเราไม่มีค่าที่เป็นไปได้สำหรับ φ(v4). เราได้รับφ(v2)=v2,φ(v3)=v3,φ(v4)=v4. ต่อไปφ(v5){v3,v5}, แต่สำหรับ φ(v5)=v3 เราได้รับ φ(v6)=v4โดยไม่มีค่าที่เป็นไปได้สำหรับ φ(v7). ดังนั้นφ จะต้องมีตัวตนในการทำงานทั้งหมด v1v7และโดยการทำซ้ำอาร์กิวเมนต์เดียวกันสำหรับการรันที่เหลืออยู่จะเป็นจริงในทุก ๆ D. โดยเฉพาะอย่างยิ่ง,φ ไม่ทำแผนที่ D ลงบนกราฟย่อยที่เหมาะสม


3
การวิเคราะห์เดียวกันนี้แสดงให้เห็นว่าทุกรอบที่มุ่งเน้นสมดุลกับสองวิ่งที่มีแกนมีความยาวอย่างน้อย 24 ใช่ไหม? เพื่อให้ขอบเขตที่ต่ำกว่าในคำตอบของปัญหาหลัก
David Eppstein

ใช่จุดดี
Klaus Draeger

1
เยี่ยมมากขอบคุณนี่มีประโยชน์มาก! เราสามารถโน้มน้าวตัวเองด้วยมือว่านี่เป็นแกนกลางหรือไม่? (โปรดทราบว่ามีอัลกอริทึมเวลาพหุนามเพื่อตรวจสอบว่าวงจรที่มุ่งเน้นD เป็นแกนหลัก: สร้างชุดของ |V(D)| เส้นทางย่อยที่มุ่งเน้น {Da ดังนั้น a เป็นส่วนโค้งของ D}และจากนั้นตรวจสอบว่า Dแผนที่ไปยังเส้นทางใด ๆ เหล่านี้; สิ่งนี้สามารถทำได้ใน polytime ดู Gutjahr et al: sciencedirect.com/science/article/pii/0166218X9290294K )
Florent Foucaud

1
@FlorentFoucaud ฉันได้เพิ่มบิตที่แสดงว่า Dเป็นหลัก
Klaus Draeger
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.