วิธีการสร้างกราฟตัวขยายปกติ


14

ฉันจำเป็นต้องสร้างกราฟตัวขยาย d-regular สำหรับ d คงที่ขนาดเล็ก (เช่น 3 หรือ 4) ของจุดยอด n

วิธีที่ง่ายที่สุดในการทำสิ่งนี้ในทางปฏิบัติคืออะไร? สร้างกราฟสุ่ม d-regular ซึ่งพิสูจน์แล้วว่าเป็นตัวขยายหรือไม่

ฉันยังอ่านเกี่ยวกับการก่อสร้าง Margulis และกราฟ Ramanujan ที่เป็นส่วนขยายและการก่อสร้างโดยใช้ผลิตภัณฑ์ซิกแซก วิกิพีเดียให้ภาพรวมที่ดี แต่สั้นมาก: http://en.wikipedia.org/wiki/Expander_graph#cite_note-10 แต่ฉันเลือกวิธีไหนในทางปฏิบัติ

สำหรับฉันวิธีการเหล่านี้ดูเหมือนจะซับซ้อนมากในการใช้งานและโดยเฉพาะอย่างยิ่งในการทำความเข้าใจและอาจจะค่อนข้างเฉพาะเจาะจง ไม่มีวิธีที่ง่ายกว่านี้อาจเป็นไปตามวิธีเรียงสับเปลี่ยนหรือวิธีการสร้างลำดับของกราฟตัวขยาย d-regular

มันอาจจะง่ายกว่าในการสร้างกราฟตัวขยาย b-dart ปกติ?

ฉันยังมีคำถามอื่น: สิ่งที่เกี่ยวกับครอบครัวของตัวขยาย d-regular ที่ไม่ดี? แนวคิดเช่นนี้สมเหตุสมผลหรือไม่? หนึ่งสามารถสร้างครอบครัวของกราฟปกติ d- (ที่มีการเชื่อมต่อแน่นอน) ที่ไม่ดีเท่าที่จะทำได้ในแง่ของการขยาย?

ขอบคุณล่วงหน้า.


2
มีสิ่งปลูกสร้างที่ชัดเจนง่ายกว่าสิ่งที่คุณระบุไว้ แต่กราฟแบบสุ่มควรทำเคล็ดลับและมีพารามิเตอร์ที่ดีกว่า
Yuval Filmus

คุณสามารถให้ชื่อหรือการอ้างอิงของสิ่งปลูกสร้างได้หรือไม่? โดยพารามิเตอร์ที่ดีกว่าคุณหมายถึงการขยาย (ขอบ) ที่ดีกว่าฉันเดา?
user2145167

1
Andrásยกตัวอย่างที่ฉันมีอยู่ในใจ แต่โดยทั่วไปแล้วกราฟสุ่มจะดีกว่าการสร้างที่ชัดเจน ไม่เพียง แต่การขยายตัวของขอบจะใหญ่ขึ้นคุณสมบัติอื่นใดที่คล้ายกันซึ่งมีประโยชน์สำหรับอัลกอริทึมของคุณน่าจะเป็นที่พอใจโดยอัตโนมัติจากกราฟแบบสุ่ม
Yuval Filmus

ตกลงสำหรับตัวอย่างระดับ 3, Andrásหรือกราฟสุ่มดูเหมือนจะดีพอสำหรับการสมัครของฉัน มันน่าสนใจโดยเฉพาะอย่างยิ่งสำหรับกราฟสุ่มเพื่อสร้างตระกูลกราฟ 3-reg ที่ไม่ใช่ตัวขยาย แต่นี่อาจเป็นเรื่องยากมากหรือเป็นไปไม่ได้?
user2145167

3
ใช้เวลารวมกันของ s หากคุณต้องการกราฟที่เชื่อมต่อให้ลบหนึ่งขอบออกจากK 4แต่ละตัว (สร้างกราฟที่เรียกว่ากราฟเพชร) และเชื่อมต่อเป็นวงกลม K4K4
Yuval Filmus

คำตอบ:


9

หากคุณไม่สนใจกราฟด้วยตัวเองลูปตระกูลเครื่องขยาย "ที่ง่ายที่สุด" น่าจะเป็นเครื่องนี้

p0p1u0uu1u+1puvuv1modpพี

6013524 4

ดู/mathpro/124708/an-expander-graph สำหรับการสนทนาและการอ้างอิงเพิ่มเติม มีพอยน์เตอร์ที่ละเอียดกว่านี้มากมายโดยค้นหา "expander" ที่CSTheory , Math.SEและMO

ดังที่ Yuval Filmus ชี้ให้เห็นว่าการสร้างแบบสุ่มมีแนวโน้มที่จะให้ผลลัพธ์ที่ดีกว่าโดยทั่วไป แต่แน่นอนว่าอาจไม่ทำให้เกิดการขยาย (โดยเฉพาะกราฟขนาดเล็ก)


ขอบคุณสำหรับคำพูด ฉันค้นหาผู้ขยายก่อนหน้านี้ในเว็บไซต์อื่น แต่ไม่ใช่ใน MO จริง ๆ แล้วดูเหมือนว่าจะมีผลลัพธ์มากกว่านี้
user2145167

0

รับกราฟปกติแบบสุ่มคือตัวขยาย (ทำตามการอ้างอิงที่ให้ไว้ในเอกสารประกอบของรหัส MATLAB ที่ลิงก์ด้านล่าง) ฉันเคยใช้ดังต่อไปนี้:

http://www.mathworks.com/matlabcentral/fileexchange/29786-random-regular-generator/content/randRegGraph/createRandRegGraph.m

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