Grafik algoritmalarını test etmek için veriler


36

Bazı grafik algoritma uygulamalarını test etmek için büyük veri kümeleri kaynağı arıyorum. Ayrıca, eğer biliniyorsa kaynaktaki grafiklerin türü / dağılımı (örneğin, yönlendirilmiş / yönlendirilmemiş, basit / basit değil, ağırlıklı / ağırlıksız) hakkında da bazı bilgiler verin.



Bu nasıl teorik? :-)
Nils

Yanıtlar:



17

Diğerlerinden daha yüksek düzeyde bir cevap vermeye çalışacağım.

Aşağıdaki girdi sınıfları, önerilen bir algoritmanın performansını veya bir varsayımın grafik teorisindeki geçerliliğini test etmek için genellikle yararlıdır:

  1. HpH

  2. nKn/2,n/2

  3. "Rastgele olmayan" grafikler : Bunlar, rastgele grafiklerde olduğu gibi tamamen jenerik olmak ve yapısal grafiklerde olduğu gibi soruna tamamen özgü olmak arasındadır. Örneğin, böyle bir aile yapılandırılmış grafiklerin rastgele alt yazıları olabilir. Bu tür örnekler sıklıkla Szemerédi'nin düzenlilik lemmasının daha güçlü varyantlarını yaratırken ortaya çıkar . Bu örnekleri üretmenin bir yolu, rasgele girdileri modelleyen bir "sözde rasgele" tanımının ortaya çıkmasıdır, böylece sözde rasgele girdiler için algoritmanızın veya varsayımınızın çalıştığını gösterebilirsiniz. Daha sonra, sözde rasgele giden engelleri belirlersiniz ve bu engellere sahip olan grafikler daha sonra karşı örnekler olan rastgele olmayan büyük bir grafik koleksiyonu oluşturabilir. Bu ilkenin daha ilgili bir tartışmasında bulunabilir.Terry Tao'nun ICM konuşması 2006'da yapıldı . Bu rastgele olmayan grafikler kabaca Ben Green ve diğerleriyle yaptığı çalışmaların bazılarında "sıfırlara" karşılık gelir.


14

Grafik oluşturmak için genellikle gengbirlikte verilen programı kullanıyorum nauty:

http://cs.anu.edu.au/~bdm/nauty/

Bu, yönlendirilmemiş grafikler üretir ("grafikler" olarak da bilinir). Yönlendirilmiş grafikler üretmek için directg, nauty ile birlikte gelen çıktıyı ölçebilirsiniz.

Geng kullanmak, tüm grafikleri (örneğin) köşelere veya kenarları olan nbağlı tüm grafikleri ( mya da benzeri bir şeyle ) denemek istediğiniz senaryolar için uygundur . Daha özel gereksinimleriniz varsa, lütfen bunları sorunuzda belirtiniz.


11

Stanford GraphBase sizin için yardımcı olabilir: http://www-cs-staff.stanford.edu/~knuth/sgb.html

Ancak, her durumda, muhtemelen, grafikleri kendiniz oluşturmak isteyeceksiniz ve oluşturulan grafiklerin hepsinin belirli özelliklere sahip olmasını (veya içermemesini) isteyeceksiniz. Rastgele grafikler genellikle bir algoritmanın kullandığı grafiklerin zayıf bir yaklaşımıdır.


9

Çok büyük değil, ama yine de faydalı olabilir, Mathematica'nın GraphData koleksiyonundan 3054 "standart grafik adı"

Format, satır başına bir grafiktir, bunun gibi bitişik düğümlerin adı ve listesiyle birlikte

{<grafik adı>, {{1, 4}, {1, 5}, {1, 6}, {2, 5}, {2, 6}, {3, 6}}

<grafik adı> "AGraph" veya {"Andrasfai" şeklinde olabilir, 6}


Bu grafikler mi yoksa yönlendirilmiş grafikler mi?
Emil



3

9 DIMACS Uygulama Challenge - En Kısa Yolu elde edilebilmesi amacıyla 2005-2006 yıllarında ran "standart kriter örnekleri ve jeneratörlerinin seti yanı sıra tanınmış en kısa yol algoritmaları kriter uygulamalarını."

İndirme sayfası, mesafe ve zaman ağırlıkları ile birlikte 2 MB ila 335 MB arasında değişen sıkıştırılmış ABD yol ağı grafiklerini içerir.

http://www.dis.uniroma1.it/challenge9/download.shtml

Bunu, grafik işlevlerinin kendi oyuncak uygulamalarını karşılaştırmak için faydalı buldum.


0

Silahşör kullanabilirsiniz, bkz.

https://people.cs.clemson.edu/~isafro/musketeer/index.html

Bu, bazı girdi grafiklerini kabul eden ve orijinaline keyfi olarak benzer olabilecek başka bir grafik üreten çok ölçekli bir grafik oluşturucudur. Parametreler, farklı kaba taneli çözünürlüklerde yeni bir yapı oluşturmak için yeterince esnektir. Galerideki örneklere bakın. Bu paket, doğrulama ve kıyaslama algoritmaları için deneysel örnekler oluşturmak için mükemmeldir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.