You are on page 1of 142

VORONOI GAME AND ITS VARIANTS

by
Aritra Banik

A thesis submitted in partial fulfillment


of the requirement for the degree of
Doctor of Philosophy
in
Advanced Computing and Microelectronics Unit
Indian Statistical Institute
Kolkata, India

Thesis Advisor: Prof. Sandip Das


Abstract

Competitive facility location is concerned with the favorable placement


of facilities by competing market players. In such a scenario, when
the users choose the facilities based on the nearest-neighbor rule, the
optimization criteria is to maximize the cardinality or the area of the
service zone depending on whether the demand region is discrete or
continuous, respectively. A game-theoretic analogue of the competitive

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

we have studied different kinds of Voronoi games. We have provided

techniques to find an optimal strategies by both the players in discrete

version of the Voronoi game played on a line, on a polygonal domain

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

2 One Round Discrete Voronoi Game on a line 24


2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.1 Chapter Objectives . . . . . . . . . . . . . . . . . 25
2.1.2 Chapter Overview . . . . . . . . . . . . . . . . . . 26
2.2 Optimal Strategy of P2 . . . . . . . . . . . . . . . . . . . 27
2.3 Optimal Strategy of P1 . . . . . . . . . . . . . . . . . . . 32
2.3.1 An Important Lemma . . . . . . . . . . . . . . . 32

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

3 Two Round Voronoi Game on a Line 45


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.1.1 Chapter Objectives . . . . . . . . . . . . . . . . . 46
3.1.2 Chapter Overview . . . . . . . . . . . . . . . . . . 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

4 Last Round Voronoi Game on R2 60


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.1.1 Chapter Objectives . . . . . . . . . . . . . . . . . 61
4.1.2 Chapter Overview . . . . . . . . . . . . . . . . . . 62
4.2 Understanding the Optimal Strategy of P1 . . . . . . . . 63
4.3 Optimal Placement of facility by P2 . . . . . . . . . . . . 64
4.3.1 Optimal Placement of Facility by P2 under L1
Metric . . . . . . . . . . . . . . . . . . . . . . . . 64
4.3.2 Optimal Placement of facility by P2 under L2
Metric . . . . . . . . . . . . . . . . . . . . . . . . 65
4.4 Optimal Placement of facility by P1 under L1 metric . . 66
4.5 Optimal Placement of facility by P1 in Euclidean metric 70

5 Discrete Voronoi Game on a Simple Polygon 80


5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.1.1 Chapter Objectives . . . . . . . . . . . . . . . . . 80
5.1.2 Chapter Overview . . . . . . . . . . . . . . . . . . 82
5.2 Computing an Optimal Placement for P2 . . . . . . . . . 82
5.3 Computing an Optimal Placement for P1 . . . . . . . . . 88
5.3.1 The boundary case . . . . . . . . . . . . . . . . . 88
5.3.2 The interior case . . . . . . . . . . . . . . . . . . 90

6 Voronoi Game on Graphs 94


6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.1.1 Chapter Objectives . . . . . . . . . . . . . . . . . 94
6.1.2 Chapter Overview . . . . . . . . . . . . . . . . . . 96
6.2 Bound on Optimal Payoff of P1 on Trees . . . . . . . . . 97
6.3 Characterization of Optimal Facility Locations of P2 on
Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.4 Optimal Facility Locations of P2 on Trees . . . . . . . . 106
6.5 Computational Complexity for Graphs . . . . . . . . . . 114
6.6 Approximation Bound for Optimal Payoff of P2 on Graphs117

7 Conclusion and Directions for Future Research 120

References 123

iv
Author List

The following authors contributed to Chapter 2: Bhaswar B. Bhat-


tacharya and Sandip Das.
The following authors contributed to Chapter 3: Bhaswar B. Bhat-
tacharya, Sandip Das and Sreeja Das.
The following authors contributed to Chapter 4: Bhaswar B. Bhat-
tacharya, Sandip Das and Satyaki Mukherjee.
The following authors contributed to Chapter 5: Sandip Das, Anil
Maheshwari and Michiel Smid.
The following authors contributed to Chapter 6: Sayan Bandyapad-
hyay, Sandip Das and Hirak Sarkar.

v
Listing of figures

1.1.1 Snapshot of the original paper by Hotelling [Hot29] . . . 4


1.2.1 Voronoi Game in R2 . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Classification of Voronoi Game . . . . . . . . . . . . . . 11
1.2.3 Set of points with maximum Half-space depth . . . . . . 12
1.2.4 Maximum Depth region of a set of circles . . . . . . . . . 13
1.3.1 Discrete Voronoi Game on a Line . . . . . . . . . . . . . 17
1.3.2 Two Round Discrete Voronoi Game on a Line . . . . . . 19
1.3.3 Discrete Voronoi Game on R2 . . . . . . . . . . . . . . . 19
1.3.4 Discrete Voronoi Game on a Polygon . . . . . . . . . . . 21
1.3.5 Voronoi Game on Graph . . . . . . . . . . . . . . . . . . 23

2.2.1 An instance of the One-Round (m, n) Discrete Voronoi


Game where P2 loses . . . . . . . . . . . . . . . . . . . . 30
2.3.1 Illustration for the proof of Lemma 2.3.1: (a) Case 1,
and (b) Case 2. . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.2 Illustration for the proof of Lemma 2.3.2. . . . . . . . . . 36

3.2.1 Placement by P2 in different situations to ensure payoff


equals to n/2 . . . . . . . . . . . . . . . . . . . . . . . . 47
3.3.1 Illustration of Lemma 3.3.2 . . . . . . . . . . . . . . . . . 51
3.4.1 Domain of f2 for three functions ψ1 , ψ2 and ψ3 . . . . . . 52
3.4.2 Discrete jumps of the functions ψ1 , ψ2 and ψ3 . . . . . . 53

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

4.2.1 Distribution of users among facilities F and S . . . . . . 63


4.3.1 (a) Span of a user ui , and (b)Arrangement of the regions
A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3.2 Optimal placement by P2 under L2 Metric . . . . . . . . 66
4.4.1 Distribution of users among the facilities F and S . . . . 67
4.4.2 Set of points f for which Ai (f ) ∩ Aj (f ) = ∅ . . . . . . . 68
4.4.3 Set of points f for which Ai (f ) ∩ Aj (f ) = ∅ . . . . . . . 69
4.5.1 Arrangement of the set of circles CF S . . . . . . . . . . . 70
4.5.2 Illustrating the notion of effective depth. . . . . . . . . . 71
4.5.3 Illustration of the proof of the Lemma 4.5 . . . . . . . . 75
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
4.5.5 ∂(X) when intersection of none of the two circle is sin-
gleton but Ci (p) ∩ Cj (p) ∩ C is a singleton set. . . . . . . 78
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 . . . . . . . . . . . . . . . . . . . . . . . . . 78

5.2.1 Span of the user ui . . . . . . . . . . . . . . . . . . . . . 83


5.2.2 Illustration of the proof of Lemma 5.2.1 . . . . . . . . . . 84
5.2.3 Arrangement of the regions {Z1 , Z2 , . . . Zn } . . . . . . . . 86
5.3.1 (a) Placements for which P 1 gets no users . . . . . . . . 89
5.3.2 Illustration of the proof of Observation 5.3.3 . . . . . . . 90

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

6.1.1 Service zone of f2 . . . . . . . . . . . . . . . . . . . . . . 95


6.2.1 Example of partition of a tree: (a) Original Tree T and
(b) Partitions of T . . . . . . . . . . . . . . . . . . . . . . 97
6.3.1 Example of facilities placed by P1 and P2 . . . . . . . . 100
6.3.2 Figure showing two cases for the proof of Observation
6.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.3.3 Positions of s, ps and fl . . . . . . . . . . . . . . . . . . 102
6.3.4 Example of facilities placed by P1 and P2 . . . . . . . . 103
6.3.5 Positions of s̊, pl and pr . . . . . . . . . . . . . . . . . . 103
6.4.1 Example tree and partitions with respect to {f1 , f2 }. . . 106
6.4.2 Independence of Tijµ and Tijν . . . . . . . . . . . . . . . . 110
6.4.3 Farthest facility sf from vr . . . . . . . . . . . . . . . . . 112
6.4.4 Closest facility of P2 from vi is at vc . . . . . . . . . . . 113
6.5.1 Construction of G0 from an example graph G. . . . . . . 115
6.5.2 Formation of S 0 from S in proof of Theorem 6.5.1 . . . . 116
6.6.1 Service zone of s . . . . . . . . . . . . . . . . . . . . . . 118

viii
To my father.

ix
Acknowledgments

I’m a success today because I had a friend who believed in


me and I didn’t have the heart to let him down.
Abraham Lincoln
First and foremost I must acknowledge my thesis supervisor, Prof.
Sandip Das. I started working with him after I took his two classes on
data structure and computational geometry during my Masters, which
got me excited about both these areas, and even caused me to switch en-
tire fields of computer science, from information retrival to theory and
algorithms. Throughout my time as a graduate student he has pro-
vided me with unending guidance in research and a genuine friendship.
But what was perhaps the most important aspect of his advisorship
was my freedom, freedom to work on whatever problems I wanted also
freedom to travel everywhere and work with everyone. The latter was
the essential feature that allowed me to reach where I am now.
I would like to thank Bhaswar Bikram Bhattacharya for not only
introducing me to the exciting area of computational geometry but
also for teaching me how to think and solve problems and how to enjoy
research. I have not learnt from any other source as much as I have
learnt from working with Bhaswar.
A special thanks to Anil Maheshwari and Michiel Smid for all the

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

The objective in a facility location problem is to place a set of facil-


ities amidst a set of users such that certain optimality criteria is sat-
isfied. A classic example of the facility location problem is the famous
Fermat-Weber problem which asks for the placement of a facility which
minimizes the sum of distances from a given set of users. The origin of
the FermatWeber problem is attributed to the great Pierre de Fermat
(1601−1665) who asked Evangelista Torricelli (1608− 1647) to find the
point p that minimizes the sum of the Euclidean distances to three given

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

1.1 Competitive Facility Location

Many classical facility location problems in the literature are based on


the assumption that the market or the demand region is free from any
kind of competition. However this assumption is not valid in several
practical scenarios. In most market dynamics there are multiple com-
petitors (players), who compete against each other with the goal of
maximizing their individual payoffs, that is, to maximize the share of
users they serve.
A competitive facility location problem consists of a set of users (de-
mands), which is either discrete, consisting of finitely many points, or
continuous, that is, a region where every point is considered to be a
user and multiple competing players. Each player places a set of facil-

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]

nal paper by Hotelling [Hot29] which considers the competitive facility


location problem where the users are located uniformly on a line seg-
ment. Later in 1953 this idea was extended to the celebrated circular
city model by Chamberlin [Cha53] and later by Salop [Sal79]. Most of
the initial development in this field was confined within the bound of
the economics community. Among the different models for competitive
games that was proposed the model which is most closely related to
the modern day competitive facility location problems is the Stackel-
berg leadership model. The Stackelberg leadership model [VS10] which
was named after the German economist Heinrich Freiherr von Stackel-
berg for some of his landmark contributions to this topic. The classical
Stackelberg game is composed of two players (duopoly), one leader and
one follower. Initially leader places a set of facilities followed by which
follower places another set of disjoint facilities. For each location of
leader, follower’s reaction function then will assign a location for fol-
lower which is optimal for the follower. Given perfect information, the
leader knows follower’s reaction function and will use it to optimize its
own location.
After the initial outburst from the economists, the operations re-
search community started investigating the computational complexity
of these problems. Most of the games considered in these papers were

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.

1.2 The Voronoi Game

The Voronoi game is a competitive facility location problem where two


players place two disjoint set of facilities in a demand region with ap-
propriate metric defined. 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 demand
a player owns at the end the game is called the payoff of the player.
All the problems we considered in this thesis, there are two competing
players.

1.2.1 Different Aspects of 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.

Underlying Space: The underlying space refers to the set of possible


locations of the users and the facilities. It is a metric space and
the complexity of the problems widely varies with the change
in the underlying space. The most simple space is a line or a
line segment. Most of the Voronoi games, where the underlying
space is line segment can be solved in polynomial time [ACC+ 04,
BBD12]. On the other hand when the underlying space is R2
most of the problems become hard to tackle. Another popular
space is a finite graph equiped with the shortest path metric. But
even in that case finding the optimal strategy for the follower is
N P −hard [TDU11]. For trees there are results that given the
placements of the leader the optimal placement for the follower
can be found in polynomial time. To the best of our knowledge
there are absolutely no polynomial time algorithm known to find
the optimal strategy for the leader. There are variants of Voronoi
games where the authors have considered the underlying space to
be a simple polygon, equipped with the geodesic distance.

User Distribution: Demands or the users can be assumed to be dis-


tributed over the region uniformly or can be assumed to be a
discrete set of points over the underlying space. It is more natu-
ral to describe the set of users as a discrete set of points. Although
in some situations there are too many users to be considered and
their locations are not fixed over the time. In such cases users
are considered to be distributed over a continuous demand region
uniformly. For example in a city map where each citizen is a user
it is wise to consider them to be distributed over the the region
uniformly. On the other hand if the location of the users are

6
known considering a discrete distribution seems reasonable.

The Competition: Two models of competition are generally consid-


ered in the literature of Voronoi game:

(i) Stackelberg Model


(ii) Repeated Stackelberg Model

As we have discussed earlier the classical Stackelberg game is


composed of two players (duopoly), one leader and one follower.
Initially leader places a set of facilities followed by which fol-
lower places another set of disjoint facilities. For each location
of leader, follower’s reaction function then will assign a location
for follower which is optimal for the follower. Given perfect in-
formation, the leader knows follower’s reaction function and will
use it to optimize its own location. On the other hand in the
Repeated Stackelberg Model, leader and the follower places their
facilities sequentially one after the other for a fixed number of
rounds. Other variants like placing more than one facility at each
turn or placing different number of facilities at each turn can be
considered. However as per our knowledge these kinds of models
are not very popular in the literature.

The Metric: The choice of metric on the underlying space is crucial


for the Voronoi game. For example when the underlying space
is R2 most of authors preferred L2 to be the distance measure.
Although some authors considered L1 and L∞ as the metric for
the game. For graphs the obvious metric is the shortest path
distance. When the game is played in a polygonal environment,
geodesic distance is generally considered as the metric.

7
1.2.2 Continuous Voronoi Game

In this section we will present a brief outline of the results on Voronoi


game played in continuous region. Consider a continuous user space
X ⊂ R2 and a set of facilities {f1 , f2 , . . . fn } in X. The Voronoi cell,
or Voronoi region, Rk , associated with the facility fk is the set of all
points in X whose distance to fk is not greater than their distance to
the other facilities fj , for all j 6= k. The Voronoi diagram is simply the
collection of cells Rk for 1 ≤ k ≤ n.
Given the underlying space, two players one leader and one follower
and an integer k, Voronoi game V(U, k) can be described as follows.
Both the players will place k facilities in U . Given the set of facilities
F (First) and S(Second) placed by the leader and the follower respec-
tively, payoff of each player is defined as the area of the union of the
Voronoi regions of all facilities placed by that player. The player which
controls maximum area wins the game. Area distribution among two
players (red and blue) in a square arena is shown in Figure 1.2.1.

Figure 1.2.1: Voronoi Game in R2

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

Figure 1.2.2: Classification of Voronoi Game

1.2.3 Discrete Voronoi Game

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

Figure 1.2.4: Maximum Depth region of a set of circles

Discrete Voronoi game on a line is studied by Banik, Battacharya


and Das [BBD12], where user space is a line and it consists of a set
of n-users U . Following the Stackelberg model, the leader will place
a set of k facilities followed by which the follower will place k = O(1)
facilities. The payoff of each player is defined as the cardinality of the
set of points in U that are closer to a facility owned by the the player
than to every facility owned by it’s competitor. The objective of both
the players is to maximize their respective payoffs. They show that if
the sorted order of points in U along the line is known, then an optimal
strategy of the follower for any given placement of facilities of the leader

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.

1.3 Contributions and Thesis Overview

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

In Chapter 2 we have considered the first variant of discrete Voronoi


game. This game consists of two players one leader(P1) and one fol-
lower(P2) and a set of users U distributed over a line `. Location of the
users is known to each of the player prior to the game starts. Initially
P1 will place a set of k facilities on `, followed by which P2 will place
another set of k on `, where k(= O(1)) is a positive constant. Payoff of
each player is the number of users that are closer to one of the facility
placed by that player than any other facility. An example of the dis-
tribution of users among P1 and P2 is shown in Figure 1.3.1. Observe

u2 u3 u4 u6 P1 u8 u10 P1
u1 P1 P2 u5 u9 ℓ
u7 P2 P2 u11

Figure 1.3.1: Discrete Voronoi Game on a Line

that any placement of k facilities by P1 will divide the line into k + 1


intervals, {I1 , I2 , . . . Ik+1 }. Any placement of facility by P2 in interval
Ij can only serve those users which lie in the interval Ij , users in other
intervals will be unaffected. Further by placing two users in any inter-
val P2 can serve all the users in that interval. We have showed that
maximum number of users bj , that can be served by placing one facility
by P2 in any interval Ij can be found in O(aj ) time where aj be the
total number of users present in the interval Ij . Using this observations
we have proved that the optimal strategy of P2, given any placement
of facilities by P1, can be computed in O(n) time.
As we have discussed earlier for any placement of facilities by P1 we
can find out the payoff vector {(a1 , b1 ), (a2 , b2 ) . . . (ak+1 , bk+1 )}. In order
to find out the optimal strategy by P1 we raised the reverse question,
that is given a payoff vector can we find out a placement which realizes

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.

1.3.2 Two Round Discrete Voronoi Game on a Line

In the previous chapter we have considered a game which follows the


Stackelberg Model. In chapter 3 we will consider a game which fol-
lows the repetitive Stackelberg Model that is two players P1 and P2
will place their k facilities one after the another. We have considered
a restricted version of the game where each player will place two facili-
ties each. Payoff of each player at the end of the game is defined as the
number of users served. Initially we have established some lower bound
on both players payoff and proved that the second player(follower) al-
ways gets at least half of the users, i.e, second player always wins and
this bound is tight. Furthermore, there exists a strategy such that the
first player always gets at least one third of the users irrespective of the
placement of second player. 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 continues(see Figure 4.5.6). In
the subsequent sections we have provided algorithms to find an optimal
strategy for each turn. One thing to note that unlike other games in this
game number of feasible moves are infinite. Hence it is even not clear
that for a k > 2 round game whether there exist an algorithm which
finds the optimal placement in finite time. This is the first nontrivial
step towards that final goal.

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)

Figure 1.3.2: Two Round Discrete Voronoi Game on a Line

1.3.3 Discrete Voronoi Game on R2

Figure 1.3.3: Discrete Voronoi Game on R2

In Chapter 3 we will consider a variant of discrete Voronoi game


on R2 . Discrete Voronoi game on R2 consists of a set of users U and
two players P 1 and P 2. Both the players will sequentially place a
set of facilities on R2 . Each user then assigned to one of the facilities
according to the nearest neighbor rule where the distance measure is

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.

1.3.4 Discrete Voronoi Game on Polygon

Figure 1.3.4: Discrete Voronoi Game on a Polygon

In Chapter 5, we consider the Voronoi game, where the underlying


user space is a simple polygon P with distance measure defined to be the
geodesic (i.e., shortest-path) distance in P . Let U be a set of n points
in P . We consider the points of U to be “users”. We consider a game
with two players P1 and P2. In this game, P1 places a point facility
inside P , after which P2 places another point facility inside P . We say
that a user u ∈ U is served by its nearest facility, where distances are
measured by the geodesic distance in P . Ties will be broken in favor
of the facility placed later. The objective of each player is to maximize
the number of users they serve. We have characterized the optimal
placement by P2 given any placement by P1, f using the concept of
anchor vertex where The anchor vertex of f with respect to any user

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.

1.3.5 Voronoi Game on Graphs

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

Figure 1.3.5: Voronoi Game on Graph

(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

One Round Discrete Voronoi Game


2
on a line

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

2.1.1 Chapter Objectives

The one-round discrete Voronoi game consists of a finite user set U ,


with |U | = n, and two players Player 1 (P1) and Player 2 (P2) each
having k = O(1) facilities. At first, P1 chooses a set F1 of k facilities
following which P2 chooses another set F2 of k facilities, disjoint from
F1 .

Underlying Space Game will be played on a line and each facil-


ity and user will be considered as a point in
R.
User Distribution Users are distributed on R as a discrete set
of points.
The Competition The game will follow Stackelberg Model of
competition, that is leader(P1) will place
a set of k facilities F1 following which fol-
lower(P2) will choose another set F2 of k fa-
cilities, disjoint from F1 .

Table 2.1.1: One Round Discrete Voronoi Game on a Line

The payoff of P2 is defined as the cardinality of the set of points in U


which are closer to a facility owned by P2 than to every facility owned
by P1. The payoff of P1 is the number of users in U minus the payoff
of P2. The objective of both the players is to maximize their respective
payoffs. For any two disjoint sets F and S, with |F | = |S| = k, define

U (F, S) = f ∈S U (f, F ∪ S), and ν(F ) = maxS |U (F, S)|, where the
maximum is taken over all sets S, with |S| = k. Given any placement
F by P1, the quantity ν(F ) = maxS |U (F, S)| is the optimal payoff
of P2. The placement F2 at which the above maximum is attained

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:

One Round Discrete Voronoi Game on a line: Given a set U of n users


and two players P1 and P2 having k facilities each, P1 chooses
a set F1 of k facilities following which P2 chooses a set F2 of k
facilities, disjoint from F1 , such that:

(a) maxS |U (F1 , S)| is attained at S = F2 , where the maximum


is taken over all sets S, with |S| = k;
(b) minF ν(F ) is attained at F = F1 , where the minimum is taken
over all sets F , with |F | = k.

2.1.2 Chapter Overview

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

In this section we give an algorithm for determining the optimal strat-


egy for P2, given any placement by P1. Let U = {u1 , u2 , . . . , un } be a
set of n users placed along a line `. Assume that the sorted order of
the users in U along ` is known. Moreover, let F = {f1 , f2 , . . . , fk } be
the placement by P1 along `. Consider any placement S by P2, with
|S| = k. From the definitions of payoffs of P1 and P2, we can assume
that if minf ∈F |u − f | = mins∈S |u − s|, for some user u ∈ U , then u is
served by the facility in F . In order to find the optimal strategy of P2,
we need to find a set So of k points, disjoint from F , along ` such that
|U (F, S)| is maximized at S = So , where the maximum is taken over all
sets S having |S| = k. Note that we are allowed to place facilities on
the users but the positions of every two different facility points must
be distinct.
Suppose f1 < f2 < . . . < fm is the sorted order of the facilities along
the line `. Define f0 = −M and fk+1 = M , where M is such that
U ∪ F ⊂ [−M, M ]. Note that if P2 places a facility s in the interior of
the interval [fi , fi+1 ], for some i ∈ {0, 1, . . . , m}, then s can serve only
those users in U which lie in the interval (fi , fi+1 ).
We now have the following observation which can be verified easily:

Observation 2.2.1. For every fi ∈ F , P2 can place two new facilities


s and s0 in interior of [fi , fi+1 ], such that U (F, {s, s0 }) = U ∩ (fi , fi+1 ).

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.

This observation implies that by placing two facilities in the inte-


rior of some interval Ji = [fi , fi+1 ], P2 can serve all the users in the

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:

ai : This denotes the number of users in U which lie in the interior of


the interval [fi , fi+1 ]. That is, ai = |U ∩ (fi , fi+1 )|. Note that by
Observation 2.2.1, P2 can place two facilities in Ji such that P2
serves all the ai users in the interior of Ji .

bi : This denotes the maximum number of users P2 can serve by placing


a single new facility in the interior of the interval [fi , fi+1 ]. Note
that b0 = a0 and bk = ak . For i ∈ {1, 2, . . . , k − 1}, bi is the
maximum number of users in Ji that can be covered by an open
interval of length |Ji |/2. If the users in U are assumed to be sorted
then this can be determined in O(ai ) time by a simple linear scan.

Let A = {ai |i ∈ {0, 1, . . . , k}} and B = {bi |i ∈ {0, 1, . . . , k}}. For


i ∈ {0, 1, . . . , k} let ci = ai − bi .

Observation 2.2.2. bi ≥ ci for every i ∈ {0, 1, 2, . . . , k}.

Proof. For i = 0 or i = k, c0 = ck = 0, and the result is immediate.


Therefore, suppose i ∈ {1, 2, . . . , k − 1}. Note that since ai = bi +
ci , to prove the above observation it suffices to show that bi ≥ ai /2.
Observe that either |U ∩ (fi , fi +f2 i+1 ]| ≥ ai /2 or |U ∩ [ fi +f2 i+1 , fi+1 )| ≥
ai /2. Without loss of generality assume that |U ∩ (fi , fi +f2 i+1 ]| ≥ ai /2.
Let u be the user in [fi , fi+1 ] nearest to fi . If P2 places a facility at
s0 = fi +u
2
, then the number of users served by s0 is clearly greater than
or equal to ai /2. Now, since bi is the maximum number of users P2 can
acquire from the interval [fi , fi+1 ] by placing a single facility, it follows
that bi ≥ ai /2, and the result follows.

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:

Theorem 2.2.1. The optimal placement by P2 in the One Round Dis-


crete Voronoi Game on a line, given any placement by P1, can be ob-
tained in O(n) time, when the sorted order of the users along the line
is known.

Let f1 , f2 , . . . , fk be any placement of P1, in the sorted order along


the line `. Let U denote the set of n users on `. As these k facilities

may coincide with some of the users, we have ki=0 ai ≥ n − k. Note
that P2 can always serve bi users in the interval Ji by placing a single
facility. Let s1 , s2 , . . . , sk−1 be facilities placed by P2, such that si ∈ Ji
and si serves bi users in Ji , for i ∈ {1, 2, . . . , k − 1}. Now, without
loss of generality, assume that b0 ≥ bk . Therefore, by placing one
more facility s∗ just to the left of f1 , P2 can serve b0 of U . Hence,

in the placement S = {s∗ , s1 , s2 , . . . , sk−1 } P2 serves a total of k−1 i=0 bi
users. From Observation 2.2.2, we know that for i ∈ {1, 2, . . . , k − 1}

29

bi ≥ ai /2. Moreover, b0 ≥ b0 +bk
= a0 +a k
which implies that ki=0 bi ≥
∑k−1 2 2

i=0 ai /2 = (n−k)/2. This shows that irrespective of the arrangement


of the users and the placement of P1, at least (n−k)/2 users can always
be served by P2.
Using this fact we shall now construct an arrangement of users on `
such that P1 wins the One Round Discrete Voronoi Game on a line on `.

Remark 1: Suppose that δ = n/k is an odd-positive integer. Consider


an arrangement of set of users Uo along ` as follows. Let A1 , A2 , . . . , Aδ
is a partition of Uo such that Ai is on the left of Ai+1 for all 1 ≤ i < k.
Cardinality of each subset Ai is δ. Let the diameter of all subset Ai
are same and equal to d. For any 1 ≤ i < k, gap between rightmost
point of Ai and left most point of Ai+1 is 2d (refer to Figure 2.2.1).
Consider the One Round Discrete Voronoi Game on ` with user set
Uo . If f1 , f2 , . . . , fk is a placement of P1, with fi in the median of Ai
as shown in Figure 2.2.1, then P2 can serve at most (k − 1)/2 many
users from each of the set Ai . Hence, P2 can serve at most (n − k)/2
users in total, and this is attained by P2 by placing the facility si just
to the right of fi , for i ∈ {1, 2, . . . , k}. This shows that there is an
arrangement of users along ` for which, given the optimal placement of
P1, at most (n − k)/2 users can be served by P2, that is, P2 loses the
game.

d}|
s2
z {
s1 s3
| {z } | {z }

f1 2d f2 2d f3
A1 A2 A3

Figure 2.2.1: An instance of the One-Round (m, n) Discrete Voronoi Game


where P2 loses

There are however instances where P2 wins the game. An example


of such an arrangement is given as follows:

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

whenever k ≥ 2 and n > 4k(k+1)


k−1
. Therefore, for k ≥ 2 and sufficiently
large values of n, P2 wins the One Round Discrete Voronoi Game on a
line with user set Uo .

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.

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

2.3.1 An Important Lemma

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.

Lemma 2.3.1. Let δ be any fixed positive integer, and x1 ∈ ` be such


that a([x1 , M ]) > δ. Then there exists a point x2 ∈ ` such that x2 > x1

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

Ji = [uκ(i) , uκ(i)+δ ], where |uκ(i)+δ − uκ(i) | = min |uj+δ − uj |.


x1 ≤uj ≤ui
uj+δ ≤un

Note that each Ji contains δ +1 users in U . Let di = x1 +2|Ji |. Observe


that for all i such that ui−1 > x1 we have,

|Ji | = |uκ(i)+δ − uκ(i) | = min |uj+δ − uj |


x1 ≤uj ≤ui
uj+δ ≤un

≤ min |uj+δ − uj |
x1 ≤uj ≤ui−1
uj+δ ≤un

= |uκ(i−1)+δ − uκ(i−1) | = |Ji−1 |,

which implies that di ≤ di−1 .


Suppose ua > x1 be any user in U and z ≥ max{ua+δ , da }. Now we
claim the following.
Claim: b([x1 , z]) ≥ δ.
We know from the definition of da that there exist some user uq ∈
[x1 , ua ] such that da = x1 + 2|uq+δ − uq |. Therefore, [uq , uq+δ ] ⊂ [x1 , z].
Then there exists ε > 0 such that either uq+δ + ε < z or uq − ε >
x1 . Depending upon the situation, define J = (uq + ε, uq+δ + ε) or
J = (uq − ε, uq+δ − ε), respectively. In either case, J ⊂ [x1 , z] and
|J| = |uq+δ − uq | = (da − x1 )/2 ≤ (z − x1 )/2. As J contains δ users, this
implies that for all points z ≥ max{ua+δ , da }, b([x1 , z]) ≥ δ, whenever
ua > x1 .
Now, the following two different cases may arise:

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.

ur ur+δ uj0+δ u j0 uj0+δ


x1 ℓ x1 ℓ
Jr dr d j0 dr

(a) (b)

Figure 2.3.1: Illustration for the proof of Lemma 2.3.1: (a) Case 1, and (b)
Case 2.

Case 1.1: dr < ujo +δ (refer to Fig. 2.3.1(a)). We know that


b([x1 , dr ]) ≥ δ. Observe that for all x > dr , there exists an
ε > 0 such that the open interval (ur − ε, ur+δ + ε) contains
δ + 1 users in U , and |ur+δ − ur + 2ε| ≤ |x − x1 |/2. This
implies that b([x1 , x]) ≥ δ + 1, for x > dr . Suppose, if
possible, b([x1 , dr ]) > δ. This means that there exist an
open interval G ⊂ [x1 , dr ] such that |G ∩ U | ≥ δ + 1 and
|G| ≤ |dr −x1 |/2. Hence, there exists a closed interval H ⊂ G
contained in [x1 , dr ] containing δ + 1 points of U , with |H| <
|G| ≤ |dr − x1 |/2. This closed interval H contradicts the
minimality of the interval Jr . This proves that b([x1 , dr ]) = δ
and b([x1 , x]) ≥ δ + 1, for all x > dr , implying that in this
case x1 (δ) = dr .
Case 1.2: dr ≥ ujo +δ (refer to Fig. 2.3.1(b)). We know that
b([x1 , ujo +δ ]) ≥ δ and b([x1 , x]) ≥ δ + 1, for all x > ujo +δ .
Suppose, if possible, b([x1 , ujo +δ ]) > δ. This means that

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

Note that in order to find x1 (δ) in this case we need to check


up to ujo +δ . As di can be determined in constant time, given
di−1 , we can compute x1 (δ) in time O(a([x1 , ujo +δ ])). If ujo +δ ≤
dr , then x1 (δ) = ujo +δ and the complexity result is immediate.
Now, suppose ujo +δ > dr . In this case x1 (δ) = dr . However,
as r ≤ jo − 1, dr ≥ djo −1 and by the minimality of jo we have
dr ≥ djo −1 ≥ ujo +δ−1 . Therefore, a([x1 , ujo +δ ]) < a([x1 , dr ]) + 1,
and so x1 (δ) can be determined in O(a([x, x1 (δ)])) time.

Case 2: For all ui ≥ x1 , di ≥ ui+δ . This implies that dn = dn−δ ≥ un


and the minimum length closed interval containing δ + 1 users
is [uκ(n) , uκ(n)+δ ]. Therefore, from arguments exactly similar to
those in the previous case we get x1 (δ) = dn .

2.3.2 A Characterization of the Optimal Placement by


P1

In this section we propose a simple characterization for the optimal


placement by P1. Using this and Lemma 2.3.1, we then propose an
algorithm for determining the optimal placement by P1.

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)

Figure 2.3.2: Illustration for the proof of Lemma 2.3.2.

Proof. Note that there always exists an optimal placement F = {f1 , f2 ,


. . . , fk } by P1 such that [fi , fi+1 ] ∩ U 6= ∅. We start with any such
optimal solution F .
Suppose f1 ∈ (uj−1 , uj ), for some j ∈ {2, 3, . . . , n}. Then F \{f1 } ∪
{uj } is also a placement by P1 such that ν(F ) = ν(F \{f1 } ∪ {uj }).
Therefore, define f10 = uj ∈ U .
Let i ∈ {2, 3, . . . , k} be the smallest index i ≥ 2 such that fi ∈ F
does not belong to U and not equal fi−1 (δ), for all 0 ≤ δ ≤ a([fi−1 , un ]).
Thus, let u(fi ) be the user in the interval [fi , fi+1 ] which is closest to the
facility fi . Assume that b([fi−1 , fi ]) = δ. Note that since [fi , fi−1 (δ)]
is the maximum length such that b([fi , fi−1 (δ)]) = δ, it follows that
fi−1 (δ) > fi . Define fi0 be u(fi ) or fi−1 (δ), depending on whichever is
closer to the point fi (see Figure 2.3.2).
Now, observe b([fi−1 , fi ]) = b([fi−1 , fi0 ]) = δ and a([fi−1 , fi ]) =
a([fi−1 , fi0 ]). Moreover, as [fi0 , fi+1 ] ⊂ [fi , fi+1 ] we have

b([fi0 , fi+1 ]) ≤ b([fi , fi+1 ]) and a([fi0 , fi+1 ]) ≤ a([fi , fi+1 ]).

From the strategy of P2 described in Section 2.2, it can now be easily


shown that that ν(F \{fi } ∪ {fi0 }) ≤ ν(F ). From the optimality of F ,
it follows that ν(F \{fi } ∪ {fi0 }) = ν(F ).

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:

Theorem 2.3.1. The optimal placement by P1 in the one round dis-


crete Voronoi game can be obtained in O(nk+1 ) time.

Proof. From Lemma 2.3.2, it can be concluded that the number of


possible placements by P1 that needs to be checked for finding the
optimal placement is O(nk ). From Lemma 2.3.1, we know that for
each such placement F = {f1 , f2 , . . . , fk }, fi (δ) can be computed in
a([fi , fi (δ)]) time. Hence, every placement by P1 that needs to be
checked can be obtained in O(n) time. Given a placement by P1, the
optimal placement by P2 can be obtained in O(n) time (from Theorem
2.2.1). Therefore, the placement by P1 that minimizes the payoff of P2
can be obtained in O(nk+1 ) time.

2.4 Improving the Algorithm for the Optimal


Strategy of P1

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

P = ((b1 , c1 ), (b2 , c2 ), . . . , (bk+1 , ck+1 ))0 = ((bi , ci ))1≤i≤k+1 ,



where bi , ci are non-negative integers with k+1
i=1 bi + ci = O(n). With
this notation, we have the following definition:

Definition 2.4.1. An (m+1)×1 vector of order pairs P = ((bi , ci ))1≤i≤k+1 ,


is said to be feasible if there exists a placement F = {f1 , f2 , . . . , fk } of
facilities on the line ` such that

(i) b1 ≥ b([−M, f1 ]), bk+1 ≥ b([fk , M ]), and bi ≥ b([fi−1 , fi ]), for 2 ≤
i ≤ k − 1,

(ii) b1 + c1 ≥ a([−M, f1 ]), bk+1 + cm+1 ≥ a([fk , M ]), and bi + ci ≥


a([fi−1 , fi ]), for 2 ≤ i ≤ k − 1.

The placement F of facilities on the line ` is said to satisfy the vector


P . A vector of ordered pairs is said to be infeasible if it is not feasible.

Interpreting this in terms of the game, a vector P = ((bi , ci ))1≤i≤k+1


is feasible if there exist a placement F = {f1 , f2 , . . . , fk } by P1 such

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:

Observation 2.4.1. If the vector P = ((bi , ci ))1≤i≤k+1 is infeasible then


the vector Q = ((βi , γi ))1≤i≤k+1 is also infeasible, whenever βi ≤ bi and
γi ≤ ci for all 1 ≤ i ≤ k + 1.

Lemma 2.4.1. The feasibility of any vector of ordered pairs P =


((bi , ci ))1≤i≤k+1 can be determined in O(n) time. Moreover, if P is
feasible, then a placement F = {f1 , f2 , . . . , fm } of facilities on the line
` that satisfies P can also be obtained in O(n) time.

Proof. Define f1 = ub1 +1 . For any i ≥ 2, define fi0 ∈ U to be such that


a([fi−1 , fi0 ]) = bi + ci , and fi00 = fi−1 (bi ). For all 2 ≤ i ≤ m + 1 define fi
0 00
to be fi−1 or fi−1 depending on whichever is closer to fi−1 . If for some
1 ≤ i ≤ m + 1, fi is not well defined, then we define fi = M . Denote
F = {f1 , f2 , . . . fk }. Given fi−1 it takes constant time to determine fi0 .
From Lemma 2.3.1 we know that it is possible to find fi00 = fi−1 (bi )
in O(a([fi−1 , fi00 ])) time. Therefore, the set F can be constructed in
∑ ∑
O( ki=2 a([fi−1 , fi00 ])) = O( ki=2 bi ) = O(n) time.
Note that if a([fk , M ]) ≤ bk + ck , then by the construction F satisfies
P and it is feasible.
Next, we claim that if a([fk , M ]) > bk + ck , then P is infeasible. If
possible, suppose P is feasible and assume F̃ = {f˜1 , f˜2 , . . . f˜m } satisfies
P . This implies that a([f˜k , M ]) ≤ bk + ck . Hence, |M − f˜k | < |M − fk |.
This implies that f˜k > fk . Let j be the smallest index such that
f˜j > fj . Note that f˜1 ≤ f1 = ub1 +1 . Define f0 = f˜0 = −M and fk+1 =
f˜k+1 = M . Then f˜j−1 ≤ fj−1 , which implies that [fj−1 , fj ] ⊂ [f˜j−1 , f˜j ].
0
Now we know that fj is either of the form fj−1 ∈ U or of the form
00 00
fj−1 = fj−1 (bj ). We consider these two cases separately:

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 .

Hence, we have proved that in linear time it is possible to determine


whether a vector of order pairs P is feasible or not.

Let F = {f1 , f2 , . . . , fk } be any placement by P1. As before, let P F


be the payoff vector and define multisets BF = {b([−M, f1 ]), b([f1 , f2 ])
, . . . , b([fk , M ])}, and CF = {c([−M, f1 ]), c([f1 , f2 ]), . . . , c([fk , M ])}. Clearly,
F satisfies P F and so P F is feasible. Define ν1 (F ), ν2 (F ), . . . , νk (F ) as
follows:

ν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)

Let R F be the vector of ordered pairs obtained from P F by replacing


all elements of (BF ∪ CF )\{ν1 (F ), ν2 (F ), . . . , νk−1 (F ), νm (F )} by the
element νk (F ). Then by the definition of feasibility, R F is feasible.
Moreover, if F 0 satisfies R F , then the optimal payoff of P2 given P1 has

placed at F 0 is ν(F 0 ) ≤ ki=1 νi (F ).
For non-negative integers i1 ≥ i2 ≥ . . . ≥ ik , let A(i1 , i2 , . . . , ik ) be
the multiset of 2k + 2 elements where each iδ is repeated once, for
1 ≤ δ ≤ m − 1, and ik is repeated k + 3 times. Define S(i1 , i2 , . . . , ik )
to be the class of sub-multisets of A(i1 , i2 , . . . , ik ) × A(i1 , i2 , . . . , ik ) of
cardinality k + 1. Every element of S(i1 , i2 , . . . , ik ) being a multiset
of order k + 1 can be considered as an (k + 1) × 1 vector of ordered

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:

Lemma 2.4.2. Suppose M (i1 , i2 , . . . , ik ) is the minimum weight feasi-


ble class. If P ∈ M (i1 , i2 , . . . , iδ ) is feasible and F satisfies P , then F
is an optimal placement by P1.

Proof. If possible, suppose F is not optimal. Then there exits some



other placement F 0 by P1, with ν(F 0 ) = ki=1 νi (F 0 ) < ν(F ). Then
from the discussions preceding the lemma, the class M (ν1 (F 0 ), ν2 (F 0 ),
. . . , νk (F 0 )) is feasible. This contradicts the minimality of the weight of
∑ ∑
the class M (i1 , i2 , . . . , ik ), as ki=1 νi (F 0 ) = ν(F 0 ) < ν(F ) ≤ kδ=1 iδ .

Note that as the number of elements in any class M (i1 , i2 , . . . , ik ),


depends only on k, from Lemma 2.4.1 we can determine whether a
class M (i1 , i2 , . . . , ik ) is feasible or not in O(n) time. Therefore, to
obtain the optimal placement by P1, it suffices to find the minimum
feasible class M (i1 , i2 , . . . , ik ).

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.

2.4.1 A Restricted Case

Construct the n × n symmetric matrix A = ((aij )) as follows:


{
i + j if the class M (i, j) is feasible
aij =
∞ otherwise
Suppose n = 2p is even. Then it is possible to partition A into 4
sub-matrices A 1 , A 2 , A 3 , A 4 each of which are of order p × p as follows:
( )
A1 A2
A=
A3 A4

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.

In both of the above two cases, one of the 4 submatrices can be


discarded. Applying this technique to the remaining 3 of the 4 sub-
matrices and proceeding recursively, we can find the minimum weight

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.

2.4.2 Extending to the general case

The arguments described in the previous subsection can be extended


to the general case, where each player places k facilities. We construct
the k-dimensional n × n × . . . × n symmetric matrix A = ((ai1 i2 ...im ))
as follows:

{ ∑
k
i=1 iδ if the class M (i1 , i2 , . . . , ik ) is feasible
ai1 i2 ...ik =
∞ otherwise

As before, we can subdivide A into 2k submatrices, and depending


upon whether the class M (dn/2e, dn/2e, . . . , dn/2e) is feasible or not,
one of these submatrices can be discarded at each stage. Let T (n)
denote the time complexity of determining the minimum weight feasible
class in the matrix A . As it takes O(n) time to determine whether
a class M (i1 , i2 , . . . , ik ) is feasible or not, T (n) satisfies the following
recurrence equation: T (n) = (2k − 1)T (dn/2e) + O(n). This solves to
T (n) = O(nk−λk ), where λk = k − log2 (2k − 1) ∈ (0, 1) is a constant
that depends only on k. Hence, we have the following theorem:
Theorem 2.4.2. The optimal placement by P1, in the one round dis-
crete voronoi game on a line, with k ≥ 2, can be obtained in O(nk−λk )

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

Two Round Voronoi Game on a


3
Line

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

3.1.1 Chapter Objectives

In the previous chapter we have considered the game on R where ini-


tially P1 places all its facilities followed by which P2 places all its
facilities. In this chapter we will consider another variant of placement
strategy where P1 and P2 places their respective facilities sequentially.
As earlier, the game consists of a set U of n users or demands on a
line ` and two players P 1 and P 2. Both the players will place a set
of k facilities on the line ` sequentially, i.e. initially P 1 will place one
facility followed by which P 2 will place another facility and this will
continue for k rounds. At the end of the game, given the placement of
k facilities F and S by P1 and P2 respectively we define the payoff of
P1, Q1 (F, S) to be equal to | ∪f ∈F U (f, F ∪ S)|. Similarly we define
payoff of P2, Q2 (F, S) to be equal to |U |−Q1 (F, S). Any k round game
will contain 2k many moves.
For example, When k = 2, the optimal placement at fourth move,
given f1 , s1 , f2 is the point which minimizes Q1 ({f1 , f2 }, {s1 , x}) over
all x ∈ `, and optimal placement at third move given f1 , s1 is a point
which maximizes minx∈` Q1 ({f1 , y}, {s1 , x}) over all y ∈ ` and so on.
Observe now when k = 1, optimal placement of P 1 is at the median
of the set of users U . In this chapter, we have considered the first
non-trivial case when k = 2.

3.1.2 Chapter Overview

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.

3.2 Lower Bounds

In this section we will provide some lower bounds on P1 and P2’s


payoffs. But before that let us define for any two points x and y on `,
U (x, y) to be equals to the number of users in the interval [x, y].
Theorem 3.2.1. In the two-round discrete Voronoi game, P 2 always
gets at least n/2 users, i.e, P 2 always wins and this bound is tight.
Furthermore, there exists a strategy such that P 1 always gets at least
n/3 users irrespective of the placement of P 2.

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)

Figure 3.2.1: Placement by P2 in different situations to ensure payoff equals


to n/2

Proof. We first show that there exists a placement strategy for P 2


such that Q2 (F, S) ≥ b n2 c users irrespective of the placement of P 1’s
facilities. Observe that for any placement f1 by P 1 either U (−∞, f1 ) ≤
n/2 or U (f1 , ∞) ≤ n/2. Without loss of generality, we assume that,
U (−∞, f1 ) = k ≤ n/2. Observe that, there exists a placement s1 by
P 2 such that U (f1 , s1 ) = n/2 − 1 and s1 coincides with an user (see
Figure 3.2.1(a)). Now for any placement f2 by P 1 either f2 ∈ (−∞, f1 )
or f2 ∈ (f1 , s1 ) or f2 ∈ (s1 , ∞).

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

Case 2: If f2 ∈ (f1 , s1 ), then by placing at the user next to f1 in


the interval [−∞, f1 ] P2 can guaranty a payoff equals to n/2 (see
Figure 3.2.1(c)).

Case 3: If f2 ∈ (s1 , ∞), 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(d)).
Hence there exist a strategy by which P2 can always guaranty a
payoff greater than equals to n/2. Now, our claim is, if the users in the
set U are uniformly distributed along line `, there exists a strategy by
P 1 for which P 2 cannot get more than n/2 users. P 1 places f1 such
that U (−∞, f1 ) = n/4. Now if s1 places such that U (f1 , s1 ) < n/2, f2
can place in (s1 , ∞) such that U (f2 , ∞) = n/4. Then it can be checked
that even for the optimal placement of s2 , P 2 gets less than n/2 users.
If U (f1 , s1 ) > n/2, f2 places in (f1 , s1 ) such that U (f2 , ∞) = n/4. It
can be verified that, in that case P 2 gets less than n/2 users. And for
|[f1 , s1 ] ∩ U | = n/2, for any placement of f2 , if s2 is placed optimally,
P 2 gets n/2 users. So, for all the cases, P 2 cannot get more than n/2
users.
Now we will prove the second part of the theorem. Note that if
U (−∞, f1 ) = n/3 and U (−∞, s1 ) 6= 2n/3 then f2 must place such that
U (−∞, f2 ) = 2n/3. On the other hand if U (−∞, s1 ) = 2n/3, then f2
places such that U (s1 , f2 ) = 0, i.e., on the (2n/3 + 1)th user. Now, it
can be easily observed that f1 and f2 divides l in three intervals each
of which has length of either n/3 or (n/3 − 1). P 2 can take the users
of at most two intervals by placing 2 facilities. All the users of one of
these 3 intervals will always belong to P 1. So, following this strategy
P 1 will always get at least n/3 users.

48
3.3 Optimal Strategies of P 1 and P 2 while plac-
ing second facilities

In this section, given two placement of facilities f1 and s1 placed by


P1 and P2 respectively, we will provide an strategy to find the optimal
placements by P1 and P2 while placing their second facilities. Initially
we will find an optimal placement for P2 given the placement of facilities
{f1 , f2 } by P1 and {s1 } by P2. That is we want to find an placement
which maximizes Q2 ({f1 , f2 }, {s1 , x}) over all placement of facility x by
P2. Next we will move dipper into the game and given two placement
of facilities f1 and s1 by P1 and P2 we will find a point which minimizes
maxx∈` Q2 ({f1 , y}, {s1 , x}) over all placement of facility y by P1.
Let us begin our discussion with some general results about discrete
Voronoi game in a line segment most of which we have borrowed from
[BBD12]. Any set of facilities placed by two players divides ` into a set
of line segments. Placement of a new facility in one of such intervals
does not affect the users in the other intervals. Now end point of each
such intervals may be of three types, bounded by two facilities placed
by the same player, bounded by two facilities placed by different players
or bounded by one facility. Observe that in later two types of intervals
by placing one facility any player can serve all the users in that interval.
For the other type of interval let us define a notation cov(x, y)(cover)
which will be useful throughout the paper.

Definition 3.3.1. For two facilities fa and fb , by P 1 (resp. P 2) such


that there is no facility in the interval [fa , fb ], cov(fa , fb ) is the maxi-
mum number of users that can be served by a single facility placed by
P 2 (resp. P 1).

Next observation is a direct consequence of the paper [BBD12].

Observation 3.3.1. Given the placement of facilities f1 and f2 such

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.

Now we have the following lemma.

Lemma 3.3.1. The optimal strategy for placing s2 by P 2 can be ob-


tained in O(n) time.

Proof. The optimal placement of s2 in the intervals (−∞, f1 ) and (f1 , s1 )


or (f2 , s1 ) or (s1 , f2 ) can be found in O(1) time. From Observation 1,
the optimal placement of s2 in the interval (f1 , f2 ) or (f2 , f1 ) can be
obtained in O(n) time. Hence the result follows.

Next we will provide an algorithm to find the optimal placement by


P1, while placing the second facility given the placement of facilities f1
and s1 by P1 and P2 respectively. But before that that consider the
following definitions.
For each user ui ∈ U , consider the set of points

Di = {x : x = s1 ± 2|s1 − ui |}

Let D = ∪i≤i≤n Di . Now consider the following lemma.

Lemma 3.3.2. One of the optimal placements by P1 belongs to U ∪ D


while placing the second facility.

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

Figure 3.3.1: Illustration of Lemma 3.3.2

for the placement of facility f2 payoff of P1 is equals to

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

Observe that cardinality of U ∪ D is O(n). Hence by checking each


point we can find out the optimal placement by P1 while placing the
first facility. Hence we have the following theorem.

Theorem 3.3.1. The optimal strategy of P 1 while placing the second


facility can be found in O(n2 ) time.

3.4 Optimal Strategy of P2 while placing the


first facility

In this section we will provide a strategy to find an optimal place-


ment by P2 while placing the first facility, that is, given a place-
ment of facility f1 by P1, we want to find a point which maximizes
miny∈` maxx∈` Q2 ({f1 , y}, {z, x}) over all point z ∈ `.
Now P 2 can place its first facility either in (−∞, f1 ) or (f1 , ∞). Here,
we provide the algorithm where P 2 is restricted to place its first facility,
s1 in the interval (f1 , ∞). Other case can be dealt similarly. Given f1 ,
for any point s1 ∈ ` we can define

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,

ψ(s1 ) = min(ψ1 (s1 ), ψ2 (s1 ), ψ3 (s1 ))

where
ψ1 (s1 ) = min max Q2 ({f1 , f2 }, {s1 , s2 })
f2 ∈[−∞,f1 ] s2 ∈`

ψ2 (z) = min max Q2 ({f1 , f2 }, {s1 , s2 })


f2 ∈[f1 ,s1 ] s2 ∈`

ψ3 (z) = min max Q2 ({f1 , f2 }, {s1 , s2 })


f2 ∈[s1 ,∞] s2 ∈`

In other words ψ1 (s1 ), ψ2 (s1 ) and ψ3 (s1 ) denotes, when first facility of

ψ1 ψ2 ψ3

f1 s1

Figure 3.4.1: Domain of f2 for three functions ψ1 , ψ2 and ψ3

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 `

Figure 3.4.2: Discrete jumps of the functions ψ1 , ψ2 and ψ3

f1 s1
f2 m

Figure 3.4.3: An example placement by P1 and P2

Proof. 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 ] be f2 (see Figure 3.4.3). Let the midpoint of f1 and s1 be m
(see Figure 3.4.3). Now observe that payoff of P1 for such placement
is equals to

U (−∞, m) − max[U (−∞, f2 ), cov(f2 , f1 ), U (f1 , m)]

Now if we start moving s1 towards f1 each of the parameters, U (−∞, m),


U (−∞, f2 ), cov(f2 , f1 ) and U (f1 , m) remains fixed unless the midpoint
of f1 and s1 reaches an user. Hence the set of event points must be a
subset of the set of points,

A1 = {x|x = f1 + 2|ui − f1 |, where uj ∈ U }

Now the cardinality of A1 in linear and can be found in O(n) time.


Hence the lemma follows.

In the previous section we have defined cov(x, y) for any two points

53
on `. Now let us define the following.

Definition 3.4.1. For some positive integer k and x ∈ `, g(x, k) ∈ ` be


the maximum point such that cov(x, g(x, k)]) = k, if such a point exists.
We also define, h(x, k) to be minimum point such that cov(h(x, k), x) =
k.

Now we have the following lemma,

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)

Figure 3.4.4: An example placement by P1 and P2

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

U (−∞, (f2 + s1 )/2) − max[U (−∞, f1 ), cov(f1 , f2 ), U (f2 , (f2 + s1 )/2)]

Let cov(f1 , f2 ) = k. With out loss of generality we can assume that f2


coincides with g(f1 , k). Now if we start moving s1 towards f2 each of
the parameters, U (−∞, (f2 + s1 )/2), U (−∞, f1 ), cov(f1 , f2 ), U (f2 , (f2 +
s1 )/2) remains fixed unless one of the two cases happens either (f2 +
s1 )/2 coincides with an user or s1 coincides with an user. In the first
case s1 belongs to the st of points,

A2 = {x : x = uj + |uj − g(f1 , i)| where uj ∈ U and 1 ≤ i ≤ n}

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

Figure 3.4.5: An example placement by P1 and P2

Lemma 3.4.3. There are O(n2 ) number of event points in ψ3 which


can be computed in O(n2 ) time.
Proof. Given the placement of facility f1 by P1 let s1 be any placement
of facility by P2. Corresponding to f1 and s1 let the optimal placement
by P1 in the interval [s1 , ∞] be f2 . From the previous section we know
that as f2 ∈ [s1 , ∞] we can assume that f2 coincides with an user. Let
the midpoint of f1 and s1 be m1 and the midpoint of s1 and f2 be m2
(see Figure 3.4.5). Now observe that for the placement f2 the optimal
payoff of P1 is equals to

[U (−∞, m1 )+U (m2 , −∞)]−[max{U (−∞, f1 ), U (f1 , m1 ), U (m2 , f2 ), U (f2 , ∞)}]

Now if we start moving s1 towards f1 observe that none of the param-


eters changes until midpoint of f1 and s1 or the midpoint of s1 and f2
coincides with an user. In the first case s1 belongs to the set of points

A3 = {x : x = uj + |uj − f1 | where uj ∈ U }

and in the second case s1 belongs to the set

B3 = {x : x = ui − |uj − ui | where ui , uj ∈ U and i 6= j}

Now the cardinality of A3 is O(n) and the cardinality of B3 is bounded


by O(n2 ). Hence the total number of event points are bounded by
O(n2 ) and can be found by O(n2 ) time. Hence the lemma follows.

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}

Lemma 3.4.4. Given two placement of facilities f1 and s1 by P1 and


P2 respectively and the set of points G(f1 ) in sorted order, we can find
the optimal payoff of P2 that is minf2 ∈` maxs2 ∈` Q2 ({f1 , f2 }, {s1 , s2 }) in
O(n) time.

Theorem 3.4.1. The optimal placement of the first facility of P 2, s1


can be found in O(n3 ) time.

Proof.

3.5 Optimal Strategy of P1 while placing the


first facility

In this section we will provide an strategy to find an optimal placement


of first facility by P1. As earlier for any placement of facility x by P1,
we can define the optimal payoff of P1 to be equals to

ρ(x) = max min max Q2 ({x, f2 }, {s1 , s2 })


s1 ∈` f2 ∈` s2 ∈`

Observe that ρ can take n-many value and in discrete points in `, ρ


jumps from one value to the other. We will call such points event
points. Observe that for any placement of facility x by P1, P2 can

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

ρ(x) = max min max Q2 ({x, f2 }, {s1 , s2 })


s1 ∈(x,∞) f2 ∈` s2 ∈`

Now we can write ρ(x) = max(ρ1 (x), ρ1 (x), ρ1 (x)) where

ρ1 (x) = max min max Q2 ({x, f2 }, {s1 , s2 })


s1 ∈(x,∞) f2 ∈(−∞,x) s2 ∈`

ρ2 (x) = max min max Q2 ({x, f2 }, {s1 , s2 })


s1 ∈(x,∞) f2 ∈(x,s1 ) s2 ∈`

ρ1 (x) = max min max Q2 ({x, f2 }, {s1 , s2 })


s1 ∈(x,∞) f2 ∈(s1 ,∞) s2 ∈`

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

Figure 3.5.1: Configuration corresponding to ρ1

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

We will shift f1 , s1 and f2 keeping all the parameters of ρ1 fixed. Ob-


serve that from previous sections discussion we can assume that f2
coincides with an user. Now if we start moving f1 towards s1 , then one
of the three things might happen

Case (i) f1 coincides with an user, hence we have reached an event


point which coincides with an user.

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

Figure 3.5.2: Configuration corresponding to ρ1

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

Figure 3.5.3: Configuration corresponding to ρ2

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.

Theorem 3.5.1. The optimal placement of the first facility of P 1, f1


can be found in O(n5 ) time.

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

Last Round Voronoi Game on R2


4
Contents
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . 61
4.2 Understanding the Optimal Strategy of P1 . . . . 63
4.3 Optimal Placement of facility by P2 . . . . . . . . 64
4.4 Optimal Placement of facility by P1 under L1 metric 66
4.5 Optimal Placement of facility by P1 in Euclidean
metric . . . . . . . . . . . . . . . . . . . . . . . . . 70

60
4.1 Introduction

4.1.1 Chapter Objectives

In this chapter we consider a simplified variant of the discrete Voronoi


game in a two dimensional space, which is also of independent interest
in competitive facility location. As usual the game consists of two
players P1(leader) and P2(follower) and a finite set U of users in the
plane. Moreover, the two players have already placed a set of facilities
F and S, respectively in the plane. The game begins by P1 placing a
new facility followed by P2 placing another facility. The objective of
both the players is to maximize their respective payoffs.
For any placement of facilities A and B by P1 and P2, respectively the
payoff of P2, P2 (A, B) is defined as the cardinality of the set of points
in U which are closer to a facility owned by P2 than to every facility

owned by P1, that is, P2 (A, B) = | f ∈B U (f, A ∪ B)|. Similarly, the

payoff of P1, P1 (A, B) is | f ∈A U (f, A ∪ B)|, |U \P2 (A, B)|. Now, the
One Round Discrete Voronoi Game in R2 in Presence of Existing Facilities
and can be formally stated as follows:

One Round Discrete Voronoi Game in R2 in Presence of Existing Facilities:


Given a set U of n users, two sets of facilities F and S owned by
two competing players P1 and P2, respectively, at first P1 chooses
a facility f1 following which P2 chooses another facility f2 such
that

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

The quantity ν(f1 ) is called the optimal payoff of P1 and f1 is the


optimal strategy of P1.

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.

4.1.2 Chapter Overview

In the next section we will characterize the optimal placement by P1


and fix out notations. In section 4.3 we will provide the algorithms
to find the optimal strategy for P2 under L1 metric and L2 metric
respectively. In section 4.4 we will provide an algorithm to find the
optimal placement by P1 under L1 metric. In the rest of the sections
we will concentrate on finding an optimal placement by P1 under L2
metric.

62
4.2 Understanding the Optimal Strategy of P1

We are given a set U of n users, two sets of facilities F and S owned


by two competing players P1 and P2 respectively. Observe that the set
of facilities F and S, will divide the set of users U into two groups UF
and US where UF is the set of users served by the facilities placed by
P1 and US is the set of users served by the facilities placed by P2. Let
f be any new placement by P1. Denote by UF S (f ), the set of users
that are served by f that is,

UF S (f ) = {ui |d(ui , f ) < d(ui , f 0 ), ∀f 0 ∈ F ∪ S)}.

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)

Figure 4.2.1: Distribution of users among facilities F and S

disjoint sets UF S (f ), UF \f and US\f (see Figure 4.2.1(a)). Now any


new placement s by P2 can serve a subset of users from all these three
sets. Uf (s) ⊂ UF S (f ) be the set of users such that for all ui ∈ Uf (s),

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

P2 (F ∪ {f }, S ∪ {s}) = |US\f | + |Uf (s)| + |UF \f (s)|

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 .

4.3 Optimal Placement of facility by P2

Suppose we are given a set of users U , existing facilities F and S, and


any placement of a new facility f by P1. We want to find the optimal
placement by P2. In the following section we will provide an algorithm
to find the optimal placement by P2 under L1 metric, which we modify
in the next section in order to find an optimal placement of P2 under
L2 metric.

4.3.1 Optimal Placement of Facility by P2 under L1 Met-


ric

Let ui be any user in UF S (f ) ∪ UF \f . Consider the set of points Ai ,


at distance at most d1 (ui , fj ) from ui where fj be the facility closest
to ui among the set of facilities F ∪ {f }. Observe that Ai is a square
centered at ui with diagonals coincides with X-axis and Y -axis and one
of the sides touching fj (see Figure 4.3.1(a)) technically we should say
that the region bounded by the square.
Observe any new placement by P2 will serve the user ui if and only

64
s3
f1 s3
f1
ui

f2 f
f2 f s1
s1
s2
f3
s2
f3
(a) (b)

Figure 4.3.1: (a) Span of a user ui , and (b)Arrangement of the regions A


if the new facility belongs to the region Ai . Consider for every users in
UF S (f ) ∪ UF \f , all such regions A. Observe now the optimal placement
by P2 correspond to the point which pierce maximum number of regions
among the set of regions A (see Figure 4.3.1(b)). We can consider the
set of squares S as axis parallel in a 45◦ tilted axis system. Hence the
optimal placement can be computed in O(n log n) time. Thus we have
the following theorem.

Theorem 4.3.1. One of the optimal placement by P2 can be found in


O(n log n) time.

4.3.2 Optimal Placement of facility by P2 under L2 Met-


ric

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

Figure 4.3.2: Optimal placement by P2 under L2 Metric

4.4 Optimal Placement of facility by P1 under


L1 metric

Recall that for any placement f and s by P1 and P2 respectively the


payoff of P2 will be equals to

P2 (F ∪ {f }, S ∪ {s}) = |US\f | + |Uf (s)| + |UF \f (s)|

For any placement of facility f by P1 define effective depth of f , δ(f )


as
δ(f ) = max2 (|US\f | + |Uf (s)| + |UF \f (s)|)
s∈R

Consider the set of points AFi S , at distance at most d1 (ui , fj ) from ui


where fj be the facility closest to ui among the set of facilities F ∪ S.
Consider all such regions AF S = {AFi S : 1 ≤ i ≤ n}. Observe that AF S
will tessellate R2 into a set of regions (see Figure 4.4.1). Denote such
a tessellation by Γ(F, S). Observe now for each cell in this tessellation,
over all placement of facility f in that cell by P1, US\f , UF S (f ) and

66
f2
u3
s1 u2
u1
λ
u5
u4
s2
f1
s3

u6 u8
u7

f3

Figure 4.4.1: Distribution of users among the facilities F and S

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.

Lemma 4.4.1. If x, y belongs to same cell λ of Γ(F, S) with δ(x) 6=


δ(y), then there exists two users ui , uj ∈ UF S (λ)∪UF \λ such that Ai (x)∩
Aj (x) 6= ∅ and Ai (y) ∩ Aj (y) = ∅ or vice versa.

In light of this lemma we define, for each pair of users ui , uj ∈ U ,


and any placement of facility x ∈ R2 by P1, the indicator variable,
{
1 if Ai (x) ∩ Aj (x) 6= ∅
βij (x) =
0 otherwise

Let β(x) be the 2 dimensional array with cardinality |U | × |U | where


each cell βij (x) is defined as above. From Lemma 4.5.1 and the above
definition, the following observation is immediate.

Observation 4.4.1. If x, y belongs to the same cell of Γ(F, S) and the


two arrays β(x) = β(y) in every coordinate, then δ(x) = δ(y).

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 .

(ii) Set of points f for which Ai (f ) ∩ Aj (f ) = ∅ and one of the facility


closest from ui and uj belongs to F and other be f .

(iii) Set of points f for which Ai (f ) ∩ Aj (f ) = ∅ and facilities closest


from ui and uj be f .
Lemma 4.4.2. Set of points f for which Ai (f ) ∩ Aj (f ) = ∅ and one
of the facility closest from ui and uj belongs to F and other be f , can
be found in constant time.

fk

uj

ui d i

Figure 4.4.2: Set of points f for which Ai (f ) ∩ Aj (f ) = ∅

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.

Lemma 4.4.3. Set of points f for which Ai (f )∩Aj (f ) = ∅ and facilities


closest from ui and uj be f , can be found in constant time.

ui f
uj

Figure 4.4.3: Set of points f for which Ai (f ) ∩ Aj (f ) = ∅

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.

Theorem 4.4.1. The optimal placement by P1 can be found in O(n5 log n)


time.

Proof. From Lemma 4.4.2 and Lemma 4.4.2 we for each 1 ≤ i 6= j ≤ n


in constant time we can find the set of points bounded by constant many
lines such that for all points f , βij (f ) remains constant. Consider all
such regions Γ. The set of regions Γ will divide the plane into O(n4 )
many cells. Now form Observation 4.5.1 we know over all points in a
particular cell the effective depth remains constant. Hence by checking
each cell once we can find out the optimal placement by P1.

4.5 Optimal Placement of facility by P1 in Eu-


clidean metric

Recall that effective depth, δ(f ) of any point f ∈ R2 is equals to


maxs∈R2 (|US\f | + |Uf (s)| + |UF \f (s)|). Consider the set of circles CF S

f1

u2 u3
u1
λ
s1
u4 u5

f3
u6

f2

Figure 4.5.1: Arrangement of the set of circles CF S

where each circle C ∈ CF S is centered at some user ui and passing

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)

Figure 4.5.2: Illustrating the notion of effective depth.

Lemma 4.5.1. If x, y belongs to some cell of A(CF S ) with δ(x) 6=


δ(y), then there exists three users ui , uj , uk ∈ UF S (x) ∪ UF \x such that
Ci (x) ∩ Cj (x) ∩ Ck (x) 6= ∅ and Ci (y) ∩ Cj (y) ∩ Ck (y) = ∅ or vice versa.

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.

In light of this lemma we define, for each triplet of users ui , uj , uk ∈ U ,


and any placement of facility x ∈ R2 by P1, the indicator variable,
{
1 if Ci (x) ∩ Cj (x) ∩ Ck (x) 6= ∅
βijk (x) =
0 otherwise

Let β(x) be the 3 dimensional array with cardinality |U | × |U | × |U |


where each cell βijk (x) is defined as above. From Lemma 4.5.1 and the
above definition, the following observation is immediate.

Observation 4.5.1. If x, y belongs to the same cell of A(CF S ) and the


two arrays β(x) = β(y) in every coordinate, then δ(x) = δ(y).

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:

Definition 4.5.1. Given any placement x by P1 and a user u ∈ U \US\x ,


the circle C(x) is called an old circle if it is centered at u and passes
through some facility fj ∈ F , where fj be the facility closest to u among
the set of facilities F ∪{x}, that is, u ∈ UF \x . The circle C(x) is called a
new circle if it is centered at u and passes through x, that is u ∈ UF S (x).

For every three fixed users ui , uj , uk ∈ U and a fixed point x ∈ R2 ,


denote by Nijk (x) the subset of the circles in {Ci (x), Cj (x), Ck (x)},
which are new. For S ⊆ {ui , uj , uk }, define the following sets:

Γ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:

Observation 4.5.2. Let Da be the circle centered at ua passing through


the facility in F ∪ S closest to ua , for a ∈ 1, 2, . . . n. Then for three
fixed users ui , uj , uk ∈ U , we have

(a) Γijk (∅) = (Di ∪ Dj ∪ Dk )c .

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

Proof. It is easy to show (a) and (b) from the definitions.

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.

Lemma 4.5.2. For S = {ui , uj }, Γijk (S) is an open set bounded by


O(1) circular arcs and line segments. As a consequence, the boundary
of Γijk (S) can be computed in constant time.

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.

Lemma 4.5.3. Any point p belongs to the boundary of X, ∂(X) if and


only if Ci (p) ∩ Cj (p) ∩ C is a singleton set.

Proof. We shall prove this result by contradiction. Let p be any point


in ∂(X) such that Ci (p) ∩ Cj (p) ∩ C is not a singleton set. Let Ci (p) ∩
Cj (p) ∩ C contains at least two points x1 and x2 (see Figure 4.5.3).
Now Ci (p) ∩ Cj (p) ∩ C is a convex set bounded by circular arcs (as it

74
C
Ci(p) Cǫ
p
x1
x
x2
ui Cj (p) uj

Figure 4.5.3: Illustration of the proof of the Lemma 4.5

is intersection of three convex sets). Hence the line segment joining x1


and x2 is also contained in Ci (p) ∩ Cj (p) ∩ C. Hence there exist a point
x in the line segment joining x1 and x2 which is strictly contained in
Ci (p)∩Cj (p)∩C. Consider the circles Ci (x) and Cj (x). For any point q
outside Ci (x) ∪ Cj (x), Ci (q) ∩ Cj (q) will contain the point x. Now there
is a circle C centered at p and lies outside Ci (x) ∪ Cj (x). Observe that
any point in q in C , q ∈ Ci (q) ∩ Cj (q) ∩ C. Hence there exist a open
circle centered at p bounded by C with radius  > 0 which is totally
contained in X c . Which contradicts the fact that p ∈ ∂(X).
Now on the other hand let p be a point such that Ci (p) ∩ Cj (p) ∩ C is
a singleton set. We will show that p belongs to ∂(X). As X is open, it
is enough to show that any open circle centered at p with radius  > 0,
intersects X. Now we know (Ci (p)∩Cj (p))∩C is singleton. Let (Ci (p)∩
Cj (p)) ∩ C = {q}. Now q must lie on the boundary of Ci (p) ∩ Cj (p).
For any point x strictly inside Ci (p) ∩ Cj (p), Ci (x) ∩ Cj (x) is a proper
subset of Ci (p) ∩ Cj (p) and hence q ∈ / Ci (x) ∩ Cj (x). Therefore for any
point x strictly inside Ci (p) ∩ Cj (p), Ci (x) ∩ Cj (x) ∩ C = ∅. Hence the
open set bounded by Ci (p) ∩ Cj (p) is a subset of X. Now any circle
centered at p with radius  > 0 intersects Ci (p) ∩ Cj (p). Hence any
circle centered at p with radius  > 0 intersects X. Hence the result
holds.

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.

Theorem 4.5.1. Given a set U of n users, two sets of facilities F and


S owned by two competing players P1 and P2, respectively, the optimal
strategy of P1 in the Gn (F, S) game can be found in O(n8 ) time.

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

Discrete Voronoi Game on a Simple


5
Polygon

5.1 Introduction

5.1.1 Chapter Objectives

In this chapter, we consider the Voronoi game, where the underlying


user space is a simple polygon P with distance measure defined to be
the geodesic (i.e., shortest-path) distance in P . The game consists of a
set U of n point-users inside P , and two players P1 and P2. Initially,
P1 places a set F1 of k point-facilities, after which P2 places a set F2
of k point-facilities, where F1 ∩ F2 = ∅. Each user u ∈ U is served by
the nearest facility according to the nearest neighbor rule (i.e., by the

80
facility which is at the least geodesic distance from u).

Definition 5.1.1. (Service zone) For each facility f ∈ F1 ∪ F2 , we


define its service zone UF1 ∪F2 ({f }) to be the set of users in U that are
closer to f than to any other facility of F1 ∪ F2 .
Given a set S ⊆ F1 ∪ F2 , we define the service zone of S to be
the set of users which are assigned to one of the facilities in S, i.e.,
UF1 ∪F2 (S) = ∪f ∈S UF1 ∪F2 ({f }).

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

(a) Given any choice of F1 by P 1, the objective of P 2 is to choose a set


S = F2 that maximizes |UF1 ∪S (S)| over all sets S, with |S| = k
and F1 ∩ S = ∅.

(b) The objective of P 1 is to place a set F1 of k facilities such that the


maximum possible payoff of P 2 is minimized. In other words, the
objective of P 1 is to choose a set F = F1 of size k that minimizes
maxS |UF ∪S (S)|, where the maximum is taken over all sets S, with
|S| = k and F ∩ S = ∅.

In this thesis, we consider the case when k = 1. Thus, P1 will place


a single facility inside P , after which P2 places another facility inside
P.

81
5.1.2 Chapter Overview

In the next section, we characterize an optimal placement for P2 and


show that, given any placement of a facility by P1, an optimal strategy
for P2 can be computed in O(m+n(log n+log m)) time, where m is the
number of vertices of P . In Section 5.3, we will provide an algorithm
that computes an optimal strategy for P1.

5.2 Computing an Optimal Placement for P2

Let f (= first) and s (= second) be the facilities in P that are placed


by players P1 and P2, respectively.
Given any placement of the facility f by P1, we will provide an
algorithm that computes a point s that maximizes |U{f,s} ({s})| over all
points s ∈ P , where s 6= f .
Consider the set U = {u1 , u2 , . . . , un } of users. For each user ui , let
di denote the geodesic distance between ui and f , and let Γi denote the
set of points in the polygon P whose geodesic distance to ui is at most
di (see Figure 5.2.1).

Observation 5.2.1. A user ui ∈ U is served by a facility s placed by


P2 if and only if s belongs to Γi .

Hence, if we consider the arrangement inside P defined by f and the


set of regions Γ = {Γ1 , Γ2 , . . . Γn }, then an optimal placement for P2
belongs to a cell in this arrangement having maximum depth where
depth of a cell is the number of regions in Γ pierced by any point in
that cell.
For any two points p1 and p2 in P , denote the geodesic path between
p1 and p2 by λ(p1 , p2 ). The length of a geodesic path λ is denoted by
|λ|. The anchor of f with respect to ui is defined to be the last vertex
on the path λ(ui , f ) from ui to f ; we denote this anchor by ai (f ). If
f is visible from ui then we define ai (f ) = ui . Let Ci denote the circle

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

Figure 5.2.1: Span of the user 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 .

Lemma 5.2.1. For any user ui , Γi ⊆ Pi .

Proof. If ai (f ) = ui , then there is nothing to prove. In the rest of the


proof, we assume that ai (f ) 6= ui . It is sufficient to prove that for any
point q ∈ [c, d], |λ(ui , q)| > |λ(ui , f )|. Observe that [ai (f ), f ] divides Pi
in two parts. Without loss of generality, assume that d and ui belong
to the same sub-polygon and that c belongs to the other sub-polygon.
For all points q ∈ [c, f ], the shortest path from ui to q is through ai (f ).
Hence, for all points q ∈ [c, f ], |λ(ui , q)| > |λ(ui , f )|. Assume there
exists a point r in [f, d], such that |λ(ui , r)| < |λ(ui , f )|. Let r ∈ [f, d]
be such a point that is closest to f .

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)

Figure 5.2.2: Illustration of the proof of Lemma 5.2.1

Claim: The set of vertices in λ(ui , r) is a subset of the set of vertices


in λ(ui , f ).
Proof of Claim. Let the vertices on the path λ(ui , f ) be

f
λ(ui , f ) = (v1 , v2 , . . . , vj , vj+1 , . . . , vτf , f )

and let the vertices on the path λ(ui , r) be

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.

For any anchor vertex ai (f ), let Zi denote the set of points in P


which are at distance at most |ai (f )f | from ai (f ).

Observation 5.2.2. For any two users ui and uj , we have (Γi ∩ Γj ) \


{f } = ∅ if and only if (Zi ∩ Zj ) \ {f } = ∅.

Proof. Observe that Zi ⊆ Γi and Zj ⊆ Γj . Therefore, if (Zi ∩Zj )\{f } 6=


∅, then (Γi ∩ Γj ) \ {f } 6= ∅.
Assume that (Zi ∩ Zj ) \ {f } = ∅. Observe that both Zi and Zj
contain the point f . Hence, both the circles Ci and Cj share the same
tangent lij passing through f . Now lij divides P into two disjoint
subpolygons Pi and Pj . Observe that Pi ⊂ Γi and Pj ⊂ Γj . Therefore,
(Γi ∩ Γj ) \ {f } = ∅. 

Observation 5.2.3. For any placement of a facility f by P1, an opti-


mal placement of a facility by P2 is the point s̊ 6= f in P that pierces
the maximum number of regions among {Z1 , Z2 , . . . Zn }.

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 ℓǫ

Z1(f ) Z4(f )
u1 u4

(a) (b)

Figure 5.2.3: Arrangement of the regions {Z1 , Z2 , . . . Zn }

The arrangement of the regions Z1 , Z2 , . . . Zn divides P into cells.


All points within the same cell pierce the same set of regions. Define
the depth of a cell to be the number of regions pierced by any point in
that cell. The cell with maximum depth contains f , because all regions
Z1 , Z2 , . . . Zn contain f .
Consider a circle C with radius  > 0 that is centered at f ; this
circle pierces all cells containing f (see Figure 5.2.3(a)). Observe that
C ∩ P can be a set of disjoint subsets of C . If f is in the interior of
P , then we can choose  such that C is completely contained in the
interior of P . If f belongs to the boundary of P , then we can choose 
such that C ∩ P is a single connected subset of C (see Figure 5.2.3(a)
where C ∩ P consists of three disjoint sets µ1 , µ2 , and µ3 ).
Consider any optimal placement s for P2. Let γ be the cell that
contains s. From the previous discussion, any point in γ acts as an
optimal placement for P2. Hence, the intersection point between the

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

Observation 5.2.4. The line segment ` passes through ai (f ).

Proof. Observe that [s̊, f ] is a chord of the circle Ci . The perpendicular


bisector of any chord always passes through the center of the circle.
Hence, the result holds. 

Note that ` divides P into two sub-polygons, one containing f and


the other containing s̊. If P2 places its facility at s̊, P2 will serve the
set of users ui such that ai (f ) belongs to the sub-polygon containing s̊.
As  tends to 0, ` tends to the line joining f and ai (f ). Hence, for all
ai (f ), if we consider the chord passing through f and ai (f ), then we
can find an optimal placement for P2. Note that all anchor vertices are
visible from f . Thus, using an angular sorting, we can find an optimal
placement for P2. We obtain the following result.

Theorem 5.2.1. Let P be a polygon with m vertices and let U be a


set of n point-users in P . Given the placement of a point f ∈ P by
P1, a point s ∈ P maximizing P2’s payoff can be computed in O(m +
n(log m + log n)) time.

Proof. Let f be any placement of a facility by P1. Consider the visibil-


ity region Vf of f in P , i.e., the set of points which are visible from f .
Observe that P \ Vf consists of a set of possibly disjoint sub-polygons
of P . For each such sub-polygon Pi , for all points q ∈ Pi , the anchor
vertex on the path λ(q, f ) will be the same. Given f , we can construct
a data structure in O(m) time that can report the anchor vertex on

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.

5.3 Computing an Optimal Placement for P1

As before, let P be a simple polygon with m vertices and let U =


{u1 , u2 . . . un } be a set of n point-users in P . We will present an algo-
rithm that computes an optimal placement of a facility for P1.
For any placement of f by P1, let ν(f ) = maxs |Uf ∪s ({s})|, where
the maximum is taken over all points s in P with s 6= f . Our objective
is to find a point f˚ ∈ P which minimizes ν; we call such a point an
optimal placement for P1. Observe that there are two cases:

Case 1: f˚ belongs to the boundary of P .

Case 2: f˚ is in the interior of P .

In Section 5.3.1, we will give an algorithm that computes an optimal


placement on the boundary of P for P1. Formally, we will show how to
compute a point fb on the boundary of P such that ν(fb ) = minf ν(f ),
where the minimum is taken over all points f on the boundary of P .
In Section 5.3.2, we will give an algorithm that computes an optimal
placement in the interior of P for P1.

5.3.1 The boundary case

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.

Observation 5.3.2. Let (vi , vi+1 ) be an edge of P such that at least


one of vi and vi+1 is a convex vertex. For any placement f by P1 on
the edge (vi , vi+1 ), there exists a placement s for P2 such that ν(f ) = n.

s
s
f
f

(a) (b)

Figure 5.3.1: (a) Placements for which P 1 gets no users

Hence, an optimal placement for P1 must be either at a reflex vertex


or on an edge (vi , vi+1 ) for which both vi and vi+1 are reflex vertices.

Observation 5.3.3. Let (vi , vi+1 ) be an edge of P such that both vi


and vi+1 are reflex vertices. For any placement f by P1 on the edge
(vi , vi+1 ), ν(f ) ≥ ν(vi ) and ν(f ) ≥ ν(vi+1 ).

Proof. Let p and q be arbitrary placements by P1 and P2, respectively.


The perpendicular bisector of p and q divides P into two sub-polygons.
Denote the sub-polygon that contains p by P + (p, q), and the other
sub-polygon by P − (p, q).
Let f be any placement by P1 on the edge (vi , vi+1 ) (see Figure 5.3.2).
Let s(vi ) be an optimal placement for P2, when P1 places its facility at

89
s(vi)
s
vi f vi+1

Figure 5.3.2: Illustration of the proof of Observation 5.3.3

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.

Thus, if there is optimal placement on the boundary of P for P 1,


that must be at a reflex vertex of P . By checking all reflex vertices,
we can compute an optimal placement for P1 on the boundary of P in
O(m2 + mn(log m + log n)) time.

5.3.2 The interior case

In this section, we present an algorithm that computes an optimal


placement for P1 in the interior of the polygon P . Let R denote the set
of reflex vertices of P . Consider the set L of all maximal line segments
which are fully contained in P and contain at least two points from
R ∪ U (see Figure 5.3.3(a)). The set L tessellates P into a collection of
cells. Denote the tessellation by Π(P ).
Recall the notion of an anchor vertex defined in Section 5.2.

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)

Figure 5.3.3: (a) Tessellation of P (b) Illustration of the proof of Lemma


5.3.1

on the geodesic path from ui to f2 .


Let vj be the last vertex that is common to the paths λ(ui , f1 ) and
λ(ui , f2 ). Observe that one of ai (f1 ) and ai (f2 ) is not equal to vj , be-
cause otherwise, we would have ai (f1 ) = ai (f2 ) = vj . Assume, without
loss of generality, that ai (f2 ) 6= vj (see Figure 5.3.3(b)).
Let vk be the vertex next to vj on the shortest path from vj to f2 .
Observe that f1 and f2 are on different sides of the line joining vj and
vk . Hence, f1 and f2 belong to two different cells of the tessellation
Π(P ).

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.

Lemma 5.3.2. One of the optimal placements for P1 belongs to the


set of vertices of the tessellation Π(P ).

v
f
c
cv cf

aj

Figure 5.3.4: Illustration of the proof of Lemma 5.3.2

Proof. Assume that none of the optimal placements for P1 belongs to


the set of vertices of Π(P ). Let f be any optimal placement for P1.
Suppose f belongs to the cell C ∈ Π(P ). Let v any vertex of this
cell. Let δ be the payoff of P1, when P1 places a facility at v, and
assume that δ is less then the optimal payoff of P1. Then there exists
a half-polygon Pv bounded by a chord cv , which contains n − δ users.

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.

Theorem 5.3.1. Let P be a polygon with m vertices and let U be a set


of n point-users in P . An optimal placement of a facility for P1 can be
computed in polynomial time.

93
Where there is matter, there is geometry.
Johannes Kepler

Voronoi Game on Graphs


6
6.1 Introduction

6.1.1 Chapter Objectives

In this chapter we consider a game where the underlying space is a road


network, described by a graph G(V, E). With each edge (u, v) ∈ E,
a positive weight w(u, v) is associated which can be considered as the
length of the edge (u, v). Throughout this chapter let us assume that an
embedding of G on R2 is given. As any edge (u, v) is having a positive
weight w(u, v), it can be mapped to a closed interval [0, w(u, v)] of
length w(u, v). For any point p on this interval consider the distance
between p and u as |p| and between p and v as w(u, v)−|p|. Throughout
this chapter, by a point p on G we mean either p ∈ V or p belongs to

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

Refer a portion of an edge as sub-edge. Recall that an edge e is mod-


eled as an interval of length w(e). Hence a sub-edge can be represented
as a sub-interval of the interval with length defined accordingly. Define
a sub-graph G0 = (V 0 , E 0 ) of a Graph G, such that E 0 is a finite subset
of edges and sub-edges of G. Hence V 0 can contain some vertices of V
or some points belong to edges of G. Weight of a sub-edge is same as
the length of the sub-interval correspond to it. For any sub-graph G0
of G define the weight of G0 , W (G0 ) as the sum of the weights of the
edges, sub-edges and vertices present in G0 .
Like any other versions of Voronoi game, here facilities are modeled
as points in the underlying space. Given any set of facilities F on G,
service zone GF (f ) of any facility f ∈ F is defined as the set of points in
G that are closer to f than any other facility f 0 ∈ F . In case if a point
is equidistant to its nearest facilities of P1 and P2, then it is included
in the service zone of P2. Observe that for any facility f , GF (f ) is a
connected sub-graph of G. It would be more appropriate to refer GF (f )

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.

One-Round (m, k) Voronoi Game on Graphs: Given a graph G = (V, E)


and two players P1 and P2 having m and k facilities respectively,
P1 chooses a set F ∗ of m facility locations following which P2
chooses a set S ∗ of k facility locations disjoint from F ∗ in G, such
that:

(i) maxS Q2 (F ∗ , S) is attained at S = S ∗


(ii) minF ν(F ) is attained at F = F ∗ , where the minimum is
taken over all possible set of facility locations F of P1

6.1.2 Chapter Overview

This chapter is organized as follows. In the next section, we give a


lower bound on optimal payoff of P1 on trees. Starting from section 6.3,
we only concentrate on optimal strategy of P2. First we characterize
a finite set of points which always contain an optimal placement of
P2. We use that result in section 6.4 to present a polynomial time

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.

6.2 Bound on Optimal Payoff of P1 on Trees

In this section we consider the game where the underlying space is a


tree, say T = (V, E). Let P = {p1 , p2 , . . . , pτ } be any set of points on
T . Observe that T \ P is a set of sub-trees of T . Refer those sub-trees
as partitions of T . For example in Figure 6.2.1, four partitions of an
example tree with respect to the set of points {p1 , p2 , p3 } has shown.
Let us denote T \ P by T (P ). Observe that for any set of m facilities in
T placed by P1 partitions T into at least m + 1 partitions. By placing
one or more facility in a partition, P2 can get only a portion of that
partition. Let us denote the total weight of T by W. Also assume that
the tree is rooted at some vertex. Now we have the following lemma
for the trees all of whose vertices are having zero weight.
v1 v9 v1 v9
v8 v8
p1 v10 v2 p1 p3 v10
v2 p3
v3 v7 v3 v7
v5 p2 p2
v5 v
v4 v11 v12 v11 12
v4
v6 v13 v6 v13
(a) (b)

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.

Corollary 1. There exists a placement strategy of P1 such that it


always achieves at least m−k+1
m+1
W as its payoff for One-Round (m,k)
Voronoi Game on Trees, where m ≥ k.

Proof. We prove this corollary by proposing an placement strategy of


P1. By Lemma 6.2.1 we know that there exists a set F 0 such that
F 0 partition the tree T in a manner such that each of the partition
W
is having weight at most m+1 , where |F 0 |=m. Suppose P1 places its

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

Now consider a restricted version of this game where k = 1, i.e P2


places only one facility. Also consider the class of Star trees with m + 1
edges of equal weight. For this case, an optimal strategy of P1 is
to place a facility at the central vertex and the remaining m − 1 to
anywhere on the Star. On the other hand P2 chooses a point as close
as possible to the central vertex, preferably on an edge which doesn’t
contain any facility of P1, as its optimal strategy. Thus service zone
of P2 is limited within an edge and payoff of P1 is m+1 m
W. Hence the
bound of Corollary 1 is tight.

6.3 Characterization of Optimal Facility Loca-


tions of P2 on Graphs

In this section we show that it suffices to search a finite number of points


for determining optimal strategy of P2. Let G(V, E) be any graph and
F = {f1 , f2 , . . . fm } be a set of facilities placed by P1. First we consider
the problem where P2 places only one facility on G. Goal is to find the
optimal placement of P2. Let V = {v1 , v2 , . . . , vn } and for any two
vertices vi and vj denote the edge joining them by eij . Define arc to be
an edge or a portion of an edge. An arc between two points u and v
are denoted by hu, vi. For any vertex vi ∈ V denote the facility closest
from vi among the facilities in F by f (vi ) and the distance between vi
and f (vi ) by di . Let Γ(vi ) be the set of points in G which are at a
distance di from vi . Now observe that any edge can contain at most
two points from Γ(vi ). Hence for any vertex vi , |Γ(vi )| contains O(|E|)
many points. Let Γ = ∪1≤i≤n Γ(vi ). Thus Γ contains O(|V ||E|) many

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.

Observation 6.3.1. Number of points in Γ is bounded by O(|V ||E| +


m).

Let s be any placement of a facility by P2 located on an arbitrary


edge eij . Consider any path λ between s and any facility fl ∈ F , such
that half of the points of λ are closer to fl than any other facility in
F ∪ {s} and the rest of the points are closer to s than any other facility
in F . Denote all such paths by π(s). For example in Figure 6.3.1 the
path between s and f2 is in π(s), but the path between s and f1 is not
in π(s).

f1
30

vi s vj
40
15

f2
Figure 6.3.1: Example of facilities placed by P1 and P2

Observe that for any path λ ∈ π(s), λ contains at least one of vi or vj .


Let πi (s) be the set containing all those paths of π(s) which contain vi ,
but not vj and πj (s) be the set containing all those paths of π(s) which
contain vj , but not vi . For the paths λ ∈ π(s), such that λ contain both
of vi and vj , include λ in πi (s) if vi is preceded by vj in λ, otherwise
include it in πj (s). Note that a path is a sequence of vertices and hence

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.

Observation 6.3.2. Each edge contains at most one point of Bi (s) ∪


Bj (s).

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

Case 1 : Along the path λ2 , va precedes vb (see Figure 6.3.2(a)). Sup-


pose distance of b1 and fk is δ1 along λ1 and distance of b2 and
fl is δ2 along λ2 . Now there are two possibilities, δ2 < δ1 or
δ2 > δ1 . The first possibility contradicts the fact that the arc
hb2 , b1 i is served by P1 considering the path λ2 . The second pos-
sibility contradicts the fact that the arc hb1 , b2 i is served by P1
considering the path λ1 .

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

Figure 6.3.3: Positions of s, ps and fl


Suppose a facility s1 of P2 is placed at s ∈ eij . Let ps ∈ hs, vj i be
the point closest to s, such that ps ∈ Γ ∪ V (see Figure 6.3.3). Let
λ ∈ πj (s) be a path between s and fl , where fl ∈ F and ms ∈ eαβ
be the midpoint of λ. Let p be any point on the arc hs, ps i. Suppose
the distance between s and p along eij is δ. If s1 is now shifted to p,
then the path between s1 and fl is reduced and hence the mid point is
shifted from ms to a new point mp . Note that selection of ps and hence
of p ensures that mp ∈ eαβ . Now we have the following observation.

Observation 6.3.3. Distance between ms and mp is equal to δ/2 along


eαβ .

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

Figure 6.3.4: Example of facilities placed by P1 and P2

We note that there might be more than one optimal placements by


P2, even there might be infinitely many optimal placements by P2. In
Figure 6.3.4 P1 has placed two facilities at v3 and v4 and any point on
the edge joining v3 and v4 is an optimal placement by P2. Now we have
the following theorem.

Theorem 6.3.1. There exists an optimal strategy of P2 which belongs


to Γ ∪ V .

Proof. Let s̊ be any optimal placement by P2 such that s̊ ∈ / Γ ∪ V.


Suppose s̊ belongs to the edge eij . Let pl ∈ hvi ,s̊i be the point closest
to s̊, such that pl ∈ Γ ∪ V . Similarly define pr ∈ h s̊, vj i be the point
closest to s̊, such that pr ∈ Γ ∪ V (see Figure 6.3.5). Now observe that it
is enough to show that either P(F,s̊) ≤ P(F, pl ) or P(F,s̊) ≤ P(F, pr ).

f1 f4

m2l m1 m2r Vi pl s̊ pr V j m5l m2 m5r


f2 f5
δ1 /2 δ2 /2 δ1 δ2 δ1 /2 δ2 /2

f3 f6

Figure 6.3.5: Positions of s̊, pl and pr

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.

Case 2: Bi (s̊) 6= ∅ and Bj (s̊) 6= ∅. Suppose distance between s̊ and


pl be δ1 and distance between s̊ and pr be δ2 (see Figure 6.3.5).
Further let |Bi (s̊)| = k1 and |Bj (s̊)| = k2 . Consider any path λ in
πi (s̊). Let m1 ∈ Bi (s̊) be the midpoint of λ. Observe that instead
of placing the facility at s̊, if P2 would have placed it at pl , the
length of the path λ between two facilities is reduced by δ1 . From
Observation 6.3.3 we know the new midpoint is at a distance δ1 /2
from m1 along λ(see Figure 6.3.5). Now as |B1 (s̊)| = k1 , k1 many
such paths are there. Hence along all such paths the payoff of P 2
will be increased by k12∗δ1 . Similarly along the paths in πj (s) the
payoff will be decreased by k22∗δ1 . Hence,

P(F, pl ) = P(F,s̊) + (k1 − k2 ) ∗ δ1 /2 (6.1)

Similarly if P2 would have placed the facility at pr , the payoff of


P2,

P(F, pr ) = P(F,s̊) + (k2 − k1 ) ∗ δ2 /2 (6.2)

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.

Theorem 6.3.2. For One-Round (m, k) Voronoi Game on Graphs


there exists an optimal strategy of P2 which belongs to Γ ∪ V .

Proof. Let S̊ be any optimal placement by P2 such that it contains a


point s̊ such that s̊ ∈ / Γ ∪ V . We show that there exists a placement
S 0 ⊆ Γ ∪ V by P2 such that P(F, S̊) ≤ P(F, S 0 ). Without loss of
generality assume s̊ belongs to the edge eij . Let pl ∈ hvi ,s̊i be the
point closest to s̊, such that pl ∈ Γ ∪ V . Similarly define pr ∈ h s̊, vj i
be the point closest to s̊, such that pr ∈ Γ ∪ V .
Instead of placing a facility at s̊ if P2 would have placed it at pl
or pr , then using a similar argument like in proof of Theorem 6.3.1,
we can prove that either P(F, S̊) ≤ P(F, S̊ \ {s̊} ∪ pl ) or P(F, S̊) ≤
P(F, S̊ \ {s̊} ∪ pr ) .
By using this construction repeatedly we substitute each of such s̊ ∈
S̊, such that s̊ ∈
/ Γ ∪ V , by a point in Γ ∪ V . We end up getting a set
S 0 ⊆ Γ ∪ V , such that P(F, S̊) ≤ P(F, S 0 ), which completes the proof
of this theorem.

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.

6.4 Optimal Facility Locations 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)

Figure 6.4.1: Example tree and partitions with respect to {f1 , f2 }.

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,

Observation 6.4.1. For any optimal placement by P2, if a facility of


P2 is placed on some λk then it is placed on the point αk .

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.

ALLOC(g1 , . . . , gl ; p): Here g1 , . . . , gl are monotone concave functions


and p is a non-negative integer. Then ALLOC solves the follow-
ing:
∑ l
max gi (pi )
i=1

107
subject to,

l
pi = p
i=1

Each pi is a non-negative integer. Frederickson et al.[FJ79] have


shown that ALLOC can be solved in O(l log p) time.

Note that the optimal payoff function on any partition is monotone


and concave with respect to number of facilities. Suppose we know the
optimal payoff of P2 for placing p(≥ 1) facilities on any partition. Then
we can use ALLOC to find the maximal payoff of P2 on T for placing k
facilities. Here gi (pi ) will be the optimal payoff of P2 on ith partition for
placing pi facilities and p = k. So if we can compute the optimal payoff
of P2 on any partition in polynomial time, we can solve the problem
on T in polynomial time. Calculation of optimal payoff of P2 on a
partition having exactly one facility of P1 is trivial as discussed before.
Remaining is to show that the optimal payoff of P2 can be calculated
in polynomial time for any bounded partition. The idea of our solution
is similar to [MZH83].
Now we want to solve the following problem. For any bounded parti-
tion we want to find a set of κ placement for a given integer κ such that
P2’s payoff is maximized. In the rest of this section instead of solving
this problem we will solve a more general problem. Let T (V, E) be any
tree where each leaf of T is occupied by one facility placed by P1 and
with each edge eij of T two real values are associated lij , denotes the
length of the edge and wij , denotes the weight on that edge. Note that
if an edge e is within service zone of a player, then it’s payoff from e is
the weight of e. P2 wants to place κ facilities on the vertices of T such
that its payoff is maximized. Recall that for any placement of facility
s by P1, bisector is the midpoint of the path λ where λ be any path
between s and any facility fi of P1 such that half of the path is served
by s and the other half by fi . Include the set of bisectors B into the

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.

OP T (Ti , δ, Vr , Er ): Here Ti is a tree rooted at vi , 1 ≤ δ ≤ κ is an


integer, Vr ⊆ V 0 is set of restricted vertices where facilities can
not be placed and Er ⊆ E 0 is a set of edges with zero weight.
OP T (Ti , δ, Vr , Er ) places δ facilities of P2 on Ti recursively. Let
the set of vertices of Ti which are not in Vr be {vi1 , vi2 , . . . , viι }.
Also let these vertices are sorted in increasing order of their dis-
tances from vi . For vertex vij consider the set ∆ij = Ti \λij , where
λij be the path between vi and vij . Observe that ∆ij is a forest
and let ∆ij contains α trees. Let Eij be the set of edges contained
in the service zone of the facility of P2 placed at vij . Let Tijl , 1 ≤
l ≤ α be the trees of ∆ij and Vijl be the set of vertices of Tijl . Also
let gij (pl ) = OP T (Tijl , pl , (Vr ∪ {vi1 , vi2 . . . vi(j−1) }) ∩ Vijl , Er ∪ Eij ),

where αl=1 pl =δ − 1.
Let Qij =ALLOC(gij1 (p1 ), gij2 (p2 ), . . . , gijα (pα )) + W (Eij ),
where W (Eij ) is sum of the weights of the edges Eij . Then
OP T (Ti , δ, Vr , Er ) returns the following, max1≤j≤ι Qij .

Suppose in an iteration of OP T a facility is placed at vij , say at


a distance dij from vr . Then note that in the following iterations no
facility could be placed within a distance dij from vr . Consider any
subtree Ti rooted at vi , which is passed as an argument of OP T . Note
that Ti is the maximal subtree rooted at vi and thus all of it’s leaves
contain a facility of P1. Moreover some of it’s vertices are flagged so
that no facility can further be placed on them and some of it’s edges

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ν

Figure 6.4.2: Independence of Tijµ and Tijν

Observation 6.4.2. For any µ 6= ν placement of facilities of P2 in Tijµ


and Tijν are independent of each other.

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.

Lemma 6.4.1. OP T (T 0 , κ, V 0 \ V, φ) calculates the optimal payoff of


P2 from T 0 for placing δ facilities.

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.

Though OP T calculates the maximal payoff, if we make the recur-


sive call as described, the time complexity could be exponential. This
is because the recursive calls could be made repetitively with same ar-
guments and everytime the function will be computed separately. We’ll
refine this algorithm by applying dynamic programming. We’ll store
the values of recursive calls so that no redundant calculations are done.
Before that we have to argue that the number of subtrees which are
used as the argument of OP T over all calls are bounded polynomially.

111
First we’ll show that the number of distinct Vr considered over all calls
of OP T is polynomial.

Observation 6.4.3. Number of distinct subsets of vertices Vr consid-


ered over all calls of OP T is polynomial.

Proof. Consider the call of OP T (Ti , δ, Vr , Er ) on the subtree Ti , rooted


at vi . Now for any Vr , Vr trivially contains the non-vertex bisectors
of Ti , as no facility is supposed to be placed on them. Let df be the
distance of the facility of P2 which is farthest from the root of T 0 . Also
let di be the distance of vi from the root of T 0 (see Figure 6.4.3). Hence
for the call on Ti , if df ≥ di , Vr \ (B \ V ) will be the set of vertices of Ti
within a distance df −di from vi . Thus for any call of OP T (Ti , δ, Vr , Er ),
Vr can be uniquely specified by a tuple (vi , df −di ). Note that number of
such distinct tuples is bounded by O(n6 ) as number of distinct vi , df and
di are O(n2 ) each, which completes the proof of this observation.

di
df
vi

sf

Ti

Figure 6.4.3: Farthest facility sf from vr

Now we’ll argue about the number of distinct Er over all calls of
OP T .

Observation 6.4.4. Number of distinct subsets of edges Er considered


over all calls of OP T is polynomial.

Proof. Let’s consider the call of OP T (Ti , δ, Vr , Er ) on the subtree Ti ,


rooted at vi . Now Er is the set of zero weighted edges of Ti . If Er = φ

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

Figure 6.4.4: Closest facility of P2 from vi is at vc

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.

Theorem 6.4.1. The optimal payoff of P2 correspond to placement of


k facilities on any tree can be calculated in polynomial time.

6.5 Computational Complexity for Graphs

In this section we prove that given a placement of m facilities by P1 de-


termining the optimal placement by P2 for One-Round (m, k) Voronoi
Game on Graphs is N P-hard. Let us call the problem of finding the op-
timal placement of P2 in One-Round (m, k) Voronoi Game on Graphs
as Maximum payoff problem. Now consider the decision version of Max-
imum payoff problem. Given a graph G = (V, E), a set of m facilities
F by P1 in G, and a real number δ, we have to decide whether there
exists a set of k points S disjoint from F in G such that the payoff of

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.

Given a graph G and an integer k, the decision version of Minimum


Dominating Set Problem asks whether there exist a dominating set of
size k or not. Now we have the following theorem.

Theorem 6.5.1. Maximum Payoff Problem is N P-complete.

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.

Proof. It is already shown that the problem is in N P . Remaining is


to prove the N P -hardness. Let I=(G, k) be any valid instance of the
minimum dominating set where G is an un-weighted graph and k is an
integer. We will construct a new weighted graph G0 = (V 0 , E 0 ) from
G by adding a pendant vertex to each of the vertices. Figure 6.5.1 is

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

Figure 6.5.2: Formation of S 0 from S in proof of Theorem 6.5.1

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.

6.6 Approximation Bound for Optimal Payoff


of P2 on Graphs
In this section we show a 1.58 factor approximation bound on the opti-
mal payoff of P2. We reduce our problem to Weighted Maximum Cov-
erage Problem and use the existing approximation bound for Weighted
Maximum Coverage Problem to derive an approximation bound for our
problem. But before that let us define the Weighted Maximum Cover-
age Problem.

Weighted Maximum Coverage Problem: Given an universe X={x1 , x2 ,


. . . , xn }, a family S of subsets of X, an integer τ and a weight
function wi associated with each xi ∈ X the Weighted Maximum
Coverage Problem is to find τ sets such that total weight of the
covered elements is maximized.

The Weighted Maximum Coverage Problem is N P-hard, and cannot


be approximated within e−1e
− o(1) ≈ 1.58 factor, under standard as-
sumptions [Hoc96]. There is a greedy approximation algorithm for the
Weighted Maximum Coverage Problem, which at each stage chooses a
set, which contains the maximum weighted uncovered elements. Now
we are having the following theorem.

Theorem 6.6.1. [Hoc96] The greedy algorithm for Weighted Maximum


Coverage Problem achieves an approximation ratio of e−1
e
.

Now consider any instance of our problem. Let G = (V, E) be any


graph and F be any set of facilities placed by P1 in G. P2 wants to place

117
f2
p2

f1
p1
p3 s

Figure 6.6.1: Service zone of 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 } ∪ Γ

From Observation 6.3.2 it is implied that the cardinality of Ω is bounded


by O((Γ ∪ V )E), that is O((V + E)2 ). Now from G = (V, E) con-
struct another graph G0 = (V 0 , E 0 ) in the following way. V 0 = V ∪
Ω ∪ F . For each edge eij ∈ E which does not contain any point
of Ω include that edge to E 0 . Any edge eij , which contains one or
more points of Ω, {ω1 , ω2 , . . . ωl } sorted along vi to vj , add the edges
(vi , ω1 ), (ω1 , ω2 ) . . . (ωl−1 , ωl ), (ωl , vj ) to E 0 . Now observe that for any
placement s by P2, payoff of P2 will be equal to a set of edges Ẽ ⊆ E 0
of G0 .
Now consider the set system where X is equal to E 0 and for each
point pi ∈ Γ ∪ V define the set Si ⊆ E 0 , such that, Si is the set of

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.

Lemma 6.6.1. An α factor approximation bound for the Weighted


Maximum Coverage Problem will produce an α factor approximation
bound for Maximum Payoff Problem.

Now from Theorem 6.6.1 and Lemma 6.6.1 we have the following
theorem.

Theorem 6.6.2. There exist an 1.58 factor approximation algorithm


for Maximum Payoff Problem.

Note that the above mentioned construction can be extended in case


if the vertices are having non-zero weights. There the vertices are also
member of the ground set. For each point pi ∈ Γ ∪ V , the payoff of P2
for the facility placed at pi would be the total weight of the edges as
well as vertices contained in service zone of that facility.

119
Conclusion and Directions for
7
Future Research

In this thesis we have studied different kind of Voronoi games. We have


provided techniques to find an optimal strategy by both the players in
discrete version of the Voronoi game played on a line, on a polygonal
domain and on the plane. Apart from that we also considered the
continuous version of the game played on a graph.
In chapter 2, we study the optimal strategies for the one-round dis-
crete Voronoi game, when the users and facilities are restricted to lie on
a line. The game consists of a discrete users set U , with |U | = n, and
two players P1 and P2 having k facilities each. The objective of both
the players is to maximize their respective payoffs. We have showed
that if the sorted order of the users in U along the line is known, then

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

[ACC+ 04] Hee-Kap Ahn, Siu-Wing Cheng, Otfried Cheong, Morde-


cai J. Golin, and René van Oostrum. Competitive facility
location: the Voronoi game. Theor. Comput. Sci., 310(1-
3):457–467, 2004.

[AHP08] Boris Aronov and Sariel Har-Peled. On approximating the


depth and related problems. SIAM J. Comput., 38(3):899–
921, 2008.

[Baj86] Chandrajit L. Bajaj. Proving geometric algorithm non-


solvability: An application of factoring polynomials. J.
Symb. Comput., 2(1):99–102, 1986.

[BBD12] Aritra Banik, Bhaswar B. Bhattacharya, and Sandip Das.


Optimal strategies for the one-round discrete Voronoi
game on a line. Journal of Combinatorial Optimization,
2012.

[BBDMar] Aritra Banik, Bhaswar B. Bhattacharya, Sandip Das, and


Satyaki Mukherjee. One-round discrete voronoi game in
R2 in presence of existing facilities. In CCCG, 2013, to
appear.

[BBDS13] Sayan Bandyapadhyay, Aritra Banik, Sandip Das, and Hi-


rak Sarkar. Voronoi game on graphs. In Subir Kumar

123
Ghosh and Takeshi Tokuyama, editors, WALCOM, vol-
ume 7748 of Lecture Notes in Computer Science, pages
77–88. Springer, 2013.

[BDMS13] Aritra Banik, Sandip Das, Anil Maheshwari, and Michiel


H. M. Smid. The discrete Voronoi game in a simple poly-
gon. In Ding-Zhu Du and Guochuan Zhang, editors, CO-
COON, volume 7936 of Lecture Notes in Computer Sci-
ence, pages 197–207. Springer, 2013.

[Bha10] Bhaswar B. Bhattacharya. Maximizing Voronoi regions


of a set of points enclosed in a circle with applications to
facility location. J. Math. Model. Algorithms, 9(4):375–
392, 2010.

[BN13] Bhaswar B. Bhattacharya and Subhas C. Nandy. New


variations of the maximum coverage facility location
problem. European Journal of Operational Research,
224(3):477–485, 2013.

[Cap99] Paola Cappanera. A Survey on Obnoxious Facility Loca-


tion Problems. University of Pisa, 1999.

[CDBL+ 10] Sergio Cabello, José Miguel Dı́az-Báñez, Stefan Langer-


man, Carlos Seara, and Inmaculada Ventura. Facility
location problems in the plane based on reverse nearest
neighbor queries. European Journal of Operational Re-
search, 202(1):99–106, 2010.

[CEHP07] Otfried Cheong, Alon Efrat, and Sariel Har-Peled. Find-


ing a guard that sees most and a shop that sells most. Dis-
crete & Computational Geometry, 37(4):545–563, 2007.

124
[Cha53] Edward H Chamberlin. The product as an economic vari-
able. The Quarterly Journal of Economics, 67(1):1–29,
1953.

[Cha04] Timothy M. Chan. An optimal randomized algorithm for


maximum tukey depth. In Proceedings of the fifteenth
annual ACM-SIAM symposium on Discrete algorithms,
SODA ’04, pages 430–436, Philadelphia, PA, USA, 2004.
Society for Industrial and Applied Mathematics.

[CHPLM04] Otfried Cheong, Sariel Har-Peled, Nathan Linial, and Jirı́


Matousek. The one-round Voronoi game. Discrete &
Computational Geometry, 31(1):125–138, 2004.

[CVY11] Otfried Cheong, Antoine Vigneron, and Juyoung Yon. Re-


verse nearest neighbor queries in fixed dimension. Int. J.
Comput. Geometry Appl., 21(2):179–188, 2011.

[DDR09] Marcin Dziubinski, Debabrata Datta, and Jaideep Roy.


A location game on disjoint circles. International Game
Theory Review, 11(4):391–406, 2009.

[DH02] Zvi Drezner and Horst W. Hamacher. Facility location -


applications and theory. Springer, 2002.

[DKCar] Ivan Davydov, Yury Kochetov, and Emilio Carrizosa. A


local search heuristic for the (r|p)−centroid problem in
the plane. In Computers & Operations Research, 2013, to
appear.

[DKP13] Ivan Davydov, Yury Kochetov, and Alexandr Plyasunov.


On the complexity of the (r|p)−centroid problem in the
plane. TOP, pages 1–10, 2013.

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.

[Dre82] Zvi Drezner. Competitive location strategies for two facil-


ities. Regional Science and Urban Economics, 12(4):485–
493, 1982.

[DT07] Christoph Dürr and Nguyen Kim Thang. Nash equilibria


in Voronoi games on graphs. In Lars Arge, Michael Hoff-
mann, and Emo Welzl, editors, ESA, volume 4698 of Lec-
ture Notes in Computer Science, pages 17–28. Springer,
2007.

[Dzi11] Marcin Dziubinski. Location game on disjoint line seg-


ments. Int. J. Game Theory, 40(2):231–262, 2011.

[EL89] Horst A. Eiselt and Gilbert Laporte. Competitive spa-


tial models. European Journal of Operational Research,
39(3):231–242, 1989.

[ELT93] Horst A. Eiselt, Gilbert Laporte, and Jacques F. Thisse.


Competitive location models: A framework and bibliog-
raphy. Transportation Science, 27:44–54, 1993.

[FJ79] Greg Frederickson and Donald Johnson. Optimal algo-


rithms for generating quantile information in x + y and
matrices with sorted columns. 13th Ann. Conference on
Information Science and Systems, pages 47–52, 1979.

[FM05] Sándor P. Fekete and Henk Meijer. The one-round


Voronoi game replayed. Comput. Geom., 30(2):81–94,
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.

[FTM90] Terry L. Friesz, Roger L. Tobin, and Tan Miller. Existence


theory for spatially competitive network facility location
models. Ann. Oper. Res., 18(1):267–276, 1990.

[GB88] Avijit Ghosh and Bruce Buchanan. Multiple outlets in


a duopoly: A first entry paradox. Geographical Analysis,
20:111–121, 1988.

[GH89] Leonidas J. Guibas and John Hershberger. Optimal short-


est path queries in a simple polygon. J. Comput. Syst.
Sci., 39(2):126–152, 1989.

[GJ79] Michael R. Garey and David S. Johnson. Comput-


ers and Intractability: A Guide to the Theory of NP-
Completeness. W. H. Freeman, 1979.

[GMP+ 13] Dániel Gerbner, Viola Mészáros, Dömötör Pálvölgyi,


Alexey Pokrovskiy, and Günter Rote. Advantage in the
discrete Voronoi game. arXiv preprint arXiv:1303.0523,
2013.

[Hak83] S. Louis Hakimi. On locating new facilities in a com-


petitive environment. European Journal of Operational
Research, 12(1):29–35, 1983.

[Hoc96] Dorit S. Hochbaum. Approximation algorithms for N P-


Hard problems. PWS publishing company, 1996.

127
[Hot29] Harold Hotelling. Stability in competition. The Economic
Journal, 39(153):41–57, 1929.

[JM94] Shreesh Jadhav and Asish Mukhopadhyay. Computing a


centerpoint of a finite planar set of points in linear time.
Discrete & Computational Geometry, 12:291–312, 1994.

[LRL07] M. Dolores López, Javier Rodrigo, and Isabel Lillo. Two-


party political competition: A geometric study of the
Nash equilibrium in a weighted case. Applied Mathemati-
cal Sciences, 1(55):2715–2725, 2007.

[LS03] Stefan Langerman and William L. Steiger. Optimization


in arrangements. In Helmut Alt and Michel Habib, edi-
tors, STACS, volume 2607 of Lecture Notes in Computer
Science, pages 50–61. Springer, 2003.

[Mat91] J. Matoušek. Computing the center of planar point sets.


Computational Geometry: Papers from the DIMACS Spe-
cial Year, pages 221–230, 1991.

[MMPS08] Marios Mavronicolas, Burkhard Monien, Vicky G. Pa-


padopoulou, and Florian Schoppmann. Voronoi games
on cycle graphs. In Edward Ochmanski and Jerzy
Tyszkiewicz, editors, MFCS, volume 5162 of Lecture Notes
in Computer Science, pages 503–514. Springer, 2008.

[MZ86] Nimrod Megiddo and Eitan Zemel. An O(n log n) ran-


domizing algorithm for the weighted euclidean 1-center
problem. J. Algorithms, 7(3):358–368, 1986.

[MZH83] Nimrod Megiddo, Eitan Zemel, and S. Louis Hakimi. The


maximum coverage location problem. SIAM J. Alg. Disc.
Meth, 4(2):253–261, 1983.

128
[Nas50] John F Nash. Equilibrium points in n-person games. Pro-
ceedings of the National Academy of Sciences, 36(1):48–
49, 1950.

[Nas51] John Nash. Non-cooperative games. Ann. of Math.,


54(2):286–295, 1951.

[OR94] Martin J Osborne and Ariel Rubinstein. Course in game


theory. The MIT press, 1994.

[Pla01] Frank Plastria. Static competitive facility location: An


overview of optimisation approaches. European Journal
of Operational Research, 129(3):461–470, 2001.

[Sal79] Steven C Salop. Monopolistic competition with outside


goods. The Bell Journal of Economics, pages 141–156,
1979.

[SH75] Michael Ian Shamos and Dan Hoey. Closest-point prob-


lems. In 16th Annual Symposium on Foundations of Com-
puter Science, pages 151–162. IEEE Computer Society,
1975.

[Sla75] Peter J. Slater. Maximin facility location. Journal of


Research of the National Bureau of Standards, B. Mathe-
matical Sciences, 79:107–115, 1975.

[SSM12] Daniela Saban and Nicolas Stier-Moses. The competitive


facility location problem in a duopoly: Connections to the
1-median problem. In Paul W. Goldberg, editor, Internet
and Network Economics, volume 7695 of Lecture Notes in
Computer Science, pages 539–545. Springer Berlin Heidel-
berg, 2012.

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.

[Tuk74] John. W. Tukey. Mathematics and the picturing of data.


Proceedings of the International Congress of Mathemati-
cians, Vancouver, B. C., 2:523–531, 1974.

[VS10] Heinrich Von Stackelberg. Market structure and equilib-


rium. Springer, 2010.

[Web09] Alfred Weber. Über den standort der industrien. erster


teil: Reine theorie des standorts. Mohr, Tübingen, 1909.

[ZCT09] Yingchao Zhao, Wei Chen, and Shang-Hua Teng. The


isolation game: A game of distances. Theor. Comput.
Sci., 410(47-49):4905–4919, 2009.

130

You might also like