6.4 MPC: Relationen und Funktionen auswerten
Eine Relation - genauer gesagt, eine binäre Relation - zwischen zwei
Mengen
Die Abbildung ist nicht vollständig; weder sind alle Sprachen aufgeführt noch alle Länder.
Beachten Sie, dass
die USA keine offizielle Amtssprache haben. Als mathematisches Objekt betrachtet
ist obige Abbildung eine Relation
Im MPC-Modell ist eine Relation dadurch gegeben, dass die Elemente
aus
Problem 6.4.1 (Relation auswerten).
Die Eingabe zu diesem Problem besteht aus einer Relation
- eine Funktion
zu berechnen, sich also für jedes auf ein zu einigen, für das gilt, bzw. auf , falls es kein solches gibt; - dass jede Maschine, die anfangs ein Query-Item
hält, am Schluss der Berechnung das Item hat.
In Worten: jede Maschine, die anfangs
Theorem 6.4.2
Gegeben sei eine Relation
Algorithmus. Anfangs liegen Daten-Items und Query-Items beliebig über die Maschinen verteilt. Hier ein Beispiel mit sechs Maschinen und fünf Items pro Maschine.
Beachten Sie, dass Maschine
Maschine
(B, d, 5) (B, f, 4) (B, n, 6) (B, ?, 1) (B, ?, 2) (B, ?, 3) (B, ?, 4) (B, ?, 6) (D, d, 4) (D, ?, 1) (D, ?, 2) (D, ?, 3) (D, ?, 4) (D, ?, 5) (I, d, 4) (I, i, 3) (I, ?, 2) (I, ?, 3) (I, ?, 5) (I, ?, 6) (N, n, 1) (N, ?, 5) (S, d, 6) (S, f, 3) (S, i, 1) (S, ?, 1) (S, ?, 2) (U, ?, 2) (U, ?, 5) (U, ?, 6)
Wir bilden auf diesem Array nun eine Präfixsumme, wobei wir immer die neueste Antwort
"mitschleppen", solange diese die aktuelle Frage beantwortet. Formal definieren
wir uns eine Verknüpfungsoperation
In Worten:
(B, d, 5)* (B, d, 5)* (B, f, 4)* (B, f, 4)* (B, n, 6)* (B, n, 6)* (B, ?, 1) (B, n, 1) (B, ?, 2) (B, n, 2) (B, ?, 3) (B, n, 3) (B, ?, 4) (B, n, 4) (B, ?, 6) (B, n, 6) (D, d, 4)* (D, d, 4)* (D, ?, 1) (D, d, 1) (D, ?, 2) (D, d, 2) (D, ?, 3) (D, d, 3) (D, ?, 4) (D, d, 4) (D, ?, 5) (D, d, 5) (I, d, 4)* (I, d, 4)* (I, i, 3)* (I, i, 3)* (I, ?, 2) (I, i, 2) (I, ?, 3) (I, i, 3) (I, ?, 5) (I, i, 5) (I, ?, 6) (I, i, 6) (N, n, 1)* (N, n, 1)* (N, ?, 5) (N, n, 5) (S, d, 6)* (S, d, 6)* (S, f, 3)* (S, f, 3)* (S, i, 1)* (S, i, 1)* (S, ?, 1) (S, i, 1) (S, ?, 2) (S, i, 2) (U, ?, 2) (U, i, 2) (U, ?, 5) (U, i, 5) (U, ?, 6) (U, i, 6)
Jetzt schicken wir alle Ergebnisse der Präfixsumme an die jeweilige Rücksendeadresse zurück und erhalten folgendes Bild:
Die Rücksendeadresse haben wir hier weggelassen, weil sie jetzt nicht mehr interessant ist.
Die Sternchen sind wichtig, weil nun zum Beispiel Maschine die Items
Laufzeit. Wie wir in Kapitel 6.3
gesehen haben,
können wir in
Falls es zu