Ist es möglich (Schrägstrich können Sie ein Beispiel angeben), die Rechenkomplexität eines Problems durch Verwendung eines parallelen Algorithmus zu reduzieren, für den im Verhältnis zur Eingabegröße keine Anzahl von Prozessoren erforderlich ist?
cc.complexity-theory
dc.parallel-comp
Nick Larsen
quelle
quelle
Antworten:
Wenn Sie O (1) -Prozessoren meinen, kann die Rechenkomplexität nicht reduziert werden.
Richten Sie einfach die von jedem Prozessor geleistete Arbeit aus und erledigen Sie sie auf einem einzigen. Wenn Sie sich Sorgen um die Synchronisation machen, kann ein Prozessor dies problemlos emulieren.
quelle
Es gibt ein aufstrebendes Feld grobkörniger paralleler Algorithmen, bei dem die Laufzeit (und der sonstige Rechenressourcenverbrauch) als Funktion der unabhängigen Parameter n (Eingabegröße) und p (Anzahl der Prozessoren) betrachtet werden, häufig unter der natürlichen Annahme n >> p .
Ein guter Ausgangspunkt ist Google für "Bulk-Synchronous Parallelity".
quelle
Dieses Papier könnte Sie interessieren:
Superlineare Leistung bei paralleler Echtzeitberechnung von Selim Akl.
Er liefert Beispiele für Rechenprobleme, bei denen "die sequentielle Lösung mehr als mal langsamer ist als eine parallele Lösung mit Prozessoren"; Dies geschieht durch kreative Interpretation des Konzepts eines "Rechenproblems".nn n
quelle
Wenn Sie die Aufgabe an Prozessoren (wobei eine Konstante ist) verteilen .pp p
Aber KEINE Komplexität ändert sich.
quelle
"Sie können es nicht mit 1 Prozessor berechnen, aber Sie können mit 2 berechnen."
Dies ist nicht möglich, vorausgesetzt, beide Prozessoren sind TMs oder ein weniger leistungsfähiges Modell. Aus Wikipedia für Multi-Tape-Maschinen:
Auch für Mehrkopfmaschinen aus "Lineare Zeitsimulation von Mehrkopf-Turingmaschinen mit Kopf-Kopf-Sprüngen" von Walter J. Savitch und Paul MB Vitányi:
quelle
Vielleicht ist "parallel oder" (wenn zwei Funktionen einen Booleschen Wert zurückgeben, sagen Sie, ob eine von ihnen true zurückgibt, da einer von ihnen, aber nicht beide, möglicherweise nicht beendet werden kann) das, worüber Sie sprechen: Sie können nicht berechnen es mit 1 Prozessor, kann aber mit 2 berechnen.
Dies hängt jedoch stark davon ab, welches Rechenmodell Sie verwenden, ob Sie die Prozesse als Black Box oder als Beschreibung erhalten, die Sie selbst interpretieren können usw.
quelle