Simplified clustering algorithms for RFID networks

Similar documents
Perturbative time and frequency allocations for RFID reader networks

1. Lecture notes on bipartite matching February 4th,

Chapter 15 Introduction to Linear Programming

6 Randomized rounding of semidefinite programs

Framework for Design of Dynamic Programming Algorithms

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Crossing Families. Abstract

Figure 2.1: A bipartite graph.

8 Matroid Intersection

1. Lecture notes on bipartite matching

1 The Traveling Salesperson Problem (TSP)

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

3 No-Wait Job Shops with Variable Processing Times

1 Linear programming relaxation

What is a Graphon? Daniel Glasscock, June 2013

Paths, Flowers and Vertex Cover

Principal Component Image Interpretation A Logical and Statistical Approach

Lecture 7: Asymmetric K-Center

Bipolar Fuzzy Line Graph of a Bipolar Fuzzy Hypergraph

Scan Scheduling Specification and Analysis

On the Max Coloring Problem

Rainbow game domination subdivision number of a graph

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

GRAPHS WITH 1-FACTORS

Discrete Mathematics

Uniform edge-c-colorings of the Archimedean Tilings

Structured System Theory

Fundamental Properties of Graphs

Parameterized graph separation problems

On Independent Equitable Cototal Dominating set of graph

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

Graphs (MTAT , 6 EAP) Lectures: Mon 14-16, hall 404 Exercises: Wed 14-16, hall 402

by conservation of flow, hence the cancelation. Similarly, we have

V10 Metabolic networks - Graph connectivity

CME 305: Discrete Mathematics and Algorithms Instructor: Reza Zadeh HW#3 Due at the beginning of class Thursday 02/26/15

EXPLORATIONS ON THE DIMENSION OF A GRAPH

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Winning Positions in Simplicial Nim

arxiv: v1 [math.co] 4 Apr 2011

On the Number of Tilings of a Square by Rectangles

Properly even harmonious labelings of disconnected graphs

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

c 2003 Society for Industrial and Applied Mathematics

A Course in Machine Learning

Treewidth and graph minors

Math 778S Spectral Graph Theory Handout #2: Basic graph theory

Social-Network Graphs

Lecture 2 September 3

CHARACTERIZING SYMMETRIC DIAMETRICAL GRAPHS OF ORDER 12 AND DIAMETER 4

TELCOM2125: Network Science and Analysis

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

Graph Theory and Network Measurment

On subgraphs of Cartesian product graphs

Algebraic Graph Theory- Adjacency Matrix and Spectrum

A new analysis technique for the Sprouts Game

Approximation Algorithms

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

CS388C: Combinatorics and Graph Theory

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

Number Theory and Graph Theory

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Problem Set 1. Solution. CS4234: Optimization Algorithms. Solution Sketches

An Eternal Domination Problem in Grids

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014

Stanford University CS359G: Graph Partitioning and Expanders Handout 1 Luca Trevisan January 4, 2011

AMS /672: Graph Theory Homework Problems - Week V. Problems to be handed in on Wednesday, March 2: 6, 8, 9, 11, 12.

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Lecture 6: Graph Properties

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7

Applied Algorithm Design Lecture 3

Minimum congestion spanning trees of grids and discrete toruses

Association Pattern Mining. Lijun Zhang

Incremental Assignment Problem

Lecture 17. Lower bound for variable-length source codes with error. Coding a sequence of symbols: Rates and scheme (Arithmetic code)

On the number of distinct directions of planes determined by n points in R 3

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H.

Reading 1 : Introduction

Faster parameterized algorithms for Minimum Fill-In

Exercise set 2 Solutions

Bipartite Matching & the Hungarian Method

Ranking Clustered Data with Pairwise Comparisons

Diffusion Wavelets for Natural Image Analysis

Lecture 3: Graphs and flows

A Genetic Algorithm Framework

Restricted edge connectivity and restricted connectivity of graphs

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents

Summary of Raptor Codes

Instant Insanity Instructor s Guide Make-it and Take-it Kit for AMTNYS 2006

Clustering Using Graph Connectivity

Fast and Simple Algorithms for Weighted Perfect Matching

Ensemble methods in machine learning. Example. Neural networks. Neural networks

On Covering a Graph Optimally with Induced Subgraphs

MATH 682 Notes Combinatorics and Graph Theory II. One interesting class of graphs rather akin to trees and acyclic graphs is the bipartite graph:

AVERAGE D-DISTANCE BETWEEN VERTICES OF A GRAPH

Stanford University CS359G: Graph Partitioning and Expanders Handout 18 Luca Trevisan March 3, 2011

Transcription:

Simplified clustering algorithms for FID networks Vinay Deolalikar, Malena Mesarina, John ecker, Salil Pradhan HP Laboratories Palo Alto HPL-2005-163 September 16, 2005* clustering, FID, sensors The problem of clustering in networks of FID readers in particular and active sensors in general is addressed using techniques from sensor data fusion. Two algorithms are provided that are simple and do not need extensive computation. For smaller networks these algorithms can be implemented without any computational assistance. The constraints these algorithms place on the time scheduling of readers in the network are discussed. * Internal Accession Date Only Approved for External Publication Copyright 2005 Hewlett-Packard Development Company, L.P.

Simplified clustering algorithms for FID networks Vinay Deolalikar 1, Malena Mesarina 2, John ecker 2, and Salil Pradhan 2 1 Information Theory esearch Group vinayd@hpl.hp.com 2 Mobile and Multimedia Systems Labs {mesarina, jrecker, salil}@hpl.hp.com Hewlett-Packard Labs Palo Alto CA 94304 Abstract. The problem of clustering in networks of FID readers in particular and active sensors in general is addressed using techniques from sensor data fusion. Two algorithms are provided that are simple and do not need extensive computation. For smaller networks these algorithms can be implemented without any computational assistance. The constraints these algorithms place on the time scheduling of readers in the network are discussed. 1 Introduction The development and deployment of adio Frequency Identification (FID) has generated several problems that need to be solved in order to operate larger networks of FID readers in an optimal fashion. Perhaps the two foremost problems in this regard are the clustering and the scheduling problems for networks of FID readers. Briefly, the clustering problem asks the question - how should one combine the outputs of the various FID readers so as to obtain the best estimate of any event. The scheduling problem asks the question - what is the optimal time sequence for firing the various FID readers in the network. In this paper, we focus on the clustering problem, although we do discuss the interplay of its solution with the scheduling algorithm. Both these problems are rendered nontrivial because of two major types of interactions between the readers. The first is correlation. eadings of various readers are correlated not just to the event, but to each other. The second interaction is collision. eaders lying in each other s field can collide with each other, resulting in faulty or missing reads. The challenge then is to optimize the functioning of the network across both these interactions. 2 The clustering problem Clustering is a major challenge in the optimal functioning of FID networks. oughly, clustering is the problem of finding, given certain constraints, the set 1 Contact author.

of sensors whose outputs can be combined to provide the best estimate of the event that is being sensed. If there were no constraint, then clearly we could do no better than use the outputs of every sensor to estimate each event. But often we operate under a set of constraints that forces us to choose a relatively smaller subset of all the sensors and then combine their outputs to obtain our estimate. The clustering problem has received attention in various fields. There are several algorithms proposed to solve it. We provide two simplified algorithms that need almost no computation, yet provide good clusters in many practical applications. Thus the emphasis of this article is on providing easy to use clustering algorithms based on sound principles of data analysis that can be used in concrete application scenarios. Let us begin by examining a formalization of the clustering problem for networks of generic sensors. We are given a set of sensor outputs {S i } i=1,...,n and a cost function f of n arguments, each of which corresponds to a sensor. All of the sensors give us information about an event E. Formally, for each sensor, we are given the correlation corrs i, E with the event to be estimated. The clustering problem then is to identify the subset of {S i } i=1,...,n that provides the best estimate Ê of E under certain constraints on f. Specifically, we wish to maximize the correlation corr(e, Ê). It is the cost constraint that makes the problem non-trivial. Without any constraint, clearly we could do no better than choose the entire set {S i } i=1,...,n. In order to approach networks of FID readers in the framework above, we must fix a notion of correlation could in the context of FID readers. Things are somewhat complicated because we are dealing with sets of readings here, and not just one random variable. We provide one such notion of correlation. Assume that the readers in the FID network all have the same capacity for reading tags. We pass several test boxes of tags, each of which has more tags than the capacity of the readers, through the network. We record for each box 1. the fraction of tags present in the box that is read by each reader 2. the fraction of tags read in common by each pair of readers. The mean values of Steps 1 and 2 provide us with numerical quantities that lie in [0, 1] and satisfy all the properties of correlations. The averages of readings in step 1 will provide us with the correlations between each reader and the box of tags, while those of step 2 will provide us with the cross correlations between each pair of readers. Finally, the ratio of the number of tags read by the readers in the cluster to the actual number of tags present in the box will provide us with the value of corr(e, Ê). 2.1 A Min-Max algorithm for clustering The basic intuition for this algorithms is that if two sensors give a similar view of an event, then picking one of these readings is sufficient. On the other hand, if two sensors give a very different view of the event, then it is important to get 2

both readings in order to have a good description of the event. It just remains to formalize this intuition using the values of correlations defined in the previous section. We do this as follows. Given event E and sensors {S i } i=1,...,n, include S j in the cluster if 1. corr(s j, E) is high and 2. corr(s i, S j ) is low for all sensors S i, i j that lie in the cluster. Viewed in this manner, clustering becomes a Min-Max problem that seeks to find subset of {S i } i=1,...,n such that reader S i lies in this subset if corr(si, E) is high and corr(s i, S j ) is low for S j, i j in the subset. In other words, we want to find clusters with the property that correlations within a cluster are minimized, but correlations intracluster are maximized. There are sophisticated algorithms in data analysis that perform this min-max for data sets. However, the algorithm we provide below is considerably simpler, and still retains the basic skeleton of these more sophisticated algorithms. We provide our algorithm for multiple readers as a recursive algorithm with two performance parameters that will quantify the notions of high and low in the discussion above. Algorithm 1 Min-Max sensor clustering algorithm 1: Order {S i } i=1,...,n in descending order of correlation with event. 2: Pick two thresholds 0 < γ, δ < 1. These will be the performance parameters. 3: From remaining sensors in {S i} i=1,...,n, delete sensors whose cross-correlation with sensor picked in Step 1 exceeds γ and correlation with event is below δ. 4: Goto Step 1. The stress here is on simplicity. As one can see, this algorithm can be performed by hand for small networks. 2.2 An eigen-analysis based algorithm for clustering Next we provide another simple algorithm to perform clustering based on an eigenvalue analysis of the correlation matrix of the sensors. First we compute the cross-correlation matrix of the set of readers {S i } i=1,...,n as follows. Cross correlation between two readers is modelled simply as the fraction of tags that are read by both the readers. We can extend this to correlation between any number of readers similarly. = corr(s 1, S 1 )... corr(s 1, S n )...... corr(s n, S 1 )... corr(s n, S n ) The matrix is symmetric, invertible and positive definite. It follows that all its eigenvalues λ 1,..., λ n are positive. is diagnonalizable. Let T be the diagonalizing matrix. In other words = T T 1 = Diag(λ 1,..., λ n ) is a diagonal matrix. Without loss of generality, let us assume that λ 1 >... > λ n. 3

T is thus a linear transformation that transforms the input sensor set {S i } i=1,...,n into a set of virtual sensors {S i } i=1,...,n. The virtual sensors {S i } i=1,...,n are pairwise uncorrelated. From this it follows that the correlation matrix of the set of virtual sensors set is diagonal. If we arrange the diagonal eigenvalue matrix elements in the order of magnitude, the virtual sensor corresponding to the highest eigenvalue is the virtual sensor with the most information. Given our definition of correlation between a reader and the event, this implies that this virtual sensor will read more tags than the other virtual readers. This is a very useful piece of knowledge. This knowledge immediately leads to an algorithm for selecting sensors for the cluster. Based on the performance that is desired, we pick a threshold and select the virtual sensors from the set {S i } i=1,...,n whose corresponding eigenvalues are larger than the chosen threshold. The tranformation T then specifies the required sensors in terms of the original set of sensors set {S i } i=1,...,n. These then form the desired cluster. Algorithm 2 Eigenvalues based clustering algorithm 1: Transform set {S i } i=1,...,n into uncorrelated set {S i} i=1,...,n 2: Let λ 1 >... > λ n be corresponding eigenvalues (reorder if necessary) 3: Use performance measure to pick threshold κ 4: Discard sensors from {S i} i=1,...,n whose correlation is less than κ 5: Transform the remaining sensors from {S i} i=1,...,n into their corresponding original set {S i } i=1,...,n. 6: This set forms the desired cluster. 3 Interplay between clustering and scheduling In this section we explore the scheduling constraints imposed by the clustering algorithms of the previous section. First we start with the observation that the algorithms provided in this article do not take into account the collision between readers. They are only concerned with the correlations between the various readers. Collision imposes its own constraints on the scheduling of readers in FID networks. For more details on the collision problem, the reader is referred to [1]. While using the algorithms provided in this article therefore, we must also take into consideration the extra constraints posed by collision avoidance. While the Min-Max algorithm provides clusters directly as a subset of original set of sensors {S i } i=1,...,n, the eigenvalue based algorithm yields clusters of virtual sensors {S i }. Each of these virtual sensors is a linear combination of the sensors {S i } i=1,...,n. The sensors that appear with a non-zero coefficient in the expression for virtual sensor S i will be said to be the support of the S i. We now state the constraint posed by a choice of virtual sensors in a cluster. Proposition 1. For each virtual sensor that appears in a cluster, the real sensors that lie in its support must not fire simultaneously. 4

Proof. We eventually seek to combine the readings of the sensors in a virtual sensor to gain information about a particular event of interest. There are two cases to consider. If the readers collide, then they should not read simultaneously. On the other hand if they do not collide, then their fields do not overlap and therefore it is not possible for the event of interest to lie in all their fields simultaneously. In either case, firing all the sensors simultaneously is counter-productive. In the first case of the proof above, the clustering algorithm does not place any additional constraint over collision avoidance. But in the second case it does. As an example, if the virtual sensor S 1 = S 1 2S 2 + S 5 then the real sensors S 1, S 2 and S 5 must not fire simultaneously. This is significant because it may be the case that S 1, S 2 and S 5 have no collision. Hence the graphical algorithms to design scheduling schemes presented in [1] would not preclude their simultaneous firing. However the additional constraint imposed by the clustering algorithm does preclude this. The net result is that the time cycle for the completion of a firing sequence increases. Coming back to the partitioning of the FID readers into partitions, we then see that a cluster for a given event would have to be chosen from readers such that no two are in a single partition. In other words, a cluster would be chosen from across partitions. One strategy would be to choose a cluster such that it has exactly one reader from each partition. This idea of choosing a cluster across partitions is illustrated in Fig 1. Fig. 1. Tripartite graph, edges denote reader collision The question that immediately poses itself then is: do we allow clusters to overlap? In other words, can the same FID reader represent its partition in two different clusters? When would one prefer one approach over the other? The two scenarios are depicted in Figures 2 and 3. In our experience with deploying such systems, we have found several cases where the application demands the choice of one over the other. Overlapping clusters might be preferred in a situation where some significant feature of the sensors motivates such a scenario. One such case would be when a high power reader is shared with lower powered local readers. Another case would be when 5

Fig. 2. Bipartite system with overlapping clusters. Overlaps are advantageous in certain scenarios. Fig. 3. Bipartite system with non-overlapping clusters. This eliminates single points of multiple cluster failure 6

a clustered sensor is a multi-sensor device, for example a camera/fid reader combination. In other cases, overlaps are not desirable. This is particularly the case where we do not want any single point of multiple cluster failure, as may happen in critical real time applications. This brings us to the question of whether a nonoverlapping cluster exists at all. To answer this question, we need the notion of a perfect matching. Definition 1. A perfect matching in a bipartite graph G = (V 1 V 2, E) is an injective mapping f : V 2 V 1 such that for every x V 2 there is an edge e E with endpoints x and f(x). For any subset A V 2, define A to be the set of all vertices y V 1 that are endpoints of edges with one endpoint in A. Now the answer to our question is provided by Hall s perfect matching theorem. Intuitively, it states that the obviously necessary condition for a perfect matching to exist also turns out to be sufficient. Theorem 1. Let G = (V 1 V 2, E) be a bipartite graph. There exists a perfect matching f : V 2 V 1 if and only if for every subset A of V 2, A A. There exist low complexity polynomial time algorithms that find a perfect matching in a bipartite graph. Most of these are variants of what is known as the Hungarian algorithm and can be found in most standard books on graph algorithms, see for instance [3]. 4 Conclusion We have written this paper for field engineers who are actually deploying FID reader networks and need simple algorithms to perform initial testing or even final configuration. Thus the accent is on simplicity of the algorithms and the preclusion of any extensive computation. The algorithms can be implemented without the assistance of any sophisticated software, and in smaller networks can even be implemented by hand. 5 Acknowledgment We thank Devaraj Das, Christophe Gouguenheim, and Mehrban Jam for useful discussions. eferences 1. V. Deolalikar, M. Mesarina, J. ecker, D. Das, and S. Pradhan Perturbative time and frequency allocations for FID reader networks, preprint 2005. 2. V. Deolalikar, M. Mesarina, J. ecker, and S. Pradhan Optimal scheduling for networks of FID readers, preprint 2005. 7

3. J. Dossey, A. Otto, L. Spence, and C. Eynden, Discrete Mathematics, 3rd ed. eading, MA, Addison-Wesley, 1997. 4. D. Engels, The eader Collision Problem, Technical eport, available at http://www.autoidcenter.org/research/mit-autoid-wh-007.pdf 5. F. Harary, Graph Theory, Addison-Wesley, 1969. 8