2010-07-22 16 views
8

Ich habe eine riesige Grafik, die ich gerne mit vielen Maschinen verarbeiten würde.Durchmesser eines riesigen Graphen

Ich hatte berechnen möchte, wenn der Graph Durchmesser größer als 50

Wie würde ich die Daten geteilt und ich würde ich einen parallelen Algorithmus schreiben, die sie berechnen kann? (der Rückgabewert boolean)

Der Graph Durchmesser ist der größte Abstand zwischen jedem Paar von Eckpunkten

+0

Ist der Graph gewichtet oder nicht? – Joel

+0

Ich hatte wie eine Lösung für beide Fälle, Im Allgemeinen ja tut es ... Danke! – DuduAlul

Antwort

4

Der üblicher Weg, diese Zahl out wäre ein All-Paare-Shortest-Path-Algorithmus - die Floyd-Warshall algorithm ist ein guter Anfang. Eine andere Option, die Hadoop verwendet, befindet sich here.

+0

Wie würden Sie den Floyd-Warshall-Algorithmus parallelisieren? – DuduAlul

+0

@MrOhad Sie finden die Quelle für Floyd-Warshall (parallel) hier http://pcl.cs.ucla.edu/projects/maisie/tutorial/programming/samples/apsp.m Erklärung ist hier http: // pcl. cs.ucla.edu/projects/maisie/tutorial/programming/ –

+0

Eigentlich will er keinen parallelen Algorithmus, sondern einen verteilten Algorithmus. Daher die Hadoop-Verbindung. – Joel

Verwandte Themen