ฉันกำลังมองหาที่มาของชุดข้อมูลขนาดใหญ่เพื่อทดสอบการใช้งานอัลกอริทึมกราฟ โปรดให้ข้อมูลเกี่ยวกับประเภท / การแจกจ่าย (เช่นกำกับ / ไม่ระบุทิศทาง, ง่าย / ไม่ง่าย, ถ่วงน้ำหนัก / ไม่ถ่วงน้ำหนัก) ของกราฟในแหล่งที่มาหากทราบ
ฉันกำลังมองหาที่มาของชุดข้อมูลขนาดใหญ่เพื่อทดสอบการใช้งานอัลกอริทึมกราฟ โปรดให้ข้อมูลเกี่ยวกับประเภท / การแจกจ่าย (เช่นกำกับ / ไม่ระบุทิศทาง, ง่าย / ไม่ง่าย, ถ่วงน้ำหนัก / ไม่ถ่วงน้ำหนัก) ของกราฟในแหล่งที่มาหากทราบ
คำตอบ:
ตรวจสอบลิงค์ต่อไปนี้สำหรับอินสแตนซ์กราฟ
DIMACS กราฟ: อินสแตนซ์เกณฑ์มาตรฐานและที่ดีที่สุดบนขอบเขต foo
ฉันจะพยายามให้คำตอบระดับสูงกว่าคำตอบอื่น ๆ
คลาสอินพุตต่อไปนี้มักจะมีประโยชน์ในการทดสอบประสิทธิภาพของอัลกอริทึมที่เสนอหรือความถูกต้องของการคาดเดาในทฤษฎีกราฟ:
กราฟ "ไม่ใช่แบบสุ่ม" : กราฟเหล่านี้อยู่ตรงกลางระหว่างการเป็นแบบทั่วไปอย่างสมบูรณ์เช่นเดียวกับในกราฟแบบสุ่มและเฉพาะเจาะจงกับปัญหาเช่นเดียวกับในโครงสร้างที่มีโครงสร้าง ตัวอย่างเช่นครอบครัวสามารถสุ่มกราฟย่อยของกราฟที่มีโครงสร้าง ตัวอย่างดังกล่าวเกิดขึ้นบ่อยครั้งในการสร้างสายพันธุ์ที่แข็งแกร่งของSzemerédiแทรกสม่ำเสมอ วิธีหนึ่งในการสร้างตัวอย่างเหล่านี้คือการหาคำจำกัดความของ "pseudorandomness" ที่เป็นแบบสุ่มอินพุตดังนั้นสำหรับอินพุต pseudorandom คุณสามารถแสดงให้เห็นว่าอัลกอริทึมของคุณหรือการคาดเดาของคุณทำงานได้ จากนั้นคุณระบุสิ่งกีดขวางต่อการปลอมเทียมและกราฟที่มีสิ่งกีดขวางเหล่านี้สามารถสร้างกราฟที่ไม่ใช่แบบสุ่มซึ่งเป็นตัวอย่างที่มีขนาดใหญ่ การอภิปรายที่เกี่ยวข้องกับหลักการนี้มากขึ้นสามารถดูได้ที่พูดคุย ICM เทอร์รี่เต่าในปี 2006 กราฟที่ไม่สุ่มเหล่านี้ตรงกับ "ผลสืบเนื่อง" ในผลงานบางส่วนของเขากับเบ็นกรีนและคนอื่น ๆ
สำหรับการสร้างกราฟฉันมักจะใช้geng
โปรแกรมที่มาพร้อมกับnauty
:
http://cs.anu.edu.au/~bdm/nauty/
สิ่งนี้จะสร้างกราฟที่ไม่ได้บอกทิศทาง (เรียกอีกอย่างว่า "กราฟ") ในการสร้างกราฟกำกับคุณสามารถส่งออกท่อdirectg
ซึ่งยังมาพร้อมกับความไม่น่าสนใจ
การใช้เกิงเหมาะสำหรับสถานการณ์ที่คุณต้องการทดสอบกราฟทั้งหมดใน (พูด) จนถึงn
จุดสูงสุดหรือกราฟที่เชื่อมต่อทั้งหมดที่มีm
ขอบหรืออะไรทำนองนั้น หากคุณมีข้อกำหนดที่เฉพาะเจาะจงมากขึ้นโปรดระบุสิ่งเหล่านี้ในคำถามของคุณ
Stanford GraphBase อาจช่วยคุณได้: http://www-cs-staff.stanford.edu/~knuth/sgb.html
อย่างไรก็ตามในทุกโอกาสคุณอาจต้องการสร้างกราฟด้วยตัวเองและคุณอาจต้องการให้กราฟที่สร้างขึ้นมีคุณสมบัติบางอย่าง (หรือไม่มี) กราฟสุ่มมักจะเป็นการประมาณที่ไม่ดีของกราฟที่อัลกอริทึมใช้จริง
ไม่ใหญ่ แต่อาจจะมีประโยชน์3054 "กราฟมาตรฐานชื่อ"จากคอลเลกชัน GraphData ของ Mathematica
รูปแบบคือหนึ่งกราฟต่อบรรทัดโดยมีชื่อและรายการของโหนดที่อยู่ติดกันเช่นนี้
{<ชื่อกราฟ>, {{1, 4}, {1, 5}, {1, 6}, {2, 5}, {2, 6}, {3, 6}}
<ชื่อกราฟ> สามารถของฟอร์ม "AGraph" หรือ {"Andrasfai", 6}
แพ็คเกจ Igraph มีตัวสร้างกราฟประเภทต่างๆรวมถึงกราฟแบบสุ่มและกราฟที่มีโครงสร้าง
http://igraph.sourceforge.net/doc/html/igraph-Generators.html
มีโครงการชุมชนใหม่ที่น่าสนใจและมีแนวโน้มสำหรับฐานข้อมูลกราฟ:
แนะนำกระดาษ
ที่เก็บถาวรกราฟเปิด: ความพยายามของชุมชน
หรือลิงค์โดยตรง
เวลาจะปรากฏขึ้นหากเป็นสถานที่ที่เหมาะสำหรับการทดสอบอินสแตนซ์
DIMACS 9 การดำเนิน Challenge - สั้นที่สุดเส้นทางวิ่งใน 2005-2006 โดยมีเป้าหมายในการผลิต "ชุดมาตรฐานของอินสแตนซ์มาตรฐานและเครื่องกำเนิดไฟฟ้าเช่นเดียวกับการใช้งานมาตรฐานที่รู้จักกันดีขั้นตอนวิธีการเส้นทางที่สั้นที่สุด."
หน้าดาวน์โหลดประกอบด้วยกราฟเครือข่ายถนนของสหรัฐอเมริกาที่ซิปตั้งแต่ 2MB ถึง 335MB ทั้งน้ำหนักระยะทางและเวลา
http://www.dis.uniroma1.it/challenge9/download.shtml
ฉันพบว่ามีประโยชน์ในการเปรียบเทียบการใช้งานกราฟของฉันเอง
คุณสามารถใช้ Musketeer ดู
https://people.cs.clemson.edu/~isafro/musketeer/index.html
นี่คือตัวสร้างกราฟแบบหลายส่วนที่รับกราฟอินพุตและสร้างกราฟอื่นที่สามารถคล้ายกับต้นฉบับโดยพลการ พารามิเตอร์มีความยืดหยุ่นเพียงพอที่จะสร้างโครงสร้างใหม่ที่ความละเอียดหยาบที่แตกต่างกัน ดูตัวอย่างในแกลเลอรี่ แพคเกจนี้เหมาะสำหรับการสร้างอินสแตนซ์ทดลองสำหรับการตรวจสอบและอัลกอริทึมการเปรียบเทียบ