คลาสกราฟที่สามารถคำนวณเส้นผ่านศูนย์กลางได้ในเวลาเชิงเส้น


11

จำขนาดเส้นผ่าศูนย์กลางของกราฟคือความยาวของเส้นทางที่สั้นที่สุดที่ยาวที่สุดในGรับกราฟอัลกอริทึมที่ชัดเจนสำหรับการคำนวณแก้ปัญหาเส้นทางที่สั้นที่สุดของทุกคู่ (APSP) และส่งกลับความยาวของเส้นทางที่ยาวที่สุดที่พบG diam ( G )GGdiam(G)

เป็นที่ทราบกันดีว่าปัญหา APSP สามารถแก้ไขได้ในเวลาเหมาะสมสำหรับคลาสกราฟต่างๆ สำหรับกราฟทั่วไปมีวิธีการเชิงทฤษฎีเกี่ยวกับพีชคณิตกราฟที่ทำงานในเวลาเวลาที่เป็นขอบเขตสำหรับการคูณเมทริกซ์ อย่างไรก็ตามการคำนวณขนาดเส้นผ่าศูนย์กลางจะเห็นได้ชัดว่าไม่ได้เชื่อมโยงอย่างยิ่งที่จะ APSP, ที่แสดงโดย YusterO ( M ( n ) บันทึกn ) M ( n )O(n2)O(M(n)logn)M(n)

เป็นที่รู้จักกันในชั้นเรียนกราฟที่ไม่สำคัญซึ่งสามารถคำนวณขนาดเส้นผ่าศูนย์กลางได้เร็วขึ้นพูดในเวลาเชิงเส้น?

ฉันสนใจกราฟ chordal เป็นพิเศษและ subclasses ใด ๆ ของกราฟ chordal เช่น block block ตัวอย่างเช่นฉันคิดว่าเส้นผ่านศูนย์กลางของกราฟ chordal สามารถคำนวณได้ในเวลาO ( n + m )ถ้าGสามารถแสดงได้อย่างไม่ซ้ำใครในฐานะต้นไม้ต้นก๊ก กราฟดังกล่าวยังเป็นที่รู้จักกันUR-คอร์ดัGO(n+m)G


สำหรับการคำนวณเส้นผ่านศูนย์กลางเมื่อต้นไม้ก๊กได้รับกราฟ chordal จะทำงาน (เกือบ) เหมือนกับต้นไม้ ในทำนองเดียวกันในกราฟช่วงเวลาคู่ที่มีอำนาจเหนือ (ซึ่งมีอยู่ในกราฟที่ปราศจาก AT ใด ๆ ) จำเป็นต้องตัดสินใจเส้นผ่านศูนย์กลาง
Yixin Cao

@YixinCao แต่โดยทั่วไปจำนวนต้นไม้ก๊กที่แตกต่างกันกราฟ chordal สามารถมีได้ชี้แจงในจำนวนจุดยอด ยิ่งกว่านั้นฉันไม่คิดว่าเส้นผ่านศูนย์กลางจะเหมือนกันในต้นไม้ทุกต้น ฉันคิดว่านี่เป็นปัญหา แต่ในกราฟ ur-chordal เส้นผ่านศูนย์กลางของต้นก๊กนั้นไม่น่าเชื่อ คุณมีอย่างอื่นในใจหรือไม่?
Juho

ฉันไม่ได้บอกว่าเส้นผ่าศูนย์กลางของกราฟคอร์ดนั้นเท่ากับของต้นไม้ก๊ก (ดาวฤกษ์ของจุดยอดสามารถมีต้นก๊กที่เป็นเส้นทางของโหนดk ) สิ่งที่ฉันหมายถึงคือเส้นผ่านศูนย์กลางของกราฟจะต้องอยู่ระหว่างใบไม้บางคู่ k+1k
Yixin Cao

@YixinCao ตกลงตอนนี้ฉันเข้าใจดีขึ้นแล้ว ถึงกระนั้นอัลกอริทึม (เร็ว) ยังไม่ชัดเจนสำหรับฉัน หากคุณมีรายละเอียดเพิ่มเติมหรือการอ้างอิงโปรดอย่าลังเล!
Juho

คำตอบ:


9

วิปริตของจุดสุดยอดโวลต์คือความยาวของเส้นทางที่สั้นที่สุดที่ยาวที่สุดที่เริ่มต้นจากโวลต์โวลต์เส้นผ่านศูนย์กลางคือความเยื้องศูนย์กลางสูงสุดของจุดยอดทั้งหมด BFS ใด ๆ จากจุดสุดยอดจะสร้างความเยื้องศูนย์กลาง แนวคิดหลักสำหรับการค้นหาเส้นผ่านศูนย์กลางที่มีประสิทธิภาพคือการประมวลผลกราฟล่วงหน้าเพื่อหาจุดยอดชุดเล็ก ๆ อย่างน้อยหนึ่งรายการที่ได้ค่าความเยื้องศูนย์สูงสุด

เมื่อทำการค้นหาคำศัพท์กว้าง ๆ แรกสุดปลายทางมักมีความเยื้องศูนย์สูง โดยเฉพาะอย่างยิ่งจะรับประกันว่าจะมีความผิดปกติอย่างน้อยที่สุดหนึ่งเส้นผ่าศูนย์กลางน้อยกว่าสำหรับกราฟ chordal สำหรับคลาสย่อยบางส่วนของกราฟ chordal เช่นกราฟช่วงเวลาจะรับประกันว่าจะมีความเยื้องศูนย์สูงสุด นอกจากนี้ยังมีคลาสที่ไม่มี chordal บางอย่างเช่น{ที่,กรงเล็บ} -กราฟฟรี

ม.=Ω(n2)Knโอ(n2)O(ม.+n)โอ(n2)

(พระอาทิตย์ขึ้น-K2)

กราฟอาทิตย์
(ที่มา: graphclasses.org )

  • Feodor F. Dragan, Falk Nicolai และ Andreas Brandstädt, LexBFS-orderings และพลังของกราฟ , WG 1996, LNCS 1197, 166–180 ดอย: 10.1007 / 3-540-62559-3_15

เข้าสู่ระบบn

  • Derek G. Corneil, การค้นหาคำย่อความกว้างครั้งแรก - การสำรวจ , WG 2004, LNCS 3353, 1–19 ดอย: 10.1007 / 978-3-540-30559-0_1

O(n+ม.)โอ(n2)

3

กราฟบล็อกที่กล่าวถึงในคำถามคือระยะห่างทางพันธุกรรม อัลกอริธึมเชิงเส้นเวลาสำหรับการคำนวณเส้นผ่านศูนย์กลางของกราฟระยะทางทางพันธุกรรมมีให้ใน [1] (ดูทฤษฎีบทที่ 5)


[1] Dragan, Feodor F. มีกลุ่มโบราณในกราฟที่ถ่ายทอดทางพันธุกรรม Springer Berlin Heidelberg, 1994

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