approximating maximal cliques in ad-hoc networks - Berkeley Robotics

2 downloads 0 Views 108KB Size Report
affected by interference between links, and several efforts to model this effect ..... the conflict graph, the node density (i.e. link density in the actual graph) here is ...
APPROXIMATING MAXIMAL CLIQUES IN AD-HOC NETWORKS Rajarshi Gupta1 , Jean Walrand2 1

Dept. of EECS, University of California, Berkeley, CA 94720, USA, [email protected] Dept. of EECS, University of California, Berkeley, CA 94720, USA, [email protected]

2

Abstract - The capacity of an ad-hoc network is severely affected by interference between links, and several efforts to model this effect make use of ‘clique’ structures in the ad-hoc graphs. We propose a fully distributed heuristic algorithm to approximate cliques in such networks. We further propose methods to shrink the generated set of cliques to a set of maximal cliques. Simulation results verify the efficacy of the heuristic algorithms and also analyze their computation time. Keywords - Ad-Hoc Networks, Cliques, QoS Capacity, Unit Disk Graph. I. I NTRODUCTION With the advent of wireless technologies, ad-hoc networks have become commonplace. An ad-hoc network is formed by a group of wireless stations that communicate amongst themselves, and set up an “ad-hoc” network. Examples of ad-hoc networks include various sensor networks, military applications for a battalion of tanks, or civilian search-andrescue operations. Modelling of ad-hoc networks differs significantly from traditional wired networks. One fundamental difference is interference. In an ad-hoc network, when a station is transmitting to one of its neighbors, other neighbors need to be silent due to the interference in the medium. This is a well-studied feature and many researchers have dealt with various of its aspects. A set of wireless links all within the interference region of each other, is said to form a maximal clique in the conflict graph of the network (defined in Sec. II). Many ad-hoc algorithms, dealing with capacity, Quality of Service (QoS) and routing, use cliques. In this paper, we outline a computationally simple, and distributed heuristic method to compute cliques in an adhoc network. We present a step-by-step algorithm that lets us compute cliques in a small and deterministic amount of time, and eventually shrinks the set of cliques generated to a set of maximal cliques. The conflict graph representation of an ad-hoc network belongs to a special class of graphs called Unit Disk Graphs [1], where two vertices are joined by an edge iff their Euclidean distance is less than 1. In fact, the methods presented in this paper can be used in any Unit Disk Graph. Hence these methods are applicable to a much broader class of graph problems, rather than those arising out of ad-hoc networks alone.

The paper is structured as follows. In Sec. II, we present the background for this idea and also the related work in this field. Sec. III and IV present the heuristic algorithms and analyze their performance. In Sec. V, we present results from simulations carried out to test the algorithms. Finally we end with a section on Conclusions and Future Work. II. BACKGROUND AND R ELATED W ORK It is natural to depict an ad-hoc network as a bi-directional graph G = (V, E) where V is the set of vertices, which are the ad-hoc stations, and E is the set of links, which are the connecting edges formed by stations that are within transmission range of each other. We call G the connectivity graph. Interferences in such a network can be modelled as a conflict graph GC = (V C , E C ). This has variously been called the Contention Graph [2], the Interference Graph [3], or the Conflict Graph [4]. Every link in the connectivity graph is denoted by a node in the conflict graph. Using the above notation, if vertices i, j ∈ V are such that link lij ∈ E, then we get node lij ∈ V C . And (lij , lpq ) ∈ E C if links lij and lpq interfere with each other. Note the terminology here – we use the terms ‘vertex’ and ‘link’ for the connectivity graph, and the synonymous terms ‘node’ and ‘edge’ for the conflict graph. In the conflict graph, two nodes (i.e. links in the network graph) cannot be active at once if they have an edge between them. To extend this further, only a single node may be simultaneously active in any complete subgraph [3], [4]. We present here a few definitions well-known in graph theory. Consider a bi-directional graph with nodes and edges. An induced subgraph is a subset of the nodes together with any edges whose endpoints are both in this subset. An induced subgraph that is a complete graph is called a clique. A maximal clique of a graph is a clique such that it is not contained in any other clique. In Fig. 1, ABC, BCF E and CDF are all maximal cliques. We cite here a sampling of papers in the ad-hoc networking arena that utilize the concept of cliques for scheduling, routing and QoS purposes. In [3], the author uses these ideas for optimizing traffic flows, while the authors of [4] use cliques to derive an upper bound on the maximum capacity of an ad-hoc network. In [5], the authors propose a cliquebased pricing approach to optimize resource allocation. All these papers require the computation of maximal cliques, preferably in a simple and distributed manner.

diameter = interference radius

A

Circle 0 B

C

Disk 3

D

Disk 1

E

F

Fig. 1 Example of cliques in a graph

Cliques have been studied in great detail in the area of graph theory. Algorithms to generate maximal cliques from any general graph were first introduced by Harary and Ross [6] in 1957. During the 1960s and 1970s, the Bierstone Algorithm was developed [7], [8], and was further refined in [9]. The number of maximal cliques in a graph is typically exponential, as such algorithms are consequently (e.g. [10]). While the above algorithms also work for ad-hoc networks, our specific applications often do not require complete accuracy and correctness. Consequently, we make some key observations with regards to the geographic structure of ad-hoc networks, and propose computationally simple heuristic approximations. III. A LGORITHMS A. Assumptions Before we present the algorithms, it is important to outline some of the assumptions. We assume a simplified geographic model whereby all vertices are located in a plane. Vertices are said to be connected to each other if their Euclidean distance is less than the transmission radius of their radios. The interference radius of an ad-hoc station is often two to three times its transmission radius. Note that we do not consider an uneven topology with hills or other obstructions. To consider the effect of interference, we consider the Protocol Model described in [11]. As outlined there, we identify a link by its mid-point, and consider two links to be interfering whenever their mid-points lie within an interference radius of each other. In order for the distributed algorithms to function, we assume that each link (i.e. the station at one end of the link) is aware of all its interference neighbors, as well as their locations. B. All Cliques around a Link The specific problem we are addressing is for each link to compute the set of maximal cliques that it belongs to. Our approximation hinges on two key observations. First, consider a link L that is aware of all its interference neighbors and their locations. All links interfering with L, and consequently all cliques that L belongs to, must lie

interference radius

Link L

Disk 2

Fig. 2 Approximating cliques using scanning disks

within a circle of radius ω, where ω = interference radius (Circle 0 in Fig. 2). In the figure, all links are shown with black dots, with link L, located at (Lx , Ly ) at the center. Next, consider a disk of radius ω/2 (Disk 1). Since the diameter of this disk is the interference radius, every link that lies within this disk must be interfering with every other. Thus the set of all links that lies within Disk 1 forms a clique. Similarly, all links within Disk 2, and within Disk 3, also form cliques around link L. We can now present the simple algorithm to compute all cliques around a link. Basically, we take a disk of radius ω/2 and use it to scan the larger circle of radius ω. Given: All links within ω of link L Output: All cliques around link L 1. for R = 0 to ω/2 step r 2. for Θ = −π to +π step θ 3. Take disk with: 4. radius = ω/2 5. center = (Lx + R cos Θ, Ly + R sin Θ) 6. Output Clique 7. next Θ 8. next R In step 6, the clique output is simply the list of all links within the scanning disk. The step size θ in the angular direction is also a function of r. Depending on the current distance of the scanning disk from the center, we need to choose an appropriate θ such that the displacement of the scanning disk equals r. By geometry (as shown in Fig. 3), we need ³ r ´ r/2 θ ⇒ θ = 2sin−1 . sin = 2 R 2R The computational complexity of this algorithm is primarily determined by the step size r. Using a large value for r will speed up the algorithm by reducing the number of cliques generated, but we run the chance of missing a clique that lies between two consecutive positions of the scanning disk. (We provide the analysis in Sec. IV).

if oldClique contains newClique discard newClique; else if newClique contains oldClique overwrite oldClique by newClique; remember newClique; else add newClique to set of Cliques; remember newClique; end Fig. 3 Choosing appropriate step size θ

Note that while the above algorithm generates a set of cliques that link L belongs to, this is generally a superset of all the maximal cliques that L is a part of. In Sec. III-D, we present a heuristic algorithm to shrink this to the required set of maximal cliques. C. Expanded Scanning Disk In case we want to eliminate the probability of missing a clique, we may err on the side of caution by using the same step size r, but considering a scanning disk of radius ( ω2 + 2r ). This choice generates super-maximal cliques since the enhanced disk may cover some extra links. However, we are guaranteed to not miss any cliques since consecutive expanded disks overlap the step size. D. Shrinking to a Set of Maximal Cliques One advantage of the algorithm given in Sec. III-B is that it always generates a fixed known number of cliques. This property would be useful if we wanted an uniform incidence-matrix kind of representation for all cliques that a link belonged to (such a representation required in [12] was the motivation for this work). Typically though, we would like to generate only the set of all maximal cliques that a link belongs to. As each clique is generated, we can compare it against all existing cliques to check for duplicates and containments. This brute-force method is O(K 2 N ), where K is the number of cliques and N the number of links. To reduce the complexity, we have developed another heuristic to shrink the set of cliques as they are generated. We observe that if one clique is a subset of another, then most of their members are common, and they are likely to be found by adjacent positions of the scanning disk. To make use of this, the algorithm in Sec. III-B follows the radial co-ordinate system and uses the radial axis R as the outer loop, ensuring that the scanning disk does not have any discontinuous jumps. Then we only need to remember one old clique, making this an O(N ) algorithm.

Of course, this heuristic only shrinks the set of cliques generated, but does not yet guarantee that these cliques are maximal. To finally obtain the set of maximal cliques, we can apply the brute-force O(K 2 N ) algorithm on this resultant set. This now runs on a much smaller set, and is hence quicker. During the simulations (Sec. V), we have found a combination of the two heuristics to find the set of maximal cliques around a link, typically within a few seconds. E. All Maximal Cliques in a Network (Centralized) We can apply the same method to quickly find all maximal cliques in an ad-hoc network. This assumes centralized processing where the locations of all the ad-hoc nodes are known. We then use the scanning disk method and use a disk of radius ω/2 to scan the entire region. In order for the shrinking algorithm (Sec. III-E) to work effectively, we need to ensure that there are no discontinuous jumps during the scanning. One way to achieve this is to scan the top row from left to right, the next one from right-to-left, and so on. IV. A NALYSIS Consider the computation of cliques around Link 5 in Fig. 4. The initial position of the scanning disk yields a clique consisting of links {1, 2, 3, 4, 5, 6, 7, 8}. And the next position will yield a clique {3, 4, 5, 6, 7, 8, 9, 10}. However, another clique {2, 3, 4, 5, 6, 7, 8, 9} could also have been identified if we had considered the intermediate position. If our step size is too large, we are liable to miss such intermediate cliques between consecutive positions of the scanning disk. Consider an ad-hoc network spread over an area A, with N nodes in it. Assuming an uniform node distribution in the conflict graph, the node density (i.e. link density in the actual graph) here is A/N . If we consider a small area a in this region, the probability of having a specific node in a is a/A. Then, the probability of having at least one node in a a N ) }. is given by {1 − (1 − A Suppose the step size of our algorithm is r. As shown in Fig. 4, consider an intermediate position of the scanning disk that is x distance from the initial position. Recall that the diameter of the scanning disk is the interference radius ω. Then, the new area covered by moving the disk is π ω2 x. We miss an intermediate clique if two conditions are satisfied: At least one new node (e.g. Node 9 here) came

Plotting the Clique Sizes generated by the Heuristic Algorithm

Intermediate Position

250 After heuristic shrinking Maximal cliques Step Size in m

Next Position 4

6

2

9

r-x

5

8

x

10

3

200

Number of Cliques per Link

Initial Position

150

100

50

1 7 0

0

5

10

15 20 25 Node Density (in nodes/sq.km)

30

35

40

Fig. 4 Missing a clique while using the scanning disk method

Fig. 5 Number of cliques per link

under the disk upon shifting it by x. And at least one old node (e.g. Node 2 here) went out when we shifted the disk by another (r − x), to its final position. Specifically,

cliques. As seen in the table below, the heuristic methods are able to accurately determine the cliques in the network in most cases (the number of cliques in the grid could not be analytically determined).

= × = =

Prob of missing clique when shifting by r {Prob of getting new node when shifting by x} {Prob of losing node by further (r − x) shift} ( µ ¶ )( µ ¶N ) π ω2 x N π ω2 (r − x) 1− 1− 1− 1− A A n on o N N 1 − (1 − kx) 1 − (1 − k(r − x)) ,

where k = πω 2A . This function achieves its maximum at x = r/2. Thus, the worst probability for missing a clique is n ¢ o2 ¡ r N . 1 − 1 − k2 The node density of the ad-hoc network, and the acceptable miss probability (depending on the application) determines the appropriate step size. E.g., for an ad-hoc network representative of tanks in a battlefield (50 tanks in a field of size 2.5km × 2.5km, and ω = 1km), a step size of 25m yields a miss probability of 2.1%. V. S IMULATION R ESULTS In this section we present results of simulations using Matlab. We place ad-hoc stations at random in a field of desired size, and compute the cliques at each link. The set of generated cliques are then shrunk using the heuristic method, and shrunk again (as in Sec. III-D) to yield the set of maximal cliques. A. Checking for Correctness We test the correctness of the heuristic algorithms against simple graphs for which we can analytically determine the

Table 1 Correctness of heuristic approximations. Name Line Pentagon Grid 1 Cluster 2 Clusters

Nodes

Links

6 10 25 10 30

10 5 80 90 210

No. of Cliqs Act. Hrstc. 3 3 5 5 ? 56 1 1 2 2

Max Cliq Size Act. Hrstc. 6 6 2 2 24 24 90 90 105 105

B. Performance Evaluation Our simulation results cover a wide range of field sizes and node densities. We begin by randomly placing 10 nodes in a 0.5km × 0.5km area, yielding a node density of 40 nodes/km2 . We achieve other node densities by increasing both the number of nodes and the dimensions of the field in the same proportion (e.g. 50 nodes in a 2.5km × 2.5km area). Each point on the graphs represents the average of runs over four separate random networks. The step size, chosen appropriately based on the node density (as given in Sec. IV), is plotted alongside the other numbers as a dotted line, expressed in m. In Fig. 5, we plot the average number of cliques per link, versus the node density. We plot the number of cliques generated after heuristically shrinking the set, and again after shrinking to the set of maximal cliques. Fig. 6 plots the most important characteristic of our heuristic algorithms – their processing times. We plot the

Plotting the Computation Times for the Heuristic Methods

of all its interference neighbors; so we would like our algorithms to be robust to incomplete information in this regard. We would also like to address the case when different ad-hoc stations have different transmission and interference regions, as seen with non-uniform radios and terrain obstructions. Further, in a dynamic ad-hoc environment, the topology of the network, and hence that of the conflict graph can undergo frequent changes. Rather than recompute all maximal cliques upon topology changes, we would like to develop methods to only make incremental modifications to existing cliques.

15

Computation Time per Link

Heuristic shrinking alone Shrinking to maximal cliques Step Size in m (scaled by 1/10)

10

5

ACKNOWLEDGMENTS 0

0

5

10

15 20 25 Node Density (in nodes/sq.km)

30

35

40

Fig. 6 Computation times for heuristic clique algorithms

average time taken per link to compute all the cliques that the link belongs to, and to heuristically shrink the set. We also plot the time required to shrink further to the set of maximal cliques. As seen from the plot, heuristically shrinking the set of cliques requires only about 1 sec/link, for all cases except the very dense network. The computation time needed to reach the maximal cliques rises to 14.32 sec/link before falling below 10 sec/link. As the network gets denser, the heuristic algorithm takes longer, but generates fewer cliques – so the time taken for the brute-force algorithm to shrink to maximal cliques is lessened. We see from the two plots that the heuristic method alone is able to shrink the cliques to a small set. This is often adequate, if the cliques are used for frequent and quick processing (e.g. admission control in [12]). On the other hand, elaborate processing using the cliques (e.g. routing using clique constraints) might benefit from shrinking the set of cliques further to the maximal set – thereby incurring the additional processing time. VI. C ONCLUSIONS AND F UTURE W ORK Cliques are an important structure in ad-hoc networks and are used in a variety of related applications. In this paper, we make certain key observations about the structure of these networks, and propose a heuristic algorithm to generate cliques in ad-hoc networks. Our algorithm is fully distributed, and works with minimal state information. We also propose a further heuristic to shrink the set of cliques generated to a more optimal set. Simulation results show that the heuristic algorithms are able to compute the cliques in a very short amount of time. We make some simplifying assumptions with respect to ad-hoc networks. A link may not know about the positions

Special thanks to John Musacchio for help with Matlab implementations, and for suggesting the expanded scanning disk in Sec. III-C. R EFERENCES [1] A. Graf, M. Stumpf, and G. Weisenfels, “On Coloring Unit Disk Graphs,” Algorithmica, vol. 20, no. 3, pp. 277293, 1998. [2] H. Luo, S. Lu, and V. Bhargavan, “A New Model for Packet Scheduling in Multihop Wireless Networks,” Proc. ACM Mobicom, 2000, pp. 76-86. [3] A. Puri, “Optimizing Traffic Flow in Fixed Wireless Networks”, Proc. WCNC 2002. [4] K. Jain, J. Padhye, V. N. Padmanabhan, and L. Qiu, “Impact of Interference on Multi-hop Wireless Network Performance,” ACM Mobicom 2003, San Diego, CA, USA, September 2003. [5] Y. Xue, B. Li, and K. Nahrstedt, “Price-based Resource Allocation in Wireless Ad-Hoc Networks,” in Proc. IWQoS 2003, Monterey, California, June 2003. [6] F. Harary, and I. C. Ross, “A Procedure for Clique Detection Using the Group Matrix,” Sociometry, vol. 20, pp. 205-215, 1957. [7] E. Bierstone, “Cliques and Generalized Cliques in a Finite Linear Graph,” Unpublished Report, 1960s. [8] J. G. Augustson, and J. Minker, “An Analysis of Some Graph Theoretical Cluster Techniques,” Journal of the ACM (JACM), vol. 17, no. 4, pp. 571-588, October 1970. [9] C. Bron and J. Kerbosch, “Finding All Cliques in an Undirected Graph,” Communications of the ACM, vol. 16, pp. 575–577, 1973. [10] S. Tsukiyama, M. Ide, H. Ariyoshi, and I. Shirakawa, “A New Algorithm for Generating all the Maximal Independent Sets,” SIAM Journal of Computing, vol. 6, pp. 505–517, 1977. [11] P. Gupta, and P. R. Kumar, “The Capacity of Wireless Networks,” IEEE Transactions on Information Theory, vol. 34, no. 5, pp. 910-917, 2000. [12] R. Gupta, J. Musacchio, and J. Walrand, “On-Line Capacity Estimation for QoS in Ad-Hoc Networks,” Preprint. Available at: www.eecs.berkeley.edu/∼guptar/RGpublications.html.

Suggest Documents