computing equilibria of security games using linear integer programming dima korzhyk...
TRANSCRIPT
![Page 2: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/2.jpg)
Problem Description
• Targets t• Utilities • Resources nd, na
)()(),()( tutututu ca
ua
ud
cd
![Page 3: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/3.jpg)
Mixed strategies
• Defender strategy: probability of defending target t is dt, s.t.
• Attacker strategy: similarly, the probability of attacking t is at, s.t.
t
dt nd
t
at na
![Page 4: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/4.jpg)
Stackelberg strategy
• The defender commits to a mixed strategy d• The attacker observes d and plays a best
response a• Note that the attacker’s best response doesn’t
need to be randomized, so we can assume a is binary
![Page 5: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/5.jpg)
Stackelberg – first formulation
tat
tdt
taua
ca
taua
ca
t
udt
cdtt
na
nd
atudtud
atudtud
tudtuda
1)()1()(
0)()1()(
Subject to
)]()1()([ Maximize
tt
tt
![Page 6: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/6.jpg)
Trick – fixing an implication with a binary right-hand side
Suppose b is binary and we have implicationif g(x) > 0 then b=1
Fix this as follows:b >= g(x) / M
Here M is a sufficiently large number
![Page 7: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/7.jpg)
Fixed conditions
We can rewrite the implication
As0)()1()( tt ta
ua
ca atudtud
00)()1()( tt tua
caa atudtud
)()1()()1(
/)]()1()([1
tt
tt
tudtudaM
Mtudtudaua
caat
ua
caat
![Page 8: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/8.jpg)
Fixing the objective
Note that the objective contains a product of two variables at and dt
t
udt
cdtt tudtuda )]()1()([ Maximize
![Page 9: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/9.jpg)
Trick – fixing a product of a binary and a continuous variable in the objective
Suppose the objective is Maximize bx
Where b is binary, and x>=0 is a continuous variable.Replace this with
Maximize vv <= xv <= bM
Where M is a sufficiently large number
![Page 10: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/10.jpg)
MIP for computing a Stackelberg strategy
binary
10
)()1()(
)1()]()1()([
)()1()(
Subject to
Maximize
t
t
tt
tt
t
t
at
dt
aua
cat
tua
caa
tt
udt
cdtt
tt
a
d
na
nd
tudtudMa
aMtudtud
Mav
tudtudv
v
![Page 11: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/11.jpg)
Nash equilibriumFind a pair of mixed strategies d,a such that both players are best-responding. d,a are not binary.
0))()((
1))()((
sconstraintdefender Similar
1)()1()(
0)()1()(
sconstraintattacker Same
tt
tt
tdud
cdt
tdud
cdt
taua
ca
taua
ca
dtutua
dtutua
atudtud
atudtud
![Page 12: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/12.jpg)
Trick – fixing the implications [aimms.com]
Suppose we have an implicationIF [g(x) > 0] THEN [h(x) > 0]
This is equivalent to [g(x) <= 0] OR [h(x) > 0]
Now, we can use the either-or trick (next slide)
![Page 13: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/13.jpg)
Either-Or Trick
Suppose we have a constraint [g(x)>0] OR [h(x)>0]
We need to change this to ANDReplace with the following:
g(x) + M b > 0h(x) + M (1-b) > 0
where M is a sufficiently large numberb is binary
![Page 14: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/14.jpg)
Fixing the implications in the NE program
integer
10
)1(0
)()1()(
0 OR )()1()(
0)()1()(
tt
tt
tt
t
t
tt
taua
ca
taua
ca
taua
ca
b
a
bMa
-Mbθtudtud
atudtud
atudtud
![Page 15: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/15.jpg)
MIP for computing a Nash equilibrium
Mbd
Mbtutua
Mbd
Mbtutua
Mba
Mbtudtud
Mba
Mbtudtud
dtt
dtd
ud
cdt
dtt
dtd
ud
cdt
att
ata
ua
ca
att
ata
ua
ca
)1(1
))()((
)1(0
))()((
)1(1
)()1()(
)1(0
)()1()(
1
1
0
0
1
1tt
0
0tt
10
10
t
t
tat
tdt
a
d
na
nd
![Page 16: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/16.jpg)
Scaling of the NE MIP in the number of targets/variables
0 20 40 60 80 100 120 140 1600
0.005
0.01
0.015
0.02
0.025
0.03
![Page 17: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/17.jpg)
Conclusion
• NE MIP is simpler than a specialized algorithm, but may take longer to execute
• A benefit is that we can combine the two MIPs in this presentation to find a defender strategy that is both a Stackelberg and a Nash strategy
![Page 18: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/18.jpg)
Thank you!
I thank Vince Conitzer, Ron Parr for detailed discussions.
![Page 19: Computing equilibria of security games using linear integer programming Dima Korzhyk dima@cs.duke.edu](https://reader036.vdocuments.us/reader036/viewer/2022082610/56649ccb5503460f94994cd9/html5/thumbnails/19.jpg)
ReferencesSecurity games (with a single attacker resource) were introduced in: Christopher Kiekintveld, Manish Jain, Jason Tsai, James Pita, Fernando Ordóñez, and Milind Tambe. Computing Optimal Randomized Resource Allocations for Massive Security Games. AAMAS-2009.
Computing a Stackelberg strategy in a security game with multiple attacker resources s is NP-hard: Zhengyu Yin, Dmytro Korzhyk, Christopher Kiekintveld, Vincent Conitzer, and Milind Tambe. Stackelberg vs. Nash in security games: interchangeability, equivalence, and uniqueness. AAMAS-2010.
Computing a Nash equilibrium in security games with multiple attacker resources can be done in polynomial time. The algorithm by Dmytro Korzhyk, Vincent Conitzer, Ronald Parr is currently unpublished and is under submission.
Some of the integer programming tricks in this presentation were taken from AIMMS Modeling Guidehttp://www.aimms.com/aimms/download/manuals/aimms3om_integerprogrammingtricks.pdf