• No results found

Require: K, data set of size N and dimensionality d Ensure: K partitions optimized on the basis of objectives

1: initialize K cluster centers on d dimensional space

2: perform one iteration of Algorithm Algorithm 5.1 , steps 5-10

3: repeat

4: loadbe f ore← getLoad();SSEbe f ore← getSSE()

5: if∃k ∈ K | lk< lideal then

6: initialize a new game G1

7: P← {m | lm< lideal};R ← {n | ln> lideal}

8: for all rn| n = 1,··· ,R do

9: rn.overhead ← ln− lideal;rn.consistent ← 0

10: end for

11: for all pm| m = 1,··· ,P do

12: perform minimum cost initial allocation of resources from R, such that lm≈ lideal

13: end for

14: update ln;∀n ∈ R

15: for all rn| n = 1,··· ,R do

16: if ln> rn.overhead then

17: rn.con f lict ← 1

18: G1.createStrategySet(); %see Algorithm Algorithm 5.3 %

19: G1.createPayo f f (); %see Algorithm Algorithm 5.4 %

20: G1.evaluateNashEquilibrium(); %see Algorithm Algorithm 5.5 %

21: perform temporary reallocation of units to players according to Nash equilibrium

22: end if

23: rn.con f lict ← 0;rn.consistent ← 1

24: end for

25: loada f ter ← getLoad();SSEa f ter ← getSSE()

26: if %(load) > %(SSE) then

27: commit reallocations

28: update cluster centers according to step 2

29: else 30: break 31: end if 32: end if 33: until FALSE 93

Figure 5.1 Identification of optimum clusters using game theoretic clustering (GTKMeans) and KMeans methodologies. (a)Initial clusters identified by single iteration of KMeans, (b) final clus- ters after KMeans, (c) formulation of a game with players p1, p2, p3 and resources r1, r2, (d) final clusters after GTKMeans algorithm

5.3.2.1 Identification of Players

The steps involved during the algorithm can be described with the help of an example1 given in Figure 5.1. During initialization, the cluster centers are randomly generated for the d-dimensional data set. This is followed by the identification of initial clusters by performing a single iteration of the KMeans. As shown in Figure 5.1(a), the L and the SSE values of the initial clusters is not optimal. If the iterative KMeans as shown in Algorithm Algorithm 5.1 is implemented with the objective of minimization of SSE, the final value of the SSE is 38716 (Figure 5.1(b)). However, the corresponding

L value is 106.8, signifying that the clusters are not equi-partitioned. Hence, a game is formulated with

the objective of simultaneous clustering of objects on the basis of compactness and equi-partitioning.

1The data is taken from German Town Data, which is a two dimensional data set with 59 observations, obtained from

The first step in the formulation of the game is defining the components of the game, i.e., the players, the resources, the strategies, the payoff functions etc. In this model, the cluster centers with

lk< lideal, ∀k ∈ K are identified as the players in the game. Alternatively, the cluster centers with

lk > lideal, ∀k ∈ K, are considered as the resources in the game. The objective of a player is to re-

ceive the data objects from the resources in such a manner that his compactness objective and the equi-partitioning objectives are optimized simultaneously. In a situation where multiple players are requesting units from the same resource center, there is a conflict among the players, so every player competes against every other player in the game in order to maximize its own utility. One such exam- ple scenario is displayed in Figure 5.1(c), where the players p2and p3 will compete to receive units from the resource center r1.

5.3.2.2 Definition of Strategy

The feasibility of a game theoretic model largely depends upon the notion of strategy, which is a major factor in determining the computational complexity of the model. One way of defining the strategy for a player is to create a tuple consisting of the number of units that the player can request from every resource available in the system. For example, in Figure 5.1(c), the player p3, which requires 6 resource units to realize equi-partitioned situation, could have a strategy{1,5}, i.e., receive one resource unit from r1, and 5 units from r2. The strategy set for the player would consist of all possible combinations of resource units from the resource locations, and the strategy space increases exponentially with every unit increase in the number of resource centers. Hence, such a notion of strategy is applicable only for the games with very few resources, and an alternate notion of strategy has to be identified for this model.

Algorithm Algorithm 5.3 outlines the steps involved in the formulation of the strategy set for a player. Essentially, it is a two step process, in which, during the first step, the players try to receive resource units from the resource locations on the basis of minimum cost allocation methodology, ir- respective of the allocations made to the other players. Due to this, a situation may arise where the resource locations have allocated more resources than the overhead available with them. Therefore, for every such resource location, a game needs to be formulated and solved to ensure equi-partitioning. Hence, during step two, the cluster centers that have tried receiving resources from the resource lo-

cation in conflict are considered as the players in the game. The players’ strategies consist of the number of resource units they may have to loose in order to ensure that the corresponding resource location (for which the game has been formulated) is in consistent state, i.e., the resource location is equi-partitioned. An example scenario described in Figure 5.2 would be helpful in improving the understanding. As shown in Figure 5.2, the player p1 has requested 1 resource units from location

r1 and player p2has requested 4 units. Due to the requests, r1 may loose 5 units, which would lead to a situation where lr1 < lideal. However, the players only need to loose a total of 3 units and try

to receive those units from other resource locations to ensure that lr1= lideal. So, a game is played

between the players p1 and p2, with player p1’s strategy set as{0},{1}, and player p2’s strategy set as{0},{1},{2}, with the numbers indicating the resource units the players may have to loose in order

to ensure that the resource center is equi-partitioned. The players would receive a payoff for every strategy, which would be a function of the additional cost incurred for receiving the resources from the centers that are farther from the player, and the change in L value for the players and the resource. Modeling of the strategy in the proposed manner reduces the strategy space considerably. Also, the number of actual players per game is significantly less than the total number of players in the system, since not all players would have requested units from the resource location that is in the conflict sit- uation. Effectively, using this methodology, one large game is subdivided into several small games played in multiple steps.