คำถามติดแท็ก graph-theory

คำถามเกี่ยวกับกราฟโครงสร้างที่ไม่ต่อเนื่องของโหนดซึ่งเชื่อมต่อกันด้วยขอบ รสชาติที่ได้รับความนิยมคือต้นไม้และเครือข่ายที่มีขีดความสามารถสูง

1
จะลดจำนวนจุดตัดขอบในไดอะแกรมได้อย่างไร?
ฉันกำลังทำงานกับโปรแกรมแก้ไขไดอะแกรม ไดอะแกรมแสดงรูปร่าง 2D ( โหนด ) ที่เชื่อมต่อกับตัวเชื่อมต่อ ( ขอบ ) ฉันต้องการที่จะเพิ่มการดำเนินการที่ได้รับการเลือกโหนด"disentangles"พวกเขามัน repositions พวกเขาเพื่อลดจำนวนของการข้ามขอบถ้าเป็นไปได้ (และมันก็โอเคถ้าจะต้องวาดด้วยจุดโค้ง) . ดังนั้นฉันต้องการอัลกอริธึมกราฟที่ให้กราฟ( ทอพอโลยี ) การฝังและเซตย่อยของโหนดของมันปรับเปลี่ยนการฝัง ( โทโพโลยีของมัน) บนโหนดเหล่านั้นเท่านั้นเพื่อลดจำนวนของการข้ามขอบ จากการอ่านเกี่ยวกับกราฟยอดและการเรียกดูCabello และ Mohar (2013)ฉันคิดว่าปัญหานี้เป็นปัญหาที่ยาก ดังนั้นฉันจะมีความสุขกับอัลกอริทึม parametrized (เช่นจำนวนข้ามขอบ) ที่มีความซับซ้อนรู้จักพหุนามเวลาที่ซับซ้อนสำหรับค่าพารามิเตอร์ที่กำหนด ดูเหมือนว่าจะเป็นไปได้ แต่ฉันคิดว่ามันไม่ง่ายเลยที่จะคิดอัลกอริธึมด้วยตัวเอง คำถาม: ฉันจะหาอัลกอรึทึมได้ที่ไหน มันมีอยู่หรือไม่ ในซอฟต์แวร์ที่มีอยู่ มีประสบการณ์ในทางปฏิบัติที่สำคัญกับการปฏิบัติการเช่นนี้หรือไม่ (สิ่งที่ดูดีในทางทฤษฎีอาจไม่ดีในทางปฏิบัติหรือในทางกลับกัน) (ฉันไม่แน่ใจว่าจะถามคำถามนี้ที่ไหนดีที่สุด: ที่นี่ใน StackOverflow หรือ MathOverflow?)

1
มีอัลกอริธึมที่มีประสิทธิภาพสำหรับการพิจารณาว่ากราฟมีออโต้มอร์ฟิซึ่มเล็กน้อยหรือไม่?
ฉันกำลังทำงานกับปัญหาที่เกี่ยวข้องกับละตินสแควร์สและฉันต้องการวิธีการที่จำเป็นอย่างยิ่งในการตัดสินใจปัญหา: การป้อนข้อมูล : การ จำกัด กราฟง่ายกรัม เอาท์พุท : YESถ้า G มี automorphism ไม่น่ารำคาญNOเป็นอย่างอื่น ดังนั้น ... คำถาม : มีอัลกอริธึมที่มีประสิทธิภาพสำหรับการพิจารณาว่ากราฟมีออโต้มอร์ฟิซึ่มเล็กน้อยหรือไม่? เราสามารถใช้ Nauty หรือ Bliss (และแพ็คเกจอื่น ๆ ) เพื่อคำนวณกลุ่ม automorphism ทั้งหมด แต่ฉันไม่ต้องการ สิ่งที่ฉันต้องพิจารณาก็คือมันไม่สำคัญหรือไม่ เป็นไปได้ว่าปัญหาการตัดสินใจนี้มีความซับซ้อนทางทฤษฎีเทียบเท่ากับ "การคำนวณกลุ่มออโตมอร์ฟิซึมทั้งหมด" ในทางใดทางหนึ่ง ฉันไม่แน่ใจ. สำหรับจุดประสงค์ของฉัน "ประสิทธิภาพ" โดยทั่วไปหมายถึง "เร็วกว่าในทางปฏิบัติมากกว่าการคำนวณกลุ่ม automorphism ทั้งหมด" แต่ฉันก็สนใจในทฤษฎีที่อยู่เบื้องหลัง

2
เงื่อนไขสำหรับกราฟสองส่วนที่จะเป็นภาพถ่ายโดยไม่มีขอบล้อมรอบจุดยอด
กราฟสองส่วนคือระนาบถ้ามันไม่มีหรือผู้เยาว์K3 , 3K3,3K_{3, 3}K5K5K_5 ฉันกำลังมองหาเงื่อนไขที่จำเป็นหรือมีเงื่อนไขเพียงพอที่จะอนุญาตให้วาดแบบแนวระนาบที่ไม่มีขอบ ภาพวาดเหล่านี้เป็นที่น่าพอใจ: จุดยอดทั้งหมดของส่วนหนึ่งถูกวาดบนเส้นแนวตั้งเดี่ยว จุดยอดของส่วนอื่น ๆ จะถูกวาดบนเส้นแนวตั้งแบบขนาน ขอบไม่ตัดยกเว้นที่จุดยอด ขอบทั้งหมดอยู่ในแถบไม่มีที่สิ้นสุดระหว่างเส้นแนวตั้งสองเส้นในจุดที่ 1 ตัวอย่างเช่นภาพวาดทั้งหมดที่นี่ยกเว้นด้านล่างขวาไม่ใช่ตัวอย่าง กราฟด้านล่างซ้ายสามารถวาดใหม่เพื่อให้เป็นไปตามเงื่อนไขโดยการเปลี่ยนตำแหน่งของ Q และ R กราฟสองตัวที่ติดอันดับไม่สามารถถูกวาดใหม่เพื่อให้เป็นไปตามเงื่อนไข กราฟสองอันดับแรกเป็นเพียงสิ่งกีดขวางที่ฉันหาได้ คำถามของฉันคือ: ปัญหานี้มีชื่อหรือไม่? มีสิ่งกีดขวางอื่น ๆ ที่ฉันพลาดไปไหม คำแนะนำใด ๆ เกี่ยวกับวิธีที่ฉันสามารถพิสูจน์ได้ว่าสิ่งกีดขวางทั้งสองนี้ (รวมถึงสิ่งที่ฉันพลาด) ในฐานะผู้เยาว์มีความจำเป็นและเพียงพอ โปรดทราบว่านี่ไม่ใช่สิ่งเดียวกับการอยู่ด้านนอกระนาบ,เป็นระนาบด้านนอก (สามารถวาดเป็นสี่เหลี่ยมจัตุรัส) แต่ไม่สามารถวาดได้เพื่อตอบสนองเงื่อนไขที่ฉันกล่าวถึงข้างต้นK2 , 2K2,2K_{2, 2}

1
เกี่ยวกับกราฟที่ขอบชุดแตกออกเป็นการจับคู่ที่สมบูรณ์แบบ
มีลักษณะของกราฟที่ขอบชุดสลายตัวเป็นสหภาพที่ลงตัวสำหรับการจับคู่ที่สมบูรณ์แบบหรือไม่? หนึ่งชั้นเล็กน้อยของกราฟดังกล่าวคือกราฟสม่ำเสมอทวิภาคี ชุดขอบของพวกเขาจะสลายลงในจ้อที่สมบูรณ์แบบเคลื่อน ddd( n , n )(n,n)(n,n)ddd

1
ภาพถ่ายระนาบย่อยที่หนักที่สุด
พิจารณาปัญหาต่อไปนี้ ป.ร. ให้ไว้: กราฟที่สมบูรณ์ที่มีน้ำหนักที่ไม่เป็นลบจริงบนขอบ ภารกิจ: ค้นหากราฟย่อยของน้ำหนักสูงสุด ("สูงสุด" ในบรรดากราฟย่อยระนาบที่เป็นไปได้ทั้งหมด) หมายเหตุ: กราฟย่อยน้ำหนักสูงสุดจะเป็นรูปสามเหลี่ยม ถ้ากราฟทั้งหมดเปิดอยู่nnn จุดยอดก็จะมี m = 3 n - 6ม.=3n-6m=3n-6 ขอบ คำถาม: อัลกอริทึมที่ดีที่สุดสำหรับปัญหานี้คืออะไร ความซับซ้อนของเวลาคืออะไร

1
อัลกอริทึมและโครงสร้างข้อมูลที่มีประสิทธิภาพที่สุดสำหรับการบำรุงรักษาข้อมูลส่วนประกอบที่เชื่อมต่อบนกราฟแบบไดนามิกคืออะไร
สมมติว่าฉันมีกราฟหร็อมแหร็มไม่ จำกัด ทิศทางและจำเป็นต้องสามารถเรียกใช้แบบสอบถามต่อไปนี้ได้อย่างมีประสิทธิภาพ: ผมs Co n n e c t e d(ยังไม่มีข้อความ1,ยังไม่มีข้อความ2)IsConnected(N1,N2)IsConnected(N_1, N_2) - ส่งคืนหากมีเส้นทางระหว่างถึงมิฉะนั้นTTTยังไม่มีข้อความ1N1N_1ยังไม่มีข้อความ2N2N_2FFF คo n n e c t e dยังไม่มีข้อความo de s ( N)ConnectedNodes(N)ConnectedNodes(N) - ส่งคืนชุดของโหนดที่สามารถเข้าถึงได้จากยังไม่มีข้อความNN สิ่งนี้ทำได้ง่ายโดยการคำนวณส่วนประกอบที่เชื่อมต่อของกราฟไว้ล่วงหน้า คำสั่งทั้งสองสามารถทำงานในเวลาO ( 1 )O(1)O(1) ถ้าฉันยังต้องสามารถเพิ่มขอบโดยพลการ - - จากนั้นฉันสามารถเก็บส่วนประกอบไว้ในโครงสร้างข้อมูลที่ไม่จัดวางได้ เมื่อใดก็ตามที่มีการเพิ่มขอบถ้ามันเชื่อมต่อสองโหนดในองค์ประกอบที่แตกต่างกันฉันจะรวมองค์ประกอบเหล่านั้น สิ่งนี้จะเพิ่มค่าใช้จ่ายให้กับและราคาเป็นและ (ซึ่งอาจเป็น )ddEdก.e (ยังไม่มีข้อความ1,ยังไม่มีข้อความ2)AddEdge(N1,N2)AddEdge(N_1, N_2)O ( 1 )O(1)O(1)ddEdก.อีAddEdgeAddEdgeO ( ฉันn วีอีอาร์เอสอีคk …

1
ลบจำนวนจุดยอดต่ำสุดเพื่อตัดการเชื่อมต่อกราฟ
พิจารณากราฟที่ไม่มีทิศทางพร้อมแหล่งที่มาและจุดยอดจม เราต้องการลบจำนวนจุดยอดต่ำสุดในกราฟนั้นเพื่อตัดการเชื่อมต่อเส้นทางใด ๆ ระหว่างต้นทางและอ่างล้างจาน เราสามารถทำได้โดยใช้อัลกอริธึม max-flow, min-cut หรือไม่?

1
ตัดขั้นต่ำในกราฟเส้นกำกับน้ำหนักด้วยน้ำหนักเชิงลบ
ฉันพบปัญหาต่อไปนี้: ให้กราฟไซโคลชีทที่มีน้ำหนักขอบมูลค่าจริงและสองจุดยอด s และ t คำนวณการตัดขั้นต่ำ สำหรับกราฟทั่วไปนี่คือ NP-hard เนื่องจากหนึ่งสามารถลด max-cut ได้เล็กน้อยโดยเพียงแค่ย้อนกลับน้ำหนักขอบ (แก้ไขฉันถ้าฉันผิด) สถานการณ์กับ DAG คืออะไร สามารถตัด min-cut (หรือ max-cut) ในเวลาพหุนามได้หรือไม่? มันเป็น NP-hard หรือไม่ถ้ามีมีขั้นตอนวิธีการประมาณที่รู้จักหรือไม่? ฉันพยายามหางานทำ แต่ไม่สามารถ (บางทีฉันแค่ใช้คำหลักผิดในการค้นหาของฉัน) ดังนั้นฉันจึงหวังว่าจะมีคนรู้ (หรือค้นหา) บางอย่างเกี่ยวกับเรื่องนี้

2
ขนาดของการจับคู่สูงสุดในกราฟแบบสองทาง
ฉันถูกต้องในการสังเกตของฉันหรือไม่ว่าความสำคัญสูงสุดของตรงกันสูงสุดของกราฟสองฝ่ายจะเท่ากับหรือไม่MMMG(U,V,E)G(U,V,E)G(U, V, E)min(|U|,|V|)min(|U|,|V|)\min(|U|, |V|)

1
ทำไมความซับซ้อนของการลบรอบการลบ
เราต้องการแก้ปัญหาการไหลของต้นทุนที่น้อยที่สุดด้วยอัลกอริทึมการยกเลิกเชิงลบทั่วไป นั่นคือเราเริ่มต้นด้วยการไหลที่ถูกต้องแบบสุ่มและจากนั้นเราจะไม่เลือกวัฏจักรเชิงลบ "ดี" ใด ๆ เช่นรอบต้นทุนเฉลี่ยขั้นต่ำสุด แต่ใช้ Bellman-Ford เพื่อค้นหารอบที่น้อยที่สุดและเพิ่มตามรอบการค้นพบ Letเป็นจำนวนโหนดในกราฟจำนวนขอบความจุสูงสุดของขอบในกราฟและVVVAAAยูยูUWWWค่าใช้จ่ายสูงสุดของขอบในกราฟ จากนั้นสื่อการเรียนรู้ของฉันอ้างสิทธิ์: ค่าใช้จ่ายสูงสุดที่จุดเริ่มต้นต้องไม่เกิน UWAยูWAUW การเพิ่มไปตามวัฏจักรลบหนึ่งครั้งจะช่วยลดต้นทุนได้อย่างน้อยหนึ่งหน่วย ขอบล่างสำหรับต้นทุนต่ำสุดคือ 0 เพราะเราไม่อนุญาตให้มีค่าใช้จ่ายติดลบ แต่ละรอบการลบสามารถพบได้ใน O ( Vก)O(VA)O(VA) และพวกเขาก็ทำตามความซับซ้อนของอัลกอริทึม O(V2UW)O(V2AยูW)O(V^2AUW). ฉันเข้าใจเหตุผลที่อยู่เบื้องหลังการอ้างสิทธิ์แต่ละข้อ แต่คิดว่าความซับซ้อนนั้นแตกต่างกัน โดยเฉพาะจำนวนสูงสุดของการเพิ่มจะได้รับจากหนึ่งหน่วยของการไหลต่อการเสริมการใช้ค่าใช้จ่ายจากUWAยูWAUW ถึงศูนย์ทำให้เราได้มากที่สุด UWAยูWAUWaugmentations เราจำเป็นต้องค้นพบวัฏจักรเชิงลบสำหรับแต่ละดังนั้นเราจึงเพิ่มจำนวนสูงสุดของการขยายเวลาที่จำเป็นในการค้นพบรอบ (VAVAVA) และมาถึงที่ โอ(A2VยูW)O(A2VยูW)O(A^2VUW) สำหรับอัลกอริทึม นี่อาจเป็นข้อผิดพลาดในสื่อการเรียนรู้ (นี่เป็นข้อความที่อาจารย์ให้ไว้ไม่ใช่จากบันทึกของนักเรียนจากหลักสูตร) ​​หรือเหตุผลของฉันผิด?

1
ปัญหาบุรุษไปรษณีย์จีน: การค้นหาการเชื่อมต่อที่ดีที่สุดระหว่างโหนดคี่องศา
ฉันกำลังเขียนโปรแกรมแก้ปัญหาบุรุษไปรษณีย์จีน (หรือที่เรียกว่าปัญหาการตรวจสอบเส้นทาง) ใน draph ที่ไม่ได้ใช้เส้นทางและกำลังเผชิญปัญหาเพื่อค้นหาขอบเพิ่มเติมที่ดีที่สุดในการเชื่อมต่อโหนดที่มีระดับคี่ดังนั้นฉันจึงสามารถคำนวณวงจร Eulerian อาจมี (พิจารณาขนาดของกราฟที่ต้องการแก้ไข) การรวมกันของขนาดมหึมาซึ่งจำเป็นต้องคำนวณและประเมินผล ตัวอย่างเช่นมีแปลกองศาโหนดH ชุดค่าผสมที่ดีที่สุดอาจเป็น:A , B , C, D , E, F, G , HA,B,C,D,E,F,G,HA, B, C, D, E, F, G, H BABAB , , ,คDCDCDEFEFEFG HGHGH CACAC , ,B DBDBDEHEHEH, FGFGFG DADAD, B CBCBC, EGEGEG, FHFHFH EAEAE .... ที่ไหน BABAB หมายถึง "edge …

3
เส้นทางที่ไม่ซ้ำในกราฟกำกับ
ฉันออกแบบอัลกอริทึมสำหรับการเรียนที่จะตรวจสอบหากนำกราฟที่ไม่ซ้ำกันด้วยความเคารพต่อยอดดังกล่าวว่าสำหรับการใด ๆมีที่มากที่สุดเส้นทางหนึ่งจากเพื่อUฉันเริ่มต้นด้วยการใช้ BFS (ค้นหาแบบกว้างแรก) เพื่อค้นหาเส้นทางที่สั้นที่สุดจาก v ไปยังจุดสุดยอดอีกจุดหนึ่งจากนั้นเรียกใช้ BFS อีกครั้งเพื่อดูว่าสามารถหาเส้นทางอื่นจาก v ถึง u ได้ไหม ฉันคิดว่ามันใช้เวลานานเกินไป ใครบ้างมีคำใบ้ว่าวิธีการแก้ปัญหาสามารถพบได้ด้วยเวลาการดำเนินการที่สั้นลง?โวลต์vvคุณ≠ โวลต์u≠vu \ne vโวลต์vvยูuu

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