You are on page 1of 83

2009

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

t B , OPT (t) = B , ALG1 (t) = 2B 1 ALG2 (t) = + B 1.


,
p
ALG1 (t) + ALG2 (t) + 3B 2 5+ 5
(t) = = ... .
2 OPT(t) 2B 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) :
.

LFU (least frequently used) :


.

LFD (longest forward distance) :


.
.
, LFD

.
(demand paging),

. ,
.
2. -

.

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 .

= p1 , p2 , ..., pk , pk+1 , pk , pk+1 , ...


, LIFO
k + 1 .
LFU. `
. :

= p`1 , p`2 , ..., p`k1 , (pk , pk+1 )`1 .


LFU
(k 1) ` . ,
. `
,
LFU
k .
4

Yao

Yao.

-
. -
.

4.1
.

. -
: ,
v , ,
v
( -).
.

. ,

.
, .
,
.
-

25
26 4. YAO

. , -
. ,
, 1.
,
-
.
-
.
.

4.2
, -
,
, -
, . ,
, -
.

6.

;

, -
.

,
1/2 (
) 1. ,

2.

-, -
( -
). -
1
(
).
1/2.
4.2. 27

1/2 1 + 1/2 /2. ,


2.


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,

j = arg min{`i1 (k) + ri (k) 2} (6.1)


k

`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 ),

OPT() OPT(h1 r) > 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

, SLOWFIT () < 8 OPT().

, :

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

, :

max{`j } = lim |`|p .


j p!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 () = O(log m) (6.5)

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 :

2N T N eki,h = (uki,h , uki+1,h ), -


( )
.

2N T N (uki+1,h , tki+1 ) 0 i < 2T 1 1 h N ,



( ).

N T (ski , uki,h ) 0 i < T 1 h N ,


(
).

rj = hrj (1), . . . , rj (N )i, dj


(k 1)T + l, (0 l < T ),
rj0 skl , tkl+dj ,
7.2. : 55

bj (eki,h ) = rj (h), l i < l + dj , bj (e) = 0 e.


ROUTEEXP,
, rj0 .
rj0 k ,
Gk . ,
rj h. , h
(.. t = (k 1)T + i)
ek1
i+T,h , ei,h . Gk
k

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.

L = hL1 (t), . . . , Lq(t) (t)i L0 = hL1 (t0 ), . . . , Lq(t0 ) (t0 ),

L < L0 , Lj (t) = Lj (t0 ) j < i Li (t) < Li (t0 )


1 i q(t0 )
:
. N , -
. (
.)
. k
k

(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 .

20. FIRST-FIT BEST-FIT


17
10
. , ,

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 ,

w(rij ) = w(ri1j ) + w(ri2j ).

, ,
j rij < 16 . . ri1 , ri2 < 16 ,
r r < 13

w(r) = w(ri1 ) + w(ri2 ).

t = 1 :

1. ri1 < 16 , w(r) < 1


5
< 7
10
.
2. 1
6
ri1 13 , w(r) < 3
5
1
10 < 7
10
.
64 8.

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.

. r1 > 12 (w(ri ) = 1).


r1 12 . r1
r2 . .
Pm
16 , i=1 ri > 1 6 . w
5

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

Pm i=1 w(ri ) = 15 > 0, (i) m = 1 r1 2 , (ii)


i=1 ri 1 9 .

. 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
.

W (Bi ) = 1 i i > 0 i < 12


Bi . Bi r1i , r2i , . . .
l > 1.
9, 1 < i l:
X 5
i 1 rji1 i1 + i1 .
j
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 .
:

cj (e) = u(e)[Lj (e) 1], (9.1)

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

" log = " log D + 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- ( -
) ( -
,
, , ...).

(3c dlog T e)-


ALG T , T
.

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.

[1] D. Achlioptas, M. Chrobak, and J. Noga. Competitive analysis of ran-


domized paging algorithms. Proceedings of the 4th Annual European
Symposium on Algorithms (ESA 96), LNCS 1136, Springer, pp. 419-
430, 1996.

[2] S. Albers. Lecture notes on competitive online algorithms. BRICS Lec-


ture Series LS-96-2, AArhus University, Denmark, 1996.

[3] J. Aspnes, Y. Azar, A. Fiat, S. Plotkin, and O. Waarts. On-line routing


of virtual circuits with applications to load balancing and machine
scheduling. Journal of the ACM, 44(3), pp. 486-504, 1997.

[4] B. Awerbuch, Y. Azar, E. F. Grove, M.-Y. Kao, P. Krishnan, and J. S.


Vitter. Load balancing in the Lp norm. Proceedings of the 36th Annual
Symposium on Foundations of Computer Science (FOCS 95), pp. 383-
391, 1995.

[5] B. Awerbuch, Y. Azar, and S. Plotkin. Throughput-competitive on-line


routing. Proceedings of the 34th Annual Symposium on Foundations of
Computer Science (FOCS 93), pp. 32-40, 1993.

[6] B. Awerbuch, Y. Bartal, A. Fiat, and A. Rosen. Proceedings of the 5th


Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 94), pp.
312-320, 1994.

[7] Y. Azar. On-line load balancing. Online Algorithms, The state of the
art. LNCS 1442, Springer, pp. 178-195, 1996.

[8] Y. Azar, A. Z. Broder, and A. Karlin. On-line load balancing. Theoreti-


cal Computer Science, 130(1), pp. 73-84, 1994.

81
82

[9] Y. Azar, J. Naor, and R. Rom. The competitiveness of on-line assign-


ments. Journal of Algorithms, 22(1), pp. 221-237, 1995.

[10] Y. Bartal. On-line Computation and Network Algorithms, Lecture


Notes. Hebrew University of Jerusalem, Israel, 1997.

[11] L. A. Belady. A study of replacement algorithms for virtual storage


computers. IBM Systems Journal, 5, pp. 78-101, 1966.

[12] L. A. Belady, R. A. Nelson, and G. S. Shedler. An anomaly in space-


time characteristics of certain programs running in a paging machine.
Communications of the ACM, 12(6), pp. 349-353, 1969.

[13] A. Borodin and R. El-Yaniv. Online computation and competitive anal-


ysis. Cambridge University Press, 1998.

[14] A. Borodin, S. Irani, P. Raghavan, and B Schieber. Competitive paging


with locality of reference. Journal of Computer and System Sciences,
50(2), pp. 244-258, 1995.

[15] I. Caragiannis. Better bounds for online load balancing on unrelated


machines. Proceedings of the 19th Annual ACM-SIAM Symposium on
Discrete Algorithms (SODA 08), pp. 972-981, 2008.

[16] I. Caragiannis, C. Kaklamanis, and E. Papaioannou. Ecient on-line


frequency allocation and call control in cellular networks. Theory of
Computing Systems, 35(5), pp. 521-543, 2002.

[17] I. Caragiannis, A. V. Fishkin, C. Kaklamanis, and E. Papaioan-


nou. Randomized on-line algorithms and lower bounds for computing
large independent sets in disk graphs. Discrete Applied Mathematics,
155(2), pp. 119-136, 2007.

[18] A. Fiat, R. M. Karp, M. Luby, L. A. McGeoch, D. D. Sleator, and N. E.


Young. On competitive paging algorithms. Journal of Algorithms, 12,
pp. 685-699, 1991.

[19] R. L. Graham. Bounds on certain multiprocessor anomalies. Bell Sys-


tems Technical Journal, 45, pp. 1563-1581, 1996.

[20] M. X. Goemans. Advanced Algorithms, Lecture Notes, MIT Laboratory


of Computer Science, 1993.
83

[21] A. R. Karlin, C. Kenyon, and D. Randall. Dynamic TCP acknowledge-


ment and other stories about e/(e 1). Proceedings on 33rd Annual
ACM Symposium on Theory of Computing (STOC 01), pp. 502-509,
2001.

[22] A. R. Karlin, M. S. Manasse, L. Rudolph, and D. D. Sleator. Competi-


tive snoopy caching. Algorithmica, 3, pp. 77-119, 1988.

[23] R. J. Lipton and A. Tomkins. Online interval scheduling. Proceedings


of the 5th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA
94), pp. 302-311, 1994.

[24] R. Motwani and P. Raghavan. Randomized Algorithms. Cambridge U-


niversity Press, 1995.

[25] D. D. Sleator and R. E. Tarjan. Amortized eciency of list update and


paging rules. Communications of the ACM, 28(2), pp. 202-208, 1985.

[26] E. Torng. A unified analysis of paging and caching. Algorithmica, 20,


pp. 175-200, 1998.

[27] J. Ullman. The performance of a memory allocation algorithm. Techni-


cal Report 100, Dept. of Electrical Engineering, Princeton University,
1971.

[28] A. C. Yao. Probabilistic computations: Towards a unified measure of


complexity. Proceedings of the 18th Annual Symposium on Foundations
of Computer Science (FOCS 77), 1977.

You might also like