Вы находитесь на странице: 1из 20

-

- :
"Security Games"

: ..
: ..

-
2013 .

2
Security Games
2.1 . . . . . . . . . . .
2.2 . . . . . . . . .
2.3 . . . . . . . . . . .
2.4 . . . . . . . . . . .

3
3
3
4
5

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

3 ISG Matlab
3.1 . . . . . . . . . . . . . . . . . . . . . . . .
3.2 ISG . . . . . . . . . . . . . . . . .
3.3
. . . . . . . . . . . . . . . . . . . . .
4 Bayesian Security Games
4.1
4.2 . . . . . . . .
4.2.1 - . . . . . . . . . . .
4.2.2 - . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

6
. . . 8
. . . 10
. . . 12

.
.
.
.

.
.
.
.

.
.
.
.

14
14
17
17
18

.
, -
. , . ,
.

2
2.1


Security Games

,
, . ,
- : ,
, , - . , : ,
. . :
1,
2. , - .

2.2

, 0 T = {t1 , ....tn }
0 , .
m. ,

P
.
P T . T,
m, . .
,
3

P
.P, , , .
, , . ,
t Uu (t)
Uc (t) . Uu (t, )
Uc (t, ) . , .
, Uc (t) Uu (t) Uu (t) Uc (t, ) t T .

, ,
. n
P
ci = m.
ti T ci ,
i=1

C.

2.3

.
[1] , ,
. ,
. ,
. Uu (t) Uu,min (t) Uu,max (t), Uc (t) Uc,min (t) Uc,max (t).
U (t), .
C, . ti
:
max (ti ) = ci Uc,max (ti ) + (1 ci ) Uu,max (ti )

(1)

min (ti ) = ci Uc,min (ti ) + (1 ci ) Uu,min (ti )

(2)

, ,
. R = maxti min (ti ).
ti max (ti ) R
4

. (C), :
(C) = {ti : max (ti ) R}

(3)

:
di = ci Uc (ti ) + (1 ci ) Uu (ti )

(4)

- ,
:
max( min di )
C

2.4

ti (C)

(5)

, m.

.
, . ,
. , .
, . ,
D . , D
. , :
1. (C), D .
2. (C).
ci :


D Uu (t)
1
ci = max 0, c
U (t) Uc (t)
5

(6)

R c1i . c2i ,
,
(C):


R Uu,max (t)
2
ci = max 0, c,max
(7)
U
(t) Uc,max (t)
c1i c2i ,

D .

ISG Matlab

:
Algorithm 1 ISG
1: for all ti T do
2:
ci 0
3: end for
4: maxP ayof f 0
c
5: lminP ayof f minti T (U
(ti ))
6: error value
7: while maxP ayof f minP ayof f error do
8:
midpoint (maxP ayof f minP ayof f )/2;
9:
if feasibilityCheck(midpoint, m, C) then
10:
minP ayof f midpoint
11:
else
12:
maxP ayof f midpoint
13:
end if
14: end while
feasibilityCheck:

Algorithm 2 feasibilityCheck
1: for all ti T do

D U u (t)
2:
c1i max 0, U c (t)Uc (t)

3: end for
4: for all ti T do
5:
totalCov c1i
6:
ci c1i
7:
if ci > 1 then
8:
GOTO next ti
9:
end if
10:
R (c1i Uc,min (ti )) + (1 c1i ) Uu,min (ti )
11:
for all tj T \ ti do

12:

13:

RU u,max (t)

c2i max 0, U c,max (t)U


c,max
(t)



u,min
RU
(t)
3

ci max 0, U c,min (t)U c,min (t)

14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:

minCov max(c3i , min(c1i , c2i ))


if minCov < 0 k minCov > 1 then
GOTO next ti
end if
totalCov totalCov + minCov
cj minCov
if totalCov m then
return TRUE, C
end if
end for
end for
return FALSE

3.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

%Dramatis Personae
%T = { t1 , t 2 . . . t n } s e t o f t a r g e t s
%C = { c1 , c 2 . . . c n } s e t o f p r o b a b i l i t i e s o f
% d e f e n d i n g f o r each t a r g e t
%Uud( t ) d e f e n d e r p a y o f f f o r an a t t a c k
% on uncovered t a r g e t
%Ucd ( t ) d e f e n d e r p a y o f f f o r an a t t a c k on
% covered target
%UuaMax( t ) a t t a c k e r max p a y o f f f o r an
% a t t a c k on uncovered t a r g e t
%UuaMin ( t ) a t t a c k e r min p a y o f f f o r an
%a t t a c k on uncovered t a r g e t
%UcaMax ( t ) a t t a c k e r max p a y o f f f o r an
%a t t a c k on c o v e r e d t a r g e t
%UcaMin ( t ) a t t a c k e r min p a y o f f f o r an
%a t t a c k on c o v e r e d t a r g e t
%R maximum minimum v a l u e o f a t t a c k e r
%e x p e c t e d p a y o f f
%c1 ( t ) min d e f e n d e r c o v e r a g e
% for target t
%c2 ( t ) min a t t a c k e r c o v e r a g e
% for target t
%c3 ( t ) m y s t e r i o u s c o n s t r a i n t :
%maximum a t t a c k e r p a y o f f
%e e r r o r t o l e r a n c e parameter f o r
% the binary search
%m count o f a v a i l a b l e r e s o u r c e s
f u n c t i o n ISG_Algorithm ( )
T s i z e =7;
m=4;
e=0. 0 0 0 1 ;
initPayoffsVariables ();
function initPayoffsVariables ()
QmaxA=18;
QmaxD=20;
DefAmax=7;
DefDmax=8;
DistMax =2;
DefD=rand ( 1 , T s i z e ) * DefDmax ;
Qd=(DefDmax+1)+rand ( 1 , T s i z e ) *QmaxD;
Uud=(QdDefD ) ;
Ucd=(Qd+DefD ) ;
Qa=(DefAmax+DistMax+1)+rand ( 1 , T s i z e ) *QmaxA;
DefA=rand ( 1 , T s i z e ) * DefAmax ;
D i s t=rand ( 1 , T s i z e ) * DistMax ;

46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94

UuaMax=Qa+DefA+D i s t ;
UcaMax=QaDefA+D i s t ;
UuaMin=Qa+DefAD i s t ;
UcaMin=QaDefAD i s t ;
end
Uud ; Ucd ; UuaMax ; UcaMax ; UuaMin ; UcaMin ;
C=z e r o s ( T s i z e , 1 ) ;
maxPayoff =0;
minPayoff=min (Uud ) ;
w h i l e ( maxPayoffminPayoff )>e
midPoint=maxPayoff+(minPayoffmaxPayoff ) / 2 ;
%midPoint=(maxPayoffminPayoff ) / 2 ;
[ r e t , C]= f e a s i b i l i t y C h e c k ( midPoint ,m, C ) ;
i f strcmp ( r e t , ' t r u e ' )
minPayoff=midPoint ;
else
maxPayoff=midPoint ;
end
end
C
midPoint
min (Uud)
f u n c t i o n [ r e t , C]= f e a s i b i l i t y C h e c k ( midPoint ,m, C)
c1=z e r o s ( 1 , T s i z e ) ;
f o r t =1: T s i z e
c1 ( t )= get_c1 ( t ) ;
end
f o r t =1: T s i z e
t o t a l C o v=c1 ( t ) ;
C( t )=c1 ( t ) ;
i f C( t )>1
continue
end
R=get_R ( c1 ( t ) , t ) ;
f o r t j =1: T s i z e
i f ( t==t j )
continue
end
c2=get_c2 (R, t j ) ;
c3=get_c3 (R, t j ) ;
minCov=max ( [ c3 , min ( c1 ( t ) , c2 ) ] ) ;
i f minCov<0 | | minCov>1
break
end
t o t a l C o v=t o t a l C o v+minCov ;
C( t j )=minCov ;
end
i f ( minCov>=0 && minCov<=1) && tot al Co v<=m
r e t=' t r u e ' ;

return

95

end

96

end
r e t=' f a l s e ' ;
return
f u n c t i o n c1=get_c1 ( t )
%c a s h=1(midPointUud( t ) ) / ( Ucd ( t )Uud( t ) ) ;
c a s h =(midPointUud( t ) ) / ( Ucd ( t )Uud( t ) ) ;
c1=max ( [ 0 , c a s h ] ) ;
end
f u n c t i o n c2=get_c2 (R, t )
%c a s h=1(RUuaMax( t ) ) / ( UcaMax ( t )UuaMax( t ) ) ;
c a s h =(RUuaMax( t ) ) / ( UcaMax ( t )UuaMax( t ) ) ;
c2=max ( [ 0 , c a s h ] ) ;
end
f u n c t i o n c3=get_c3 (R, t )
%c a s h=1(RUuaMin ( t ) ) / ( UcaMin ( t )UuaMin ( t ) ) ;
c a s h =(RUuaMin ( t ) ) / ( UcaMin ( t )UuaMin ( t ) ) ;
c3=max ( [ 0 , c a s h ] ) ;
end
f u n c t i o n R=get_R ( c1 , t )
R=(c1 *UcaMin ( t ))+((1 c1 ) * UuaMin ( t )e ) ;
end

97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117

end

118
119

end

3.2

ISG

.
, ,
. ,
. :
1.
2.
3.

10

,
, , . ,
.
. ,
, , .

.
. ,
,
.
. ,
65

1: , *1000$

buh1
buh2
buh3
hr1
hr2
dev1
dev2
dev3
dev4

Uu
35
20
15
12
15
40
35
25
14

Uc
25
10
8
6
10
25
15
10
8


.
,
:

11

2: ,
*1000$

buh1
buh2
buh3
hr1
hr2
dev1
dev2
dev3
dev4

Uu,max
15
20
5
10
8
35
25
16
12

Uu,min
10
15
2
8
6
25
15
12
19

Uc,max
10
13
2
6
5
15
10
8
8

Uc,min
5
10
1
4
3
10
8
4
5

, :
3: , %

buh1
buh2
buh3
hr1
hr2
dev1
dev2
dev3
dev4

3.3

0.9520
0.9520
0
0
0
0.9840
0.9520
0.7200
0.4400


. , m. 1:

12

Defender payoff

10.0002

10

10.0002

10.0002

10.0002

10.4801

12

12.4001

14

14.4212

16
16.9231
18
19.2307
20

6
7
Available resources

10

11

. 1:
.
, . , m=6
. , 6
. , , m=5
m=6 ,
5 .

13

Bayesian Security Games

, , . ,
: . T = {t1 , ...ti } R = r1 , ..., rm [2].
.

(C, ) = arg max(ct Uc (t, ) + (1 ct ) Uu (t, ))


tT

(8)

A(C) = (t (C))tT t (C) , t T


C
Z

t (C) =
P b()1t (
(C, ))d
(9)

(C, )) - -, 0 t =
1t (

(C, ) 0 . A()
C,

= C

X

= arg max
t (C)(ct Uc (t) + (1 ct ) Uu (t))
(10)

4.1

tT

, (10) . , . t/inT
Uc (t, ), Uu (t, ) :
Z
c
f (t, r) =
P b()Uc (t, )d
(11)

fu (t, r)

Z
=

P b()Uu (t, )d

14

(12)

.
, , fc (t, r) r t .

,
. . C, Xt (C) - ,
t, C.
t T :
at (C) = P b[Xt (C)] > Xt0 t0 T \ t]

(13)

. (13)
:
r=+
Z

P b[Xt (C) = r]

at (C) =

P b[Xt0 (C) < r]dr

(14)

tT \t

r=
r=+
Z

P b[Xt (C) = r]

rZ0 =r

P b[Xt0 (C) = r0 ]dr0 dr

tT \tr0 =

r=

Xt (C),
(14). P b[Xt (C) = r] t T
< r < +. Xt (C)
, Xt (C) Xt+ (C). Xt (C). Xt (C) ,
Xt + (C)
C.
, Xt (C) = r Xt (C) = x Xt+ (C) = r x
< x < +. P b[Xt (C) = r]
:
x=+
Z

P b[Xt (C) = x] P b[Xt+ (C)] = r x]dx

P b[Xt (C) = r] =
x=
x=+
Z

P b[Xt (C) = x]dx P b[Xt+ (C) = r x]dx


dx

x=

15

x=+
Z

P b[x Xt (C) x + dx] P b[r x Xt+ (C) r x + dx]


dx

x=

y := cxt
ct , y ct = x.
x=+
Z

rx
y= 1c

y= cx

1
dx

x=

fc (t, y)dy

y= x+dx
c

fu (t, y)dy

y= rx+dx
1c

u := ct y, v := (1 ct )
x=+
Z

u=x
Z

1
dx

x=



u 1
c
f t,
du
ct ct

fu


t,

v
1 ct

1
du
1 ct

v=rx

u=x+dx
x=+
Z

v=rx+dx
Z





x 1
1
1 c
rx
u
f t,
dx f t,
dx
dx
ct ct
1 ct 1 ct

x=
x=+
Z





x
1
rx
1 c
u
f t,

f t,
dx
ct
ct
1 ct
1 ct

x=

P b[Xt (C) = r] (14)


r=+
Z r=+
Z

at (C) =





1
1 c
x
rx
u
f t,

f t,
dxdr
ct
ct
1 ct
1 ct

r= r=
rZ0 =r x=+
Z





0
1
1 c 0 x
u
0 r x
f t,
f t,

dxdr0

c0t
ct
1 c0t
1 c0t
tT \tr0 = x=
R Q
R
, at (C) = gt t0 T \t Gt0 Gt := gt :
Y

x=+
Z

gt (r) :=





x
1
rx
1 c
u
f t,

f t,
dx
ct
ct
1 ct
1 ct

x=

gt , Gt at (C)
. :
-, - fc fu .
16

4.2

, ,
-
.
, DOBSS. ,

-, DOBSS . -.
:
1.
2. .
4.2.1

-
. DOBSS
-. ,
ERASER,
security games. (MIP). ERASER. ERASER-

, , .
, (11) (12). ,
ERASER MIP.
Sampled Bayesian ERASER (SBE)
SBE-x x .
. , , SBE-1
.

17

4.2.2


-. - (GMC). , . (evaluates the prospect)
.

C ,
t, ct = ct +.
, .
ORIGAMI,
. , .

,
.
.
, . , ,

. - . ,
, . ,
.
, , .
:
(cbest + )Uc (best, ) + (1 (cbest + ))Uu (best, )
= (csecondt )Uc (second, ) + (1 (csecond )Uu (second, )
18

:
=

(csecond )Uc (second, w) + (1 csecond )Uu (second, )


Uc (best, ) UP siu (best, )
(cbest Uc (bset, ) (cbest )Uu (second, )

Uc (best, ) Uu (best, )

(15)

,
t.
:
1. t
2. , t , t .
3. , , , t
.
t ,
. ,
, .
, - t ct + .
, t ,

t.

. ,
,
. ,
, , .
GMC
. -, 1%
,
, , . -,
19


, , , ,
( ) , ,

.


[1] C. Kiekintveld, T.l Islam, V. Kreinovich, Security Games with Interval
Uncertainty. In AAMAS-3 2013 .
[2] C. Kiekintveld, J. Marecki, and M. Tambe. Approximation methods
for infinite Bayesian Stackelberg games: Modeling distributional payoff
uncertainty. In AAMAS-11, 2011.

20