อัลกอริทึมพหุนามที่ง่ายที่สุดสำหรับ PLANARITY คืออะไร


28

มีอัลกอริธึมหลายอย่างที่ตัดสินใจในเวลาพหุนามว่าสามารถวาดกราฟในระนาบได้หรือไม่แม้กระทั่งกับการวิ่งเชิงเส้น อย่างไรก็ตามฉันไม่สามารถหาอัลกอริทึมที่ง่ายมากที่สามารถอธิบายได้อย่างง่ายดายและรวดเร็วในชั้นเรียนและจะแสดงให้เห็นว่า PLANARITY อยู่ใน P คุณรู้หรือไม่?

หากจำเป็นคุณสามารถใช้ทฤษฏีของ Kuratowski หรือ Fary แต่ไม่มีเนื้อหาลึกซึ้งเช่นทฤษฎีบทกราฟเล็กน้อย นอกจากนี้โปรดทราบว่าฉันไม่สนใจเวลาทำงานฉันแค่อยากได้พหุนาม

ด้านล่างนี้เป็นอัลกอริธึมที่ดีที่สุด 3 ข้อซึ่งแสดงให้เห็นถึงการแลกเปลี่ยนที่ไม่ซับซ้อนและไม่ซับซ้อน

อัลกอริทึม 1: การใช้ที่เราสามารถตรวจสอบว่ากราฟมีK5หรือK3,3เป็นพหุนามในเวลาพหุนามเราได้อัลกอริทึมที่ง่ายมากโดยใช้ทฤษฎีเชิงลึก (โปรดสังเกตว่าทฤษฎีนี้ใช้กราฟงานแต่งงานแล้วตามที่ระบุโดย Saeed ดังนั้นนี่ไม่ใช่วิธีอัลกอริทึมที่แท้จริงเพียงบางสิ่งที่ง่ายต่อการบอกนักเรียนที่รู้ / ยอมรับทฤษฎีบทกราฟย่อยแล้ว)

อัลกอริทึม 2 [ขึ้นอยู่กับคำตอบของใครบางคน]: มันง่ายที่จะเห็นว่ามันเพียงพอที่จะจัดการกับกราฟที่เชื่อมต่อ 3 ตัว สำหรับสิ่งเหล่านี้ค้นหาใบหน้าแล้วใช้ทฤษฎีบทสปริงของ Tutte

อัลกอริทึม 3 [แนะนำโดย Juho]: อัลกอริทึม Demoucron, Malgrange และ Pertuiset (DMP) วาดรอบองค์ประกอบของกราฟที่เหลือเรียกว่าชิ้นส่วนเราฝังไว้ในวิธีที่เหมาะสม (ในขณะเดียวกันก็สร้างชิ้นส่วนใหม่) วิธีนี้ไม่ใช้ทฤษฎีบทอื่น


1
ฉันคิดว่าหลายคนเห็นด้วยกับอัลกอริธึมเวลาพหุนามที่ง่ายที่สุดคืออัลกอริธึม Demoucron, Malgrange และ Pertuiset (DMP) มันเป็นตำราอัลกอริทึมโดยทั่วไปจะครอบคลุม (ดูเช่น Gibbons 1985 หรือ Bondy & Murty 1976) มันเพียงพอแล้วหรือไม่ที่จะตัดสินใจเรื่องระนาบหรือว่าอัลกอริทึมควรเอาท์พุทการฝังภาพถ่ายด้วยหรือไม่? IIRC กระดาษของ SODA'99 ของ Boyer และ Myrvold @joro อาจอ้างอิงถึงรายละเอียดโดยเฉพาะอย่างยิ่งเกี่ยวกับความซับซ้อนของเวลา
Juho

2
หากคุณต้องการเพียงแค่ปัญหาในการตัดสินใจคือ PLANAR ไม่ใช่ผู้เยาว์ที่ต้องห้ามสองคนที่สามารถตรวจสอบการมีอยู่ของพหุนามในเวลาที่เพียงพอหรือไม่
joro

2
@ โจโร่: ใช่แน่นอนว่ามันจะเป็นทางออกที่ง่าย แต่ฉันก็อยากจะหลีกเลี่ยงการใช้ทฤษฎีบทที่แข็งแกร่งเช่นนี้
domotorp

1
อัลกอริทึมที่ฉันพูดถึงนั้นเป็นอัลกอริทึม Auslander-Parter ปัญหาในอัลกอริทึมของฉันคือตอนที่ 7 เมื่อฉันบอกว่าเราสามารถวาดกราฟของส่วนประกอบได้ เราทำได้ในอัลกอริธึมดั้งเดิม แต่ในอัลกอริทึมที่ฉันบอกว่าเราต้องการคำจำกัดความที่แม่นยำยิ่งขึ้นของส่วนประกอบ ส่วนที่เรียกซ้ำนั้นเป็นความจริงอย่างชัดเจน (ถ้าเราสามารถทำขั้นตอนที่ 7 ได้เราก็ทำเสร็จแล้ว) ที่คุณสงสัยเกี่ยวกับความถูกต้อง ฉันไม่ได้อัปเดตคำตอบของฉันเพราะฉันเห็นว่ามันจะอยู่ที่ประมาณสองหน้าและฉันไม่สามารถย่อได้อีกและไม่ดีที่จะเรียกมันง่าย
Saeed

3
การลดกรณีที่เชื่อมต่อ 3 รายการเป็นแนวคิดที่เรียบง่ายและควรอธิบายในทุกกรณี หากเราไม่สนใจในประสิทธิภาพการลดขนาดเคสที่เชื่อมต่อ 3 ตัวก็สามารถทำได้อย่างง่ายดาย ตรวจสอบการตัด 2 โหนดทั้งหมด
จันทรา Chekuri

คำตอบ:


6

ฉันจะอธิบายขั้นตอนวิธี ฉันไม่แน่ใจว่ามันมีคุณสมบัติเป็น "ง่าย" และการพิสูจน์บางอย่างไม่ใช่เรื่องง่าย

ก่อนอื่นเราแบ่งกราฟออกเป็น 3 ส่วนที่เชื่อมต่อกันดังที่ Chandra Chekuri กล่าวถึง

  1. แบ่งกราฟออกเป็นส่วนประกอบที่เชื่อมต่อ
  2. แบ่งแต่ละองค์ประกอบที่เชื่อมต่อออกเป็น 2 ส่วนประกอบที่เชื่อมต่อ สิ่งนี้สามารถทำได้ในการตรวจสอบเวลาพหุนามสำหรับแต่ละจุดยอดของส่วนประกอบที่เชื่อมต่อ 2 แต่ละG iว่าG i - vเชื่อมต่อหรือไม่vGiGiv
  3. แยกส่วนประกอบที่เชื่อมต่อ 2 ชิ้นออกเป็น 3 ส่วนประกอบที่เชื่อมต่อ สิ่งนี้สามารถทำได้ในการตรวจสอบเวลาพหุนามสำหรับจุดยอดที่แตกต่างกันสองจุดขององค์ประกอบที่เชื่อมต่อ 2 แต่ละอันG iว่าG i - { v , u }เชื่อมต่อกันหรือไม่v,uGiGi{v,u}

เราได้ลดปัญหาในการตรวจสอบว่าองค์ประกอบที่เชื่อมต่อ 3 รายการของกราฟเป็นภาพถ่ายหรือไม่ ให้แทนองค์ประกอบที่เชื่อมต่อ 3G

  1. ใช้วงจรใด ๆของGCG
  2. ตรึงจุดยอดของเป็นจุดยอดของรูปหลายเหลี่ยมนูน วางแต่ละจุดยอดอื่น ๆ ใน barycenter ของเพื่อนบ้าน สิ่งนี้นำไปสู่ระบบสมการเชิงเส้นที่บอกพิกัดของแต่ละจุดยอด ให้Dเป็นรูปวาดที่เกิดขึ้น มันอาจมีวกCD
  3. ถ้าไม่มีการวกเราจะเสร็จสิ้นD
  4. ใช้จุดในองค์ประกอบที่เชื่อมต่อใด ๆ ของG - V ( C ) ข้อ จำกัด ของDต่อกราฟย่อยที่เหนี่ยวนำให้เกิดG [ U V ( C ) ]ควรเป็นภาพถ่าย มิฉะนั้นGไม่ใช่ภาพถ่าย ใช้หน้าใด ๆFในภาพวาดDจำกัด ให้ subgraph เหนี่ยวนำให้เกิดG [ U V ( C ) ]และให้C 'เป็นวงจรการกำหนดเรนไฮน์ ถ้าจีUGV(C)DG[UV(C)]GFDG[UV(C)]CFGคือระนาบแล้วต้องเป็นวัฏจักรใบหน้า (เมื่อCเป็นวัฏจักร Hamiltonian ดังนั้นC ควรสร้างโดยใช้ edge)CCC
  5. ทำซ้ำขั้นตอนที่ 2 ด้วย C 'แทน C หากรูปวาดที่ได้คือ planar ดังนั้นคือ planar อื่นGไม่ใช่ภาพถ่ายGG

หมายเหตุ:

  • การถกเถียงว่าการฝังสปริงของ Tutte ทำให้การฝังภาพถ่ายไม่ตรงไปตรงมา ฉันชอบการนำเสนอในหนังสือของ Edelsbrunner และ Harer, Topology Computational แต่มันก็มีไว้สำหรับ triangulations เท่านั้น Colin de Verdiere กล่าวถึงการฝังสปริงในhttp://www.di.ens.fr/~colin/cours/algo-graphs-surfaces.pdfส่วนที่ 1.4 ข้อมูลอ้างอิงทั่วไปคือ Linial, Lovász, Wigderson: วงยาง, งานแต่งงานแบบนูนและการเชื่อมต่อกราฟ Combinatorica 8 (1): 91-102 (1988)
  • การแก้ระบบสมการเชิงเส้นในจำนวนโพลีโอเมียลของการดำเนินการทางคณิตศาสตร์เป็นเรื่องง่ายผ่านการกำจัดแบบเกาส์เซียน การแก้โดยใช้จำนวนบิตแบบหลายส่วนนั้นไม่ใช่เรื่องง่าย

ฉันแก้ไขคำตอบเพื่อหลีกเลี่ยงการใช้บริดจ์และกราฟที่ทับซ้อนกัน
ใครบางคน

สมมติว่าทุกคอมโพเนนต์ที่เชื่อมต่อ 3 สามารถฝังได้ แล้วเราจะอนุมานเกี่ยวกับกราฟต้นฉบับได้อย่างไร การใช้กราฟที่เชื่อมโยง 3 ตัวนั้นมีอย่างน้อยหนึ่งการฝังซึ่งอาจจะทำให้เราเสร็จได้จากที่นี่ แต่ต้องทำขั้นตอนนี้ด้วย
domotorp

ในตอนท้ายในขั้นตอนที่ 4 ใบหน้าในรูปวาดที่ไม่ใช่ภาพถ่ายคืออะไร ฉันเดาว่าสิ่งนี้สามารถนิยามได้โดยวิธีธรรมชาติ และท้ายที่สุด "Else G ไม่ใช่ภาพถ่ายแนวราบ" ก็ดูเหมือนจะไม่ไร้สาระ
domotorp

ข้อ จำกัด ของถึงG [ U V ( C ) ]ควรเป็นภาพถ่าย มิฉะนั้นGไม่ใช่ภาพถ่าย DG[UV(C)]G
ใครบางคน

ในเรื่องนี้เราเห็นด้วย แต่ฉันไม่เห็นว่าสิ่งนี้จะช่วยได้อย่างไร
domotorp

3

อัลกอริทึมของ Boyer และ Myrvold ได้รับการพิจารณาในขั้นตอนวิธีการทดสอบภาพถ่ายแนวราบ

บนขอบตัด: ประยุกต์ O (n) Planarity ตามการเพิ่มขอบโดย Boyer และ Myrvold

นี้หนังสือบทสำรวจหลาย planarity ทดสอบขั้นตอนวิธีการและหวังว่าคุณจะพบว่าขั้นตอนวิธีการง่ายพอ


ฉันไม่ได้สนใจอัลกอริธึมเชิงระนาบที่ล้ำสมัยฉันต้องการคำอธิบายที่ง่าย ฉันไม่สามารถหาอะไรที่ง่ายไปกว่าอัลกอริทึม Demoucron, Malgrange และ Pertuiset (DMP) ในหนังสือเช่นกัน
domotorp

0

แล้วอัลกอริทึมของ Hopcroft และ Tarjan ของปี 1974 {1}ล่ะ


{1} Hopcroft, John และ Robert Tarjan "การทดสอบระนาบที่มีประสิทธิภาพ" วารสาร ACM (JACM) 21.4 (1974): 549-568


มันเป็นอัลกอริทึมที่รวดเร็วและไม่ง่าย
domotorp

0

สองอัลกอริทึมทั้งใน LogSpace

  1. Eric Allender และ Meena Mahajan - ความซับซ้อนของการทดสอบระนาบ
  2. Samir Datta และ Gautam Prakriya - การทดสอบ Planarity มาเยือน

ที่สองง่ายกว่าครั้งแรกมาก


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