Performance analysis of direct N-body algorithms for astrophysical simulations on distributed systems We discuss the performance of direct summation codes used in the simulation of astrophysical stellar systems on highly distributed architectures. These codes compute the gravitational interaction among stars in an exact way and have an O(N 2 ) scaling with the number of particles. They can be applied to a variety of astrophysical problems, like the evolution of star clusters, the dynamics of black holes, the formation of planetary systems, and cosmological simulations. The simulation of realistic star clusters with sufficiently high accuracy cannot be performed on a single workstation but may be possible on parallel computers or grids. We have implemented two parallel schemes for a direct N -body code and we study their performance on general purpose parallel computers and large computational grids. We present the results of timing analyzes conducted on the different architectures and compare them with the predictions from theoretical models. We conclude that the simulation of star clusters with up to a million particles will be possible on large distributed computers in the next decade. Simulating entire galaxies however will in addition require new hybrid methods to speedup the calculation. Numerical methods for solving the classical astrophysical N-body problem have evolved in two main directions in recent years. On the one hand, approximated models like Fokker-Planck models [1] , [2] , gaseous models [3] , and Monte Carlo models [4] , [5] , [6] have been applied to the simulation of globular clusters and galactic nuclei. These models permit to follow the global evolution of large systems along their lifetime but at the expense of moderate accuracy and resolution. The basic approach is to group particles according to their spatial distribution and use a truncated multipole expansion to evaluate the force exerted by the whole group instead of evaluating directly the contributions from the single particles. On the other hand, direct summation methods have been developed to accurately model the dynamics and evolution of collisional systems like dense star clusters. These codes compute all the inter-particle forces and are therefore the most accurate. They are also more general, as they can be used to simulate both low and high density regions. Their high accuracy is necessary when studying physical phenomena like mass segregation, core collapse, dynamical encounters, formation of binaries or higher order systems, ejection of high velocity stars, and runaway collisions. Direct methods have an O(N 2 ) scaling with the number of stars and are therefore limited to smaller particle numbers compared to approximated methods. For this reason, so far they have only been applied to the simulation of moderate size star clusters. The simulation of globular clusters containing one million stars is still a challenge from the computational point of view, but it is an important astrophysical problem. It will provide insight in the complex dynamics of these collisional systems, in the microscopic and macroscopic physical phenomena, and it will help finding evidence of the controversial presence of a central black hole. The simulation of the evolution of these systems under the combined effects of gravity, stellar evolution, and hopefully hydrodynamics will allow to study the stellar population and to compare the results with observations. The need to simulate ever larger systems and to include a realistic physical treatment of stars asks for a speedup in the most demanding part of the calculation: the gravitational dynamics. Significant improvement in the performance of direct codes can be obtained either by means of special purpose computers like GRAPE hardware [7] or of general purpose distributed systems [8] . In this work, we focus on the performance of direct N-body codes on distributed systems. Two main classes of algorithms can be used to parallelize direct summation N-body codes: replicated data and distributed data algorithms. In this work we present a performance analysis of the two algorithms on different architectures: a Beowulf cluster, three supercomputers, and two computational grids. We provide theoretical predictions and actual measurements for the execution time on different platforms, allowing the choice of the best performing scheme for a given architecture. We have implemented two parallelization schemes for direct N-body codes with block time-steps, the copy and ring algorithm, and compared their performance on different parallel computers. In the case of clusters or supercomputers, the execution times for the two schemes are comparable except for very small systems where the communication time dominates over the calculation time and hence the copy algorithm performs slightly better. The ring algorithm is well suited for the integration of very large systems, because of its reduced memory demands, and for very concentrated models, where the average block size becomes very small and the algorithm can be implemented with non-blocking communication to limit the effects of load imbalance.. The timing experiments we have conducted on two Grid testbeds indicate that the performance on large grids is not significantly worsened by the communication among nodes residing in different locations, provided that the size of the N-body system is sufficiently large to ensure a high computation to communication ratio and a good load balance. Although these results are only preliminary, they appear very promising in the direction of ever larger N-body simulations of star clusters.. We have developed a performance model for each parallel scheme and we have applied it to the prediction of the execution time for the simulation of a star cluster containing one million stars. We expect such simulation to become feasible on a supercomputer in ten years. Simulating entire galaxies however is not foreseeable in the near future without major software developments. A numerical challenge for the astronomical community in the next years will be the simulation of star clusters containing one million stars. We have shown that direct N-body codes can efficiently be applied to the simulation of large stellar systems and that their performance can be predicted with simple models.. In this section, we apply the performance model introduced in § 4.1 for the copy algorithm to predict the total execution time for the simulation of a system with N = 10 6 . In Table 3 we report our predictions for the execution times in the simulation of such a star cluster. For the prediction we consider the parameters of current state-of-the-art supercomputers (Lisa and BlueGene) and of an expected state-of-the-art supercomputer in ten years time (Future). For the Future computer we consider the Lisa cluster as a reference and we assume that the CPU speed doubles every 18 months the network speed dou-bles every 9 months. The resulting parameters for the Future computer are τ f = 2.0 × 10 −9 , τ c = 1.0 × 10 −6 and τ l = 5.0 × 10 −7 . We find that a typical supercomputer in ten years will be able to simulate a star cluster (one million stars) for one N-body time-unit in about thirty minutes using 1000 processors. A full simulation of 1000 N-body units will thus require less than a month to complete. Large supercomputers containing at least 1000 processors will be necessary to perform the first realistic simulation of a large globular clusters. Algorithmic developments are unlikely to result in a reduction of the calculation time as the N 2 operation will always remain the most demanding part of a simulation using a direct code. On the other hand, new treatments of the additional physics involved in a realistic simulation (stellar and binary evolution, dynamical encounters, collisions between stars) will be very important for future comparisons between observations and simulations of star clusters.. The simulation of larger systems like galactic nuclei (10 9 stars) or galaxies (10 11 stars) will be unrealistic to perform on a large supercomputer, even with future special purpose hardware. The best method for this objective is the use of hybrid codes in which a direct integration is combined with less accurate but faster techniques, like Monte Carlo codes or tree codes. The different dynamical evolution of large systems like galaxies, which can be considered "non-collisional", will allow for the partial use of approximated methods without loss of fundamental physical phenomena.

B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Cache-Efficient Multigrid Algorithms Multigrid is widely used as an efficient solver for sparse linear systems arising from the discretization of elliptic boundary value problems. Linear relaxation methods such as Gauss-Seidel and Red-Black Gauss-Seidel form the principal computational component of multigrid, and thus affect its efficiency. In the context of multigrid, these iterative solvers are executed for a small number of iterations (2-8). We exploit this property of the algorithm to develop a cache-efficient multigrid method, by focusing on improving the memory behavior of the linear relaxation methods. The efficiency in our cache-efficient linear relaxation algorithm comes from two sources: reducing the number of data cache and TLB misses, and reducing the number of memory references by keeping values registerresident. Our optimizations are applicable to multigrid applied to linear systems arising from constant coefficient elliptic PDEs on structured grids. Experiments on five modern computing platforms show a performance improvement of 1.15-2.7 times over a standard implementation of Full Multigrid V-Cycle. The growing speed gap between processor and memory has led to the development of memory hierarchies and to the widespread use of caches in modern processors. However, caches by themselves are not a panacea. Their success at reducing the average memory access time observed by a program depends on statistical properties of its dynamic memory access sequence. These properties generally go under the name of "locality of reference" and can by no means be assumed to exist in all codes. Compiler optimizations such as iteration space tiling (Wolfe, 1989; Wolf and Lam, 1991) attempt to improve the locality of the memory reference stream by altering the schedule of program operations while preserving the dependences in the original program. While the theory of such loop transformations is well developed, the choice of parameters remains a difficult optimization problem. A major reason for this difficulty is that different components of the memory hierarchy may have conflicting notions of good locality, making the simultaneous optimization of these levels inherently difficult (Mitchell et al., 1998) .. The importance of locality of reference is even more critical for hierarchical computations based on techniques such as multigrid, fast multipole, and wavelets, which typically perform Θ(1) operations on each data element. This is markedly different from dense matrix computations, which perform O(n ² ) operations per data element (with ² > 0) and can profit from data copying . The lack of "algorithmic slack" in hierarchical codes makes it important to reduce both the number of memory references and the number of cache misses when optimizing them. Such optimizations can indeed be expressed as the combination of a number of standard compiler optimizations, but even the best current optimizing compilers are unable to synthesize such long chains of optimizations automatically. In this paper, we apply these ideas to develop cache-efficient multigrid.. The remainder of the paper is organized as follows. In Section 2 we introduce the problem domain, and in Section 3 we discuss cache-efficient algorithms for this problem. In Section 4 we present experimental results, in Section 5 we discuss related work, and in Section 6 we summarize. The experimental results clearly demonstrate that the temporal blocked multigrid algorithm performs significantly better than the standard implementation. The performance gain of the temporal blocked algorithm comes from its good memory behavior, for most values of parameters. 5 Related Work Leiserson et al. (1997) provide a graph-theoretic foundation for efficient linear relaxation algorithms using the idea of blocking covers. Their work, set in the context of out-of-core algorithms, attempts to reduce the number of I/O operations. Bassetti et al. (1998) investigate stencil optimization techniques in a parallel object-oriented framework and introduce the notion of temporal blocking. In subsequent work (Bassetti et al., 1999) , they integrate the blocking covers (Leiserson et al., 1997) work with their framework for the Jacobi scheme. Stals and Rüde (1997) studied program transformations for the RBGS method. They explore blocking along one dimension for (a). two-dimensional problems, but our work involves twodimensional blocking. Douglas et al. (2000) investigate cache optimizations for structured and unstructured multigrid. They focus only on the RBGS relaxation scheme. Povitsky (1999) discusses a different wavefront approach to a cache-friendly algorithm to solve PDEs. Frumkin and Van Der Wijngaart (2001) provide some tight lower bounds on cache misses for stencil computations based on geometric insights. Bromley et al. (1991) developed a compiler module to optimize stencil computations on the Connection Machine CM-2. To facilitate this, they worked with a particular style of specifying stencils in CM Fortran. They report performance of over 14 gigaflops. Their work focuses on (a). optimizing a single application of a stencil, but does not handle the repeated application of a stencil that is characteristic of multigrid smoothers. Moreover, their technique does not handle cases when the stencil operations are performed in a non-simple order, like the order of updates in RBGS. We have demonstrated improved running times for multigrid using a combination of algorithmic ideas, program transformations, and architectural capabilities. We have related these performance gains to improved memory system behavior of the new programs. We see two promising directions for future research: demonstrating improved performance in other contexts like three-dimensional problems and nine-point stencils, and further improving the memory behavior of the temporal blocking algorithm using nonlinear data layouts (Chatterjee et al., 1999) . Such layouts are likely to have better memory behavior than canonical layouts like row-major or column-major, because they provide more spatial locality among the array elements, and can significantly reduce TLB misses and conflict misses in the temporal blocking algorithm. Many engineering applications involve boundary value problems that require solving elliptic partial differential equations (PDEs). The discretization of such boundary value problems on structured grids results in structured but sparse linear systems Av = f, where v is the set of unknowns corresponding to the unknown variables in the PDE and f is the set of discrete values of the known function in the PDE. The structure and values of the sparse matrix A depend on the parameters of discretization and the coefficients in the PDE. Since A has few distinct terms, it is generally represented implicitly as a stencil kernel.. Such systems are often solved directly, via Krylov methods, or by multigrid methods that employ iterative solvers such as linear relaxation methods, which naturally exploit the sparsity in the system. Each iteration of a linear relaxation method involves refining the current approximation to the solution by updating each element based on the approximation values at its neighbors. Such methods vary along two dimensions: the number and distribution of neighboring grid points used in the update; and the time when an updated value is used as an input value in subsequent updates. Figure 1 shows three common relaxation schemes: Jacobi, Gauss-Seidel (GS), and RedBlack Gauss-Seidel (RBGS). We consider a two-dimensional five-point kernel that arises, for example, from the discretization of Poisson's equation on the unit square.. • The Jacobi method does not use the newly computed values of the elements while computing the new values for later elements in the same iteration. As a result, the computed values are stored in a temporary array and "swapped" at the end of each iteration. Figure 1 (a) illustrates the five-point Jacobi method. The Jacobi iteration converges slowly, as an updated value is not used until the next iteration of the m-loop. It also requires an additional array, thereby increasing the working set of the algorithm. It is therefore not the scheme of choice, and we do not discuss it further in this paper.. • The GS method uses the newly computed value of an element in computing the new values of the succeeding elements in the same iteration. This eliminates the need for the additional array to store the computed values. The code for the five-point GS method is shown in Figure 1 (b). The immediate propagation of an updated value in GS makes it converge faster than Jacobi. There is also no need for a temporary array. The combination of these two factors makes it preferable to Jacobi as a component of multigrid.. • The RBGS method conceptually assigns colors to each element. The elements are colored in such a way that every four-neighbor of a red element is a black element, and vice versa. The algorithm first updates all the red elements, and then updates all the black elements using the new values at the red elements. This requires two passes over the matrix, but has parallelism. The code for the five-point RBGS method is shown in Figure 1 (c).

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Density estimation via exponential model selection Abstract-We address the problem of estimating some unknown density on a bounded interval using some exponential models of piecewise polynomials. We consider a finite collection of such models based on a family of partitions. And we study the maximum-likelihood estimator built on a data-driven selected model among this collection. In doing so, we validate Akaike's criterion if the partitions that we consider are regular and we modify it if the partitions are irregular. We deduce the rate of convergence of the squared Hellinger risk of our estimator in the regular case when the logarithm of the density belongs to some Besov space. Let us consider n independent and identically distributed random variables X 1 ; . . . ; X n with common distribution P . We assume that dP = s d, where denotes the Lebesgue measure on a bounded interval which, for simplicity, will be taken to be [0; 1] . Our purpose is to estimate s using a new data-driven selection procedure among maximum-likelihood estimators on exponential models of piecewise polynomials.. The main advantage of maximizing the log likelihood on an exponential model is that one can guarantee that the resulting estimator is positive and integrates to 1. The properties of regular exponential families have been thoroughly studied (see Brown [1] and BarndorffNielsen [2] ). The approximation of log densities by polynomials have been studied by Neyman [3] and later by Crain [4] - [6] . In particular, conditions for the existence of the maximum-likelihood estimator on exponential families of polynomials have been given in Crain [4] - [6] . Moreover, Crain [7] also gave some approximation properties of these families. In a more general framework, Portnoy [8] has studied the asymptotic behavior of the maximum-likelihood estimator (see also Cencov [9] for compact subfamilies of exponential families). The study of the particular case of log-spline models has first been developed by Stone and Koo [10] . In this context, Stone, [11] and [12] , has obtained some rates of convergence with respect to 2 and 1 norms for the estimation of a continuous positive density. In particular, Stone [11] has found an interesting bound for the 1 norm of the approximation error associated with the expected log likelihood. At the same time, independently of Stone's papers, Barron and Sheu [13] have studied the rates of convergence of the maximum-likelihood estimator on general exponential models and applied it to the exponential families of trigonometric series, polynomials, and splines. Koo and Kim [14] have used exponential families based on wavelets to get lower bounds for the rates of convergence when the log density is assumed to belong to some Besov space.. In this correspondence, we consider a collection of exponential models of piecewise polynomials fE ; 2 n g and the corresponding family fŝ ; 2 n g of maximum-likelihood estimators on E . Given a penalty function pen n on n (independent of the true density s), the minimization of the following criterion:. where Pn denotes the empirical measure, leads to some data-dependent model^and to the penalized maximum-likelihood estimatorŝ^on the model E^. The purpose of our work is to design a penalty function such that the resulting estimatorŝ^behaves as well as the "best" one among the collection. The celebrated A Information Criterion (AIC) due to Akaike [15] corresponds to the penalty function D =n where D is the number of unknown parameters for the model . Akaike's heuristics are based on asymptotic information-theoretic considerations. Barron et al. [16] have developed a method to get nonasymptotic risk bounds for general penalized minimum contrast estimators. Unfortunately, their method cannot be applied to exponential model selection. A more specific work on penalized maximum-likelihood estimators has been examined in Yang and Barron [17] . Their method is based on a metric dimension assumption and is valid for general exponential models (providing that all the log densities of a model are uniformly bounded). Nevertheless, the penalty function that they provide involves some unrealistic constants that have repercussions on the risk bound. In this correspondence, we focus our attention on the value of these constants (trying to get the optimal ones) taking advantage of the specificity of our context in order to validate the AIC in favorable cases or to modify it when necessary. In this way, we obtain a model-selection criterion which can be used in practice for the exponential families of piecewise polynomials. Finally, combining (6) with (9), (10) applied to 0 =^and (11), we derive that, on a set 0 n = 1 n \ 2 n \ 3 n of probability larger than 1 0 (26 + 1) We conclude the proof by the control of the probability of n.

O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Modified repeated median filters We discuss moving window techniques for fast extraction of a signal comprising monotonic trends and abrupt shifts from a noisy time series with irrelevant spikes. Running medians remove spikes and preserve shifts, but they deteriorate in trend periods. Modified trimmed mean filters use a robust scale estimate such as the median absolute deviation about the median (MAD) to select an adaptive amount of trimming. Application of robust regression, particularly of the repeated median, has been suggested for improving upon the median in trend periods. We combine these ideas and construct modified filters based on the repeated median offering better shift preservation. All these filters are compared w.r.t. fundamental analytical properties and in basic data situations. An algorithm for the update of the MAD running in time O(log n) for window width n is presented as well. Signal extraction from high frequency data is a common technological task. To illustrate the arising challenges we consider a time series representing the heart rate of a patient in intensive care, see Fig. 1 : We find time periods representing a steady state, monotonic trends, abrupt level shifts as well as many, often one-sided outliers caused e.g. by measurement problems. A filtering procedure for signal extraction from such data should. • track monotonic trends (also called drifts),. • preserve abrupt level shifts (steps or jumps),. • resist outliers (impulses or spikes),. • attenuate 'normal' observational noise,. • require short computation time. Moving averages and other linear filters track trends and attenuate Gaussian noise efficiently, but they are highly vulnerable to outliers and blur level shifts. Running medians advocated by Tukey (1977) remove outliers and preserve shifts in a piecewise constant signal, but they have shortcomings in trend periods. Lee and Kassam (1985) suggest modified trimmed means as a compromise between moving averages and running medians. The amount of trimming is chosen adaptively using a robust scale estimator like the median absolute deviation about the median (MAD). These filters are more efficient for Gaussian noise, they also remove spikes and may preserve steps even better than running medians (Himayat and Kassam 1993) . Davies, Fried and Gather (2004) propose the repeated median, a robust regression estimator, to overcome the difficulties of the median during trends.. Replacing the median by the repeated median, we construct modified repeated median filters which trim observations with large regression residuals. The filter output is obtained thereafter using either least squares regression to get high efficiency or another repeated median for good robustness. Windows with different widths within these two steps allow to dampen ordinary noise considerably along with the preservation of signal details, particularly of abrupt shifts. This paper is organized as follows: Section 2 introduces the filters mentioned above. As computation time is often crucial, Section 3 presents fast algorithms for the filters, especially an update algorithm for the MAD. Section 4 investigates analytic properties which are important to meet the demands specified above. Section 5 describes a simulation study which compares the methods in basic data situations. Section 6 presents applications to real and simulated data for further comparison. We finish of with some conclusions. We have compared robust filters for signal extraction from time series with trends, shifts and outliers. Modified trimmed means perform well in case of constant signals and moderate trends, but they deteriorate during steep trends, similarly to running medians. Application of repeated median regression eliminates the influence of local linear trends and allows to maintain considerable efficiency and a high degree of robustness. The main disadvantage might be the increased smearing of shifts in case of a constant signal.. We have proposed two-stage procedures trimming observations with large regression residuals to improve shift preservation. For this to be effective, we should choose a considerably shorter width for the inner signal window. However, lower limits for the length of the signal window are imposed by the need for robustness: As a rule of thumb, the inner window should be chosen at least three or four times as long as outlier patches to be removed. We have found that the repeated median resists this fraction of contamination well. The trimming constant q t can be chosen according to the expected height of shifts, similarly as discussed by Lee and Kassam (1985) for modified trimmed mean filters.. Instead of the repeated median, we could have used the least median of squares (LMS) (Rousseeuw 1984) in the first step in combination with least squares regression. The resulting procedure would resemble the popular reweighted least squares (Rousseeuw and Leroy 1987, Gervini and Yohai 2002) . However, the instability of the LMS is dangerous in automatic applications (Davies et al. 2004) , and weighting the observations according to their distance from the LMS fit does not necessarily remove this instability when the observations in the window are located close to two or more straight lines. When using the repeated median for the initial fit as is done here we have not observed such instabilities in spite of the lack of continuity. In view of the computational savings possible by the fast update algorithm described in this paper, we find double window filters combining the repeated median and least squares a promising alternative to established methods like double window modified trimmed means.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B I O O O O O O O O O O B O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Generating Chordal Graphs Included in Given Graphs †a) , Nonmember and Takeaki UNO †b) , Member SUMMARY A chordal graph is a graph which contains no chordless cycle of at least four edges as an induced subgraph. The class of chordal graphs contains many famous graph classes such as trees, interval graphs, and split graphs, and is also a subclass of perfect graphs. In this paper, we address the problem of enumerating all labeled chordal graphs included in a given graph. We think of some variations of this problem. First we introduce an algorithm to enumerate all connected labeled chordal graphs in a complete graph of n vertices. Next, we extend the algorithm to an algorithm to enumerate all labeled chordal graphs in a n-vertices complete graph. Then, we show that we can use, with small changes, these algorithms to generate all (connected or not necessarily connected) labeled chordal graphs in arbitrary graph. All our algorithms are based on reverse search method, and time complexities to generate a chordal graph are O(1), and also O(1) delay. Additionally, we present an algorithm to generate every clique of a given chordal graph in constant time. Using these algorithms we obtain combinatorial Gray code like sequences for these graph structures in which the differences between two consecutive graphs are bounded by a constant size. A chordal graph is an undirected graph in which every cycle with at least four edges has a chord. Here, a chord of a cycle is an edge not in the cycle and connecting two vertices of the cycle. Chordal graphs have been considered to be important in the sense of both theoretical and application aspects. The class of chordal graphs contains many popular graph classes such as trees, interval graphs, and split graphs [6] . Many polynomial time algorithms to solve a lot of problems on chordal graphs are known. Moreover, the class of chordal graphs is a subclass of the class of perfect graphs [8] . Chordal graphs have many applications, for example, to matrix computation [5] or to relational database [4] . Chordal graphs are sometimes called triangulated graphs since every cycle in them is divided into some triangles. Chordal graphs are also used for numerical computation of models, and modeling some systems in computer science and social sciences [21] .. Chordal graphs have many good properties. One important property of them is that a chordal graph has at least one simplicial vertex, where a vertex is simplicial iff its neighbors induce a clique. Given a graph G with a simplicial vertex v, we define an elimination of v from G as removing the vertex v from the vertex set of G and removing the edges adjacent to v from the edge set of G. An elimination of a simplicial vertex from a chordal graph results another chordal graph, and the size of the vertex set of the chordal graph is exactly smaller than that of the original chordal graph. Thus, we can iteratively eliminate simplicial vertices from a chordal graph until the graph has no vertex.. The vertex ordering along which we eliminate the simplicial vertices are called perfect elimination ordering. Given a general graph, we can find a perfect elimination ordering of the graph in the linear time of the graph size, if there exists at least one such ordering [15] . We can characterize chordal graphs by perfect elimination orderings; a graph is chordal if and only if it has a perfect elimination ordering. These properties of chordal graphs give simple and fast algorithms for many problems. In particular, we can solve some combinatorial problems on chordal graphs, such as maximum independent set and minimum vertex coloring, in polynomial time with simple combinatorial algorithms. Recently, because of the increase of computation power, many problems in practice are solved with enumeration. The graphical structures are used to model the systems and objects in many scientific area. Enumeration is used for simulating and finding good properties and new knowledges in these models. For example, enumeration algorithms for graph structures such as labeled paths, labeled trees, labeled graphs are used in frequent pattern mining problems [1] , [2] , [9] , [18] . In optimization, many branch and bound type algorithms for combinatorial optimization explicitly or implicitly use enumeration of feasible solutions. Branching processes essentially generate all of the objects in the feasible domain, while the bounding processes try to reduce the number of objects to generate. It is important not to generate the same objects redundantly wherever possible to keep the algorithms efficient, and we can often do this with the techniques of enumeration. Enumeration of vertices of a polytope is used to find an optimum solution maximizing complicated functions. In column generation algorithms and set covering approaches, solutions of a subproblem are enumerated, and an optimal solution is found by combining them. Enumeration is also used in many graph algorithms. Moreover, enumeration itself has theoretical interests, and many studies have been done [7] .. In this paper, we focus on enumeration of chordal subgraphs included in a given graph. More precisely, we enumerate edge subsets of a given graph which are edge sets of chordal subgraphs of a given graph. Here we assume that Copyright c 2006 The Institute of Electronics, Information and Communication Engineers every vertex has an index (label) different from the other vertices, and we can describe every edge by a pair of vertices. We simply call such edge subsets labeled chordal graphs. We also consider the enumeration of connected labeled chordal subgraphs.. We propose efficient algorithms for the problems. The first is an algorithm for enumerating all connected chordal graphs included in a complete graph. The second is an algorithm for enumerating all connected chordal graphs included in an arbitrary graph. We will show that we can easily modify these algorithms so that they enumerate all (not necessary connected) chordal graphs. We also propose an algorithm for enumerating all cliques in a chordal graph, which is used as a subroutine by the algorithms for chordal graphs.. The time complexity of these three algorithms are all O(1) for each output, that is, the computation time is linear in the number of output chordal graphs, or cliques. We note that we output each chordal graph or clique by the symmetric difference from the previous one. Moreover, we show these algorithms directly lead combinatorial Gray code like sequences of several kinds of chordal subgraphs of a graph, and of cliques in a chordal graph, such that any consecutive two graphs differ at most three edges or vertices. The delay between two successive outputs in our algorithms are also O(1).. Our algorithms to enumerate labeled chordal graphs are based on reverse search. Reverse search was originally developed to enumerate all vertices of a given polytope represented by the intersection of half spaces [3] . Many enumeration algorithms use reverse search to enumerate many kind of objects such as spanning trees, trees, plane graphs, maximal cliques, etc. [11] - [13] , [17] .. In the following sections, we describe our problems and algorithms in detail. Section 2 describes a framework of reverse search and our enumeration scheme for labeled chordal graphs. In Sect. 3, we describe our enumeration algorithms. In Sect. 4, we analyze the time complexity of our algorithms. We explain a way to bound the delay in constant, and combinatorial Gray codes of labeled chordal graphs and cliques in Sect. 5. Finally we conclude the paper in Sect. 6. In this paper, we focused on the problems of enumerating all labeled chordal graphs on a vertex labeled graph. We introduced a good search tree on the set of (connected, or not necessarily connected) labeled chordal graphs, and presented efficient algorithms taking constant time on average for each chordal graph. As a corollary, we showed that we can enumerate all cliques in a chordal graph in constant time for each. Further, we showed the algorithms generate combinatorial Gray codes like sequences such that any two consecutive outputs differ at most three vertices or three edges. We leave the following problem as an open problem.. • Is there an output polynomial time algorithm to enumerate all maximal connected labeled chordal subgraph of a given general graph?

O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Forward node-selecting queries over trees Node-selecting queries over trees lie at the core of several important XML languages for the web, such as the node-selection language XPath, the query language XQuery, and the transformation language XSLT. The main syntactic constructs of such queries are the backward predicates, for example, ancestor and preceding, and the forward predicates, for example, descendant and following. Forward predicates are included in the depth-first, left-to-right preorder relation associated with the input tree, whereas backward predicates are included in the inverse of this preorder relation.This work is devoted to an expressiveness study of node-selecting queries with proven theoretical and practical applicability, especially in the field of query evaluation against XML streams. The main question it answers positively is whether, for each input query with forward and backward predicates, there exists an equivalent forward-only output query. This question is then positively answered for input and output queries of varying structural complexity, using LOGLIN and PSPACE reductions.Various existing applications based on the results of this work are reported, including query optimization and streamed evaluation. XPath [Clark and DeRose 1999] is the major language of choice for expressing node-selecting queries over ordered unranked trees representing XML documents. XPath is also at the core of several important languages for the web, such. as the query language XQuery [Boag et al. 2006] , the transformation language XSLT [Clark 1999 ], the schema language XML-Schema [Fallside and Walmsley 2001] , and the language for addressing fragments of XML documents, XPointer [DeRose et al. 2002] . Therefore, the study of XPath was recognized early on to be of paramount importance and a significant body of research exists on this topic.. For selecting nodes in trees, XPath offers backward and forward navigation with a large palette of so-called axes. The axes are binary predicates and can be classified as forward or reverse, depending on whether they are included in the depth-first, left-to-right preorder relation (also called document order) or its inverse. Examples of forward predicates are descendant and following-sibling, and of reverse predicates are ancestor and preceding-sibling.. The number as well as relevance of these backward and forward predicates has been challenged, for example, in Desai [2001] , Boag et al. [2006] , and Kay [2004] . Additionally, random access to XML data, enabled by the interplay of both forward and reverse predicates, poses difficulties to efficient query evaluation against XML data that is too large (or even unbounded) to be stored and accessed in main memory. This is the case for the XML repositories encountered, for example, in natural language processing [Ide et al. 2000] , biology [Bry and Kröger 2003] , and astronomy [NASA 2004] . This is also the case for unbounded XML streams arising in various contexts:. -For selective dissemination of information (SDI), continuously generated streams of XML documents have to be filtered according to complex requirements, specified as XPath queries, before being distributed to subscribers [Chan et al. 2002; Altinel and Franklin 2000] . The routing of data to selected receivers is also becoming increasingly important in the context of web service systems. -To integrate data over the Internet, in particular from slow sources, it is desirable to progressively process the input before the full data is retrieved [Ives et al. 2002 ]. -As a general processing scheme for XML, several solutions for pipelined processing have been suggested where the input is sent through a chain of processors, each of which takes the output of the preceding processor as input, for example, Apache Cocoon [Apache Project 2001a]. -There are efforts from the user community (e.g., Apache Project [2001b] ), and requirements from the W3C standards committees (e.g., Requirement 19 of Kay [2004] ) to support progressive XSL(T) rendering of large XML documents.. In all these contexts, sequential data access, as supported by forward-only queries, is preferred over random access, simply because backward navigation in the stream's history (as required by reverse predicates) can be very expensive, unaffordable, or impossible. There are three principal options to evaluate queries with reverse predicates in such contexts:. (1) Store in memory sufficient information that allows access to past events, particularly when evaluating reverse predicates. This amounts to keeping in memory a (possibly pruned) representation of the data [Apache Project 2001b] . (2) Evaluate the queries in more than one pass over the stream, provided that several passes are possible. With this approach, it is also necessary to store additional information to be used in successive runs. This information can be considerably smaller than what is needed in the first approach. (3) Find equivalent forward queries, namely, queries containing only forward predicates.. Contributions. This article targets the last of the three aforementioned approaches and shows it to be always possible. This approach is less timeconsuming than the second and does not require buffering unnecessary input fragments, as the first approach does. More precisely, the main contributions of this article are as follows.. -We establish a robust framework for rewriting queries with reverse predicates to equivalent forward queries.. Rather than dealing with XPath syntax, this framework uses an equivalent fragment of monadic nonrecursive Datalog with negation [Abiteboul et al. 1995] and built-in predicates for XPath axes and nodetests. For convenience, we call this language LGQ (logical graph queries). Our motivation for using. LGQ instead of XPath is twofold, though our study of LGQ also remains a study of XPath. First, the XPath syntax poses many (unnecessary) technical challenges and the rewriting rules of concern are more compact and fewer when expressed over LGQ. Second, whereas XPath allows path, tree, and forest queries, whose names are reminiscent of their query pattern analogs,. LGQ also allows structurally more complex DAG and graph queries. -Any LGQ query can be effectively rewritten to an equivalent forward query, and the same forward query is obtained, regardless of the order of rule applications. We support this statement by proving that our rewriting framework is sound and complete, terminates, and is confluent. -The last mentioned contribution is, in essence, an expressiveness result:. LGQ is as expressive as its forward fragment, that is, reverse predicates do not add to the LGQ expressiveness. Along this line, our rewriting framework sheds light on the equivalence of other LGQ fragments defined by the structural complexity of their queries. In particular, paths, trees, and forests can be rewritten to forward forests. If one additional rule is added to the framework, then arbitrary graphs can be rewritten to forward forests. Also, by using a single rule, paths, trees, and forests can be rewritten to a special form of forward DAGs. -We study the complexity of rewriting for input and output queries of varying language fragments. We find PSPACE reductions for deriving structurally less (or equally) complex forward equivalents, namely, forests. This case is accompanied unavoidably by an exponential blowup in the size of the forward queries. We also find LOGLIN reductions (i.e., LOGSPACE reductions with linear output) for deriving structurally more complex forward equivalents, that is, graphs.. • D. Olteanu -To better understand the relation between the complexity of rewriting and the structural complexity of the derived forward queries, we design a class of so-called simple graphs, which combine the advantages of efficient rewriting and structurally less complex forward equivalents. Simple graphs are LOGLIN-reducible to forward forests. Such graphs forbid co-occurrences of vertical (horizontal) closure reverse predicates (immediately) after vertical (horizontal) forward predicates along any path.. Because each disjunct of a simple graph is rewritten to (at most) one forward tree, we notice an interesting query minimization by-product: A tree query has the number of predicates bounded only in the number of their variables, thus independent of the number of predicates in the equivalent simple graph query. -We report on related (theoretical and practical) work that also represents various application scenarios for the results of this article. -An implementation of our rewriting framework adapted to XPath syntax is part of a publicly available XPath rewriter used by the streaming XPath processor SPEX [Bry et al. 2005] .. Structure of this article. Section 2 introduces the query language LGQ and the rewriting language LGQ → . Section 3 gives the equivalence-preserving rewrite rules used in Section 4 to define three rewriting systems. These systems form the basis of our main expressiveness and complexity results, given in Section 5. Section 6 details on work using our rewriting framework, and Section 7 concludes this article. This work has been primarily motivated by the need to enable on-the-fly (or streamed) evaluation of node-selecting queries on large XML repositories and unbounded XML streams. For this, it: (1) identifies reverse predicates as problematic for on-the-fly query evaluation, and (2) proposes a robust rewriting framework for finding forward queries equivalent to queries with "problematic" reverse predicates. Properties of the proposed rewriting framework, such as soundness and completeness, termination, confluence, and complexity of rewriting, are also investigated. The second point mentioned before is essentially an expressiveness result and investigating along the same line, this work identifies various classes of queries equally expressive to their forward fragments.. Finally, various applications of the rewriting framework to streaming, mainmemory, and RDBMS-based query evaluation are presented.

O O O O O O O O O O O O O O O O B B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B O O O O O O O O O O O O B O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O B O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O


A Quantitative Version of the Gibbard-Satterthwaite Theorem for Three Alternatives The Gibbard-Satterthwaite theorem states that every non-dictatorial election rule among at least three alternatives can be strategically manipulated. We prove a quantitative version of the Gibbard-Satterthwaite theorem: a random manipulation by a single random voter will succeed with a nonnegligible probability for any election rule among three alternatives that is far from being a dictatorship and from having only two alternatives in its range. A Social Choice Function (SCF), or an election rule, aggregates the preferences of all members of a society towards a common social choice. The study of SCFs dates back to the works of Condorcet in the 18th century, and has expanded greatly in the last decades.. One of the obviously desired properties of an SCF is strategy-proofness: a voter should not gain from voting strategically, that is, from reporting false preferences instead of his true preferences (such voting is called in the sequel manipulation). However, it turns out that this property cannot be obtained by any reasonable SCF. This was shown in a landmark theorem of Gibbard [Gib73] and Satterthwaite [Sat75] : Theorem 1.1 (Gibbard, Satterthwaite) . Any SCF which is not a dictatorship (i.e., the choice is not made according to the preferences of a single voter), and has at least three alternatives in its range, can be strategically manipulated.. The Gibbard-Satterthwaite theorem implies that we cannot hope for full truthfulness in the context of voting, since any reasonable election rule can be manipulated. However, it still may be that such a manipulation is possible only very rarely, and thus can be neglected in practice.. In this paper we prove a quantitative version of the Gibbard-Satterthwaite theorem in the case of three alternatives, showing that if the SCF is not very close to a dictatorship or to having only two alternatives in its range, then even a random manipulation by a randomly chosen voter will succeed with a non-negligible probability. Thus, one cannot hope that manipulations will be negligible for any reasonable election rule. 1 In order to present our results we need a few standard definitions. First we formally define an SCF and a profitable manipulation. Definition 1.2. An SCF on n voters and m alternatives is a function F : (L m ) n → {1, 2, . . . , m}, where L m is the set of linear orders on m alternatives. A set of preferences given by the voters, i.e., (x 1 , x 2 , . . . , x n ) ∈ (L m ) n , is called a profile. When we want to single out the ith voter, we write the profile as (x i , x −i ), where x −i denotes the preferences of the other voters.. A profitable manipulation by voter i at the profile (x 1 , . . . , x n ) is a preference x ′ i ∈ L m , such that F (x ′ i , x −i ) is preferred by voter i (according to his "true" preference order x i ) over F (x i , x −i ). A profile is called manipulable if there exists a profitable manipulation for some voter at that profile. Now we define the quantitative settings we consider. Throughout the paper, we make the impartial culture assumption [Bla58] , meaning that the profiles are distributed uniformly. 2 Under the uniform probability measure, the distance of F from a dictatorship is simply the fraction of values that has to be changed in order to turn F into a dictatorship. Similarly, in the case of three alternatives, the distance of F from having only two alternatives in its range is the minimal probability that an alternative is elected.. We quantify the probability of manipulation in the following way: Definition 1.3. The manipulation power of voter i on an SCF F , denoted by M i (F ), is the probability that x ′ i is a profitable manipulation of F by voter i at profile (x 1 , . . . , x n ), where x 1 , . . . , x n and x ′ i are chosen uniformly at random from L m .. We note that our notion of manipulation power resembles notions of power and influence which play important roles in voting theory and in theoretical computer science. Specifically, our reliance on the uniform probability distribution makes our notion analogous to the Banzhaf Power Index from voting theory [Fis73] , and to Ben-Or and Linial's notion of influence [BL85] . While the latter two notions coincide for monotone Boolean functions, the notion of Ben-Or and Linial deals also with the influence of coalitions (i.e., larger sets of voters) and with much more general protocols for aggregation. Similarly, the notion of manipulation power of one and more voters can be of interest in much greater generality.. Finally, we define a notion related to Generalized Social Welfare Functions which plays a central role in our proof. . . That is, given the preference orders of the voters, G outputs the preferences of the society amongst each pair of alternatives.. A GSWF G satisfies the Independence of Irrelevant Alternatives (IIA) condition if the preference of the society amongst any pair of alternatives (A, B) depends only on the individual preferences between A and B, and not on other alternatives. Now we are ready to state our main theorem. Theorem 1.5. There exist universal constants C, C ′ > 0 such that for every ǫ > 0 and any n the following holds:. • If F is an SCF on n voters and three alternatives, such that the distance of F from a dictatorship and from having only two alternatives in its range is at least ǫ, then. • If, in addition, F is neutral (that is, invariant under permutation of the alternatives), then:. We note that the value of the constant C obtained in our proof of Theorem 1.5 is extremely low (see Remark 5.2), and thus the first assertion applies only in the asymptotic setting. Unlike the value of C, the obtained value of C ′ is reasonable.. The proof of the theorem consists of three steps:. 1. Reduction from low manipulation power to low dependence on irrelevant alternatives: We show that if. is small, then in some sense, the question whether the output of F is alternative A or alternative B depends only a little on alternatives other than A and B. Specifically, the probability of changing the outcome of F from A to B by altering the individual preferences between all other alternatives (and leaving the preferences between A and B unchanged) is low. This reduction is obtained by a directed isoperimetric inequality, which we prove using the FKG correlation inequality [FKG71] (or, more precisely, using Harris' inequality [Har60] ). Since the Gibbard-Satterthwaite theorem was presented, numerous works studied ways to overcome the strategic voting obstacle. The two best-known ways are allowing payments (see, e.g., [Gro73] ) and restricting the voters' preferences (see [Mou80] ).. Another way, suggested in 1989 by Bartholdi, Tovey, and Trick [BTT89] , is to use a computational barrier. That is, to show that there exist reasonable SCFs for which, while a manipulation does exist, it cannot be found efficiently, and thus in practice, the SCF can be considered strategy-proof. Bartholdi et al. [BTT89] constructed a concrete SCF for which they proved that finding a profitable manipulation is N P -hard as an algorithmic problem. This approach was further explored by Bartholdi and Orlin [BO91] who proved that manipulation is N P -hard also for the well-known Single Transferable Vote (STV) election rule. In a related line of research, several papers showed that for various SCFs, the problem of coalitional manipulation (i.e., when a coalition of voters tries to coordinate their ballots in order to get their favorite alternative elected), is N P -hard for some SCFs, even for a constant number of alternatives (see [CS03, CSL07, EL05, FHH09, HHR07] ).. However, while the results in this direction are encouraging, the computational barrier they suggest against manipulation may be practically insufficient. This is because all the results study the worst case complexity of manipulation, and show that manipulation is computationally hard for specific instances. In order to practically prevent manipulation, one should show that it is computationally hard for most instances, or at least in the average case.. In the last few years, several papers considered the hardness of manipulation in the average case [CS06, PR07, PR07b, XC08b, ZPR09] . 4 Their results suggest that unlike worst-case complexity, it appears that various SCFs can be manipulated relatively easily in the average case -that is, for an instance chosen at random according to some typical distribution. However, all these results consider specific families of SCFs, and manipulation by coalitions rather than by individual voters.. Our results also study manipulation in the "average case" by examining the success probability of a random manipulation by a randomly chosen voter, and yield a general impossibility result in the case of three alternatives, showing that for any reasonable SCF, such manipulation succeeds with a non-negligible probability. However, our result does not have direct implications on the study of computational hardness of manipulation, since in the case of a constant number of alternatives, the number of possible manipulations by a single voter is constant, and thus manipulation by a single voter cannot be computationally hard in this setting.

O O O O O B I O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


An online energy-efficient routing protocol with traffic load prospects in wireless sensor networks In wireless sensor networks, many routing algorithms are designed to implement energy-efficient mechanisms. Among those, some focus on maximising an important performance index called network lifetime, which is the number of messages successfully delivered in the network before a failure. In this paper, we propose a new online algorithm taking the goal of prolonging network lifetime. When making routing decisions, our algorithm, named Traffic-Aware Energy Efficient (TAEE) routing protocol, utilises prospective traffic load information for further load balance, in addition to power-related metrics used in an enhanced cost function in calculating least cost paths. An algorithm for automatic parameter adaption is also described. To better accommodate to large-scale sensor networks, we further introduce a random grouping scheme which enables hierarchical TAEE routing to run within and cross the dynamically formed groups to reduce computation and routing overhead, while maintaining global energy efficiency. Our simulation shows that compared with the leading power-aware Max-min zP min protocol, the TAEE protocol generates better performance in terms of network lifetime without jeopardising network capacity. In recent years, Wireless Sensor Networks (WSNs) have been extensively researched and increasingly deployed in a vast range of civil, industrial and military applications. The mass production lowered the unit price, and the technical innovation boosted the sensor capabilities. However, some long-existing limitation of sensor nodes which impacts communication protocol design have not changed, e.g. most sensor nodes are still battery powered with limited energy conservation, and the wireless transmission still incurs high power consumption. At the same time, out of the lab, applications often require large-scale deployment which covers large area with complicated terrain, in which the message generation and collection may follow special requirements on quantity and frequency. This further puts challenges on communications in WSNs.. Energy efficiency of WSNs has been tackled at all the layers of communication protocol stacks. Among them, energy-efficient routing is one of the most important issues. Existing research can be categorised into classes such as:. (1) least cost path-based approaches (Li et al., 2001; Toh, 2001; Hong et al., 2002; Misra and Banerjee, 2002; Akkaya and Younis, 2003; Kar et al., 2003; Gao and Zhang, 2004; Park and Sahni, 2006) , (2) max-flow problem-based approaches (Chang and Tassiulas, 2000; Zussman and Segall, 2003; Chang and Tassiulas, 2004; Sadagopan and Krishnamachari, 2004) , (3) data fusion and network coding approach (Heinzelman et al., 2000; Luo et al., 2005a; Ciancio et al., 2006) and (4) topology and deployment control-based approaches (Shah and Rabaey, 2002; Bogdanov et al., 2004; Kannan et al., 2004; Chatterjee et al., 2005; Kawadia and Kumar, 2005) , etc. In these researches, different design objectives and metrics are addressed. Some metrics being measured include total power consumption, maximum throughput, the degree of power level variance of sensor nodes, cost per packet and the number of data packets extracted from the sensor nodes, etc. Many schemes seek to maximise the network lifetime. Among several definitions of lifetime, one is measured by the network's length of operation in number of successfully delivered messages until any message fails to be routed because of energy depletion. With this definition, other factors possible causing failures, such as hardware failure, noise, MAC overflow, are not counted. Energy is treated as the major reason. Another definition can be the time until the network is partitioned due to power depletion of some nodes. The former definition is especially suitable when each message is considered with equal importance in the network. In this paper, we use the former definition as our design goal.. Many existing work studies the scenario where message generation and transmission is cyclical in time, and the message distribution is uniform within a geographic field. In many other applications, data generation and transmission by the sensors are triggered by the change of metrics being monitored. In the latter scenario, event distribution is not uniform in space, and traffic can also bear a certain predictable demand through the time. In this paper, we propose a scheme that exploits the information about the sensors' prospective traffic load. The uneven distribution allows detouring routes away from hot spots in order to achieve longer lifetime. Specifically, our scheme makes route decision based on not only power-related metrics as used by many related work, but also the future traffic characteristics. This factor is significant in balancing traffic when the traffic initiation pattern is not even. In reality, this scenario is typical in many applications. For example, consider a battle field sensor network for motion detection. When a tank moves in the network area, sensor nodes near the tank tend to send more collected data in order to achieve higher precision of monitoring, while other nodes farther away may only need to transmit low-frequency data or keep in sleeping mode without sending any data at all. In addition, for large-scale sensor networks, multiple data collection base stations can be a necessity in order to satisfy requirements of fault tolerance, load balancing and efficiency. Our proposed routing scheme particularly fits in these scenarios.. Our scheme is named Traffic-Aware Energy Efficient routing protocol (TAEE) accordingly. This work extends our earlier paper (Liu and Hong, 2006) with substantial new and revised content on scheme design, analysis and evaluation results. The design goal is to maximise the network lifetime with heuristic algorithms. The routing algorithm is equipped with a new cost function using both transmission power and residual energy, with an emphasis on the power residual ratio of sensor nodes indicating risks of depletion. We further add a new metric to quantify the prospective traffic load and use it to further optimise a selected path based on the aforementioned cost function. Aligning with many existing work (e.g. Li et al., 2001 ) that requires each sensor node to have knowledge of the network topology and all sensor nodes' power levels, the TAEE scheme uses this dissemination mechanism and adds to it to carry the traffic load information. We expect such addition does not introduce noticeable burden to the routing process.. In addition, we take communication and computational overhead into consideration when sensor network grows large. We use traditional hierarchical routing architecture for the scalability. Our contribution is a dynamic random group mechanism to support a two-tier hierarchy. TAEE runs within the groups so it incurs less computation and communication overhead. Such design eliminates the boundary effect that occurs to grid or zone-based hierarchical solution.. In evaluating our protocol, we compare our protocol with the max-min zP min Algorithm (MMZ) (Li et al., 2001) , a representative and leading scheme that belongs to the same category as TAEE. In MMZ, existing network status about global power consumption and residual energy is considered. The simulation results show great improvements in network lifetime under various conditions. The rest of the paper is organised as follows. First, Section 2 gives the network model of this work. Section 3 describes the TAEE protocol in detail. We present the simulation results in Section 5. Section 6 gives a brief review of energy-efficient routing protocols for WSNs. Finally, Section 7 concludes the paper. In this paper we developed an energy efficient routing protocol for data dissemination in WSNs. The protocol takes prospective traffic load information at sensors into account when choosing a least cost path, in addition to responding to the current network energy usage. By introducing the metric of prospective load ratio and trimming nodes from a path according to the metric, our scheme is able to proactively reserves energy for sensor nodes that have continuing (to the future) data flows. We also devised a cost function that puts more weight on residual energy level. As a result, the scheme prolongs network lifetime by load balancing. Furthermore, we proposed a dynamic random grouping approach to run with a hierarchical version of TAEE. The random sectorshaped groups resolve the boundary problem pertained to the geographical zone-based grouping schemes. The two-tier TAEE reduces computation and control overhead for large scale WSNs. Our simulation results confirmed that TAEE effectively prolongs the network lifetime without jeopardising the capacity even having higher energy consumption per message when compared to a leading online energy efficient algorithm MMZ. Our future work will further explore the potential of TAEE, investigating more parameter choices of TAEE and application layer traffic scheduling along with performance comparison with more protocols. Many protocols have been developed in recent years for energy-efficient communication in sensor networks. Generally, these protocols can be classified into categories including (1) Least cost path based approaches (Li et al., 2001; Toh, 2001; Hong et al., 2002; Misra and Banerjee, 2002; Akkaya and Younis, 2003; Kar et al., 2003; Gao and Zhang, 2004; Park and Sahni, 2006) , (2) Max-flow problem-based approaches (Chang and Tassiulas, 2000; Zussman and Segall, 2003; Chang and Tassiulas2004; Sadagopan and Krishnamachari, 2004) , (3) data fusion and network coding approach (Heinzelman et al., 2000; Luo et al., 2005a; Ciancio et al., 2006) and (4) topology and deployment control based approaches Kawadia and Kumar, 2005) , etc.. In least cost path-based approaches, existing works conduct online path and node selection and construct corresponding cost functions according to different criteria. A good example is the work presented by Singh et al. (1998) , which proposes five metrics based on battery power consumption at nodes. By using these metrics including shortest delay, link quality, location stability, message and time overhead in route computation, the proposed protocol conducts least-cost routing to prolong the mean time of node failure. CMMBCR (Toh, 2001 ) performs max-lifetime heuristic routing using different metrics conditionally according to the remaining battery capacity. If there is sufficient power, shortest path algorithm is used. If not, nodes with the lowest battery capacity are avoided. Li et al. (2001) implements a heuristic algorithm Max-min zP min (MMZ) to balance the power-aware metrics of minimum total power consumption and maximum minimum-power-residuefraction. MRPC (Misra and Banerjee, 2002) and EQR (Akkaya and Younis, 2003) consider not only node energy level and varied transmission power, but also packet error rates when constructing the link cost function. CMAX (Kar et al., 2003) maximises the number of messages that can be successfully delivered. It uses message admission control to bound the worst-case performance. Gao and Zhang (2004) combines greedy strategies of sending messages to the furthest reachable node-in-direction and to the node with the lightest load considering a set of special cases when nodes are located in a narrow strip. OML (Park and Sahni, 2006) proposes an online energy-aware routing scheme which initially discovers a minimum energy path, then prunes the network by discouraging the use as relays of the nodes whose current energy residue is less than the minimum energy residue along the initial minimum energy path.. Among the above class of schemes, the MMZ (Li et al., 2001) and OML (Park and Sahni, 2006) are the two algorithms with similar approaches in achieving the same design goal. MMZ is an integration of two approaches: it takes the minimum total power possible to deliver a message as P min , and relaxes the total power consumption to maximise the minimum residual power fraction en route. It does so by iterative trial path calculation. In each pass it removes edges (direct wireless links) which could potentially result in lower power residue ratio at a node than the lowest ratio from the previous tentative path. The procedure ends until the total power consumption upper bound is reached. By adjusting parameters, the algorithm can be reduced to a minimum total power consumption path algorithm, or max-min residual power algorithm. OML follows the similar design approach with MMZ. The difference is that it removes edges which could potentially cause the energy level of nodes to drop below the minimum energy residue along a pre-calculated shortest path. Then, it uses a cost function integrating the factors of both potential energy consumption and power residue in order to calculate the final path. No parameter adaptation is used. Both MMZ and OML perform heuristic path determination based on the observation of the network status. However, unlike the TAEE algorithm we proposed, they only consider the current network status without utilising prospective traffic load information. Without any knowledge of the data generation and transmission of the sensor nodes, the MMZ and OML algorithms are reactive protocols, that means they only respond to the current status of the network, lacking heuristic according to future network condition.. Some researchers formulate the energy-efficient problem to max-flow problems (Zussman and Segall, 2003; Bogdanov et al., 2004; Sadagopan and Krishnamachari, 2004) , and (Chang and Tassiulas, 2000; Chang and Tassiulas, 2004) propose a class of Flow Augmentation (FA) algorithms and a flow redirection algorithm. In addition, protocols are designed to accomplish energy efficiency from data fusion (Heinzelman et al., 2000; Luo et al., 2005a; Ciancio et al., 2006) .. Load balancing has been used in some existing work as well. LEACH (Heinzelman et al., 2000) is a clusteringbased protocol which uses randomised rotation of cluster base stations. TTDD (Luo et al., 2005b) employs source defined grids when designing a two-tier data dissemination protocol which lessens data query flooding overhead. Shah and Rabaey (2002) implements energy-aware probabilistic forwarding. Kannan et al. (2004) addresses the problem of inter-cluster routing between cluster heads by modelling the formation of paths using a game theoretic paradigm. Hong et al. (2002) uses a multi-path approach. Other approaches include energy-aware regional data dissemination (Yu et al., 2001) , on-demand minimum energy routing (Doshi et al., 2002) using energy-aware link cache, usage of directional antenna to optimise control traffic and power consumption (Chatterjee et al., 2005) and power control protocols (Jung and Vaidya, 2005; Kawadia and Kumar, 2005) .

O B I I O O O O O O B I I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O