Cooperative coevolution and univariate estimation of distribution algorithms In this paper, we discuss a curious relationship between Cooperative Coevolutionary Algorithms (CCEAs) and univariate Estimation of Distribution Algorithms (EDAs). Specifically, the distribution model for univariate EDAs is equivalent to the infinite population EGT model common in the analysis of CCEAs. This relationship may permit crosspollination between these two disparate fields. As an example, we derive a new EDA based on a known CCEA from the literature, and provide some preliminary experimental analysis of the algorithm. We describe a relationship between two seemingly unrelated corners of the evolutionary computation community: Cooperative Coevolutionary Algorithms (CCEAs) and univariate Estimation of Distribution Algorithms (EDAs). These two families of algorithms were independently proposed and developed. Cooperative coevolution has emerged as a mechanism to simplify the search space by projecting it into multiple smaller subspaces, each searched by a separate population; whereas EDAs have often been proposed as competitors with "traditional" sample-based EAs, by replacing the sample population with a distribution estimate.. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. In particular, univariate Estimation of Distribution Algorithms represent the population distribution as a collection of separate per-gene distributions.. As it turns out, these algorithms have a strong but nonintuitive relationship. The per-gene distributions of univariate EDAs are not only closely related to the multiple populations of CCEAs, but such distributions are in fact equivalent to the infinite-sized "populations" used in a very common theoretical model for CCEAs, one based on Evolutionary Game Theory (EGT). This relationship promises to yield cross-pollination between the two fields: CCEAs have lately built a strong theoretical formulation; and EDAs have both good theory and efficient algorithms. We hope that this paper kindles discussion between the two fields.. We begin the paper by first discussing CCEAs and relevant theory. We then discuss univariate EDAs and outline one well-known univariate EDA algorithm as an example. We then formally show the relationship between the two. Based on this relationship, we offer an example of direct transfer from one area to the other: namely, we introduce a new theoretical univariate EDA formulation derived from a CCEA EGT model. We prove that the algorithm can converge to the optimum with any desired probability, though it is not efficient compared to existing EDA algorithms. We also provide an actual EDA algorithm which is an approximation of the theoretical version. This connection between the two techniques may permit some cross-pollination. For example, the CCEA community has spent considerable energy to understand exactly why CCEA models exhibit pathologies. This work may prove fruitful in explaining similar issues in EDAs. Likewise, the EDA community has generated efficient algorithms which may improve on CCEA approaches. The EDA community has also moved from univariate to richer representations of the joint distribution: these might inform CCEAs as well.. This theorem suggests a new EDA algorithm, derived directly from the parallel generational CCEA algorithm (Algorithm 1), with optimal convergence properties as shown in the theorem. For each allele in each gene, the algorithm repeatedly constructs N individuals using that allele, then determines the maximum fitness among the N . In the theoretical model, this procedure is notionally iterated infinitely and the expected maximum-of-N fitness is assessed. The algorithm below is obviously an approximation as it uses only a single sample rather than the expected value. Then the distributions are adjusted to reflect tournament selection over the expected maximum allele fitnesses. We augment the theoretical algorithm with an optional PBIL-style "folding in" of the new distribution, using a parameter α. The algorithm, dubbed the Cooperative Estimation of Distribution Algorithm (CEDA), is: The algorithm is not particularly efficient: for each gene, we construct and test multiple individuals to assess that gene, but do not reuse their results to inform other gene distributions. As a result, in this form, it would be expected to require many more evaluations per round than PBIL, CGA, and UMDA -but we offer it here as an example of just how close CCEAs and univariate EDAs are. As it turns out, univariate EDAs and CCEAs are very similar methods. The standard univariate EDA data model is essentially identical to the CCEA infinite-population EGT model. Given this, it is possible to transfer theory and algorithms from CCEAs to EDAs and vice versa. As an example, we have extended an existing CCEA theoretical result, originally for the 2-population CCEA case, to the M -population case. This result shows that a given CCEA algorithm can be made to converge with a probability of 1 − for any desired setting of regardless of the problem. We then transferred this result to the univariate EDA framework as well, demonstrating an EDA algorithm that approximates the theoretical model. However, the algorithm is very expensive in terms of evaluations, and as expected, it does not perform well compared to PBIL, one of several common univariate EDA algorithms. We believe this example serves as an illustration of what might be possible given the connection between these two techniques. This opens up many avenues for future work. For example, how would CCEA-style marginal "population" sample distributions compare to EDA-style marginal distributions? Could we convert algorithms such as CGA, PBIL, or UMDA to operate in the sample-distribution situation of CCEAs? Can further theory from either side inform the other? What would the equivalent of BOA be in a CCEA context? And importantly: are there other disparate methods which might actually be closely related?

B I O O B I I I O O O O O O O O O O O O O O O B I 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 B I I I 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 I 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 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


On the Design and Analysis of Competent Selecto-recombinative GAs In this paper, we study two recent theoretical models-a population-sizing model and a convergence model-and examine their assumptions to gain insights into the conditions under which selecto-recombinative GAs work well. We use these insights to formulate several design rules to develop competent GAs for practical problems. To test the usefulness of the design rules, we consider as a case study the map-labeling problem, an NP-hard problem from cartography. We compare the predictions of the theoretical models with the actual performance of the GA for the map-labeling problem. Experiments show that the predictions match the observed scale-up behavior of the GA, thereby strengthening our claim that the design rules can guide the design of competent selecto-recombinative GAs for realistic problems. Genetic algorithms have been applied to solve an impressively wide range of problems. Although they have proven to be very flexible, many successful GAs are found by making educated guesses for representation, parameters and operators. As a result, GA design is sometimes seen as a black art, not as an engineering task with a solid theoretical basis. In part, this is caused by the complexity of the behavior of the algorithm, which is difficult to model in its entirety. Several different theoretical approaches are being pursued, such as the facet-wise composition of partial models (Goldberg, 2002) , the exact analytical models based on Markov chains (Vose, 1999; Rowe, 2001) , formal proofs of GA behavior (Jansen and Wegener, 2001) , models based on statistical mechanics (Shapiro et al., 1994) , exact schema theorems (Poli, 2000) , and coarse-grained analysis of building-block evolution (Stephens and Waelbroeck, 1999) .. These approaches offer valuable insights into various important aspects of genetic algorithms, but usually do not translate easily to practical design rules. Indeed, practitioners dealing with real-life problems may feel that current theoretical results are too far removed from practical realities to be of any use.. In this paper, we study this gap between theory and practice, following the approach of facet-wise design as advocated by Goldberg (2002) . Specifically, we examine selecto-recombinative GAs, that are based on selection and recombination, on problems of bounded difficulty. It is assumed that the Building Block Hypothesis (Goldberg, 1989c) holds: good solutions can be found by finding (with selection) and combining (with recombination) building blocks. Note that we hereby exclude, for example, GAs that place a strong emphasis on mutation and use crossover as macro-mutation.. A GA can be called competent if it is able to find good solutions for the problem at hand in reasonable time. "Good" can be defined as finding solutions with quality that is a certain percentage of the optimum. "Reasonable" means that the algorithm should scale up well (Thierens and Goldberg, 1993; Thierens, 1999; Sastry and Goldberg, 2003) . The scale-up behavior of an algorithm is the relation between input size l and the amount of computational effort W required to find a solution with the requested quality. The amount of computational effort the GA spends is the product of the number of fitness evaluations E and the time needed to perform a single fitness evaluation e fit : W = E ·e fit . The optimal number of fitness evaluations E is also the product of two factors: the critical population size and the number of generations it takes to converge: E = n * · t * , where n * is the smallest population size needed to obtain a solution of a certain quality, and t * is the number of generations until convergence when the GA uses a population that is sized large enough (n ≥ n * ). Both factors (n * and t * ) together determine the scale-up behavior of the number of fitness evaluations spent by the GA. Our goal therefore is to construct GAs that find solutions of a specific quality (for example, within 97% of the optimum) while maintaining a reasonable (for example, linear) scale-up in the number of fitness evaluations.. In this paper, we discuss two models from the literature-a population-sizing model (Goldberg et al., 1992; ) and a convergence model (Mühlen-bein and Schlierkamp-Voosen, 1993; Thierens and Goldberg, 1994a; Bäck, 1995; Miller and Goldberg, 1996) -that together give a prediction of the scale-up behavior of the GA. Both models predict a scale-up of the square root of l, yielding a prediction of a linear scale-up for the number of fitness evaluations (E = O(l)). Unfortunately, these models have only been tested for artificial problems of bounded difficulty. It is implicitly assumed that the concept of bounded difficulty is relevant for many practical problems, too. In this paper we will strengthen this claim by showing how good solutions can be found for the map-labeling problem by treating it as a problem of bounded difficulty.. Map labeling. The map-labeling problem comes from automated cartography and is defined as follows. Given a map of cities and their names, each name has to be placed on the map next to the city. The label of a city is the rectangular bounding box of its name when printed in a certain font and font size. The label can be placed with the city in one of the four corners-in other words, the label can be placed in either the top-right, top-left, bottom-right or bottom-left position. The task is to find a labeling (a position for each label) such that the number of non-intersecting labels is maximized. A solution for a randomly-generated map of 1000 points is shown in Figure 1 . This variant of the map-labeling problem has been shown to be NP-hard (Formann and Wagner, 1991; Marks and Shieber, 1991) . The full map-labeling problem is more complex and contains many additional cartographic constraints and additional feature types (such as rivers and areas). To ease the analysis done in this paper, we will only be concerned with randomly-generated maps of uniform density such as shown in Figure 1 . A more thor- ough treatment of the map-labeling problem and the application of the GA from this paper to real cartographic maps is reported elsewhere (Van Dijk, 2001; Van Dijk et al., 2002) . Note that for this problem, the term e fit is easy to bound: in the fitness function each label on the map is checked for an intersection in constant time (by checking for an intersection with the labels of a bounded number of neighboring cities). Therefore, the total time needed for a single fitness evaluation is e fit = O(l). Combining this with the predicted linear scale-up for the number of evaluations gives a quadratic scale-up for the amount of computational effort: W = O(l 2 ). Our main contributions are as follows. Firstly, we demonstrate the practical usefulness of two recent theoretical models and the concept of bounded difficulty. We extract the underlying assumptions of the models to gain insights into the conditions under which a GA performs well. Secondly, we show how these insights translate to several practical design rules. Using the rules, we design a GA that gives high-quality solutions for the map-labeling problem. We use the GA to experimentally confirm the predictions of the models, thus supporting the practical usability of the approach.. This article is structured as follows. In Section 2, we will briefly describe the two models from the literature. Next, in Section 3, we formulate the design rules and use them to design an efficient GA for the map-labeling problem. The impact of disregarding the rules is discussed as well. The map-labeling GA is not able to satisfy the underlying assumptions of the models as well as the GAs for the artificial problems on which the models were originally tested. However, since the design rules aim to satisfy the underlying assumptions of the models, we expect no serious deviations from the assumptions and thus expect the predictions to hold. Section 4 is devoted to the verification of this expectation. Firstly, we systematically check the model assumptions Evolutionary Computation Volume 12, Number 2 to see how much the GA deviates from them. Secondly, we run the GA on dense, randomly-generated maps and find the experimental critical population size and number of generations until convergence occurs. These match the predictions of the models. As a result, the total number of fitness evaluations scales linearly with respect to the input size. Some concluding remarks are given in Section 5. In this paper, we examined two theoretical models from the literature that allow us to make predictions about the scale-up behavior of selecto-recombinative GAs under certain assumptions. The models describe the search of a GA in terms of the growth (by selection) and the recombination (by crossover) of building blocks. This view is suitable for problems of bounded difficulty. The assumptions of the models were turned into practical design rules that a GA-practitioner can follow to design a competent GA. A GA is deemed competent when its solutions satisfy a specified lower bound on quality and its scale-up behavior-the relation between input size and the number of fitness evaluations-is reasonable (for example, a low-order polynomial). To test the practical usefulness of the rules, they were used to design a GA for the map-labeling problem, an NP-hard cartographic problem. The GA was able to find solutions of good quality. The scale-up behavior of the GA was experimentally determined and matched the predictions of the models: the number of fitness evaluations scales linearly with respect to the input size.. Much theoretical research has been done on problems of bounded difficulty, such as the bit-counting problem and the concatenated trap function. This is justified by the implicit claim that many important real-world problems are either problems of bounded difficulty, or can be solved satisfactorily by assuming they are. Therefore, one can expect that theoretical results are useful in the design and analysis of GAs for realworld problems. We have shown that for at least one instance of an NP-hard problem (namely, the map-labeling problem), the reduction to a problem of bounded difficulty allows us to quickly find solutions that are near optimal.. For some problems, it will be fairly straightforward to apply the design rules to obtain a competent GA. It is significant that the assumptions that underlie the models are more liberal than one may expect, since the map-labeling GA was allowed to deviate from the assumptions to some extent but still showed the expected scale-up behavior. This suggests that the design rules can be applied to a broad range of problems. Other examples of the successful application of the design rules are GAs for other cartographic problems such as line simplification and generalization (Van Dijk et al., 2002) , and a GA for the automated construction of a Bayesian network from data (Van Dijk et al., 2003) . But even for problems for which the application is less obvious, the design rules highlight the important issues that need to be considered in order to design a competent selecto-recombinative GA. For example, for a problem for which the linkage of the building blocks is not readily available, the natural course of action would be to try to learn the linkage. When the GA converges prematurely, one can consider the design of crossover in terms of mixing and disruption, or investigate the buildingblock supply in the GA. The design rules therefore guide the designer in developing a competent GA. However, the design rules followed fairly straightforwardly from the theoretical results on models of selecto-recombinative GAs. Consequently, we advocate an increased awareness of the theoretic results that are available in the literature, and of their usefulness for practical GA design.

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 B I 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 B I 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


Characterization and mapping of dwelling types for forest fire prevention In a context of risk of forest fire, the development of actions concerning wildfire prevention and land management is necessary and essential particularly in wildland urban interfaces (WUI). The term 'WUI' always includes components such as human presence and wildland vegetation. Both the hazard (probability of fire outbreak, distribution) and the vulnerability of urban areas can be characterized through the spatial organization of houses and vegetation. The first step required is to characterize and map WUI in large areas and at a large scale, which, in turn requires qualifying different types of dwellings and mapping them. With this goal in view, the paper presents a brief synthesis of results coming from an exploratory process for the characterization of dwelling types (Lampin et al., 2007) , and develops a method based on GISgeo treatments to characterize different types of dwelling with regard to fire risk. Three types of dwellings were classified: isolated dwellings, scattered dwellings and clustered dwellings, using criteria based on the distance between houses, the size of clusters of houses and housing density, which can be mapped automatically. Within dwelling types, the density value of forest fire ignition changed and was twice as high for isolated dwellings as for clustered dwellings. The spatial organization of dwellings seems to have a real impact on fire occurrence. Thus maps of different dwelling types can be interpreted for use in developing fire fighting strategies or prevention actions concerning end-users such as forest and land planning managers or firefighters. Forest fires affect extensive areas and cause serious damage that has ecological, social and economic consequences leading to very high costs of prevention and fire-fighting. Every year more than 2,600 forest fires affect about 24,200 hectares of vegetation in the French Mediterranean region (Promethée database, 1973 (Promethée database, -2007 . Many large fires are linked with the dramatic land transformation that has been taking place in the Mediterranean region for some decades and that is increasing the risk of forest fire. On the one hand, agricultural fallows and orchards are slowly colonized by vegetation, while on the other hand, forest is not sufficiently utilized, where both result in the increased accumulation of fuel load. In addition, especially in the South of France, urbanization coupled with the phenomenon of forest extension is generating new spatial configurations called wildland-urban interfaces (WUI), where WUIs are commonly defined as areas where urban areas meet and interact with rural lands (Vince et al., 2005) creating a new conjunction of housing and vegetation characteristics (Stewart et al., 2007) .. In recent decades, there has been a significant increase in housing all around the world (Stewart et al., 2007; Radeloff et al., 2005a) . Urban sprawl observed in or near forests represents a significant threat to the environment (Johnson, 2001; Radeloff et al., 2005b) . Indeed, it leads to habitat fragmentation (Theobald et al., 1997) , threatens wildlife populations by introducing exotic species (Soulé, 1991) , and results in a decrease in biodiversity (McKinney, 2002) . Alavalapati et al. (2005) summarized the different socioeconomic and environmental concerns in a special issue. However, the main concern in WUIs is wildland fire (Davis, 1990) . According to Stewart et al. (2007) "the term wildland-urban-interface is now used almost exclusively in the context of wildland fire". The WUI is becoming a priority area for fire prevention and suppression (Stephens, 2005) . Indeed, there is an increasing concern about fuel reduction (Conard et al., 2001) , removal of fuel in the immediate vicinity of homes (Cohen, 2000) and plans for emergency evacuation (Church and Cova, 2000) . In this way, WUIs have become the central focus of wildland fire policy in Europe as well as in the United States.. We hypothesize that fire behaviour in WUIs is influenced by the pattern of urban areas within a natural landscape. Thus, it is first necessary to qualify and discriminate the spatial pattern of housing units in order to define different classes of houses: isolated dwellings, scattered dwellings or clustered dwellings. There is little literature in Europe about characterization of dwelling types through quantitative criteria in regards to fire risk assessment. For the purposes of this paper, we define 'isolated dwellings' as areas that are not very urbanized and located in a natural space. 'Scattered dwellings' refers to houses spread out over an extended urban area, and 'clustered dwellings' refers to areas where the population is concentrated. Taking into account background methods developed to characterize towns, we develop a method to characterize and stratify urban areas using criteria such as distance between houses, housing density, etc. After a brief synopsis of results stemming from an exploratory process for the characterization of dwelling types, the main aim of the paper is to present a method with which to characterize different types of dwelling with regard to fire risk. This research is a step towards defining the relationship between specific spatial organisation in WUIs and fire behaviour. We use the most efficient method to determine the typology of dwellings and combine this information with the spatial distribution of forest fire ignition points.. have been widely used to measure urban sprawl in the United States (Theobald, 2001) . Census data are collected during surveys and large scale data are easily accessible. According to Stewart et al. (2007) , housing density is the most appropriate metric for human presence. In census block groups, housing density has been used to identify WUIs across the US (Stewart et al., 2003) . However, there is still a need for thresholds in defining urban, WUI, and wildland areas on the basis of housing density. Depending on the definition provided by different authors, different classes of housing density are reported (Theobald, 2001; Stewart et al., 2003; Stewart et al., 2007; Hammer et al., 2004; Curtis et al. 1995) . Kamp and Sampson (2003) used population density instead of housing density to define the potential WUI area in the middle of a density spectrum, which varies from 40 to 400 people per square mile. However, according to Alberti et al. (2007) , these metrics do not discriminate well between different landscape patterns, essentially because the number of housing units has increased at a faster rate than that of the human population (Lepczyk and Hammer, 2007; Stewart et al., 2007) . Theobald and Romme (2007) developed a method for mapping the WUI at the national scale using housing density but indicated that for planning and management activities, more detailed data are necessary. Buildings should be located based on aerial photographs or using field-based data, but this kind of data is not available in all countries. Various methods corresponding to the generalization of spatial data have been developed to characterize towns: the envelop convex method, Delaunay triangulation, and recently a generalization pattern from the BD TOPO® from the French National Geographical Institute database (Boffer, 2001; Ruas, 1999) . The latter method characterized towns as areas that contain similar numbers of buildings, which are merged before simplifying their shape using the mathematical morphology approach developed by Matheron and Serra (1964) and also considers recent studies from Edwards and Regnault (2000) . Other authors (Le Corre et al., 2000; Kalhori and Weber, 2005) use mathematical morphology to delineate towns or data aggregation methods based on length criteria.. All these methods are based on specific distances. Some distance concepts are used to discriminate types of dwellings. However, there are no clear guidelines on what distance to use. A buffer distance should include a range of different fire-fighting objectives. Theobald and Romme (2007) assumed an 80 metres radius "firewise" treatment zone around each housing unit (defensive space). Cohen (2000) proposed a distance of 40 metres as "the likelihood of it being destroyed in a wildfire". In understanding which factors influence building density and fragmentation, Gonzalez-Abraham et al. (2007) applied 50, 100 and 250 metres disturbance zones around each building. Stewart et al. (2007) chose a 1.5 mile buffer distance based on the estimation of how far a firebrand can fly. Other methods combine both density and spatial patterns of buildings (Theobald et al., 1997) . Despite the significance of the WUI concerns, particularly in land and fire management (Radeloff et al., 2005b; Zhang and Winberly, 2007) , empirical data on its extent and location are lacking.

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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 iterative method for calculating approximate GCD of univariate polynomials We present an iterative algorithm for calculating approximate greatest common divisor (GCD) of univariate polynomials with the real coefficients. For a given pair of polynomials and a degree, our algorithm finds a pair of polynomials which has a GCD of the given degree and whose coefficients are perturbed from those in the original inputs, making the perturbations as small as possible, along with the GCD. The problem of approximate GCD is transfered to a constrained minimization problem, then solved with a so-called modified Newton method, which is a generalization of the gradient-projection method, by searching the solution iteratively. We demonstrate that our algorithm calculates approximate GCD with perturbations as small as those calculated by a method based on the structured total least norm (STLN) method, while our method runs significantly faster than theirs by approximately up to 30 times, compared with their implementation. We also show that our algorithm properly handles some ill-conditioned problems with GCD containing small or large leading coefficient. For algebraic computations on polynomials and matrices, approximate algebraic algorithms are attracting broad range Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. of attentions recently. These algorithms take inputs with some "noise" such as polynomials with floating-point number coefficients with rounding errors, or more practical errors such as measurement errors, then, with minimal changes on the inputs, seek a meaningful answer that reflect desired property of the input, such as a common factor of a given degree. By this characteristic, approximate algebraic algorithms are expected to be applicable to more wide range of problems, especially those to which exact algebraic algorithms were not applicable.. As an approximate algebraic algorithm, we consider calculating the approximate greatest common divisor (GCD) of univariate polynomials with the real coefficients, such that, for a given pair of polynomials and a degree d, finding a pair of polynomials which has a GCD of degree d and whose coefficients are perturbations from those in the original inputs, with making the perturbations as small as possible, along with the GCD. This problem has been extensively studied with various approaches including the Euclidean method on the polynomial remainder sequence (PRS) ( [1] , [16] , [17] ), the singular value decomposition (SVD) of the Sylvester matrix ( [3] , [6] ), the QR factorization of the Sylvester matrix or its displacements ( [4] , [20] , [22] ), Padé approximation [13] , optimization strategies ( [2] , [8] , [9] , [10] , [21] ). Furthermore, stable methods for ill-conditioned problems have been discussed ( [4] , [12] , [15] ).. Among methods in the above, we focus our attention on optimization strategy in this paper, especially iterative method for approaching an optimal solution, after transferring the approximate GCD problem into a constrained minimization problem. Already proposed algorithms utilize iterative methods including the Levenberg-Marquardt method [2] , the Gauss-Newton method [21] and the structured total least norm (STLN) method ( [8] , [9] ). Among them, STLN-based methods have shown good performance calculating approximate GCD with sufficiently small perturbations efficiently.. Here, we utilize a so-called modified Newton method [18] , which is a generalization of the gradient-projection method [14] , for solving the constrained minimization problem. This method has interesting features such that it combines the projection and the restoration steps in the original gradientprojection method, which reduces the number of solving a linear system. We demonstrate that our algorithm calculates approximate GCD with perturbations as small as those calculated by the STLN-based methods, while our method show significantly better performance over them in its speed compared with their implementation, by approximately up to 30 times. Furthermore, we also show that our algorithm can properly handle some ill-conditioned problems such as those with GCD containing small or large leading coefficient.. The rest part of the paper is organized as follows. In Section 2, we transform the approximate GCD problem into a constrained minimization problem. In Section 3, we review the framework of the gradient-projection method and a modified Newton method. In Section 4, we show an algorithm for calculating the approximate GCD, with discussing issues in the application of the gradient-projection method or a modified Newton method. In Section 5, we demonstrate performance of our algorithm with experiments. We have proposed an iterative method, based on a modified Newton method which is a generalization of the gradientprojection method, for calculating approximate GCD of univariate polynomials.. Our experiments have shown that our algorithm calculates approximate GCD with perturbations as small as those calculated by methods based on the structured total least norm (STLN) method, while our method has shown significantly better performance over the STLN-based methods in its speed, by approximately up to 30 times, which seems to be sufficiently practical for inputs of low or moderate degrees. Furthermore, by other examples, we have shown that our algorithm can properly handle some ill-conditioned problems such as those with GCD containing small or large leading coefficient.. However, our experiments have also shown that there are some cases in which the GPGCD method did not give an answer with sufficiently small amount of perturbations. Factors leading to such phenomena is under investigation.. For the future research, the followings will be of interest: time complexity of our method depends on the minimization, or solving a linear system in each iteration. Thus, analyzing the structure of matrices might improve the efficiency. Furthermore, generalizing our method to polynomials with the complex coefficients and/or several polynomials will be among our next problems. We have implemented our GPGCD method (Algorithm 3) on Mathematica and Maple, and carried out the following tests:. • Comparison of performance of the gradient-projection method (Algorithm 1) and a modified Newton method (Algorithm 2),. • Comparison of performance of the GPGCD method with a method based on the structured total least norm (STLN) method [8] ,. on randomly generated polynomials with approximate GCD.. In the tests, we have generated random polynomials with GCD then added noise, as follows. First, we have generated a pair of monic polynomials F0(x) and G0(x) of degrees m and n, respectively, with the GCD of degree d. The GCD and the prime parts of degrees m − d and n − d are generated as monic polynomials and with random coefficients c ∈ [−10, 10] of floating-point numbers. For noise, we have generated a pair of polynomials FN(x) and GN(x) of degrees m − 1 and n − 1, respectively, with random coefficients as the same as for F0(x) and G0(x). Then, we have defined a pair of test polynomials F (x) and G(x) as. respectively, scaling the noise such that the 2-norm of the noise for F and G is equal to eF and eG, respectively. In the present test, we set eF = eG = 0.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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


Efficient broadcast disks program construction in asymmetric communication environments A well-known technique for broadcast program construction is the Broadcast Disks. However, it has important disadvantages, as for example that the broadcast program construction procedure leaves some parts of the broadcast program empty. This paper proposes a new approach for the construction of the broadcast program. Specifically, it presents three new algorithms, which face the problems of the Broadcast Disk Technique. According to our approach, the broadcast program is constructed with the minimum possible length, respecting the selected disk relative frequencies and keeps the average delays of retrieving data-items low. The constructed broadcast programs have no empty parts and retain their desired properties in any combination of disk relative frequencies. Experimental results show that this approach is more efficient than Broadcast Disks in all cases. In this paper we presented the problems and drawbacks of the well-known technique of Broadcast Disks. We gave motivations for better broadcasting programs and how important is to construct efficient program periods. To successfully support the demanding nowadays-broadcasting applications, we developed a new method followed by 3 different and simple algorithms, which construct improved and efficient broadcast programs. We presented analytical construction examples in each algorithm and their properties and bounds. We tested the proposed algorithms in simulation environments similar to the suggested by the authors of BD, which we extended to support and test our method. Simulation results show that the proposed algorithms have significant performance gains over the broadcast disks method in all parameters set-ups and situations. In all experiments our method results shorter program period, lower average delays, and is not affected from the use of prime numbers, numbers with no common divisors or any other for frequencies and data-item allocations. The big advantage of the proposed algorithms is that they can easily be applied in automation systems in broadcast servers, they can be easily integrated in hardware components and they can be executed very fast, supporting automatic creation of program periods in the servers, even if the set of data-items is modified rapidly and continuously on time, or even if there are large amounts of insertions, deletions and updates on the dataitems set. Also, our method can be successfully applied in multibroadcasting networks and sensor systems and as a future work we will modify the proposed algorithms to test them in such environments.

O B I O O O B I 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 B I 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 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


Time-optimal control of disturbance-rejection tracking systems for discrete-time time-delayed systems by state feedback Abstract--In this paper, we solve the disturbance-rejection and tracking problem for linear multivariable discrete-time systems with time-delayed controlled inputs. A set of necessary and sufficient conditions under which the proposed problem is controllable is defined. Also, the nilpotency properties of such systems is established and used as the basis of a comprehensive design procedure. This general procedure is illustrated by designing a time-optimal disturbance rejection tracking system for a stirred-tank with time-delayed control inputs. (~) In this paper, the design of time-optimal disturbance-rejection tracking controllers for discretetime systems with multiple delays is investigated. The problem of disturbance-rejection has been solved by Porter [1] with a polynomial command input vector in the absence of time-delay. Schmitendorf studied the robustness of tracking systems [2] and Wang and Daley [3] and Tao, Joshi and Ma [4] studied the tracking control of systems with actuator failures. The results of Porter are extended to establish controllability and nilpotency properties of disturbance-rejection tracking systems in the presence of time-delays. By employing the method of augmentation of the state vector and applying the results of Klein and Ramirez [5] and Modarres and Karbassi [6] , an explicit expression for the feedback matrix for time-optimal control of such systems is obtained. For the sake of simplicity, only the tracking of step command vectors and the rejection of constant disturbances is considered. Clearly, the design technique can be readily extended to the tracking of a polynomial input vector in the manner of Porter. The well known problem of stirred-tank, presented by Kwakernaak and Sivan [7] is chosen as an illustrative example and time-optimal disturbance rejection of the stirred-tank with input time-delays is simulated for design purposes. The problem of tracking is to design a controller such that the resulting closed-loop system is asymptotically stable and the controlled output tracks a given reference signal in the presence of any initial condition and external disturbances. The purpose of this paper is to present a comprehensive procedure for the design of time-optimal disturbance-rejection tracking systems for a class of linear multivariable discrete-time systems with time-delayed inputs.. Such tracking systems consist of a controllable system governed in the discrete-time domain by state and output equations of the respective forms,. together with a controller which is required to cause the output vector y(k) of the system to track the piecewise constant command input vector v(k) whilst simultaneously rejecting the piecewise constant disturbance vector d(k) in the sense that. where kmin is to be as small as possible.. In equations (1) The design of time-optimal disturbance-rejection tracking systems for linear multivariable discrete-time plants with time-delayed control inputs has been considered. The controllability and nilpotency properties of such systems have been established and used as the basis of a comprehensive design procedure. The general procedure has been illustrated by designing a time-optimal disturbance-rejection tracking system for a stirred-tank with time-delayed control inputs under computer control. This design procedure can be readily extended so as to embrace plants with inaccessible states too.

B O O B B O O O O O O O O O O O O O O B O B 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 O O B O O O O O O O O O O O O O O O B B 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 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 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 B 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 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 O O O O O O B B B O O O O O O O B I 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 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 B 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


Application level hand-off support for mobile media transcoding sessions Media transcoding can be used to enable mobile devices that have low resolution and low bit-rate capabilities to access content created for stationary, desktop clients with high bandwidth connections. By deploying transcoding servers near the edge of a large network, it becomes possible to support clients with multiple resolutions, while limiting the bandwidth requirements in the core network.In this paper we look at the problem of supporting mobility of such device by seamlessly handing off media transcoding sessions between servers. We explore different hand-off solutions, starting with the transfer of sufficient amount of state so as to produce byte identical streams when compared to the case when there is no hand-off. However it is found that such a scheme introduces a considerable amount of hand-off delay at the client, due to the large amount of data that needs to be transferred. We propose, analyze and experimentally evaluate more efficient hand-off schemes that reduce delay by coarsening the granularity of the hand-off, and relaxing the requirement for byte identical outputs. We find that these scheme introduce no noticeable degradation in the output quality. These hand-off schemes can also be used to provide load-balancing at the transcoder, or for fault tolerance. The ever increasing popularity of the Internet has brought heterogeneous devices together. Users are accessing webpages and e-mail from their desktops, laptops, Personal Digital Assistants, as well as cellular phones. At the same time, there is greater expectation from users to obtain rich media services via their access devices. When delivering streaming video over the Internet, some key challenges and concerns include the ability of the receiving device to decode compressed video, regardless of its display space and available network capacity. This necessitates content adaptation or media transcoding algorithms that adapt compressed media, originally created for high-bandwidth, thick clients, into compressed media content that can be viewed by lower bandwidth thin clients, such as wireless hand-held devices. For example, the original compressed media content may have been coded at a higher resolution and a higher bit rate, say 720 × 480 at 2 to 8 Mbps for DVD quality, or 320 × 240 at 1.5 Mbps for desktop clients connected to the Internet through a T1 line. However, due to the characteristics of mobile wireless communication systems, i.e., low bandwidth channels and limited display space on clients, a 100 kbps video at a lower resolution may be desired. Current 3G wireless communication is trying to provide a 128 -384 kpbs communication channel. Therefore, a transcoder is needed to adapt the compressed media content to the appropriate size and bit rate.. With the introduction of fast compressed domain transcoding algorithms [1, 2, 3, 4] and efficient implementations on modern processors [5] , real time video transcoding can be achieved. Thus, video transcoding services can be deployed as an Active Service [6] or become part of a Content Services Network [7] .. A mobile, wireless client would thus try to access a video transcoding server that is close (in a network sense). However, since the client is moving during the session, it is likely to be closer to another transcoding server after some time. In the absence of any hand-off mechanisms, the network path length between the client and original transcoding server would constantly increase. The increase in latency would lead to intolerable inter packet delay and loss in video quality at the client.. Transport level hand-off and mobile IP like solutions can only be applied to achieve location transparency for the client [8] . Thus, new content can be obtained from a proxy server that is closer to the current location of the client. Appropriate buffering techniques at the client can also deal with handing-off simple media streaming sessions [9] . However, an on-going transcoding session has considerable state associated with it, and thus requires application level handoff. The alternative is an ever increasing network distance between the original transcoding server and the moving client. Moreover, wireless clients like cell-phones are power constrained and one would like to have as small a memory buffer as possible on the client. In this paper we explore some solutions to the problem of application level hand-off for supporting video transcoding sessions for mobile clients. We start with a simple implementation that essentially performs a process migration [10] by transferring complete state to the new transcoder. This produces byte identical streams when compared to the case when there is no hand-off. However, it is found that such a scheme introduces a considerable inter packet hand-off delay at the client due to the large amount of data that needs to be transferred between the transcoding servers. We propose, analyze and experimentally evaluate more efficient hand-off schemes that reduce this delay, while introducing no visible degradation in the output quality. These schemes require less processing overhead at the client, and require minimal buffering. These hand-off schemes could also be used to provide load-balancing at the transcoder and to add fault tolerance.. The rest of the paper is organized as follows: We formulate the hand-off problem in Section 2. Section 3 provides some background on the compressed domain video transcoding system. In Section 4 we describe the basic issues involved in session hand-off as applied to our scenario. We analyze the performance of the various proposed hand-off approaches in Section 5. Section 6 shows our experimental results using these approaches. Section 7 concludes the paper. This paper presents some solutions to the problem of handing-off media transcoding sessions, in particular to provide support to mobile clients. In general, an adaptive transcoding hand-off algorithm can be designed to select a method based on four parameters:. 1. The network condition between the transcoding servers, TS1 and TS2.. 2. The network conditions between the transcoding servers and the Content Server.. 3. The computational load on TS1.

O O B 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 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 B O O O O O O O O B 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 B 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 B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O O 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 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 B 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 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 B 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 B 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 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 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 B 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 B 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 B O O O O O O O O O O B O O O O O O O O O O O


A bit-parallel algorithm for searching multiple patterns with various lengths In this paper, we present an Advanced Vector Extensions (AVX) accelerated method for a bit-parallel algorithm that realizes fast string search for maximizing stable search throughput. An advantage of our method is that it accelerates string search by regularizing both control flow and data structures. This regularization facilitates the exploitation of the latest vector instruction set to achieve efficient parallel search of multiple patterns of different lengths. We use AVX instructions to increase search throughput per CPU core and employ OpenMP directives to realize data-parallel search of strings. As a result, we found that our data structure doubled search throughput as compared with a previous bit-parallel approach that used a data structure for patterns of the same length. We also found that our method achieved stable search throughput for arbitrary data if the pattern size is large, but small enough to fit into a word. Some experimental results are provided to understand the advantage and disadvantage of our method with a comparison * Corresponding author. Tel.: +81 6 6879 4353; fax: +81 6 6879 4354.Email address: ino@ist.osaka-u.ac.jp (Fumihiko INO)Preprint submitted to Journal of Parallel and Distributed Computing October 29, 2014 to Aho-Corasick based methods. We believe that our method is useful for large genome texts with many partial matches. String search identifies the location in a large string or text at which one or more substring patterns appear. Numerous research areas require the acceleration of multipattern search to handle large volumes of real-time data [1, 2] . For example, network intrusion detection systems monitor packets flowing on the network to protect computer systems from malicious access [3, 4] . String search is also useful for locating specific amino acid sequences in biological databases [5, 6, 7] .. Given performance requirements of such applications, a sophisticated efficient parallel implementation is required to achieve string search acceleration. However, scaling search throughput with the number of processing elements is not easy, because string search can be regarded as an irregular problem that suffers from burdensome issues such as irregular control flow and unpredictable data access. In particular, solving these issues is essential to efficiently parallelize string search on a single instruction, multiple data (SIMD) parallel machine, because different control paths can result in SIMD serialization, which drops the efficiency of parallel execution. Therefore, accelerating string search is a challenging problem for the parallel processing community.. Many researchers [3, 8, 9] tried to parallelize the Aho-Corasick (AC) algorithm [10] , which simultaneously searches multiple patterns to reuse loaded sym-bols between multiple patterns. Because string search is a memory-intensive problem rather than a computationally intensive problem, this data reuse approach is useful to achieve acceleration. The AC algorithm represents multiple patterns as a trie data structure, which is regarded as a deterministic finite automaton (DFA) that detects a match by loading symbols from the beginning of the text. If there is no valid state transition for the input symbol, then the automaton detects a transition failure and performs backtracking to investigate the possibility of a match from other locations. The time complexity of the AC algorithm is given by O(n +m + z), where n is the length of the text,m is the sum of the lengths of the patterns, and z is the total number of occurrences of the patterns [10] . The AC algorithm can be easily implemented on a multiple instruction, multiple data (MIMD) parallel machine by exploiting the data parallelism inherent to string search. This data-parallel AC (DPAC) algorithm divides the text into chunks, allowing threads to process them in parallel. Thus, MIMD machines are more tolerant to the irregularity than SIMD machines, because the former machines can issue different instructions to different processing elements. The DPAC algorithm was deployed on many parallel machines such as the graphics processing unit (GPU) [4, 5, 8, 9, 11, 12, 13] , field programmable gate array (FPGA) [14, 15] , Cell Broadband Engine [16] , and supercomputer [17] . Similar to the AC algorithm, which has the cost O(z) of printing the output, the DPAC algorithm has different time complexities for best and worst cases. Furthermore, owing to irregular control flow that affects branch prediction accuracy and cache hits, search throughput can vary according to the number of matching strings [9, 17] .. The Parallel Failureless Aho-Corasick (PFAC) algorithm [18] extends the AC algorithm [10] to achieve efficient parallelization on a GPU [19] . As compared with CPUs, GPUs not only have higher peak memory bandwidths but also more processing cores. Such rich computational resources are useful for accelerating a memory-intensive problem. The PFAC algorithm creates a thread for every symbol in the text to identify patterns starting at any location. Each thread manages the current status of a deterministic finite state machine. Consequently, search throughput decreases if each thread suffers from multiple state transitions in its state machine. The time complexity for a thread of PFAC ranges from O(1) to O(M ), where M denotes the longest length of the patterns to be searched simultaneously [18] . Therefore, performance degradation occurs if the text has many partially matching patterns and their matching lengths are relatively long. Such unstable search throughput is not desirable for packet and genome analyses, which must often process high volumes of data. Further, GPUs have smaller memory capacity than CPUs; consequently, maximum search throughput can be restricted by the peak bandwidth of the PCI Express bus, which can diminish the benefits of high-bandwidth video memory.. Another acceleration approach is to exploit bit parallelism in string search.. An advantage of the bit-parallel algorithm [20] is that the number of memory references is determined only by the text and pattern lengths. In other words, the bit-parallel algorithm has the same best-and worst-case time complexity, so that it can provide highly robust throughput when faced with various patterns varying in the text and pattern contents. The bit-parallel algorithm was extended by Prasad et al. [21, 22] to simultaneously search multiple patterns of the same length.. In this paper, to realize fast string search for maximizing stable search throughput, we present a high-throughput method that accelerates a bit-parallel algorithm on a multicore CPU. Our method extends the Prasad's algorithm [21, 22] such that it simultaneously searches multiple patterns of different lengths. In particular, our method is unique in regularizing both control flow and data structures for string search, namely an inherently irregular problem. This regularization facilitates the exploitation of the latest SIMD instructions that are useful to maximize the performance on a CPU. Our method efficiently searches multiple patterns of different lengths by using a data padding scheme that hides the irregularity of pattern lengths. This scheme is integrated into a two-level parallel algorithm that exploits not only data parallelism via OpenMP directives [23] but also bit parallelism via the latest vector instruction set called Advanced Vector Extensions (AVX) 2 [24] . The latter increases search throughput on a CPU core, while the former increases search throughput on a CPU socket. Our CPU-based solution demonstrates competitive search throughput without using special hardware devices such as the GPU and FPGA.. In addition to this introduction, this paper is organized as follows. Section 2 presents related studies in the area of string search. Section 3 summarizes the bit-parallel algorithm. Section 4 presents our proposed method, and shows how it increases the search throughput of the bit-parallel algorithm. Section 5 presents experimental results, and Section 6 provides the conclusions and suggestions for future work. Table 1 shows a comparison of previous string matching implementations with their deployed hardware. Prasad et al. [21, 22] extended the bit-parallel algorithm [20] to search multiple biological patterns in the text simultaneously. Their algorithm assumes that all simultaneously searched patterns have the same length and a word is large enough to store the patterns. Because the current x64 architecture uses 64-bit words, the total length of simultaneous patterns must therefore be less than 64 symbols. In contrast, our AVX-based algorithm covers multiple patterns of up to 256 symbols in length and accepts simultaneous patterns of different lengths. Our algorithm also exploits data parallelism via OpenMP directives, as detailed in Section 4. Xu et al. In this paper, we presented a high-throughput method for a bit-parallel algorithm that realizes fast string search for robust throughput maximization. Our method used AVX2 instructions to increase search throughput on a CPU core and exploited the data parallelism of the search algorithm via OpenMP directives. Further, our method was based on a data structure applicable for efficiently searching multiple patterns of different lengths. Increasing efficiency was achieved by data padding two parts of the bit sequence. Owing to our data padding scheme, only a single instruction was needed to detect an accepting automaton.. In our experiments, we found that our method doubled search throughput by padding dummy bits accordingly. We also found that our bit-parallel method achieved robust throughput measures even when faced with variations in the text and pattern contents. This robust stability comes from the regularization of control flow and data structures. As compared with the CPU implementation of the PFAC algorithm, our method achieved 1.4 times higher throughput for a genome dataset that had many partial matches between the text and patterns; however, our method has a limitation on the total length of patterns, which must be large, but smaller than the word size. Similar comparative results were obtained with the GPU implementation of the PFAC algorithm, but our method was able to handle large datasets that could not be stored in video memory. We think that our regularization approach is useful to accelerate string search on a SIMD machine.. Our future work includes an investigation of approximated string search [41] , which is an improvement of the bit-parallel algorithm; this type of search has proven effective in handling with biological sequences that include many errors due to high-speed sequencers. [25] implemented Prasad's algorithm on a GPU and achieved a search throughput of 0.1 Gbps. A similar bit-parallel algorithm was presented by Yadav et al. [26] . Bit-parallel algorithms have a disadvantage in terms of the pattern size. The total lengthm of patterns must be less than the word size.. Külekci [27] presented a filter-then-search algorithm called Streaming SIMD Extensions filter (SSEF) for searching a single pattern. The SSEF algorithm reduced time complexity by detecting possible matches at low cost, which were then given to the succeeding verification process. This algorithm was implemented using Streaming SIMD Extensions (SSE) instructions [33] to accelerate filtering process for single pattern matching. The SSEF algorithm was ten times faster than the bit-parallel length independent matching (BLIM) algorithm [34] , which overcame the word size limitation of the bit-parallel algorithm. However, the time preprocessing effects, where n is the length of the text and m is that of the pattern.. The SSEF algorithm was extended by Faro and Külekci [28] for multiple pattern matching. Their achieved search throughput ranged from 0.4 to 0.6 Gbps on a Core i7 processor.. Oh and Ro [29] presented multi-threaded multiple pattern matching with suffix grouping (MTMP-SG), which extended the Wu-Manber algorithm [35] to overcome performance degradation that appear when the text includes many matching patterns. Their extended algorithm groups the target patterns in terms of their suffixes, and distributes the patterns over multiple threads. Their CPU-based implementation ran at a throughput of up to 0.4 Gbps, which was faster than a GPUaccelerated AC implementation when searching more than 5,000 patterns simultaneously. They concluded that their implementation could be accelerated using SIMD instructions, which we tackled in the present work.. The PFAC algorithm [18] extended the AC algorithm to achieve efficient parallelization on a manycore GPU. To realize this, the PFAC algorithm eliminated the backtracking procedure of the AC algorithm (i.e., the failure transitions in the automaton), because using backtracking includes branches that can cause thread divergence [36] during highly threaded executions. Instead of backtracking, the PFAC algorithm creates a thread for every symbol in the text. Owing to the highly threaded GPU architecture, threads that encounter a failure can be quickly disappeared [18] , and these threads can give their occupying resources to remaining unprocessed threads. The PFAC algorithm was 30% faster than the DPAC algorithm, which assigns a larger chunk of text data to each of threads. A similar result was reported in [37] . For 190,000 patterns, their GPU-based implementation achieved a search throughput of 15 Gbps on a GeForce GTX 580; however, search throughput decreased to 3 Gbps if the text included higher numbers of partially matching data (because threads cannot rapidly complete their execution). Lin and Liu [14] implemented a similar parallel failureless algorithm on an FPGA.. Vasiliadis et al. [13] presented a DFA-based algorithm for inspecting network packets in real-time. They designed an efficient packet buffering scheme for transferring packets from the main memory to the video memory. Using a GeForce GTX 480 card, their GPU-based implementation achieved 30 Gbps for 50,000 patterns. Their algorithm was designed for network inspection systems, which assemble the text from packets flowing over the network. For such incoming packets, the search throughput can be maximized by increasing the pattern size rather than the text size. A DFA for 50,000 patterns occupied approximately 800 MB of device memory, which restricted the text size.. Tumeo et al. [9] accelerated the AC algorithm using clusters of CPUs and GPUs. Their DPAC algorithm requires halos (i.e., overlapping regions) to find matching strings that cross the boundaries of decomposed text. Because halos are redundantly loaded by multiple threads, the efficiency of parallel execution decreases as we increase the number of divisions for a fixed text size. Further, for text that has many pattern matches, search throughput decreased to 2 Gbps due to a higher number of cache misses [9] and the increasing cost O(z) of printing the output. A similar data-parallel algorithm called AC-opt was presented by Villa et al. [16, 17] . They confirmed that search throughput was unstable on a Xeon machine, but stable on a 128-processor Cray XMT, which had a high-efficient thread scheduler that avoids pipeline stalls caused by irregular memory access.. Oh et al. [31] and Zha and Sahni [8] implemented a similar DPAC approach on a GeForce GTX 480 GPU and a Tesla GT 200 GPU, respectively.. Tran et al. [11] presented a GPU-accelerated implementation of the AC algorithm that takes advantage of the memory hierarchy. Their implementation achieved a search throughput of 127 Gbps on a GeForce GTX 285 GPU. How-ever, this throughput did not consider the data transfer overhead incurred during copying input and output data between CPU and GPU. Considering this overhead, search throughput of PFAC [18] reduced from 143 Gbps to aforementioned 3-15 Gbps, which was close to those achieved by other GPU-based approaches [4, 12] .. Schatz and Trapnell [6] employed a suffix tree to accelerate string search. Because this approach arranges text data in a tree, it is a different approach from just using raw text data. Although a suffix tree of a text enables fast string operations, it generally requires more space than storing the raw text. The search throughput was around 0.5 Gbps on a GeForce GTX 8800 card.. In summary, our bit-parallel algorithm differs from previous algorithms in regularizing both control flow and data structures to achieve stable search throughput for arbitrary data. This contributes to utilize the latest SIMD instruction set for string search, but its SIMD width limits the pattern size.

O B I O O O O O O O O O O O O O O O O B O O O O B I O O O B I 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 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 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 O O O O O O O O O O O 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 B I B 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 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 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 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 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 B 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 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 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 B I 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 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 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 B I O O O O B I 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 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 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 B I O O O 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 O O O O 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 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 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 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 B I O O O O O O O O


A Layout Algorithm for Undirected Compound Graphs We present an algorithm for the layout of undirected compound graphs, relaxing restrictions of previously known algorithms in regards to topology and geometry. The algorithm is based on the traditional force-directed layout scheme with extensions to handle multi-level nesting, edges between nodes of arbitrary nesting levels, varying node sizes, and other possible application-specific constraints. Experimental results show that the execution time and quality of the produced drawings with respect to commonly accepted layout criteria are quite satisfactory. The algorithm has also been successfully implemented as part of a pathway integration and analysis toolkit named PATIKA, for drawing complicated biological pathways with compartmental constraints and arbitrary nesting relations to represent molecular complexes and various types of pathway abstractions. As graphical user interfaces have improved, and more state-of-the-art software tools have incorporated visual functions, interactive graph editing and diagramming facilities have become important components in visualization systems [7] . Effective analysis of the underlying data in graph visualization is only possible with the sound automatic layout capabilities of such systems.. The notion of compound graphs has been used, in the past, to represent more complex types of relationships or varying levels of abstractions in data (see Figures 1 and 2 ) [20, 17, 16, 14] . There has been a great deal of work done on general graph layout [4] but considerably less on the layout of compound graphs, probably due to the difficult nature of the problem. Straightforward approaches to laying out compound graphs in a top-down or bottom-up manner (with respect to the inclusion or nesting hierarchy) fail, due to bidirectional dependencies (e.g., inter-graph edges) between levels of varying depth. The limited work on compound graph layout has mostly focused on the layout of hierarchical graphs [19, 18, 9] , in which the underlying relational information is assumed to be under a certain hierarchy. However, such algorithms perform poorly if the graph is undirected (if the edge directions do not enforce a hierarchy) but still has structural properties, like symmetry, or includes parts or substructures, such as cycles. The work on undirected compound graphs [1, 21, 12, 10, 3, 5] , on the other hand, is either restricted in the types of graphs addressed (e.g., clustered graphs, where grouping or nesting is allowed for only one level) or is unsatisfactory in terms of the quality of results produced (e.g., large compound nodes overlapping with others or an inefficient use of area).. In this paper, we describe a new algorithm for the layout of undirected compound graphs that overcomes the shortcomings of previous algorithms. Ours is based on the force-directed layout algorithm [8, 13] and is the first for drawing undirected compound graphs, to handle all of the following ( Figure 3 ) with a rather simple, intuitive, force-directed model:. • an arbitrary level of nesting,. • inter-graph edges that may span multiple levels of nesting, and. • links to non-leaf nodes in the nesting hierarchy.. Furthermore, it can handle non-uniform node sizes. . An example of a compound graph with multiple levels of nesting (3) , intergraph edges spanning multi-levels (e.g., edge {a, g}), edges with non-leaf end-nodes (e.g., edge {d, e} with non-leaf end node e), and varying node dimensions.. The rest of this paper is organized as follows. The next section gives some definitions used throughout the paper. Then, we present our layout algorithm, detailing the idea behind the methodology, followed by its pseudo-code. We also discuss how application-specific constraints can be integrated into our algorithm. In addition, an implementation used to verify the quality and performance of the algorithm is discussed. This algorithm has also been imple-4 mented within the software tool Patika [6] to visualize complicated biological pathways with compartmental constraints and nested drawings. We conclude with a brief summary. We presented a novel algorithm for the layout of undirected compound graphs.. This is the first spring embedder that can handle compound graphs without any restriction on topology or geometry. The layout of complicated pathway graphs, such as those in Patika, are among the target applications. The main novelties of our work include the use of a modified spring embedder system that treats compound nodes and inter-graph edges as part of the physical system. In addition, we believe that most application-specific drawing conventions, such as those in biological pathways, can be integrated into this physical system as additional forces, as long as they can be sketched out as part of the physical model described. Experimental results are found satisfactory both in terms of the quality of layouts and computational efficiency. We assume that the graph to be laid out is represented with a graph manager object M = (S, I, F ), where each graph G = (V, E) in S is implemented using an adjacency list representation, and V M and E M , respectively, represent all nodes (both simple and compound) and edges (both intra and inter-graph) in graph manager M . These objects can be referenced through structures named GraphMgr, Graph, Node, and Edge. Layout specific data and functionality are assumed to be kept in these structures as well.. The algorithm is composed of three major phases preceded by an initialization phase:. • Initialization: This is where initial node sizes, and threshold values for determining convergence (based on number of nodes) are calculated, and the random initial positioning of nodes is performed.. In addition, for efficiency and layout quality reasons, parts of the given graph that are trees are temporarily removed. In other words, a root graph's leaf nodes are iteratively removed until no such node is left. The remaining part of the graph forms the "skeleton" of the graph (see Figure 7) .. The overall time complexity of this method is Θ(|V M |), as each node is visited Θ(1) times. Notice that only the trees that are members of the root graph are allowed to be reduced. Reduced tree roots are shown with circle nodes, as they will be the tree growth origins for later phases of the algorithm, where trees are grown in level-order.. • Phase 1: In this phase, the skeleton graph is laid out using the spring embedder model described earlier, but application constraints and gravitational forces are disabled.. • Phase 2: Trees reduced earlier in the initialization phase are introduced back, level by level, in this phase, also taking application constraints and gravitational forces into account.. • Phase 3: This phase is the stabilization phase, where we "polish" the layout.. The formula for calculating the spring force for edge e = (u, v) is. where λ is the ideal edge length, η is the elasticity constant of the edge, and p u 13 and p v are positions of nodes u and v, respectively. The ideal edge length of an inter-graph edge is increased proportional to the sum of the depths of its end nodes from their common ancestors in the nesting tree. Non-uniform node dimensions require force calculations to be based on clipping points rather than node centers. The following method is used for calculating the spring forces acting on each edge's ends:. 2) idealLength := λ 3) if e is an inter-graph edge then. The overall time complexity of this method is Θ(|E M |), as all steps inside the for-loop can be processed in Θ(1) steps.. Node-to-node repulsion forces are calculated using the formula. where α is the repulsion constant. Similar to spring forces, repulsion forces require us to make clipping point calculations for nodes of non-uniform size, based on the lines passing through nodes' centers:. Steps 5-10 are handled in Θ(1) steps, which are executed a total of a maxi- The algorithm described above has been tested within the example application of Tom Sawyer Visualization for Java, version 7.0. The development environment was Sun's Java SDK 1.4 and Microsoft Windows XP operating system on an ordinary personal computer (Pentium IV with 2GHz CPU and 512MB memory). The results were found quite satisfactory, as far as the general graph drawing criteria, such as number of crossings, and total area are concerned (Figures 8 and 9) . Furthermore, the experimental executions were found to be not only reasonably fast for interactive use but also in line with the earlier theoretical analysis, as detailed below.

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 O O O O O 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 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 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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