Professional Documents
Culture Documents
Αλγόριθμοι Άμεσης Απόκρισης
Αλγόριθμοι Άμεσης Απόκρισης
1 5
2 ; 9
2.1 . . . . . 10
2.2 . . . . . . . . . . . . . . . . . . . . 11
2.3 . . . . . . . . . . . . . . . . . . 13
3 15
3.1 . . . . . . . . . . . . . . . . . . . 16
3.2 . . . . . . 16
3.3 (h, k) . . . . . . . . . . . . . . 18
3.4 . . . 19
3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4 Yao 25
4.1 . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 . . . . . . . . . . . . . . . . . . . . . 26
4.3 . . . . . . . . . . . . 28
5 31
5.1 MARK . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 . . . . . . . . . . 33
6 37
6.1 . . . . . . . . . . . 38
6.2 SLOWFIT . . . . . . 39
6.3 . . . . . . . . . 43
6.4 . . . . . . . . . . . . . . . . . . . 44
6.5 . . . . . . . . . . . . . . . 48
3
4
7 53
7.1 . . . . . . . . . . . . . . . . . . . 53
7.2 : . . . . . . . . 55
7.3 ROBIN-HOOD . . . . . . . . . . . . . . . . . . 57
8 61
9 69
9.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.2 . . . . . . . . . . . . . . . . . . . . 71
9.3 . . . . . . . . . . . . . . . . 76
1
-
(online algorithms).
.
-
.
.
,
. ,
-
. -
(competitive analy-
sis), ,
()
.
(competitive ratio). ALG
. , C
OPT () C ALG()
.
OPT () ALG() ()
5
6 1.
ALG
,
.
ALG
. ,
ALG() -
. -
ALG
(oblivious adversaries) C
OPT () C IE[ALG()] .
, -
ALG = 0. ,
C :
OPT ()
C = max
IE[ALG()]
.
, () -
ALG C
IE[ALG()] C OPT ()
.
OPT () ALG() ()
ALG
, .
IE[ALG()]
C = max
OPT ()
0.
.
7
-
(,
). ,
, -
.
; (ski-rental), (paging)
,
(load balancing), (bin packing),
(call admission).
8 1.
2
.
.
. ,
.
. ,
.
, .
.
.
. ,
. ,
. ;
9
10 2. ;
2.1
-
.
. ,
. ,
.
1 -
B .
1
, -
. ,
= B ,
. .
1.
; = B
2 B1 .
. -
= B 2 B1 . t > 0,
ALGB (t) t OPT(t)
t .
ALG (t)
B = maxt B (t) B (t) = OPTB(t) .
B (t) 2 1/B , t > 0.
t
OPT(t) = min{t, B}. t-
ALGB (t) = t t < B (t t ) ALGB (t) =
2B 1 t B (B 1 B 1
B ). , B (t) = min{t,B}
t
= 1 t < B B (t) = min{t,B}
2B1
=
2B1
B
= 2 B1 t B . , B (t) 2 1
B
,
B 2 B1 .
, = B
. -
2 1/B . -
ALG ( )
( ) = OPT( ) 2 1/B .
2.2. 11
: < B ,
1+B 1+B B1 B1
( ) = = >1+ >1+ = 2 1/B
min{, B} B
> B ,
1+B 1+B 1
( ) = = =1+ > 2 1/B.
min{, B} B B
( ) > 2 1/B , ,
= maxt (t) ( ) > 2 1/B .
2.2
. ,
, . ,
-
, .
2 1/B B
.
: ;
,
.
-
. -
,
-
,
( ).
= dB/e p
B
. (= 2 ).
1+ 5
12 2. ;
2. -
p
;
5+ 5
4 1.81.
. t > 0, ALG(t)
t.
B
8
< 2t t<
ALG(t) = t+ +B1 t<B
:
+ 3B 2 tB
-
1
t + 1 , .
1
B B 1 .
t OPT(t) =
2 min{t, B}. , (t) = ALG (t)
OPT(t)
,
= maxt (t).
t. t < , ALG(t) = 2t OPT(t) = 2t ( t < < B ).
, (t) = 1. t < B ,
ALG(t)
t+ +B1 1 +B1 1 +B1
(t) = = = + +
OPT(t) 2t 2 2t 2 2
p
B1 B1 5+ 5
= 1+ =1+ 1+ = .
2 2dB/e 2 4
t B ,
ALG(t) + 3B 2 dB/e + 3B 2 B/ + 3B
(t) = = =
OPT(t) 2B 2B 2B
p
1 3 5+ 5
= + = .
2 2 4
p p
(t) 5+ 5
4
, , = maxt (t) 5+ 5
4
.
1. o(1), -
2
; .
2.3. 13
2.3
,
. 1.81 -
. ,
.
. ,
B 1 B . ,
dB/ep 1 dB/e. ,
(= 1+2 5 ).
3.
p
5+ 5
4 1.81
;
.
. = dB/e.
t > 0, ALG1 (t)
t ALG2 (t)
t
. , ALG(t)
t.
t t<B
ALG1 (t) =
2B 1 t B
t t<
ALG2 (t) =
+B1 t
. , t > 0
ALG(t) IE[ALG(t)] = 12 (ALG1 (t) + ALG2 (t))
.
t OPT(t) = min{t, B}. ,
IE[ALG(t)] ALG1 (t)+ALG2 (t)
(t) = OPT(t) = 2OPT(t)
,
14 2. ;
= maxt (t). t.
t < , ALG1 (t) = ALG2 (t) = t OPT(t) = t. , (t) = 1.
t < B , OPT(t) = t, ALG1 (t) = t ALG2 (t) = +B 1. ,
p
ALG1 (t) + ALG2 (t) t+ +B1 5+ 5
(t) = = ... .
2 OPT(t) 2t 4
p
. (t) 4 ,
5+ 5
p
, = maxt (t) 5+ 5
4
.
3
-
-
. , , -
P = {p1 , p2 , ..., pN } N . ,
,
P k k < N .
. pi ,
pi . pi
(hit)
. , (page fault) -
pi
. ,
(
) pi .
.
. ,
.
15
16 3.
3.1
,
60.
-
. :
LRU (least recently used): -
.
FIFO (first-in-first-out) : -
.
LIFO (last-in-first-out) :
.
3.2 -
, LFD
.
3.2. 17
, (
;),
.
(..,
)
,
.
,
.
4. LFD
.
.
-
LFD .
.
1. ALG
. i, i = 1, 2, ..., ||,
ALG i
:
1. ALG i i1
ALG.
2. i , ALG i -
.
ALGi () ALGi
ALG() ALG.
n = ||
. .
OPT, i = 1
OPT1 , -
OPT1 i = 2 OPT2 , .
OPTn LFD
.
18 3.
. AL-
G, ALGi .
i , ALG AL-
Gi X [ {v}, X [ {u}, , X
k 1 u, v . u = v ,
ALG ALGi
ALGi () = ALG(). v 6= u ( ,
i- ).
v , ALGi ALG
u ALG v . -
, -
k 1. ,
k (.., ALG v ),
ALGi ALG
.
v ALG ALGi
, ALGi
ALG. , v ,
,
u
v .
ALG, ALGi . ,
ALGi
v ALG. ,
v , ALGi u
.
3.3 (h, k)
.
k h h k .
(h, k)- ,
k
h
k . h < k ,
.
3.4. 19
( FIFO )
Belady:
, -
. -
Belady,
.
3. LRU Belady
FIFO .
(h, k) -
;
, -
.
,
.
3.4 -
LRU FI-
FO -
.
FWF (flush when full)
. FWF :
FWF:
,
.
, FWF
. , FWF -
.
,
,
20 3.
. , , FWF
.
( -
LRU FWF)
-
kh+1
k
(h, k)- . ,
k ((k, k)-
). , -
, ( -
FIFO)
kh+1
k
.
-
k .
: 0 . i 1, i
i 1
k . , i + 1, ,
(k + 1)-
i- .
k -. k -
.
. -
k -.
bit bit . , bit
1, , -
. k -
.
k -, k -
. -
.
FWF
-
, FWF
.
, -
3.4. 21
(h, k)- -
.
5. ALG -
k OPT
h k .
k
ALG kh+1 OPT.
. -
k -. ,
k - i 1, ALG k -
. k
(
k ).
-
. , k -,
ALG
.
i 1 q i.
i
i + 1 ( i + 1 ).
OPT h1 q
k . ,
OPT k (h1) = k h+1
. i
, OPT
k 0 h , k 0
. OPT.
, ALG k
, ,
OPT k h + 1 . ,
:
k
ALG() OPT () + k 0 ,
kh+1
ALG() OPT ()
ALG OPT, , k 0 k
22 3.
ALG
k -.
1. LRU .
. LRU .
LRU x
k. x
k. x
, x -
. , LRU
k .
x , LRU -
x
k .
x k - -
k 1 .
, k - -
k + 1 ,
k. ,
LRU -
.
FWF
LRU .
5, 1, , -
.
k
1. LRU FWF kh+1
(h, k)- .
4. FIFO .
ALG
k ,
ALG k .
3.5. 23
5. LRU FIFO -
. , FWF .
5.
6. ALG -
k OPT
h k . -
k
ALG kh+1
OPT.
, .
k
2. FIFO kh+1
(h, k)- .
3.5
k
-
k .
k
kh+1
(h, k)- . , -
LRU, FIFO, FWF
(h, k)- .
-
LFD
.
2.
k + 1 , LFD () LFD
||
k + k k1 .
. k -. k - -
l m
||
k , k- k
. k k -
.
l m ,
||
k + k
1
|| ||
k+ k
+ k1
k
1= k
+ k k1 .
24 3.
,
.
7. ALG -
k k .
. k + 1 p1 , ..., pk+1 .
ALG
. ,
2.
:
r1 i 2, ri
ALG
r1 , ..., ri1 ( k + 1 , -
).
ALG .
,
ALG
LFD
k .
LIFO LFU
(
k ). LIFO.
p1 , p2 , ..., pk+1 .
Yao
Yao.
-
. -
.
4.1
.
. -
: ,
v , ,
v
( -).
.
. ,
.
, .
,
.
-
25
26 4. YAO
. , -
. ,
, 1.
,
-
.
-
.
.
4.2
, -
,
, -
, . ,
, -
.
6.
;
, -
.
,
1/2 (
) 1. ,
2.
-, -
( -
). -
1
(
).
1/2.
4.2. 27
2, .
, -
. , -
,
-
. -
, :
,
p 1 p.
,
, -
.
p ,
. p-Random -
p.
(
p)
. ,
, p-Random .
p-Random -
p . ,
.
,
p-Random p (
) 1. ,
1/p.
28 4. YAO
-, -
. 1
.
p -
1 p.
p 1 + (1 p) = p( 1). , -
p(1)
.
p
p . , -
p-Random ( )
p
. , p = 21
(-
) -
p -Random 1/p = 2 1/.
4.3
-
.
, -
. ,
Yao .
. P
.
ALG
. , ALG() ALG
OPT() P
. CP (ALG) -
ALG P -
C
IE[OPT()] C IE[ALG()]
4.3. 29
-
. , -
.
,
IE[ALG()] C IE[OPT()]
ALG() OPT()
ALG , .
Yao -
-
P . -
.
-
.
= 0 .
Yao. , -
.
, q , -
1 q . q
-
.
,
.
,
q + (1 q).
,
. -
.
30 4. YAO
-
. 1
(
).
q + (1 q).
-
, -
. ,
(1 q)
(1q) . ,
q+(1q)
-
.
-
-
q ,
q . -
, -
, q = 11/ -
2 1/. Yao, 2 1/
.
5
-
MARK -
. -
, Yao.
, , -
.
5.1 MARK
MARK -
k .
2Hk ,
Hk
Pk k1- (harmonic number)
Hk = i=1 i . ln k < Hk < 1+ln k
MARK
.
MARK: , .
p
, p . , p
,
,
31
32 5.
. -
p ,
.
8. MARK 2Hk
.
. -
k -. k -,
k -. i- k - -
.
k -
k -.
i- k -. mi
. k -
,
.
, mi , mi
. ,
k mi () .
j - (
k -)
i- k -
kmi (j1)
k(j1)
.
j - ,
.
kj+1mi
. ,
i- k -
km
Xi mi
mi + = mi + mi (Hk Hmi ) = mi (Hk Hmi + 1) mi Hk .
j=1
kj+1
. k - -
mi , i- (i 1)- k -,
5.2. 33
k + mi . ,
k - i ( ),
i- (i 1)- k -
mi .
k - -
P
m1 . , 12 i mi .
P
Hk i mi ,
.
7. MARK k
Hk
N = k + 1.
8. MARK
Hk ( k = 2 N = 4).
5.2 -
-
k .
Yao.
9. ALG -
k .
Hk .
.
I
k + 1 . 1
I . i > 1, i-
i k
I {i1 } .
k -. ,
, LFD
-
-
() Hk .
34 5.
i 2,
k .
, LFD
i,
i + 1. , k 1
.
A. k + 1
, i, A -
q .
i (
). , k I {i },
q 1/k . ,
Hk ,
kHk .
, -
. -
,
,
( -
) . -
I
k + 1 , -
.
.
, k -,
k + 1 -
,
k -.
.
3.
k + 1
5.2. 35
kHk .
. i
i
. , 1 = 0, 2 = 1, i > i1 i 3.
IE[k+1 ].
k+1
X
IE[k+1 ] = (IE[i ] IE[i1 ])
i=2
k+1
X
= IE[i i1 ].
i=2
.
IE[i i1 ]
i 1
, i-
. (i 1)-
,
i 1
ki+2
k
. ,
i 1 ,
k
k i + 2 (i 1)
. ,
X1 j1
ki+2 ki+2
IE[i i1 ] = j 1
j=1
k k
k
= .
ki+2
j i-
j 1 j .
P1
j=1 j(1 x)
j1
= 1/x2 . -
,
k+1
X X1 k
k
IE[k+1 ] = =k = kHk
i=2
ki+2 i=1
i
36 5.
3 ,
k - kHk .
A
1/k , -
Hk . ,
.
6
-
.
. , -
. i
hri (1), ri (2), ..., ri (N )i. ri (j)
i j
.
(makespan)
.
-
(unrelated machines). -
.
(related machines), i wi j
sj . i j
ri (j) = wi /sj . -
(, sj = 1 j ) -
(identical machines). -
(restricted assignments)
.
.
i j ri (j) = wi /sj j
i, ri (j) = 1
.
37
38 6.
.
:
GREEDY: ,
.
, GREEDY -
.
, SLOWFIT
. -
.
6.1
,
, -
, . ,
:
GREEDY : -
, .
, -
.
.
10. -
2 N1 N .
. 2 1/N
. ,
N (N 1) , 1,
N . -
1 N 1. ,
,
2N 1. , N
6.2. SLOWFIT 39
N 1 , N . -
,
2 1/N .
,
. r
w `
r. ,
r, ` ( r
). ,
r
N `. ,
N ` + w OPT() ` + N w
.
, OPT() w . , GR ()
:
GR () = ` + w
w 1
= `+ + 1 w
N N
1
OPT() + 1 OPT()
N
1
= 2 OPT()
N
6.2 SLOWFIT
,
. , -
SLOWFIT . -
SLOWFIT ,
. -
40 6.
SLOWFIT,
.
SLOWFIT : ,
.
.
. i, -
j
2,
`i1 (j) j
i 1 SLOWFIT ri (j)
i j .
, .
11. . -
OPT() ,
SLOWFIT
SLOWFIT () 2.
. SLOWFIT
, SLOWFIT () 2.
. OPT()
SLOWFIT t. -
t. ,
t
OPT(). -
OPT(), t 1
j
j
t 1
.
f `t1 (f ) OPT().
f 6= N `t1 (N ) + rt (N )
6.2. SLOWFIT 41
2OPT() 2 rt (N ) t.
, t
N .
= {j : j > N }
f ( f
`t1 (j) > OPT() j 2 ).
,
t 1
,
t1
.
g
j , i0
f . , rg (i0 ) OPT()
f i0 , rg (f ) rg (i0 ) OPT().
, f , `t1 (f ) OPT()
`g (f ) OPT(). ,
g , `g1 (f ) + rg (f ) 2OPT() 2. f
j , g
.
.
SLOWFIT, -
SLOWFIT
.
SLOWFIT: . -
, SLOWFIT
. 0, 0 r1 (N )
. -
SLOWFIT 0 (
SLOWFIT) -
1. , i 1,
i = 2i1 , SLOWFIT i
t SLOWFIT i1 -
42 6.
,
.
SLOWFIT i .
12. SLOWFIT 8
.
. SLOWFIT
k , k = 2k r1 (N ). k
k . -
h. h = 0,
20 2OPT(), SLOWFIT 0
. h > 0, r h.
h 1
h1 r h1 = 2h1 r1 (N ),
SLOWFIT :
h
X h
X
SLOWFIT () = SLOWFIT k (k ) 2k
k=0 k=0
Xh
= 2 2k r1 (N ) = 2(2h+1 1)r1 (N ).
k=0
, :
13. .
ALG
, OPT() ) ALG () c (. c = 2
SLOWFIT ).
ALG , ALG() 4c OPT(). ,
ALG 4c-.
6.3. 43
6.3 -
-
.
.
,
.
14.
blog N c -
N .
. k = blog N c.
N 0 = 2k
k + 1 . , N 0
. k ,
. i i = 1, ..., k 1,
(a, b), 1
a b .
i -
.
, 1
.
, i k 2ki ,
, N 0 /2 , N 0 /4 ,
..., k . -
, i
i k ,
i. 1
0
2 1.
, j < k ,
j + 1. ,
k + 1 k + 1.
44 6.
( )
. , i
i
i + 1. ,
.
k ,
,
k . , ,
,
.
, k + 1 =
blog N c + 1.
6.4
O(log N )
.
Lp
, p 1 .
Lp .
`j j , j = 1, ..., N . , Lp
:
N !1/p
X p
|`|p = `j .
j=1
, :
Lp :
6.4. 45
p-GREEDY: ,
p- .
.
15. p 1, p-GREEDY
21/p1 1 Lp .
. n N
. `j j
Lp .
yij 2 {0, 1}
i j (yij = 1) (yij = 0).
P
, i yij ri (j) = `j ri (j) i
j . , ij j
i 0j = 0 .
i, -
p-
.
,
p-
.
N
X N
X
pij pi1,j (i1,j + yij ri (j))p pi1,j .
j=1 j=1
(x + a)p xp x = i1,j , a = yij ri (j) 0, p 1.
x [0, +1] ,
N
X N
X
pij pi1,j (nj + yij ri (j))p pnj . (6.2)
j=1 j=1
, .
4. p 1, t 0, ai 0, i = 1, ..., k . ,
k
k
!p
X X
((t + ai )p tp ) t+ ai tp .
i=1 i=1
46 6.
. ai = 0 i = 1, ..., k . -
Pk Pk
ai > 0 = i=1 ai i = ai / . , i=1 i = 1.
z p [0, 1),
k
!!p
X
(t + ai )p = (1 i )t + i t + ai
i=1
k
!p
X
(1 i )tp + i t + ai (6.3)
i=1
i = 1, ..., k . (6.3),
k
k ! k
!p k
X X X X
((t + ai )p tp ) tp (1 i ) k + t+ ai i
i=1 i=1 i=1 i=1
k
!p
X
= t+ ai tp
i=1
p-
:
N
X
|n |pp = pnj
j=1
N X
X n
p
= ij pi1,j
j=1 i=1
n X
X N
p
= ij pi1,j .
i=1 j=1
(6.2), ,
6.4. 47
4,
n X
X N
|n |pp (nj + yij ri (j))p pnj
i=1 j=1
N X
X n
= (nj + yij ri (j))p pnj
j=1 i=1
N
n
!
X X
(nj + yij ri (j))p pnj .
j=1 i=1
Pn
i=1 yij ri (j) = `j
Minkowski ( Lp )
P 1/p P 1/p P 1/p
p 1
k k k
t=1 (at + bt ) p
t=1 apt + p
t=1 bt
at , bt 0,
N
X N
X
|n |pp (nj + `j )p pnj
j=1 j=1
0 ! p1 N ! p1 1p
XN X N
X
@ p p A
nj + `j pnj
j=1 j=1 j=1
p
= |n |p + |` |p |n |pp
|` |pp c = |n |p / |` |p , 2cp (c + 1)p
c 21/p1 1 .
ez 1 + z ,
p-GREEDY 21/p1 1 lnp2 1.4427p.
.
5. Ap c
Lp .
, Ap cN 1/p
N .
48 6.
.
`
. `
Lp c
p
cN 1/p maxj `j . , |` |pp N maxj `j |` |p
N 1/p maxj `j . , maxj `j |`|p . -
|`|p c|` |p , maxj `j cN 1/p maxj `j .
p-GREEDY -
lnp2 Lp , -
.
3. p-GREEDY p = ln N
e log N N
.
6.5
,
.
,
: ,
(weighted). (
), .
-
. G = (V, E)
rj = (sj , tj , bj )
bj sj tj .
, bj bj : E ! R+ .
rj Pj sj
tj e Pj bj (e).
-
. ,
.
, ,
(
6.5. 49
). ,
,
.
.
ROUTEEXP > 0 = (1 + ).
rj = (sj , tj , bj ), rj Pj
P
e2Pj aLj1 (e)+j (e) aLj1 (e) ,
X
Lj (e) = bj (e),
ij
Pi :e2Pi
Lj (e)
Lj (e) = ,
bj (e)
j (e) = .
, rj
cj (e) = aLj1 (e)+j (e) aLj1 (e) = aLj1 (e) aj (e) 1 .
16. G = (V, E) m .
OPT() , ROUTEEXP () = O(log m) .
. a = (1 + ),
ax 1 x, x 2 [0, 1] (6.4)
P1 , . . . , Pn ( P1 , . . . , Pn ) -
ROUTEEXP ( ) -
50 6.
r1 , . . . , rn .
X X
aLj1 (e) aj (e) 1 aLj1 (e) aj (e) 1
e2Pj e2Pj
Pj
X
aLn (e) aj (e) 1
e2Pj
Lk (e) k
X
aLn (e) j (e),
e2Pj
(6.4)
n X
X XX
aLj1 (e) aj (e) 1 aLn (e) j (e).
j=1 e2Pj j e2Pj
X X X X
aLj1 (e) aj (e) 1 aLn (e) j (e)
e j:e2Pj e j:e2Pj
X X X
(aLn (e) 1) aLn (e) j (e)
e e j:e2Pj
1 -
OPT(r1 , . . . , rn )
X X
aLn (e) m aLn (e) .
e e
6.5. 51
, < 1,
X m
aLn (e)
e
1
m
Ln (e) loga
1
m
Ln (e) loga
1
ROUTEEXP ROUTE-
EXP 13.
52 6.
7
-
.
. j - -
sj fj ,
j - dj = fj sj . fj dj -
j . ,
.
ALG() ALG ,
.
, GREEDY
2 N1 , -
. ,
2 N1 . ,
SLOWFIT
.
7.1
, ,
, T
, . , T
53
54 7.
,
.
-
.
17. (
),
T ( ), ROUTE-KNOWN T ,
O(log N T )-.
. -
[(k1)T, kT ]
k . ( ),
:
Gk 2T N + 3T
uki,h 0 i < 2T 1 h N ,
tki+1 0 i < 2T 1,
ski 0 i < T , .
i , h
. Gk 5N T 2N :
O(log N T ) , ROUTE-
KNOWNT O(log N T )-.
7.2 :
. ,
.
18. -
.
p
( N ).
. Li (t) i t ( -
t, ).
t,
. , L1 (t) L2 (t) Lq(t) (t)
Li (t) = 0 i > q(t). -
,
.
1. , N -
. , OPT() 1.
2. , N
Li (t) Li+1 (t) + 1, 1 i q 1.
56 7.
3. r i
(k)
Li > 0, ALG r
i. k ,
.
-
. .
1.
(k) (k)
L(k) = hL1 , . . . , Lq(k) i,
k .
(k) (k)
L(k) (Li Li+1 + 1), = k .
, k
P k (k)
k+1 L(k) < L(k+1) . qi=1 Li = N
,
.
, k + 1
(k) (k)
Li = Li+1 > 0
i 1,
. :
1. i i + 1
. ( ALG ,
3)
7.3. ROBIN-HOOD 57
2. ,
{i, i + 1}. -
ALG i,
i + 1.
3. i + 1
ALG.
4. ,
.
(k+1) (k)
k+1. Li = Li +1 L(k) < L(k+1) .
. , l = L1 (t) = ALG()
q q1
X X q(q 1)
N= Li (t) (l i) = ql
i=1 i=0
2
q l, l (q 1) Lq (t) > 0. l
q = l 2 N ,
l(l+1)
p
l 2N (1 + o(1)). ,
p
ALG() = ( N ).
7.3 ROBIN-HOOD
.
,
. -
(N 2/3 ),
p
O( N )) .
rj sj lj -
Mj .
Li (sj ) i rj (-
t sj ).
58 7.
j j r1 , r2 , . . . , rj . j -
B(sj ) OP T , B(s0 ) = 0
P
B(sj ) = max{B(sj1 ), lj , N1 (lj + i Li (sj ))},
. p
i sj , Li (sj ) N B(sj ).
B ,
B(sj1 ) < B(sj ), . ,
(, )
(, ).
ROBIN-HOOD r1
. rj , sj ,
p i 2 Mj sj
Li (sj ) < N B(sj ). , -
rj . (
, .)
p
19. ROBIN-HOOD (2 N + 1)-
.
. rj
P
i Li (sj ) N B(sj ).
p
N , . ROBIN-
HOOD rj m.
p
Lm (sj ) + lj N (B(sj ) + OPT(j )) + OPT(j )
p m sj , Lm (sj ) + lj
N B(sj ) + OPT(j ). m -
st(j) S
m [st(j) , sj ). k 2 S
Mk ( k )
st(j) ( rk m
). st(j) ( )
p
N ,
[ p
h=| Mk | N.
k2S
7.3. ROBIN-HOOD 59
P
k2S lhk -
,
X p
lk h OPT(j ) N OPT(j ). (7.1)
k2S
, m rj
X
Li (sj ) + lj Lm (st(j) ) + lk + lj
k2S
p X
< N Bt(j) + lk + lj ,
k2S
m rt(j) ,
p
(2 N + 1)OPT(j ),
7.1 lk OPT(j ), k j .
60 7.
8
(bin packing)
.
, ( ), -
( 1).
r1 , r2 , . . . ri 1
. -
,
.
-
. , (-
) , FIRST-FIT
BEST-FIT. FIRST-FIT
. BEST-FIT, , ri
, 1 ri .
17
FF() OPT() + 1
10
,
17
FF() OPT() 8.
10
BEST-FIT.
61
62 8.
. 53 .
17
10
.
= r1 , . . . , r3n ,
8
>
>
1
6
2" i = 1, . . . , n.
>
>
<
ri = 1
3
+" i = n + 1, . . . , 2n.
>
>
>
>
: 1
2
+" i = 2n + 1, . . . , 3n.
, OPT() = n. , ,
FIRST-FIT ( BEST-FIT) ,
"
n
6
n , n2 n, n
n . , 5n 3
.
FF() 17
10
OPT() + 2.
:
8 6
>
> 5
r 0 r 16 .
>
>
>
>
>
>
< 95 r 1
10
1
6
r 13 .
w(r) =
>
>
>
>
6
5
r+ 1
10
1
3
r 12 .
>
>
>
>
:
1 1
2
< r.
Pn
= r1 , r2 , . . . , rn , W () = i=1 w(ri ),
Pt
B , W (B) = j=1 w(rij ), {rij |j = 1, . . . , t}
B .
, .
17 17
6. B W (B) 10
, W () 10
OPT().
. 12 ,
w(ri ) 3 17
< .
ri 2 10
63
t
X t
3X 3 17
w(rij ) rij 1 <
j=1
2 j=1 2 10
. , ri > 12
rij
ri
t
X 1
rij < ,
j=1
2
t
X 7
w(rij ) < .
j=1
10
,
rij 13 , rij > 13 ,
1 1 1
ri1j = ri2j = rij < .
3 3 6
w ( )
r < 16 13 r < 12 ,
, ,
j rij < 16 . . ri1 , ri2 < 16 ,
r r < 13
t = 1 :
t = 2 :
1. ri1 < 1
6
ri2 13 , w(r) 1
5
+ 35 1
10
= 7
10
.
2. 1
ri1 , ri2
6
1
3
, w(r) < 9
(r
5 i1
+ ri2 ) 2
10
< 7
10
,
(ri1 + ri2 ) < 12 .
t = 3 :
1. ri1 < 1
6
ri2 , ri3 13 , w(r) 65 ri1 + 95 (ri2 + ri3 ) 2
10
<
7
10
3
r
5 i1
7
< 10 , (ri2 + ri3 ) < 12 ri1 .
2. 16 ri1 , ri2 , ri3 13 , w(r) < 9
(r
5 i1
+ ri 2 + ri 3 ) 3
10
< 7
10
,
(ri1 + ri2 + ri3 ) < 12 .
t > 3 .
7. FIRST-FIT k = FF() B1 , . . . Bk ,
k
X
W (Bi ) k 2.
i=1
FF() W () + 2.
. B FIRST-FIT, -
r > 12 , W (B) 1.
, B ,
r 12 . B1 , . . . , Bl (
), - .
B , s(B) ( )
B . -
Bi , Bj , j < i,
s(Bj ) = 1 , Bk , k < i, s(Bk ) 1 . (
0.)
, B
B ,
.
12 ,
, 12 .
65
12 .
, .
B .
8. B r1 rm .
Pm Pm
i=1 ri 1 , i=1 w(ri ) 1.
5 12 , .
6
1
6
1
3
m:
1. m = 1. r1 1
2
, 1 1
2
,
12 . .
2. m = 2. r1 r2 13 , w(r1 ) + w(r2 ) 2( 65 13 + 10
1
) = 1.
1
3
> r1 r2 , 3 > r1 + r2 1 , > 3 . .
2 1
r1 13 > r2 , r2 > 13 ,
6 9 6 3 6 3
w(r1 ) + w(r2 ) = r1 + r2 = (r1 + r2 ) + r2 > (1 ) + > 1
5 5 5 5 5 5
3. m = 3. .
13 12 m.
.
9. B r1 rm .
Pm 1
. m = 1, r1 > 12 > 0.
m 2, , r1 r2 > .
Pm e
i=1 ri = 1 . B
66 8.
r3 , . . . , rm 1 , 2 ,
1 + 2 = r1 + r2 + i ri . 8 B e ,
m
X
w(ri ) + w(1 ) + w(2 ) 1 (8.1)
i=3
w 9
5
1
2
,
9
w(1 ) + w(2 ) w(r1 ) + w(r2 ) +
5
(8.1)
m
X X m
9
w(ri ) + w(ri ) + w(1 ) + w(2 ) 1,
i=1
5 i=3
m
X 9
1 = w(ri ) 1 .
i=1
5
5
9
.
Bi1 (i) 9, i 1
2
.
l1
X l
9X 9 9 1
i (i i1 ) = (l 1 ) < 1.
i=1
5 i=2 5 5 2
Pl
l 1, i=1 i 2. , l = 1
.
67
l 9,
m (FF() = m + l). 8
1. ,
X l
X l
X l
X
W () = w(ri ) m + W (Bi ) = m + (1 i ) = m + l i
i=1 i=1 i=1
FF() 2.
FF() W () + 2.
6
17
FF() OPT() + 2.
10
.
68 8.
9
,
.
,
. ,
. , -
, . ,
, .
,
, ,
- .
.
9.1
( , -
)
( ) . -
,
,
-
.
i- ri = (si , ti , bi , pi ) -
si ti ,
69
70 9.
bi , pi .
, -
(throughput)
:
.
.
. ,
,
,
.
, -
,
.
-
, - (.. )
:
1. (bidirectional mode). -
hu, vi -
hu, vi hv, ui, c, c
.
2. (undirected mode). -
hu, vi -
, -
.
,
c, c .
, -
, ,
.
9.2. 71
9.2
,
-
.
.
,
, -
.
ALG . -
u(e) e Lj (e) -
e ( ) j
ALG. Aj ,
j , , Pk
rk , k 2 Aj .
1 X
Lj (e) = bk
u(e) k2A
j
e2Pk
Ln (e) 1
e = r1 , . . . , rn .
:
D -
. , ,
, (
), pi = D bi , ri =
(si , ti , bi , pi ). ,
. , 0 " 1
ri , i = 1, 2, . . . n
u(e)
bi min = b (e)
e " log D + 1 + "
,
u(e)
bi = O
log D
72 9.
" 1
log1 D
.
AAP" D (..
) , 0 " 1.
1
bi b (") pi = D bi ri . = 21+ " D.
j - rj = (sj , tj , bj , pj ) P
X bj
cj1 (e) pj .
e2P
u(e)
rj ,
. Lj (e) cj (e) .
" .
21. , -
AAP .
. ,
Ln (e) 1 e.
= r1 , . . . , rn , A rj
( Pj ) AAP.
.
k 2 A. AAP, -
rk
X bk
ck1 (e) pk = D bk .
e2P
u(e)
k
X ck1 (e)
D.
e2P
u(e)
9.2. 73
e 2 Pk
ck1 (e)
D u(e)
= Lk1 (e) 1
bk
= Lk (e) u(e) 1
1
Lk (e) (" log D+1+") 1
bk
u(e)
1
(" log D+1+")
.
1
= Lk (e) (" log ) 1
x = 2x log . . .
Lk (e)
= 1 1.
2"
1 1 1
Lk (e) 2 " D + 2 " 21+ " D = , Lk (e) 1.
22. , -
AAP
1 1 1
21+ " log + 1 = O(2 " + 2 " log D).
. r1 , r2 , . . . rn .
A rj ( Pj )
AAP, A
AAP, . C
P
, C = e cn (e).
:
1. X
1
C (21+ " log ) pj ,
j2A
.
74 9.
2. X
pj C,
j2A
-
.
1 2, ,
X X
AAP() = pj OPT() AAP() + pj .
j2A j2A
|A|, -
AAP. ,
.
, . ,
rk .
X 1
X
ck1 (e) 21+ " log pj , (9.2)
e j2A{k}
X 1
X
ck (e) 21+ " log pj . (9.3)
e j2A
X X X 1
ck (e) ck1 (e) = (ck (e) ck1 (e)) 21+ " pk log . (9.4)
e e e2Pk
e 2 Pk ,
bk
[ck (e) ck1 (e)] = u(e)[Lk1 (e)+ u(e) Lk1 (e) ]
bk
= u(e)Lk1 (e) [ u(e) 1]
h i 1
Lk1 (e) bk
u(e) log u(e)
2"
1
h i
ck1 (e)
= 2 log
"
u(e)
+ 1 bk
1
h i
bk
= 2 log
" c (e)
u(e) k1
+ bk .
9.2. 75
bk 1
x 1 = 2x log 1, log ,
u(e) "
1 1
2y 1 y2 " y 2 [0, ]. ,
"
X 1
X bk
[ck (e) ck1 (e)] 2 log " ck1 (e) + bk
e2Pk e2P
u(e)
k
!
1
X bk X
= 2 log
" ck1 (e) + bk
e2P
u(e) e2P
k k
!
1
X
2 log pk +
" bk
e2Pk
AAP
1
2 " log (pk + D bk )
1
= 2 " log 2pk .
1.
, Pj , -
rj . -
, AAP, -
,
X bj X bj
pj < min cj1 (e) cj1 (e)
sj tj - u(e) u(e)
P e2P e2P j
76 9.
,
X X X bj
pj < cj1 (e)
e2P
u(e)
j2A j2A j
X X bj
cn (e)
e2P
u(e)
j2A j
cl (e) - l,
n .
X X bj
= cn (e)
u(e)
e j2A:e2Pj
X X bj
= cn (e)
u(e)
e j2A:e2Pj
X
cn (e)
e
= C.
9.3
, ( -
), . -
, -
, .
,
.
-
,
9.3. 77
. , -
( ,
).
,
-, /
( ).
-
()
, log T ,
T = .
23. ALG c- ( -
) ( -
,
, , ...).
T , O(c"
c log T log log1+" T )- ALG 0 ,
" > 0 c" " 0.
. T
T = 2h h. .
i t 2i t <
2i+1 . i , (
),
. ,
log T . ,
.
ALGT ,
k 2 {0, 1, . . . , log T } l 2 {0, 1, 2}.
r , (i) ik ,
78 9.
ik k -
, (ii) Im = [(3m+l)2ik , (3m+l+1)2ik ],
m. ALGT r
r ALG -
.
2ik +1 = 2
2ik , Im ( )
() (
) Im+1 = [(3m + l + 3)2ik , (3m + l + 4)2ik ].
,
Im . l k , ( ik )
,
OPT()
3 log T . , ALG c-,
ALGT (3c log T )-.
T , -
ik . log1 T , ALG0
ik
1 1
pk = ,
f" k log1+" (k)
P
f" 1k p k = 1.
23
21 22,
. j - -
rj rj = (sj , tj , bj , pj , aj , fj ), aj fj
.
(
). = D ( ).
1 (
)
T .
, -
1 fj aj + 1 T . ,
Lj (e) Lj (e, t) ( cj (e) cj (e, t)) -
e, [t, t + 1),
9.3. 79
j .
Lj (e, t) t ,
.
AAP .
AAP-KNOWN" D ,
" > 0 .
1
bi min u(e) " log DT + 1 +
e "
1
pi = Dbi (fi ai ) ri . = 21+ " DT .
j - rj = (sj , tj , bj , pj , aj , fj ) P sj tj
X X bj
cj1 (e, t) pj .
a t<f e2P
u(e)
j j
rj ,
. Lj (e, t) cj (e, t) -
. , rj aj t < fj ,
bj
Lj (e, t) := Lj1 (e, t) + ,
u(e)
Lj (e, t) := Lj1 (e, t).
21
22.
24. , -
AAP-KNOWN"
.
25. , -
AAP-KNOWN"
1
!
1 2" 1
O(2 log ) = O
" + 2 " log DT .
"
80 9.
[7] Y. Azar. On-line load balancing. Online Algorithms, The state of the
art. LNCS 1442, Springer, pp. 178-195, 1996.
81
82