Multifactor dimensionality reduction reveals a three-locus epistatic interaction associated with susceptibility to pulmonary tuberculosis Background: Identifying high-order genetics associations with non-additive (i.e. epistatic) effects in population-based studies of common human diseases is a computational challenge. Multifactor dimensionality reduction (MDR) is a machine learning method that was designed specifically for this problem. The goal of the present study was to apply MDR to mining high-order epistatic interactions in a population-based genetic study of tuberculosis (TB). Results: The study used a previously published data set consisting of 19 candidate single-nucleotide polymorphisms (SNPs) in 321 pulmonary TB cases and 347 healthy controls from Guniea-Bissau in Africa. The ReliefF algorithm was applied first to generate a smaller set of the five most informative SNPs. MDR with 10-fold crossvalidation was then applied to look at all possible combinations of two, three, four and five SNPs. The MDR model with the best testing accuracy (TA) consisted of SNPs rs2305619, rs187084, and rs11465421 (TA = 0.588) in PTX3, TLR9 and DC-Sign, respectively. A general 1000-fold permutation test of the null hypothesis of no association confirmed the statistical significance of the model (p = 0.008). An additional 1000-fold permutation test designed specifically to test the linear null hypothesis that the association effects are only additive confirmed the presence of non-additive (i.e. nonlinear) or epistatic effects (p = 0.013). An independent information-gain measure corroborated these results with a third-order epistatic interaction that was stronger than any lower-order associations. Conclusions: We have identified statistically significant evidence for a three-way epistatic interaction that is associated with susceptibility to TB. This interaction is stronger than any previously described one-way or two-way associations. This study highlights the importance of using machine learning methods that are designed to embrace, rather than ignore, the complexity of common diseases such as TB. We recommend future studies of the genetics of TB take into account the possibility that high-order epistatic interactions might play an important role in disease susceptibility. Understanding the genetic architecture of common human diseases such as tuberculosis (TB) remains one of the greatest challenges in biomedical research. The goal of the present study was to approach the genetic analysis of TB susceptibility with the assumption that the underlying genetic architecture is complex.. Specifically, we used a machine learning method called multifactor dimensionality reduction (MDR) that was designed specifically for detecting and characterizing nonadditive gene-gene interactions (i.e. epistasis) [1] . Only a handful of studies have explored the role of epistasis in determining TB susceptibility. For example, de Wit et al. [2] found statistically significant evidence for epistasis between several different pairs of singlenucleotide polymorphisms (SNPs) in a study of South Africans. Another study of West Africans found significant evidence of pairwise epistasis [3] . We have extended these studies by specifically testing higher-order models of gene-gene interactions using machine learning methods.. The MDR method was designed as a machine learning alternative to parametric statistical methods such as logistic regression [1] . The goal of MDR is to recode SNP data using constructive induction to make non-additive interactions easier to detect [4] . Simulation studies have demonstrated that MDR has good power to detect non-additive epistatic interactions in the absence of detectable main effects [5, 6] . MDR has been applied to numerous genetic studies of common diseases including TB [3] .. As with any machine learning method, there is always the concern of overfitting that can lead to false-positives. To avoid this problem here, we implemented MDR in a crossvalidation framework that assesses the predictive ability of the models [7] . We also performed rigorous permutation testing methods to assess how often MDR models as good as the ones we observed in the real data were found under the null hypothesis [8] .. As an additional measure, we implemented a ReliefF filter to reduce the total number of SNPs and thus SNP combinations evaluated by MDR [9] . This greatly reduces the total number of tests performed. Few studies consider the role of epistasis in disease susceptibility. Even fewer consider the possibility that multiple genetic variants might have synergistic effects beyond main effects or pairwise effects. We have demonstrated how the ReliefF and MDR machine learning algorithms can be employed in conjunction with cross-validation and permutation testing to move beyond the detection of low-order genetic effects. We have applied these approaches to the genetic analysis of TB susceptibility and have demonstrated a statistically significant three-way epistatic interaction exhibiting non-additivity that is not predicted by the one-way and two-way effects. These results were confirmed using an independent analysis approach based on information theory. An important question is whether this three-locus epistatic effect has biological and clinical implications. The biological connection is not difficult given these genes were pre-selected as good immunological candidates for TB [3] . Whether the genetic effects specified in the model are functional will need to be determined by experimental methods. Application of these methods and other machine learning approaches will be important for unraveling the genetic complexity of TB. ReliefF filtering returned the following five SNPs (corresponding genes shown in parentheses): rs187084 (TLR9), rs4986790 (TLR4), rs11465421 (DC-SIGN), rs2305619 (PTX3), rs1840680 (PTX3), and rs2287886 (DC-SIGN). A summary of the MDR results for these five SNPs is shown in Table 1 . None of the SNPs were found to have statistically significant main effects after correction for multiple testing. Additionally, no statistically significant pairwise models were reported. The overall best model consisted of SNPs rs2305619, rs187084, and rs1145421. These three SNPs had a training accuracy of 0.6115 and a testing accuracy of 0.5878. The cross-validation consistency of this model was 10/10. The distribution of cases and controls for each of the three-locus genotype combinations in the best MDR model can be seen in Figure 1 .. Permutation testing confirmed the statistical significance of the model suggesting it is unlikely to see a mode this good in null data (p = 0.008). Additional permutation testing revealed that the non-additive effects in the model were also statistically significant (p = 0.013). Taken together, these results suggest a role for high-order non-additive epistatic effects. Figure 2 summarizes the results of the entropy-based information gain analysis. We found that the three-way epistatic interaction was stronger than any lower-order effects. This confirms the results we observed with MDR. The data set used in this study was originally analyzed by Olessen et al. [3] . These data include 321 pulmonary TB cases and 347 healthy controls genotyped at The Bandim Health Project in Guinea Bissau [3] . Each individual was genotyped for 19 singlenucleotide polymorphisms (SNPs) from immunological candidate genes VDR, DC-SIGN, PTX3, TLR2, TLR4, and TLR9. Missing data were imputed using a frequency-based imputation. Additional details about the choice of genes and the overall study are provided by Olessen et al. [3] .. We first applied the ReliefF algorithm to filter the 19 SNPs to a total of five. Here, we used 100 nearest neighbors. The goal for the ReliefF analysis was to retain only those SNPs that provide the greatest signal. This reduces the total number of models that need to be explored.. We then applied MDR to five filtered SNPs. We combinatorially evaluated all twoway to five-way models. Balanced accuracy in the context of 10-fold cross-validation was used to assess model quality. An overall best model was selected that had the maximum accuracy in the testing data (i.e. testing accuracy or TA). We also recorded the cross-validation consistency or CVC. This provides a summary of the number of cross-validation intervals in which a particular model was found. Higher numbers indicate more robust results. Statistical significance was assessed using 1000-fold permutation testing. Here, the data are randomized 1000 times to create 1000 datasets consistent with the null hypothesis. The complete MDR analysis is repeated in each permutated dataset and a best model selected just as in the real data. This procedure generates an empirical estimate of the null distribution of testing accuracies and corrects for multiple testing because the same number of models are evaluated in all permutated and real data. We performed two tests. First, we tested the general null hypothesis of no association by randomizing case-control labels. Second, we tested the linear null hypothesis that the only genetic effects are additive according the genotype randomization methods of Greene et al. [8] . Rejection of both null hypotheses is evidence for non-additive epistasis. We considered all result significant at the alpha = 0.05 level.. In addition to the MDR analysis, we performed an independent assessment of nonadditivity using entropy-based measures of information gain [4] . Specifically, we used a new measure of three-way epistasis that adjusts for lower-order effects [10] . This approach was used to confirm high-order non-additive interactions.

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


Exact recording of Metropolis-Hastings-class Monte Carlo simulations using one bit per sample The Metropolis-Hastings (MH) algorithm is the prototype for a class of Markov chain Monte Carlo methods that propose transitions between states and then accept or reject the proposal. These methods generate a correlated sequence of random samples that convey information about the desired probability distribution. Deciding how this information gets recorded is an important step in the practical design of MH-class algorithm implementations. Many implementations discard most of this information in order to reduce demands on storage capacity and disk writing throughput. Here, we describe how recording a bit string containing 1's for acceptance and 0's for rejection allows the full sample sequence to be recorded with no information loss, facilitating decoupling of simulation design from the constraints of data analysis. The recording uses only one bit per sample, which is an upper bound on the rate at which information about the desired distribution is acquired. We also demonstrate the method and quantify its benefits on a nontrivial colloidal system of charged particles in the canonical ensemble. The method imposes no restrictions on the system or simulation design and is compatible with descendants of the MH algorithm. Markov chain Monte Carlo (MCMC) methods enable importance sampling from complicated, concentrated probability distributions. The Metropolis-Hastings (MH) algorithm [1, 2] is the prototype for a class of MCMC algorithms where transition proposals are accepted or rejected to generate each sample. Its applicability to distributions where probability ratios, but not absolute probabilities, are easily computed motivates its broad usage. Since the complexity and scale of these applications routinely push against computational resource limits, practical techniques for minimizing storage requirements and execution time are important aspects of implementations. Ideally, the full sequence of samples is recorded in a compact format that facilitates analysis and interpretation.. Current implementations of Metropolis-Hastings-class algorithms typically reduce the information content of the full sample sequence in two ways before it is recorded. In the first, a small fraction of samples are recorded in complete detail, but the rest are discarded. This enables arbitrary post-analysis because all degrees of freedom are available for the retained samples. However, when sampling systems with many degrees of freedom, retaining even a small fraction of samples requires considerable storage capacity. Even if capacity is abundant, disk throughput would limit the fraction of samples that could be recorded without having disk write operations dominate the execution time. In the second pattern, averages, moments, histograms, or other quantities are accumulated during simulation and recorded upon completion. This is parsimonious with respect to demands on storage bandwidth and capacity, but decisions about which quantities to accumulate, their frequencies of accumulation, and the number of samples to discard due to starting configuration bias must be made in advance. Altering these choices requires repeating the entire simulation.. These tradeoffs and losses of information complicate the usage of MH-class algorithms in real applications. A typical experience from our lab provides an illustrative example in the area of biomolecular simulation. A study of conformational and dimerization equilibria [3] involved a set of ∼10 proteins, each consisting of ∼10 3 interacting atoms and modelled at ∼10 different temperatures either individually or in pairs. At least three independent replicate simulations were performed for each condition, with each replicate generating ∼10 8 samples using MH. While some quantities of interest had their expectation values accumulated during the initial simulations, only 1 in ∼10 4 samples had their full set of atomic coordinates recorded. Despite using Gromacs XTC compression with limited precision, these sparse recordings consumed a total of ∼10 11 bytes of storage. Subsequent analyses could only be performed by reanalyzing these recorded samples or repeating the entire set of simulations while accumulating expectations for the new quantities of interest. Given that the simulations consumed ∼10 5 total hours of cpu time, both options were suboptimal in terms of efficient usage of computational resources.. These problems can be completely avoided. Here, we describe a simple method for recording the full sample sequence from a MH-class simulation that stores one bit per sample. The method operates independently from any details of the system and the transition proposals, and is therefore generally applicable. The method described here is a simple and effective approach to data storage and representation in the design of MH-class algorithm implementations. It facilitates decoupling of simulation design from the constraints of data analysis. The information theoretic perspective through which this method was conceived deserves broader appreciation in the development of Monte Carlo algorithms. This method enables efficient reanalysis as long as the time spent generating and executing transition proposals is small compared to the time spent computing ratios of sample weights and proposal probabilities. Fortunately, this condition is naturally satisfied because sample weights are generally determined by an energy function or other interaction between degrees of freedom that is more expensive to update than the degrees of freedom themselves. By recording the results of the most computationally expensive component of MH-class algorithm implementations, the method proposed here approaches the minimum achievable limits on both storage consumption and execution time.. A closely related alternative method would be to record the full sequence of sample weights in addition to the accept / reject decision. In some applications, the sample weights themselves are important subjects of analysis, and rederiving them from the samples during reanalysis would be computationally expensive. For instance, in a simulation of a physical system in the canonical ensemble, one may wish to calculate the heat capacity and other properties of the energy distribution. Assuming that weights are represented as IEEE 754 double precision floating point numbers, as in Table 1 , each sample would require an additional 64 bits of storage. While much less compact than the bit string recording alone, it would still be far more efficient than most alternatives.. Note that the size of the recording might be further reduced by compressing it using a lossless algorithm. One bit per sample is an upper bound on the entropy rate [4, chapter 30.5] ; if the acceptance rate of the simulation is not exactly 1/2, the recorded bit string will contain biases that a compression algorithm can exploit.. The compactness of this recording method makes it susceptible to corruption: during reanalysis, a single incorrectly recorded bit contaminates all subsequent samples. An effective solution would be to encode the raw bit string using error correcting codes (ECC) that provide robustness at the cost of increased storage consumption [4, chapter 11] . In fact, employment of Reed-Solomon [6] and low-density parity-check (LDPC) [7] codes at the hardware level is already widespread among designers of random access memory, persistent storage devices, and networking interfaces. Therefore, ECC at the software level would constitute a redundant layer of protection against error. Non-redundant detection of error can be achieved by recording all degrees of freedom for a small number of checkpoint samples, and verifying equality for the corresponding samples generated during reanalysis. Alternatively, the common practice of comparing cryptographic hash function outputs can be applied to verifying the integrity of recorded bit strings.. This method is compatible with descendants of the MH algorithm that retain its general accept-orreject architecture. Examples include expanded ensemble techniques [8] , replica exchange Monte Carlo [9] , multiple-try Metropolis [10] , simulated annealing [11] , and simulated tempering [12] . For some algorithms, such as Wang-Landau sampling [13] , efficient post-analysis would require recording the system energy at every iteration as described above. Bytes per sample 1 All degrees of freedom for all particles 56000 2 All degrees of freedom for changed particle only 32 3 Energy output 8 4 Bit string 0.125 Table 1 : Comparison of efficiencies for different recording methods. Calculated sizes assume that real numbers are represented and recorded using an eight-byte format. Method 2 uses one four-byte integer per sample to encode which particle, if any, changed, and assumes an acceptance rate of exactly 50%. Note that preserving the simulation code is necessary for methods 3 and 4. This would consume an additional amount of storage that is independent of the number of samples, and is not reflected in the table.. Since the bit string recording obviates all sample weight and proposal probability ratio calculations, iterating over the sample sequence takes significantly less time than generating it. To enable benchmarking, RecordingDemonstration.jar provides two analyses for the demonstration system. The first is a histogram of the central angle between intra-particle charge sites and the second is a pairwise distance histogram between particle centers. The histograms are accumulated once every 100 and 1000 steps, respectively. Table 2 compares the execution time for performing both analyses during the original simulation versus using the bit string recording. Note that energy evaluations are efficiently implemented such that only changing terms are computed; each iteration after the first of the original simulation performs a number of computations that is linear, rather than quadratic, in the number of particles. However, once the bit string is recorded, energy evaluations are skipped; each iteration only needs to update the degrees of freedom for a single particle and therefore executes in constant time.

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


Facial Age Estimation by Learning from Label Distributions Abstract-One of the main difficulties in facial age estimation is that the learning algorithms cannot expect sufficient and complete training data. Fortunately, the faces at close ages look quite similar since aging is a slow and smooth process. Inspired by this observation, instead of considering each face image as an instance with one label (age), this paper regards each face image as an instance associated with a label distribution. The label distribution covers a certain number of class labels, representing the degree that each label describes the instance. Through this way, one face image can contribute to not only the learning of its chronological age, but also the learning of its adjacent ages. Two algorithms, named IIS-LLD and CPNN, are proposed to learn from such label distributions. Experimental results on two aging face databases show remarkable advantages of the proposed label distribution learning algorithms over the compared single-label learning algorithms, either specially designed for age estimation or for general purpose. P EOPLE'S behavior and preferences are different at different ages [2] , which indicates vast potential applications of automatic age estimation. Among many age-related traits, facial appearance might be the most common one that people rely on for age estimation in daily life. As the typical example shown in Fig. 1 , the appearance of human faces exhibits remarkable changes with the progress of aging. However, the human estimation of facial age is usually not as accurate as other kinds of facial information, such as identity, expression, and gender. Hence, developing automatic facial age estimation methods that are comparable or even superior to the human ability in age estimation has become an attractive yet challenging topic emerging in recent years [9] .. One of the early works on exact age estimation was done by Lanitis et al. [20] , [19] , where the aging pattern was represented by a quadratic function called aging function. Based on this, they proposed the weighted appearance specific (WAS) method [20] and the appearance and age specific (AAS) method [19] . Later, Geng et al. [12] , [11] proposed the AGES algorithm based on the subspace trained on a data structure called aging pattern vector. After that, various methods were developed for facial age estimation. For example, Fu et al. [8] , [10] proposed an age estimation method based on multiple linear regression on the discriminative aging manifold of face images. Guo et al. [14] used the support vector regression (SVR) method to design a locally adjusted robust regressor for the prediction of human ages. They later proposed to use the biologically inspired features (BIF) [16] and the kernel partial least squares (KPLS) regression [15] for age estimation. Yan et al. [36] regarded age estimation as a regression problem with nonnegative label intervals and solved the problem through semidefinite programming. They also proposed an EM algorithm to solve the regression problem and speed up the optimization process [35] . By using the spatially flexible patch as the feature descriptor, the age regression was further improved with the patch-based Gaussian mixture model [38] and the patch-based hidden Markov model [41] . Noticing the advantages of personalized age estimation, Zhang and Yeung [40] formulated the problem as a multitask learning problem and proposed the multitask warped Gaussian process to learn a separate age estimator for each person. To build a robust facial age estimation system, Ni et al. [22] , [23] proposed a method based on the mining of the noisy aging face images collected from the web images and videos. One of the most recent progresses was made by Chang et al. [3] , who transformed an age estimation task into multiple costsensitive binary classification subproblems, and solved the problem with an ordinal hyperplane ranking algorithm.. Although a number of algorithms have been successfully developed for facial age estimation, many challenges still remain, among which perhaps the most prominent one is that the learning algorithms cannot expect sufficient and complete training data [11] , [40] . Since different people age differently [11] , a "sufficient and complete" dataset should contain the complete aging patterns of as many people as are necessary to represent the whole population. However, the aging progress cannot be artificially controlled. The collection of the aging images thus usually requires great effort in searching for photographs taken years ago, and future images cannot be acquired. In practice, almost nobody can guarantee to have at least one photograph at each of his/her past ages. Consequently, it is very rare that the complete aging pattern of a person can be successfully collected. Moreover, age is a concept that can be gradually refined from years to months and even to days. It is practically impossible to have one or more instances at each of these aging points. Due to the above reasons, the aging data can hardly be "sufficient and complete." The available datasets [20] , [27] typically just contain a very limited number of aging images for each person, and the images at the higher ages are especially rare.. Without sufficient and complete training data, additional knowledge about the aging faces can be introduced to reinforce the learning process. By another close look at Fig. 1 , one may find that the faces at the close ages look quite similar. This results from the fact that aging is a slow and gradual process. For example, although a person on the day before his 26th birthday is still of the age 25, his facial appearance will be almost exactly the same one day later when he turns 26 years old. So, while his chronological age on the day is 25, the age 26 can also be used to describe his facial appearance. This is consistent with the real-life experience that people usually predict another person's facial age in a way such as "around 25 years old," which indicates using not only 25, but also the neighboring ages to describe the appearance of the face. In this sense, although the chronological age is unambiguous, the facial appearance age is ambiguous, i.e., multiple age numbers might be used to describe the appearance of one face.. Inspired by this observation, the basic idea behind this paper is to utilize the images at the neighboring ages while learning a particular age. This is achieved by introducing a new labeling method, i.e., assigning a label distribution to each image rather than a single label of the chronological age. The label distribution covers a certain number of neighboring ages, representing the degree that each age describes the facial appearance. A suitable label distribution will make a face image contribute to not only the learning of its chronological age, but also the learning of its neighboring ages. Compared with the traditional ways of labeling (e.g., single label and multilabel [32] ) in supervised learning, label distribution provides more flexibility in representing ambiguity, which is further discussed in Section 2. Accordingly, the algorithms learning from label distributions should be able to deal with such ambiguity, which is further discussed in Section 3. In this paper, two novel algorithms for label distribution learning are proposed and applied to the problem of facial age estimation.. The rest of the paper is organized as follows: First, the concept of label distribution is introduced in Section 2.. Then, two label distribution learning algorithms are proposed in Section 3. After that, the experiments on facial age estimation are reported in Section 4. Finally, the conclusions are drawn, and some discussions of future work are given in Section 5. The MAEs of all the age estimators are tabulated in Table 2 . The standard deviations on the MORPH database are also given in the table. Note that the number of images for each person in the FG-NET database varies dramatically. Consequently, the standard deviation of the LOPO test on the FG-NET database becomes unstable. So, it is not shown in Table 2 . The MAEs of the algorithms higher than that of HumanA are highlighted by boldface and those higher than that of HumanB are underlined. Since the results of the human tests are the mean MAEs of multiple testees, the two-tailed t-tests at the 5 percent significance level are performed to see whether the differences between the results of the human tests and the algorithms are statistically significant. The results of the t-tests are given in the brackets right after the MAE of each algorithm in Table 2 . The number "1" represents significant difference; "0" represents otherwise. The first number is the t-test result on HumanA, the second is that on HumanB.. As can be seen, the overall performance of the label distribution learning algorithms (IIS-LLD and CPNN) is significantly better than that of the single-label based algorithms, either specially designed for age estimation (OHRank, AGES, WAS, and AAS) or for general-purpose classification (kNN, BP, C4.5, SVM, and ANFIS). There are mainly two reasons for the good performance of the label distribution learning algorithms. First, the prior label distributions of the training samples make it possible that one instance contributes to the learning of multiple classes. Second, as discussed in Section 3.1, the label distribution learning algorithms tend to learn the similarity among the neighboring ages, no matter what the (reasonable) prior label distribution might be. The second reason also explains why the "Single" case of IIS-LLD or CPNN can achieve state-of-the-art results even when the prior label distribution in this case is equivalent to single label. Refer back to (6), the learning target of the "Single" case is to ensure the dominating position of the chronological age in the label distribution. Although no prior knowledge about the neighboring ages is given, the label distribution learning algorithms can learn it based on the similarity of the face images at the close ages.. In all cases, IIS-LLD and CPNN perform significantly better than HumanA. Except for the "Triangle" and "Single" cases of IIS-LLD on FG-NET, IIS-LLD and CPNN perform even significantly better than HumanB. Considering that more information is actually provided to the human testees in the HumanB test, it can be concluded that under the experimental settings of this paper, IIS-LLD and CPNN can both achieve better performance than that of the human testees. However, it would be too optimistic to claim that the algorithms can outperform humans in general. The main reason is that people usually perform better for faces belonging to their own race than for those belonging to another race [4] . While most images in the FG-NET and MORPH databases are Caucasian and African faces, the testees involved in the human tests are all Chinese. Thus, the results of the human tests are actually biased toward a more difficult task: estimate the age of the faces from a different race.. The comparison between IIS-LLD and CPNN in Table 2 shows the clear advantage of CPNN. There are mainly two reasons why CPNN performs better. First, CPNN learns pðy j x x x xÞ without prior assumptions of its form, while IIS-LLD assumes pðy j x x x xÞ to be the maximum entropy model, which does not necessarily match the problem of age estimation well. Second, all the class labels share the same set of model parameters in CPNN, while IIS-LLD learns the parameters for each class label separately, i.e., the y;k in (11) can be learned separately for each y. Thus, CPNN can better utilize the correlation among the class labels. Nevertheless, there are also at least two disadvantages of CPNN compared to IIS-LLD. First, relying more on the training data than IIS-LLD makes CPNN more vulnerable to overfitting, which can be evidenced by its higher standard deviations in Table 2 . Second, in IIS-LLD, the difference in the target function values between the adjacent steps is maximized, and the parameter increment yj;k in (18) appears alone. So, IIS-LLD runs faster than CPNN. The pros and cons of these two label distribution learning algorithms are summarized in Table 3 .. Further looking into the three label distribution cases reveals that the MAE of both IIS-LLD and CPNN can be ranked as: "Gaussian" < "Triangle" < "Single." The "Gaussian" distribution utilizes all the neighboring ages, the "Triangle" distribution utilizes those ages within the triangle, and the "Single" distribution only utilizes the chronological age. This supports the idea of using suitable label distributions to cover as many correlated class labels as possible. In addition to the coverage of the distribution, the performance of label distribution learning may also be affected by how the related labels are covered, which is determined by the parameters of the label distributions. Fig. 6 shows the MAEs of IIS-LLD and CPNN on the FG-NET and MORPH databases with different standard deviations ¼ 0; 1; 2; 3; 4 for the "Gaussian" distribution, and different bottom length l ¼ 2; 4; 6; 8; 10 for the "Triangle" distribution. Note that both ¼ 0 and l ¼ 2 correspond to the "Single" distribution. Fig. 6 reveals that too concentrated (small or l) and too dispersive distributions (large or l) could both lead to performance deterioration. This is consistent with the intuition that the related classes are helpful but should not threaten the priority of the original class. A proper setting of the scale of the distribution is important to achieve good performance. But, generally speaking, ¼ 2 and l ¼ 6 are good choices in most situations.. Among the baseline methods, the AGES algorithm [11] relies on the data structure aging pattern vector, which is composed of all the aging faces of one person. Thus, AGES is a typical algorithm that is sensitive to the quantity of the training samples. To reveal the effectiveness of using label distribution learning to deal with the "insufficient training data" problem, IIS-LLD and CPNN are compared in different age ranges with AGES on the FG-NET database. The results are tabulated in Table 4 . The performance worse than that of the reference method AGES in the same age range is underlined. As can be seen, the number of samples in different age ranges decreases rapidly with increasing age. Samples in the higher age groups (e.g., 60-69) are especially rare. It is interesting to find that in the age ranges with relatively sufficient training data, the performance of the label distribution learning algorithms could be worse than that of AGES. For example, in the age ranges 0-9 and 10-19, all three cases of IIS-LLD perform worse than AGES. The "Triangle" case of CPNN is also worse than AGES in the age range 0-9. This is because both IIS-LLD and CPNN are based on the general-purpose models, i.e., the maximum entropy model or the multilayer neural network, while AGES builds on the problem-specific data structure aging pattern vector. The advantage of the problem-specific model generally becomes more apparent when there are sufficient training data. Another more important fact revealed by Table 4 is that the main advantage of label distribution learning comes from the classes with insufficient training samples. The fewer training samples there are, the more apparent the superiority of label distribution learning becomes. For example, in the age range 0-9 with maximum number of training samples, the MAE of the "Gaussian" case of CPNN is 6 percent lower than that of the "Single" case, and 11 percent lower than that of AGES, while in the age range 60-69 with a minimum number of training samples, the advantages increase to 19 and 44 percent, respectively. This may be seen as evidence supporting the idea put forward in this paper, i.e., that label distribution learning is an effective way to relieve the "insufficient training data" problem.. To further verify this idea, the training data from the MORPH database are gradually reduced, while the test data remain the same. To make the results more obvious, the training data are exponentially reduced, i.e., half of the current training data are randomly removed each time. The MAE curves of the "Gaussian" case of the label distribution learning algorithms (IIS-LLD and CPNN) and the best two baseline methods (OHRank and AGES) are compared in Fig. 7 . As can be seen, the MAEs of OHRank and AGES increase rapidly with the decrease of the training data. Insufficient training data greatly affect their performance. On the contrary, both IIS-LLD and CPNN perform relatively steadily even when the training data are exponentially reduced. The MAE of CPNN using as few as 3 percent (ð1=2Þ 5 ) of the original training data is only 19 percent higher than that using all the MORPH training data. The performance of IIS-LLD is even better: Only 12 percent higher MAE is observed, while 97 percent (1 À ð1=2Þ 5 ) of the training data are removed. This illustrates the effectiveness of label distribution learning on insufficient training data. Moreover, although the MAE of IIS-LLD is generally higher than that of CPNN, it appears more steady than CPNN with the decrease of the training data. This is mainly because IIS-LLD is based on the presumed maximum entropy model, while CPNN learns the model from the training data. Consequently, IIS-LLD relies less on the training data than CPNN does. Two datasets are used in the experiments. The first is the FG-NET Aging Database [20] . There are 1,002 face images from 82 subjects in this database. Each subject has 6-18 face images at different ages. Each image is labeled by its chronological age. The ages are distributed in a wide range from 0 to 69. Besides age variation, most of the ageprogressive image sequences display other types of facial variations, such as significant changes in pose, illumination, expression, and so on. A typical aging face sequence in this database is shown in Fig. 1 .. The second dataset is the much larger MORPH database [27] . There are 55,132 face images from more than 13,000 subjects in this database. The average number of images per subject is 4. The ages of the face images range from 16 to 77 with a median age of 33. The faces are from different races, among which the African faces account for about 77 percent, the European faces account for about 19 percent, and the remaining 4 percent includes Hispanic, Asian, Indian, and other races. Some typical aging faces in this database are shown in Fig. 4 .. The feature extractor used for the FG-NET database is the appearance model [6] . The main advantage of this model is that the extracted features combine the shape and intensity of the face images, both of which are important in the aging progress. In this experiment, the first 200 model parameters are used as the extracted features. The features used for the MORPH database are the BIF [16] . By simulating the primate visual system, BIF has shown good performance in facial age estimation [16] . The dimensionality of the BIF vectors is further reduced to 200 using marginal Fisher analysis [37] . According to the chronological age of each face image, a label distribution is generated using the Gaussian or triangle distribution shown in Fig. 3 . Then, the label distribution learning algorithms (IIS-LLD and CPNN) are applied to the image set with the generated label distributions. The predicted age for a test image x x x x 0 is determined by y Ã ¼ argmax y pðy j x x x x 0 Þ. To study the usefulness of the adjacent ages, IIS-LLD and CPNN are also applied to the special label distribution of the single-label case shown in Fig. 2a . The three kinds of label distributions are denoted by "Gaussian," "Triangle," and "Single," respectively. Several existing algorithms specially designed for the problem of facial age estimation are compared as the baseline methods, which include OHRank [3] , AGES [11] , WAS [20] , and AAS [19] . Some conventional general-purpose classification methods for single-label data are also compared, which include kNN (k-nearest neighbors), BP (backpropagation neural network), C4.5 (C4.5 decision tree), SVM (support vector machine), and a fuzzy classifier, ANFIS (adaptive network-based fuzzy inference system) [17] . For all of these general-purpose methods, age estimation is formulated as a standard multiclass classification problem, i.e., each face is labeled by its chronological age, and the number of classes is equal to the number of possible ages.. When generating the label distributions, the standard deviation of the "Gaussian" distribution varies within four different values 1, 2, 3, and 4. The bottom length of the "Triangle" distribution also varies within four different values 4, 6, 8, and 10. All of these label distribution settings are tested, and the best results are reported. For all the compared algorithms, several parameter configurations are tested, and the best results are reported. For CPNN, the number of hidden layer units is set to 400. For OHRank, the absolute cost function and the RBF kernel are used. For AGES, the aging pattern subspace dimensionality is set to 20. In AAS, the error threshold in the appearance cluster training step is set to 3. For kNN, k is set to 30, and euclidean distance is used to find the neighbors. The BP neural network has a hidden layer of 100 neurons with sigmoid activation functions. The parameters of C4.5 are set to the default values of the J4.8 implementation (i.e., the confidence threshold 0.25 for pruning and minimum two instances per leaf). An SVM is implemented as the "C-SVC" type in LIBSVM using the RBF kernel with the inverse width of 1. Finally, the number of membership functions in ANFIS is set to 2.. The performance of the age estimators is evaluated by mean absolute error (MAE), i.e., the average absolute difference between the estimated age and the chronological age. The algorithms are tested through the leave-oneperson-out (LOPO) mode [12] on the FG-NET database, i.e., in each fold, the images of one person are used as the test set and those of the others are used as the training set. After 82 folds, each subject has been used as test set once, and the final results are calculated from all the estimates. Since there are more than 13,000 subjects in the MORPH database, the LOPO test will be too time-consuming. Thus, the algorithms are tested through the 10-fold cross validation on the MORPH database.. As an important baseline, the human ability in age perception is also tested. About 5 percent of the images from the FG-NET database (i.e., 51 face images) and 60 images from the MORPH database are uniformly sampled from the age ranges shown in Table 4 . These images are used as the test samples presented to the human testees. All the testees are Chinese students or staff members from the authors' universities. Some other ground truth of the human tests, including the number of test samples, the number of testees, and the testees' own age, are shown in Table 1 .. There are two stages in the human tests. In each stage, the images are randomly presented to the testees, and the testees are asked to choose one age from a given range (0-69 for FG-NET and 16-77 for MORPH) for each image. The difference between the two stages is that in the first stage (HumanA), only the grayscale face regions (i.e., the color images are converted to the grayscale images, and the background of the images is removed) are shown, while in the second stage (HumanB), the whole color images are shown. Fig. 5 gives an example of the same face shown in the HumanA test and HumanB test, respectively. HumanA intends to test the age estimation ability purely based on the intensity of the face image, which is also the input to the algorithms, while HumanB intends to test the age estimation ability based on multiple traits including face, hair, skin color, clothes, background, and so on.. In both the HumanA and HumanB tests, each testee is required to label all the test samples, and the MAE of each testee is recorded. The minimum, maximum, and average MAEs of all the testees involved in each test are given in Table 1 . The average MAE can be regarded as a measurement of the human accuracy in age estimation. As can be seen, the testees perform remarkably better in the HumanB test than in the HumanA test, which indicates that the additional information (hair, skin color, clothes, background, etc.) provided in the HumanB test is helpful to improve the human accuracy in age estimation.

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


Using transparent compression to improve SSD-based I/O caches Flash-based solid state drives (SSDs) offer superior performance over hard disks for many workloads. A prominent use of SSDs in modern storage systems is to use these devices as a cache in the I/O path. In this work, we examine how transparent, online I/O compression can be used to increase the capacity of SSD-based caches, thus increasing the costeffectiveness of the system. We present FlaZ, an I/O system that operates at the block-level and is transparent to existing file-systems. To achieve transparent, online compression in the I/O path and maintain high performance, FlaZ provides support for variable-size blocks, mapping of logical to physical blocks, block allocation, and cleanup. FlaZ mitigates compression and decompression overheads that can have a significant impact on performance by leveraging modern multicore CPUs. We implement FlaZ in the Linux kernel and evaluate it on a commodity server with multicore CPUs, using TPC-H, PostMark, and SPECsfs. Our results show that compressed caching trades off CPU cycles for I/O performance and enhances SSD efficiency as a cache by up to 99%, 25%, and 11% for each workload, respectively. Performance of storage I/O is an important problem in modern systems. The emergence of flash-based solid state drives (SSDs) has the potential to mitigate I/O penalties: SSDs have low read response times and are not affected by seeks. Additionally, recent SSDs provide peak throughput that is significantly superior to magnetic hard disk drives (HDD). Although their capacity continues to increase, there is no indication that the current high cost per GB for SSDs [31] will soon approach that of magnetic disks. As a result, I/O hierarchies will include both HDDs and SSDs, and it is important to examine techniques that can increase SSD cost-efficiency.. One approach to achieve this is the use of multi-level cell (MLC) SSDs that store, e.g. two bits per NAND cell. Another approach, orthogonal to cell density, is to use transparent online data compression in the I/O path. Data compression [25] reduces the space required to store a piece of data, e.g., a file, block, or other data segment, by storing it in compressed form. The original data can then be reconstructed by decompressing the transformed piece of data.. Previously, compression has been mostly applied at the file-level [10, 11, 13] . Although this has the effect of reducing the space required for storing data, it also imposes a number of restrictions. Typically, file-level compression techniques are file-system and OS-specific, which limits where compression is applied in the I/O path. Moreover, file-systems are not usually aware of the properties of physical storage devices, e.g. in a RAID controller. Finally, dealing with compression at the file-level increases management complexity, given that today's storage systems employ multiple file-systems. These concerns can be addressed by moving compression functionality towards lower system layers, such as the block device layer.. In this work we design FlaZ, a system that uses SSDs as compressed caches in the I/O path. The address space of SSDs is not visible to applications. FlaZ caches data blocks on dedicated SSD partitions and transparently compresses and uncompresses data as they flow in the I/O path between main memory and SSDs. Data are stored on SSDs only in compressed form and are provided to the file-system in uncompressed form. FlaZ does not cache compressed or uncompressed data in DRAM. Although our approach can be extended to use the capacity of SSDs as storage rather than cache, more in the spirit of tiering, or to provide online compression over HDDs as well, we do not explore these directions further. Finally, our design allows for flexibility in placing compression functionality anywhere in the path between the file-system and the storage device, even over popular storage area network configurations. FlaZ can run both on a host CPU as well as inside a storage controller plugged in a Windows server. In this work we evaluate the Linux, host-based storage stack.. FlaZ internally consists of two layers, one that achieves transparent compression and one that uses SSDs as an I/O cache. Although these layers are to a large extent independent, in our work we tune their parameters in a combined manner. The caching layer of FlaZ is a direct-mapped, writethrough cache with one block per cache line, while the compression layer of FlaZ is more complex and requires addressing the following issues:. • Variable block size: Block-level compression needs to operate on fixed-size input blocks. However, compression generates variable size segments. Therefore, there is a need for per-block placement and size metadata.. • Logical to physical block mapping: Block-level compression imposes a many-to-one mapping from logical to physical blocks, as multiple compressed logical blocks are stored in the same physical block. This requires a translation mechanism that imposes low overhead in the common I/O path and scales with the capacity of the underlying devices, as well as a block allocation/deallocation mechanism that affects data layout.. • Increased number of I/Os: Using compression increases the number of I/Os required on the critical path during data writes: a write operation will typically require reading another block first, where the compressed data will be placed. This "read-before-write" issue is important for applications that are sensitive to the number or response time of I/Os. • Device aging: Aging of compressed SSDs results in fragmentation of data, which may make it harder to allocate new physical blocks and affects locality, making performance of the underlying devices less predictable.. Besides I/O related challenges, compression algorithms themselves introduce significant overheads as well. Although our goal in this work is not to examine alternative compression algorithms and possible optimizations, it is important to quantify their performance impact on the I/O path. Doing so over modern multicore CPUs offers insight about scaling down these overheads in future architectures as the number of cores increases. This understanding can guide further work in three directions: (i) Hiding compression overheads in case of large numbers of outstanding I/Os; (ii) Customizing future CPUs with accelerators for energy and performance purposes; and (iii) Offloading compression overheads from the host to storage controllers.. For our evaluation we use three realistic workloads: TPC-H, PostMark, and SPECsfs. Our results show that compression enhances SSD efficiency as an I/O cache by up to 99%, 25%, and 11% for each workload, respectively. This comes at increased CPU utilization, by up to 450%. We believe that trading CPU with I/O performance is in line with current technology trends for multicore systems [35] . Finally, compressed caching has a negative impact (up to 15%) on response-time bound workloads that use only small I/Os as well as on workloads that fit in the uncompressed cache almost entirely.. The rest of this paper is organized as follows. Section 2 discusses the design of FlaZ and how it addresses the associated challenges. Section 3 presents our evaluation methodology. Section 4 presents our experimental results. Section 5 discusses some fundamental considerations for our design. Section 6 discusses previous and related work. Finally, we draw our conclusions in Section 7. In this work we examine how transparent compression can increase the effectiveness of SSD caching in the I/O path. We present the design and implementation of FlaZ, a system that uses SSDs as a cache and compresses data as they flow between main memory and the cache. Compression is performed online, in the common path, and increases the effective cache size. Our work addresses a number of challenges related to dealing with variable size (compressed) blocks, logical to physical block mapping and allocation, compression and I/O overheads. We evaluate our approach using realistic workloads, TPC-H, PostMark, and SPECsfs, on a system with eight SATA-II disks and four SSDs.. We find that even modest increases in the amount of available SSD capacity improve I/O performance, for a variety of server workloads. Transparent block-level compression allows such improvements by increasing the effective SSD capacity, at the cost of increased CPU utilization. Overall, although compression at the block-level introduces significant complexity, our work shows that online data compression is a promising technique for improving the performance of I/O subsystems. There are five remaining considerations in the design of FlaZ: (a) the amount of DRAM required for metadata purposes; (b) how the cache remains persistent after a normal shutdown or system failure; (c) how the capacity of a compressed device whose size varies over time is presented to higher layers; (d) FTL and wear-leveling issues; and (e) power efficiency.

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


Multiprocessor speed scaling for jobs with arbitrary sizes and deadlines In this paper we study energy efficient deadline scheduling on multiprocessors in which the processors consumes power at a rate of $$s^\alpha $$ s ? when running at speed $$s$$ s , where $$\alpha \ge 2$$ ? ? 2 . The problem is to dispatch jobs to processors and determine the speed and jobs to run for each processor so as to complete all jobs by their deadlines using the minimum energy. The problem has been well studied for the single processor case. For the multiprocessor setting, constant competitive online algorithms for special cases of unit size jobs or arbitrary size jobs with agreeable deadlines have been proposed by Albers et al. (2007). A randomized algorithm has been proposed for jobs of arbitrary sizes and arbitrary deadlines by Greiner et al. (2009). We propose a deterministic online algorithm for the general setting and show that it is $$O(\log ^\alpha P)$$ O ( log ? P ) -competitive, where $$P$$ P is the ratio of the maximum and minimum job size. We consider energy efficient deadline scheduling for jobs with arbitrary sizes and deadlines in the multiprocessor setting. We analyze the performance of the deterministic algorithm DCRR and show that it is O(log α P )-competitive. On the other hand, the lower bound we obtain so far for DCRR is no more than a constant. In the proof of Theorem 2, the log P factor comes in the case K 1 , yet this bound is rather loose and we believe that it can be improved.. To improve the result, one may consider how DCRR can be coupled with OA instead of AVR to improve the results. Another open question is to consider speed bounded processors [18] , in which case, not all the jobs can be completed by their deadlines. The concern becomes to maximize the throughput (number of jobs completed by their deadlines) and to minimize the energy used to achieve this throughput. The problem has been considered in the single processor setting [10, 18] and a two processor system [28] . It would be interesting to derive algorithms that are competitive both in throughput and energy in the multiprocessor setting.

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


Techniques for fast simulation of models of highly dependable systems Abstract-With the ever-increasing complexity and requirements of highly dependable systems, their evaluation during design and operation is becoming more crucial. Realistic models of such systems are often not amenable to analysis using conventional analytic or numerical methods. Therefore, analysts and designers turn to simulation to evaluate these models. However, accurate estimation of dependability measures of these models requires that the simulation frequently observes system failures, which are rare events in highly dependable systems. This renders ordinary simulation impractical for evaluating such systems. Notation number of types of components number of components of type , number of operational components of type at time vector stochastic process state of the system at time stochastic process state space of subset of failure states in time to first system-failure probability under measure -expectation under measure variance under measure system unreliability at time indicator function of event convergence in distribution -normal distribution with mean , variance RE relative error of an estimator a sample path in the set of all of a stochastic process pdf of under measure likelihood ratio on .

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


Learning Bayesian Network Parameters Under Order Constraints We consider the problem of learning the parameters of a Bayesian network from data, while taking into account prior knowledge about the signs of influences between variables. Such prior knowledge can be readily obtained from domain experts. We show that this problem of parameter learning is a special case of isotonic regression and provide a simple algorithm for computing isotonic estimates. Our experimental results for a small Bayesian network in the medical domain show that taking prior knowledge about the signs of influences into account leads to an improved fit of the true distribution, especially when only a small sample of data is available. More importantly, however, the isotonic estimator provides parameter estimates that are consistent with the specified prior knowledge, thereby resulting in a network that is more likely to be accepted by experts in its domain of application. Bayesian networks by now are widely accepted as powerful tools for representing and reasoning with uncertainty in decision-support systems. A Bayesian network is a concise model of a joint probability distribution over a set of stochastic variables [1] ; it consists of a directed acyclic graph that captures the qualitative dependence structure of the distribution and a numerical part that specifies conditional probability distributions for each variable given its parents in the graph. Since a Bayesian network defines a unique distribution, it provides for computing any probability of interest over its variables.. For constructing a Bayesian network, often knowledge is acquired from experts in the domain of application. Experience shows that domain experts can quite easily and reliably specify the graphical structure of a network [2] , yet tend to have more problems in coming up with the probabilities for its numerical part [3] . If data from every-day problem solving in the domain are available therefore, one would like to use these data for estimating the probabilities that are required for the graphical structure to arrive at a fully specified network. Often, unfortunately, the available data sample is quite small, giving rise to inaccurate estimates. These inaccuracies may then lead to a reasoning behaviour of the resulting network that violates common domain knowledge, and the network will not easily be accepted by experts in the domain.. While domain experts often are found to have difficulties in coming up with probability assessments, evidence is building up that they feel more comfortable with providing qualitative knowledge about the probabilistic influences between the variables concerned [2, 4] . The qualitative knowledge provided by the experts, moreover, tends to be more robust than their numerical assessments. We demonstrate in this paper that expert knowledge about the signs of the influences between the variables in a Bayesian network can be used to improve the probability estimates obtained from small data samples. We show how these signs impose order constraints on the probabilities required for the network. We then show that the problem of estimating probabilities under these order constraints is a special case of isotonic regression. Building upon this property, we present an estimator that is guaranteed to produce probability estimates that reflect the qualitative knowledge that has been specified by the experts. The resulting network as a consequence is less likely to exhibit counterintuitive reasoning behaviour and is more likely to be accepted than a network with unconstrained estimates.. The paper is organised as follows. In the next section, we briefly review Bayesian networks and qualitative influences. In section 3, a small network in medicine is introduced; we show that this network may reveal highly counterintuitive reasoning behaviour when quantified with probability estimates from a small data sample that do not adhere to the specified domain knowledge. In section 4, we discuss isotonic regression and provide two algorithms for its computation; in section 5 then, we show that the problem of learning constrained network parameters is a special case of isotonic regression. We study the complexity of one of the algorithms in section 6. In section 7, we report on experiments that we performed on our small example network. In the final section, we draw a number of conclusions from our work and indicate interesting directions for further research.

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


An online model composition tool for system biology models Background: There are multiple representation formats for Systems Biology computational models, and the Systems Biology Markup Language (SBML) is one of the most widely used. SBML is used to capture, store, and distribute computational models by Systems Biology data sources (e.g., the BioModels Database) and researchers. Therefore, there is a need for all-in-one web-based solutions that support advance SBML functionalities such as uploading, editing, composing, visualizing, simulating, querying, and browsing computational models.We present the design and implementation of the Model Composition Tool (Interface) within the PathCase-SB (PathCase Systems Biology) web portal. The tool helps users compose systems biology models to facilitate the complex process of merging systems biology models. We also present three tools that support the model composition tool, namely, (1) Model Simulation Interface that generates a visual plot of the simulation according to user's input, (2) iModel Tool as a platform for users to upload their own models to compose, and (3) SimCom Tool that provides a side by side comparison of models being composed in the same pathway. Finally, we provide a web site that hosts BioModels Database models and a separate web site that hosts SBML Test Suite models. Conclusions: Model composition tool (and the other three tools) can be used with little or no knowledge of the SBML document structure. For this reason, students or anyone who wants to learn about systems biology will benefit from the described functionalities. SBML Test Suite models will be a nice starting point for beginners. And, for more advanced purposes, users will able to access and employ models of the BioModels Database as well. We plan the following extensions to the Model Composition Tool.. Approximate and score-based name matching techniques (via web services). The capability of matching (i) species, (ii) reactions, and (iii) compartments is essential during model comparisons prior to model composition. Currently supported exact name matching and MIRIAM annotation-based matching modules are useful, but have limitations. Exact name matching does not perform well, even though it is useful on SBML Test Suite models, as naming conventions differ among the authors of BioModels models. And, currently, only 16% of models in PathCase-SB database (which are originally from the BioModels Database) have MIRIAM annotations. Therefore, approximate name-matching techniques from computer science, specialized for life sciences, is a desirable alternative. Towards that end, we have developed general-purpose basic bio-entity matching techniques. We are going to complete a web service functionality for approximate name matching of species, reactions, and compartments, to be used within the model composition tool as an additional matching tool.. Enhancing the functionality of the model composition tool using the extensible architecture of PathCase-SB. We list four extensions. Support for multiple simulation engine use (via web services). The simulation engine (currently, RoadRunner) can easily be replaced by another simulation engine, so long as the new engine does provide a web service functionality. Support for larger network comparisons for larger models via web services. We are working on a web service functionality that compares networks or subnetworks (of models). Support for CellML parsing via web services. PathCase-SB is designed to support model composition for models designed in other formats, namely, CellML.. Improving the AutoMerge algorithm by optimizing various decisions it makes, such as, instead of giving the first model the priority, picking the entity with more information (e.g., annotation), and enabling the merge of units and parameters. In this section, we discuss empirical evaluations of the Simulation Interface and the Composition Interface separately with different test model inputs. Hardware configuration of Intel Xeon 2.27 GHz (2 CPU) installed with 6GB RAM PC is used during the experiments of this chapter. All experiments are conducted on a 64-bit Windows 7 OS with Mozilla Firefox 20. Systems biology researchers have built, over the years, a large number of computational biological models, and, these models are recently becoming available in webbased data repositories such as the BioModels Database [1] and CellML Model Repository [2] . These web-based data repositories store hundreds of computational models, and provide manual curations of some of the models submitted by researchers.. Systems Biology Markup Language (SBML) is a standard for exchanging and storing biological-biochemical models. The majority of SBML models published to date involve specific and, most of the time, small biological sub-networks of organisms. Nonetheless, creating more complete or larger models of biological networks and simulating their behavior on a wider biological network provides a better understanding of how networks interact with each other. With the increasing number of models being published, there is a need to (1) compose larger models out of the existing models, and (2) simulate them on the spot, and on the web, if possible.. Randhawa, R et al. [3] proposed windows-based modeling tools to develop new models from the combination of multiple models. They define three different operators to combine SBML models, namely, Fusion, Composition, Aggregation and Flattening [4] . Partial implementations of these approaches can be found at JigCell's web site [5] .. Other groups proposed different composition tools such as SBMLmerge [6] , sematicsSBML [7] , and plugins for CellDesigner [8] for SBML Levels 1 and 2. The online version of semanticSBML, the successor of SBMLmerge, allows users to combine biochemical networks with identical species and/or reactions. Although the current version has limited functionality, it provides unique features to set and edit annotations of the models during the merging process. Furthermore, the plugins for CellDesigner provides a user friendly graphical interface for model composition. However, CellDesigner is not web-based.. More recently, SBML Level 3 core was released with new specifications to enable users to perform hierarchical composition and exchange of SBML models [9] . To compose and analyze SBML models defined with different SBML packages, there is a need for an integrated webbased environment and multiple tools, which provide:. Advanced editing capabilities to redefine model elements, Simulation (ODE solvers) to quantify biochemical and physical processes, Visualization capabilities to identify metabolic network characteristics, and Selection of different computational models from a repository database.. Towards fulfilling the above-mentioned needs, we have developed an all-in-one web interface to compose new models from models defined in SBML format as a tool within PathCase-SB [10, 11] . For the PathCase-SB Composition Interface, we use an approach similar to Fusion, and employ no additional non-standard SBML syntax in the combined model. In particular, the composed model contains all information of the submodels used in the composition process without any redundancies, although the information related to the relationship between elements of the composed model and the submodel is lost. When two models are combined, the simulation interface is available to simulate the composed model without any additional steps. As the composed model follows standard SBML specifications, visualization interface works on the composed model on the fly. The visualization tool uses yFiles library, which returns the layout to be drawn [12] . Details of the visualization interface have been described in Elliott et al. [13] and in Coskun et al. [11] .. Since the Fusion approach is not reversible, our composition interface provides simulation, visualization, and SBML output of models being combined to help the modeler during the composition step. A semi-automatic matching algorithm (AutoMerge) for name overlapping in the models is used to combine the models. AutoMerge applies a MIRIAM annotation-based [14] and exact name matching-based algorithm to merge SBML elements and prevent SBML element duplication.. We have released two versions of the web site. The first one [15] hosts BioModels Database models, and the second one [16] hosts SBML Test Suite models. While the former one provides a system where advanced users can merge complex models published in the BioModels Database, the latter one provides basic models for beginners to practice and learn the composition process, or for any researcher who wants to understand the specifics of the composition algorithm.. The new features of the proposed Model Composition Tool are:. All-in-one hierarchical model composition capability and details of how it works.. ○ Describing how each process (merging and simulation, iteratively) is done, and ○ Giving specific examples at the very end that show how the model composition tool works. Evaluation of the tool via models from both the BioModels Database (as uploaded into PathCase-SB database) and the SBML Test Suite. MIRIAM annotation-based and exact name-based species/reaction/compartment matching modules. Discussion of the architectural advantages of PathCase-SB as applied to the Model Composition Interface in terms of support for multiple simulation engine use. The simulation engine (currently, RoadRunner) can easily be replaced by another simulation engine, so long as the new engine does provide a web service functionality. Comparison of our model composition approach with other systems, and discussing our design decisions. Introduction of our clone web-site which only hosts SBML Test Suite models. We believe that this site may have educational use, and may allow researchers to experiment with the model merging component. In this section we describe the details of the model composition interface, the merge algorithm and the model simulation interface.

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


Biglobal Stability Analysis of Steady Flow in Constricted Channel Geometries In this paper we apply a BiGlobal stability analysis technique to measure the stability of two-dimensional constricted channel flows to three-dimensional perturbations. Critical Reynolds numbers and spanwise perturbation wavelengths are presented for three instabilities of steady flow in constricted channels. The flow through a constricted channel is an interesting fluid mechanical problem that has seen renewed interest in the past few decades due to attempts to model the flow in simplified arterial geometries. The numerical solution of the flows in these geometries is not easy, however. The high local velocities at the constriction and the need for a fine discretisation results in a greatly reduced time-step when considering the CFL stability restriction associated with an explicit treatment of the advection operator. The resulting high computational time can make a thorough investigation of the many parameters involved such as geometry, inflow waveform and Reynolds number, prohibitively expensive.. A BiGlobal stability analysis [1] can alternatively be employed to study the laminar instabilities and transitions occurring within the constriction. Unlike classical stability analysis where a one-dimensional base flow is considered and the other two spatial directions are harmonically expanded, in the BiGlobal stability analysis both the basic state and the amplitude functions of small-amplitude disturbances superimposed upon the basic state are non-periodic two-dimensional functions; the third spatial direction is considered homogeneous and expanded Figure 1 . Geometry of 60% occluded channel stenosis model. harmonically in Fourier wave numbers p\ The method is thus suited to investigation of the stability of flows with homogeneity of geometry in one dimensión, for example channel, cylinder or axisymmetric geometries.. It should be noted that in some cases (e.g. the flow in a straight pipe) a linearized eigenvalue analysis such as this would predict the flow to be unconditionally stable at all Re. Under these circumstances the sensitivity of the flow to non-modal finite perturbations can be evaluated by using a psuedo-spectral technique [2] .. In this paper, the geometry we consider is a plañe channel geometry, infinite in the zdirection, with a prescribed contraction and subsequent re-expansion in the j-direction, shown with length scales marked in Figure 1 . We consider a steady inflow. Below a Reynolds number of approximately 125, flow in the symmetric 60% constricted channel has a unique solution; it is symmetric and two-dimensional. Above this critical valué of Re a primary instability occurs: a pitchfork bifurcation resulting in one of two stable asymmetric flows [3] . This instability, biasing the shear layers shed from the constriction throat to one side, can be attributed to the Coanda effect. If the Re of the two-dimensional asymmetric base flow is then further increased then a second critical Reynolds number is reached; a secondary instability occurs that results in three-dimensionality of the flow.. In this paper we first present a brief introduction to the numerical method involved in this BiGlobal stability analysis. We then demónstrate how the stability of these primary and secondary base flows is affected by Re and p\ Finally we show how the onset of threedimensionality is affected by the introduction of asymmetry into the channel geometry. These results are determined in terms of the valué of the dominant eigenvalue (indicating the instability modal growth rate) as curves of neutral stability in the parameter space (fi,Re). We have successfully isolated the critical Reynolds numbers and spanwise wave numbers for three linear instabilities of steady constricted channel flows, and shown the effect of constriction asymmetry to be destabilising. In addition, the calculations furnish us with full details of the instability modes arising.

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