mreže za sortiranje - rt-rk.uns.ac.rs file20 Širina dubina mreže za sortiranje:... log2 (log) 4...

Post on 30-Aug-2019

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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)

top related