RAM und PRAM

Werbung
Kapitel 4
Para!ele Algorithmen
Thursday, December 2, 2010
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite2
Unter parallelen. und verteilten Algorithmen wird
die Erweiterung von klassischen, für
.
Einprozessormaschinen
konzipierten Algorithmen
auf viele miteinander kooperierende Prozessoren
verstanden.
Prozesse und Nebenl!u"gkeit
#
Formale Grundlagen
der Informatik
IIKap4: Referenznetze
Thursday, December 2, 2010
Seit$ 4:
01 Para!ele Algorithmen (Teil 1)
Kap
Seite2
Parallele Algorithmen
beruhen in der Regel auf
.
Speicher- oder Rendezvous-Synchronisation und
.
haben eine synchrone
Ablaufsemantik.
Prozesse und Nebenl!u"gkeit
#
Formale Grundlagen
der Informatik
IIKap4: Referenznetze
Thursday, December 2, 2010
Seit$ 4:
01 Para!ele Algorithmen (Teil 1)
Kap
Seite 3
Parallele Algorithmen
beruhen in der Regel auf
.
Speicher- oder Rendezvous-Synchronisation und
.
haben eine synchrone
Ablaufsemantik.
Prozesse und Nebenl!u"gkeit
#
Formale Grundlagen
der Informatik
IIKap4: Referenznetze
Thursday, December 2, 2010
Seit$ 4:
01 Para!ele Algorithmen (Teil 1)
Kap
Seite 3
Charakteristisch. für die verteilten Algorithmen ist
dagegen Nachrichten-Synchronisation.
.
Prozesse und Nebenl!u"gkeit
#
Formale Grundlagen
der Informatik
IIKap4: Referenznetze
Thursday, December 2, 2010
Seit$ 4:
01 Para!ele Algorithmen (Teil 1)
Kap
Seite 4
P1,1
P1,2
P1,3
P1,4
P2,1
P2,2
P2,3
P2,4
P3,1
P3,2
P3,3
P3,4
P4,1
P4,2
P4,3
P4,4
2-dimensionales Feld
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 5
P1,1
P1,2
P1,3
P1,4
P2,1
P2,2
P2,3
P2,4
P3,1
P3,2
P3,3
P3,4
P4,1
P4,2
P4,3
P4,4
Ring
2-dimensionales Feld
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 5
P1,1
P1,2
P1,3
P1,4
P2,1
P2,2
P2,3
P2,4
P3,1
P3,2
P3,3
P3,4
P4,1
P4,2
P4,3
P4,4
Ring
Baum
2-dimensionales Feld
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 5
P1,1
P1,2
P1,3
P1,4
P2,1
P2,2
P2,3
P2,4
Ring
Baum
Feld (array)
P3,1
P3,2
P3,3
P3,4
P4,1
P4,2
P4,3
P4,4
2-dimensionales Feld
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 5
P1,1
P1,2
P1,3
P1,4
P2,1
P2,2
P2,3
P2,4
Ring
Baum
Feld (array)
P3,1
P3,2
P3,3
P3,4
P4,1
P4,2
P4,3
P4,4
...
2-dimensionales Feld
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 5
P1,1
P1,2
P1,3
P1,4
P2,1
P2,2
P2,3
P2,4
Ring
Baum
Feld (array)
P3,1
P3,2
P3,3
P3,4
P4,1
P4,2
P4,3
P4,4
...
gemeinsamer
Speicher
2-dimensionales Feld
P1
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
P2
Pr
Seite 5
P1,1
P1,2
P1,3
P1,4
P2,1
P2,2
P2,3
P2,4
Ring
Baum
Feld (array)
P3,1
P3,2
P3,3
P3,4
P4,1
P4,2
P4,3
P4,4
...
gemeinsamer
Speicher
2-dimensionales Feld
P1
P2
Pr
P RAM
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 5
P1,1
P1,2
P1,3
P1,4
P2,1
P2,2
P2,3
P2,4
Ring
Baum
Feld (array)
P3,1
P3,2
P3,3
P3,4
P4,1
P4,2
P4,3
P4,4
...
gemeinsamer
Speicher
2-dimensionales Feld
P1
P2
Pr
P RAM
Para!el Random-Access Machine
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 5
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
1
6.1
4.1 Random-Access-Maschine (RAM)
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
x5
Lesekopf
Instruction
Counter
PROGRAMMSPEICHER
Arithmetical
Logical
Unit
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Adress
Counter
Schreibkopf
Ausgabeband
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Akkumulator
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 6
x1
x2
x3
x4
x5
Lesekopf
PROGRAMMSPEICHER
DATENSPEICHER
IC
R0
R1
R2
ALU
Akkumulator
AC
Schreibkopf
Ausgabeband
beliebige reelle Zahl
Operationen
Abbildung 7.2: RAM – Random Access Machine
READ
WRITE
Operationen
Operand
LOAD
READ
op
= i – die Zahl i
WRITE
op
i – Inhalt des
STORE
LOAD
op
Registers Ri
ADD
STORE
op
∗i – indirekte Adresse
ADD
op
(Inhalt des Registers Rj , wobei j
SUB
SUB
op
der Inhalt des Registers Ri ist)
JUMP
label
JUMP
JZERO
label
label – Befehlsadresse
JZERO
JGZERO
label
JGZERO
FGI-2/WiSe 2006/07
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
op
op
op
op
op
op
label
label
label
Operand
= i – die Zahl i
i – Inhalt des
Registers Ri
∗i – indirekte Adresse
(Inhalt des Registers Rj , wobei j
der Inhalt des Registers Ri ist)
label – Befehlsadresse
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 7
x1
x2
x3
x4
x5
Lesekopf
PROGRAMMSPEICHER
DATENSPEICHER
IC
R0
R1
R2
ALU
Akkumulator
AC
Schreibkopf
Ausgabeband
beliebige reelle Zahl
Operationen
Abbildung 7.2: RAM – Random Access Machine
READ
WRITE
Operationen
Operand
LOAD
READ
op
= i – die Zahl i
WRITE
op
i – Inhalt des
STORE
LOAD
op
Registers Ri
ADD
STORE
op
∗i – indirekte Adresse
ADD
op
(Inhalt des Registers Rj , wobei j
SUB
SUB
op
der Inhalt des Registers Ri ist)
JUMP
label
JUMP
JZERO
label
label – Befehlsadresse
JZERO
JGZERO
label
JGZERO
FGI-2/WiSe 2006/07
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
op
op
op
op
op
op
label
label
label
Operand
= i – die Zahl i
i – Inhalt des
Registers Ri
∗i – indirekte Adresse
(Inhalt des Registers Rj , wobei j
der Inhalt des Registers Ri ist)
label – Befehlsadresse
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 7
Tabelle 6.1:
4.1 Die Befehle einer RAM
Instruktion
1. LOAD a
2. STORE i
STORE ∗i
∗
3. ADD
3. ADD a
4. SUB a
5. MULT a
6. DIV a
7. READ
Bedeutung
c(0) ← v(a)
c(i) ← c(0)
c – Speicherabbildung
c(c(i)) ← c(0)
←
c(i) Der Inhalt des Registers Ri .
(0) ← (0) + ( )
c(0) ← c(0) + v(a)
c(0) ← c(0) − v(a)
c(0) ← c(0) × v(a)
v(= i) = i
c(0) ← �c(0) ÷ v(a)�
v(i) = c(i)
()
derzeitiges Eingab v(a) – Der Wert von a
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
v(∗i) = c(c(i))
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 8
Tabelle 6.1:
4.1 Die Befehle einer RAM
Instruktion
1. LOAD a
2. STORE i
STORE ∗i
∗
3. ADD
3. ADD a
4. SUB a
5. MULT a
6. DIV a
7. READ
7.
READ i
READ ∗i
8.
WRITE a
9.
JUMP b
10.
JGTZ b
11.
JZERO b
12.
HALT
Bedeutung
c(0) ← v(a)
c(i) ← c(0)
c – Speicherabbildung
c(c(i)) ← c(0)
←
c(i) Der Inhalt des Registers Ri .
(0) ← (0) + ( )
c(0) ← c(0) + v(a)
c(0) ← c(0) − v(a)
c(0) ← c(0) × v(a)
v(= i) = i
c(0) ← �c(0) ÷ v(a)�
v(i) = c(i)
()
derzeitiges Eingab v(a) – Der Wert von a
←�
÷
�
c(i) ← derzeitiges Eingabesymbol
c(c(i)) ← derzeitiges Eingabesymbol. Der Kopf auf dem Eingabeband geht in beiden Fällen um ein Feld nach rechts.
v(a) wird in das Feld auf dem Ausgabeband geschrieben über dem
sich gerade der Bandkopf befindet. Danach wird der Kopf um ein
Feld nach rechts bewegt.
Der location counter (Befehlsregister) wird auf die mit b markierte
Anweisung gesetzt.
Der location counter wird auf die mit b markierte Anweisung gesetzt, wenn c(0) > 0 ist, sonst auf die nachfolgende Anweisung.
Der location counter wird auf die mit b markierte Anweisung gesetzt, wenn c(0) = 0 ist, sonst auf die nachfolgende Anweisung.
Programmausführung beenden.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
v(∗i) = c(c(i))
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 8
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1

if r1 ≤ 0 then write 0

�












r2 ← r1
r3 ← r1 – 1
while r3 > 0 do
r2 ← r2 * r1
r3 ← r3 – 1
write r2
4.3 f (n) = nn (RAM–Programm)
Abbildung 7.3:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 9
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1

if r1 ≤ 0 then write 0

�












r2 ← r1
r3 ← r1 – 1
while r3 > 0 do
r2 ← r2 * r1
r3 ← r3 – 1
write r2
BEGIN
READ r1;
IF r1 ≤ 0 THEN WRITE 0
ELSE
BEGIN
r2 ← r1;
r3 ← r1 - 1;
WHILE r3 > 0 DO
BEGIN
r2 ← r2 * r1;
r3 ← r3 - 1
END;
WRITE r2
END
END
Abbildung 7.4: f (n) = nn (Hochsprache)
4.3 f (n) = nn (RAM–Programm)
Abbildung 7.3:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 9
6.1.2
Komplexitätsmaße für die RAM
Uniformes Zeitmaß:
1 Schritt = 1 Zeiteinheit
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Uniformes Platzmaß:
1 Register = 1 Platzeinheit
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 10
6.1.2
Komplexitätsmaße für die RAM
Uniformes Zeitmaß:
1 Schritt = 1 Zeiteinheit
Uniformes Platzmaß:
1 Register = 1 Platzeinheit
das logarithmische Komplexitätsmaß v
als Summe�der logarithmischen Kosten
�log i� + 1
i �= 0
l(i) =
1
i=0
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 10
6.1.2
Komplexitätsmaße für die RAM
Uniformes Zeitmaß:
1 Schritt = 1 Zeiteinheit
Uniformes Platzmaß:
1 Register = 1 Platzeinheit
das logarithmische Komplexitätsmaß v
als Summe�der logarithmischen Kosten
�log i� + 1
i �= 0
l(i) =
1
i=0
Operand a
=i
i
∗i
Kosten t(a)
l(i)
l(i) + l(c(i))
l(i) + l(c(i)) + l(c(c(i)))
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Wert
Wert + Adresse
Wert + Adresse + Adresse
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 10
Definition 7.4
4.4 Die uniforme (logarithmische) Zeitkomplexität eines
RAM–Programms A ist die maximale Anzahl TA (n) der Summen der
uniformen (logarithmischen) Kosten aller Schritte des Programms bis
zur Termination, wobei das Maximum über alle Eingaben der uniformen (logarithmischen) Größe n gebildet wird.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 11
Definition 7.4
4.4 Die uniforme (logarithmische) Zeitkomplexität eines
RAM–Programms A ist die maximale Anzahl TA (n) der Summen der
uniformen (logarithmischen) Kosten aller Schritte des Programms bis
zur Termination, wobei das Maximum über alle Eingaben der uniformen (logarithmischen) Größe n gebildet wird.
Die uniforme (logarithmische) Platzkomplexität eines RAM–Programms A ist die maximale Summe SA (n) der uniformen (logarithmischen) Kosten aller Register, die dieses Programm bis zur Termination
addressiert, wobei das Maximum über alle Eingaben der uniformen (logarithmischen) Größe n gebildet wird.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 11
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1 Zeitkomplexität
Platzkomplexität

if r1 ≤ 0 then write 0

�












uniforme Kosten
O(n)
O(1)
logarith. Kosten
O(n2 log n)
O(n log n)
r2 ← r1
r3 ← r1 – 1
while r3 > 0 do
r2 ← r2 * r1
r3 ← r3 – 1
write r2
Abbildung 7.3:
4.3 f (n) = nn (RAM–Programm)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 12
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1 Zeitkomplexität
Platzkomplexität

if r1 ≤ 0 then write 0

�












uniforme Kosten
O(n)
O(1)
r2 ← r1
r3 ← r1 – 1
while r3 > 0 do
r2 ← r2 * r1
r3 ← r3 – 1
write r2
Abbildung 7.3:
4.3 f (n) = nn (RAM–Programm)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
logarith. Kosten
O(n2 log n)
O(n log n)
Kap 4: Para!ele Algorithmen (Teil 1)
BEGIN
READ r1;
IF r1 ≤ 0 THEN WRITE 0
ELSE
BEGIN
r2 ← r1;
r3 ← r1 - 1;
WHILE r3 > 0 DO
BEGIN
r2 ← r2 * r1;
r3 ← r3 - 1
END;
WRITE r2
END
END
Seite 12
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1 Zeitkomplexität
Platzkomplexität

if r1 ≤ 0 then write 0

�












uniforme Kosten
O(n)
O(1)
r2 ← r1
r3 ← r1 – 1
while r3 > 0 do
r2 ← r2 * r1
r3 ← r3 – 1
write r2
Abbildung 7.3:
4.3 f (n) = nn (RAM–Programm)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
logarith. Kosten
O(n2 log n)
O(n log n)
Kap 4: Para!ele Algorithmen (Teil 1)
BEGIN
READ r1;
IF r1 ≤ 0 THEN WRITE 0
ELSE
BEGIN
r2 ← r1;
r3 ← r1 - 1;
WHILE r3 > 0 DO
BEGIN
r2 ← r2 * r1;
r3 ← r3 - 1
END;
WRITE r2
END
END
Seite 12
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1 Zeitkomplexität
Platzkomplexität

if r1 ≤ 0 then write 0

�












uniforme Kosten
O(n)
O(1)
r2 ← r1
r3 ← r1 – 1
while r3 > 0 do
r2 ← r2 * r1
r3 ← r3 – 1
write r2
Abbildung 7.3:
4.3 f (n) = nn (RAM–Programm)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
logarith. Kosten
O(n2 log n)
O(n log n)
Kap 4: Para!ele Algorithmen (Teil 1)
BEGIN
READ r1;
IF r1 ≤ 0 THEN WRITE 0
ELSE
BEGIN
r2 ← r1;
r3 ← r1 - 1;
WHILE r3 > 0 DO
BEGIN
r2 ← r2 * r1;
r3 ← r3 - 1
END;
WRITE r2
END
END
Seite 12
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1 Zeitkomplexität
Platzkomplexität

if r1 ≤ 0 then write 0

�












r2 ← r1
uniforme Kosten
O(n)
O(1)
Thursday, December 2, 2010
i
n ·n
r3 ← r1 – 1
while r3 > 0 do
r2 ← r2 * r1
r3 ← r3 – 1
write r2
Abbildung 7.3:
4.3 f (n) = nn (RAM–Programm)
Formale Grundlagen der Informatik II
logarith. Kosten
O(n2 log n)
O(n log n)
Kap 4: Para!ele Algorithmen (Teil 1)
BEGIN
READ r1;
IF r1 ≤ 0 THEN WRITE 0
ELSE
BEGIN
r2 ← r1;
r3 ← r1 - 1;
WHILE r3 > 0 DO
BEGIN
r2 ← r2 * r1;
r3 ← r3 - 1
END;
WRITE r2
END
END
Seite 12
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1 Zeitkomplexität
Platzkomplexität

if r1 ≤ 0 then write 0

�












r2 ← r1
r3 ← r1 – 1
uniforme Kosten
O(n)
O(1)
Thursday, December 2, 2010
i
n
·
n
logarithmischen
Die
Kost
l(ni ) + l(n) ≈ (i + 1) log n u
sind
while r3 > 0 do
r2 ← r2 * r1
r3 ← r3 – 1
write r2
Abbildung 7.3:
4.3 f (n) = nn (RAM–Programm)
Formale Grundlagen der Informatik II
logarith. Kosten
O(n2 log n)
O(n log n)
Kap 4: Para!ele Algorithmen (Teil 1)
BEGIN
READ r1;
IF r1 ≤ 0 THEN WRITE 0
ELSE
BEGIN
r2 ← r1;
r3 ← r1 - 1;
WHILE r3 > 0 DO
BEGIN
r2 ← r2 * r1;
r3 ← r3 - 1
END;
WRITE r2
END
END
Seite 12
pos:
while:
continue:
endwhile:
endif:
READ
LOAD
JGTZ
WRITE
JUMP
LOAD
STORE
LOAD
SUB
STORE
LOAD
JGTZ
JUMP
LOAD
MULT
STORE
LOAD
SUB
STORE
JUMP
WRITE
HALT
1
1
pos
=0
endif
1
2
1
=1
3
3
continue
endwhile
2
1
2
3
=1
3
while
2
 read r1 Zeitkomplexität
Platzkomplexität

if r1 ≤ 0 then write 0

�












r2 ← r1
r3 ← r1 – 1
while r3 > 0 do
r2 ← r2 * r1
uniforme Kosten
O(n)
O(1)
i
n
·
n
logarithmischen
Die
Kost
l(ni ) + l(n) ≈ (i + 1) log n u
sind
n−1
�
(i + 1) log n = O(n2 log n)
i=1
r3 ← r3 – 1
write r2
Abbildung 7.3:
4.3 f (n) = nn (RAM–Programm)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
logarith. Kosten
O(n2 log n)
O(n log n)
Kap 4: Para!ele Algorithmen (Teil 1)
BEGIN
READ r1;
IF r1 ≤ 0 THEN WRITE 0
ELSE
BEGIN
r2 ← r1;
r3 ← r1 - 1;
WHILE r3 > 0 DO
BEGIN
r2 ← r2 * r1;
r3 ← r3 - 1
END;
WRITE r2
END
END
Seite 12
Die aktuelle Konfiguration einer RAM läßt sich eindeutig aus dem Inhalt
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
4.1.3
7.1.3
Wechselseitige Simulation einer RAM und einer
Eine RAM wird durch ein
Programm spezifiziert. Dies ist eine endliche,
Turing-Machine
fortlaufend nummerierte Folge b , b , . . . von Befehlen aus einer vorgege0
benen Befehlsmenge B.
1
beliebige reelle Zahl
Da RAMs und RASPs
einander mit nur konstantem Zeitverlust“ simu”
xlieren,
x
x
x
x
genügt es, nur eines dieser Modelle zu betrachten. Wir betrachten
Lesekopf
die RAM, da hier ein
Vergleich mit der TM einfacher ist.
Eingabeband
1
2
3
4
5
PROGRAMMSPEICHER
DATENSPEICHER
Die nächsteICwichtige RFrage: RAM und TM sind zwei sehr verschiedene
Akkumulator
Modelle. Wie
ALU schnell Rkönnen sie einander simulieren ?
R
0
1
2
AC
Satz 7.6 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eine RAM+ simuliertSchreibkopf
werden, die im uniformen Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitAusgabeband
beschränkt ist.
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Der Beweis stammt aus [HMU79]. Einen etwas ausführlicheren finden die
Leser(innen)
bei [Pau78].
Sehr detaillierte Beweise finden sich in [Rei90].
Operationen
Operand
READ
op
= i – die Zahl i
Beweis:
WRITE
op
i – Inhalt des
LOAD
op
Registers Ri
STORE
op
∗i – indirekte Adresse
ADD
op
(Inhalt des Registers Rj , wobei j
SUB
op
der Inhalt des Registers Ri ist)
Formale Grundlagen
der Informatik
II
JUMP
label
Thursday, December
2, 2010
JZERO
label
label – Befehlsadresse
M habe k einseitig unendliche Bänder. Die simulierende RAM + (in der
Kapält
4: Para!ele
1)
Seite 13
Graphik mi R bezeichnet) verh
sich Algorithmen
auf dem(TeilEinund Ausgabeband
Die aktuelle Konfiguration einer RAM läßt sich eindeutig aus dem Inhalt
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
4.1.3
7.1.3
Wechselseitige Simulation einer RAM und einer
Eine RAM wird durch ein
Programm spezifiziert. Dies ist eine endliche,
Turing-Machine
fortlaufend nummerierte Folge b , b , . . . von Befehlen aus einer vorgege0
benen Befehlsmenge B.
1
beliebige reelle Zahl
" !Zeitverlust“ simuDa RAMs und RASPs
einander mit nur konstantem
”
xlieren,
x
x
x
x
# A zu
genügt es, nur eines dieser Modelle
R betrachten.
B E I T SWir
B betrachten
A N D ###
Lesekopf
# ist.
die RAM, da hier ein
Vergleich mit der TM einfacher
Eingabeband
1
2
3
4
5
PROGRAMMSPEICHER
DATENSPEICHER
Die nächsteICwichtige RFrage: RAM und TM sind zwei sehr verschiedene
Akkumulator
Modelle. Wie
ALU schnell Rkönnen sie einander simulieren ?
R
0
1
2
AC
SteuerEndliche
Satz 7.6 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiKontrolle
einheit
ne RAM+ simuliertSchreibkopf
werden, die im uniformen
Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitAusgabeband
beschränkt ist.
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Der Beweis stammt aus [HMU79]. Einen etwas ausführlicheren finden die
Leser(innen)
bei [Pau78].
Sehr detaillierte Beweise finden sich in [Rei90].
Operationen
Operand
READ
op
= i – die Zahl i
Beweis:
WRITE
op
i – Inhalt des
LOAD
op
Registers Ri
STORE
op
∗i – indirekte Adresse
ADD
op
(Inhalt des Registers Rj , wobei j
SUB
op
der Inhalt des Registers Ri ist)
Formale Grundlagen
der Informatik
II
JUMP
label
Thursday, December
2, 2010
JZERO
label
label – Befehlsadresse
M habe k einseitig unendliche Bänder. Die simulierende RAM + (in der
Kapält
4: Para!ele
1)
Seite 13
Graphik mi R bezeichnet) verh
sich Algorithmen
auf dem(TeilEinund Ausgabeband
Die aktuelle Konfiguration einer RAM läßt sich eindeutig aus dem Inhalt
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
4.1.3
7.1.3
Wechselseitige Simulation einer RAM und einer
Eine RAM wird durch ein
Programm spezifiziert. Dies ist eine endliche,
Turing-Machine
fortlaufend nummerierte Folge b , b , . . . von Befehlen aus einer vorgege-
Maß T (n)–zeitb
" !Zeitverlust“ simuDa RAMs und RASPs einander mit nur konstantem
”
Division)
# A zu
lieren, genügt es, nur eines dieser Modelle
R betrachten.
B E I T SWir
B betrachten
A N D ###
0
benen Befehlsmenge B.
1
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
x5
Lesekopf
# ist.
die RAM, da hier ein
Vergleich mit der TM einfacher
PROGRAMMSPEICHER
DATENSPEICHER
Die nächsteICwichtige RFrage: RAM und TM sind zwei sehr verschiedene
Akkumulator
Modelle. Wie
ALU schnell Rkönnen sie einander simulieren ?
R
0
1
2
AC
SteuerEndliche
Satz 7.6 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiKontrolle
einheit
ne RAM+ simuliertSchreibkopf
werden, die im uniformen
Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitAusgabeband
beschränkt ist.
beliebige reelle Zahl
?
Abbildung 7.2: RAM – Random Access Machine
Der Beweis stammt aus [HMU79]. Einen etwas ausführlicheren finden die
Leser(innen)
bei [Pau78].
Sehr detaillierte Beweise finden sich in [Rei90].
Operationen
Operand
READ
op
= i – die Zahl i
Beweis:
WRITE
op
i – Inhalt des
LOAD
op
Registers Ri
STORE
op
∗i – indirekte Adresse
ADD
op
(Inhalt des Registers Rj , wobei j
SUB
op
der Inhalt des Registers Ri ist)
Formale Grundlagen
der Informatik
II
JUMP
label
Thursday, December
2, 2010
JZERO
label
label – Befehlsadresse
M habe k einseitig unendliche Bänder. Die simulierende RAM + (in der
Kapält
4: Para!ele
1)
Seite 13
Graphik mi R bezeichnet) verh
sich Algorithmen
auf dem(TeilEinund Ausgabeband
Die aktuelle Konfiguration einer RAM läßt sich eindeutig aus dem Inhalt
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
4.1.3
7.1.3
Wechselseitige Simulation einer RAM und einer
Eine RAM wird durch ein
Programm spezifiziert. Dies ist eine endliche,
Turing-Machine
fortlaufend nummerierte Folge b , b , . . . von Befehlen aus einer vorgege-
Maß T (n)–zeitb
" !Zeitverlust“ simuDa RAMs und RASPs einander mit nur konstantem
”
Division)
# A zu
lieren, genügt es, nur eines dieser Modelle
R betrachten.
B E I T SWir
B betrachten
A N D ###
0
benen Befehlsmenge B.
1
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
x5
Lesekopf
# ist.
die RAM, da hier ein
Vergleich mit der TM einfacher
PROGRAMMSPEICHER
DATENSPEICHER
Die nächsteICwichtige RFrage: RAM und TM sind zwei sehr verschiedene
Akkumulator
Modelle. Wie
ALU schnell Rkönnen sie einander simulieren ?
R
0
1
2
AC
SteuerEndliche
Satz 7.6 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiKontrolle
einheit
ne RAM+ simuliertSchreibkopf
werden, die im uniformen
Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitAusgabeband
beschränkt ist.
beliebige reelle Zahl
aß O(T
log
T (n))-zei
?stammt
Der(n)
Beweis
aus [HMU79]. Einen etwas ausführlicheren finden die
Abbildung 7.2: RAM – Random Access Machine
Leser(innen)
bei [Pau78].
Sehr detaillierte Beweise finden sich in [Rei90].
Operationen
Operand
READ
op
= i – die Zahl i
Beweis:
WRITE
op
i – Inhalt des
LOAD
op
Registers Ri
STORE
op
∗i – indirekte Adresse
ADD
op
(Inhalt des Registers Rj , wobei j
SUB
op
der Inhalt des Registers Ri ist)
Formale Grundlagen
der Informatik
II
JUMP
label
Thursday, December
2, 2010
JZERO
label
label – Befehlsadresse
M habe k einseitig unendliche Bänder. Die simulierende RAM + (in der
Kapält
4: Para!ele
1)
Seite 13
Graphik mi R bezeichnet) verh
sich Algorithmen
auf dem(TeilEinund Ausgabeband
Die aktuelle Konfiguration einer RAM läßt sich eindeutig aus dem Inhalt
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
4.1.3
7.1.3
Wechselseitige Simulation einer RAM und einer
Eine RAM wird durch ein
Programm spezifiziert. Dies ist eine endliche,
Turing-Machine
fortlaufend nummerierte Folge b , b , . . . von Befehlen aus einer vorgege-
Maß
T
(n)–zeitb
Maß
T
(n)–zeitb
" !Zeitverlust“ simuDa RAMs und RASPs einander mit nur konstantem
”
Division)
# A zu
lieren, genDivision)
ügt es, nur eines dieser Modelle
R betrachten.
B E I T SWir
B betrachten
A N D ###
0
benen Befehlsmenge B.
1
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
x5
Lesekopf
# ist.
die RAM, da hier ein
Vergleich mit der TM einfacher
PROGRAMMSPEICHER
DATENSPEICHER
Die nächsteICwichtige RFrage: RAM und TM sind zwei sehr verschiedene
Akkumulator
Modelle. Wie
ALU schnell Rkönnen sie einander simulieren ?
R
0
1
2
AC
SteuerEndliche
Satz 7.6 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiKontrolle
einheit
ne RAM+ simuliertSchreibkopf
werden, die im uniformen
Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitAusgabeband
beschränkt ist.
beliebige reelle Zahl
aß O(T
log
T (n))-zei
?stammt
Der(n)
Beweis
aus [HMU79]. Einen etwas ausführlicheren finden die
Abbildung 7.2: RAM – Random Access Machine
Leser(innen)
bei [Pau78].
Sehr detaillierte Beweise finden sich in [Rei90].
Operationen
Operand
READ
op
= i – die Zahl i
Beweis:
WRITE
op
i – Inhalt des
?
M habe k einseitig unendliche Bänder. Die simulierende RAM
LOAD
op
Registers Ri
STORE
op
∗i – indirekte Adresse
ADD
op
(Inhalt des Registers Rj , wobei j
SUB
op
der Inhalt des Registers Ri ist)
Formale Grundlagen
der Informatik
II
JUMP
label
Thursday, December
2, 2010
JZERO
label
label – Befehlsadresse
(in der
Kapält
4: Para!ele
1)
Seite 13
Graphik mi R bezeichnet) verh
sich Algorithmen
auf dem(TeilEinund Ausgabeband
+
Die aktuelle Konfiguration einer RAM läßt sich eindeutig aus dem Inhalt
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
4.1.3
7.1.3
Wechselseitige Simulation einer RAM und einer
Eine RAM wird durch ein
Programm spezifiziert. Dies ist eine endliche,
Turing-Machine
fortlaufend nummerierte Folge b , b , . . . von Befehlen aus einer vorgege-
Maß
T
(n)–zeitb
Maß
T
(n)–zeitb
" !Zeitverlust“ simuDa RAMs und RASPs einander mit nur konstantem
”
Division)
# A zu
lieren, genDivision)
ügt es, nur eines dieser Modelle
R betrachten.
B E I T SWir
B betrachten
A N D ###
0
benen Befehlsmenge B.
1
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
x5
Lesekopf
# ist.
die RAM, da hier ein
Vergleich mit der TM einfacher
PROGRAMMSPEICHER
DATENSPEICHER
Die nächsteICwichtige RFrage: RAM und TM sind zwei sehr verschiedene
Akkumulator
Modelle. Wie
ALU schnell Rkönnen sie einander simulieren ?
R
0
1
2
AC
SteuerEndliche
Satz 7.6 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiKontrolle
einheit
ne RAM+ simuliertSchreibkopf
werden, die im uniformen
Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitAusgabeband
beschränkt ist.
beliebige reelle Zahl
aß O(T
log
T (n))-zei
?stammt
Der(n)
Beweis
aus [HMU79]. Einen etwas ausführlicheren finden die
Abbildung 7.2: RAM – Random Access Machine
Leser(innen)
bei [Pau78].
Sehr detaillierte Beweise finden
sich
in [Rei90].
Operationen
Operand
(d.
h.
RAM
READ
op
= i – die Zahl i
Beweis:
WRITE
op
i – Inhalt des
2
LOAD
op
Registers Ri
STORE
op
∗i – indirekte Adresse
ADD
op
(Inhalt des Registers Rj , wobei j
SUB
op
der Inhalt des Registers Ri ist)
Formale Grundlagen
der Informatik
II
JUMP
label
Thursday, December
2, 2010
JZERO
label
label – Befehlsadresse
O(T
? (n))–zeitb
M habe k einseitig unendliche Bänder. Die simulierende RAM + (in der
Kapält
4: Para!ele
1)
Seite 13
Graphik mi R bezeichnet) verh
sich Algorithmen
auf dem(TeilEinund Ausgabeband
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
x5
Lesekopf
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
Akkumulator
A
R
B
E
I
T
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
# A R B E I T S B A N D ####
x5
#
Lesekopf
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
Akkumulator
A
R
B
E
I
T
SteuerEndliche
Kontrolle
einheit
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
# A R B E I T S B A N D ####
x5
#
Lesekopf
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
Akkumulator
A
R
B
E
I
T
SteuerEndliche
Kontrolle
einheit
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
# A R B E I T S B A N D ####
x5
#
Lesekopf
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
Akkumulator
A
R
B
E
I
T
SteuerEndliche
Kontrolle
einheit
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
# A R B E I T S B A N D ####
x5
#
Lesekopf
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
Akkumulator
A
R
B
E
I
T
Konfiguration der
TM
SteuerEndliche
Kontrolle
einheit
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
# A R B E I T S B A N D ####
x5
#
Lesekopf
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
Akkumulator
A
R
B
E
I
T
Konfiguration der
TM
SteuerEndliche
Kontrolle
einheit
Zustand p
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
#
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
Akkumulator
A
R
B
E
I
T
Konfiguration der
TM
SteuerEndliche
Kontrolle
einheit
Zustand p
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
# A R B E I T S B A N D ####
x5
Lesekopf
PROGRAMMSPEICHER
Position des Kopfes: j = 6
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
#
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
Akkumulator
A
R
B
E
I
T
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
# A R B E I T S B A N D ####
x5
Lesekopf
PROGRAMMSPEICHER
Position des Kopfes: j = 6
Konfiguration der
TM
SteuerEndliche
Kontrolle
einheit
Zustand p
(p,I,U,links,q)
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
#
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
p
A
R
B
E
I
T
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
# A R B E I T S B A N D ####
x5
Lesekopf
PROGRAMMSPEICHER
Position des Kopfes: j = 6
Akkumulator
Konfiguration der
TM
SteuerEndliche
Kontrolle
einheit
Zustand p
(p,I,U,links,q)
14
RAM+
ohne MULT, DIV
7: Parallele Algorithmen
4.7 Eine TKapitel
Satz 7.7
(n)–zeitbeschr
änkte Mehrband DTM M kann durch eine Konfiguration
RAM+ einer
simuliert
werden,
Die aktuelle
RAM läßt sich eindeutig
aus dem die
Inhalt im uniformen Maß O(T (n))-zeitbeder Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
schränkt
ist
und
im logarithmischen Maß O(T (n) log T (n))-zeiteiner Berechnung
sind alle
Register
mit 0 die
initialisiert.
Eine RAM
wird durch
ein Programm
beschr
änkt
ist. spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
x1
x2
x3
x4
#
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
Schreibkopf
Ausgabeband
p
A
R
B
E
I
T
j
beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Thursday, December 2, 2010
" !
# A R B E I T S B A N D ####
x5
Lesekopf
PROGRAMMSPEICHER
Position des Kopfes: j = 6
Akkumulator
Konfiguration der
TM
SteuerEndliche
Kontrolle
einheit
Zustand p
(p,I,U,links,q)
14
RAM+
ohne MULT, DIV
4.7 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiSatz 7.6
ne RAM+ simuliert werden, die im uniformen Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitbeschränkt ist.
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
R6
p
6
A
R
B
E
I
T
Akkumulator
Position des Kopfes: j = 6
" !
# A R B E I T S B A N D ####
#
SteuerEndliche
Kontrolle
einheit
Zustand p
(p,I,U,links,q)
Thursday, December 2, 2010
15
RAM+
ohne MULT, DIV
4.7 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiSatz 7.6
ne RAM+ simuliert werden, die im uniformen Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitbeschränkt ist.
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
...
R6
if r0 =’p’
...
fi
Thursday, December 2, 2010
p
6
A
R
B
E
I
T
Akkumulator
Position des Kopfes: j = 6
" !
# A R B E I T S B A N D ####
#
SteuerEndliche
Kontrolle
einheit
fi
Zustand p
(p,I,U,links,q)
15
RAM+
ohne MULT, DIV
4.7 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiSatz 7.6
ne RAM+ simuliert werden, die im uniformen Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitbeschränkt ist.
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
...
R6
if r0 =’p’
p
6
A
R
B
E
I
T
Akkumulator
Position des Kopfes: j = 6
" !
# A R B E I T S B A N D ####
#
if rc(r1 ) =’I’
...
fi
Thursday, December 2, 2010
SteuerEndliche
Kontrolle
einheit
fi
Zustand p
(p,I,U,links,q)
15
RAM+
ohne MULT, DIV
4.7 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiSatz 7.6
ne RAM+ simuliert werden, die im uniformen Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitbeschränkt ist.
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
...
R6
if r0 =’p’
p
6
A
R
B
E
I U
T
Akkumulator
Position des Kopfes: j = 6
" !
# A R B E I T S B A N D ####
#
if rc(r1 ) =’I’
then rc(r1 ) ←’U’;
...
fi
Thursday, December 2, 2010
SteuerEndliche
Kontrolle
einheit
fi
Zustand p
(p,I,U,links,q)
15
RAM+
ohne MULT, DIV
4.7 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiSatz 7.6
ne RAM+ simuliert werden, die im uniformen Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitbeschränkt ist.
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
...
R6
if r0 =’p’
p
6 5
A
R
B
E
I U
T
Akkumulator
Position des Kopfes: j = 6
" !
# A R B E I T S B A N D ####
#
if rc(r1 ) =’I’
then rc(r1 ) ←’U’;
r1 ← r1 − 1;
...
fi
Thursday, December 2, 2010
fi
SteuerEndliche
Kontrolle
einheit
Zustand p
(p,I,U,links,q)
15
RAM+
ohne MULT, DIV
4.7 Eine T (n)–zeitbeschränkte Mehrband DTM M kann durch eiSatz 7.6
ne RAM+ simuliert werden, die im uniformen Maß O(T (n))-zeitbeschränkt ist und die im logarithmischen Maß O(T (n) log T (n))-zeitbeschränkt ist.
PROGRAMMSPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
AC
...
R6
if r0 =’p’
p q
6 5
A
R
B
E
I U
T
Akkumulator
Position des Kopfes: j = 6
" !
# A R B E I T S B A N D ####
#
if rc(r1 ) =’I’
then rc(r1 ) ←’U’;
r1 ← r1 − 1;
r0 ←’q’ fi
...
fi
Thursday, December 2, 2010
SteuerEndliche
Kontrolle
einheit
Zustand p
(p,I,U,links,q)
15
4.8 Eine im logarithmischen Maß T (n)–zeitbeschränkte RAM+
Satz 7.8
(d. h. RAM ohne Multiplikation und Division) kann durch eine
O(T 2 (n))–zeitbeschränkte 5–Band DTM M simuliert werden.
242
Kapitel 7: Parallele Algorithmen
Die aktuelle Konfiguration einer RAM läßt sich eindeutig aus dem Inhalt
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
Eine RAM wird durch ein Programm spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
" !
x1
x2
x3
x4
Lesekopf
···
# A R B E I T S B A N D ####
#
#
PROGRAMM#
x5
SPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
c0
c1
c2
c3
Akkumulator
AC
SteuerEndliche
Kontrolle
einheit
Schreibkopf
Ausgabeband
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
!beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Seite 16
4.8 Eine im logarithmischen Maß T (n)–zeitbeschränkte RAM+
Satz 7.8
(d. h. RAM ohne Multiplikation und Division) kann durch eine
O(T 2 (n))–zeitbeschränkte 5–Band DTM M simuliert werden.
242
#
#
#
i1
#
c1
#
i2
Kapitel 7: Parallele Algorithmen
#
c2 Die#
# · · · ikRAM#läßt sichckeindeutig
# aus dem
# Inhalt
b ···
aktuelle Konfiguration einer
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
x1
x2
x3
x4
x5
Eine RAM wird durch ein Programm spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
" !
x1
x2
x3
x4
Lesekopf
···
# A R B E I T S B A N D ####
#
#
PROGRAMM#
x5
SPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
c0
c1
c2
c3
Akkumulator
AC
SteuerEndliche
Kontrolle
einheit
Schreibkopf
Ausgabeband
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
!beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Seite 16
4.8 Eine im logarithmischen Maß T (n)–zeitbeschränkte RAM+
Satz 7.8
(d. h. RAM ohne Multiplikation und Division) kann durch eine
O(T 2 (n))–zeitbeschränkte 5–Band DTM M simuliert werden.
242
#
#
#
i1
#
c1
i2
#
c2 Die#
# · · · ikRAM#läßt sichckeindeutig
# aus dem
# Inhalt
b ···
aktuelle Konfiguration einer
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
c0
x1
#
Kapitel 7: Parallele Algorithmen
x2
x3
x4
x5
Eine RAM wird durch ein Programm spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
" !
x1
x2
x3
x4
Lesekopf
···
# A R B E I T S B A N D ####
#
#
PROGRAMM#
x5
SPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
c0
c1
c2
c3
Akkumulator
AC
SteuerEndliche
Kontrolle
einheit
Schreibkopf
Ausgabeband
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
!beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Seite 16
4.8 Eine im logarithmischen Maß T (n)–zeitbeschränkte RAM+
Satz 7.8
(d. h. RAM ohne Multiplikation und Division) kann durch eine
O(T 2 (n))–zeitbeschränkte 5–Band DTM M simuliert werden.
242
#
#
#
i1
#
c1
i2
#
c2 Die#
# · · · ikRAM#läßt sichckeindeutig
# aus dem
# Inhalt
b ···
aktuelle Konfiguration einer
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
c0
x1
#
Kapitel 7: Parallele Algorithmen
x2
x3
x4
x5
Simulation von ADD ∗25:
Eine RAM wird durch ein Programm spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
" !
x1
x2
x3
x4
Lesekopf
···
# A R B E I T S B A N D ####
#
#
PROGRAMM#
x5
SPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
c0
c1
c2
c3
Akkumulator
AC
SteuerEndliche
Kontrolle
einheit
Schreibkopf
Ausgabeband
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
!beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Seite 16
4.8 Eine im logarithmischen Maß T (n)–zeitbeschränkte RAM+
Satz 7.8
(d. h. RAM ohne Multiplikation und Division) kann durch eine
O(T 2 (n))–zeitbeschränkte 5–Band DTM M simuliert werden.
242
#
#
#
i1
#
c1
i2
#
c2 Die#
# · · · ikRAM#läßt sichckeindeutig
# aus dem
# Inhalt
b ···
aktuelle Konfiguration einer
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
c0
x1
#
Kapitel 7: Parallele Algorithmen
x2
x3
x4
x5
Simulation von ADD ∗25:
Eine RAM wird durch ein Programm spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
" !
x1
x2
x3
x4
Lesekopf
···
# A R B E I T S B A N D ####
#
#
PROGRAMM#
x5
SPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
c0
c1
c2
c3
Akkumulator
AC
SteuerEndliche
Kontrolle
einheit
Schreibkopf
Ausgabeband
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
!beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Seite 16
4.8 Eine im logarithmischen Maß T (n)–zeitbeschränkte RAM+
Satz 7.8
(d. h. RAM ohne Multiplikation und Division) kann durch eine
O(T 2 (n))–zeitbeschränkte 5–Band DTM M simuliert werden.
T (n) × S(n)
242
#
#
#
i1
#
c1
i2
#
c2 Die#
# · · · ikRAM#läßt sichckeindeutig
# aus dem
# Inhalt
b ···
aktuelle Konfiguration einer
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
c0
x1
#
Kapitel 7: Parallele Algorithmen
x2
x3
x4
x5
Simulation von ADD ∗25:
Eine RAM wird durch ein Programm spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
" !
x1
x2
x3
x4
Lesekopf
···
# A R B E I T S B A N D ####
#
#
PROGRAMM#
x5
SPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
c0
c1
c2
c3
Akkumulator
AC
SteuerEndliche
Kontrolle
einheit
Schreibkopf
Ausgabeband
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
!beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Seite 16
4.8 Eine im logarithmischen Maß T (n)–zeitbeschränkte RAM+
Satz 7.8
(d. h. RAM ohne Multiplikation und Division) kann durch eine
O(T 2 (n))–zeitbeschränkte 5–Band DTM M simuliert werden.
T (n) × S(n) ≤ T (n) × T (n)
242
#
#
#
i1
#
c1
i2
#
c2 Die#
# · · · ikRAM#läßt sichckeindeutig
# aus dem
# Inhalt
b ···
aktuelle Konfiguration einer
der Datenspeicher und dem Befehlszähler IC bestimmen. Am Anfang
einer Berechnung sind alle Register mit 0 initialisiert.
c0
x1
#
Kapitel 7: Parallele Algorithmen
x2
x3
x4
x5
Simulation von ADD ∗25:
Eine RAM wird durch ein Programm spezifiziert. Dies ist eine endliche,
fortlaufend nummerierte Folge b0 , b1 , . . . von Befehlen aus einer vorgegebenen Befehlsmenge B.
beliebige reelle Zahl
Eingabeband
" !
x1
x2
x3
x4
Lesekopf
···
# A R B E I T S B A N D ####
#
#
PROGRAMM#
x5
SPEICHER
DATENSPEICHER
IC
ALU
R0
R1
R2
c0
c1
c2
c3
Akkumulator
AC
SteuerEndliche
Kontrolle
einheit
Schreibkopf
Ausgabeband
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
!beliebige reelle Zahl
Abbildung 7.2: RAM – Random Access Machine
Seite 16
"Random access stored program machine"
Invariance Thesis: There exists a standard class of machine models,
which includes among others all variants of Turing Machines, all
variants of RAM‘s and RASP‘s with logarithmic time measures,
and also the RAM‘s and RASP‘s in the uniform time measure
and logarithmic space measure, provided only standard arithmetical
instructions of additive type are used. Machine models in this class
simulate each other with polynomically bounded overhead in time,
and constant factor overhead in space.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 17
"Random access stored program machine"
Invariance Thesis: There exists a standard class of machine models,
which includes among others all variants of Turing Machines, all
variants of RAM‘s and RASP‘s with logarithmic time measures,
and also the RAM‘s and RASP‘s in the uniform time measure
and logarithmic space measure, provided only standard arithmetical
instructions of additive type are used. Machine models in this class
simulate each other with polynomically bounded overhead in time,
and constant factor overhead in space.
die 1. Maschinenklasse
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 17
"Random access stored program machine"
Invariance Thesis: There exists a standard class of machine models,
which includes among others all variants of Turing Machines, all
variants of RAM‘s and RASP‘s with logarithmic time measures,
and also the RAM‘s and RASP‘s in the uniform time measure
and logarithmic space measure, provided only standard arithmetical
instructions of additive type are used. Machine models in this class
simulate each other with polynomically bounded overhead in time,
and constant factor overhead in space.
die 1. Maschinenklasse
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 17
"Random access stored program machine"
Invariance Thesis: There exists a standard class of machine models,
which includes among others all variants of Turing Machines, all
variants of RAM‘s and RASP‘s with logarithmic time measures,
and also the RAM‘s and RASP‘s in the uniform time measure
and logarithmic space measure, provided only standard arithmetical
instructions of additive type are used. Machine models in this class
simulate each other with polynomically bounded overhead in time,
and constant factor overhead in space.
jede log-time
die 1. Maschinenklasse
beschränkte RAM
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 17
"Random access stored program machine"
Invariance Thesis: There exists a standard class of machine models,
which includes among others all variants of Turing Machines, all
variants of RAM‘s and RASP‘s with logarithmic time measures,
and also the RAM‘s and RASP‘s in the uniform time measure
and logarithmic space measure, provided only standard arithmetical
instructions of additive type are used. Machine models in this class
simulate each other with polynomically bounded overhead in time,
and constant factor overhead in space.
jede log-time
die 1. Maschinenklasse
beschränkte RAM
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
nur ein
Band
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 17
"Random access stored program machine"
Invariance Thesis: There exists a standard class of machine models,
which includes among others all variants of Turing Machines, all
variants of RAM‘s and RASP‘s with logarithmic time measures,
and also the RAM‘s and RASP‘s in the uniform time measure
and logarithmic space measure, provided only standard arithmetical
instructions of additive type are used. Machine models in this class
simulate each other with polynomically bounded overhead in time,
and constant factor overhead in space.
jede log-time
die 1. Maschinenklasse
beschränkte RAM
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
nur ein
Band
die 2. Maschinenklasse
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Para!elrechner
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 17
7.2
4.2
Parallele Random-Access-Maschine (PRAM)
2
Schreib-Konflikt gemeinsamer Speicher
Es gibt zwei grundlegende Modelle paralleler Computer mit globalem Speiche
M
M0 M1 M2 M3 . . . . . .
......
MIMD-Computer (M ultiple I nstructions M ultiple Data) – jeder Prozesso
elles (eigenes) Programm aus
P1
R1,0
R1,1
R1,2
P2
R2,0
R2,1
R2,2
P3
SIMD-Computer (S ingle I nstructions M ultiple Data)
onsart Rfür
..
R2 einheitlich.
R3
..
1 alle Prozessoren
.
.
R3,0
R3,1
R3,2
– in jedem Schritt
..
.
lokaler
Speicher
PRAMs sind heutzutage das Hauptmodell paralleler Rechner für Entwurf un
leler
Algorithmen.
Dafür sind
gibt esfdrei
Gründe:
Die
Programme
ür alle
Prozessoren identisch!
Um die PID
LOAD(PID),
neuer Befehl:
1. PRAMaber
abstrahieren
von Ebenen
algorithmischer Komplexität, die Sync
Formale Grundlagen
der Informatik IILokalität vonKap
4: Para!eleNetztopologie
Algorithmen (Teil 1)
Seite 18 b
verlässigkeit,
und Kommunikation
lDaten,
ädt.
Thursday, December 2, 2010
4.2.2
EREW PRAM (Exclusive Read, Exclusive Write):
Simultane READs und WRIT Es sind nicht erlaubt.
Schreib-Konflikt
19
Thursday, December 2, 2010
4.2.2
EREW PRAM (Exclusive Read, Exclusive Write):
Simultane READs und WRIT Es sind nicht erlaubt.
CREW PRAM (Concurrent Read, Exclusive Write):
Gleichzeitiges Lesen erlaubt, jedoch nur exklusives Schreiben.
Schreib-Konflikt
19
Thursday, December 2, 2010
4.2.2
EREW PRAM (Exclusive Read, Exclusive Write):
Simultane READs und WRIT Es sind nicht erlaubt.
CREW PRAM (Concurrent Read, Exclusive Write):
Gleichzeitiges Lesen erlaubt, jedoch nur exklusives Schreiben.
Schreib-Konflikt
CRCW PRAM (Concurrent Read, Concurrent Write):
Simultanes Lesen ist uneingeschränkt erlaubt, simultanes Schreiben ist ebenfalls erlaubt.
19
Thursday, December 2, 2010
4.2.2
EREW PRAM (Exclusive Read, Exclusive Write):
Simultane READs und WRIT Es sind nicht erlaubt.
CREW PRAM (Concurrent Read, Exclusive Write):
Gleichzeitiges Lesen erlaubt, jedoch nur exklusives Schreiben.
Schreib-Konflikt
CRCW PRAM (Concurrent Read, Concurrent Write):
Simultanes Lesen ist uneingeschränkt erlaubt, simultanes Schreiben ist ebenfalls erlaubt.
CRCWcom PRAM (common):
Ein gleichzeitiges Schreiben in ein Register Mj ist nur
zulässig, wenn alle beteiligten Prozessoren versuchen denselben Wert zu schreiben.
19
Thursday, December 2, 2010
4.2.2
EREW PRAM (Exclusive Read, Exclusive Write):
Simultane READs und WRIT Es sind nicht erlaubt.
CREW PRAM (Concurrent Read, Exclusive Write):
Gleichzeitiges Lesen erlaubt, jedoch nur exklusives Schreiben.
Schreib-Konflikt
CRCW PRAM (Concurrent Read, Concurrent Write):
Simultanes Lesen ist uneingeschränkt erlaubt, simultanes Schreiben ist ebenfalls erlaubt.
CRCWcom PRAM (common):
Ein gleichzeitiges Schreiben in ein Register Mj ist nur
zulässig, wenn alle beteiligten Prozessoren versuchen denselben Wert zu schreiben.
CRCWarb PRAM (arbitrary):
Wenn einige Prozessoren versuchen, in ein Register zu schreiben, ist einer erfolgreich. Es ist aber nicht a priori festgelegt,
welcher.
19
Thursday, December 2, 2010
4.2.2
EREW PRAM (Exclusive Read, Exclusive Write):
Simultane READs und WRIT Es sind nicht erlaubt.
CREW PRAM (Concurrent Read, Exclusive Write):
Gleichzeitiges Lesen erlaubt, jedoch nur exklusives Schreiben.
Schreib-Konflikt
CRCW PRAM (Concurrent Read, Concurrent Write):
Simultanes Lesen ist uneingeschränkt erlaubt, simultanes Schreiben ist ebenfalls erlaubt.
CRCWcom PRAM (common):
Ein gleichzeitiges Schreiben in ein Register Mj ist nur
zulässig, wenn alle beteiligten Prozessoren versuchen denselben Wert zu schreiben.
CRCWarb PRAM (arbitrary):
Wenn einige Prozessoren versuchen, in ein Register zu schreiben, ist einer erfolgreich. Es ist aber nicht a priori festgelegt,
welcher.
CRCWpri PRAM (priority):
Wenn einige Prozessoren versuchen, in ein Register zu schreiben, ist der mit dem kleinsten Index erfolgreich (Man sagt,
dieser besitzt die höchste Priorität).
19
Thursday, December 2, 2010
7.2.3
4.2.3
Komplexitätsmaße der PRAM
TM(n)
4.10 Die uniforme (logarithmische) Zeitkomplexität
Definition 7.10
timeM (x) einer PRAM M auf eine Eingbe x ist entsprechend wie für
die RAM in Definition 7.4 definiert, wobei die synchronen Schritte bis
zur Termination gerechnet werden. Die Zeitkomplexität TM (n) von M
ist wieder das Maximum aller timeM (x),
( ), wobei das Maximum über alle
Eingaben x der uniformen (logarithmischen) Größe n gerechnet wird.
n ∈ IN
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 20
PM(n)
Definition Die Prozessorkomplexität procM (x) einer PRAM M
auf einer Eingabe x ist:
procM (x) = max{i | i = 1 oder Pi führt ein W RIT E aus}
Die Prozessorkomplexität PM (n) von M ist das Maximum
aller procM (x), wobei das Maximum über alle Eingaben
der uniformen (logarithmischen) Größe n gebildet wird,
gemeinsamer Speicher
M
M0
P1
R1,0
R1,1
R1,2
R1
..
.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
M1 M2 M3
P2
R2
...
R2,0
R2,1
R2,2
..
.
...
......
P3
R3
R3,0
R3,1
R3,2
..
.
Kap 4: Para!ele Algorithmen (Teil 1)
lokaler Speicher
Seite 21
Definition 7.12
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
,
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 22
Definition 7.12
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind, nach oben hin abschätzt. Letztere
wird als
workM (x)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 22
Definition 7.12
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind, nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 22
Definition 7.12
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind, nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
bezeichnet. Die Operationenkomplexität WM (n) ist dann wieder das
Maximum aller workM (x), wobei das Maximum über alle Eingaben x
der uniformen (logarithmischen) Größe n gerechnet wird.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 22
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
11 Schritte
M0 M1 M2 M3 M4 M5
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
11 Schritte
procM(x) = PM(n) =
M0 M1 M2 M3 M4 M5
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
11 Schritte
procM(x) = PM(n) = 3
M0 M1 M2 M3 M4 M5
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
procM(x) = PM(n) = 3
M0 M1 M2 M3 M4 M5
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
11 Schritte
timeM(x) = TM(n) =
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
procM(x) = PM(n) = 3
M0 M1 M2 M3 M4 M5
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
11 Schritte
timeM(x) = TM(n) = 11
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
procM(x) = PM(n) = 3
M0 M1 M2 M3 M4 M5
timeM(x) = TM(n) = 11
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
11 Schritte
workM(x) = WM(n) =
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
procM(x) = PM(n) = 3
M0 M1 M2 M3 M4 M5
timeM(x) = TM(n) = 11
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
11 Schritte
workM(x) = WM(n) = 21
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
procM(x) = PM(n) = 3
M0 M1 M2 M3 M4 M5
timeM(x) = TM(n) = 11
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
ptM(x) = 33
11 Schritte
workM(x) = WM(n) = 21
24
Seite 23
ein Beispiel
4.12 Zwei weitere wichtige Komplexitätsmaße für PRAMs
Definition 7.12
sind das Prozessor-Zeit-Produkt für die Eingabe x:
ptM (x) = timeM (x) · procM (x)
und Work, das die Gesamtzahl der Schritte aller Prozessoren, die
während der Berechnung aktiv sind nach oben hin abschätzt. Letztere
wird als
Operationenkomplexität
workM (x)
WM(n)
procM(x) = PM(n) = 3
M0 M1 M2 M3 M4 M5
timeM(x) = TM(n) = 11
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
oft: ptM(x) ≈ workM(x)
3 Schritte
ptM(x) = 33
11 Schritte
workM(x) = WM(n) = 21
24
Seite 23
gemeinsamer
Speicher
P1
P2
sequentie!er Alg.
mit T(n)
Sei Θ(TP∗ (n)) die beste Zeitkomplexität für ein Problem P unter allen sequentiellen Algorithmen, die das Problem P lösen (oft wird auch
Pr
para!eler Alg.
gemeinsamer
Speicher
P1
P2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
T(n) = ?
Pr
Kap 4: Para!ele Algorithmen (Teil 1)
24
Seite
gemeinsamer
Speicher
P1
P2
sequentie!er Alg.
mit T(n)
Sei Θ(TP∗ (n)) die beste Zeitkomplexität für ein Problem P unter allen sequentiellen Algorithmen, die das Problem P lösen (oft wird auch
Pr
para!eler Alg.
gemeinsamer
Speicher
P1
P2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
T(n) = ?
besser!
Pr
Kap 4: Para!ele Algorithmen (Teil 1)
24
Seite
gemeinsamer
Speicher
P1
P2
sequentie!er Alg.
mit T(n)
Sei Θ(TP∗ (n)) die beste Zeitkomplexität für ein Problem P unter allen sequentiellen Algorithmen, die das Problem P lösen (oft wird auch
Pr
para!eler Alg.
gemeinsamer
Speicher
T(n) = ?
besser!
optimal ???
P1
P2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Pr
Kap 4: Para!ele Algorithmen (Teil 1)
24
Seite
gemeinsamer
Speicher
P1
P2
sequentie!er Alg.
mit T(n)
Sei Θ(TP∗ (n)) die beste Zeitkomplexität für ein Problem P unter allen sequentiellen Algorithmen, die das Problem P lösen (oft wird auch
Pr
para!eler Alg.
gemeinsamer
Speicher
T(n) = ?
besser!
optimal ???
P1
P2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Pr
Der Alg. heißt optimal, falls
Kap 4: Para!ele Algorithmen (Teil 1)
24
Seite
gemeinsamer
Speicher
P1
P2
sequentie!er Alg.
mit T(n)
Sei Θ(TP∗ (n)) die beste Zeitkomplexität für ein Problem P unter allen sequentiellen Algorithmen, die das Problem P lösen (oft wird auch
Pr
para!eler Alg.
gemeinsamer
Speicher
T(n) = ?
besser!
optimal ???
P1
P2
Pr
Der Alg. heißt optimal, falls
n: WA (n) = Θ(TP∗ (n)).
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
24
Seite
gemeinsamer
Speicher
P1
P2
sequentie!er Alg.
mit T(n)
Sei Θ(TP∗ (n)) die beste Zeitkomplexität für ein Problem P unter allen sequentiellen Algorithmen, die das Problem P lösen (oft wird auch
Pr
P1
P2
P3
gemeinsamer
Speicher
para!eler Alg.
T(n) = ?
besser!
optimal ???
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
7 Schritte
WA(n) = 21
Pr
3 Schritte
P2
11 Schritte
P1
Der Alg. heißt optimal, falls
n: WA (n) = Θ(TP∗ (n)).
Kap 4: Para!ele Algorithmen (Teil 1)
24
Seite
gemeinsamer
Speicher
P1
P2
sequentie!er Alg.
mit T(n)
Sei Θ(TP∗ (n)) die beste Zeitkomplexität für ein Problem P unter allen sequentiellen Algorithmen, die das Problem P lösen (oft wird auch
Pr
P1
P2
P3
gemeinsamer
Speicher
para!eler Alg.
T(n) = ?
besser!
optimal ???
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
7 Schritte
WA(n) = 21
Pr
3 Schritte
P2
11 Schritte
P1
Der Alg. heißt optimal, falls
n: WA (n) = Θ(TP∗ (n)).
Kap 4: Para!ele Algorithmen (Teil 1)
24
Seite
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
p<m
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
ausführen, wobei x =
�
xi
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
p<m
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
xi
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
M0 M1 M2 M3 M4 M5
11 Schritte
ausführen, wobei x =
�
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
p<m
3
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
xi
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
M0 M1 M2 M3 M4 M5
11 Schritte
ausführen, wobei x =
�
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
xi
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
M0 M1 M2 M3 M4 M5
11 Schritte
ausführen, wobei x =
�
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
ausführen, wobei x =
�
xi
xi
M0 M1 M2 M3 M4 M5
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
Σxi = 21
= work(y)
11 Schritte
3
3
3
2
2
2
2
1
1
1
1
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
ausführen, wobei x =
�
21
= 11 + � � = 11 + 10 = 21
2
xi
xi
M0 M1 M2 M3 M4 M5
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
7 Schritte
3 Schritte
Σxi = 21
= work(y)
11 Schritte
3
3
3
2
2
2
2
1
1
1
1
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
xi
M0 M1 M2 M3 M4 M5
3
3
3
2
2
2
2
1
1
1
1
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
11 Schritte
Σxi = 21
= work(y)
?
7 Schritte
xi
3 Schritte
ausführen, wobei x =
�
21
= 11 + � � = 11 + 10 = 21
2
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
1
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
xi
M0 M1 M2 M3 M4 M5
3
3
3
2
2
2
2
1
1
1
1
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
0 Schritte
0 Schritte
11 Schritte
Σxi = 21
= work(y)
?
7 Schritte
xi
3 Schritte
ausführen, wobei x =
�
21
= 11 + � � = 11 + 10 = 21
2
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
1
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
M0 M1 M2 M3 M4 M5
3
3
3
2
2
2
2
1
1
1
1
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
11 Schritte
Σxi = 21
= work(y)
?
0 Schritte
xi
0 Schritte
xi
= 11 + � 21
1 � = 11 + 21 = 32
7 Schritte
ausführen, wobei x =
�
21
= 11 + � � = 11 + 10 = 21
2
3 Schritte
x
t+� �
p
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
1
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
3
3
3
2
2
2
2
1
1
1
1
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
Σxi = 21
= work(y)
?
0 Schritte
p=3
M0 M1 M2 M3 M4 M5
0 Schritte
M0 M1 M2 M3
xi
7 Schritte
xi
= 11 + � 21
1 � = 11 + 21 = 32
3 Schritte
ausführen, wobei x =
�
21
= 11 + � � = 11 + 10 = 21
2
11 Schritte
x
t+� �
p
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
1
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
Σxi = 21
= work(y)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
?
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
8
2+� �=2+2=4
3
3
3
3
2
2
2
2
1
1
1
1
0 Schritte
p=3
M0 M1 M2 M3 M4 M5
0 Schritte
M0 M1 M2 M3
xi
7 Schritte
xi
= 11 + � 21
1 � = 11 + 21 = 32
3 Schritte
ausführen, wobei x =
�
21
= 11 + � � = 11 + 10 = 21
2
11 Schritte
x
t+� �
p
Seite 25
4.13 (Brent’s scheduling principle) Wenn man eine BerechSatz 7.13
nung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
1
p<m
2
3
Prozessoren dieselbe Berechnung in der Zeit
M0 M1 M2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Σxi = 21
= work(y)
?
Kap 4: Para!ele Algorithmen (Teil 1)
0 Schritte
8
2+� �=2+2=4
3
3
3
3
2
2
2
2
1
1
1
1
0 Schritte
p=3
M0 M1 M2 M3 M4 M5
0 Schritte
M0 M1 M2 M3
xi
7 Schritte
xi
= 11 + � 21
1 � = 11 + 21 = 32
3 Schritte
ausführen, wobei x =
�
21
= 11 + � � = 11 + 10 = 21
2
11 Schritte
x
t+� �
p
Seite 25
t
t
t
�
�
�
xi
xi
xi
x
lt
� � = � � �� ≤ � ( + 1)� = t + � �
p
p
p
p
1
M0 M1 M2 M3
1
1
p=3
8
2+� �=2+2=4
3
M0 M1 M2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 26
t
t
t
�
�
�
xi
xi
xi
x
lt
� � = � � �� ≤ � ( + 1)� = t + � �
p
p
p
p
1
M0 M1 M2 M3
1
1
p=3
8
2+� �=2+2=4
3
M0 M1 M2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 26
Satz 7.13
4.13 (Brent’s scheduling principle) Wenn man eine Berechnung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
p<m
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
ausführen, wobei x =
�
xi
4.14 Wenn man eine Berechnung, die O(n) sequentielle Zeit braucht,
Korollar 7.14
�
� auf n Prozessoren
in O(log n) Zeit ausführen kann, dann kann man diese Berechnung auf O logn n Prozessoren in Zeit
�
�
O(log n) ausführen (d. h. in optimaler Zeit: O(n) = O(log n) · O logn n ).
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 27
Satz 7.13
4.13 (Brent’s scheduling principle) Wenn man eine Berechnung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
Prozessoren dieselbe Berechnung in der Zeit
x
t+� �
p
ausführen, wobei x =
�
O(n)
p<m
xi
4.14 Wenn man eine Berechnung, die O(n) sequentielle Zeit braucht,
Korollar 7.14
�
� auf n Prozessoren
in O(log n) Zeit ausführen kann, dann kann man diese Berechnung auf O logn n Prozessoren in Zeit
�
�
O(log n) ausführen (d. h. in optimaler Zeit: O(n) = O(log n) · O logn n ).
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 27
Satz 7.13
4.13 (Brent’s scheduling principle) Wenn man eine Berechnung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
n
x
t+� �
p
ausführen, wobei x =
�
O(log n)
Prozessoren dieselbe Berechnung in der Zeit
O(n)
p<m
xi
4.14 Wenn man eine Berechnung, die O(n) sequentielle Zeit braucht,
Korollar 7.14
�
� auf n Prozessoren
in O(log n) Zeit ausführen kann, dann kann man diese Berechnung auf O logn n Prozessoren in Zeit
�
�
O(log n) ausführen (d. h. in optimaler Zeit: O(n) = O(log n) · O logn n ).
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 27
Satz 7.13
4.13 (Brent’s scheduling principle) Wenn man eine Berechnung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
ausführen, wobei x =
�
O(log n)
O(n)
Prozessoren dieselbe Berechnung in der Zeit
O(log n)
n
p<m
x
t+� �
p
n
log n
xi
4.14 Wenn man eine Berechnung, die O(n) sequentielle Zeit braucht,
Korollar 7.14
�
� auf n Prozessoren
in O(log n) Zeit ausführen kann, dann kann man diese Berechnung auf O logn n Prozessoren in Zeit
�
�
O(log n) ausführen (d. h. in optimaler Zeit: O(n) = O(log n) · O logn n ).
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 27
Satz 7.13
4.13 (Brent’s scheduling principle) Wenn man eine Berechnung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
ausführen, wobei x =
�
O(log n)
O(n)
Prozessoren dieselbe Berechnung in der Zeit
O(log n)
n
p<m
x
t+� �
p
n
log n
xi
x
m
4.14 Wenn man eine Berechnung, die O(n) sequentielle Zeit braucht,
Korollar 7.14
�
� auf n Prozessoren
in O(log n) Zeit ausführen kann, dann kann man diese Berechnung auf O logn n Prozessoren in Zeit
�
�
O(log n) ausführen (d. h. in optimaler Zeit: O(n) = O(log n) · O logn n ).
t
p
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 27
Satz 7.13
4.13 (Brent’s scheduling principle) Wenn man eine Berechnung auf m = max xi Prozessoren in Zeit t ausführen kann, wobei xi
die Anzahl der Operationen im i-ten Schritt ist, dann kann man auf
ausführen, wobei x =
�
O(log n)
O(n)
Prozessoren dieselbe Berechnung in der Zeit
O(log n)
n
p<m
x
t+� �
p
n
log n
xi
x
m
4.14 Wenn man eine Berechnung, die O(n) sequentielle Zeit braucht,
Korollar 7.14
�
� auf n Prozessoren
in O(log n) Zeit ausführen kann, dann kann man diese Berechnung auf O logn n Prozessoren in Zeit
�
�
O(log n) ausführen (d. h. in optimaler Zeit: O(n) = O(log n) · O logn n ).
t
p
x
n
t + � � = log n + � n � ∈ O(log n)
p
log n
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 27
4.2.4
7.2.4
4.2.4 Beispiele für PRAM-Algorithmen
Um die Algorithmen zu beschreiben, benutzen wir den parallelen Ausdruck
par [a ≤ i ≤ b] Si
um zu beschreiben, dass die Anweisungen Si für alle i mit a ≤ i ≤ b
parallel ausgeführt werden sollen.
4.15 Maximum finden Gegeben: n = 2m natürliche Zahlen
Beispiel 7.15
an , an+1 , . . . , a2n−1 . Gesucht wird ihr Maximum.
Algorithmus (für EREW-PRAM):
for l ← m − 1 down to 0 do
par [2l ≤ j ≤ 2l+1 − 1] aj ← max{a2j , a2j+1 }
Erklärung:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 28
a1
10
l=0
l=1
l=2
a8
3
a2
10
a3
9
a4
10
a5
2
a9
10
a6
a7
9
7
a10
a11
a12
a13
a14
a15
2
1
4
9
6
7
Abbildung 7.9: Maximum finden durch die PRAM
4.15 Maximum finden Gegeben: n = 2m natürliche Zahlen
Beispiel 7.15
an , an+1 , . . . , a2n−1 . Gesucht wird ihr Maximum.
Algorithmus (für EREW-PRAM):
for l ← m − 1 down to 0 do
par [2l ≤ j ≤ 2l+1 − 1] aj ← max{a2j , a2j+1 }
Erklärung:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 29
a1
10
l=0
l=1
l=2
a8
3
a2
10
a3
9
a4
10
a5
2
a9
10
a6
a7
9
7
a10
a11
a12
a13
a14
a15
2
1
4
9
6
7
Abbildung 7.9: Maximum finden durch die PRAM
4.15 Maximum finden Gegeben: n = 2m natürliche Zahlen
Beispiel 7.15
an , an+1 , . . . , a2n−1 . Gesucht wird ihr Maximum.
Algorithmus (für EREW-PRAM):
for l ← m − 1 down to 0 do
par [2l ≤ j ≤ 2l+1 − 1] aj ← max{a2j , a2j+1 }
Erklärung:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
m= 3
l= 2
j= 4
2j= 8
Seite 29
a1
10
l=0
l=1
l=2
a8
3
a2
10
a3
9
a4
10
a5
2
a9
10
a6
a7
9
7
a10
a11
a12
a13
a14
a15
2
1
4
9
6
7
Abbildung 7.9: Maximum finden durch die PRAM
4.15 Maximum finden Gegeben: n = 2m natürliche Zahlen
Beispiel 7.15
an , an+1 , . . . , a2n−1 . Gesucht wird ihr Maximum.
Algorithmus (für EREW-PRAM):
for l ← m − 1 down to 0 do
par [2l ≤ j ≤ 2l+1 − 1] aj ← max{a2j , a2j+1 }
Erklärung:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
m= 3
l= 2
j= 4
2j= 8
Seite 29
a1
10
l=0
l=1
l=2
a8
3
a2
10
a3
9
a4
10
a5
2
a9
10
a6
a7
9
7
a10
a11
a12
a13
a14
a15
2
1
4
9
6
7
Abbildung 7.9: Maximum finden durch die PRAM
4.15 Maximum finden Gegeben: n = 2m natürliche Zahlen
Beispiel 7.15
an , an+1 , . . . , a2n−1 . Gesucht wird ihr Maximum.
Algorithmus (für EREW-PRAM):
for l ← m − 1 down to 0 do
par [2l ≤ j ≤ 2l+1 − 1] aj ← max{a2j , a2j+1 }
Erklärung:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
m= 3
l= 2
j= 4
2j= 8
Seite 29
a1
10
l=0
l=1
l=2
a8
3
a2
10
a3
9
a4
10
a5
2
a9
10
a6
a7
9
7
a10
a11
a12
a13
a14
a15
2
1
4
9
6
7
Abbildung 7.9: Maximum finden durch die PRAM
4.15 Maximum finden Gegeben: n = 2m natürliche Zahlen
Beispiel 7.15
an , an+1 , . . . , a2n−1 . Gesucht wird ihr Maximum.
Algorithmus (für EREW-PRAM):
for l ← m − 1 down to 0 do
par [2l ≤ j ≤ 2l+1 − 1] aj ← max{a2j , a2j+1 }
Erklärung:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
m= 3
l= 2
j= 4
2j= 8
Seite 29
a1
10
l=0
l=1
l=2
a8
3
a2
10
a3
9
a4
10
a5
2
a9
10
a6
a7
9
7
a10
a11
a12
a13
a14
a15
2
1
4
9
6
7
Abbildung 7.9: Maximum finden durch die PRAM
4.15 Maximum finden Gegeben: n = 2m natürliche Zahlen
Beispiel 7.15
an , an+1 , . . . , a2n−1 . Gesucht wird ihr Maximum.
Algorithmus (für EREW-PRAM):
for l ← m − 1 down to 0 do
par [2l ≤ j ≤ 2l+1 − 1] aj ← max{a2j , a2j+1 }
Erklärung:
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
m= 3
l= 2
j= 4
2j= 8
Seite 29
a1
10
l=0
l=1
l=2
a8
3
a2
10
a3
9
a4
10
a5
2
a9
a6
a7
9
7
a10
a11
a12
a13
a14
a15
2
1
4
9
6
7
10
Abbildung 7.9: Maximum finden durch die PRAM
4.14 Wenn man eine Berechnung, die O(n) sequentielle Zeit braucht,
Korollar 7.14
�
� auf n Prozessoren
in O(log n) Zeit ausführen kann, dann kann man diese Berechnung auf O logn n Prozessoren in Zeit
�
�
O(log n) ausführen (d. h. in optimaler Zeit: O(n) = O(log n) · O logn n ).
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 30
a1
10
l=0
l=1
l=2
a8
3
a2
10
a3
9
a4
10
a5
2
a9
a6
a7
9
7
a10
a11
a12
a13
a14
a15
2
1
4
9
6
7
10
Abbildung 7.9: Maximum finden durch die PRAM
n=8
4.14 Wenn man eine Berechnung, die O(n) sequentielle Zeit braucht,
Korollar 7.14
�
� auf n Prozessoren
in O(log n) Zeit ausführen kann, dann kann man diese Berechnung auf O logn n Prozessoren in Zeit
�
�
O(log n) ausführen (d. h. in optimaler Zeit: O(n) = O(log n) · O logn n ).
8
� �=2
3
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 30
Folgender Algorithmus (für CRCWarb , CRCWcom , oder CRCWpri –
PRAM) kann mit n2 Prozessoren das Maximum (Minimum) von n Zahlen in der Zeit O(1) finden.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 31
Folgender Algorithmus (für CRCWarb , CRCWcom , oder CRCWpri –
PRAM) kann mit n2 Prozessoren das Maximum (Minimum) von n Zahlen in der Zeit O(1) finden.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 31
Folgender Algorithmus (für CRCWarb , CRCWcom , oder CRCWpri –
PRAM) kann mit n2 Prozessoren das Maximum (Minimum) von n Zahlen in der Zeit O(1) finden.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 31
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
M(0)=
M(1)=
M(2)=
M(3)=
M(4)=
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Y(1)=
M(1)=
Y(2)=
M(2)=
Y(3)=
M(3)=
Y(4)=
M(4)=
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Y(1)=
M(1)= 2
Y(2)=
M(2)= 7
Y(3)=
M(3)= 3
Y(4)=
M(4)= 4
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Y(1)=
M(1)= 2
Y(2)=
M(2)= 7
Y(3)=
M(3)= 3
Y(4)=
M(4)= 4
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Y(1)=
M(1)= 2
Y(2)=
M(2)= 7
Y(3)=
M(3)= 3
Y(4)=
M(4)= 4
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Y(1)=
M(1)= 2
Y(2)=
M(2)= 7
Y(3)=
M(3)= 3
Y(4)=
M(4)= 4
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
Y(1)=0 M(1)= 2
Y(2)=0 M(2)= 7
Y(3)=0 M(3)= 3
Y(4)=0 M(4)= 4
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
Y(1)=0 M(1)= 2
Y(2)=0 M(2)= 7
Y(3)=0 M(3)= 3
Y(4)=0 M(4)= 4
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
Y(1)=0 M(1)= 2
F
T
T
T
Y(2)=0 M(2)= 7
F
F
F
F
Y(3)=0 M(3)= 3
F
T
F
T
Y(4)=0 M(4)= 4
F
T
F
F
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
Y(2)=0 M(2)= 7
F
F
F
F
Y(3)=01 M(3)= 3
F
T
F
T
Y(4)=01 M(4)= 4
F
T
F
F
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
M(0)= 4 M(1)= 2 M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
Y(2)=0 M(2)= 7
F
F
F
F
Y(3)=01 M(3)= 3
F
T
F
T
Y(4)=01 M(4)= 4
F
T
F
F
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
7
M(0)= 4 M(1)= 2
M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
Y(2)=0 M(2)= 7
F
F
F
F
Y(3)=01 M(3)= 3
F
T
F
T
Y(4)=01 M(4)= 4
F
T
F
F
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
timeM (n) =
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
7
M(0)= 4 M(1)= 2
M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
Y(2)=0 M(2)= 7
F
F
F
F
Y(3)=01 M(3)= 3
F
T
F
T
Y(4)=01 M(4)= 4
F
T
F
F
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
timeM (n) = O(1)
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
7
M(0)= 4 M(1)= 2
M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
Y(2)=0 M(2)= 7
F
F
F
F
Y(3)=01 M(3)= 3
F
T
F
T
Y(4)=01 M(4)= 4
F
T
F
F
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
timeM (n) = O(1)
procM (n) = O(n )
2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
7
M(0)= 4 M(1)= 2
M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
Y(2)=0 M(2)= 7
F
F
F
F
Y(3)=01 M(3)= 3
F
T
F
T
Y(4)=01 M(4)= 4
F
T
F
F
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
7
M(0)= 4 M(1)= 2
M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
procM (n) = O(n )
Y(2)=0 M(2)= 7
F
F
F
F
workM (n) =
Y(3)=01 M(3)= 3
F
T
F
T
Y(4)=01 M(4)= 4
F
T
F
F
timeM (n) = O(1)
2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
7
M(0)= 4 M(1)= 2
M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
procM (n) = O(n )
Y(2)=0 M(2)= 7
F
F
F
F
2
O(n
)
workM (n) =
Y(3)=01 M(3)= 3
F
T
F
T
Y(4)=01 M(4)= 4
F
T
F
F
timeM (n) = O(1)
2
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
Prozessoren: Pij , 1 ≤ i, j ≤ n;
Input: M (0) ← n, M (1) ← x1 , . . . , M (n) ← xn . Die Register des globalen Speichers erhalten die Zahlen xi , unter denen das Maximum gefunden
werden soll;
Arbeitsspeicher: Y (1), . . . , Y (n) – Register des globalen Speichers;
Output: Maximum liegt in M (0).
Algorithmus für den Prozessor Pij :
1. Y (i) ← 0;
2. if M (i) < M (j) then Y (i) ← 1;
3. if Y (i) = 0 then M (0) ← M (i)
7
M(0)= 4 M(1)= 2
M(2)=7 M(3)=3 M(4)=4
Y(1)=01 M(1)= 2
F
T
T
T
procM (n) = O(n )
Y(2)=0 M(2)= 7
F
F
F
F
2
O(n
)
workM (n) =
Y(3)=01 M(3)= 3
F
T
F
T
CRCWcom PRAM
Ein arb
gleichzeitige
Y(4)=01 M(4)= 4
F
T
F
F
timeM (n) = O(1)
2
CRCW
PRAM (
Wenn
einige Proz
pri
CRCW PRAM (
Formale Grundlagen der
Informatik
II Proz
Wenn
einige
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 32
4.2.5
7.2.5
PRAM–Hauptkomplexitätsklassen
Satz
7.19
T, P : N
→ N Funktionen und
: N → N einemit
rekur4.19
Sei M
eineSeien
beliebige
PRAM–Variante.
Wirk bezeichnen
sive Funktion, die auf RAM+ in der Zeit T berechenbar ist. Für eine
feste Konstante c gilt:
MT imeP roc(T, P )
P
roc(T, P )⊆
imeP roc(c ·die
k · T,
� einer
�)
die MengeMT
derimeP
Funktionen
bzw.
von
T -Zeit– und
/ MT Sprachen,
k
Prozessorbeschränkten PRAM vom Typ M berechnet werden könn
Zwischen Prozessor- und Zeitkomplexität bei PRAMs besteht die
gende Beziehung:
Satz 7.20 Seien T, P : IN → IN berechenbare Funktionen und k : IN
IN eine rekursive Funktion, die auf RAM+ in der Zeit T berechenbar
Für eine feste Konstante c gilt:
P
MT imeP roc(T, P )⊆
/ MT imeP roc(c · k · T, � �)
k
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
33
Seite
4.2.5
7.2.5
PRAM–Hauptkomplexitätsklassen
Satz
7.19
T, P : N
→ N Funktionen und
: N → N einemit
rekur4.19
Sei M
eineSeien
beliebige
PRAM–Variante.
Wirk bezeichnen
sive Funktion, die auf RAM+ in der Zeit T berechenbar ist. Für eine
feste Konstante c gilt:
MT imeP roc(T, P )
P
roc(T, P )⊆
imeP roc(c ·die
k · T,
� einer
�)
die MengeMT
derimeP
Funktionen
bzw.
von
T -Zeit– und
/ MT Sprachen,
k
Prozessorbeschränkten PRAM vom Typ M berechnet werden könn
Zwischen Prozessor- und Zeitkomplexität bei PRAMs besteht die
gende Beziehung:
eine PRAM-Maschinenklasse
Satz 7.20 Seien T, P : IN → IN berechenbare Funktionen und k : IN
IN eine rekursive Funktion, die auf RAM+ in der Zeit T berechenbar
Für eine feste Konstante c gilt:
P
MT imeP roc(T, P )⊆
/ MT imeP roc(c · k · T, � �)
k
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
33
Seite
4.2.5
7.2.5
PRAM–Hauptkomplexitätsklassen
Satz
7.19
T, P : N
→ N Funktionen und
: N → N einemit
rekur4.19
Sei M
eineSeien
beliebige
PRAM–Variante.
Wirk bezeichnen
sive Funktion, die auf RAM+ in der Zeit T berechenbar ist. Für eine
feste Konstante c gilt:
MT imeP roc(T, P )
P
roc(T, P )⊆
imeP roc(c ·die
k · T,
� einer
�)
die MengeMT
derimeP
Funktionen
bzw.
von
T -Zeit– und
/ MT Sprachen,
k
Prozessorbeschränkten PRAM vom Typ M berechnet werden könn
Zwischen Prozessor- und Zeitkomplexität bei PRAMs besteht die
gende Beziehung:
Zeitkomplexität
eine PRAM-Maschinenklasse
Satz 7.20 Seien T, P : IN → IN berechenbare Funktionen und k : IN
IN eine rekursive Funktion, die auf RAM+ in der Zeit T berechenbar
Für eine feste Konstante c gilt:
P
MT imeP roc(T, P )⊆
/ MT imeP roc(c · k · T, � �)
k
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
33
Seite
4.2.5
7.2.5
PRAM–Hauptkomplexitätsklassen
Satz
7.19
T, P : N
→ N Funktionen und
: N → N einemit
rekur4.19
Sei M
eineSeien
beliebige
PRAM–Variante.
Wirk bezeichnen
sive Funktion, die auf RAM+ in der Zeit T berechenbar ist. Für eine
feste Konstante c gilt:
MT imeP roc(T, P )
P
roc(T, P )⊆
imeP roc(c ·die
k · T,
� einer
�)
die MengeMT
derimeP
Funktionen
bzw.
von
T -Zeit– und
/ MT Sprachen,
k
Prozessorbeschränkten PRAM vom Typ M berechnet werden könn
Zwischen Prozessor- undProzessorkomplexität
Zeitkomplexität bei PRAMs besteht die
gende Beziehung:
Zeitkomplexität
eine PRAM-Maschinenklasse
Satz 7.20 Seien T, P : IN → IN berechenbare Funktionen und k : IN
IN eine rekursive Funktion, die auf RAM+ in der Zeit T berechenbar
Für eine feste Konstante c gilt:
P
MT imeP roc(T, P )⊆
/ MT imeP roc(c · k · T, � �)
k
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
33
Seite
4.2.5
7.2.5
PRAM–Hauptkomplexitätsklassen
Satz
7.19
T, P : N
→ N Funktionen und
: N → N einemit
rekur4.19
Sei M
eineSeien
beliebige
PRAM–Variante.
Wirk bezeichnen
sive Funktion, die auf RAM+ in der Zeit T berechenbar ist. Für eine
feste Konstante c gilt:
MT imeP roc(T, P )
P
roc(T, P )⊆
imeP roc(c ·die
k · T,
� einer
�)
die MengeMT
derimeP
Funktionen
bzw.
von
T -Zeit– und
/ MT Sprachen,
k
Prozessorbeschränkten PRAM vom Typ M berechnet werden könn
Zwischen Prozessor- undProzessorkomplexität
Zeitkomplexität bei PRAMs besteht die
gende Beziehung:
Zeitkomplexität
eine PRAM-Maschinenklasse
Satz 7.20 Seien T, P : IN → IN berechenbare Funktionen und k : IN
IN eine rekursive Funktion, die auf RAM+ in der Zeit T berechenbar
Für eine
feste wie
Konstante
c gilt:
Beweis
Ablaufmethode
von Brendt
7.12 (Brent’s scheduling principle) P
MT imeP roc(T,
imeP roc(c
k · T, �ausf�)
/ MT
= P )⊆
Prozessoren
in· Zeit
k
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
33
Seite
4.19 Seien T, P : N → N Funktionen und k : N → N eine rekurSatz 7.19
sive Funktion, die auf RAM+ in der Zeit T berechenbar ist. Für eine
feste Konstante c gilt:
P
MT imeP roc(T, P )⊆
/ MT imeP roc(c · k · T, � �)
k
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
34
Seite
4.19 Seien T, P : N → N Funktionen und k : N → N eine rekurSatz 7.19
sive Funktion, die auf RAM+ in der Zeit T berechenbar ist. Für eine
feste Konstante c gilt:
P
MT imeP roc(T, P )⊆
/ MT imeP roc(c · k · T, � �)
k
Beweis:
Für Polynome P, T und k = P ergibt sich aus dem vorigen Satz:
CRCW+ T imeP roc(T, P ) ⊆ CRCW+ T imeP roc(O(P · T ), 1)
= RAM+ − T ime(O(T · P )) ⊆ P
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
34
Seite
4.19 Seien T, P : N → N Funktionen und k : N → N eine rekurSatz 7.19
sive Funktion, die auf RAM+ in der Zeit T berechenbar ist. Für eine
feste Konstante c gilt:
P
MT imeP roc(T, P )⊆
/ MT imeP roc(c · k · T, � �)
k
Beweis:
Für Polynome P, T und k = P ergibt sich aus dem vorigen Satz:
CRCW+ T imeP roc(T, P ) ⊆ CRCW+ T imeP roc(O(P · T ), 1)
= RAM+ − T ime(O(T · P )) ⊆ P
die 1. Maschinenklasse
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
34
Seite
die 1. Maschinenklasse
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
4.20
Korollar 7.20
CRCW+ T imeP roc(POL, POL) = P
35
Thursday, December 2, 2010
die 1. Maschinenklasse
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
die 2. Maschinenklasse
Para!elrechner
4.20
Korollar 7.20
CRCW+ T imeP roc(POL, POL) = P
35
Thursday, December 2, 2010
die 1. Maschinenklasse
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
die 2. Maschinenklasse
Para!elrechner
4.20
Korollar 7.20
CRCW+ T imeP roc(POL, POL) = P
?
35
Thursday, December 2, 2010
die 1. Maschinenklasse
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
die 2. Maschinenklasse
Para!elrechner
4.20
Korollar 7.20
CRCW+ T imeP roc(POL, POL) = P
?
Neue Komplexitätsklasse:
P RAM − T ime(t(n))
:=
CRCW+ T imeP roc(t(n), 2t(n) )
35
Thursday, December 2, 2010
die 1. Maschinenklasse
RAM+ –Time(P OL) = RAM–Timelog (P OL) = P
= DTM–Time(P OL) = DTM1 –Time(P OL)
die 2. Maschinenklasse
Para!elrechner
4.20
Korollar 7.20
CRCW+ T imeP roc(POL, POL) = P
?
Neue Komplexitätsklasse:
P RAM − T ime(t(n))
:=
CRCW+ T imeP roc(t(n), 2t(n) )
P RAM − T ime(P OL)
=
?
35
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
2
P RAM − T ime(t(n)) ⊆ Space(t (n))
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
2
P RAM − T ime(t(n)) ⊆ Space(t (n))
Damit folgt dann:
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
2
P RAM − T ime(t(n)) ⊆ Space(t (n))
Damit folgt dann:
PSPACE =
�
k
PSpace(nk ) ⊆
�
k
PRAM-Time(O(nk )) = PRAM − Time(P OL)
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
2
P RAM − T ime(t(n)) ⊆ Space(t (n))
Damit folgt dann:
PSPACE =
�
k
PSpace(nk ) ⊆
PRAM − Time(P OL) =
�
k
�
k
PRAM-Time(O(nk )) = PRAM − Time(P OL)
PRAM-Time(nk ) ⊆
�
k
PSpace(n2k ) = PSPACE
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
2
P RAM − T ime(t(n)) ⊆ Space(t (n))
Damit folgt dann:
PSPACE =
�
k
PSpace(nk ) ⊆
PRAM − Time(P OL) =
�
k
�
k
PRAM-Time(O(nk )) = PRAM − Time(P OL)
PRAM-Time(nk ) ⊆
die 2. Maschinenklasse
�
k
PSpace(n2k ) = PSPACE
Para!elrechner
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
2
P RAM − T ime(t(n)) ⊆ Space(t (n))
Damit folgt dann:
PSPACE =
�
k
PSpace(nk ) ⊆
PRAM − Time(P OL) =
�
k
�
k
PRAM-Time(O(nk )) = PRAM − Time(P OL)
PRAM-Time(nk ) ⊆
die 2. Maschinenklasse
�
k
PSpace(n2k ) = PSPACE
Para!elrechner
Parallel Computation Thesis There exists a standard class of (parallel) machine models, which includes among others all variants
of PRAM machines, and also APM, for which polynomial time is
as powerful as polynomial space for sequencial machines (from the
first machine class).
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
2
P RAM − T ime(t(n)) ⊆ Space(t (n))
Damit folgt dann:
PSPACE =
�
k
PSpace(nk ) ⊆
PRAM − Time(P OL) =
�
k
�
k
PRAM-Time(O(nk )) = PRAM − Time(P OL)
PRAM-Time(nk ) ⊆
die 2. Maschinenklasse
�
k
PSpace(n2k ) = PSPACE
Para!elrechner
Parallel Computation Thesis There exists a standard class of (parallel) machine models, which includes among others all variants
of PRAM machines, and also APM, for which polynomial time is
as powerful as polynomial space for sequencial machines (from the
first machine class).
36
Thursday, December 2, 2010
Satz 4.21
P RAM − T ime(P OL)
=
PSPACE
Benötigte Hilfslemmata (hier ohne Beweis):
Space(s(n)) ⊆ P RAM − T ime(O(s(n)))
2
P RAM − T ime(t(n)) ⊆ Space(t (n))
Damit folgt dann:
PSPACE =
�
k
PSpace(nk ) ⊆
PRAM − Time(P OL) =
�
k
�
k
PRAM-Time(O(nk )) = PRAM − Time(P OL)
PRAM-Time(nk ) ⊆
die 2. Maschinenklasse
�
k
PSpace(n2k ) = PSPACE
Para!elrechner
Parallel Computation Thesis There exists a standard class of (parallel) machine models, which includes among others all variants
of PRAM machines, and also APM, for which polynomial time is
as powerful as polynomial space for sequencial machines (from the
first machine class).
36
Thursday, December 2, 2010
4.2.6
Grenzen der Parallelität
Natürliche Frage: Gibt es ein natürliches und einfaches Problem, für das
es keinen parallelen Algorithmus gibt, der schneller ist als der schnellste
sequentielle Algorithmus?
Satz 4.22 (Kung) Kein paralleler Algorithmus, der die Operationen
+, −, ∗, ÷ benutzt, kann ein Polynom n-ten Grades schneller als in log n
Schritten berechnen.
Korollar 4.23 Kein paralleler Algorithmus kann xn schneller als ein
sequentieller Algorithmus berechnen.
Formale Grundlagen der Informatik II
Thursday, December 2, 2010
Kap 4: Para!ele Algorithmen (Teil 1)
Seite 37
Herunterladen