Channel State Feedback Over the MIMO-MAC In order to exploit the full multiplexing gain of multi-antenna multi-user downlink schemes, accurate channel state information at the transmitter (i.e., at the base station) is required. We consider the design of a closed-loop channel state information feedback scheme, where user terminals feed back their channel state information simultaneously to a multi-antenna base station. The underlying information theoretic problem consists of lossy source-channel coding of multiple independent analog sources (i.e., the users' channel coefficients) over a Gaussian multiple-input multiple-output multi-access channel (MIMO-MAC). Unlike the classical source-channel coding setting, this application requires low latency, otherwise the channel state information would be outdated. Hence, source-channel codewords can span only a single fading state of the uplink (feedback) channel. Furthermore, the transmitters are ignorant of the realization of the uplink channel coefficients. In this scenario, the scaling of the maximum of the estimated downlink channel mean-square errors with the SNR dominates the performance of the multiuser downlink. This scaling is described by the distortion SNR exponent, previously introduced in a single-user MIMO setting. This paper analyzes the max-min distortion SNR exponent of the MIMO-MAC for both separated source-channel coding, and a particular hybrid digital-analog joint source-channel coding scheme. For the case of single-antenna users, we prove that the distortion SNR exponent of separated source-channel coding can be achieved by the concatenation of scalar quantization and uncoded quadrature-amplitude modulation (QAM) transmission, with lattice decoding at the base-station receiver. The resulting scheme has very low encoding latency (only a few symbols of the uplink slot) and generally outperforms currently proposed channel state feedback schemes based on analog unquantized transmission or vector quantization with fixed codebooks.Index Terms-Channel state feedback, joint source-channel coding, multiple-antenna multiple-access channel (MIMO-MAC). C ONSIDER a frequency division duplex cellular system with sufficient frequency spacing between the uplink and downlink channels, such that the uplink and downlink fading coefficients are independent. A base station (BS) with antennas serves user terminals (UTs), with antennas each, using some MIMO downlink precoding scheme (see [1] - [4] and references therein). Essential to several such schemes is the availability of accurate channel state information at the transmitter (CSIT), that is, the BS must know the user downlink channels. We consider a block-fading model, where the channel coefficients remain constant for time-frequency slots of channel uses 1 and change independently from slot to slot, where and denote the fading channel coherence bandwidth and coherence time, respectively. We assume that the UTs have perfect knowledge of their downlink channel coefficients on each slot, obtained from a downlink "common" training signal sent by the BS at high power [4] , [5] . Then, at each fading slot, these coefficients must be fed back to the BS on the uplink (from the UTs to the BS). We can model this CSIT feedback as signaling over a multiple-input multipleoutput (MIMO) multi-access channel (MAC).. In order to design a channel state feedback scheme, the following two questions must be addressed: 1) What is the relevant performance measure of a feedback scheme? 2) What is the allowed feedback delay? Under certain assumptions, both questions can be addressed by using results developed in [4] . We summarize these point here since they dictate the principles of our problem statement, analysis and system design in the following sections.. Assume and let denote the channel Signal-to-Noise Ratio (SNR). Then, consider a multiuser MIMO downlink scheme that allocates multiplexing gain to users . 2 The multiplexing gains are achievable if for all and if the Mean-Square Error (MSE) of the CSIT for each user , denoted by , 3 vanishes with at least as fast as . In fact, it is possible to show that if , under our system assumptions user can achieve an ergodic throughput (long-term average rate) lower bounded by [4] , [5] (. where is the achievable ergodic throughput of an ideal MIMO downlink scheme with the same multiplexing gains and operating with perfect CSIT, and denote terms independent of (constant with respect to the channel SNR). The terms in (1) depend on the specific 1 A channel use corresponds to sending one independent complex symbol per transmit antenna in the discrete-time complex baseband equivalent channel model, and approximately spans 1 s2Hz. 2 Following [10] , the multiplexing gain is defined as the "pre-log" factor of the users' rates, i.e., for each operating SNR we consider a MIMO downlink scheme with user rates (R (); . . . ; R ()), such that lim = r for each k.. 3 D () is formally defined in Section II.. 0018-9448/$26.00 © 2011 IEEE downlink precoding scheme considered. They have been extensively addressed elsewhere (e.g., [6] ) and are irrelevant with respect to the CSIT feedback problem treated in this work. Instead, we focus on the rate penalty term due to non-ideal CSIT, that depends on the product . From (1), we notice that a sufficient condition for achieving the desired multiplexing gains is that is bounded as , for all . In addition, if. , the corresponding rate penalty term vanishes. Eventually, the loss of multiplexing gain of the system is dominated by the maximum MSE distortion of the users. Hence, it is meaningful to cast the CSIT feedback problem under the framework of lossy transmission over the MIMO-MAC with a min-max MSE distortion criterion.. As far as the feedback delay is concerned, in [4] it is shown that the achievable rate lower bound (1) holds with a CSIT feedback delay of slots provided that is replaced by the sum of two terms, one due to the joint source-channel coding transmission, and another due to the channel -slot noisy prediction MSE. In general, unless (i.e., the feedback occurs in the current slot), the channel noisy prediction error dominates and yields a loss in multiplexing gain. Hence, we wish to design low delay CSIT feedback schemes, with delay significantly less than one fading block.. It should be noticed that, apart from some "analog" feedback schemes where the channel coefficients are sent unquantized and in parallel by all users (see [4] , [5] and references therein), very little attention has been devoted to the design of low delay CSIT feedback schemes that exploit the MIMO-MAC nature of the uplink channel; most works assume perfect feedback at fixed rate, based on some fixed channel state vector quantization codebook, whose quantization bits are piggybacked into the uplink frames. This conventional approach achieves since the quantization MSE distortion for a fixed codebook is a constant, independent of SNR. In addition, piggybacking channel state quantization bits onto the uplink frames requires that these bits are grouped into large blocks, encoded by the same physical layer scheme used for uplink data transmission, and transmitted over many uplink channel slots in order to achieve the necessary reliability. This necessarily implies large feedback delay. In contrast, as outlined above, low feedback delay is needed for this application since the CSIT feedback information must be used in the current fading block.. In this paper, we consider the problem of designing low delay and low complexity CSIT feedback schemes by exploiting the MIMO-MAC nature of the uplink (feedback) channel. In Section II, we pose the problem in terms of the lossy transmission of independent Gaussian sources over the block-fading MIMO-MAC channel, introduce the definition of max-min distortion SNR exponent, and we motivate that this notion is relevant for the CSIT feedback problem at hand. Then, we present an upper bound on the max-min distortion SNR exponent in Section III and analyze the performance of a separated source-channel coding scheme in Section IV. The suboptimality of the separated scheme prompts us to investigate improved schemes. In particular, we present and analyze a hybrid digital-analog source-channel coding scheme in Section V. Section VI is devoted to the design of simple coding schemes that achieve the max-min distortion SNR exponent of separated source-channel coding with low complexity and very low latency, for the important special case where the UTs have a single antenna each. Simulation results highlighting the superiority of the digital CSIT feedback scheme constructed in Section VI over conventional analog feedback are presented in Section VII.

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


Approximate Bayes Factors for Image Segmentation: The Pseudolikelihood Information Criterion (PLIC) Abstract-We propose a method for choosing the number of colors or true gray levels in an image; this allows fully automatic segmentation of images. Our underlying probability model is a hidden Markov random field. Each number of colors considered is viewed as corresponding to a statistical model for the image, and the resulting models are compared via approximate Bayes factors. The Bayes factors are approximated using BIC (Bayesian Information Criterion), where the required maximized likelihood is approximated by the Qian-Titterington pseudolikelihood. We call the resulting criterion PLIC (Pseudolikelihood Information Criterion). We also discuss a simpler approximation, MMIC (Marginal Mixture Information Criterion), which is based only on the marginal distribution of pixel values. This turns out to be useful for initialization and it also has moderately good performance by itself when the amount of spatial dependence in an image is low. We apply PLIC and MMIC to a medical image segmentation problem.Index Terms-BIC, color image quantization, ICM algorithm, image segmentation, Markov random field, medical image, mixture model, posterior model probability, pseudolikelihood, satellite image. IN this paper, we consider the problem of determining the number of colors or gray levels to be used in presenting or interpreting an image. We are motivated primarily by problems in medical image segmentation. There, a segmentation is often desired to delineate organs, tumors or other features in pixelized X-ray, MRI, PET, CAT, or other images. If the image is segmented into too many colors, it may make the border finding problem harder, while too few colors may result in border information being lost. The idea is thus to find the number of colors needed to represent the information in the image (e.g., [1] , [2] ). The use of no more than the number of gray levels needed facilitates the presentation and analysis of mammograms, for example, [3] .. Here, we introduce a new, model-based approach to this problem using approximate Bayes factors. We model the image in terms of a Markov random field and then each number of colors considered corresponds to a different statistical model for the image data. By doing this, we recast the problem of determining the number of colors in the image as a problem of statistical model comparison, and for this we use the standard Bayesian approach of Bayes factors. We propose an approximation to the Bayes factor based on the pseudolikelihood, called PLIC (for PseudoLikelihood Information Criterion). We also discuss a simpler approximate Bayes factor approach based on the marginal distribution of pixel values [4] , called MMIC (for Marginal Mixture Information Criterion). This simpler approach is useful for initializing the PLIC method; MMIC takes no account of spatial structure, whereas PLIC takes account of it explicitly.. In Section 2, we review the Bayesian image models on which our work is based. In Section 3, we review the basic ideas behind Bayes factors and present the PLIC and MMIC methods. In Section 4, we give the example of a medical image segmentation problem; the PLIC approach yields a good result. We have proposed an approximate Bayesian method for determining the number of colors or gray levels in a noisy image from the image data themselves. This number has usually been either predetermined or chosen in an ad hoc manner, but the literature shows that there are many instances where a more formal, databased, method could be useful. Our method works well in our medical image segmentation example and seems to be potentially useful for a variety of other applications, including automatic segmentation of satellite images, color and gray-level image quantization, and the use of cooccurrence matrices. Color image quantization is the process by which an original color image is mapped into an output image with a limited number of colors, while attempting to preserve the image quality; this arises because realworld images typically come in many colors, whereas output devices can often display far fewer. In some cases, the number of colors used in an image can be reduced by a factor of 1,000 or more without much decrease in quality [21] . Cooccurrence matrices, which are used for assessing texture in images ( [22] , [23] ), are defined in terms of groups of pixel values called "bins" or "colors." Choice of the number of bins has an effect on the effectiveness of cooccurrence matrices in characterizing textures [24] .. Our method is fully defined for multispectral and color images, but we have shown examples of its use only for gray-scale images. For multispectral images, the noise distribution would often be taken to be multivariate normal. For initialization, the marginal mixture EM segmentation method is still available, for example, using model-based clustering [18] . If the number of pixels is too large for this to be efficient, a subsample of the pixels could be used for the clustering, and then discriminant analysis applied to classify the remaining pixels [25] , or an efficient method based on the minimal spanning tree could be used [26] .. Our approach has been to compute approximate Bayes factors using the ICM algorithm and the pseudolikelihood of [13] . Another approach would be to carry out a fully Bayesian analysis of the image model using Markov chain Monte Carlo, as suggested by [27] , and then to estimate the integrated likelihood using one of the available methods for doing this from MCMC (e.g., [28] , [29] , [30] , [31] ). This would conform more fully to the Bayesian paradigm, but could be extremely expensive computationally.. Our method could also be used for choosing between competing higher-order interaction Markov random field models for texture in images, e.g., between special cases of the Chien model of [32] or the models of [33] . In some situations, one might expect there to be a relationship between the number of colors used and the complexity of the texture model needed to describe the resulting pattern. Our approach could be generalized to choosing both of these simultaneously by identifying each combination of texture model and number of colors with the corresponding probability model and then comparing the resulting probability models using approximate Bayes factors, calculated using methods based on those described here.

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


CombNET-III: a Support Vector Machine Based Large Scale Classifier with Probabilistic Framework Several research fields have to deal with very large classification problems, e.g. handwritten character recognition and speech recognition. Many works have proposed methods to address problems with large number of samples, but few works have been done concerning problems with large numbers of classes. CombNET-II was one of the first methods proposed for such a kind of task. It consists of a sequential clustering VQ based gating network (stem network) and several Multilayer Perceptron (MLP) based expert classifiers (branch networks). With the objectives of increasing the classification accuracy and providing a more flexible model, this paper proposes a new model based on the CombNET-II structure, the CombNET-III. The new model, intended for, but not limited to, problems with large number of classes, replaces the branch networks MLP with multiclass Support Vector Machines (SVM). It also introduces a new probabilistic framework that outputs posterior class probabilities, enabling the model to be applied in different scenarios (e.g. together with Hidden Markov Models). These changes permit the use of a larger number of smaller clusters, which reduce the complexity of the final classifiers. Moreover, the use of binary SVM with probabilistic outputs and a probabilistic decoding scheme permit the use of a pairwise output encoding on the branch networks, which reduces the computational complexity of the training stage. The experimental results show that the proposed model outperforms both the previous model CombNET-II and a single multiclass SVM, while presenting considerably smaller complexity than the latter. It is also confirmed that CombNET-III classification accuracy scales better with the increasing number of clusters, in comparison with CombNET-II. Several research fields have to deal with very large classification problems. Some examples are humancomputer interface applications (e.g. speech recognition, handwritten character recognition, face detection), bioinformatics (e.g. protein structure predic- tion, gene expression) and data mining, in which huge amounts of data have to be processed in order to produce useful information. To meet the need of these applications, large scale classification methods have been receiving increasing attention, due to the need of adapting modern but computationally expensive classification methods for their efficient application. Many authors addressed classification problems that present large number of samples. Jacobs et al. [1] , [2] introduced the mixture of experts technique, dividing the problem in many small and simpler subtasks by the divide-and-conquer principle. In their approach, the problem is solved by many Multilayer Perceptron (MLP) "expert" classifiers whose outputs are weighted by a "gating" network (trained with the same data) according to their ability to classify each training sample. This principle was further extended to Support Vector Machines (SVM) based experts by Kwok [3] and Rida, Labbi and Pellegrini [4] .. The majority of the large-scale classification methods, however, are not appropriate for problems containing large numbers of classes, e.g. classifying thousands of categories. This kind of problem usually also presents a large number of samples and/or features, as in the case of human-computer interface applications. In these cases, training the classifiers with all training samples, as suggested in [1] , [2] is unfeasible. For example, MLP based experts would have thousands of output neurons and the SVM based experts would have either a huge number of classifiers or oversized kernel matrices. This is also the case when the splitting is made without any control of the size of each cluster or the balance among them. Iterative methods that constantly reassign the samples among the experts, as proposed by Collobert, Bengio and Bengio [5] , [6] , were initially designed for binary problems. The reassignments would constantly change the classifiers' structure, requiring restart of the training. Moreover, the initial random splits used in their approach would also generate experts with too many classes and very unbalanced subtasks. From this point, "large scale" will be used to refer to problems with large number of classes, unless stated otherwise.. The CombNET-II model proposed by Hotta et al. [7] was one of the first divide-and-conquer based large scale classifiers specifically developed for dealing with classification problems composed by thousands of categories. It has presented several good results in Chinese character (Kanji) recognition and some other specific applications. However, as the CombNET-II was originally developed for character recognition tasks, its application in different kinds of problems is not straightforward. Also, the algorithm used in the expert classifiers is the standard MLP, which, though presenting good classification results in previous researches, resulting in large processing time and problems of local minima during the training stage.. Arguing that CombNET-II spends too much time in the training and recognition processes because it uses all the available data in the expert networks training, Arai et al. [8] - [10] proposed the HoneycombNET, in which only a few reference vectors representing the data, found by vector quantization (VQ), are used on each expert. The model was further extended in order to reduce recognition time and to permit additional learning. In their ELNET model, Saruta et al. [11] , [12] eliminated the subspace splitting procedure completely, saying that VQ based clustering methods are slow and, when using averaged vectors for speeding up, the performance of the gating network decreases. In ELNET, each class k has its own MLP expert network, which divides class k (excitation) from the most similar samples (inhibition), found by pattern matching among the samples of other classes.. These models, however, implement many heuristics for reducing processing time that lead them to digress from the basic idea of using the joint probabilities of gating and expert classifiers directly to construct the final answer. This reduces the flexibility of the models and complicates their extension. As to be shown in section 2, CombNET-II follows very closely that concept; thus, it is the most appropriate model for the proposed extensions of this research.. A few other models, based on different principles, have been proposed for solving classification problems with large number of categories. Fritsch and Finke [13] used a hierarchical clustering algorithm called Agglomerative Clustering based on Information Divergence (ACID) to divide the problem in subtasks with small number of classes. However, due to the huge amount of training samples that the upper nodes of the hierarchy had to be trained with, the computational cost was high. Hagihara and Kobatake [14] even proposed the use of large scale networks as the experts of a larger model, in which each expert was trained by a random subset of the classes and the results were combined in the end. Waizumi et al. [15] presented a new rough classification network for large scale models based on a hierarchy of Learning Vector Quantization (LVQ) neural networks. However, no definite result from the application of their gating network in a complete large scale model was presented.. The main objectives of this work are the improvement of the CombNET-II performance by the application of more modern pattern recognition algorithms and to develop a generic framework in order to enable its application in different scenarios. In order to accomplish this, a new model is introduced-the CombNET-III. The first objective was achieved by the application of Support Vector Machines (SVM) as the expert classifiers. For the generalization of the model, a new probabilistic framework able to comprise experts with different number of classes has been developed. It has to be noticed that, although intended for large scale problems, the model can also be applied to medium size problems, for instance, one with dozens of classes and a few thousands samples. The organization of the paper goes as follows: a more detailed revision of CombNET-II is presented in Section 2, and Section 3 introduces the proposed model, its modifications and new characteristics. Section 4 presents experiments with the new model and some comparisons with CombNET-II, and Section 5 concludes the paper with analyses of the results and suggests possible future extensions. This paper proposed an extension of the previous large scale classification model CombNET-II. On the development of this new model, named CombNET-III, the following points were addressed: the classification accuracy improvement, the reduction of the large training computational cost of the CombNET-II MLP based branch networks, and the development of a new framework that could output posterior probabilities, enabling it to be used on different applications.. Substituting the MLP branch networks by multiclass SVMs with moderated outputs permitted the first two objectives to be achieved. The local effect of the Gaussian kernel function reduces the interference between the clusters, as the SVM function value tends to be zero for outlier samples. This allows an increase in the importance given to the branch classification re-sult, shown by the small values of γ obtained on the experiments, in comparison with CombNET-II. Also, although no numerical measurement was presented, the use of the OvO encoding makes the CombNET-III training time to be at least one order of magnitude faster than both CombNET-II and the single multiclass SVM. Finally, the final classification accuracy of CombNET-III outperformed all the compared methods (k-NN, single SVM and CombNET-II), showing that the proposed framework and the use of SVM branch networks are effective.. Future works include the improvement of the stem network, in order to increase its classification accuracy, which will probably result in an improvement of the whole classifier structure. Also, even the CombNET-III complexity is considerably less than the single multiclass SVM, it is still higher than CombNET-II. Techniques such as feature subset selection could be used in order to reduce the classification complexity. Two databases were used to illustrate the advantages of the proposed model over previous methods. The Alphabet database is not a large scale problem, having few number of categories and a few thousand samples, and can be solved using most standard classification methods. However, as the branch networks parameters can be extensively optimized for each experiment realization, the scaling properties of CombNET-II and CombNET-III with increasing number of clusters can be observed. The Kanji400 is a much larger database for which standard classifiers starts to present poor performance or large complexity. For this database, the proposed method classification accuracy is compared with other traditional classifiers. All experiments were performed using in-house developed software packages.

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


Video metamorphosis using dense flow fields Abstract--Metamorphosis is generally known as the continuous evolution of a source into a target. There is frame-to-frame camera or object motion most of the time when either the source or the target is an image sequence. It would be desirable to make smooth morphing transitions simultaneously along with the original motion. In this paper, we describe a novel semi-automatic morphing technique for image sequences. The proposed technique effectively exploits temporal coherence and automatic image matching. One-to-one dense mappings between pairs of corresponding frames are obtained by applying a compositing procedure and a hierarchical image matching technique based on dynamic programming. These dense mappings can be initialized by sparse frameto-frame feature correspondences obtained semi-automatically by integrating a friendly user interface with a robust feature tracking algorithm. Experimental results show that our approach to video metamorphosis can produce superior results. Metamorphosis, or morphing is generally known as the continuous evolution of a source into a target. In many situations, there is camera or object motion, and it would be more natural to make transitions simultaneously along with the original motion than to stop the original motion while making the transitions. In this paper, we introduce a morphing technique for image sequences to achieve this effect. Typically, we assume the two input videos have the same number of frames and the natural one-to-one frame correspondence across the two sequences is actually the one we use. In addition, we also need a mapping between each pair of corresponding frames. The mappings are also referred to as warp functions. The animation generated from such a technique should start from the first frame of the first image sequence and end at the last frame of the second sequence. Suppose we have N + 1 frames in each input sequence. The frames from the first sequence are denoted as {Fi}, the frames from the second one {Fi }, where 0 ≤ i ≤ N . The warp function between frames Fi and F i is denoted as W i . Every frame fi in the resulting animation should be an intermediate morph generated by W i .. Morphing is an artistic endeavor, the amount of required user interaction may vary with respect to the characteristics of the input videos. Semi-automatic mechanisms that allow variable user input are desirable. Such methods would also be preferred if we would like to consider video morphing as an operation in a video authoring tool that everyone can use. The temporal coherence available in image sequences can be exploited for such mechanisms. The positions of the same feature pattern in consecutive frames are likely to be close to each other. Automatic feature tracking techniques can be adapted to figure out the correspondences in this situation. Moreover, the image plane can be considered as an elastically deformable membrane. Since the amount of difference between two consecutive frames is likely to be small, a mapping between them should minimally deform the image plane so that corresponding regions from the two frames match. Figure 1: Dense mappings across the two input image sequences are obtained from a compositing process. This process relies on the dense mappings calculated between consecutive frames in the same sequence.. In this paper, we develop a semi-automatic framework that effectively exploits temporal coherence in the same video sequence to help establish a wide range of video morphing. A key component of this framework is to generate a complete one-to-one dense mapping between every pair of corresponding frames. To obtain the dense mapping for a single pair of frames, we develop an automatic image matching technique that incorporates orthogonal dynamic programming with image pyramids. This algorithm is first applied to obtain mappings between consecutive frames from the same sequence. Then the warp functions across two image sequences are obtained from a novel compositing process. As shown in Fig. 1 , if we already know the mapping W 0 between F0 and F 0 , the mapping between F1 and F0, as well as the mapping between F 0 and F 1 , then W1 can be obtained by concatenating these three. This dense mapping algorithm will be introduced in Section 4.. The automatic image matching technique can be optionally enhanced with sparse feature correspondences to make it more robust. The sparse correspondences can be obtained either from feature tracking or from user interaction. These sparse correspondences can be used as "seeds" to guide the image matching process so that the dense mapping will be sufficiently constrained and the sparse correspondences will be satisfied as well. More details about obtaining sparse correspondences will be discussed in Section 3. Image morphing can be classified as mesh based [Wolberg 1990 ], or field-based [Beier and Neely 1992] . Warp function generation can be formulated as scattered data interpolation [Wolberg 1990; Ruprecht and Muller 1995] using thin-plate surface model [Litwinowicz and Williams 1994] or more general radial basis functions [Arad and Reisfeld 1995] . Enforcing a one-to-one mapping can be achieved either by expensive energy minimization [Lee et al. 1995a] or much more efficient multilevel free-form deformation across a hierarchy of control lattices [Lee et al. 1995b] . [Gao and Sederberg 1998 ] presents an interesting morphing algorithm for two similar images with little or no human interaction. They attempt to minimize energy terms using a fast search strategy which however, does not guarantee a good solution between two dissimilar images. Refer to the excellent surveys reported in [Wolberg 1998; Gomes et al. 1997] for other static image morphing techniques. [Lee et al. 1998 ] considered the composition of mappings in warp computation.. Given that two images are sufficiently similar, image registration [Bajcsy and Kovacic 1989; Brown 1992 ] offers a potential solution for automatically determining the correspondence among all points across two images. Optical flow techniques [Beauchemin and Barron 1995; Quenot et al. 1998 ] are regularly used to track the frame-to-frame motion of video frames. Both types of techniques do not guarantee one-to-one correspondence, which is undesirable for image morphing. [Shinagawa and Kunii 1998 ] presents a more effective image matching algorithm using critical-point filters at multiple resolutions. Meanwhile, there are quite a few effective feature tracking algorithms [Lucas and Kanade 1981; Torresani et al. 2001; Olson 2002] for image sequences in computer vision. [Shi and Tomasi 1994] proposes criteria for choosing and updating features during tracking. [Olson 2002 ] describes a maximumlikelihood feature tracking strategy which is more robust than most previous methods.. Despite the large amount of work on image morphing, video morphing is much less mature although feature tracking has previously been exploited [Szewczyk et al. 1997; MorphMan 2003 ]. As in this paper, user assistance is necessary to correct tracking errors. In general, the tracking algorithm [Olson 2002 ] adopted in this paper has better performance than those in [Szewczyk et al. 1997; MorphMan 2003 ]. Most importantly, automatically obtaining dense mappings with temporal coherence has not previously been considered for video morphing. Previous work has not considered morphing between highly nonrigid objects such as fluids, either.

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


A taxonomy of discovery services and gap analysis for ultra-large scale systems ABSTRACT As distributed systems grow to encompass large numbers of components that provide different types of services, it becomes increasingly important to discover these services in a scalable and dependable way. Discovery services are part of many distributed computing technologies, such as CORBA [11] , Jini [16] , Web Services [3] , and Universal Plug and Play [19] . This paper provides a taxonomy of various discovery services, evaluates existing discovery services using this taxonomy, and identifies gaps in the ability of current discovery services to meet the needs of emerging ultra-large scale (ULS) systems, such as the Global Information Grid (GIG) [1] .. ULS systems are an emerging area of research and development [6] . They are characterized by such properties as decentralization; inherently conflicting, unknowable, and diverse requirements; continuous evolution and deployment; heterogeneous, inconsistent, and changing elements; erosion of the people/system boundary; normal failures; and new paradigms for acquisition and policy. Although these characteristics are evident in today's large-scale systems (such as the Internet, air traffic management systems, and power grid control systems), scale and inherent decentralized control will dominate in ULS systems.. As ULS systems continue to grow and mature the importance of discovery services that can handle the characteristics of these systems increases dramatically. ULS systems need to build upon existing legacy systems, which may not support the latest discovery service technology. Moreover, many discovery services have closed architectures that do not support other types of discovery services, which is inadequate for ULS systems.. ULS systems also require a great deal of flexibility in service discovery. For example, failures and disconnectivity will be commonplace, so alternatives for services must be located and negotiation of services must be conducted to use available resources effectively and support safety-and mission-critical systems. Quality of service (QoS) support will also be essential for ULS systems since when a service is found is often as critical as which service is found, i.e., a less-than-ideal service found in a bounded amount of time may be better than an ideal service that is located too late. Research is therefore needed to understand the implications of the many dimensions in which ULS systems need support from discovery services.. The remainder of the paper is organized as follows: Section 2 describes a taxonomy of different categories of discovery service properties; Section 3 summarizes various discovery service technologies and maps the surveyed discovery services to the taxonomy categories in Section 2; Section 4 performs a gap analysis of discovery services needed for ULS systems running in mobile ad hoc networks; and Section 5 presents concluding remarks that describe the research needed to address the gaps described in Section 4. Technologies that support ULS systems are gaining attention in the research community, as evidenced from the ULS systems report [6] and workshops at ACM OOPSLA 2006 and IEEE/ACM ICSE 2007. This paper describes several categories within a taxonomy of existing discovery services that require further research and experimentation. Four categories particularly relevant to ULS technologies include (1) heterogeneity, (2) discovery QoS, (3) service negotiation, and (4) network scope and type, as shown in Table 2 .. The most mature of these four technologies is the support for wide-area networks (WANs) since several discovery services in our survey (i.e., the CORBA Naming and Trading Services, DDS implementations, UDDI, JXTA, Gnutella, and Napster) are designed for and support WANs. ULS systems, however, will push the envelope for size, scope, and granularity of availability. As ULS systems become more prevalent, however, they will include more entities over a wider geographical area and a broader range of networks (such as MANETs), so the services they provide will be available more sporadically and in smaller time slots. The scale needed for ULS systems will therefore force rethinking of the current WAN support for these services.. Existing discovery service implementations and R&D activities provide little or no support for the other three categories. There has been some work on discovery QoS, and the discovery services for DDS in our survey address this to a limited extent. The level of support must be enhanced greatly, however, to support the scale of ULS systems. We could find no existing discovery services that supported service negotiation. Current work should therefore be enhanced and new research be initiated to address ULS system needs for federating existing discovery services to collaborate and interact, as well as adding global properties to any such federation, e.g., QoS-enabled federation of discovery services.. Our research group at the Institute for Software Integrated Systems (ISIS) at Vanderbilt University is using the taxonomy and the resulting gap analysis presented in this paper to investigate policies and mechanisms for developing discovery services that can meet the needs of ULS systems. In the near-term, support for federations of discovery services to enable heterogeneity (a.k.a. open scalability) will be a research focus for us. Moreover, we have started researching the addition of QoS (i.e., real-time, fault tolerance, and security) support for discovery in anonymous publish/subscribe middleware. We plan to transfer this knowledge and experience into the broader context of discovery services for ULS systems.

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


Semantic type qualifiers We present a new approach for supporting user-defined type refinements, which augment existing types to specify and check additional invariants of interest to programmers. We provide an expressive language in which users define new refinements and associated type rules. These rules are automatically incorporated by an extensible typechecker during static typechecking of programs. Separately, a soundness checker automatically proves that each refinement's type rules ensure the intended invariant, for all possible programs. We have formalized our approach and have instantiated it as a framework for adding new type qualifiers to C programs. We have used this framework to define and automatically prove sound a host of type qualifiers of different sorts, including pos and neg for integers, tainted and untainted for strings, and nonnull and unique for pointers, and we have applied our qualifiers to ensure important invariants on open-source C programs. Type systems are a natural discipline for ensuring that programs maintain certain run-time invariants. As a simple example, if an expression can be given the type int, the programmer is assured (modulo type-unsafe features like casts) that the expression will only ever evaluate dynamically to an integer value. Recent work in our community has shown how to refine the types in traditional type systems to ensure other important kinds of run-time invariants, including memory safety (e.g., [38, 33, 23] ), invariants about pointers and their aliasing relationships (e.g., [8, 5, 1, 15] ), and invariants about the interactions of threads in concurrent programs (e.g., [16, 4, 18] ). The refinements are achieved by augmenting standard types with annotations that represent the additional properties of interest and augmenting standard type rules to check these annotations statically.. 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. PLDI'05, June 12-15, 2005 Of course, language designers cannot anticipate all the runtime invariants that programmers will want to specify and check. Language designers also cannot anticipate all of the practical ways in which types may be refined in order to enforce a particular invariant. Therefore, it is desirable to provide a framework for user-defined type refinements, whereby programmers can easily augment a language's type system with new type annotations to ensure invariants of interest. For example, Foster et al. describe CQUAL [19, 20] , a system that allows programmers to define new type qualifiers, such as nonnull and untainted, for C programs, and Mandelbaum et al. [27] provide a theory of type refinements to specify and check properties, like temporal protocols, that depend on "effectful" computations.. Despite their benefits, existing frameworks for user-defined type refinements have important limitations that hinder their utility. First, they use a fixed set of type rules across all type refinements. Type-refinement-specific information is provided by annotating each program to indicate when the typechecker should assume or check that a refinement holds on some program fragment. While such annotations can simulate a limited form of refinementspecific type rules, they are not expressive enough to handle many common situations. For example, it would be difficult to simulate a type rule for some expression that depends recursively on the types of subexpressions.. Second, while existing frameworks ensure that programs respect user-defined typing disciplines, the type-refinement designer must take responsibility for ensuring that his new typing discipline in fact guarantees the desired run-time program invariants. Any errors in the user-defined typing discipline are undetected by the framework. For example, a program that is improperly annotated with nonnull assumptions can typecheck in CQUAL but nonetheless cause a variable declared nonnull to have the value NULL at run time.. In this paper, we address these limitations of prior frameworks via a novel approach to user-defined type refinements:. • A language for type-refinement rules. We provide an explicit language in which users write type rules for their new refinements. This language enables the natural expression of userdefined typing disciplines, and it is much more expressive than the program annotations used by prior frameworks. An extensible typechecker automatically incorporates user-defined type rules during static typechecking of programs, in order to enforce users' typing disciplines.. • Semantic guarantees. We allow users to explicitly specify the run-time invariant that a type refinement is meant to represent. We observe that for many interesting cases such invariants are quite natural and simple. A soundness checker automatically proves that each refinement's type rules ensure the intended invariant, for all possible programs.. We have instantiated our approach as a framework for adding user-defined type qualifiers to C programs. The extensible type-1. value qualifier pos(int Expr E) 2.. case E of 3.. decl int Const C: 4.. C, where C > 0 5.. | decl int Expr E1, E2: 6. E1 * E2, where pos(E1) && pos(E2) 7.. | decl int Expr E1: 8.. -E1, where neg(E1) 9.. invariant value(E) > 0 checker is implemented in the CIL [32] front end for C. The soundness checker implements a proof strategy that requires a handful of proof obligations to be discharged. Our implementation employs Simplify [14] , the automatic theorem prover from the Extended Static Checker for Java (ESC/Java) [17] , to automatically discharge these proof obligations. We have used our framework to define and automatically prove sound a host of type qualifiers: qualifiers that restrict the value of an expression, including nonnull, nonzero, pos, and neg; qualifiers that restrict the flow of values through a program, including tainted and untainted [36] ; and qualifiers that restrict a program's aliasing relationships, including unique and unaliased. We have used our qualifiers to ensure important program invariants on open-source C programs.. In the next section, we overview our framework for user-defined type qualifiers informally via a number of examples. Sections 3 and 4 describe the implementations of our extensible typechecker and soundness checker, respectively. Section 5 summarizes the formal details of our approach. Section 6 describes experience using our framework to check C programs. Section 7 compares with related work, and section 8 concludes and discusses future directions. We have presented a new approach for supporting user-defined type refinements. We allow programmers to supply explicit type rules for new refinements, enabling the expression of common typing disciplines that would be difficult or unnatural to express in prior frameworks. An extensible typechecker executes these rules on programs, and a soundness checker validates the correctness of these rules once, for all possible programs. We have demonstrated the approach through a framework for adding type qualifiers to C programs. Our framework supports the expression of a variety of qualifiers, and we have used these qualifiers to statically ensure interesting run-time invariants in open-source C programs.. We plan to explore several directions to increase the expressiveness and practicality of the approach. First, we will incorporate techniques to make existing qualifiers more flexible. We are currently extending the pattern language to support special-purpose behavior for procedure calls and returns, to make use of the semantics of variable scoping. Other extensions include support for qualifier inference to decrease the annotation burden and support for a form of flow sensitivity.. Second, we will extend our framework to handle new kinds of qualifiers. Flow sensitivity will allow us to explore the specification and checking of temporal protocols. We will also target qualifiers, like const, whose associated invariants are naturally expressed as predicates over execution traces. Reasoning automatically about execution traces is a challenge for our soundness checker. We plan to convert trace-based invariants into predicates on a single execution state by allowing users to conservatively instrument a program's dynamic semantics to record extra information [26] . Also, more work is needed to find the right primitives that allow a wide variety of practical reference qualifiers to be specified and proven sound automatically.. Finally, it is possible that our approach can be used beyond type qualifiers, for example to support program checking with semantic guarantees for higher-level programming idioms such as design patterns [21] . Our framework is inspired by the CQUAL system of Foster et al. [19] . As mentioned in the introduction, our language for userdefined type rules is novel; a limited form of type rules is simulated in CQUAL via qualifier assertions and assumptions. CQUAL also does not support automated soundness checking to ensure that a qualifier establishes its intended invariant. Like our system, CQUAL distinguishes between value and reference qualifiers. CQUAL supports explicit subtyping relationships among qualifiers, which our framework lacks. However, subtyping in CQUAL is declared by the programmer and trusted to be correct, while we prove the semantic soundness of subtyping in our framework. CQUAL supports qualifier inference and qualifier polymorphism, neither of which our framework supports. Follow-on work extended CQUAL's type system to be flow-sensitive [20] , while our type system is flowinsensitive.. The type-refinement framework of Mandelbaum et al. [27] supports a sophisticated type system that is flow sensitive and precise in the face of computational effects, allowing temporal protocols similar to those expressible in the Vault language [12] to be statically checked. Both the framework of Mandelbaum et al. and Vault also support a form of polymorphism for refinements. However, those systems lack a language for user-defined type rules and lack automated soundness checking with respect to run-time invariants.. Fugue [13] is an adaptation and extension of Vault's type system to perform static checking of temporal protocols for C# [6] . Among other innovations, Fugue allows a class's typestates, which are the analogues of our qualifiers, to be given an interpretation as a predicate over the class's fields. Such predicates are used during static typechecking to ensure that each method in the class properly implements its declared specification. In this way, the Fugue typechecker directly ensures that typestates respect their intended invariants. These invariants appear to be similar in expressiveness to ours, except that Fugue's predicate language does not support quantification. Further, Fugue's type system relies heavily on builtin annotations and associated type rules for nonnull references as well as for several kinds of aliasing relationships among objects, while these kinds of qualifiers are user-defined in our framework.. Some type systems, including the calculus of constructions [10] , Nuprl [9] , and type systems [37, 11] for Proof-Carrying Code (PCC) [31] and Typed Assembly Language [30] , use a form of dependent types [28] to allow predicates to be directly encoded as types. However, the proof that a predicate holds on some program fragment cannot in general be produced automatically and must instead be supplied by the programmer. Our framework is less expressive than these systems, since predicates can only be proven indirectly via type qualifiers and their associated type rules. However, the separation of typechecking, which is simple and purely syntactic, from soundness checking, which formally connects the type system to the desired predicates, allows these proofs to be performed automatically.. Dependent ML (DML) [40, 41] allows ML types to depend upon integers with linear inequality constraints. This limited form of dependent types can be used to automatically prove arithmetic program invariants, including those provable by our integer qualifiers like pos and nonzero. DML's types can also express arithmetic invariants that relate multiple program expressions, which are not supported in our framework.. The technical details of our approach build on our previous work on the Cobalt and Rhodium languages [25, 26] . These languages allow users to implement dataflow analyses that can be automatically proven sound by discharging proof obligations with an automatic theorem prover. Our case and assign rules are similar to Rhodium's syntax for flow functions; our restrict and disallow rules have no analogue in Cobalt or Rhodium. Because our work is based on type systems rather than dataflow analysis, our framework's implementation and formalization are quite distinct from those of Cobalt and Rhodium. Our framework also must handle new issues, including subtyping and the distinction between value and reference qualifiers. On the other hand, Cobalt and Rhodium, being based on dataflow analysis, are naturally flow sensitive.

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


Models and methods for plan diagnosis Abstract We consider a model-based diagnosis approach to the diagnosis of plans. Here, a plan performed by some agent(s) is considered as a system to be diagnosed. We introduce a simple formal model of plans and plan execution where it is assumed that the execution of a plan can be monitored by making partial observations of plan states. These observed states are used to compare them with states predicted based on (normal) plan execution. Deviations between observed and predicted states can be explained by qualifying some plan steps in the plan as behaving abnormally. A diagnosis is a subset of plan steps qualified as abnormal that can be used to restore the compatibility between the predicted and the observed partial state. Besides minimum and subset minimal diagnoses, we argue that in plan-based diagnosis maximum informative diagnoses should be considered as preferred diagnoses, too. The latter ones are diagnoses that make the strongest predictions with respect to partial states to be observed in the future. We show that in contrast to minimum diagnoses, finding a (subset minimal) maximum informative diagnosis can be achieved in polynomial time. Finally, we show how these diagnoses can be found efficiently if the plan is distributed over a number of agents. With a growing complexity of plans, the possibility that something goes wrong during their execution increases correspondingly. No wonder then that attention has to be paid to the development of robust plans. One way to enhance robustness is to perform plan diagnosis in order to identify the causes of failures, to predict future failures and, if possible, to prevent failures from occurring. Since there are a huge number of potential factors that might prevent correct plan execution, it is not surprising that current approaches to plan diagnosis are rather diverse. For example, a changing environment might be such an important disturbing factor, preventing some parts of the plan to be executed by changing the preconditions of some instances of actions occurring in the plan. Another important source of plan failures could be attributed to the agent(s) controlling the actions prescribed in the plan by being unable to perform some of the actions required or accidently changing some of the preconditions of actions. In a broader, multi-agent perspective, one could even concentrate on incompatibilities between different agents involved in the execution of a joint plan as a major factor that could prevent parts of a joint plan from being executed correctly.. In this paper we want to specify a general framework for plan diagnosis where, in principle, the above mentioned aspects of plan diagnosis could be dealt with and the computational properties of finding suitable plan diagnoses can be investigated. In particular, we hope to find suitable diagnostic tasks that can be executed efficiently.. In developing such a framework it seems unavoidable to concentrate on some aspects of plan diagnosis and to (temporarily) neglect others. In this paper, we concentrate on internal failure sources and leave external failure sources such as the environment, failures of executing agents as in [2] , or incompatibilities between agents as in [14, 15] for future research. In particular, we confine ourselves to the identification of failing actions as the only source of plan failure. Our main motivation for this restriction is that if the plan is correctly specified, errors in the plan execution process become manifest in the incorrect behavior of one or more instances of actions. 1 Whether or not we should be satisfied with the mere identification of one or more of such failing actions, a diagnostic process that identifies a set of actions that can be shown to be responsible for the abnormalities observed seems to be a useful analysis on its own. In a multi-agent planning systems, for example, identification of such failing actions can be used to identify incompatibilities between plans, to identify failing agents responsible for executing plans or to identify incompatibilities between agents involved in the plans. In the conclusion section we elaborate on the potential extensions of the framework to deal with these questions.. Although the specification of a general framework for plan diagnosis is our first and main objective, we also want to identify suitable (preference) criteria for choosing diagnoses in plan based diagnosis, to characterize the type of most preferred diagnosis in terms of these criteria and to identify the computational complexity of finding these diagnoses. In Model-Based Diagnosis (MBD), for example, size-and subset-minimal diagnoses are preferred. The underlying preference criterion is based on an intuitive acceptable assumption concerning the default behavior of the system: we assume that for every component of the system it is more likely that it behaves normally than abnormally. If we would prefer the most likely diagnoses, it is not difficult to show that minimum diagnoses will be considered as the most preferred ones. It is well-known that in general finding such minimum diagnoses is hard.. In our framework, we investigate another intuitive acceptable assumption concerning the default behavior of a system and a preference relation based on it that can be used to characterize another set of preferred diagnoses. This latter assumption states that it is more likely that a faulty action will produce (directly or indirectly) incorrect results than correct results. Based on this principle, we prefer diagnoses that are more precise (more informative) in their predictions. This gives rise to maximum informative diagnoses as preferred diagnoses. Hoping to find efficiently computable diagnostic tasks, we want to investigate the properties of this diagnostic concept and the computational complexity of finding such diagnoses. This last computational goal is also the reason for temporarily limiting our approach to deterministic planning. This implies that we do not address approaches focussing on non-deterministic planning like [1, 8, 12] . One justification is that in nondeterministic contexts even the simplest diagnostic tasks are intractable, such as finding a discrepancy or recognizing a diagnosis for such discrepancies.. As our third objective, we would like to investigate the merits of this framework for multiagent plan diagnosis. What we have in mind are situations where the plan is distributed over a set of agents who are communicating with each other. Together the agents are capable of predicting what will happen if the plan would be executed given some initial situation. If something is wrong, their predictions will not correspond to observations. We want to investigate the suitability of the above mentioned preferred diagnostic concepts in such a distributed environment. We have presented a simple formal framework to specify an executable plan and we have defined the notion of a diagnosis using partial observations of a plan in execution. We based our analysis of plans and observations upon a model-based diagnosis approach and considered a plan as a description of a system that can be observed and can be used to make predictions about its (future) behavior. Using this framework, we derived a definition for a plan diagnosis as a set of abnormally qualified plan steps that are able to derive a partial plan state compatible with an observed partial plan state. In contrast to model-based diagnosis, where minimal and minimum diagnoses are aimed for, we have shown that minimality alone not always leads to the results we prefer. In order to make powerful predictions about future plan states, we argued that maximal informative diagnoses offer a valuable alternative.. We showed that in contrast to minimum diagnosis, a minimal maximum informative diagnosis can be found efficiently, although maximum informative diagnoses of minimum size are difficult to compute.. Finally, we extended our approach to diagnosis in a distributed setting, showing that mini-maxi diagnoses can be computed very efficiently in such environments, too.. Current work can be extended in several ways. We mention three possible extensions: First of all, we could improve our current notion of diagnosis by taking into account the difference between plan operators and plan steps. In some cases it could be useful to make a distinction between establishing diagnoses at the plan step level and diagnoses at the plan operator level. For example, if instances of a driving action (i.e., plan steps) pertain to a plan operator that refers to the use of one single vehicle and all these instances are qualified as being abnormal, there is sufficient reason to believe that the vehicle itself (the plan operator) is faulty. Such a distinction requires the inclusion of causal rules linking different plan steps to each other. By means of such causal rules the number of plan steps qualified as abnormal often can be significantly reduced. Secondly, going beyond plan operators, we could improve the diagnostic model to include a model of the executing agent(s) that is involved in executing one or more plan steps. In particular we need to consider cases where the agent might evolve through several abnormal states. We suspect the resulting model to be related to diagnosis in Discrete Event Systems [7, 16] . Thirdly, we might investigate several relaxations of our current framework and the computational properties of (mini-maxi) diagnoses in these relaxations. For example, one interesting variant could be allowing for a more careful propagation of unknown values of variables in the domain of plan operators. Here, some variables in the range of the plan operator still might be defined, although some variables in the domain are undefined. Another variant could be a careful extension to non-deterministic aspects of plan step execution by introducing sets of values of variables in the range of plan operators, whenever some values of variables in their domain are undefined. It would be certainly interesting to investigate the properties of mini-maxi diagnoses in such variants, but we suspect their efficient computability property to be lost. {v i, j | c j ∈ C, e i ∈ c j } be the set of variables. For each c j ∈ C, we define a plan step s c j ∈ S with Dom V ar (s c j ) = ran V ar (s c j ) = {v i, j | e i ∈ c j }. Furthermore, for every e i ∈ E, we create a plan step s e i with Dom V ar (e v i ) = ran V ar (e v i ) = {v i, j | e i ∈ c j }. The action performed by each plan step is simply to copy the value of the variables occurring in its domain to the corresponding variable in its range. Note that every plan step is range-restricted as required. Due to the concurrency requirement, we have to be careful in ordering the actions, since the value of a variable might not be affected at the same time by more than one action. Therefore we order the plan steps as follows: every plan step s c j has to precede every plan step s e i . This defines the plan P (See Fig. 7 for an example of this construction). Finally, let K = K and consider the following observations: obs(0) = { (1, 1, . . . , 1) , 0)} obs(2) = {(2, 2, . . . , 2), 2)} Let us consider the intuition behind this reduction. In the initial timed state (π, 0), every variable v i, j has the value 1, while at time t = 2 the value (2) of every variable v i, j disagrees with the prediction that it will be 1, if it is assumed that no action will fail. We ask for the existence of a diagnosis Q containing K or fewer plan steps. Clearly, such a diagnosis has to predict that every value of a variable v i, j will be undefined at time t = 2. This means that we have to find K or fewer plan steps that can be qualified as abnormal and thereby induce the values of all variables to be undefined at time t = 2. It is not difficult to see that such a solution exists iff there are K or fewer plan steps chosen from the set {s c j | c j ∈ C} that are qualified as abnormal. This can be seen as follows: suppose we have a qualification Q containing a plan step s e i . Consider now a diagnosis Q ⊆ {s c j | c j ∈ C}. Then, since every v i, j occurs in the range of the plan step s e i , at least one of the inputs v i, j of s e i should be undefined. By the construction of the plan, this implies that for every s e i there exists at least one s c j with e i ∈ c j such that s c j ∈ Q. But then it follows immediately that Q is a diagnosis of P, obs(0), obs (2) exactly if the set C = {c j | s c j ∈ Q} is a cover of C.. A.2 Correctness of the algorithm to compute mini-maxi diagnoses. We will prove that the algorithm indeed computes a maxi-diagnosis. P, (π, t), (π , t ) , the problem to find a mini-maxi diagnosis can be solved in polynomial time using the algorithm for computing mini-maxi diagnoses. Proof It is not difficult to see that for every v ∈ V dif there exists a plan step s ∈ P such that v occurs in ran V ar (s). Hence, the algorithm always terminates. Obviously, if Step 3.3 is omitted and Step 3.4 is changed into Q max := Q max ∪ S i , we are simply computing a maxi-diagnosis Q according to the definition. Since in Step 3.4, only plan steps s are removed that belong to the scope scope(s) of plan steps s just added to the set Q max , it is not difficult to see that the final qualification O max computed by the algorithm is a diagnosis. Since Q max is a subset of the maxi-diagnosis Q, it easily follows from the definition of the derivation relation that π Q π Q max , implying that V ar(π Q ) ⊆ V ar(π Q max ). Since Q is a maxi-diagnosis, this immediately implies that V ar(π Q ) = V ar(π Q max ) and, therefore, Q max is a maxi diagnosis, too. The results obtained in this paper are threefold. First of all, we present a formal framework for plan diagnosis that enables us to define exactly how observations of a plan in execution can be used to derive an arbitrary plan diagnosis. We show that establishing a plan diagnosis comes down to finding a subset of actions in a plan such that if these actions are qualified as abnormal, the observed plan states are compatible with predicted plan states. Second, with respect to preferred diagnoses, we point out that, like in MBD, in our framework minimum diagnoses are also hard to find. But quite surprisingly, maximum informative diagnoses can be found very efficiently. Moreover, every subset-maximal informative diagnosis also turns out to be a size maximal, i.e., a maximum, informative diagnosis. Finally, combining the two preferred types of diagnoses, we show that maximal informative diagnoses that are also subset-minimal diagnoses can be found in polynomial time, while on the other hand the intersection between the set of minimum diagnoses and the set of maximal informative diagnoses is sometimes empty. Third, we extend the plan diagnosis framework to the multi-agent case where the plan is distributed over several agents. We show that in such a distributed setting subset minimal maximum diagnoses still can be computed very efficiently by a distributed label setting and label propagating algorithm making them a suitable candidate for fast diagnosis in a multi-agent setting.

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


A binary method for fast computation of inter and intra cluster similarities for combining multiple clusterings In this paper, we introduce a novel binary method for fast computation of an objective function to measure inter and intra class similarities, which is used for combining multiple clusterings. Our method has the advantages of using less memory and CPU time. Moreover, compared with the conventional technique, we reduce the time complexity of the problem considerably. Experimental test results demonstrate the effectiveness of our new method. Clustering is the process of organizing objects into groups which have similar members. A distance metric is used for evaluating the similarity. Clustering, which is an important problem, is also known as unsupervised classification in the literature. In a cluster, hopefully, objects are similar to each other and they are dissimilar to other objects in other clusters.. Some of the clustering algorithms partition objects into groups, therefore known as partitional clustering algorithms. k-means [5] is the best known partitional clustering algorithm. k-means divides a set of objects into k clusters, where k is a user-specified parameter. Another type of clustering is hierarchical clustering algorithms; agglomerative methods are well known techniques for this type. Yet another type of clustering is density based clustering; DBScan is a popular algorithm that can correctly cluster arbitrary shaped objects, when provided right parameters.. An expert, by using some of the attributes and his/her experience, can provide a clustering. Therefore, for the same data set there may be multiple clusterings.. An important problem, which is known as Combining Multiple Clusterings, is combining existing clusterings into a final clustering. In the literature, there are some good methods and techniques for solving this problem. Also, some methods are provided for evaluating the quality of the final clustering; such as entropy, F-measure, intra-cluster similarity and inter-cluster similarity. Main contribution of this paper is a new technique for efficiently computing intra-cluster and inter-cluster similarities for combining multiple clusterings.. The paper is structured as follows. In Section 2, the problem of combining multiple clusterings is introduced. Section 3 includes intra-cluster and inter-cluster similarities. Section 4 presents our new binary method for computing intra-cluster and inter-cluster similarities. Experimental results section provides comparison of our new method with the conventional technique for varying size data sets. In the final section, we present conclusions and future work. In this paper, we presented a novel binary method for computing intra-cluster and inter-cluster similarities. By representing each cluster using a bit vector, we utilize fast operations and low memory requirements of binary operations. Our method is especially useful as a consensus function when combining multiple clusterings. Test results on multiple data sets and clusterings demonstrate the effectiveness of our method. Our method is superior to the conventional technique; it is much faster and it uses considerably less memory.. By using the consensus function here, we will investigate designing a novel method for combining multiple clusterings as a future work. Evolutionary based techniques can use our consensus function presented here as a fitness function. Generalizing our technique for broader use will also be a future work.

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


Stress-based crossover operator for structure topology optimization using small population size and variable length chromosome This paper talks about genetic algorithm (GA) with a stressbased crossover operator (SX) to multi-constrained structural topology optimization. By bitstring chromosome representation, the design variables are very large that result in long computation time. Population size, as the key to cut computation time, is discussed through a number of small population sized experiments. Moreover, we introduce a variable length chromosome to further optimize the topology hierarchically. Main approaches to structural topology optimization(STO) include homogenization [1] , solid isotropic microstructure with penalization(SIMP) [2] , evolutionary structural optimization (ESO) [3] , bi-directional evolutionary structural optimization (BESO) [4] and evolution computation methods, such as, genetic algorithm (GA), multi-objective GA, etc.. This paper presents a stress-based crossover operator (SX) [5] , by which neighboring elements connectivity are considered during the procedure. Population size, as the key factor to this problem, is discussed in this paper. Moreover, researches demonstrate SX can find out the general shape even using coarse meshes. Therefore, a variable length chromosome is introduced to optimize the structure hierarchically. Small population is effective for SX to STO. However, big design domain problem needs big population for a good solution. Experiment of hierarchical coded GA shows the solution, which is obtained by a coarse mesh, can be further optimized. Moreover, the computation time can also be reduced.

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