Professional Documents
Culture Documents
Thesis PDF
Thesis PDF
by
Aritra Banik
problems is a situation where two players place two disjoint set of fa-
cilities in a demand region. A player p is said to own a part of the
demand region that is closer to p than to the other player, and the
player which finally owns the larger area is the winner of the game.
The area a player owns at the end the game is called the payoff of the
player. This type of games are known as Voronoi games. In this thesis
and on the plane. Apart from that we also considered the continuous
version of the game played on a graph.
Contents
1 Introduction 1
1.1 Competitive Facility Location . . . . . . . . . . . . . . . 2
1.2 The Voronoi Game . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Different Aspects of Voronoi Game . . . . . . . . 5
1.2.2 Continuous Voronoi Game . . . . . . . . . . . . . 8
1.2.3 Discrete Voronoi Game . . . . . . . . . . . . . . . 11
1.2.4 Competitive Equilibrium in Voronoi Game . . . . 16
1.3 Contributions and Thesis Overview . . . . . . . . . . . . 16
1.3.1 Discrete Voronoi Game on a Line . . . . . . . . . 17
1.3.2 Two Round Discrete Voronoi Game on a Line . . 18
1.3.3 Discrete Voronoi Game on R2 . . . . . . . . . . . 19
1.3.4 Discrete Voronoi Game on Polygon . . . . . . . . 21
1.3.5 Voronoi Game on Graphs . . . . . . . . . . . . . 22
ii
2.3.2
A Characterization of the Optimal Placement by
P1 . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4 Improving the Algorithm for the Optimal Strategy of P1 37
2.4.1 A Restricted Case . . . . . . . . . . . . . . . . . . 42
2.4.2 Extending to the general case . . . . . . . . . . . 43
References 123
iv
Author List
v
Listing of figures
vi
3.4.3 An example placement by P1 and P2 . . . . . . . . . . . 53
3.4.4 An example placement by P1 and P2 . . . . . . . . . . . 54
3.4.5 An example placement by P1 and P2 . . . . . . . . . . . 55
3.5.1 Configuration corresponding to ρ1 . . . . . . . . . . . . . 57
3.5.2 Configuration corresponding to ρ1 . . . . . . . . . . . . . 58
3.5.3 Configuration corresponding to ρ2 . . . . . . . . . . . . . 59
vii
5.3.3 (a) Tessellation of P (b) Illustration of the proof of Lemma
5.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.3.4 Illustration of the proof of Lemma 5.3.2 . . . . . . . . . . 92
viii
To my father.
ix
Acknowledgments
x
help and support during my Carleton days. They have greatly influ-
enced me, providing new problems to work on together, providing new
approaches and insights, and teaching me new techniques for solving
problems so that I can apply them myself. I would also like to thank
my other collaborators Satyaki Mukherjee, Sayan Bandyapadhyay and
Hirak Sarkar. I have learnt a lot of things from them and collaboration
with them brought an enjoyable social aspect to research.
I would like to express my gratitude towards Dr. Arijit Bishnu,
Dr. Krishnendu Mukhopadhyaya and Dr. Subhas C. Nandy for the
numerous technical discussions we had and their motivation during
this period. I am extremely fortunate in having Dr. Ansuman Baner-
jee, Dr. Bhargab B. Bhattacharya, Dr. Nabanita Das, Dr. Jayasree
Dattagupta, Dr. Sasthi C. Ghosh, Dr. Bhabani P. Sinha and Dr.
Susmita Sur-Kolay as my teachers.
To my father Dipak Banik, thank you for your kindness and support
throughout the years. You will undoubtedly be relieved to see this
thesis put to rest.
My fiancé Soumi Basu deserves a special acknowledgement for her
encouragement, her patience, her kindness, her laughter, her beautiful
smile, and her love throughout the entire duration of this thesis. Soumi
and I met just before my Ph.D. program. As I end this final year and
write the last pages of this thesis I look forward to a happy future
together.
Thanks to all my friends for always telling me that I could do any-
thing, for actually believing it, for trusting me to do things on my
own, for helping me when I couldn’t, and for sending constant love and
support across the world.
Finally thanks to Indian Statistical Institute. Over these years, Alma
Mater, you’ve treated me well. Its a bittersweet parting, as most part-
ings are; I am closing a chapter in my life with this thesis. Thank you
for these great years and lots of great memories.
xi
You have to learn the rules of the game.
And then you have to play better than
anyone else.
Albert Einstein
Introduction
1
Contents
1.1 Competitive Facility Location . . . . . . . . . . . 2
1.2 The Voronoi Game . . . . . . . . . . . . . . . . . . 5
1.3 Contributions and Thesis Overview . . . . . . . . 16
1
points a, b, c in the plane. Around 1640, Torricelli devised a geometrical
construction for this problem. He showed that p subtends an angle of
120 ◦ to each of the sides of the triangle abc. However, this is true only
when each of the interior angles of the triangle is less than 120 ◦ . The
relevance of the Fermat-Weber problem in the context of facility loca-
tion was first envisaged in 1909 by Alfred Weber [Web09, Baj86], when
he studied the locational optimization of a firm in a region. There-
after, the problem of minimizing the sum of distances from a given set
of fixed points is referred to as the Fermat-Weber problem. Another
widely studied facility location problem based on the minimax criteria
which seeks the location of a facility which minimizes the maximum
distance to a given set of users. This problem is commonly known as
the Euclidean 1-center problem [MZ86, SH75]. More complex problems
considered in this discipline include the placement of multiple facilities,
constraints on the locations of facilities, and more involved optimiza-
tion criteria. For an extensive discussion of facility location problems
and its applications refer to the surveys [DH02, Cap99].
2
ities in the underlying space. We assume that the facilities are equally
equipped in all respects, and a user always avails the service from its
nearest facility where distance between user and facility are measured in
some predetermined metric, most commonly the L1, L2 or L∞ metrics.
Consequently, each facility has its service zone, consisting of the set of
users that are served by it. For a set U of users, finite or infinite, and a
set F of facilities, define for every f ∈ F , the service zone of f , U (f, F )
as the set of users in U that are served by the facility f . The payoff
of each player is the union of the service zones of the facilities it serves
and objective for each player is to maximize their respective payoffs.
The following is a classic example of competitive market dynamics on a
line segment. In a beach, two competitive ice cream vendors one leader
and one follower wish to locate stands so as to sell as many ice creams
as possible. We idealize the beach as a straight line ` along which a
set of users (customers) U , are distributed. We make the assumptions
that the customers are all equally interested in both the ice creams, and
that in choosing a stand to buy from they will naturally choose the one
which is closest. If the two stands are equally close, then one will be
selected by the customer at random. How should the two vendors place
their stands assuming the leader places the stand before the follower?
Given any placement x ∈ ` by the leader, for any placement y ∈ `
and y > x by the follower the payoff function of the follower, that
is the number of users served by follower at y given leader is at x is
[ )
fx (y) = |U ∩ x+y 2
, ∞ |. Therefore, for any placement x, the minimum
payoff of the follower is min{|U ∩ (−∞, x)|, |U ∩ (x, ∞)|}, which is
maximized when x is the median of the set of points U .
Competitive facility location problems is concerned with the favor-
able placement of facilities by competing market players, and has been
studied in several contexts ([EL89, ELT93, FTM90]). The rich history
of competitive facility location problems goes back to the 1929 semi-
3
Figure 1.1.1: Snapshot of the original paper by Hotelling [Hot29]
4
played on graphs where users are modeled as the vertices of the graph
and each player has to choose a subset of vertices where they will place
their facilities. After the placement of facilities by both the players,
each vertex is then assigned to the facility nearest to it according to the
shortest path metric in the graph. Finally, the player which serves max-
imum number of users wins the game. This problem was first addressed
by Slater [Sla75] and later by Drezner [Dre82] and Hakimi [Hak83]. For
a detailed survey of significant classical results along this line refer to
the survey by Plastria [Pla01] and the references therein. However most
of these papers concentrated on finding the optimal placement by the
second player, that is, given the location of the facilities placed by the
first player, objective is to find the optimal placement of the second
player. In 2001, Ahn et al. [ACC+ 04] first addressed the problem of
finding the winning strategy of the first player in a geometric setting.
They considered the game game on the real line and termed this game
as Voronoi game.
There are many aspects of the Voronoi Game for example, the geometry
of the underlying space, the distribution of users, the way game played
5
and the choice of metric. In this section we will briefly discus them.
Broadly we will discuss four attributes here, the underlying space,
distribution of the users, the competition and the metric.
6
known considering a discrete distribution seems reasonable.
7
1.2.2 Continuous Voronoi Game
In 2001 Ahn et al. [ACC+ 04] considered the Voronoi Game where
they assume that users are distributed uniformly on a line segment of
8
unit length where leader and the follower will place their corresponding
facilities sequentially. This sequential model can be thought of as a
repeated Stackelberg Model. They showed that when the game takes k
rounds, the second player always has a winning strategy that guarantees
a payoff of 1/2 + ε, with ε > 0. However, the first player can force ε
to be arbitrarily small. This contradicts the general belief that in a
duopoly the leader has an advantage over the follower. This result is a
classic example of first entry paradox where leader does not have such
kind of advantage [GB88].
A natural extension of this problem in R2 seems rather difficult to
handle. Dehne et al. [DKS05] addressed the problem of finding a
new point q amidst a set of n existing points F such that the Voronoi
region of q is maximized. They showed that when the points in F are
in convex position, the area function has only a single local maximum
inside the region where the set of Voronoi neighbors do not change.
For the same problem, Cheong et al. [CEHP07] gave a near-linear time
algorithm that locates the new optimal point approximately, when the
facilities of the leader is in convex position. A variation of this problem,
involving maximization of the area of Voronoi regions of a set of points
placed inside a circle, has been recently considered by Bhattacharya
[Bha10]. Cheong et al. [CHPLM04], considered the game where the
demand region is a square. Fekete and Meijer [FM05] studied the two-
dimensional game played on a rectangular demand region with aspect
ratio ρ. However, in none of the above cases, the optimal strategy of the
two players, that is, the strategy that maximizes the respective payoffs
of the players is known. Very recently Bandyapadhyay et al. [BBDS13]
considered the game where the demand region is a graph. They have
showed that given the placement of facilities by the leader finding the
optimal placement for the follower is NP-hard.
9
Authors Underlying Contribution
Space
Ahn et al. [ACC+ 04] Line segment Repeated Stackelberg Model, Fol-
lower advantage
Cheong et al. R 2
Locates the optimal point for fol-
[CEHP07] lower approximately
Dehne et al. [DKS05] R 2
Single local maximum for follower
Bhattacharya [Bha10] Circle Maximum area is obtained when the
facilities lie on the vertices of a reg-
ular n-gon
Cheong et al. Square region Strategy for the second player that
[CHPLM04] in R2 always guarantees him a payoff of at
least 1 + α, for a constant α > 0
Fekete and Meijer Rectangular Follower has a winning strategy for
√
[FM05] region in R 2
n ≥ 3 and ρ > 2/n, and for n = 2
√
and ρ > 3/2 where n is the num-
ber of facilities placed by each player
and ρ aspect ratio of the rectangle.
Leader wins in all remaining cases
Dziubinski, Datta and Multiple dis- Follower advantage
Roy [DDR09] joint circles of
equal length
Dziubinski [Dzi11] Multiple Follower advantage
disjoint line
segments of
equal length
Bandyapadhyay et al. Graph Finding optimal strategy for the fol-
[BBDS13] lower is NP hard
10
Voronoi Game on R
Continuous
Voronoi Voronoi Game on
Game Graphs Voronoi Game on
Voronoi Game on a Rectangle
R2
Voronoi Voronoi Game on
Game Discrete Voronoi a Square Arena
Game on R
Discrete Voronoi
Game on Trees
Discrete
Voronoi Discrete Voronoi
Game Game on Graphs
Discrete Voronoi
Game on Polygons
Discrete Voronoi
Game on R2
In this section we consider the Voronoi game where the user space U
is a discrete set of points in the underlying space where the location of
users in U are known to both the players before the game starts. We
refer to these variations as discrete Voronoi games.
Let U be the set of demand points in R2 . Two competitive companies
one leader and one follower wish to locate shops R2 to sell their product.
A customer always avails service from the shop nearest to him. Given
the placement by the leader p ∈ R2 , objective is to find the optimal
placement by follower. Let Hp be any open half-plane passing though
p. Consider the set of users in Hp . Observe that there exists a point q
very close to p, such that placing one facility at q the follower can serve
all the users in Hp . With this observation in mind, one can define the
notion of depth for a given point p ∈ R2 . For each closed half-space that
contains p, count the number of users which are not in the half-space.
Define the depth of p as the minimum over all half-spaces containing p.
Observe that for any placement p by the leader, the minimum payoff
11
Figure 1.2.3: Set of points with maximum Half-space depth
of the leader is equals to the depth of the point p. Hence the optimal
placement by the leader is the point with maximum depth. The point
with the maximum depth is known as the the half-space median or the
Tukey median. Although the notion was formally introduced by Tukey
[Tuk74], the concept of half-space median is known since 1929 from the
paper by Hotelling [Hot29].
From the center point theorem it is known that there always exist a
point with depth |U |/3 in R2 which can be found in linear time [JM94].
Hence the leader is guaranteed a payoff equal to |U |/3. Matoušek.
[Mat91] provided an algorithm which finds the Tukey median of a given
point set in O(n log5 n) time. This was later improved by Langerman
and Steiger [LS03] using the concept of center point which finds the
Tukey median in O(n log3 n) time. Finally in 2004 Chan in his paper
[Cha04] provided an algorithm which finds the Tukey median of a given
set of points in O(n log n) time.
When the number of facilities to be placed by the leader and the
follower increases there are only a few results known. Cabello et al.
[CDBL+ 10] studied optimal strategy for the case where given a set of
facilities placed by the leader, the follower will place a single facility.
Let the set of users be U = {u1 , u2 , . . . un } and the set of facilities be
F = {f1 , f2 , . . . fk }. For each user ui consider the disk Di centered
12
at ui and passing through the nearest facility fj ∈ F from ui (see
Figure1.2.4). Observe now the new facility f will serve any user ui if
and only if f belongs to Di . Hence, the optimal choice by the leader
is to place its facility in the interior of the maximum number of the
disks, and that can be found in O(n2 ) time. Cabello et al. have also
showed that the problem is 3-SUM hard. The case when follower has to
place two or more new facilities has been studied by Bhattacharya and
Nandy [BN13]. Reverse nearest neighbor problem in higher dimension
has been considered by Cheong, Vigneron and Yon [CVY11].
u2
u1 f2 u3
f1
u5
u6
u7
u4 f3
13
can be found in linear time. They also provide results on determining
optimal strategy by the leader.
In discrete Voronoi game on the plane, given a set of users in the
plane the leader opens p facilities on the plane, followed by which the
follower opens r facilities. In [DKP13], Ivan Davydov, Yury Kochetov
and Alexandr Plyasunov shown that the problem is Σ2P -hard. A local
search heuristic of the above stated problem is presented in [DKCar]. In
a sequential discrete Voronoi game on the plane, following the repetitive
Stackelberg model, the leader and the follower sequentially places a set
of m facilities. Banik et al.[BBDMar] considered the last round of this
game and showed that an optimal strategy by the leader in the last
round can be found in polynomial time.
The problem where the underlying space is a graph is generally con-
sidered intractable. Let G = (V, E) be any graph where the users are
situated on the vertices. The leader places a set of m facilities on the
vertices of G where |V | >> m. Now the follower wants to place m new
facilities on the vertices of the graph. Teramoto, Demaine, and Uehara
[TDU11] showed that, finding a winning strategy of the follower (even
for a very restricted case) is NP hard. Similar results can also be found
in a seminal paper of Hakimi [Hak83]. When the underlying space is a
tree the problem can be solved in polynomial time [MZH83]. Bounds on
the payoff of each player on discrete Voronoi game when the underlying
space is graph can be found in [GMP+ 13].
When the underlying space is a simple polygon Banik et al. [BDMS13]
showed that the optimal strategy of the leader and the follower can be
found in polynomial time in case both player will place a single facility.
14
Authors Contribution
Matoušek [Mat91] Tukey median of a given point set can be
found in O(n log5 n) time.
Langerman and Steiger Tukey median of a given point set can be
[LS03] found in O(n log3 n) time.
Chan [Cha04] Tukey median of a given point set can be
found in O(n log n) time.
Cabello et al. [CDBL+ 10] Given a set of placement of facility by the
leader, follower will place only one new facil-
ity.
Bhattacharya and Nandy Given a set of placement of facility by the
[BN13] leader, follower will place two new facility.
Banik et al. [BBD12] Users are distributed on a line segment, k fa-
cilities will be placed by each player following
Stackelberg Model, Optimal strategy by the
leader and the follower.
Teramoto et al. [TDU11] Played on a graph where each vertex is an
user, given the placement of k facilities by
the leader finding an optimal placement of l
many facilities by the follower is NP hard
Megiddo et al. [MZH83] Played on a tree where each vertex is an user,
given the placement of the leader, optimal
strategy of the follower can be computed in
polynomial time
Banik et al. [BDMS13] Played on a Simple Polygon, When both
player places a single facility optimal place-
ment by both player can be found in polyno-
mial time
15
1.2.4 Competitive Equilibrium in Voronoi Game
From the game theoretic point of view one important property to look
for in any game is the existence of Nash equilibrium [Nas50, Nas51] or
the algorithmic complexity to find the existence of Nash equilibrium.
Very informally Nash equilibrium is the point of stability in any game.
It is a solution in a non-cooperative game involving two or more players,
in which each player is assumed to know the equilibrium strategies of
the other players, and no player has anything to gain by changing only
his own strategy unilaterally [OR94].
Existence of Nash equilibrium in different Voronoi games has been ac-
tively studied. Dürr and Thang [DT07] showed that in discrete Voronoi
game on graphs finding the existence of Nash equilibrium is NP-hard.
López, Rodrigo and Lillo [LRL07] characterized few properties of dis-
crete Voronoi game in R2 for existence of a Nash equilibrium. Mavron-
icolas et al. [MMPS08] showed that Nash equilibrium on cycle graphs
with n nodes and k players, exist if and only if k ≤ 2n 3
. Saban and
Stier-Moses [SSM12] extended this result and proved that in a cycle
equilibrium exists if and only if both players choose a solution to the
1-median problem. Feldmann, Mavronicolas and Monien [FMM09] in
2009 studied the existence of Nash equilibrium for Voronoi Games on
Transitive Graphs. Zhao, Chen and Teng [ZCT09] studied the exis-
tence of Nash equilibrium for Voronoi game where each player wants
to position herself as far away from other players in a bounded region
and showed that for such games Nash equilibrium exists.
In this section the results presented in this thesis are summarized , and
an organizational overview is given.
16
1.3.1 Discrete Voronoi Game on a Line
u2 u3 u4 u6 P1 u8 u10 P1
u1 P1 P2 u5 u9 ℓ
u7 P2 P2 u11
17
the vector. We have showed that given such a vector V we can find
out whether V is realizable or not in O(n) time. Using this lemma we
have proved that the optimal strategy of P1 in the one-round discrete
Voronoi game, with the users on a line, can be computed in O(nk+1 )
time. We have improved this result using a tricky matrix searching
algorithm and proved that the optimal strategy of P1 in the one-round
discrete Voronoi game, with the users on a line, can be computed in
O(nk−λk ) time, where 0 < λk < 1, is a constant depending only on k.
18
u2 u3 u4 u6 u8 u10 u2 u3 u4 u6 u8 u10
u1 P1 u5 u7 u9 u11ℓ u1 P1 u5 u7 u9 P2 u11ℓ
Turn(i) Turn(ii)
u2 u3 u4 u6 u8 u10 u2 u3 u4 u6 u8 u10
u1 P1 u5 u7 P1 u9 P2 u11ℓ u1 P1 P2 u5 u7 P1 u9 P2 u11ℓ
Turn(iii) Turn(iv)
19
the euclidean distance. Payoff for each player is the number of users
that the player serves. In this chapter we will consider the last round
of discrete Voronoi game on R2 , that is, given two sets of m facilities F
and S placed by P1 and P2, respectively, the game begins by P1 placing
a new facility followed by P2 placing another facility. Objective of both
the players is to maximize their own total payoffs. Moreover, if both
F and S are empty, then it is a well-known fact that optimal strategy
of P1 is at the halfspace median of U . However, whenever F or S is
non-empty, the problem poses a major challenge.
The optimal strategy of P2, given any placement of P1, is identi-
cal to the solution of the MaxCov problem studied by Cabello et al.
[CDBL+ 10]. Suppose we are given a set of users U , existing facilities
F and S, and any placement of a new facility f by P1. Let U1 ⊆ U
denote the subset of users that are served by P1, in presence of F , S,
and f . For every point u ∈ U1 , consider the nearest facility disk Cu
centered at u and passes through the facility in F ∪ {f } which is closet
to u. Note that a new facility s placed by P2 will serve any user u ∈ U1
if and only if s ∈ Cu . If C = {Cu |u ∈ U1 }, the optimal strategy for
P2, given any placement f of P1, is to place the new facility at a point
where maximum number of disks in C overlap. This is the problem of
finding the maximum depth in an arrangement of n disks, and can be
computed in O(n2 ) time [AHP08].
Therefore, the main challenge in the Gn (F, S) game lies in finding the
optimal strategy of P1. In order to understand the optimal placement
by P1, for any three users ui , uj and uk and any placement f we have
defined a indicator variable
{
1 if Ci (f ) ∩ Cj (f ) ∩ Ck (f ) 6= ∅
βijk (f ) =
0 otherwise
We have showed that for any two different placements p and q for each
triplet of users ui , uj and uk , βijk (p) = βijk (q), then the payoff of P1 for
20
both the placements remains same. Based on this observation we have
characterized the optimal placement by P1 further and tessellated the
plane into a set of cells such that for any two placement of facilities by
P1 in a particular cell, payoff of P1 is same. Hence by checking each
cell once we can find the optimal placement by P1.
21
ui is defined to be the last vertex on the path from ui to f . We have
proved that the optimal placement by P2, s corresponds to the point
such that the half polygon of P bounded by the perpendicular bisector
of line joining f and s, contain maximum number of anchor vertices.
We have also provided an algorithm to find an optimal placement for
P2 can be computed in O(m + n(log n + log m)) time.
In order to find an optimal placement for P1 we have divided the
polygon into a set of pieces and shown that one of the optimal place-
ments by P1 belongs to the vertices this tessellation. Using this obser-
vation we have provided an algorithm to find an optimal placement by
P1 in polynomial time.
In chapter 6 we considered the one round Voronoi game with two players
P1 and P2 where the underlying space is a weighed Graph G (represent-
ing a road network) with distance measure defined to be the shortest-
path distance. We have assumed that the users are distributed uni-
formly over the edges of the graph that is we assume that the user
density at any edge is proportional to its weight. In a (m : k) Voronoi
game on a graph, initially P1 will place a set of m facilities on the edges
or on the vertices of G followed by which P2 will place another set of k
facilities on the edges or on the vertices of G. Given a set of facilities
F on G, for any facility f ∈ F , service zone of f is the sub-graph of G
such that from any point in that sub-graph f is closer than any other
facility in G. In Figure 1.3.5 service zone of a facility is shown where
each edge of the graph has unit weight. Payoff of any facility is defined
as the weight of its service zone and payoff of a player is defined as the
sum of the payoffs of its facilities.
In this chapter we have proved that there exist a placement strategy
of P1 such that it always achieves at least m−k+1m+1
W as its payoff for
22
f
(m, k) Voronoi Game on Trees where W is the total of the graph. Next
we we characterize the optimal facility locations of Player 2 on general
graphs. Using that result we show that optimal facility locations of
Player 2 can be found in polynomial time on trees using a dynamic
programming approach. Then we move onto graphs and prove that
finding the optimal placement of k facilities by Player 2 is N P-hard.
Moreover we present a 1.58 factor approximation algorithm for the
above mentioned problem.
23
No question is so difficult to answer as that to which
the answer is obvious.
George Bernard Shaw
Contents
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . 25
2.2 Optimal Strategy of P2 . . . . . . . . . . . . . . . 27
2.3 Optimal Strategy of P1 . . . . . . . . . . . . . . . 32
2.4 Improving the Algorithm for the Optimal Strategy
of P1 . . . . . . . . . . . . . . . . . . . . . . . . . 37
24
2.1 Introduction
25
is the optimal strategy of P2, given P1 has placed the facilities at F .
Similarly, minF ν(F ) is the optimal payoff of P1, and the placement F1
by P1 at which the minimum is attained is called the optimal strategy
of P1. Now the One Round Discrete Voronoi Game on a line
can be formally described as follows:
In next section we show that if the sorted order of the points in U along
the line is known, then the optimal strategy of P2, given any placement
of facilities by P1, can be computed in O(n) time. In Section 2.3 we
will prove a combinatorial result, which will be used to obtain a charac-
terization of the optimal placement by P1. Using this characterization
we shall provide an algorithm for determining the optimal placement
by P1 in O(nk+1 ) time, when k ≥ 2. In section 2.4 we will improve
the previous algorithm and prove that for k ≥ 2 the optimal strategy
of P1 in the one-round discrete Voronoi game, with the users on a line,
can be computed in O(nk−λk ) time, where 0 < λk < 1, is a constant
depending only on k.
26
2.2 Optimal Strategy of P2
Proof. Let u and u0 be the users in the interior of the interval [fi , fi+1 ]
nearest to the facilities fi and fi+1 , respectively. The result now follows
from placing the two new facilities s and s0 at the midpoints of the
intervals [fi , u] and [u0 , fi+1 ], respectively.
27
interior of the interval Ji . Therefore, P2 incurs no extra gain by plac-
ing more than two facilities in the interior of some interval Ji , for
i ∈ {0, 1, . . . , m}. Associated with each interval Ji , we define the fol-
lowing two quantities:
28
Since the sorted order of the users in U is known, the values in the
∑
set B can be obtained in O( ki=1 ai ) = O(n) time. The sorted order
of the facilities in F along ` can be found out in O(k log k), and so the
values in A can also be computed in O(n + k log k) time. As we have
considered k as constant therefore, the sorted order of the numbers in
B ∪ C can be found in O(n) time, where C = {ci |i ∈ {0, 1, 2, . . . , k}}.
Once the sorted order in B∪C is known, we select the largest k values
from the set. Now, since bi ≥ ci for every i ∈ {0, 1, 2, . . . , k}, it can be
ensured that among the largest k elements in B ∪ C, no ci is selected
without selecting the corresponding bi . If for some i ∈ {0, 1, 2, . . . , k}
only bi is selected, then P2 places only one facility in the interval Ji at
the point where it can serve bi users in U . If for some i ∈ {0, 1, 2, . . . , k}
both bi and ci are selected, then P2 places two new facilities in the
interval Ji as described in Observation 2.2.1. Clearly, the placement
by P2 obtained in this way gives the optimal strategy for P2, and we
summarize this result in the following theorem:
29
∑
bi ≥ ai /2. Moreover, b0 ≥ b0 +bk
= a0 +a k
which implies that ki=0 bi ≥
∑k−1 2 2
d}|
s2
z {
s1 s3
| {z } | {z }
ℓ
f1 2d f2 2d f3
A1 A2 A3
30
Remark 2: Identify the line ` with R, and let Uo be a set of n users with
co-ordinates 1, 2, 4, . . . , 2n−1 on `. We shall prove that the One Round
Discrete Voronoi Game on a line with user set Uo is always won by P2,
for k ≥ 2 and large enough n. To prove this suppose that f and f 0
are any two consecutive facilities placed by P1 such that f ∈ [2a , 2a+1 )
and f 0 ∈ (2a+δ , 2a+δ+1 ], for integers a, δ ≥ 1. Assume P2 places a single
facility at s = 2a+1 . Then (s+f 0 )/2 = 2a +f 0 /2 ≥ 2a +2a+δ−1 > 2a+δ−1 ,
which implies that s serves at least δ − 1 users out of the k users in
the interval (f, f 0 ). Now, consider any placement f1 , f2 , f3 , . . . , fk of
P1 in the increasing order. Define f0 = 0 and fk+1 = 2n−1 + 1. For
i ∈ {0, 1, . . . , k}, let δi = (fi , fi+1 ) ∩ Uo . By placing a facility just to
the left or right of f1 or fk , P2 can serve all the users in the interval
[f0 , f1 ) or (fk , fk+1 ], respectively. Therefore, by placing a facility si in
the interval (fi , fi+1 ), P2 can always serve at least δi − 1 users in that
∑
interval. As ki=0 δi ≤ n, there exists an index j ∈ {0, 1, . . . , k} such
that δj ≤ k+1 n
. Consider the placement S = {s0 , s1 , . . . , sk }\{sj } of k
facilities by P2. Therefore, the total number of users served by P2 is
at least
∑ ( )
1
(δi − 1) ≥ (n − k) − δj − k ≥ n 1 − − 2k > n/2,
i6=j
k + 1
These two remarks show that, unlike the continuous version, the One-
Round (m, n) Discrete Voronoi Game with users on a line may be won
by either one of the two players, depending on the arrangement of the
users on the line. This motivates the design of algorithms for obtaining
31
optimal placements of the players, given any arrangement of users on
the line. The optimal strategy of the P2, given any placement of the
P1, was given in this section. In the following section we develop the
optimal strategy of P1.
It is easy to see that if m = 1, that is, every player places one facility,
then the optimal strategy of P1 is to place the facility at the median of
the set of users U , which can be obtained in O(n) time. In this section
we shall prove a combinatorial result, which will be used to obtain a
characterization of the optimal placement by P1. Using this charac-
terization we shall provide an algorithm for determining the optimal
placement by P1, when m ≥ 2.
Let U = {u1 , u2 , . . . , un } be the set of users sorted along the line ` and
M ∈ ` be such that U ⊂ [−M, M ]. For any two points x1 , x2 ∈ `
denote by a([x1 , x2 ]) the total number of users in U ∩ (x1 , x2 ). Also, let
b([x1 , x2 ]) be the maximum number of users in U ∩ (x1 , x2 ) that can be
covered by an open interval of length |x2 − x1 |/2. For any fixed point
x ∈ ` and a non-negative integer δ define x(δ) ∈ ` to be the largest
value such that b([x, x(δ)]) = δ. Note that if a([x, M ]) < δ, x(δ) does
not exist. If a([x, M ]) = δ, then according to the definition x(δ) goes
to infinity. To avoid this, we define x(δ) = x + 2|M − x|, whenever
a([x, M ]) = δ.
We shall now prove that if a([x, M ]) > δ, then x(δ) always exists and
can be obtained in O(n) time.
32
and b([x1 , x2 ]) = δ. In this case, the maximum value x1 (δ) ∈ ` such that
b([x1 , x1 (δ)]) = δ also exists, and can be computed in O(a([x1 , x1 (δ)])) =
O(n) time.
Proof. For any i such that ui > x1 , define
≤ min |uj+δ − uj |
x1 ≤uj ≤ui−1
uj+δ ≤un
Case 1: There exists some j ≤ n such that dj < uj+δ . Let jo be the
minimum index j for which this holds. Now, as djo < ujo +δ , we
33
have b([x1 , ujo +δ ]) ≥ δ. Let Jr = [ur , ur+δ ] be the minimum length
closed interval containing δ + 1 users and contained in [x1 , ujo +δ ).
Clearly, r < jo , and this implies that djo ≤ dr . Moreover, as
jo is the minimum index such that djo < ujo +δ , it follows that
ur+δ ≤ dr . This implies that b([x1 , dr ]) ≥ δ. Now depending
on whether dr < ujo +δ or dr ≥ ujo +δ we will show that either
x1 (δ) = dr or x1 (δ) = ujo +δ respectively.
(a) (b)
Figure 2.3.1: Illustration for the proof of Lemma 2.3.1: (a) Case 1, and (b)
Case 2.
34
there exist an open interval G ⊂ [x1 , ujo +δ ) such that |G ∩
U | ≥ δ + 1 and |G| < |ujo +δ − x1 |/2. Hence, there exists a
closed interval H = [uq , uq+δ ] ⊂ G ⊂ [x1 , ujo +δ ) containing
δ+1 points of U , with |uq+δ −uq | < |G| ≤ |ujo +δ −x1 |/2. This
implies that dq < ujo +δ < dr . This implies that |H| = |uq+δ −
uq | < |ur+δ − ur | = |Jr |, which contradicts the minimality
of the interval Jr . This proves that b([x1 , ujo +δ ]) = δ and
b([x1 , x]) ≥ δ + 1, for all x > ujo +δ , implying that in this
case x1 (δ) = ujo +δ .
35
Lemma 2.3.2. There always exists an optimum placement F 0 = {f10 ,
f20 , . . . , fk0 } by P1, such that f10 ∈ U , and for all i ∈ {2, 3, . . . , k} fi0 ∈ U
or fi0 = fi−1 0 0
(δ), for some 0 ≤ δ ≤ a([fi−1 , un ]).
b([fi−1, fi]) = δ
fi−1 fi fi−1(δ) = fi′ fi+1
ℓ
b([fi−1, fi′]) =δ u(fi)
b([fi0 , fi+1 ]) ≤ b([fi , fi+1 ]) and a([fi0 , fi+1 ]) ≤ a([fi , fi+1 ]).
36
The lemma now follows by applying the same argument on the set
F \{fi } ∪ {fi0 }, which is also an optimal strategy for P1.
Using this result we can devise a simple algorithm for obtaining the
optimal strategy of P1. This is explained in the following theorem:
In this section we shall investigate into the structure of the one round
Voronoi game on a line more carefully and propose an improved al-
gorithm for obtaining the optimal strategy for P1. As before, let
U = {u1 , u2 , . . . , un } be the set of users in the sorted order along
the line `. Let M be such that U ⊂ [−M, M ]. For any placement
37
F = {f1 , f2 , . . . , fk } define the (k + 1) × 1 payoff vector P F as follows:
(b([−M, f1 ]), c([−M, f1 ]))
(b([f1 , f2 ]), c([f1 , f2 ]))
(b([f2 , f3 ]), c([f2 , f3 ]))
PF = .. ,
.
(b([fk−1 , fk ]), c([fk−1 , fk ]))
(b([fk , M ]), c([fk , M ])),
that is, the i-th element of the payoff vector for 2 ≤ i ≤ k is (b([fi−1 , fi ]),
c([fi−1 , fi ])), and the first and the last element of P F is (b([−M, f1 ]), c([−M, f1 ]))
and (b([fk , M ]), c([fk , M ])), respectively.
We denote the transpose of a vector P by P 0 . By a (k + 1) × 1 vector
of ordered pairs we mean a vector
(i) b1 ≥ b([−M, f1 ]), bk+1 ≥ b([fk , M ]), and bi ≥ b([fi−1 , fi ]), for 2 ≤
i ≤ k − 1,
38
that P2 can serve at most bi users in [fi−1 , fi ] by placing one facility,
and can serve at most bi +ci users by placing two facilities in the interval
[fi−1 , fi ].
The following observation is now immediate from the definition:
39
0 0 0
Case 1: fj = fj−1 ∈ U . Then as f˜j > fj−1 ∈ U , bj +cj = a([fj−1 , fj−1 ]) <
a([f˜j−1 , f˜j ]), F̃ does not satisfy P .
00 00
Case 2: fj = fj−1 = fj−1 (bj ). Then from f˜j > fj−1 , fj−1 ≤ f˜j−1 ,
00
and the maximality of fj−1 (bj ), we get bj ≤ b([fj−1 , fj−1 ]) <
b([fj−1 , f˜j ]) ≤ b([f˜j−1 , f˜j ]). Hence F̃ does not satisfy P .
ν1 (F ) = max{BF ∪ CF }
ν2 (F ) = max{(BF ∪ CF )\{ν1 (F )}}
..
.
νm (F ) = max{(BF ∪ CF )\{ν1 (F ), ν2 (F ), . . . , νk−1 (F )}} (2.1)
40
pairs. For every such vector P ∈ S(i1 , i2 , . . . , ik ), denote by π(P P ) as
the collection of all (k + 1) × 1 vectors of ordered pairs obtained by
∪
permuting the rows of P . Define M (i1 , i2 , . . . , ik ) = π(P P ), where the
union is taken over all P ∈ S(i1 , i2 , . . . , ik ).
We say that the class M (i1 , i2 , . . . , ik ) is feasible if there exists some
vector in M (i1 , i2 , . . . , ik ) which is feasible. The class M (i1 , i2 , . . . , ik )
is said to be infeasible if it is not feasible. The weight of the class
∑
M (i1 , i2 , . . . , ik ) is defined kδ=1 iδ . Observe, if P ∈ M (i1 , i2 , . . . , ik ) is
feasible and F satisfies P , then the payoff of P2, when P1 places at F ,
∑
is ν(F ) ≤ kδ=1 iδ .
For every placement F by P1, there exists a vector P ∈ M (ν1 (F ), ν2 (F ),
. . . , νk (F )) such that P is feasible. Therefore, by Observation 2.4.1 if
for given non-negative integers ν1 ≥ ν2 ≥ . . . ≥ νk , M (ν1 , ν2 , . . . , νk )
is infeasible, then there cannot exist any placement F by P1 with
νi = νi (F ), for all 1 ≤ i ≤ k.
With these observations, we now have the following lemma:
41
Using the results developed in this section, we now propose a tech-
nique for finding the minimum feasible class. We begin by studying
the case where the players place two facilities each, that is, k = 2. We
then extend this to the general case where the two players each place
k facilities simultaneously.
We say that the element aij is feasible if the class M (i, j) is feasible.
Now, our objective is to find the minimum feasible element in the matrix
A . We have the following two cases depending upon whether the app is
feasible or not:
Case 1: app is feasible. In this case, any feasible element aij of A4 has
more weight than the weight of app . Therefore, we report the
weight of class M (p, p), discard the submatrix A4 .
Case 2: app is infeasible. Then any element aij of A 1 will be not be fea-
sible (follows from Observation 2.4.1). Therefore, the submatrix
A 1 can be discarded.
42
feasible class. The same technique can be applied to the case when
n = 2p + 1 is odd. Let T (n) denote the time complexity of determining
the minimum weight feasible class in the n × n matrix A . As it takes
O(n) time to determine whether a class M (i, j) is feasible or not, the
time T (n), required to obtain the minimum weight feasible class, satis-
fies the following recurrence equation: T (n) = 3T (dn/2e) + O(n). This
solves to T (n) = O(n1.59 ), and we have the following theorem:
Theorem 2.4.1. The optimal placement by P1, in the game G(2, n)
can be obtained in O(n1.59 ) time.
{ ∑
k
i=1 iδ if the class M (i1 , i2 , . . . , ik ) is feasible
ai1 i2 ...ik =
∞ otherwise
43
time, where 0 < λk < 1, is a constant depending only on k.
Remark 3: The One Round Discrete Voronoi Game with k facilities can
be easily generalized to the One Round (k1 , k2 ) Discrete Voronoi Game,
where P1 places k1 facilities following which P2 places m2 facilities.
The algorithms presented in the preceding sections for determining the
optimal strategies of P1 and P2 generalize immediately to the One
Round (k1 , k2 ) Discrete Voronoi Game on a line. Therefore, the optimal
placement of P2, in the One Round (k1 , k2 ) Discrete Voronoi Game on a
line, given any placement of P1, can be obtained in O(n) time, when
the sorted order of the users in U along ` is known. Similarly, the
optimal placement of P1, in the One Round (k1 , k2 ) Discrete Voronoi
Game on a line can be obtained in O(nk2 −λk2 ) time, where 0 < λk2 < 1,
is a constant depending only on k2 .
44
My greatest fear: repetition.
Max Frisch
Contents
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . 46
3.2 Lower Bounds . . . . . . . . . . . . . . . . . . . . 47
3.3 Optimal Strategies of P 1 and P 2 while placing
second facilities . . . . . . . . . . . . . . . . . . . 49
3.4 Optimal Strategy of P2 while placing the first facility 51
3.5 Optimal Strategy of P1 while placing the first facility 56
45
3.1 Introduction
In the next section we will prove some lower bounds on both players
payoffs. Next we will divided the game into four turns, in the first turn
first player places one facility, in the next turn second player places
46
one facility and the game continues. In the subsequent sections we will
provided algorithms to find an optimal strategy for each turn.
f1 s1 f1 s1
f2 s2
k n/2 − 1 n/2 − k k n/2 − 1 n/2 − k
(a) (b)
f1 s1 f1 s1
s2 f2 s2 f2
k n/2 − 1 n/2 − k k n/2 − 1 n/2 − k
(c) (d)
47
Case1: If f2 ∈ (−∞, f1 ), then by placing at the user next to f1 in
the interval [f1 , s1 ] P2 can guaranty a payoff equals to n/2 (see
Figure 3.2.1(b)).
48
3.3 Optimal Strategies of P 1 and P 2 while plac-
ing second facilities
49
that s1 ∈
/ [f1 , f2 ], maximum number of facilities that P 2 can serve by
placing one facility in the interval [f1 , f2 ] can be obtained in O(n) time.
Di = {x : x = s1 ± 2|s1 − ui |}
Proof. Observe that there may be two cases, either f1 < s1 or vice
verse. We will assume that f1 < s1 the other case can be dealt similarly.
Let f2 be any optimal placement by P1 which does not coincides with
any point on U ∪ D. Now f2 can belong to one of the three intervals,
[−∞, f1 ], [f1 , s1 ] or [s1 , ∞]. In this chapter we will only prove the case
when f2 ∈ [f1 , s1 ]. The other two cases can be proved similarly. Let
p < f2 be the point closest to f2 in the set of points U ∪D. Now observe
50
f1 f2 (p + s1)/2 s1
p (f2 + s1)/2
{|U [−∞, f2 ]+U [f2 , (f2 +s1 )/2|}−{max(U (−∞, f1 ), cov(f1 , f2 ), U (f2 , (f2 +s1 )/2)}
Observe now cov(f1 , f2 ) < cov(f1 , p) and U (f2 , (f2 + s1 )/2) = U (p, (p +
s1 )/2) because [(f2 + s1 )/2, (p + s1 )/2] does not contain any user as
p < f2 be the point closest to f2 in the set of points U ∪ D. therefore
payoff of P1 when places second facility at f2 is less than equals to
the payoff of P1 when places second facility at p. Hence the result
holds.
51
ψ(s1 ) = min max Q2 ({f1 , f2 }, {s1 , s2 })
f2 ∈` s2 ∈`
Given f1 and s1 P1 can place it’s facility in one of the three intervals
[−∞, f1 ], [f1 , s1 ] or [s1 , ∞]. Hence we have, Now we can write,
where
ψ1 (s1 ) = min max Q2 ({f1 , f2 }, {s1 , s2 })
f2 ∈[−∞,f1 ] s2 ∈`
In other words ψ1 (s1 ), ψ2 (s1 ) and ψ3 (s1 ) denotes, when first facility of
ψ1 ψ2 ψ3
f1 s1
P2, s1 moves along the line ` how the payoff of P2 changes when P1 is
restricted to place it’s second facility at intervals [−∞, f1 ], [f1 , s1 ] and
[s1 , ∞]. Observe that ψ, ψ1 , ψ2 and ψ3 can take n + 1 many discrete
values(0 to n). Hence there are a certain set of points in ` in which
each of ψ1 , ψ2 , ψ3 jumps from one value to another. By calculating the
payoff at each such point we can find out the optimal placement of first
facility by P 2. We call such points as event points.
Lemma 3.4.1. There are O(n) number of event points in ψ1 which can
be computed in O(n) time.
52
Z
ψ2
ψ1
ψ3
f1 `
f1 s1
f2 m
In the previous section we have defined cov(x, y) for any two points
53
on `. Now let us define the following.
Lemma 3.4.2. There are O(n2 ) many event points in ψ2 which can be
computed in O(n2 ) time.
cov(f1, f2) = k
(f2 + s1)/2 s1
f1 f2 = g(f1, k)
Proof. We will prove this lemma by proving that the event points of
ψ2 are precisely the subset of the set of points A1 ∪ U . Let given f1 , s1
be any placement of facility by P2. Denote the optimal placement by
P1 corresponding to f1 and s1 in the interval [f1 , s1 ] be f2 (see Figure
3.4.4). Now payoff for P1 for the placement of facilities f1 , s1 and f2 is
54
and in the second case s1 coincides with a point in the set U . Now the
cardinality of A2 is O(n2 ). Hence the result holds.
m1 m2
f1 s1 f2
A3 = {x : x = uj + |uj − f1 | where uj ∈ U }
55
From Lemma 3.4.1, Lemma 3.4.2 and Lemma 3.4.3 we know that
there are O(n2 ) many event points and computing the payoff at each
event point we can find out the optimal placement of P2 while placing
the second facility. But that will take O(n4 ) time. Next will provide a
lemma which will help us to reduce that complexity. But before that,
for given a placement of facility by P1 let us define the following set of
points,
G(f1 ) = {g(f1 , i)where1 ≤ i ≤ n}
Proof.
56
place its first facility s1 either in the interval (−∞, x) or in the interval
(x, ∞). Now the event points when P2 restricted to place its facility
in the interval (−∞, x) is symmetrically opposite to the set of event
points when P2 restricted to place its facility in the interval (x, ∞). In
this section we will provide a technique to find the set of event points
when P2 restricted to place its facility in the interval (x, ∞). The other
set of event points can be found similarly. Hence for any point x we
redefine ρ(x) to be equals to
Observe that ρ jumps from one vale to the other if at least one of the
functions ρ1 , ρ2 or ρ3 changes its value. We will deal with each of these
three cases separately. Now we the the following lemma.
Lemma 3.5.1. ρ1 contains O(n3 ) many event points which can be cal-
culated in O(n3 ) time.
uj
f2 f1 s1
Proof. We will prove this lemma by showing that event points in ρ1 are
subset of the set of points, Λ1 = U ∪ {g(ui , k)} ∪ {ui ± |ui − uj |} for all
57
ui , uj ∈ U and 1 ≤ k ≤ n. Clearly the cardinality Λ1 is O(n2 ). Now
consider any placement of facilities f1 by P1. Let the corresponding
optimal placements by P2 and P1 be s1 and f2 where f2 < f1 < s1 (see
Figure 3.5.1). In this case payoff of P1 can be defined as
f1 + s1 f1 + s 1
ρ1 (f1 ) = U (−∞, ) − max [U (−∞, f2 ), cov(f2 , f1 ), U (f1 , )]
2 2
Case (ii) cov(f2 , f1 ) increased by one, in that case f1 must have crossed
the point g(f2 , k). Hence f1 must have coincides with a point of
the form g(ui , k) where ui be any user and k be any integer such
that 1 ≤ k ≤ n.
Case (ii) f1 +s
2
1
reaches a user. In this case, keeping the midpoint fixed
we can simultaneously move f1 and s1 towards the midpoint un-
less one of the points reaches an user or f1 reaches a point of
the form g(f2 , k). Now we have already considerd the cases when
when f1 coincides with an user or equals to g(f2 , k). Now if s1
reaches an user, in that case f1 is of the form ui ± |ui − uj | for
some ui , uj ∈ U (see Figure 3.5.2). Hence the result holds.
ui uj
f2 f1 s1
58
Using similar arguments we can also prove the following lemmas.
Lemma 3.5.2. ρ2 contains O(n3 ) many event points which can be cal-
culated in O(n4 ) time.
ui
f1 f2 s1
Lemma 3.5.3. ρ2 contains O(n3 ) many event points which can be cal-
culated in O(n3 ) time.
Hence we have total O(n4 ) many event points and by checking each
event point once we can find out the optimal placement by P1 in O(n5 )
time. Therefore we have the following theorem.
59
My philosophy is that life is all about
learning and growing, and that life can
be a real adventure of learning, grow-
ing, compassion, and joyfulness.
John Mackey
60
4.1 Introduction
(a) maxf20 ∈R2 |P2 (F ∪ {f1 }, S ∪ {f20 })| is attained at the point f2 .
(b) maxf ∈R2 ν(f ) is attained at the point f1 , where ν(f ) = n −
maxf20 ∈R |P2 (F ∪ {f }, S ∪ {f2 })|.
61
In this chapter we develop algorithms for the optimal strategies of
the two players in the above game under two different metric systems,
taxicab metric or L1 metric and the other is the usual Euclidean met-
ric. Note that when |F | = |S| = m the situation is identical to the
last round of the (m + 1)-round discrete Voronoi game in R2 . There-
fore, this problems takes the first nontrivial step towards solving the
discrete Voronoi game problem in R2 . Moreover, as mentioned before,
this problem is of independent interest in competitive facility location.
Imagine there are 2 competing companies are providing a service to a
set of users in a city. Suppose both these companies already have their
respective service centers located in different parts of the city. Now,
if both of them wish to open a new service center with the individual
goal to maximize their total payoff, then the problem is an instance of
the Voronoi game described above.
Though the game, as described above, has never been studied before,
if both F and S are empty, then it is a well-known fact that optimal
strategy of P1 is at the halfspace median of U , which can be com-
puted in O(n log n) time [Cha04]. However when the sets F and S are
non-empty the problem becomes immensely more complicated. In this
chapter we propose polynomial time algorithms for obtaining optimal
strategies of both the players in both the metric.
62
4.2 Understanding the Optimal Strategy of P1
Denote the set of users that are served by the set of facilities F and S
after placement of f by UF \f and US\f respectively. More formally
∪ ∪
UF \f = U (f 0 , F ∪ S ∪ {f }) and US\f = U (f 0 , F ∪ S ∪ {f }).
f 0 ∈F f 0 ∈S
Hence, any facility f by P1 will divide the set of users into three
UF \f US\f UF \f US\f
UF S (f ) UF S (f )
Uf (s)
UF \f (s)
(a) (b)
63
d(ui , s) < d(ui , f ). Similarly define the set of users UF \f (s) ⊂ UF \f
such that for all uj ∈ UF \f (s), d(uj , s) < d(uj , fk ) for all fk ∈ F (see
Figure 4.2.1(b)).
Observe for any placement f and s by P1 and P2 respectively the
payoff of P2 will be equals to
Now given any placement of facility US\f is fixed. Thus for any given
placement of facility f by P1, optimal placement by P2 corresponds to
the point which maximizes |Uf (s)| + |UF \f (s)| over all point s ∈ R2 .
64
s3
f1 s3
f1
ui
f2 f
f2 f s1
s1
s2
f3
s2
f3
(a) (b)
We will use the same technique what we have used in the previous
section. Observe that under L2 metric the only difference is the span
of a user ui is the disk Di centered at ui and passing through the
facility closest to ui among the set of facilities F ∪ {f }. If C = {Ci |ui ∈
UF S (f ) ∪ UF \f }, the optimal strategy for P2, given any placement f
of P1, is to place the new facility at a point where maximum number
of disks in C overlap. This is the problem of finding the maximum
depth in an arrangement of n disks, and can be computed in O(n2 )
time [AHP08]. This solution is identical to the solution of the MaxCov
65
problem studied by Cabello et al. [CDBL+ 10].
f2
s1 f1
u1 u3
u2
s2
u4 u6
u5
f u7
66
f2
u3
s1 u2
u1
λ
u5
u4
s2
f1
s3
u6 u8
u7
f3
UF \f remains unchanged. We will denote for any fixed cell λ ∈ Γ(F, S),
for all points f ∈ λ, US\f , UF S (f ) and UF \f by US\λ , UF S (λ) and
UF \λ respectively. For example in Figure 4.4.1 for the cell λ, US\λ =
{u5 , u8 }, UF S (λ) = {u1 , u2 , u4 } and UF \λ = {u3 , u6 , u7 }. Now our aim
is to tessellate each cell further such that for each finer cell in the final
tessellation, over all placements f in that cell δ(f ) remains fixed.
67
Hence goal is to tessellate Γ(F, S) in to a finer set of cells such that
for any two points x and y on the same cell β(x) = β(y). Observation
4.5.1 would then imply that for all points in a cell the effective depth
remains constant. Hence, by checking each cell once we can find out
the point with minimum effective depth. Hence for each pair of user
ui and uj we want to find out the set of points f such that for any
placement of facility by P1 at f , Ai (f ) ∩ Aj (f ) = ∅. Now observe that
we can divide all such class of points into into three classes.
(i) Set of points f for which Ai (f ) ∩ Aj (f ) = ∅ and facilities closest
from ui and uj both belongs to F .
fk
uj
ui d i
68
Proof. With out loss of generality assume that the facility closest from
uj be fk ∈ F and we want to find the set of points f such that Ai (f ) ∩
Aj (f ) = ∅ and the facilities closest from ui and uj among the set of
users F ∪ {f } be f and fk respectively. Let the minimum L1 distance
between ui and Aj (fk ) be di (see Figure 4.4.1). Consider the set of
points Xij which are at a distance at most di from ui . Observe that for
any new facility f ∈ Xij , Ai (f ) ∩ Aj (f ) = ∅ and for any point f 0 ∈/ Xij ,
Ai (f ) ∩ Aj (f ) 6= ∅. Therefore the desired set of points are precisely Xij .
Hence the result holds.
ui f
uj
Proof. Consider the the four lines L making 45 ◦ and 135 ◦ angle with
the X axis and passing through ui and uj (see Figure 4.4.3). These
four lines will divide the plane into nine regions, one bounded and the
other eight are unbounded. Observe that except for the bounded region
any facility f in any of the bounded region, Ai (f ) ∩ Aj (f ) will either
contain ui or uj . Hence for any point f on any of the unbounded regions
Ai (f ) ∩ Aj (f ) 6= ∅. On the other hand for any point f on the bounded
region Ai (f ) and Aj (f ) will share an common edge but their interiors
69
will not intersect. Hence the set of points we are looking for are the set
of points bounded by the lines L which can be found in constant time.
Thus the result hold.
f1
u2 u3
u1
λ
s1
u4 u5
f3
u6
f2
70
through the facility closest to ui among the set of facilities F ∪ S (see
Figure 4.5.1). Denote the arrangement of the set of circles CF S by
A(CF S ). For any placement of facility x by P1 and for any user ui ,
Ci (x) be the circle centered on ui and passing though the facility clos-
est to ui from the set of facilities F ∪ S ∪ {x}. Let x and y be two
points which belongs to the same cell of A(CF S ) but δ(x) 6= δ(y). Now
as x and y belongs to the same cell of A(CF S ) therefore US\x = US\y .
That means for the placement of facilities x and y the maximum num-
ber of users P2 can serve by placing one facility from the set of users
UF S (x) ∪ UF \x is different from the maximum number of users P2 can
serve by placing one facility from the set of users UF S (y) ∪ UF \y . Now
we have the following lemma.
f1 f1
u2 u3 u2 u3
u1 x u1
λ λ y
s1 s1
u4 s u4 s
u5 u5
f3 f3
u6 u6
f2 f2
(a) (b)
Proof. Without loss of generality assume δ(x) > δ(y) and δ(x) > 2. We
shall prove this result by contradiction. Suppose for every three users
ui , uj , uk ∈ UF S (x) ∪ UF \x , such that Ci (x) ∩ Cj (x) ∩ Ck (x) 6= ∅ we also
71
have Ci (y) ∩ Cj (y) ∩ Ck (y) 6= ∅. Corresponding to the placement of
facility x by P1, let Ux be the maximum cardinality set of users served
by P2. Therefore, for any three users ui , uj , uk ∈ Ux , Ci (x) ∩ Cj (x) ∩
Ck (x) 6= ∅. By assumption, this implies Ci (y) ∩ Cj (y) ∩ Ck (y) 6= ∅.
∩
Therefore, by Helly’s theorem, ui ∈Ux Ci (y) 6= ∅, which means that
the number of users that can be served by P2 by placing one facility
from the set of users UF S (y) ∪ UF \y is at least |Ux |. Therefore, δ(y) ≥
|Ux | + |US\y | = |Ux | + |US\x | = δ(x), which is a contradiction and the
result holds.
Our next goal is to tessellate A(CF S ) in to a finer set of cells such that
for any two points x and y on the same cell β(x) = β(y). This implies
that for any three users ui , uj , uk ∈ U , either Ci (x) ∩ Cj (x) ∩ Ck (x) 6= ∅
or Ci (x) ∩ Cj (x) ∩ Ck (x) = ∅, for all points x in a fixed finer cell of the
tessellation. Observation 4.5.1 would then imply that for all points in a
cell the effective depth remains constant. Hence, by checking each cell
once we can find out the point with minimum effective depth.
Therefore, for each cell of A(CF S ), we want a further sub-division such
that for every point x in the a fixed sub-divided cell Ci (x) ∩ Cj (x) ∩
72
Ck (x) 6= ∅, for every triplet of users ui , uj , uk ∈ U . Note that for any
placement x by P1 and a user u ∈ U \US\x , either u is served by x or
by some existing facility in F . The following definition distinguishes
these two cases:
Γijk (S) = {x ∈ R2 : Ci (x)∩Cj (x)∩Ck (x) = ∅ and Ca (x) ∈ Nijk (x) if ua ∈ S}.
∪
Moreover, for z ∈ {0, 1, 2, 3}, let Γzijk = S:|S|=z Γijk (S), where the
union is taken over all sets S ⊆ {ui , uj , uk } such that |S| = z. The
following observation is now immediate from these definitions:
(b) For S = {ui , uj , uk }, Γijk (S) is the interior of the triangle formed
by ui , uj and uk .
(c) For S = {uk }, Γijk (S) is the interior of the circle centered at uk
and passing through the point in Di ∩ Dj closest to uk .
73
For proving (c), let pc be the point in Di ∩ Dj which is closer to uk .
Hence, for all points p in the open disk D, centered at uk and passing
through pc , Ci (x) ∩ Cj (x) ∩ D = ∅, and for all points p outside the
open disk D, pc ∈ Ci (x) ∩ Cj (x) ∩ D. Therefore, if S = {uk }, then
Γijk (S) = D.
As it turns out, when S consists of 2 elements then the sets Γijk (S)
has a much complicated geometric structure. The following lemma
provides a complete characterization of the set Γijk (S) where |S| = 2.
Before we prove Lemma 4.5.2 let us first fix some notations and prove
some very important results. Hence given three users say ui , uj and uk
we want to characterize the set of points Γijk (S) for S = {ui , uj } such
that for any points x in Γijk (S) if P1 places a facility at x, two circles
Ci (x) and Cj (x) will pass through x and Ck (x) will pass through some
other facility and Ci (x) ∩ Cj (x) ∩ Ck (x) = ∅. For notational simplicity
we rename the region Γijk (S) for S = {ui , uj } as X and Ck (x) as C
and will follow this notation throughout this section. Observe that it
can be shown that X is bounded and open. Now we have the following
lemma.
74
C
Ci(p) Cǫ
p
x1
x
x2
ui Cj (p) uj
75
From Lemma 4.5 we know that ∂(X) is the set of points p such that
Ci (p)∩Cj (p)∩C is a singleton set. Next we will find out all such points.
Observe that there can be two cases
Case 1: Set of points p such that intersection of any two of the three
circles, Ci (p), Cj (p) and C is single point say x and the other
circle contains x. Now suppose we want to find the set of points
p such that Ci (p) ∩ C is a single point and Cj (p) contains that
point. Let the point closest to ui in C be pi . Now the set of
points for which Ci (p) ∩ C is a single point is the circle Ci (pi ) and
for all point p ∈ Ci (pi ), Ci (p) ∩ C = {pi }. But the circle Cj (p)
must contain pi . Hence the set of points p such that Ci (p) ∩ C
is a single point and Cj (p) contains that point, is Ci (pi )\Cj (pi )
(see Figure 4.5.4(a)). Similarly we can find out the points p such
that Cj (p) ∩ C is a single point and Ci (p) contains that point.
Set of points p for which Ci (p) ∩ Cj (p) is a single point is the
set of points on the line segment joining ui and uj , [ui , uj ]. But
C must contain the point p. Hence the set of points for which
Ci (p) ∩ Cj (p) is a single point and C contains that point, is equals
to [ui , uj ] ∩ C (see Figure 4.5.4(b)).
C C
pi pj
ui uj
ui uj
(a) (b)
Figure 4.5.4: ∂(X) (a)Ci (p) ∩ C is a single point and Cj (p) contains that
point and vice verse (b) Ci (p) ∩ Cj (p) is a single point and C contains that
point
76
Case 2: Intersection of none of the two circle is singleton but Ci (p) ∩
Cj (p) ∩ C is a singleton set. For any point p define the reflection
of p over the line joining ui and uj be pr . Observe that for any
point p, the circle Ci (p) and Cj (p) intersects at points p and pr .
Hence if for any point p, Ci (p) ∩ Cj (p) ∩ C is a singleton set then
Ci (pr ) ∩ Cj (pr ) ∩ C is also singleton. Now we want to find out
the set of points p none of the pairwise intersection of the three
circles Ci (p), Cj (p) and C are singleton but Ci (p) ∩ Cj (p) ∩ C is a
singleton set. Observe that p or pr must belong to the boundary
of C. Without loss of generality we will find out the set of points
p on the boundary of C such that Ci (p) ∩ Cj (p) ∩ C is a singleton
set. Now consider the line `i , joining ui and the center of C (see
Figure 4.5.5). Observe that for any point p on the boundary of C,
C and Ci (p) will intersect at p and p−1 where p−1 is the reflection
of p with respect to the line `i . Let among p and p−1 , p−1 is closer
to uj . In that case Ci (p) ∩ Cj (p) ∩ C is not singleton because p−1
belongs to Ci (p) ∩ Cj (p) ∩ C. Hence all the points in one side of `i
is not in ∂(X). Similarly consider the line `j , joining uj and the
center of C. All the points in one side of `j is also not in ∂(X).
Remaining points are shown in bold in Figure 4.5.5. It can be
also shown that any point p on on the region shown in Figure
4.5.5 are in ∂(X).
This completes the proof of Lemma 4.5.2. ∂(X) in two different cases,
when line joining ui and uj does not intersects C and when line joining
ui and uj intersects C, are given in Figure 4.5.6.
Recall, from the previous section, the definition of Γzijk , for S ⊆
{ui , uj , uk }, and z ∈ {0, 1, 2, 3}. We now define Γz = {Γzijk : ui , uj , uk ∈
U }. Consider the tessellation of the plane induced by the collection of
the sets Γz , for z ∈ {0, 1, 2, 3} and CF S . From Observation 4.5.2 we
77
C
p
pj
pi ℓ i p−1 lj
ui uj
Cr
Figure 4.5.5: ∂(X) when intersection of none of the two circle is singleton
but Ci (p) ∩ Cj (p) ∩ C is a singleton set.
C
C
pj
pi pj
pi
ui uj ui uj
Cr
Cr
(a) (b)
Figure 4.5.6: X in two different cases (a) when line joining ui and uj does
not intersects C (b) when line joining ui and uj intersects C
know that CF S and Γ0 consists O(n) circles, and Γ3 consists O(n2 ) lines
(set of lines passing through each pair of users inn U ). Observation
4.5.2 also shows that Γ1 consist of O(n3 ) circles. From Lemma 4.5.2 we
know for S ⊆ {ui , uj , uk }, with |S| = 2, Γijk (S) is an open set bounded
by O(1) circular arcs and line segments. Therefore, Γ2 also consists
O(n3 ) circles and line segments. Hence, the arrangement generated
by Γz , for z ∈ {0, 1, 2, 3} and CF S consists of O(n3 ) circles and line
segments. The effective depth of any cell in this tessellation is constant.
Moreover, the effective depth of a cell is the maximum depth in an
78
arrangement of a set of O(n) circles, which can be computed in O(n2 )
time [AHP08]. Hence, by checking the effective depth of all the O(n6 )
cells, the minimum effective depth can be obtained in O(n8 ) time. Thus,
the optimal strategy of P1 in the Gn (F, S) game can be found in O(n8 )
time, hence we have the following theorem.
79
To raise new questions, new possibilities, to regard old
problems from a new angle, requires creative imagina-
tion and marks real advance in science.
Albert Einstein
5.1 Introduction
80
facility which is at the least geodesic distance from u).
Ties will be broken in favor of the facility placed later. With this
definition, the problem considered in this chapter can be formally de-
scribed as follows.
Definition 5.1.2. One Round Discrete Voronoi Game for a Simple Poly-
gon P : Given a set U of n point-users and two players P1 and P2,
having k facilities each, P1 chooses a set F1 of k point-facilities in
P , after which P2 chooses a set F2 of k point-facilities in P , where
F1 ∩ F2 = ∅.
81
5.1.2 Chapter Overview
82
centered at ai (f ) and passing through f . For any two points p1 , p2 ∈ P ,
denote the line segment joining them by [p1 , p2 ].
ai(f )
Γi
f
ui
For any anchor vertex ai (f ), let li denote the line tangent to the circle
Ci and passing through the point f (see Figure 5.2.2(a)). Consider the
line segment [c, d] ⊂ li of maximum length that is completely contained
in P and that contains f . Observe that [c, d] divides the polygon into
two parts. Denote the part which contains ui by Pi .
83
f li f r ∗ r li d
c r d c
α
ai(f ) Ci ai(f ) Ci
ui ui vj+1
f r vj
vj+1 vj+1
vj
Pi
(a) (b)
f
λ(ui , f ) = (v1 , v2 , . . . , vj , vj+1 , . . . , vτf , f )
r
λ(ui , r) = (v1 , v2 , . . . , vj , vj+1 , . . . , vωr , r),
f
see Figure 5.2.2(a). Observe that the line joining vj and vj+1 either
intersects the line segment [f, r] or intersects some edge in λ(vj , r).
If this line intersects [f, r] then that contradicts the fact that r is the
closest point from f in [f, d] for which |λ(ui , r)| < |λ(ui , f )|. Hence, the
f
line joining vj and vj+1 intersects an edge of λ(vj , r) (see Figure 5.2.2(a))
at a point α. From the convexity properties of geodesic paths and the
triangle inequality, |λ(vj , vj+1
f
, α)| < |λ(vj , vj+1
r
, α)|. This contradicts
r
the fact that the shortest path between vj and r is via vj+1 . Hence the
84
claim holds.
We continue with the proof of Lemma 5.2.1. Let j be the index
such that r is the intersection of li and the line joining the two con-
secutive vertices vj and vj+1 of λ(ui , f ) (see Figure 5.2.2(b)). Denote
the intersection between li and the line joining vj+1 and vj+2 by r∗ .
Observe that |λ(ui , r∗ )| < |λ(ui , r)|. This contradicts the fact that r
is the closest point from f in [f, d] for which |λ(ui , r)| < |λ(ui , f )|.
Hence r must be the intersection of li and the line joining ai (f ) and
bi , where bi is the vertex previous to ai (f ) on the path λ(ui , f ). But
|λ(ai (f ), f )| < |λ(ai (f ), r)|. Therefore, |λ(ui , f )| < |λ(ui , r)|. Hence,
we arrive at a contradiction.
Proof. Observe that it is enough to prove that for any subset of users
U 0 ⊂ U , (∩ui ∈U 0 Γi ) \ {f } 6= ∅ if and only if (∩ui ∈U 0 Zi ) \ {f } 6= ∅. Now
suppose U 0 be any subset of users for which (∩ui ∈U 0 Γi )\{f } 6= ∅. Hence
85
for each pair of users ui , uj ∈ U 0 , (Γi ∩ Γj ) \ {f } 6= ∅. Therefore from
Observation 5.2.2 for all ui , uj ∈ U 0 , (Zi ∩ Zj ) \ {f } =6 ∅. Now all Zi
are subset of the disk passing through f . Hence (∩ui ∈U 0 Zi ) \ {f } 6= ∅.
On the other hand if for any subset of users U 0 , (∩ui ∈U 0 Zi ) \ {f } 6= ∅
then (∩ui ∈U 0 Γi ) \ {f } 6= ∅ because Zi ⊂ Γi . Hence the result holds.
µ1
Z2(f )
f Cǫ Z3(f )
u2 λ∗ s̊
u3
µ2 µ3
f ℓǫ
Cǫ
Z1(f ) Z4(f )
u1 u4
(a) (b)
86
boundary of γ and C is also an optimal placement. Thus, one of the
optimal placements for P2 belongs to the set α = {Ci ∩C : 1 ≤ i ≤ n}.
Consider any optimal placement of facility s̊ ∈ α for P2. Let s̊ be
the intersection point between Ci and C . Consider the perpendicular
bisector ` of f and s̊. Let ` ⊆ ` be the maximal line segment in P that
contains the midpoint of the line segment joining f and s̊ (see Figure
5.2.3(b)).
87
the path λ(q, f ), for any query point q ∈ P , in O(log m) time [GH89].
Using this data structure, in O(n log m) time, we can find the set of
all anchor vertices on the paths from users in U to f . Once we have
the list of anchor vertices, using angular sorting, we can compute the
half plane passing through f which contains the maximum number of
anchor vertices. Hence the result follows.
Let us begin our discussion with the following two simple observations
(see Figure 5.3.1).
88
Observation 5.3.1. For any placement f by P1, where f is on any
convex vertex of P , there exists a placement s for P2 such that ν(f ) = n.
s
s
f
f
(a) (b)
89
s(vi)
s
vi f vi+1
vi . Hence, ν(vi ) is the number of users in P − (vi , s(vi )). When P1 places
its facility at f , there always exists a placement s by P2, such that s
serves the set of users in P − (vi , s(vi )) (see Figure 5.3.2). Therefore,
ν(f ) ≥ ν(vi ) and the claim holds.
Lemma 5.3.1. For any cell C in Π(P ), for any two points f1 and f2
in C, and for any user ui , we have ai (f1 ) = ai (f2 ).
Proof. Assume there exists a user ui whose anchor vertex ai (f1 ) on the
geodesic path from ui to f1 is different from the anchor vertex ai (f2 )
90
r1
u3 f1
r2
vj
u1
u2 vk
r3
f2
ui
(a) (b)
Let C be any cell in Π(P ). For any user ui , all points f in C have the
same anchor vertex; denote this anchor vertex by aC i . Assign a weight
wiC which is the number of shortest paths from any user uj to any point
f ∈ C, in which aC i is the anchor vertex.
Recall that a chord of P is a closed line segment whose interior is
contained in the interior of P and whose endpoints are on the boundary
of P . Let f be any placement by P1. Any chord passing through
f divides P into two sub-polygons, which we call half polygons with
respect to f . From Section 5.2, we know that for any placement f by
91
P1, the maximum number of users that P2 can serve, by placing one
∑
facility, is equal to maxPf aC ∈Pf |wiC |, where Pf is any half polygon
i
with respect to f , i.e., the maximum number of anchor vertices in any
half polygon with respect to f .
For any point f in any cell C, we define the weighted half-space depth
∑ C
of f to be maxPf wj such that aj ∈ Pf . Observe that an optimal
placement for P1 in the cell C corresponds to a point with minimum
weighted half-space depth.
v
f
c
cv cf
aj
92
With out loss of generality, we may assume that cv is passing through
some anchor vertex aj . Since aj is visible from v, aj is also visible from
f . Consider the chord cf passing through f and aj (see Figure 5.3.4).
Consider the half polygon Pf bounded by cf . Observe that Pv \ Pf = ∅,
because otherwise, v and f belong to different cells of Π(P ). It follows
that the claim holds.
Since the cardinality of R∪U is at most n+m, the number of cells and
the number of vertices in the tessellation Π(P ) is O((n+m)4 ). For each
vertex, we can check the optimal payoff of P1 in O(m+n(log n+log m))
time. Hence, we have proved the following result.
93
Where there is matter, there is geometry.
Johannes Kepler
94
any edge (u, v). For any two points p and q in G, the distance between
p and q is considered as the weighted shortest path distance between
them and is denoted by d(p, q). A weight wv is associated with each
vertex v and the total weight of G is defined as,
∑ ∑
W= w(u, v) + wv
(u,v)∈E v∈V
v1 v6
f3
f1 p1 f2 p2
v2 v4
v3 v5
Figure 6.1.1: Service zone of f2
95
as a subset of G, because GF (f ) may contain portions of some edges.
For example in Figure 6.1.1, service zone of f2 (shown in bold) contains
the portions of the edges (v2 , v4 ) and (v4 , v6 ) where p1 be the point such
that d(f1 , p1 ) = d(p1 , f2 ) and for p2 , d(f2 , p2 ) = d(p2 , f3 ). For a set of
facilities F 0 ⊆ F define the service zone of F 0 , GF (F 0 ) = ∪f ∈F 0 GF (f ).
In this chapter we will consider the One-Round (m, k) Voronoi Game
on Graphs. The game consists of a weighted graph G(V, E) and two
players P1 and P2 respectively. Initially P1 places m facilities, followed
by which P2 places k facilities in G. For any set of facilities F and
S by P1 and P2 respectively, the payoff of P1, Q1 (F, S) is defined as
W (GF ∪S (F )) and the payoff of P2, Q2 (F, S) is defined as W −Q1 (F, S).
Let ν(F )=maxS Q2 (F, S) where maximum is taken over any placement
of k facilities S by P2. The One-Round (m, k) Voronoi Game on Graphs
can be formally stated as follows.
96
algorithm for finding optimal strategy of P2 on trees. In section 6.5,
we prove that the problem of finding an optimal strategy of P2 on
general graphs is N P-hard. Finally, in section 6.6, we propose a 1.58
factor approximation algorithm for finding an optimal strategy of P2
for One-Round Voronoi Game on Graphs.
Figure 6.2.1: Example of partition of a tree: (a) Original Tree T and (b)
Partitions of T .
Lemma 6.2.1. For any tree T with all zero weighted vertices, there
exists a set of points P = {p1 , p2 , . . . , pτ } which partitions T into at
97
least τ + 1 sub-trees, such that weight of each sub-tree Ti ∈ T (P ) is at
most τW +1
, where τ is any positive integer.
Proof. Observe that it is enough to prove that given any weighted tree
T and a positive integer τ there exist a point p̊, which partitions the
tree into two or more parts such that weight of one part is less than
or equal to ττ∗W+1
and weight of all other parts are less than or equal to
W
τ +1
. Choose an arbitrary vertex of tree as the root of T . Define an
extended weight function wT which maps the vertices of T to R, such
that, weight of any leaf node v is zero and weight of any internal node
∑
vi is equal to vj (wvi + wT (vj ) + w(vi , vj )), where vj is child of vi and
w(vi , vj ) be the weight of the edge (vi , vj ). Now observe that there will
always be a node with weight greater than or equal to τW +1
and all of
W
its children are having weight less than τ +1 . Denote that vertex by
v̆. Let the children of v̆ be {v1 , v2 , . . . , vk }. Now if for all 1 ≤ i ≤ k,
wT (vi ) + w(v̆, vi ) is less than τW
+1
, then p̊ = v̆. Otherwise there exist
a child vj of v̆, such that, wT (vj ) + w(v̆, vj ) > τW +1
, but wT (vj ) < τW+1
.
But in that case observe that there exists a point p on the edge (v̆, vj )
which partitions the tree into two parts, one having weight τW +1
and
τ ∗W
other having weight τ +1 . Thus p̊ = p and the result follows.
Now we have the corollary which holds for the trees all of whose
vertices are having zero weight.
98
facilities on the points of F 0 . By placing k facilities P2 can occupy k
W
partitions. Payoff of P2 in that case would be m+1 k . Hence the payoff
of P1 is at least m+1 W, which completes the proof of this corollary.
m−k+1
99
points.
Let fk be any facility of P1 on any edge eij . Then we assume that,
there exists two points p1 ∈ hvi , fk i and p2 ∈ hfk , vj i very close to fk
such that distance between p1 and fk and p2 and fk are small enough to
be considered as zero. For all fk , k = 1, . . . , m include all those points
into Γ and we have the following observation.
f1
30
vi s vj
40
15
f2
Figure 6.3.1: Example of facilities placed by P1 and P2
100
the predecessor relationship holds between two vertices. Observe that
πi (s) ∩ πj (s) = ∅. Define the set Bi (s) and Bj (s) such that they contain
the midpoints of the paths in πi (s) and πj (s) respectively. We refer to
those midpoints as bisectors.
Proof. Suppose there exists two paths λ1 and λ2 in π(s) such that the
bisectors of λ1 and λ2 belong to the same edge eab . Let b1 and b2
be the bisectors of λ1 and λ2 respectively. Without loss of generality
assume the paths λ1 and λ2 start at s and end at fk and fl respectively.
Suppose along the path λ1 , the vertex va precedes the vertex vb . Now
there will be two cases.
fk fl fl fk
va b1 b2 vb va b1 b2 vb
vi vj vi s vj
s
(b)
(a)
Figure 6.3.2: Figure showing two cases for the proof of Observation 6.3.2
101
Case 2 : Along the path λ2 , vb precedes va (see Figure 6.3.2(b)). With-
out loss of generality assume that b1 precedes b2 along λ1 . we
consider the path λ1 , then by definition of bisector the arc hb2 , vb i
will be served by P 1. But if we consider the path λ2 , then by
definition of bisector the arc hb2 , vb i will be served by P2. Hence
contradiction and the result follows.
vi s p vj ms mp fl
δ ps
δ/2
Observation 6.3.3 holds for any path λ ∈ πj (s). Similarly for any
path λ0 ∈ πi (s) consider the point p0s closest to s, such that p0s ∈ Γ ∪ V .
Observe that if the facility of P2 is shifted from s to any point p ∈ hp0s , si
the midpoint of the path λ0 is moved to a distance δ 0 /2, where δ 0 is the
distance between p and s along eij .
102
v1 v5
10
10
f1 100 f2
v3 v4
10
10
v2 v6
f1 f4
f3 f6
Now suppose P(F,s̊) > P(F, pl ) and P(F,s̊) > P(F, pr ). Recall that
for any placement of facility s by P2, Bi (s) and Bj (s) are the sets of
bisectors correspond to the set of paths πi (s) and πj (s). Now based on
the emptiness of Bi (s̊) and Bj (s̊) two cases can arise.
103
Case 1: Bi (s̊) = ∅ or Bj (s̊) = ∅. Without loss of generality assume
Bj (s̊) = ∅. Observe that as F 6= ∅, Bi (s̊) 6= ∅. Now there is no
path between s̊ and any facility of P1 via vj . Thus P(F,s̊) ≤
P(F, pl ), which contradicts our basic assumption and hence the
result follows.
Now as, P(F,s̊) > P(F, pl ) and P(F,s̊) > P(F, pr ), from Equa-
tion 6.1 and 6.2 we get, (k1 −k2 )∗δ1 /2 < 0 and (k2 −k1 )∗δ2 /2 < 0.
As δ1 , δ2 > 0, we get (k1 − k2 ) < 0 and (k2 − k1 ) < 0, hence con-
tradiction and the result follows.
104
Now consider the general problem where P2 is interested in placing
k(≥ 1) facilities. Again the goal is to find the optimal placement by
P2 on G. Consider any set of placements S by P2. Let s ∈ S be any
arbitrary facility location. Without loss of generality we assume s is on
the edge eij . We refine the definition of π(s) by saying that π(s) is the
set of paths between s and any facility of P1 such that for each path
λ ∈ π(s), half of the points of λ are closer to some fi ∈ F than any
other facility point in F ∪ S and the rest of the points are closer to s
than any other facility point in F ∪ S. Similarly define πi (s) and πj (s)
as the disjoint subset of π(s), such that the paths in πi (s) and πj (s)
contains vi and vj respectively. Accordingly let Bi (s) and Bj (s) are
the sets of midpoints of the paths in πi (s) and πj (s) respectively. Next
we present a theorem whose proof is somewhat similar to the proof of
Theorem 6.3.1.
105
Note that it is possible to design a simple algorithm, which by check-
ing all subsets of size k of the set Γ ∪ V , finds out the optimal strategy
of P2 in exponential time. Nevertheless, in the next section we present
a polynomial time algorithm for finding optimal strategy of P2 on trees.
Consider a tree T =(V, E) such that weight of each vertex and edge
is non-negative. Let F ={f1 , . . . , fm } be the m facilities placed by P1
on T . We are interested in the problem of finding a set of k optimal
placement of facilities by P2. By Theorem 6.3.2 it suffices to consider
only points of Γ ∪ V as the possible optimal facility locations of P2.
We propose a polynomial time algorithm for choosing k optimal points
from this set. For the sake of simplicity add the points of Γ into the
set of vertices. Let |V |=n. Then observe that the new set of vertices
contains O(n2 + m) many points.
Now consider the facilities placed by P1 on T . Observe that these
facilities divide T into a finite number of subtrees. Here we deviate
a bit from the original definition of subtree and assume the bisectors
could also be vertices of a subtree. Refer to these subtrees as partitions
of T with respect to F . Figure 6.4.1 shows an example tree and it’s
partitions with respect to facilities of P1.
v1 v4 v1
v4
f1 f1
v2 f2 v2 f2
v3 v3
v5 v6 v5 v6
(a) (b)
106
Let d be the maximum degree of the vertices of T . Note that there
could be O(md) many partitions of T . It should be noted that facilities
placed by P2 in one partition will not affect the facilities placed in
other partitions as the partitions are bounded by either facilities of P1
or leaves. Consider a partition which contain exactly one facility of P1.
By placing only one facility in that partition P2 can serve it totally(see
Figure 6.4.1(b)). Now consider the partitions which contains p facilities
of P1, where p ≥ 2. Let Ti be one such partition. Considering any path
as a subtree, let π be the union of the paths of Ti between the facilities
of P1. Observe that Ti \ π is a collection of trees, say {λi |1 ≤ i ≤ c}.
Each tree λi shares exactly one vertex, say αi with π. For example in
Figure 6.4.1(b) the partition containing vertex v2 is a shared vertex.
Note that it is always advantageous for P2 to place a facility on the
point v2 , instead of placing it on the edge (v2 , v5 ). We have the following
observation,
Thus for all such λi we add the weight of λi to the weight of αi and
remove it from Ti . Note that now all the leaves of Ti are facilities of
P1. Thus without loss of generality we can assume that if a partition
contains more than one facilities of P1, then each of it’s leaves contains
a facility of P1. We refer to this kind of partitions as bounded partitions.
Now we define the following routine.
107
subject to,
∑
l
pi = p
i=1
108
set of vertices and define a new tree T 0 (V 0 , E 0 ) where V 0 = V ∪ B and
edges are defined accordingly. Assign the length and the weights of new
edges proportionally. Our aim is to choose κ points from V ⊂ V 0 such
that the payoff is maximized. Choose an arbitrary vertex vr ∈ V to be
the root of T 0 . For any vi let Ti be the subtree rooted at vi . Now we
define a subroutine OP T which recursively places the facilities of P2.
109
could have zero weight. First of all we show the independence of the
placement of facilities by P2 on the subtrees of ∆ij .
vi
dij
dνij
dµij
vij
Tijµ Tijν
Proof. Let vijl be the root of Tijl , where 1 ≤ l ≤ α. Consider any subtree
Tijµ , such that vijµ = vij , then the service zone of any facility in Tijµ will
be limited within Tijµ . Moreover as Tijµ is connected to other subtrees
through vijµ , facilities of P2 in other subtrees will not get any payoff
from Tijµ . Now consider two subtrees Tijµ and Tijν such that vijµ 6= vij and
vijν 6= vij . Let dlij be the distance between vij and vijl . Also let dij be
the distance between vi and vij . Without loss of generality we assume
dµij < dνij (see Figure 6.4.2). Note that dij ≥ dνij . Now the facility of
P2 on Tijν closest to vijµ could lie at a distance dνij + dνij − dµij from vijµ ,
which is greater than dµij . Hence the facility at vij is closest to vijµ than
any other facilities in Tijν . Hence any facility placed at Tijν doesn’t get
any payoff from Tijµ . Similarly any facility placed at Tijµ doesn’t get any
payoff from Tijν , which completes the proof of this observation.
110
Note that to get the optimal payoff of P2 from bounded partition T 0 ,
OP T (T 0 , κ, V 0 \ V, φ) should be invoked. Now we will argue about the
optimality of the solution return by this subroutine.
Proof. Note that it is sufficient to prove that for any subtree Ti , the
call OP T (Ti , δ, Vr , Er ) returns the optimal solution. We’ll prove this
claim using induction on subtree containment. In base case the sub-
trees containing some constant number of vertices and the payoff of
P2 can be calculated in a trivial manner using OP T . Now suppose
OP T can calculate the optimal payoff of P2 on all the subtrees of Ti
correctly. Now for 1 ≤ j ≤ ι, OP T (Ti , δ, Vr , Er ) chooses a vertex
vij and places a facility at vij . Then it calls the functions gij (pl ) =
OP T (Tijl , pl , Vr ∪ {vi1 , vi2 . . . vi(j−1) }, Er ∪ Eij ) recursively. Now by in-
duction hypothesis the functions gij (pl ), for 1 ≤ pl ≤ δ returns the
correct solutions. Moreover by Observation 6.4.2 the placement of fa-
cilities of P2 in different Tijl are independent of each other. Hence the
further call to ALLOC will return the optimal payoff of P2 Qij for plac-
ing δ facilities, such that the first facility of P2 is placed at vij . Thus
max1≤j≤ι Qij will give the optimal payoff of P2 from Ti for placing δ
facilities, which completes the proof of this lemma.
111
First we’ll show that the number of distinct Vr considered over all calls
of OP T is polynomial.
di
df
vi
sf
Ti
Now we’ll argue about the number of distinct Er over all calls of
OP T .
112
there is nothing to prove. So consider the case where Er 6= φ. Thus Er
is contained within the service zone of facilities of P2 which are already
placed on T 0 . Let vc be the vertex of T 0 which contains the facility
of P2 closest from vi (see Figure 6.4.4). Then Er is the exact set of
edges of Ti , which are in service zone of the facility placed at vc . Thus
given Ti , Er could be specified by the vertex vc . Hence for any call of
OP T (Ti , δ, Vr , Er ), Er can be uniquely specified by a tuple (vi , vc ). Note
that number of such distinct tuples is bounded by O(n4 ) as number of
distinct vi and vc can be O(n2 ) each. Hence the observation follows.
d c vc
vi
f1 f2 f3 f4
Now all the subtrees that we consider are maximal and specified by
some sets Vr and Er . We note that number of maximal subtrees is same
as the number of vertices, as from any vertex v we can have at most
one maximal subtree rooted at v. Hence by using this argument and
from Observation 6.4.3 and 6.4.4 we can say that number of subtrees
on which the OP T calls are made is bounded by a polynomial. Now
we’ll discuss the dynamic programming based approach.
We maintain a table M to store the values returned by OP T , corre-
spond to different arguments passed to it. Each row of M corresponds
to a subtree as defined before. Note that we can enumerate all such
113
subtrees. One such enumeration is based on subtree containment re-
lationship. Also for same subtree with different Vr ’s, say Vr1 and Vr2
can be enumerated using subset containment relationship as we know
either Vr1 ⊆ Vr2 or Vr2 ⊆ Vr1 . Similarly for same subtree with differ-
ent Er ’s can be enumerated. M has κ + 1 columns marked by 0 to κ.
Moreover we want the M (., .) values of all the subtrees of a tree should
be calculated before the calculation of M (., .) values correspond to it.
Hence if the calculations are done in bottom-up approach the entries of
M (., .) could be calculated correctly. Once all the M (., .) values of all
the subtrees of a tree Ti are calculated the entries of M (., .) correspond
to Ti can be calculated in polynomial time using ALLOC. As M con-
tains polynomial number of entries, all of it’s entries can be calculated
in polynomial time. Finally the entry of M correspond to the subtree
T 0 with Vr =V 0 \ V , Er = φ and δ = κ will give the anticipated result.
Hence on any bounded partition the optimal payoff of P2 can be
calculated in polynomial time. As there are O(m) many such bounded
partitions, the total time for calculation of payoffs on bounded parti-
tions is also polynomial. Hence we have the following theorem.
114
P2, Q2 (F, S) ≥ δ or not. Clearly the problem is in N P as given any
placement of facility by P1 and P2 it is possible to find out Q2 (F, S)
in polynomial time. To prove that this problem is N P-hard we show
a reduction from Minimum Dominating Set problem which is known
to be N P-hard[GJ79]. At first let us define the Minimum Dominating
Set problem.
Minimum Dominating Set Problem: Given a graph G = (V, E) a dom-
inating set is a set of vertices S ⊆ V such that each vertex in
graph G is either in S or is a neighbor of at least one element of
S. The problem asks to find such S with minimum cardinality.
f2 f4
v2 v4
f1 v2 f3 v4 f5
v1 v3 v5 v1 v3 v5
v10 v8 v6
v10 v8 v6
f10 v9 v7 f6
f8
v9 v7
f9 f7
G
0
G
Figure 6.5.1: Construction of G0 from an example graph G.
115
showing the construction for an example graph. Let F̃ be the set of |V |
new vertices. Now V 0 = V ∪ F̃ and E 0 = E ∪(vi , fi ) ∀vi ∈ V and fi ∈ F̃ .
1
We will assign weight we < |V |+|E|+k to each edge e ∈ E 0 and weight
wv = 1 for each vertex v ∈ V 0 . Now consider the Maximum Payoff
Problem on G0 with F̃ as the placement of P1. Now it is sufficient to
prove that there exists a dominating set of size k in G if and only if
there exists a set of k points S in G0 such that Q2 (F̃ , S) ≥ |V |.
Let S be a set of k points in G0 such that Q2 (F̃ , S) ≥ |V |. Without
loss of generality assume S ⊆ Γ ∪ V , if not then using a construction
similar to proof of Theorem 6.3.2 S can be modified so that S ⊆ Γ ∪ V
and Q2 (F̃ , S) ≥ |V |. Recall that we have assumed for each edge (fi , vi )
there exists a point pi very close to fi such that distance between pi
and fi is small enough to be considered as zero. Denote the set of all
such points as P . Now observe that as weight of each edge is same,
Γ ⊆ V ∪ P . Hence S ⊆ P ∪ V . Now we will construct a new set of
placements of facilities S 0 from S as follows. For all points si ∈ S ∩ V
add si to S 0 . For all points si ∈ S ∩ P let vj is adjacent to si . If vj ∈
/S
0
add vj to S , else add any vertex v ∈ V such that v ∈ / S (see Figure
6.5.2). Observe S 0 ⊂ V and Q2 (F̃ , S 0 ) > Q2 (F̃ , S) − k ∗ we . Now the
payoff Q2 (F̃ , S) can be written as QE 0 + QV where QE 0 sum of the
length of all the arcs those are served by P2 and QV is the number of
vertices in the service zone of P2. Observe now QE 0 ≤ (|V | + |E|) ∗ we .
Hence QV ≥ Q2 (F̃ , S) − k ∗ we − (|V | + |E|) ∗ we . But we < |V |+|E|+k1
,
that is we ∗ (|V | + |E| + k) < 1, |V | and QV are integers. Further
Q2 (F̃ , S) ≥ |V |. Therefore QV ≥ |V |. Now any vertex vi ∈ V will
be served by a facility sj ∈ S 0 if either vi ∈ S 0 or sj is neighbor of vi .
Hence S 0 is a dominating set of G of size k.
si
fj vj
116
Now consider the case where the graph G has a dominating set D of
size k. In graph G0 , D can be used for placement by P 2. Every vertex
in V is adjacent to one of the vertices of D. So the payoff by P 2 is at
least |V |. Hence the result follows.
117
f2
p2
f1
p1
p3 s
k new facilities. For the sake of simplicity we assume that the weight
of each vertex is zero. But by a simple modification our algorithm can
be extended to handle the case when the vertices are having non-zero
weights. Now from Theorem 6.3.2 we know that there exists an optimal
placement by P2 which belong to Γ ∪ V . Now consider any placement
of facility s ∈ Γ ∪ V by P2. Let Ωs be the set of bisectors correspond
to s. For example in Figure 6.6.1, P1 has placed two facilities f1 and
f2 and P2 has placed the facility s. The service zone of P2 is shown
with dotted lines. Here the set Ωs will be equal to {p1 , p2 , p3 }. Define
Ω = {∪s∈Γ∪V Ωs } ∪ Γ
118
edges that is in service zone of the facility of P2 at pi . For each edge
ei ∈ E 0 the weight of ei is equal to the length of ei . Now run the
greedy algorithm for the Weighted Maximum Coverage Problem on this
set system for τ = k. Then we have this lemma which directly follows
from the construction.
Now from Theorem 6.6.1 and Lemma 6.6.1 we have the following
theorem.
119
Conclusion and Directions for
7
Future Research
120
the optimal strategy of P2, given any placement of P1 can be found
out in O(n) time. Next, we gave a O(nk+1 ) time algorithm for obtain-
ing the optimal strategy of P1, which we subsequently improve to an
O(nk−λm ) time algorithm, where 0 < λk < 1, is a constant depending
only on k.
In chapter 3 we considered a game which follows the repetitive Stack-
elberg Model that is two players P1 and P2 will place their k facilities
one after another. We have considered a restricted version of the game
where each player will place two facilities each. We have divided the
game into four turns, in the first turn first player places one facility,
in the next turn second player places one facility and the game con-
tinues. We have provided algorithms to find an optimal strategy for
each turn. There are many open problems in this area. Finding a lower
and upper bound on the payoff of each player in a k round game is a
problem remains to be solved. Proving hardness results for finding op-
timal strategies in the k round game for both the players is also seems
challenging.
In chapter 4 we have considered the one-round discrete Voronoi game
in R2 , in presence of existing facilities. The game consists of two players
P1 and P2, and a finite set U of users in the plane. The players have
already placed two sets of facilities F and S, respectively in the plane.
The game begins by P1 placing a new facility followed by P2 placing
another facility, and the objective of both the players is to maximize
their own total payoffs. In this chapter we propose polynomial time
algorithms for obtaining optimal strategies of both the players under
arbitrary locations of the existing facilities F and S. We show that
the optimal strategy of P2, given any placement of P1, can be found
in O(n2 ) time, and the optimal strategy of P1 can be found in O(n8 )
time. Our method provides a complete characterization of the set of
event points, which in the worst case has complexity O(n6 ), and is the
main reason why this approach has a high running time. This also
121
shows that the problem has an inherent complexity of O(n6 ), and if at
all this barrier is to be broken a completely new technique would be
necessary.
In chapter 5 we have considered the Discrete Voronoi Game for a
Simple Polygon P . The game consists of two players P1 and P2, and
a finite set of users in a simple polygon P . Initially, P1 places one
facility in P , after which P2 places another facility in P . Each user is
then assigned to one of the facilities according to the nearest neighbor
rule, where distances are measured using the geodesic distance in P .
We have shown that an optimal strategy for P2, given any placement
of P1, can be found in O(m + n(log m + log n)) time, and an optimal
strategy for P1 can be found in polynomial time.
There are many open problems in this area. Obtaining an algorithm
to find an optimal placement for P1 and P2, where each of them places
k > 1 facilities is a problem that remains to be solved. Another variant
of the game where the two players place k > 1 facilities alternately is
also an interesting problem to study.
In chapter 6 we consider one round Voronoi game with two players.
Here the underlying space is a road network, which is modeled by a
graph embedded on R2 . In this game each of the players places a
set of facilities and the underlying graph is subdivided according to
the nearest neighbor rule. The player which dominates the maximum
region of the graph wins. Given a placement of facilities by Player 1, we
have characterized the optimal placement by Player 2. At first we dealt
with the case when Player 2 places a constant number of facilities and
provided an algorithm for the same. Next we have proved that finding
the optimal placement of k facilities by Player 2 is N P-hard where k is
given. Lastly we presented a 1.58 factor approximation algorithm for
the above mentioned problem.
122
References
123
Ghosh and Takeshi Tokuyama, editors, WALCOM, vol-
ume 7748 of Lecture Notes in Computer Science, pages
77–88. Springer, 2013.
124
[Cha53] Edward H Chamberlin. The product as an economic vari-
able. The Quarterly Journal of Economics, 67(1):1–29,
1953.
125
[DKS05] Frank K. H. A. Dehne, Rolf Klein, and Raimund Seidel.
Maximizing a Voronoi region: the convex case. Int. J.
Comput. Geometry Appl., 15(5):463–476, 2005.
126
[FMM09] Rainer Feldmann, Marios Mavronicolas, and Burkhard
Monien. Nash equilibria for Voronoi games on transi-
tive graphs. In Stefano Leonardi, editor, WINE, volume
5929 of Lecture Notes in Computer Science, pages 280–
291. Springer, 2009.
127
[Hot29] Harold Hotelling. Stability in competition. The Economic
Journal, 39(153):41–57, 1929.
128
[Nas50] John F Nash. Equilibrium points in n-person games. Pro-
ceedings of the National Academy of Sciences, 36(1):48–
49, 1950.
129
[TDU11] Sachio Teramoto, Erik D. Demaine, and Ryuhei Uehara.
The Voronoi game on graphs and its complexity. J. Graph
Algorithms Appl., 15(4):485–501, 2011.
130