mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina dubina mreže za sortiranje:... log2 (log) 4...
TRANSCRIPT
1
Mreže za sortiranje
2
10
94
3
21
8
7
109
43
2
1
87
Sortiranje
3
Mreža za sortiranje
(Mreža za bitonik sortiranje)
4
Mreža za sortiranje
(Mreža za bitonik sortiranje)
5
Komparator
x
y
max(x,y)
min(x,y)
6
Komparator
max
min
1
9
9
1
7
Komparator
max
min
100
4
100
4
8
9
Nivoi
1 2 3
Dubina = 3
Širina = 4
10
18
2
5
11
1
8
25
Nivo 1
12
1
8
2
5
Nivo 2
13
1
8
25
Nivo 3
14
1
8
25
18
2
5
Ulaz Izlaz
15
10
94
3
21
87
109
4321
87
Ulaz Izlaz
16
10
94
3
21
87
109
4321
87
1 2 3 4 5 6nivoi
17
Sort(n)
Sort(n/2)
Sort(n/2)
Merge(n)Ulaz Izlaz
)(log2 nOdubina
Rekurzivna konstrukcija Mreža za bitonik sortiranje
18
Merge(n)
Merge(n/2)
Merge(n/2)
)(lognOdubina
Rekurzivna konstrukcija Mreže za spajanje
19
Osnova za indukciju
Sort(2)
Merge(2)
20
Širina
Dubina mreže za sortiranje:
)(log2log...4
log2
loglog 2 nOnnn
n
)(log2 nO
Širinaspajača n
Ukupnadubina
2n
4n
2
21
Mreža za brojanje
22
Problem brojanja
0
Deljena promenljiva
23
0
Token = Zahtev za inkrement
Deljena promenljiva
24
1
Zahtev za inkrement
Deljena promenljiva
0
25
1
Deljena promenljiva
26
1
Zahtev za inkrement
Deljena promenljiva
27
2
Deljena promenljiva
1
Zahtev za inkrement
28
2
Deljena promenljiva
29
2
Zahtev za inkrement
Deljena promenljiva
30
3
Zahtev za inkrement
Deljena promenljiva
2
31
6
Sekvencijalno usko-grlo
Deljena promenljiva
Zahtevi moraju biti serializovani
01 2 3
4
5
32
Mreža za brojanje
Ulazi Izlazi
33
Mreža za brojanje
34
Balanser
Ulazi Izlazi
Token
35
Balanser
Ulazi Izlazi
36
Balanser
37
Balanser
38
Balanser
39
Balanser
40
Balanser
41
Balanser
42
Balanser
Svi tokeni zajedno
43
Balanser
Osobina koraka
44
Balanser
Osobina koraka
Sledeći primer
45
Balanser
Osobina koraka
Sledeći primer
46
Balanser
Osobina koraka
Sledeći primer
47
Mreža za brojanje
(Mreža za bitonik brojanje)
48
Mreža za brojanje
49
Mreža za brojanje
50
Mreža za brojanje
51
Mreža za brojanje
52
Mreža za brojanje
53
Mreža za brojanje
54
Mreža za brojanje
55
Mreža za brojanje
56
Mreža za brojanje
57
Mreža za brojanje
58
Mreža za brojanje
59
Mreža za brojanje
60
Mreža za brojanje
61
Mreža za brojanje
62
Mreža za brojanje
63
Mreža za brojanje
64
Mreža za brojanje
65
Svi tokeni
Mreža za brojanje
66
Svi tokeni Osobina koraka
Mreža za brojanje
67
Sledeći primerOsobina koraka
Mreža za brojanje
68
Mreža za brojanje
Osobina korakaSledeći primer
69
Mreža za brojanje
Osobina korakaSledeći primer
70
Osobina koraka
Mreža za brojanje
Sledeći primer
71
ParalelizamMnogi zahtevi za inkrement se obrađuju simultano
Mreža za brojanje
72
Brojanje
0
1
2
3Token = Zahtev za inkrement
IzlazDeljene promenljive
73
Brojanje
0
1
2
3
IzlazDeljena promenljive
74
Brojanje
4
1
2
3
0
Povratna vrednost
Vrednost deljene promenljive se poveća za 4(širina izlaza)
75
Brojanje
4
1
2
3
0
Zahtev za inkrement
76
Brojanje
4
1
2
3
0
77
Brojanje
4
5
2
3
0
1
Povratna vrednost
78
Brojanje
4
5
2
3
0
1
Zahtev za inkrement
79
Brojanje
4
5
6
3
0
1
2
Povratna vrednost
80
Brojanje
4
5
6
3
0
1
2
81
Brojanje
4
5
6
7
0
1
2
3
Povratna vrednost
82
Brojanje
4
5
6
7
0
1
2
3
83
Brojanje
8
5
6
7
0
1
2
3
4
Povratna vrednost
84
Brojanje
8
5
6
7
0
1
2
3
4
85
Brojanje
8
9
6
7
0
1
2
3
4
5
Povratna vrednost
86
Brojanje
8
9
6
7
0
1
2
3
4
5
Svi tokeni
87
Mreža za bitonik brojanje
Izomorfna sa Mrežom za bitonik sortiranje
88
Count(n)
Count(n/2)
Count(n/2)
Merge(n)Ulaz Izlaz
)(log2 nOdubina
X
Y
Z
89
Merge(n)
Merge1(n/2)
Merge2(n/2)
)(lognOdubina
X
Y
Z
Osobinakoraka
Osobinakoraka
Osobinakoraka
90
X
0x1x2x3x4x5x6x7x
oddX
0x1x2x3x4x5x6x7x
evenX
0x1x2x3x4x5x6x7x
Parnepodsekvence
Neparnepodsekvence
91
Merge(n)
Merge1(n/2)
Merge2(n/2)
X
Y
Z
evenX
oddY
evenY
oddX
A
B
92
Teorema:
Dokaz:Dokaz je pomoću indukcije na n
Za spajač je balanser itvrdnja je trivijalno zadovoljena
2nOsnova indukcije:
merger(n) proizvodiizlaz Z sa osobinom korakaako oba ulaza X i Y imaju osobnu koraka
93
Indukciona hipoteza:
Merge(n/2)
Ako koračnasekvencaAko koračnasekvenca
Onda kor.sekvenca
Predpost. da svaki spajačveličine n/2 i manjeispravno obavlja spajanje
94
Merge(n)
Indukcioni korak:
Ako korak
Ako korak Onda korak
Želimo da pokažemo da je:
X
YZ
Predpost. da i imaju osobinu koraka.Onda ćemo pokazati da ima osobinu koraka
X YZ
95
0x
2x
4x
6x
1x
3x
5x
7x
evenX
oddX
0x1x2x3x4x5x6x7x
X
Ako imaosobinu korakaonda iimaju osobinu koraka
XevenX oddX
Tokeni
96
Merge1(n/2)
evenX
oddYA
Merge2(n/2)evenY
oddXB
korak
korak
korak
korak
korak
korak
Zato, iz indukcione hipoteze:
Izlazna sekvenca
Izlazna sekvenca
97
Prvo, pokažimo: 1||||1 BA
Gde označava ukupan brojtokena u sekevnci
||AA
98
Imamo: |||||| oddeven YXA
|||||| oddeven XYB
Spajač 1
Spajač 2
99
|||| oddeven XX 1|||| oddeven XXili0x1x2x3x4x5x6x7x
0x1x2x3x4x5x6x7x
Pošto ima osobinu koraka:X
Zato je: 1||||0 oddeven XX
Slično: 1||||0 oddeven YY
100
|)||(||)||(||||| evenoddoddeven YYXXBA
1||||0 oddeven XX
1||||0 oddeven YY
1||||1 BA
101
Sada, pokažimo da ima osobinu korakaZ
1||||1 BA
A Bc
i i
ccc
1c1c1c1c
ccccc
1c1c1c
Postoji najviše jedna žica gde se dve sekvence razlikuju
#tokena
i
#tokenakorak korak
102
A
B
c
i
i
ccc1c1c1c1c
ccccc
1c1c1c
cccc
c1c
1c1c
1c1c
cccc
c1c
1c1c
1c1c
Z
Osobinakoraka
Mer
ge1(
n/2)
Mer
ge(n
/2)
Merge(n)