Algorithms for Wireless Network Design MohammadTaghi HajiAghayi Labs – Research Purposes of this Talk Real-world applications with deep algorithmic underpinnings and consequences Present several problems motivated by (wireless sensor) networks Show how we can tie together theory and practice Demonstrate nice intersections of wireless multi-hop networks, algorithmic graph theory, probability theory, computational geometry, computational economics and finally computational complexity Outline Focus on two real-world applications Power optimization in fault-tolerant topology control and related problems The low coverage problem and related problems Conclusion Power Optimization in Fault-Tolerant Topology Control Wireless multihop networks Power is the main limitation Power assignment Simple low-power devices A power setting for each device Defines possible communication links Power versus distance: It takes power rc to transmit a message to distance r for some power attenuation exponent c between 2 and 4. Power Optimization in Fault-Tolerant Topology Control Goal: Minimize power usage while maintaining key network properties Connectivity: There is a communication path between any pair of nodes k-Fault tolerance: Connectivity is maintained in light of at most k-1 failures Device failures (our focus) Communication link failures By k-Fault tolerance, we also have k-disjoint paths and thus higher network capacity Model A wireless network is modeled as a graph G(V,E) with cost functions d and p on E V is the set of mobile devices E is the set of pairs of devices which can communicate bi-directionally duv is the distance between device u and v puv is the power needed to transmit between device u and v (usually it is distance to the power attenuation exponent) Model Conversely, a subgraph H=(V,E’) of the network graph G defines an assignment of power settings: device u transmits at p(u) = max {(u,v) in E’} puv The power used by a wireless network with power settings defined by H is P(H) = Σ u in V p(u) Problem Formulation Given A wireless network Find An assignment of power settings that guarantees k-fault tolerance while minimizing power usage Recall k-fault tolerance means the network remains connected even when up to k-1 devices (or communication links) fail Related Results for Power Minimization Connectivity Cone-based local heuristics [Rodoplu, Meng ’99; Wattenhofer, Li, Bahl, Halpern, Wang ’02] A 2-approximation based on minimum weight spanning tree [Kerousis, Kranakis, Krizanc, Pelc ’00] A 1.69-approximation based on minimum weight Steiner tree and a more practical 1.875approximation [Calinescu, Mandoiu, Zelikovsky ’02] Related Results for Power Minimization 2-Fault tolerance Heuristic to minimize maximum transmit power [Ramanathan, Rosales-Hain ’00] (the only previous result) Fault tolerance for general k Pioneered in [Bahramgiri, H., Mirrokni, WINET] and [H., Immorlica, Mirrokni,IEEE/ACM TON] More than 100 references Cone-Based Heuristic Algorithm: Input: A set of nodes on the plane, with max. power P Each node increases its power until the angle between any two consecutive neighbors is less than some threshold or it reaches its maximum power P. Output: two nodes are connected if both can hear each other with the new power assignment Theorem [BHM’02]: If the network of max. powers is k-connected and the angle between any pair of adjacent neighbors is at most 2π/3k, then the new network is k-connected (2π/3k is almost tight) Main disadvantage: The algorithm is local and thus does not give any bound on the global goal of minimizing sum of the powers (or the average power) Approximating Connectivity Recall the power P(H) of subgraph H is P(H) = Σ u in V p(u) where p(u) = max {(u,v) in H(E)} puv Define the weight W(H) of subgraph H as W(H) = Σ (u,v) in H(E) puv Approximating Connectivity Theorem [KKKP ’00]: The minimum weight spanning tree MST of G uses at most twice as much power as the minimum power connected subgraph OPT of G. Lemma 1: For any graph G, P(G) ≤ 2W(G). Lemma 2: For any tree T, W(T) ≤ P(T). Lemma 3: OPT is a tree Proof (of Thm): From the above lemmas, P(MST) ≤ 2W(MST) ≤ 2W(OPT) ≤ 2P(OPT). Approximating k-Connectivity Theorem: The minimum weight k-connected subgraph of G is a 2k-approximation to minimum power k-connected subgraph Proof sketch: use Mader’s theorem to decompose a graph into k forests and then use the previous results for forests (trees) Minimum weight k-connected subgraph: an LP-based algorithm gives a solution of weight at most O(log k) times optimal weight (n is at least 6k2) [Cheriyan, Vempala, Vetta, STOC’02], [Kortsarz, Nutov, STOC’04] Approximating k-Connectivity Thus there is an O(k log k) approximation for minimum power k-connected subgraph A more complicated combinatorial algorithm gives an O(k) approximation First we find a 2-approximation to the minimum weight k-outconnected sub-graph using matroid matching We can add k-2 disjoint paths to this graph in order to make it k-connected via a min-cost k-flow algorithm We pay a factor O(k) in each of the above two steps to go from weight to power Approximating k-Connectivity Furthermore, a more subtle approach gives O(log4n) approximation, an improvement when k is large [H., Kortsarz, Mirrokni, Nutov, IPCO’05, also Math. Prog.’07] Theorem: If there are c-approximation for min. weight k-connected sub. d-approximation for min. power k-edge cover Then we have 2c+d-approximation for min power k-edge cover: sub-graph with min. degree ≥ k c is in O(log n) by previous results 4 d is in O(log n) by a new involved algorithm There are some hardness results for the k-edgeconnectivity case (the best factor is in O(√n)) Distributed (Local) Approximation Algorithm: [H., Immorlica, Mirrokni, MOBICOM’03] Construct minimum weight spanning tree with O(n log n + m) messages [Gallager, Humbler, Spira, ’83] Use local augmentation to create a k-connected sub-graph with O(n) messages Theorem: If puv= (duv)c for all pairs of nodes and we have metricity of distances, then the algorithm is an O(1)-approximation when k is constant. Comparing via simulations on random or real inputs Some other variants [Bredin, Demaine, H., Rus, MobiHoc’05], [Demaine, H., Mahini, Oveis, Sayedi, Zadi,SODA’07] A Related Problem: Repairing Fault-Tolerance Problem Formulation: given an initial placement of nodes (the unit disk graph model) Objective: Add minimum number of nodes to obtain connectivity Or minimize maximum/average movement of the current nodes without adding any new node More generally obtaining k-fault tolerance or k-connectivity of the whole network Approximation Algorithms for Repairing the Network Minimum number of added nodes to obtain connectivity: 5/2-approximation [Du, Wang, Xu, 2001] More generally obtaining k-fault tolerance or kconnectivity: O(k4)-approximation (Simple Algorithm, Complicated Analysis) [Bredin, Demaine, H., Rus, MobiHoc’05] More generally minimizing movement to obtain a new configuration with a property P (e.g. being connected being independent, having a perfect matching, etc.) More formally the goal of movement problem is to move the agents into a configuration containing at most h vertices that contain all k agents and induce a “good” target patterns, i.e., an induced graph, in the given set G. Agents can have even different colors. Minimizing Movement: Fixed-Parameter Tractability Fixed-parameter algorithms: Parameterize problem by parameter P (typically, the cost of the optimal solution) and aim for f(P) nO(1) (or even f(P) + nO(1)) There is an FPT algorithm for Vertex Cover There is no FPT algorithm for Dominating Set Minimizing Movement: FPT (cont’d) CONNECTIVITY. Move the pebbles (agents) so that they are connected and on distinct vertices GRID. Move the k2 pebbles so that they form a k × k grid. s-t CONNECTIVITY. Move the pebbles to form a path of pebbled vertices between fixed vertices s and t. STEINER CONNECTIVITY. Connect the red pebbles by moving the blue pebbles to form a Steiner tree. Minimizing Movement: FPT (cont’d) 2-CONNECTIVITY. Move the pebbles so that they induce a 2connected graph and the pebbles are on distinct vertices. s-t d-CONNECTIVITY. Move the pebbles so that there are d vertex-disjoint paths using pebbled vertices between two fixed vertices s and t. s-t d-EDGE-CONNECTIVITY. Move the pebbles so that there are d edge-disjoint paths of pebbled vertices between s and t. FACILITY LOCATION. Move client and facility pebbles so that each client pebble is within distance at most d from at least one facility pebble. MATCHING. Move the pebbles so that the pebbles are on distinct vertices and there is a perfect matching in the graph induced by the pebbles. Minimizing Movement Essentially all these problems are polynomialy hard to approximate or at least there is no algorithm better than √n-approximatoin (for max connectivity and max path there are such algorithnms) [Demaine, H., Mahini, Oveis, Sayedi, Zadi, SODA’07] But all of them except GIRD, 2-CONNECTIVITY, and FACILITY LOCATION with unbounded number of clients have FPT algorithms which are quite surprising and interesting for practical purposes [Demaine, H.,Marx, Submitted’07] Outline Focus on two real-world applications Power optimization in fault-tolerant topology control and related problems The low coverage problem and related problems Conclusion Interference Problem The Low Coverage Problem, Motivation [Demaine, H., Feige, Salavatipur, SODA’06, SICOMP] The problem is a bit simplified formulation of a realworld application in Bell-Labs Input: Decomposition of the plane into regions with various client densities n base station locations, each with a set of options for power/directional cones/etc and a cost for each one Budget limiting the total cost of options Satisfaction sk for covering a region by k> 0 base stations where s1≥ s2 ≥ s3 ≥ . . . ≥ 0 (simplified version s1=1 and s2=s3=. . .=0 is called budgeted unique cover.) Goal: Find a set of base stations and options within the total budget which maximizes the total satisfaction weighted by client densities The Unique Coverage Problem [Demaine, H., Feige, Salavatipur, SODA’06] The Unique Coverage Problem: Given a universe U of n elements, and Given a collection S of subsets of U. Find a sub-collection S’ , a subset of S, which maximizes the number of elements that are uniquely covered, i.e., appear in exactly one set of S’ The Budgeted Unique Coverage Problem: Given profits for elements and costs for subsets, and Given also a budget B Find a sub-collection S’, a subset of S, whose total cost is at most B and maximizes the total profit of elements that are uniquely covered The Unique Coverage Problem The budgeted case is almost equivalent to the wireless network problem It has the same flavor of the maximum coverage problem (has e/(e-1)-approximation) Unique coverage is a generalization of MAX-CUT It has very close connections to the radio broadcast problem (considered extensively) For simplicity, we focus on the (un-budgeted) unique coverage problem in the rest of the talk The Unique Coverage Problem Simple O(log n) approximation algorithm Partition the elements into log n classes according to their degrees, i.e., the number of sets that cover an element Let i be the class of maximum cardinality Choose a set in S to be in S’ with prob. 1/2 i Proof Sketch: we uniquely cover 1/e2 fraction of elements of class i in expectation Can be de-randomized by the standard method of conditional expectation Can be generalized for budgets, real-world O(log B) where B is the max size of a subset (nontrivial) Hardness Result The algorithm seems naïve Several other problems have the same solution Can we do better? It seems combination sometimes can be hard Theorem: This problem is hard to approximate within a factor better than O(logc n), 0<c<1, unless NP has a sub-exponential algorithm. O(log1/3 n) hard or even O(log n) hard under stronger but plausible complexity assumptions Proof Ideas B: Elements A bad instance that we cannot uniquely cover > 1/log n fraction A: Sets 2 i random subsets In this graph, at most O(n) elements of B can be uniquely covered by sets of A Bi : Class i Proof Ideas Bipartite Independent Set (BIS) problem: Given a bipartite graph G(A UB,E) where |A|=|B|=n Find a bipartite sub-graph G’(A’ UB’, E’) where |A’|=a, |B’|=b and E’ is an empty set. Theorem: Unless NP has sub-exponential algorithm, it is hard to decide between (n c,n/logdn)-BIS and (n c’ ,n/logd’ n)-BIS where 0<c’<c ≤1 and 0 ≤ d<d’ ≤1 Now between A and Bi we put a random matching and an instance of BIS where the edges remain with probability 1/2i-1 For Yes instance, we have a unique cover of size Ω(nlog1-d n) For No instance, we have a unique cover of size at most O(nlog1-d’n) The inapproximability threshold can be improved under other stronger but still plausible complexity assumptions Other Aspects of the Results Unique coverage is the first natural maximization problem with almost logarithmic-hardness We believe that it can be a central problem for maximization problems like set cover for minimization problems Toward this end, we obtain the same almost logarithmic hardness for envy-free pricing, an important problem in computational economics considered by [Guruswami, Hartline, Karlin, Kempe, Kenyon, McSherry, SODA’05] Other maximization candidates: deadline TSP [BBCM, STOC’04] and budgeted connected sub-graph [Moss, Rabani, STOC’01] where both have O(log n) approximation but not better so far Finally, better models of interference for the real-world application also has been considered via some primal-dual schemas and also simulations on real-world inputs [Bahl, H., Mirrokni, Qui, Saberi,IEEE TMC] Application of Market Equilibrium in Distributed Load Balancing [Bahl, H., Jain, Mirrokni, Qui, Saberi,IEEE TMC] Wireless devices Cell-phones, laptops with WiFi cards Referred as clients or users interchangeably Demand connections to access points Uniform for cell-phones (voice connection) Non-uniform for laptops (application dependent) Application of Market Equilibrium in Distributed Load Balancing [Bahl, H., Jain, Mirrokni, Qui, Saberi,IEEE TMC] Access points Capacities Cell-towers, Base stations, Wireless routers Total traffic they can serve Integer for cell-towers Variable transmission power Capable of operating at various power levels Assume levels are continuous real numbers Clients to APs assignment Assign clients to APs in an efficient way No over-loading of APs Assigning the maximum number of clients and thus satisfying maximum demand One Heuristic Solution A client connects to the AP with reasonable signal and then the lightest load Requires support both from AP and Clients APs have to communicate their current load Clients have WiFi cards from various vendors running legacy software Overall it has limited benefit in practice Ideal Case We would like a client connects to the AP with the best received signal strength If an AP j transmitting at power level Pj then a client i at distance dij receives signal with strength Pij = a.Pj.dij-c where a and c are constants capturing various models of power attenuation Cell Breathing Heuristic An overloaded AP decreases its communication radius by decreasing power A lightly loaded AP increases its communication radius by increasing power Hopefully an equilibrium would be reached Will show that an equilibrium exist Can be computed in polynomial time Can be reached by a tatonnement process Lets start with economics and game theory Market Equilibrium – A distributed load balancing mechanism. Fisher setting with linear Utilities: m buyers (each with budget Bi) and n goods for sale (each with quantity qj) Each buyer has linear utility ui, i.e. utility of i is sumj uij xij where uij>= 0 is the utility of buyer i for good j and xij is the amount of good j bought by i. A market equilibrium or market clearance is a price vector p that maximizes utility sumj uij xij of buyer i subject to his budget sumj pj xij <= Bi The demand and supply for each good j are equal sumj xij = qj (and thus the budgets are totally spent). Fisher Setting with Linear Utilities Goods Buyers M 1 , u1 u1 j x1 j q1 j xij M i , ui uij xij j M n , un unj xnj j uij xij qj qm Market Equilibrium – A distributed load balancing mechanism. Static supply Prices Analogous to received signal strength function Either all clients are served or all APs are saturated corresponding to powers at APs Utilities corresponding to capacities of APs Analogous to the market clearance(equiblirum) condition Thus our situation is analogous to Fisher setting with linear utilities Clients assignment to APs APs Clients D1 , u1 max P1 j x1 j C1 j xij Pij xij Di , ui max Pij xij j Dn , un max Pnj xnj j Cj Cm Analogousness Is Only Inspirational Get inspiration from various algorithms for the Fisher setting and develop algorithms for our setting Though we do not know any reduction – in fact there are some key differences Differences from the Market Equilibrium setting Demand Price dependent in Market equilibrium setting Power independent in our setting Is demand splittable? Yes for the Market equilibrium setting No for our setting Market equilibrium clears both sides but our solution requires clearance on either client side or AP side This also means two separate linear programs for these two separate cases Three Approaches for Market Equilibrium Convex Programming Based Primal-Dual Based Eisenberg, Gale 1957 Devanur, Papadimitriou, Saberi, Vazirani 2004 Auction Based Garg, Kapoor 2003 Three Approaches for Load Balancing Linear Programming Primal-Dual Minimum weight complete matching Uses properties of bipartite graph matching Auction Useful in dynamically changing situation Linear Programming Based Solution Create a complete bipartite graph One side is the set of all clients The other side is the set of all APs, conceptually each AP is repeated as many times as its capacity (unit demand) The weight between client i and AP j is wij = c.ln(dij) – ln(a) Find the minimum weight complete matching Theorem Minimum weight matching is supported by a power assignment to APs Power assignment are the dual variables Two cases for the primal program which is known at the beginning Solution can satisfy all clients Solution can saturate all APs Case 1 – Complete matching covers all clients minimize iC , jA wij xij subject to i C x ij 1 x ij Cj jA j A iC i C , j A xij 0 Case 1 – Pick Dual Variables minimize iC , jA wij xij subject to i C x ij 1 i x ij Cj j jA j A iC i C , j A xij 0 Write Dual Program maximize C iC i jA j j subject to i C , j A j A i j wij j 0 xij Optimize the dual program Choose Pj = e π Using the complementary slackness condition we will show that the minimum weight complete matching is supported by these power levels j Proof Dual feasibility gives: -λi ≥ πj – wij= ln(Pj) – c.ln(dij) + ln(a) = ln(a.Pj.dij-c) Complementary slackness gives: xij=1 implies -λi = ln(a.Pj.dij-c) (Remember if an AP j transmitting at power level Pj then a client i at distance dij receives signal with strength Pij = a.Pj.dij-c) Together they imply that i is connected to the AP with the strongest received signal strength Case 2 – Complete matching saturates all APs minimize iC , jA wij xij subject to i C x ij 1 x ij Cj jA j A iC i C , j A xij 0 Case 2 – The rest of the proof is similar Unsplittable Demand minimize iC , jA wij xij subject to i C x jA j A 1 D x iC i C , j A ij i ij Cj xij 0 Unsplittable Demand The integer program is APX-hard in general (because of knapsack) Assuming that the number of clients is much larger than the number of APs, a realistic assumption, we can obtain a nice approximation heuristic. First we compute a basic feasible solution Analysis of Basic Feasible Solution minimize iC , jA wij xij subject to i C x jA j A 1 D x iC i C , j A ij i ij Cj xij 0 Approximate Solution All xij’s but a small number of xij’s are integral Theorem: Number of xij which are integral is at least the number of clients – the number APs Most clients are served unsplittably Clients which are served splittably – do not serve them The algorithm is almost optimal Discrete Power Levels Over the shelf APs have only fixed number of discrete power levels Equilibrium may not exist In fact it is NP-hard to test whether it exists or not If every client has a deterministic tie breaking rule then we can compute the equilibrium – if exists under the tie breaking rule Discrete Power Levels Start with the maximum power levels for each AP Take any overloaded AP and decrease its power level by one notch If an equilibrium exist then it will be computed in time mk, where m is the number of APs and k is the number of power levels This is a distributed tatonnement process! Proof. Suppose Pj is an equilibrium power level for the jth AP. Inductively prove that when j reaches the power level Pj then it will not be overloaded again. Here we use the deterministic tie breaking rule. Reconstruction Problem Geometric graph structure Sensor network Given: Information about local geometry E.g., approximate distances Goal: Reconstruct global geometry Motivation: Cricket Location System [MIT SLAM Project since 2000] [Badoiu, Demaine, H., Indyk, SOCG’04, DCG] Cricket devices “chirp” radio & ultrasound Radio travels at speed of light Ultrasound travels at speed of sound ? ? ? ? Measure distances Localized Accuracy ~1cm Cricket v2 General Embedding Problem Given graph with edge weights Embed into desired metric space (e.g., 2D or 3D) with edge lengths matching specified weights Weights may be exact or approximate Simple only if we know all the distances exactly Embedding with Approx. Distances Exact embedding likely impossible Goal: Minimize maximum distortion Sample results: Additive: |embed length − true length| Multiplicative: |embed length / true length| [Badoiu, Demaine, H., Indyk, SOCG’04], Embed any metric on n points into Euclidean 2D plane with multiplicative/additive distortion (by knowing angles) or quasi-polynomial time if we do not have the angles [Alon, Badoiu, Demaine, Farach-Colton, H., Sidiropoulos, SODA’05], Embed any metric on n points into low dimensions such that we preserve the order approximately Approximating best embedding into plane in polynomial time is a very important open problem Conclusions Introduction and motivations Focused on two real-world applications Several other related areas to wireless networks Power optimization in fault-tolerant topology control and related problems The low coverage problem and related problems Geometric embedding & Reconstruction Problem Market equiblirum & Load Balancing Game theory & Low Coverage Questions ? تشکر Thanks forObrigado your attention…