Allowing each node to communicate only once in a distributed system: shared whiteboard models Abstract In this paper we study distributed algorithms on massive graphs where links represent a particular relationship between nodes (for instance, nodes may represent phone numbers and links may indicate telephone calls). Since such graphs are massive they need to be processed in a distributed way. When computing graph-theoretic properties, nodes become natural units for distributed computation. tational power of such distributed systems where one computing unit is assigned to each node. Communication takes place on a whiteboard where each node is allowed to write at most one message. Every node can read the contents of the whiteboard and, when activated, can write one small message based on its local knowledge. When the protocol terminates its output is computed from the final contents of the whiteboard. We describe four synchronization models for accessing the whiteboard. We show that message size and synchronization power constitute two orthogonal hierarchies for these systems. We exhibit problems that separate these models, i.e., that can be solved in one model but not in a weaker one, even with increased message size. These problems are related to maximal independent set and connectivity. We also exhibit problems that require a given message size independently of the synchronization model. A distributed system is typically represented by a graph where links correspond to a particular relationship between nodes. For instance, nodes may represent phone numbers and links may indicate telephone calls. A classical approach is to view each node as a processor. Since nodes lack global knowledge, new algorithmic and complexity notions arise. In contrast with classical algorithmic theory-where the Turing machine is the consensus formal model of algorithmin distributed systems many different models are considered. Under the paradigm that communication is much slower and more costly than local computations, complexity analysis of distributed algorithms mainly focuses on message passing. That is, an important performance measure is the number and the size of messages that are sent by nodes for performing some computation. Theoretical models were conceived for studying particular aspects of protocols such as fault-tolerance, synchronism, locality, congestion, etc.. The particularity of this work lies in the fact that links between nodes do not necessarily represent communication channels between the computing units and therefore do not restrict the communication flow. In that sense our setting is similar to the "mud" (massive, unordered, distributed) model, where the authors tackle the problem of performing a computation when the data is distributed among many machines [4] . Roughly, in such mud algorithms, pieces of data are processed independently in parallel and pairs of messages are aggregated in any order. Only one message is created by each node because in truly massive database "a common approach for dealing with large datasets is to stream over the input in one pass" [4] . We have introduced four communication models, combining locality and congestion, in which communication is provided through a whiteboard shared by all nodes. Table 2 resumes the status of several problems like the reconstruction of bounded degeneracy graphs, "rooted" maximal independent set, triangle detection, even-odd-bipartite BFS and BFS in these models. Each cell marked yes indicates that the problem can be solved in that model, using messages of size O(log n). Each cell marked no establishes that there is no protocol for that problem, using o(n) bits. In particular, for any f (n) = o(n) we have that. Let us emphasize several questions that remain open: Another natural direction for further research would be to investigate randomized protocol for these models. Recall that 2-Cliques problem consists in deciding whether G is the disjoint union of two complete graphs with n nodes. It can be shown that 2-Cliques admits a randomized protocol for these models. Hence, a natural question is The two main aspects of our approach, the locality and the fact that nodes are allowed to send only one short message have been tackled before. In the classical model CON GEST [11] , where a network is represented by a graph whose nodes correspond to network processors and links to inter-processor links, the n processors can send in each round a message of size O(log n) bits through each of its outgoing links. A restriction of the CON GEST model has been proposed by Grumbach and Wu to study frugal computation [6] . In this model, where the total amount of information traversing each link is bounded by O(log n) bits, the authors showed that any first order logic formula can be evaluated in any planar or bounded degree network [6] . Many variations to the CON GEST model have been proposed in order to focus on different aspects of distributed computing. In a seminal paper, Linial introduced the LOCAL model [9, 11] . In the LOCAL model, the restriction on the size of messages is removed so that every node is allowed to send unbounded size messages in every round. This model focuses on the issue of locality in distributed systems, and more precisely on the question "What cannot be computed locally?" [8] . Difficult problems like minimum node cover and minimum dominating set cannot be well approximated when processors can locally exchange arbitrary long messages during a bounded number of rounds [8] .. It is worth to mention that a model where the number of rounds is limited to one and the message of each node is 0 or 1, has been considered in [5] . There a complexity theory for local distributed algorithms has been initiated. As in our model, the message of each node is based only on the information that it can collect among its neighbors. On the other hand, Naor and Stockmeyer in the context of locally checkable labelings study a model where each node computes its message based only on the information of nodes within a given radius from it [10] . They showed that a non trivial problem so-called weak c-coloring can be solved in this model but only in a restricted class of graphs and when the given radius is large. Since in our model each node must build its message considering only the information of its neighbors, some negative results obtained in [10] remain valid in it.. The idea of abstracting away from the cost of transmitting data throughout the network and to look at how much local information must be shared in order to compute some property is present in the Simultaneous Message Model defined in [1] . In such model the communication is global: n players must evaluate a function f (x 1 , . . . , x n ) in which player i knows the whole input except x i . Each player directly transmits one message to a central authority, the last referee, that collects and uses them in order to compute f (x 1 , . . . , x n ). The Simultaneous Message Model is a variant of the more general Multiparty Communication model, where the n players communicate by writing messages on a common whiteboard [3] .

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


Neural network modeling for near wall turbulent flow A neural network methodology is developed in order to reconstruct the near wall field in a turbulent flow by exploiting flow fields provided by direct numerical simulations. The results obtained from the neural network methodology are compared with the results obtained from prediction and reconstruction using proper orthogonal decomposition (POD). Using the property that the POD is equivalent to a specific linear neural network, a nonlinear neural network extension is presented. It is shown that for a relatively small additional computational cost nonlinear neural networks provide us with improved reconstruction and prediction capabilities for the near wall velocity fields. Based on these results advantages and drawbacks of both approaches are discussed with an outlook toward the development of near wall models for turbulence modeling and control. c 2002 Elsevier Science (USA) The development of low-order models for wall bounded turbulent flows is of paramount importance for the construction of turbulence models for LES and RANS calculations as well as for the development of efficient flow control strategies. A prototypical example of turbulent wall bounded flows is the turbulent channel flow. In turbulent channel flows the near wall region contains the most fundamental mechanisms for the generation of turbulence. The near wall region is characterized by coherent vortical structures, manifested by alternating low-and high-speed streamwise wall streaks [1] . The periodic formation and breakdown of these vortical structures is associated with the production of turbulence in wall bounded flows [2] . These structures suggest that suitable low-order models can be developed by projecting the governing Navier-Stokes equations, on a properly selected lower dimensional phase subspace.. For this projection a reasonable selection criterion for the base of the manifold is the maximization of the energy content. For a dynamical system this can be accomplished by applying the Karhunen-Loeve decomposition to a data set that is representative of the dynamics we wish to approximate [6, [8] [9] [10] . This operation is also called principal components analysis (PCA) .. The application of the PCA technique to turbulent flows was pioneered by Lumley [5] , as the proper orthogonal decomposition (POD). In this decomposition, the spatio-temporal velocity field is represented as the superposition of an infinite number of spatial structures whose amplitude changes with time. This decomposition is optimal in the sense that it maximizes the energy content of any finite truncation of the representation. The POD has been successfully applied to the derivation of low-dimensional models of the Navier-Stokes equations [3, 7, 8, 10] , describing systems such as wall boundary layers, convective flows, and turbulent channel flows.. However, the application of the POD to three-dimensional turbulent flows is hindered by the size of the computational problem; studies of the performance of the POD have shown that as the Reynolds number increases the convergence rate of the truncated POD expansion to a given fraction of the total flow energy decreases, requiring larger numbers of eigenfunctions to represent the flow adequately [11] .. The difficulty related to the size of the computational problem can be circumvented by considering a domain as small as possible when the POD is performed. Jimenez and Moin [12] found the smallest computational box in which turbulence can be sustained, naming it the minimal flow unit (MFU). Using this concept, the POD has been used to reconstruct an approximation to the near wall flow using wall shear stress measurements [13] as well as to derive a reduced-order dynamical model for the MFU [14] . However, in a MFU fewer eigenfunctions are needed to capture a given amount of energy than in a full channel flow [15] , which means that a POD of an MFU may not provide adequate information on higher order modes.. Since the POD is the linear PCA, it is plausible to consider its nonlinear extension. The nonlinear extension of the POD can be easily formulated when its relation with a linear neural network (NN) is recognized; more specifically, the POD can be viewed as the application of a linear neural network to the identity-reconstruction problem. It can be shown analytically that training a linear neural network to perform an identity mapping on a given data set is equivalent to performing a linear PCA on the data set [16] .. A neural network has been used to learn the correlation between wall shear stresses and wall actuation, in order to implement opposition control in a turbulent channel flow [27] . In this paper we focus on the use of a nonlinear neural network to perform a PCA, which extends and generalizes the POD methodology, providing in many cases a more efficient representation of the data [17] . The development and implementation of a neural network for reconstruction of the near wall flow field are examined for the first time in this paper. It will be also shown that the linear POD can be formulated as a specific class of linear neural networks, thus consistently generalizing the linear POD.. A neural network model has also been set up for unsteady surface pressure on an airfoil, having as inputs the instantaneous angle of attack and angular velocity [25] . This model has been set up using experimental data, and it can also be used to set up controllers for the wing motion [26] . A drawback of the neural network approach is the increased computational cost associated with the training of the neural network. However, the training of a NN via back propagation is an inherently parallel process that can take advantage of today's powerful computer architectures. The selection of the data and the presentation to the NN are key aspects of the learning process. In this work, in order to ensure that the size of the data is computationally reasonable, and that the dynamics of the system contain all the information carried by higher order modes, the velocity field is sampled from a DNS of a full channel flow over a wall region containing an MFU.. In this paper we present results from the reconstruction of the near wall flow in a turbulent channel flow using wall only information. It is shown that a simple nonlinear neural network structure can be used to perform the same modeling tasks performed by the POD, but with better data compression capabilities. The advantages and drawbacks of this approach are discussed.. This paper is organized as follows: in Section 2 the linear POD is outlined, the basic structure of a neural network is presented, and the equivalence of a linear neural network to the linear POD is described; in Section 3 a nonlinear neural network extending the POD methodology is introduced, and linear POD and nonlinear PCA are compared in performance on the application to data coming from the randomly forced Burgers equation and from a turbulent flow contained in a MFU; in Section 4 it is shown how a nonlinear neural network can be used to derive a near wall model based on wall measurements, and the performance of this model is compared with the performance of a linear POD model; in Section 5 we present concluding remarks. We have presented a nonlinear neural network model for the reconstruction of the near wall flow in a turbulent channel flow. The linear POD is shown to be a subset of a more general family of nonlinear transformations, implemented by a nonlinear neural network. The performance of the nonlinear model compares favorably to the performance of a linear POD model performing the same task.. The neural network model provides better compression capabilities than the POD as it results in better reconstruction for data in which it has not been trained, both in the case in which spatial homogeneity hypotheses are enforced and in the more general case in which no such hypotheses are made.. On the other hand the drawbacks of this approach are that the decoupling between space and time that is present in the linear case is lost, and also the computational time to train the nonlinear PCA structure can be larger than the time needed to construct the linear POD eigenfunctions, since the multilayered feed-forward neural network training is an iterative process. However, the additional cost, as compared to the POD, induced by the NN training is compensated by the highly parallel character of the training process. We plan to improve further this basic model by experimenting with more complex structures, such as time delayed and/or recurrent neural networks, in order to take time-dependent information also into account.. The neural networks were also implemented in order to provide reconstruction of the flow field using wall only information, a desirable situation for problems of flow control. The results have shown that a straightforward application of neural networks may not be advantageous for flow reconstruction in the viscous sublayer. An improved neural network architecture is developed that takes advantage of this linearity while maintaining the advantages of the nonlinear approach.. In turbulent flows accurate reconstruction of the near wall region is essential to devise successful control schemes [13] . The positive results presented in this paper for near wall modeling with larger nonlinear neural networks, assuming wall only information, encourage experimentation on related control schemes.. Looking ahead, we envision that neural network models can also be useful in the construction of near wall models for flow solvers using RANS or LES, by exploiting their compression capabilities. Work is under way to develop such models by further exploiting large scale numerical and experimental databases. We present here results from the application of POD and nonlinear NN as reconstruction tools for the randomly forced Burgers equation and for the near wall flow field in a turbulent channel flow at Re = 2500 based on the channel half height.

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


Improving associative classification by incorporating novel interestingness measures Associative classification has aroused significant attention in recent years and proved to generate good results in previous research efforts. This paper aims to contribute to this line of research by the development of more effective associative classifiers. Our goal is to achieve this by the incorporation of two novel interesting measures, i.e. intensity of implication and dilated chi-square, into an existing associative classification algorithm, respectively. The former interesting measure was merely proposed with the purpose of mining meaningful association rules, while the latter was designed to reveal the interdependence between condition and class variables. Each of these two measures is applied as the primary sorting criterion within the context of the well-known CBA algorithm in an attempt to organize the composition of the rule sets in a more reasonable sequence. Benchmarking experiments on 16 popular UCI datasets revealed that our algorithms could empirically generate accurate and significantly more compact decision lists. In addition to this, the algorithm was validated on a separate credit scoring dataset, which contained 7190 credit scoring samples. Classification and association-rule discovery are two of the most important tasks addressed in the data mining literature. In recent years, extensive research has been carried out to integrate both approaches. By focusing on a limited subset of association rules, i.e. those rules where the consequent of the rule is restricted to the class variables, it is possible to build more accurate classifiers. Several publications have shown that associative classification is intuitive and effective in many cases (Dong et al., 1999 , Liu et al., 1998 , Liu et al., 2001 , Wang and Zhou, 2000 and Yin and Han, 2003 . Normally, association rules search globally for all rules that satisfy minimum support and minimum confidence thresholds. The richness of the rules gives this technique the potential of reflecting the true classification structure in the data.. Associative classification is first proposed in CBA (Liu et al., 1998) , in which the popular Apriori algorithm has been applied in order to extract a limited number of association rules with their consequents limited to class labels. These rules are then sorted by descending confidence and are pruned in order to get a minimal number of rules that are necessary to cover training data and achieve satisfying accuracy. Another associative classifier ADT (Wang & Zhou, 2000) organizes the rule sets in the tree structure according to its defined relations. The decision tree pruning techniques is then applied to remove rules that are too specific. CPAR, CMAR and CAEP are three of the latest associative classification algorithms (Dong et al., 1999 , Liu et al., 2001 and Yin and Han, 2003 . They, respectively, propose expected accuracy, weighted chi-square and growth rate as rule interestingness measures, and all perform classification based on multiple rules that the new sample fires. The aim of this paper is to improve the CBA algorithm in order to generate a more accurate and compact decision list, which is convenient for decision makers to understand and adopt. Two novel interestingness measures, intensity of implication and dilated chi-square, are applied as the primary sorting criteria instead of the currently adopted confidence measure. Intensity of implication and dilated chi-square statistically reveal the interdependence between the antecedence and consequence of rules and empirically allocate rules in a more reasonable order.. The remainder of this paper is arranged as follows. Section 2 introduces the basic concepts of associative classification, along with the sorting mechanism applied by CBA. Section 3 elaborates on the weakness of conditional probability (confidence), as well as on the design of intensity of implication and dilated chi-square to overcome it. The results of the empirical evaluation are shown in Section 4. Section 5 gives some concluding remarks. In this paper, intensity of implication is adopted as an interestingness measure for class association rules. Another novel interestingness measure, called dilated chi-square is designed to reveal the statistical interdependence between the antecedents and consequents of association rules.. In a next stage the CBA algorithm was adapted, by coupling it with intensity of implication and dilated chi-square, respectively. More concretely, intensity of implication (or dilated chisquare) was adopted as the primary criterion to rank class association rules at the first step of the database coverage pruning procedure in the original CBA algorithm. Benchmarking experiments on wide-range datasets, especially in credit scoring domains, proved that these two adapted algorithms could build accurate decision lists and generate classifiers that are significantly more compact than CBA.

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


Balanced Corpus of Contemporary Written Japanese Construction of 100 million words balanced corpus of contemporary written Japanese is underway at the National Institute for Japanese Language. The unique property of the corpus consists in that the majority of its sample texts are selected randomly from well-defined statistical populations covering wide range of written texts. A serious problem in corpus-based analysis of the Japanese language is the lack of reliable balanced corpus. Most of the corpus-based studies of contemporary Japanese are based upon the analyses of text archive of newspaper articles, archive of copyright-expired literary work (Aozora Bunko), or crawling of the Internet text.. Putting aside the problems of the copyrightexpired literary works, which are definitely too old to be the material for the study of the contemporary Japanese, lack of balanced corpus imposes two mutually related problems on linguistic studies. Most of newspaper articles are written by newspaper writers who are very much aware of the established writing style (and orthography) of newspaper articles. Accordingly, it is the genre of text where variations of all sorts are suppressed to the minimum level.. On the other hand, the results of internet crawling using search engines like Google are very much likely to include texts covering wide range of texts. It is also expected that considerable amount of linguistic variations are to be observed.. It is, however, very difficult, if not impossible, to conduct analyses of style difference and/or linguistic variations using the results of internet crawling, because the information about the genre of texts and/or the writers are usually missing. Moreover, the amount of retrieved texts can often be too large to be classified by hand.. There is also a problem of skewed distribution of texts caused by copyright protection. Copyrightprotected materials, especially literary works, will not usually show up in the Internet.. To solve these problems in Japanese corpus linguistics, National Institute for Japanese Language (NIJL, hereafter) has launched a corpus compilation project in the spring of 2006, aiming at public release of Japan's first 100 million words balanced corpus in the year of 2011. The corpus is named the Balanced Corpus of Contemporary Written Japanese, or BCCWJ.

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


Blocking in large mobile cellular networks with bursty traffic We consider large cellular networks. The traffic entering the network is assumed to be correlated in both space and time. The space dependency captures the possible correlation between the arrivals to different nodes in the network, while the time dependency captures the time correlation between arrivals to each node. We model such traffic with a MarkovModulated Poisson Process(MMPP).It is shown that even in the single node environment, the problem is not mathematically tractable. A model with an infinite number of circuits is used to approximate the finite model. A novel recursive methodology is introduced in finding the joint moments of the number of busy circuits in different cells in the network leading to accurate determination of blocking probability. A simple mixed-Poisson distribution is introduced as an accurate approximation of the distribution of the number ofbusy circuits.We show that for certain cases, in the system with an infinite number of circuits in each cell, there is no effect of mobility on the performance of the system. Our numerical results indicate that the traffic burstiness has a major impact on the system performance. The mixed-Poisson approximation is found to be a very good fit to the exact finite model. The performance of this approximation using few moments is affected by traffic burstiness and average load. We find that in a reasonable range of traffic burstiness, the mixed-Poisson distribution provides a close approximation. The design of wireless cellular networks requires a thorough understanding of the traffic characteristics of new call ar-*Nidhi Hegde is now with Lucent Technologies, Bell Laboratories, 791 Holmdel-Keyport Road, Holmdel N J, USA 07733. 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, ACM SIGMETRICS 2001 6/01 Cambridge, MA., USA © 2001 ACM ISBN 1-58113-334-0101/06...$5.00 rivals into the network. Cellular networks must be designed with adequate capacity in order to provide an acceptable Quality of Service (QoS). At the call level, QoS is generally characterized by new call blocking (PB), hand-off blocking (PH), and forced-termination. New call blocking occurs when no free channel is available in the cell where the mobile subscriber initiates the call. Hand-off blocking occurs when a mobile user enters a new cell while a call is in progress and there is no available channel to carry the call. In order to minimize blocking, an increase in capacity can be achieved by increasing the number of channels in a cell, reducing the cell size, or introducing efficient power control algorithms.. Analytic models for traditional cellular networks are generally based on Poisson arrival processes [7] , [8] . However, a Poisson arrival process does not adequately characterize arrival traffic with correlation. A Markov renewal process such as a Markov-Modulated Poisson Process (MMPP) that can characterize correlation in arrivals is a more appropriate model. Use of an MMPP in single-cell analysis has been shown by Sohraby [9] , where a moment-matching technique is used to characterize arrival traffic. However, handoff blocking, impact of mobility, and correlation of arrivals between cells cannot be analyzed through these single-ceU models. Models which provide multiple-cell analysis as well as correlation between cells must be developed. However, no product-form solution for multiple-cell analysis exists, and the resulting state-space explosion prevents an exact analysis [3], [10] . Numerical approximation techniques for such systems must be developed. The fixed-point approximation (FPA) used by Kelly[3] for blocking provides a good approximation for large networks with low mobility. However, FPA is based on the assumption that all arrivals are Poisson and independent. Approximation techniques that do not require such an assumption must be developed.. We model the arrival process into a cellular network as an MMPP. Arrival rates into the network vary randomly over time, being governed by an underlying Markov chain. The MMPP allows us to capture correlation in time, that is correlation between arrivals into a single cell, and in the case of a multi-cell network, to capture correlation in space, that is correlation between arrivals to different cells, as well. Let us consider the case where the arrival rate into a cell is ~,j when the underlying Markov chain is in state j. As the MMPP changes state, there is a change in the arrival rates. Here, the arrivals are correlated in time. The arrivals may also be correlated in space, where there is correlation among the cells of the network. This can be seen in a case where as the MMPP changes state, there may be a change to a higher arrival rate in one cell, and to a lower arrival rate in the adjacent cell. This is a case of negative correlation among the cells. Similarly there may be positive correlation among cells when changes in arrival rates are similar among the ceils. A simplification of correlation in space may be seen in the following example. Consider two large cells in a town, one in the downtown area and the other in a residential area. If most of the users are in the downtown cell during the day, there is a high arrival rate into that cell and a low arrival rate into the residential cell. At the end of the day as users travel back home, there is a high arrival rate in the residential cell and a low arrival rate in the downtown cell. Here, the arrivals into one cell are negatively correlated with arrivals into the other cell.. Arrivals into different cells might also be governed by separate Markov chains. In a multi-cell analysis, the individual MMPP's of the cells may be superimposed, resulting in a larger MMPP. Our model allows the handoff rates to also be controlled by an MMPP. In such a case, the time to handoff, for a call in each cell is exponential, with a rate that depends on the state of the modulating chain.. The cellular networks we consider consist of cells with a large number of circuits. Such a finite model of a large number of servers is not amenable to exact analysis. Since the cells contain a large number of circuits, we approximate the system by modeling it as a system with an infinite number of servers. A system with an infinite number of servers is often more tractable and we show that this approximation is in fact suitable for the size of cells we consider. For example, we may consider a cellular system of 12.5 MHz of total bandwidth, with 1.25 MHz allocated to CDMA. (12.5 MHz is the total spectral allocation for each service provider.) For this example, the reverse link may be able to support up to 132 users per cell [2] . Note that this with only 10% of the total bandwidth allocated to CDMA. The number of users supported in a cell can increase as more bandwidth is used.. We present two methods to approximate the steady-state probabilities of the number of busy circuits. In the single.. cell environment, the steady-state probability of the number of busy circuits can be computed directly using a probability generating function. A recursive relation between the probabilities is also employed. However, the methods of using the generating function and the recursive equations are not easily extendible to multiple cells. We derive a recursive relation to find the joint moments of the number of busy circuits in each cell. This moment information is used to approximate the probability distribution of the number of busy circuits in each cell as a mixed-Poisson distribution. This distribution can be approximated by matching only a few moments, thus reducing the computational complexity.. The rest of this paper is organized as follows: In Section 2 we present our model. In Section 3 we develop the single-cell analysis, including a recursive relation for the moments. The mixed-Poisson approximation method that uses moment information is presented in Section 4. We present the analysis for the multiple-cell environment in Section 5. Section 6 indudes numerical results that show the impact of modeling bursty traffic on blocking, and on the performance of the approximation. Section 7 concludes the paper. We have modeled large cellular networks with MMPP arrivals to capture correlation in new-call trafllc. Models of networks containing multiple cells result in multi-dlmensional Markov chains, which do not have product-form solutions. We approximate the finite system with an equivalent infinite system. This approximation is exact for a single-cell case with Poisson arrivals, and very good for a multi-cell network with Poisson arrivals. We have introduced the methodology of recursively computing moments of a multiple-cell network with bursty arrivals. These moments are then used to approximate the steady-state probabilities. We have introduced the mixed-Poisson distribution as a good approximation of the distribution of the number of busy circuits for multiple-cell networks with bursty arrivals.. For a system with an infinite number of circuits in each cell, we have found that for certain cases, there is no effect of mobility on the steady-state distribution of busy circuits. For Poisson arrivals, this result is seen when the network is symmetric. For bursty arrivals, we observe this result when the marginal densities of busy circuits in the cells are equal, and the network is symmetric. This important result shows that for a network with a very large number of circuits in each cell, this is very little impact of mobility on the performance of the system.. We have found the two-term mixed-Poisson approximation to be a very good fit to the exact finite model. Even at high loads and moderate correlation in arrival traffic, the relative error in approximation is less than 5%. For the range of blocking we are concerned with, 10 -2 to 10 -3 , the mixedPoisson distribution is a very close approximation. In the exact analysis of a single cell, we found that an increase in burstiness in the arrival traffic increases blocking. The mixed-Poisson approximation is quite accurate for reasonable traffic burstiness, that is 0 in the range of 0 to 15. In a multiple-cell network where arrivals into separate cells are negatively correlated, we found that blocking increases as the cells more highly correlated. Also, for a two-cell network, the higher the correlation, the greater the difference in blocking between the two cells. We have also studied the impact of mobility of users in a network with few circuits, on blocking. As users are increasingly mobile, they experience a smaller blocking. In addition, at very high mobility, the correlation structure of the arrivals has a smaller impact on blocking. [3] F. P. Kelly. Fixed point models of loss networks.

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


NUMERICAL ALGORITHMS FOR POLYENERGETIC DIGITAL BREAST TOMOSYNTHESIS RECONSTRUCTION Abstract. Digital tomosynthesis imaging is becoming increasingly significant in a variety of medical imaging applications. Tomosynthesis imaging involves the acquisition of a series of projection images over a limited angular range, which, after reconstruction, results in a pseudo-3D representation of the imaged object. The partial separation of features in the third dimension improves the visibility of lesions of interest by reducing the effect of the superimposition of tissues. In breast cancer imaging, tomosynthesis is a viable alternative to standard mammography; however, current algorithms for image reconstruction do not take into account the polyenergetic nature of the x-ray source beam entering the object. This results in inaccuracies in the reconstruction, making quantitative analysis challenging and allowing for beam hardening artifacts. In this paper, we develop a mathematical framework based on a polyenergetic model and develop statistically based iterative methods for digital tomosynthesis reconstruction for breast imaging. By applying our algorithms to simulated data, we illustrate the success of our methods in suppressing beam hardening artifacts, and thus improving the quality of the reconstruction.

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


Geometry of Single Axis Motions Using Conic Fitting Abstract-Previous algorithms for recovering 3D geometry from an uncalibrated image sequence of a single axis motion of unknown rotation angles are mainly based on the computation of two-view fundamental matrices and three-view trifocal tensors. In this paper, we propose three new methods that are based on fitting a conic locus to corresponding image points over multiple views. The main advantage is that determining only five parameters of a conic from one corresponding point over at least five views is simpler and more robust than determining a fundamental matrix from two views or a trifocal tensor from three views. It is shown that the geometry of single axis motion can be recovered either by computing one conic locus and one fundamental matrix or by computing at least two conic loci. A maximum likelihood solution based on this parametrization of the single axis motion is also described for optimal estimation using three or more loci. The experiments on real image sequences demonstrate the simplicity, accuracy, and robustness of the new methods. ESTIMATING 3D models of objects from image sequences of single axis motion, particularly turntable sequences, has been widely studied by computer vision and graphics researchers. Generally, the whole reconstruction procedure includes the determination of camera positions at different viewpoints, the detection of object boundaries, and the extraction of surface models from the volume representation. The estimation of the camera positions or simply the rotation angles relative to a still camera is the most important and difficult part of the modeling process. Traditionally, rotation angles are obtained by careful calibration [13] , [18] , [19] . Fitzgibbon et al. [5] extended the single axis approach to recover unknown rotation angles from uncalibrated image sequence based on a projective geometry approach. It has been shown that 3D metric reconstruction up to a two-parameter family can be obtained from uncalibrated sequence with unknown rotation angles. However, fundamental matrices and/or trifocal tensors have to be computed for each pair of images or each triplet of images. Mendonça et al. [11] , Wong et al. [20] recovered the rotation angles from profiles of surfaces with a calibrated camera. The search for corresponding points is transformed into a search for epipolar tangencies. In the new algorithms, we try to improve the accuracy by avoiding the computation of twoview fundamental matrices, three-view trifocal tensors, and epipolar tangencies. Instead, we fit the corresponding points in the whole sequence to its conic locus. It is then shown that all single axis geometry can be directly computed either from one conic and one fundamental matrix or from at least two conics. The rotation angles can then be calculated directly. The advantage of these new methods over the existing ones is significant. First, it is intrinsically a multiple view approach as all geometric information from the whole sequence is nicely summarized in the conics. This contrasts with the computation of fundamental matrices and trifocal tensors that use only a subsequence of two and three views, respectively. Second, as will be shown in Section 7, the essential single axis geometry may be specified by six parameters and this may be estimated from one conic and one fundamental matrix (a total of 12 parameters) or may be estimated from two conics (a total of 10 parameters). Previous methods have involved estimating more than this number of parameters. For example, 18 tensor parameters from each triplet of images are required. Partial results of our techniques have been published in conferences [7] , [8] .. The paper is organized as follows: Section 2 gives a review of single axis motion and its associated fixed image entities. Section 3 presents an algorithm for estimating the geometry from one conic and one fundamental matrix. Section 4 presents an algorithm for estimating the geometry from two conics and the proof of unique solution from at least three conics is given in Section 5. An important practical issue of recovering rotation angles with missing points are described in Section 6. A Maximum Likelihood Estimation method for calculating these fixed image entities is given in Section 7. Section 8 describes the 3D reconstruction based on single axis motion. Experimental results are presented in Section 9 and, finally, a short conclusion is given in Section 10. We have presented three new methods of determining the geometry of single axis motions. The main idea is to use the fitted conic locus of corresponding points to estimate the motions. This makes the proposed methods more concise, robust, and accurate than the traditional ones which are basing on the estimation of 2-view fundamental matrix and 3-view trifocal tensor. The first method is based on the fitting of one conic and the estimation of one fundamental matrix. The second method is based on the fitting of at least two conics. The third one is a global MLE estimation from at least three conics using a minimal parametrization of the single axis motion. The key advantage of the new methods is that they are intrinsically multiple view approaches as either one, two, or three points are tracked over at least five images. In some of our experiments for the MLE method, we had fitted over 100 conics using information from 36 images. This makes the method very robust. However, for each conic, the point was tracked over 5 to 15 views only. Using a small number of parameters, these methods give very robust computations as have been demonstrated in the examples using real images.

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


Enabling scientific workflows in virtual reality To advance research and improve the scientific return on data collection and interpretation efforts in the geosciences, we have developed methods of interactive visualization, with a special focus on immersive virtual reality (VR) environments. Earth sciences employ a strongly visual approach to the measurement and analysis of geologic data due to the spatial and temporal scales over which such data ranges. As observations and simulations increase in size and complexity, the Earth sciences are challenged to manage and interpret increasing amounts of data. Reaping the full intellectual benefits of immersive VR requires us to tailor exploratory approaches to scientific problems. These applications build on the visualization method's strengths, using both 3D perception and interaction with data and models, to take advantage of the skills and training of the geological scientists exploring their data in the VR environment. This interactive approach has enabled us to develop a suite of tools that are adaptable to a range of problems in the geosciences and beyond. The typical workflow of a geoscientist generates insight through observation and measurement. To use an example from the work of one of our group [Gold et al. 2006 ]: a geologist researching the behavior of an active fault observes terrain in the field, measures the position, orientation, offset, and other properties of fault lines and records them in a map, and then generates a model of the local tectonic structure based on those measurements (see Figure 1 ). More generally, a geoscientist first detects features, then measures them, and finally generates a model explaining the features. This visual approach to science is powerful, as the human brain excels at visually identifying patters. As Edward Tufte wrote two decades ago: "At their best, graphics are instruments for reasoning about quantitative information. Often the most effective way to describe, explore, and summarize a set of numbers -even a very large setis to look at pictures of those numbers" [Tufte 1983 ]. Unlike many engineering applications in which the exact shape of a structure is known, geologic structures often have complex three-dimensional shapes, that additionally may only be sampled at irregularly distributed locations. It is therefore desirable to apply the feature detection skills of a trained geoscientist to problems that are not accessible for "in situ" inspection, such as remote locations, the ocean floor, the interior of the Earth, or the surface of a different planet. Moreover, many geologic features exhibit scale invariance [Turcotte 1997] ; i. e., phenomena are mathematically similar at vastly different scales. Although it is not possible to directly observe the topography of a crystal surface at the molecular scale, nor the structure of tectonic boundaries at the global scale, the same geoscience observation and analysis skills apply to datasets collected at these widely different scales.. To improve the return of scientific insight from geoscience data, we have created (immersive) visualization software and measurement/analysis tools that allow scientists to use real-world skills and methods inside virtual environments. At the core of this approach are techniques to display geoscience data at high detail and the frame rates required for immersive visualization. Our experience indicates, however, that virtual reality (VR) visualization alone is not sufficient to enable the processes scientists employ in the real world. Interaction with, measurements of, and manipulation of the displayed data are important for feature detection, and they are essential for quantitative analysis. In our example, a scientist must be able to measure and record the orientation of surfaces (strike and dip angles) from 3D topography models. For many applications, interaction, such as interactively fitting model parameters to observations, is also desirable in the model generation stage. Even if an automatic fitting method is available, observing the response of a model to parameter changes can lead to new insight into the model's governing equations.. To summarize: our approach is to create immersive visualizations of geoscience data, whether the scale of the natural system is millimeters or hundreds of kilometers, in a user's near field, i. e., within arm's reach, and to provide users with the tools needed to touch, manipulate, and measure their data. Our software is aimed at stereoscopic head-tracked visualization environments with sixdegree-of-freedom (6-DOF) input devices, and it operates effectively in a wide variety of environment types from CAVEs, to display walls and workbenches, to standard desktop PCs (of course with reduced effectiveness towards the lower end). We discuss the visualization and interaction challenges posed by contemporary geoscience applications, our approach to create truly portable VR software, and the perceived impact of our software on geoscience research. We have presented an approach for turning immersive visualization into a scientific tool. We focused on transferring real-world skills into a virtual environment by providing real-time visualization and direct interaction, thereby allowing scientists to use their existing workflows in VR, and applying their skills to new problems. We have illustrated our approach for three distinct geoscience applications, which have in common the need for the human interaction with data to make scientific progress. The most important factor in the success of our described efforts has been the willingness of the team members to cross disciplinary boundaries in an effort to understand the driving scientific questions posed by large geoscience data sets and the capabilities and limitations of interactive VR. This successful collaboration between geoscientists and information scientists has resulted in new approaches to visualization that take advantage of the skills of geoscientists while also exploiting the full capabilities of a VR environment.. We emphasize that the methods that make data exploration possible are not confined to state-of-the-art VR systems, but are adapted to a wide range of other visualization systems. Previously developed VR software has typically been limited to portability between VR systems with very similar input devices, limiting the ability of a research group with a low-end visualization system to scale up in a cost-effective manner). The value of immersive, interactive data exploration is growing more important with the explosion of large datasets created by imaging, large observational efforts, and high-resolution computer simulations. Great opportunities for further development exist especially for simulation applications. The ability to rapidly create complex objects for use in models allows the use of more realistic boundary conditions and objects in Earth science modeling. One of the most difficult aspects of developing forward models and simulations of earth science processes is identifying the spatial distribution of critical behaviors and the temporal framework of changes. Proper resolution is critical to modeling realistic behaviors. An ability to interactively adjust critical parameters in 3D models substantially increases the appropriateness of boundary conditions during model development, promoting rapid advances in model sophistication, accuracy, and relevance to natural Earth processes. We have evaluated the effectiveness and efficiency of our approaches to enabling scientific workflows for VR by recording the experiences of our geoscience collaborators and collecting feedback from other users. Due to the specialized applications and the narrow target user base (geoscientists), we have not yet performed a formal user study, but anecdotal evidence shows that our approaches are in fact useful. In the following, we list the benefits that the geoscience co-authors on this paper and other users have identified when comparing our VR applications to their previously available approaches. To determine the impact of using VR methods on geological mapping, we have performed experiments where several of our geology co-authors created a map of the same area using their previous system (Stereo Analyst [Ste n. d.] ) and our new system. Our users had to perform two tasks: record all observations that could be made over an unlimited amount of time, and record all observations that could be made in a limited amount of time. The first test was to judge the effectiveness of our new system, i. e., the accuracy and confidence of the mapping (see Figure 5 , top row); the second test was to judge its efficiency, i.,e., the number of observations made in time (see Figure 5 , bottom row). This informal study was not quantitative due to the small number of participants and the fact that each participant performed all tests, but it supports our hypothesis that VR visualization enables scientists to make more accurate observations in less time, and to be more confident about their observations.. Displacement analysis using LiDAR data essentially requires VR visualization and interaction. Since the sampled point sets are typically not high enough in resolution to reconstruct surfaces of small features, they can only be visualized as point sets to prevent the introduction of bias. Without stereoscopic display a user only sees an amorphous point cloud, and it is very hard even for experienced users to identify objects in still images. Users typically rely on motion parallax to provide depth clues by constantly spinning or panning the model, but this interferes with accurate point selection. In addition, selecting non-regular 3D point sets using 2D input devices is inherently difficult. Using stereoscopic displays, we find that we and most users immediately perceive 3D objects, and can identify the points defining features accurately. In combination with the intuitive point set selection, this results in a more effective and efficient process, where smaller features can be extracted more accurately in less time.. We have only recently started using our 3D data visualization system to explore plate subduction simulation data. The first results have come from using it as a debugging tool for FEM simulations. One of our co-authors was facing a convergence failure in her simulations of plate subduction in the Aleutian region, and could not find the cause of the problem using her previous set of tools. By exploring her data in the VR application, we quickly found several regions where one component of the simulation input exhibited severe aliasing, and were able to trace it back to the algorithms used when converting plate surface data reconstructed from subsurface earthquake locations into a 3D temperature and viscosity model. We have hence devised an alternative approach to model generation that will hopefully solve the problem (results are still pending). We view this as anecdotal evidence that our VR application is more effective than the previously used program, in that we were able to pinpoint a problem that had not been identified before. As geoscientists often need to analyze complex 3D data for their research, the 3D perception offered by immersive visualization could be highly beneficial for their workflows. In fact, there are many previous approaches, with a focus on oil and gas exploration [Evans et al. 2002] .. Lin and Loftin ] presented visualization techniques for 3D seismic data in CAVE [Cruz-Neira et al. 1993 ] environments. They focused in particular on interaction techniques such as selection, manipulation, range selection, and parameter input. Results of a user evaluation of these techniques were presented in [Lin et al. 2000] . They concluded that VR provides a better 3D visualization environment, but verification and interpretation of 3D seismic data for well planning was less effective than in desktop environments. This can be attributed possibly to a lack of design and validation methodology for interactive applications in immersive VR environments as pointed out by van Dam et al. [van Dam et al. 2000 ] and Johnson [Johnson 2004 ]. Gruchalla [Gruchalla 2004 ] investigated the benefits of immersive VR for well-path editing. He reported speed and accuracy improvements of immersive systems over desktop system, based on a study with 16 participants. Simon [Simon 2005 ] presented the VRGEO Demonstrator project for co-located interactive analysis of complex geoscience surfaces and volumes in immersive VR systems.. VR technology has also been used for remote sensing data exploration. Di Carlo [Di Carlo 2000] developed a VR toolkit that allows users to interact with different 3D representations of the same data simultaneously in an immersive environment. Chen [Chen 2004 ] presented a non-immersive application that allows multiple users to explore and interact with 3D geographical data of the Tibet Plateau across the internet. Gardner et al. [Gardner et al. 2003 ] developed another non-immersive system for analysis of LiDAR data. They noted that being able to visualize LiDAR data directly in 3D greatly helped the analysis of complex structures, but that better analytical tools for creating, editing, and attributing features need to be developed.. Harding et al. [Harding et al. 2000 ] developed a system for geoscientific data exploration. They integrated interactive 3D graphics, haptics, and spatial sound into a multimodal user interface. Recently, Head et al. [Head, III et al. 2005] presented ADVISER, an immersive visualization system for planetary geoscience applications. This system combines cartographic data and interactive terrain visualization with virtual field tools to, for example, analyze the north polar-layered terrain on Mars.. In addition to immersive projection environments such as the CAVE [Cruz-Neira et al. 1993] or the blue-c [Gross et al. 2003 ], the GeoWall [Steinwand et al. 2002] , with its greatly reduced cost at the price of reduced immersion, has gained increasing popularity within the geoscience community.

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


Product Constructions for Perfect Lee Codes Abstract-A well known conjecture of Golomb and Welch is that the only nontrivial perfect codes in the Lee and Manhattan metrics have length two or minimum distance three. This problem and related topics were subject for extensive research in the last forty years. In this paper two product constructions for perfect Lee codes and diameter perfect Lee codes are presented. These constructions yield a large number of nonlinear perfect codes and nonlinear diameter perfect codes in the Lee and Manhattan metrics. A short survey and other related problems on perfect codes in the Lee and the Manhattan metrics are also discussed. The Lee metric was introduced in [1] , [2] for transmission of signals taken from GF(p) over certain noisy channels. It was generalized for Z m in [3] . The Lee distance d L (x, y) between two words x = (x 1 , x 2 , . . . , x n ), y = (y 1 , y 2 , . . . , y n ) ∈ Z n m is given by Σ n i=1 min{x i − y i (mod m), y i −x i (mod m)}. A related metric, the Manhattan metric, is defined for alphabet letters taken as any integer. For two words x = (x 1 , x 2 , . . . , x n ), y = (y 1 , y 2 , . . . , y n ) ∈ Z n the Manhattan distance between x and y is defined. A code C in either metric (and in any other metric as well) has minimum distance d if for each two distinct codewords c 1 , c 2 ∈ C we have d(c 1 , c 2 ) ≥ d, where d(·, ·) stands for either the Lee distance or the Manhattan distance (or any other distance measure). Linear codes are usually the codes which can be handled more effectively and hence linear codes will be the building blocks in our constructions. We will not restrict ourself only for linear codes, but we will always assume that the all-zero word is a codeword.. A linear code in Z n is an integer lattice. A lattice Λ is a discrete, additive subgroup of the real n-space R n . W.l.o.g. (without loss of generality), we can assume that Λ def = {u 1 v 1 + u 2 v 2 + · · · + u n v n : u 1 , u 2 , · · · , u n ∈ Z} (1) where {v 1 , v 2 , . . . , v n } is a set of linearly independent vectors in R n . A lattice Λ defined by (1) is a sublattice of Z n if and only if {v 1 , v 2 , . . . , v n } ⊂ Z n . We will be interested solely in sublattices of Z n . having these vectors as its rows is said to be the generator matrix for Λ. The lattice with the generator matrix G is denoted by Λ(G).

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


The Extended Global Cardinality Constraint: An Empirical Survey The Extended Global Cardinality Constraint (EGCC) is a vital component of constraint solving systems, since it is very widely used to model diverse problems. The literature contains many different versions of this constraint, which trade strength of inference against computational cost. In this paper, I focus on the highest strength of inference usually considered, enforcing generalized arc consistency (GAC) on the target variables. This work is an extensive empirical survey of algorithms and optimizations, considering both GAC on the target variables, and tightening the bounds of the cardinality variables. I evaluate a number of key techniques from the literature, and report important implementation details of those techniques, which have often not been described in published papers. Two new optimizations are proposed for EGCC. One of the novel optimizations (dynamic partitioning, generalized from AllDifferent) was found to speed up search by 5.6 times in the best case and 1.56 times on average, while exploring the same search tree. The empirical work represents by far the most extensive set of experiments on variants of GAC algorithms for EGCC. Overall, the best combination of optimizations gives a mean speedup of over 50 times compared to the same implementation without the optimizations. Constraint programming is a powerful and flexible means of solving combinatorial problems. Constraint solving of a combinatorial problem proceeds in two phases. First, the problem is modelled as a set of decision variables, and a set of constraints on those variables that a solution must satisfy. A decision variable represents a choice that must be made in order to solve the problem. The domain of potential values associated with each decision variable corresponds to the options for that choice.. Consider a sports scheduling problem, where each team plays every other team exactly once in a season. No team can play two or more matches at the same time. Each team plays in a particular stadium at most twice during the season. In this example one might have two decision variables per match, representing the two teams. For a set of matches played in the same stadium, a global cardinality constraint [22] could be used to ensure no more than two occurrences of each team.. The second phase consists of using a constraint solver to search for solutions: assignments of values to decision variables satisfying all constraints. The simplicity and generality of this approach is fundamental to the successful application of constraint solving to a wide variety of disciplines such as scheduling, industrial design and combinatorial mathematics [31, 10] .. The Global Cardinality Constraint (GCC) is a very important global constraint, present in various constraint solving toolkits, solvers and languages. It restricts the number of occurrences of values assigned to a set of variables. In the original version of the constraint [22] , each value is given a lower bound and upper bound. In any solution, the number of occurrences of the value must fall within the bounds. The literature contains many propagators for this constraint, which trade strength of inference against computational cost, for example bound consistency [12] , range consistency [16] , and generalized arc-consistency (GAC) [22, 16] . GCC is widely used in a variety of constraint models, for diverse problems such as routing and wavelength assignment [27] , car sequencing [23] , and combinatorial mathematics [10] .. Returning to the sports scheduling example, GCC can be used to express the stadium constraint (that a team plays in a particular stadium at most twice during the season). Each value (representing a team) is given the bounds (0, 2), and the variables are all slots at a particular stadium.. GCC has been generalized by replacing the fixed bounds on values with cardinality variables [16] , where each cardinality variable represents the number of occurrences of a value. To avoid confusion, I call this the Extended Global Cardinality Constraint (EGCC). Thus an EGCC constraint has target variables and cardinality variables.. In this paper, I focus on the highest strength of inference (enforcing GAC) on the target variables. This allows the study of various methods in great depth, and leads to some surprising conclusions. I also survey methods for pruning the cardinality variables in depth. The main contributions of the paper are as follows.. • A literature survey of GAC propagation algorithms for the target variables, and their optimizations, in §3.. • Discussion of important implementation decisions in §3 that are frequently omitted from original papers, perhaps due to lack of space. For example, how to find augmenting paths for Régin's algorithm [22] .. • The proposal of two new optimizations in §3. 4 . One of these is based on modifying the flow network of Régin's algorithm for greater efficiency, and the other is a novel generalization of the dynamic partitioning optimization of AllDifferent [6] .. • A careful description of three concrete algorithms for pruning the cardinality variables in §4.. • Easily the largest empirical study of GAC propagation methods for the target variables of EGCC, in §5. This involves two basic algorithms and seven optimizations.. • Experimental conclusions and implementation advice for GAC for the target variables, in §6.. • An empirical study of pruning the cardinality variables, comparing the three methods, in §5.8, leading to experimental conclusions in §6.. • It is shown that an appropriate combination of optimizations is over 50 times faster on average than a careful but unoptimized implementation of Régin's algorithm ( §5.9), for our benchmark set.. • A fast variant of EGCC is typically orders of magnitude better than a set of occurrence constraints. Even when EGCC propagation was least effective, it slowed the solver down by only 1.66 times or less in our experiments ( §5.9). I have presented an extensive survey of propagation methods for the EGCC constraint, studying the pruning of both target variables and cardinality variables, surveying many methods from the literature and presenting some methods that have not been previously reported.. For target variables, I focused on generalized arc-consistency (GAC) and evaluated two basic algorithms from the literature along with five optimizations found in the literature, and two novel optimizations. In each case I have reported on their implementation and given an empirical analysis of their behaviour. While it was impossible to experiment with every possible combination of optimizations, I took care to compare each optimization against an appropriate baseline method, and to avoid straw men. Particular attention was paid to evaluating combinations of optimizations, which is (naturally) not usually a feature of papers that propose optimizations. The experiments presented here comprise easily the deepest experimental analysis of GAC algorithms. Based on them, I was able to conclude that some optimizations are key and others are less generally useful.. I would like to draw particular attention to the results with dynamic partitioning, a novel generalization of an optimization for AllDifferent [6] . With EGCC dynamic partitioning was 1.56 times faster on average, with a maximum of 5.6 times. The largest gains were seen on the most difficult instances where the solver timed out. The gain for EGCC is less pronounced than for AllDifferent [6] , albeit on entirely different benchmarks, and with a different combination of other optimizations.. For the best combination of optimizations, I found a mean improvement of more than 50 times in runtime over a careful but unoptimized implementation of Régin's algorithm. This confirms that optimizations are an essential part of a practical implementation of EGCC.. Regarding the cardinality variables, I was able to confirm that the implied sum constraint used by Gecode is indeed valuable, and also that the stronger flow-based pruning algorithm given by Quimper et al [16] can also be valuable, since it solves more instances within a time limit than either other method.. Finally, a fast variant of EGCC is typically orders of magnitude better than a set of occurrence constraints. Even when EGCC propagation was not effective, it slowed the solver down by only 1.66 times or less in our experiments. For all experiments I use a branch of Minion [4, 5] version 0.9, with many more versions of the EGCC constraint than the standard Minion 0.9. 11 . The instances are not preprocessed. I used a timeout of 1800s. The experiments were run on a Linux (Ubuntu 9.10) server with two Intel Xeon quad-core E5520 CPUs clocked at 2.27GHz and 12GB of RAM.. Minion performs a binary search where the left branch assigns a variable. It counts left branches. The speed of search is measured by dividing the number of left branches by time taken, this is referred to as branch rate.. In this setup, timings (and branch rates) exhibit some variation. To measure the variation, I used the PriorityQ-IncMatch-IncGraph propagator ( § 5.5), and measured the branch rate twice for each benchmark (with a timeout of 1800s). For each instance, the absolute difference between the two rates was divided by the smaller rate to obtain a proportional difference. The mean of these values is 0.03 (i.e. the larger branch rate is 3% larger than the smaller one) and the maximum is 0.50. Those instances that completed in less than 0.1s showed the most variation; excluding those, the mean is 0.03 and maximum is 0.17.. In all experiments below, the median of three runs is used. For each experiment comparing algorithms A and B, to determine statistical significance I used the Wilcoxon paired signed-rank test implemented in R [20] . The branch rates of A and B are measured for all benchmark instances. The null hypothesis is that the branch rates are drawn from the same distribution (i.e. A and B run at the same speed). The difference between A and B is deemed to be significant if the probability of the null hypothesis is less than 0.01.. The various implementations of EGCC were extensively tested and de-bugged, and all variants report the same node count on instances that complete within the time-out.

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