Parametric POMDPs for planning in continuous state spaces Abstract This work addresses the problem of decision-making under uncertainty for robot navigation. Since robot navigation is most naturally represented in a continuous domain, the problem is cast as a continuous-state POMDP. Probability distributions over state space, or beliefs, are represented in parametric form using low-dimensional vectors of sufficient statistics. The belief space, over which the value function must be estimated, has dimensionality equal to the number of sufficient statistics. Compared to methods based on discretising the state space, this work trades the loss of the belief space’s convexity for a reduction in its dimensionality and an efficient closed-form solution for belief updates. Fitted value iteration is used to solve the POMDP. The approach is empirically compared to a discrete POMDP solution method on a simulated continuous navigation problem. We show that, for a suitable environment and parametric form, the proposed method is capable of scaling to large state-spaces. This thesis is concerned with the problem of planning and acting in uncertain, partially observable, continuous domains. In particular, it focusses on the task of planning and acting for mobile robot navigation when a map of the environment is available. Robot navigation problems are particularly challenging for planners because they are inherently continuous, uncertain, and non-linear. However, the ability to make good plans despite these conditions is fundamental to an autonomous mobile robot's ability to navigate reliably in real-world environments.. Classical Artificial Intelligence (AI) planning assumes that environments are fully-observable, deterministic, finite, static, and discrete [95]. The first major planning system for such environments was STRIPS [39] , which represented the state of the environment with a set of symbols. A set of actions were posited, each of which had a set of pre-conditions and a set of deterministic effects on the symbolic state of the world. Given a start state, the definitions of actions, and a goal state, a STRIPS-style planner could autonomously map out a fixed sequence of actions which would lead to that goal. To account for un-predictability in the world, the MDP model requires that the effects of agents' actions can be described by stationary probability distributions. That is, from any given state and for any given action, an MDP specifies a probability distribution over subsequent states. MDP solution algorithms have solved many challenging problems, particularly for board games such as backgammon [106] . Translating this success to real-world problems can be problematic however, because the MDP formulation assumes that the agent has perfect knowledge of the state. A more realistic formulation assumes only partial observability.

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


Cooperative recurrent modular neural networks for constrained optimization: a survey of models and applications Abstract Constrained optimization problems arise in a wide variety of scientific and engineering applications. Since several single recurrent neural networks when applied to solve constrained optimization problems for real-time engineering applications have shown some limitations, cooperative recurrent neural network approaches have been developed to overcome drawbacks of these single recurrent neural networks. This paper surveys in details work on cooperative recurrent neural networks for solving constrained optimization problems and their engineering applications, and points out their standing models from viewpoint of both convergence to the optimal solution and model complexity. We provide examples and comparisons to shown advantages of these models in the given applications. Over the past several decades, many single neural networks have made significant advancement since the pioneering work of McCulloch and Pitts (1943) . They are well established and mainly applied in classification, regression approximation, associative memory, combinatoric optimization, and component analysis fields. Typical examples of these single neural networks are the Hopfield neural network (Hopfield 1982) , the multilayer perceptron (Rumerharlt et al. 1986) , the radial basis function network (Broomhead and Lowe 1988) , the Self-organization neural network (Kohonen 1989) , the multilayer feedforward neural network (Hornik et al. 1989) , and the minor component neural network (Oja 1992) . However, many real-world problems are so large and complex that it is not effective for such an individual neural network to solve (Smith 1999) . In order to enhance the effectiveness of the individual neural network, modular neural network approaches (Anzai and Shimada 1988) and neural network ensembles (Hansen and Salamon 1990) have been introduced. The neural network ensemble consisting of multiple neural network models attempts to improve generalization performance of these single neural networks. The modular neural network can increase the computational efficiency of solving large size/ high complex problems, by decomposing it into several subproblems with small sizes and each is handled by an efficient neural network model. But, how to divide a problem into subproblems and how to assign a neural network model to learn the subproblems are often difficult for the combination of these submodel outputs to form the global optimal solution (Jacobs et al. 1991; Anand et al. 1995; Copeland 1995; Kecman 1996; Kehagias and Petridis 1997; Kadirkamanathan and Fabri 1998; Yamaguchi and Itakura 1999; Hashem 1997; Sierra and Cruz 1998; Caelli et al. 1999) . To overcome these drawbacks, cooperative modular neural network approaches were proposed (Auda and Kamel 1997a) . Different from neural network ensembles and modular neural network approaches, cooperative modular neural networks can decompose automatically and combines adaptively individual neural network models so that a global optimal solution of the original problem can be obtained. Reported results show that the cooperative modular neural networks can be well applied to classification and pattern recognition (Auda and Kamel 1997a , b, 1998a , b, 1999 Zhang 2000; Lu and Ito 1999; Yang and Browne 2001; Oh and Suen 2002; Melin et al. 2005; Fogelman-Soulie 1993; Hodge et al. 1999; Kamel 1999; Alexandre et al. 2001; Ozawa 1998; Islam et al. 2003) . Specially, in recent decade, as special one class of cooperative modular neural networks, cooperative recurrent modular neural networks for constrained optimization have been developed and well studied (Rodríguez-Vázquez et al. 1990; Glazos et al. 1998; Zhang and Constantinides 1992; He and Sun 2001; Tao and Fang 2000; Xia and Wang 1995 , b, 2001 , b, 2005 Xia 1996a Xia , b, 1997 Xia , 2003 Xia , 2004 Xia et al. 2002a Xia et al. , b, 2004a Xia et al. , b, 2005 Xia et al. , 2007 Wang et al. 2000; Tan et al. 2000; Anguita and Boni 2002; Zhang et al. 2003; Feng 2004, 2006; Kamel 2007a, b, c, d, 2008; Tao et al. 2001; Leung et al. 2001) .. Constrained optimization deals with the problem of optimizing an objective function over a set of variables. Usually, the set consists of equality and inequality constraints. If all the functions are linear, this problem is a linear program. Otherwise, it is called a nonlinear program. Many scientific and engineering problems, such as signal and image processing, regression mining, system identification, and robot control, can be solved by transforming the original problem into a constrained optimization problem. Conventional numerical methods for static constrained convex optimization, such as the interior-point method (Nesterov and Nemirovsky 1994) , the projection type method (Solodov and Tseng 1996) , the sequential quadratic programming method (Fukushima et al. 2003) , have been studied for over a few decade. The computing time required, to obtain a solution and its accuracy, is usually dependent of the dimension and structure of the static problems to be solved. As the problem dimensions increase, the efficiency of these numerical methods will decrease, specially to these where the objective function is non-smooth. Moreover, in many practical applications, related constrained optimization problems often include a time-varying parameter (Cichocki and Unbehauen 1993) . One example of such applications is the real-time signal processing in wireless communications. Another example of such applications is the real-time optimal robot control. For such applications, conventional numerical methods may not be adequate due to the problem complexity and stringent requirement on the computational time. In addition, conventional numerical methods require sometimes so strong conditions for their global convergence that practice problems does not satisfy.. Having the structures similar to their biological counterparts, artificial neural networks are representational and computational models processing information in a parallel distributed fashion (Hopfield 1982) . Tank and Hopfield (1986) first developed a single recurrent neural network linear programming in real time. Their seminal work has inspired many researchers to investigate improved neural networks for on-line optimization. Kennedy and Chua (Kennedy and Chua 1988) proposed a single recurrent neural network for solving nonlinear programming problems by extending the Tank and Hopfield network model. Urahama (1996) proposed a single recurrent neural network, called the gradient projection network, for linearly constrained nonlinear programming. Although these single neural network models are of small size, they can't obtain the global optimal solution due to using penalty parameters. To overcome this drawback, cooperative recurrent neural network approaches to constrained optimization have been developed. Theoretically, it was shown that under weaker condition than the conventional numerical methods, the cooperative recurrent neural networks can converge globally to the global optimal solution (Xia et al. 2007 ). Moreover, they are successfully applied to classification, signal and image processing, system identification, and robot control (Wang et al. 2000; Tan et al. 2000; Anguita and Boni 2002; Wang 2001, 2004; Zhang et al. 2003; Xia and Feng 2004; Xia et al. 2002b Xia et al. , 2007 Xia and Feng 2006; Kamel 2007a, b, c, d, 2008) .. This paper aims to survey the standing and potential applications of current cooperative recurrent neural networks for constrained optimization in a recent decade of research. We first review briefly modular neural networks and cooperative modular neural networks, and we then survey in details the important advances in cooperative recurrent neural networks for constrained optimization and their applications, and point out their standing from computational and application viewpoint. This paper reviews briefly the advantages of the cooperative modular neural networks over single recurrent neural networks and modular neural networks, and then surveys current work on cooperative recurrent neural network for constrained optimization problems, their standing models, and their engineering applications from computation and application viewpoints. Despite the good performance of these standing models, there are some important issues that require further investigation. The following several recommendations are given for future research. Cooperative recurrent neural networks for constrained optimization were shown to have a fast convergence under general regular conditions. But it may have slower convergence rate under relatively weaker conditions. Moreover, cooperative recurrent neural networks for solving constrained nonsmooth optimization problems have often a slower convergence. Thus, investigating ways to speed the convergence of these recurrent neural networks would be significant.. Cooperative recurrent neural networks for constrained optimization were shown to reach a global optimal solution. Many scientific and engineering problems, such as signal and image processing, regression mining, system identification, and robot control, can be solved by transforming the original problem into a constrained optimization problem. However, some real-world problems are so complex that their models are unknown or uncertain. How to design a cooperative modular neural network which can obtain a global optimal solution of such complex problems needs be studied.. Continuous-time cooperative recurrent neural networks for nonlinear programming can be easily performed by using well known ODE software in MATLAB. Moreover, these continuous-time cooperative recurrent neural networks can lead to discrete-time cooperative recurrent neural networks. Thus, it would be useful for digital implementation to give a fixed step size in these discretetime cooperative recurrent neural networks.

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


A study of variable selection using g-prior distribution with ridge parameter In the Bayesian stochastic search variable selection framework, a common prior distribution for the regression coefficients is the g-prior of Zellner [1986]. However, there are two standard cases in which the associated covariance matrix does not exist, and the conventional prior of Zellner can not be used: if the number of observations is lower than the number of variables (large p and small n paradigm), or if some variables are linear combinations of others. In such situations a prior distribution derived from the prior of Zellner can be used, by introducing a ridge parameter. This prior introduced by Gupta and Ibrahim [2007] is a flexible and simple adaptation of the g-prior. In this paper we study the influence of the ridge parameter on the selection of variables. A simple way to choose the associated hyperparameters is proposed. The method is valid for any generalized linear mixed model and we focus on the case of probit mixed models when some variables are linear combinations of others. The method is applied to both simulated and real datasets obtained from Affymetrix microarray experiments. Results are compared to those obtained with the Bayesian Lasso. We consider the problem of Bayesian variable selection in a generalized linear mixed model with Y a n-vector of responses, given a set of p potential fixed regressors. where g stands for the link function associated to the model, and X i and Z i for the fixed and random effect regressors associated to the ith observation. The parameter β ∈ R p corresponds to the fixed-effect coefficients and the parameter U to the random-effect coefficients. X and Z are known design matrices associated with the fixed and random effects. We consider K random effects, U = (U T 1 , · · · , U T K ) T where each U l is a vector of size q l , and K l=1 q l = q. In a stochastic search variable selection (SSVS) framework, it is convenient to denote by γ the vector of latent variables indicating if a variable is selected or not; that is, γ j = 1 if β j = 0 and γ j = 0 if β j = 0. We then denote by β γ the vector of all non-zero elements of β and by X γ the design matrix with columns corresponding to the elements of γ that are equal to 1. To complete the model, a conventional prior distribution for β γ |γ is a d γ -dimensional Gaussian distribution, with d γ = p j=1 γ j , β γ |γ ∼ N dγ (0, Σ γ ).. Concerning the prior covariance matrix Σ γ , an attractive and standard choice is. Equations (1) and (2) correspond to the g-prior distribution, proposed by Zellner [1986] in the case of standard linear models. This prior replicates the covariance structure of the design and enables an automatic scaling based on the data. Up to the scalar τ , the prior covariance matrix is related to the Fisher Information Matrix in the linear model [see for instance Chen and Ibrahim, 2003] . Moreover, it leads to simple expressions of the marginal likelihood, and as pointed out in George and Foster [2000] , the marginal likelihood becomes a function of both R-square and the number of covariates like in AIC or BIC criteria. The parameter τ > 0 is referred to as the variable selection coefficient in Bottolo and Richardson [2010] . In the homoscedastic linear model with variance σ 2 , this parameter can be expressed as τ = gσ 2 . Therefore this prior has been used by many authors in the case of linear models, but also for generalized linear models (see Sabanés Bové and Held [2011] ). In case of a binary response variable, this prior is frequently encountered in probit models which are quite practical in a Bayesian setting [see Lee et al., 2003 , Sha et al., 2004 , Zhou et al., 2004 , Yang and Song, 2010 . The choice of the variable selection coefficient τ can have a great influence on the variable selection process [see George and Foster, 2000] and has been considered by many authors. Some of them considered a fixed value for τ . For instance Smith and Kohn [1997] suggested to choose τ between 10 and 100. Another approach is the approach of George and Foster [2000] , who developed empirical Bayes methods based on the estimation of τ from its marginal likelihood. Other authors proposed to put a hyper-prior distribution on τ , like Zellner and Siow [1980] that used an inverse-gamma distribution IG(1/2, n/2). But under the Zellner-Siow prior, marginal likelihoods are not available in closed forms, and approximations are necessary [see Bottolo and Richardson, 2010] .. Note also that the Zellner-Siow prior can be seen as a mixture of g-priors. Following this remark, Liang et al. [2008] proposed a new family of priors on τ , the hyper-g prior family which leads to new mixtures of g-priors: the marginal likelihoods are then in closed forms, but not in a practical way because hypergeometric functions are used. Independently but in the same spirit, Cui and George [2008] suggested to put an inverse-gamma prior distribution on (1 + τ ) (rather than on τ like Zellner and Siow), obtaining a family of priors on τ which contains the hyper-g prior family as a special case. Bottolo and Richardson [2010] used a similar prior. In the linear regression framework, Celeux et al. [2006] and Marin and Robert [2007] suggested an improper discrete prior on τ . But this prior is difficult to use in practice because it induces an infinite sum. As a consequence, Celeux et al. [2011] proposed a Jeffrey prior continuous on τ , and Guo and Speckman [2009] showed the consistence of associated Bayes factors.. In spite of the variety of all these works to choose the variable selection coefficient τ , a crucial problem remains with priors using the matrix (X T γ X γ ) −1 . Indeed, X T γ X γ should be invertible. However, there are two standard cases where X T γ X γ is singular: • If the number of observations is lower than the number of variables in the model, n < d γ .. • If some variables are linear combinations of others. In practice, even if X T γ X γ is theoretically invertible, some variables can be highly correlated and X T γ X γ can be computationally singular. It is often the case in genomic high-dimensional datasets for example. This problem can also be encountered when several datasets are merged: some variables can be collinear or almost collinear if same variables were present into several datasets under different labels for instance.. In these cases the classical g-prior does not work. Concerning the first case, several authors proposed alternative priors. Maruyama and George [2011] proposed a generalization of the gprior, working with a singular value decomposition of the design matrix X. But their approach is valid only in case of classical linear models. Yang and Song [2010] proposed to replace the matrix (X T γ X γ ) −1 in Σ γ by its Moore Penrose's inverse (see alsoWest [2003] ). However, the computation of the posterior distribution has a technical issue that do not permit the use of MCMC algorithm (see Baragatti and Pommeret [2011] ). Another idea would be to avoid this first case by fixing the number of selected covariates at each iteration, as in Baragatti [2011] . It appeared computationally advantageous and it reduced the effect of the variable selection coefficient τ used in the g-prior. But the number of selected variables at each iteration must be arbitrarily fixed. Moreover, fixing the number of selected covariates is not a solution for the second case, as well as the priors proposed by Maruyama and George [2011] and Yang and Song [2010] . In a spirit of ridge regression (see Marquardt [1970] ), Gupta and Ibrahim [2007] proposed an extension of the g-prior, by introducing a ridge parameter. Their prior can be used in the two cases, but they did not study the second case in which some variables are linear combinations of others. Recently Kwon et al. [2011] proposed a variable selection method which take into account high correlations between predictors, but again their approach is not valid when some variables are linear combinations of others. More generally, to our knowledge the problem of variable selection when some variables are linear combinations of others is not present in literature.. In this paper we develop the idea of Gupta and Ibrahim [2007] concerning the introduction of a ridge parameter, and we study the influence of this parameter on the selection of variables. Besides, we suggest a way to choose the associated hyper-parameters: following the original idea of Zellner [1986] which is to keep the covariance structure of the design, we propose to keep the total variance of the data through the trace of X T X. We focused on probit models, as studied in Baragatti [2011], Yang and Song [2010] and Lee et al. [2003] . The aim is to study the behavior of the variable selection process while using the proposed prior, especially when some variables are linear combinations of others. The approach developed is applied both to simulation data, and to data obtained from Affymetrix microarray experiments. We compare the numerical results with those obtained by a Bayesian Lasso approach (see Park and Casella [2008] and Hans [2009] for a recent review) in the context of probit mixed models. This paper is organized as follows. In Section 2 the extension of the prior to be used for β γ is introduced and a choice for the hyper-parameters is suggested. The Section 3 outlines the priors, full conditional distributions and the sampler to be used in case of a probit mixed model, for both the SSVS approach and a Bayesian Lasso approach. In Section 4 experimental results are given and a sensitivity analysis is performed. Finally Section 5 discusses the method.. 2 Introducing a ridge parameter 2.1 Prior distribution of β with a ridge parameter As previously explained, in the case of singularity of the matrix X T γ X γ , the classical g-prior can not be used. Gupta and Ibrahim [2007] proposed to use a ridge parameter, denoted λ > 0, by replacing in (2) the matrix τ −1 X T γ X γ by τ −1 X T γ X γ + λI . Imitating Gupta and Ibrahim [2007] we write. and we consider the prior. Since λ is strictly positive, the matrix Σ γ (λ) is always of full rank and (4) can be viewed as a modified form of the g-prior, which is a compromise between independence and instability. Indeed, for large values of λ and τ , Σ γ (λ) is close to a diagonal matrix that coincides with the conditional independent case. On the opposite, for small values of λ and τ , the term τ −1 X T γ X γ prevails and the inverse of τ −1 X T γ X γ + λI will be instable if X T γ X γ is singular. In that case, the prior distribution (4) is close to the g-prior case. Classical stochastic search variable selection methods often propose the use of the g-prior of Zellner. This prior can not be used if p > n, or if some variables are linear combinations of others. In particular, this last case can occur when several datasets with common covariates are merged. The prior for β γ studied in this manuscript is a possible alternative, and is a reparametrization of the prior of Gupta and Ibrahim [2007] where τ and λ can be chosen independently. In this case the parameter τ does not influence the coefficient of the identity matrix. Using this prior, a way to jointly choose τ and λ was suggested and the results obtained on simulated data and on a real dataset were good and stable, whether some variables were linear combinations of others or not. Moreover, when τ and λ were chosen independently, the proposed method proved to be robust to the choices of these hyper-parameters, as shown in the sensitivity analysis.. In practice, even if X T γ X γ is theoretically invertible, some variables can be highly correlated and X T γ X γ can be computationally singular. Moreover, we do not necessarily know if some variables are linear combinations of others and to avoid a computational problem we suggest in any cases to use the prior and the algorithm proposed in this paper. Once a final selection of variables benoted by γ+ is obtained by our algorithm, the rank of the matrix with all the variables finally selected, denoted by X γ+ , should be computed. If this matrix is not of full rank, we can take a submatrix of X γ+ of full rank as a new data matrix. Note that it is easier to take linearly independent columns of X γ+ , than linearly independent columns of X, especially if p is quite large.. We compared the results of the proposed SSVS method using a prior with a ridge parameter, with results obtained from the competing approach of the Bayesian Lasso. This last approach can also be used when some variables are linear combinations of others or if p > n. Moreover, its implementation is quite easy, and does not necessitate Metropolis-Hastings steps. Compared to the SSVS method proposed in 3.2, an iteration is then less computing demanding. However, the Bayesian Lasso approach seems less practical than the SSVS approach. Indeed, in formula (16) it is X which is used and not a submatrix X γ like in the SSVS approach. The computing time to multiply or to invert matrices is then higher, and it could become an issue if p is very large. Besides, on the previous simulation and example, it appeared than more iterations are needed by the Bayesian Lasso compared to the SSVS approach (20000 vs 5000). Concerning the results, it appeared that the runs of the Bayesian Lasso were less stable than those of the SSVS approach, and that more "noise" was observed, since several non or less relevant variables were selected in only one of the ten runs. It is important to note that we adapted a simple Bayesian Lasso approach to probit mixed models, but many extensions of the classical Lasso exist and can be adapted in Bayesian approaches, like the fused Lasso (Tibshirani et al. [2005] ), the group Lasso (Yuan and Lin [2006] ) or the Elastic Net (Zou and Hastie [2005] ) for instance. Recently, Kyung et al. [2010] showed how to adapt this extensions in Bayesian approaches, and it could be interesting to compare them to the SSVS approach.. Several extensions of the proposed SSVS method using a prior with a ridge parameter can be done in the future. First, in classical cases using the g-prior, many authors suggested to put prior distributions on τ , see Section 1. Following them, an idea could be to put prior distributions on the hyper-parameters τ and λ. However, these authors often used Bayes Factors [see for instance Celeux et al., 2006] and not a latent γ vector as done in this paper. They were then more in the spirit of model selection than in the spirit of variable selection. Finally, it would be interesting to have a non-supervised criterion to decide which variables should be in the final selection of a run. We suggested to represent the vector of the numbers of iterations during which variables have been selected by a boxplot, and to use a treshold to decide which variables should be in the final selection. However, we could develop a more formal criterion.

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


Finding Rule Groups to Classify High Dimensional Gene Expression Datasets Abstract Mining gene expression datasets has generated interest among many bioinformatics researchers. One of the important trends in bioinformatics is identification of genes or groups of gene to differentiate diseased tissues from normal tissues. Classification of tissues into cancerous and normal tissues using the identified genes, is one of the key problems being faced in bioinformatics. Gene expression data is usually represented as a matrix; each element in the matrix represents an appearance level of a particular gene under a particular condition.. We assume that a gene expression matrix has n rows and m columns. The rows represent samples that are divided into different classes such as cancerous tissue and normal tissue. The columns represent genes whose number is usually more than several thousands. The number of rows is much lower than that of columns as the sample used ranges from ten to several hundreds. To cope with this kind of extremely high dimensional data, traditional machine learning techniques such as decision tree and support virtual machine, can not classify effectively as they use heuristics to select significant dimensions (genes); many discriminative dimensions can be left out.. In this paper, we propose a classification method that generates rule groups to categorize samples. A rule is a conjunction of several dimensions (genes); each gene is constrained into one interval. For example,. 3) is one such rule. If a sample satisfies the conjunction of a rule, it will be covered by the rule. The above rule covers samples whose expression values of gene1 are larger than 120. 5 and expression values of gene2 are smaller than or equal to 20.3. In contrast to traditional machine learning algorithms that use heuristics our method guarantees finding out best-k genes, which are most discriminative to classify samples in different classes, to form rule groups. The value of parameter k is set to around 5. It is based on the fact that each rule should not be too long from the principle of Occam's razor [4] ; otherwise, the problem of overfitting arises [5] . In this paper, we propose a robust algorithm to find out rule groups that describe a specific class in high dimensional gene expression datasets. Our algorithm enumerates all possible combinations of dimensions. By introducing pruning power and constraint of the number of items, the procedures can be executed efficiently in any personal computer. The algorithm guarantees finding out best-k rules for a specific class data; the predictive accuracy is found to be better than that of the state of art methods. Future research may involve clarifying the properties of constant k in "bestk rules", and searching for a more systematic method of determining the constant k. Our algorithm enumerates all possible combinations of items to find rule group to describe a specific class. Like most rule generation algorithms, the gene expression data is discretized to symbols. The dimensionality of gene expression data is usually very high; low discriminative genes are removed in the preprocessor of our algorithm. To find the rule group to describe a specific class, the support and confidence are decided similar to Aprior-like algorithm. For a rule r: LHS C. support(r) = support(LHS ∪ C); confidence(r) = support(r)/support(LHS). In Figure 2 , we set the support threshold = 1; confidence threshold = 100%, which is the strictest condition. In real datasets, we usually set loose thresholds for support and confidence. In our experiments, we set the threshold of support as five percent of the total number of samples, the threshold of confidence is set to one hundred percent. Support and confidence are two parameters of the algorithm. The maximum number of items in the condition of a rule, is another important parameter. As mentioned earlier, the number of items can not be large to reflect the common character of a specific class,. In our experiment, the largest number of items of condition is set to four.. To enumerate all possible items, the concept of candidate group [2] is employed. Each candidate group consists of two parts, namely, Head and Tail. Head is denoted as h(g) and Tail is denoted as t(g), where g represents a candidate group. The set enumeration tree [6] is used to generate all possible items.. The Head of root candidate group is empty and its Tail consists of all items as shown in Figure 4 . The branch candidate groups are grown by moving the items from Tail to Head one by one. All the leaf candidate groups have empty Tail. The Heads in all leaf candidate groups are all possible items: {d 1 }, {d 2 }, {d 3

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


Homogenization of a space frame as a thick plate: Application of the Bending-Gradient theory to a beam lattice The Bending-Gradient theory for thick plates is the extension to heterogeneous plates of Reissner-Mindlin theory originally designed for homogeneous plates. In this paper the Bending-Gradient theory is extended to in-plane periodic structures made of connected beams (space frames) which can be considered macroscopically as a plate. Its application to a square beam lattice reveals that classical Reissner-Mindlin theory cannot properly model such microstructures. Comparisons with exact solutions show that only the BendingGradient theory captures second order effects in both deflection and local stress fields. The classical theory of plates, known also as Kirchhoff-Love plate theory is based on the assumption that the normal to the mid-plane of the plate remains normal after transformation. This theory is also the first order of the asymptotic expansion with respect to the thickness [1] . Thus, it presents a good theoretical justification and was soundly extended to the case of periodic plates [2] . It enables to have a first order estimate of the macroscopic deflection as well as local stress fields. In most applications the first order deflection is accurate enough. However, this theory does not capture the local effect of shear forces on the microstructure because shear forces are one higher-order derivative of the bending moment in equilibrium equations (Q α = M αβ,β ).. Because shear forces are part of the macroscopic equilibrium of the plate, their effect is also of great interest for engineers when designing structures. However, modeling properly the action of shear forces is still a controversial issue. Reissner [3] suggested a model for homogeneous plates based on a parabolic distribution of transverse shear stress through the thickness (Reissner-Mindlin theory) . This model performs well for homogeneous plates and gives more natural boundary conditions than those of Kirchhoff-Love theory. Thus, it is appreciated by engineers and broadly used in applied mechanics. However, the direct extension of this model to more complex microstructures raised many difficulties. Many suggestions were made for laminated plates [4, 5, 6, 7, 8, 9] as well as in-plane periodic plates [10, 11] , leading to more complex models.. Revisiting the approach from Reissner [3] directly with laminated plates, Lebée and Sab [12, 13] showed that the transverse shear static variables which come out when the plate is heterogeneous are not shear forces Q α but the full gradient of the bending moment R αβγ = M αβ,γ . Using conventional variational tools, they derived a new plate theory -called Bending-Gradient theory -which is actually turned into Reissner-Mindlin theory when the plate is homogeneous. This new plate theory is seen by the authors as an extension of Reissner's theory to heterogeneous plates which preserves most of its simplicity. Originally designed for laminated plates, it was also extended to in-plane periodic plates using averaging considerations such as Hill-Mandel principle and successfully applied to sandwich panels [14, 15] .. In order to give a more comprehensive illustration of the features of this new theory, we extend its homogenization scheme to space frames (Section 2). Space frames are large roofings made of many identical unit-cells. Numerous illustration are given in Buckminster Fuller's achievements. In this work, a space frame is a unit-cell made of connected beams periodically reproduced in a plane and which "from far" can be considered as a plate. Many devices fall into this category: space trusses [16, 17, 18, 19] , tensegrity, nexorade [20] , gridshells [21] , lattices, expanded metal, gratings, etc.. Let's point out that very few methods exist in the literature for deriving a thick plate macroscopic model when the microstructure is made of structural elements. Clearly, theories for laminates are not suitable for the present microstructure and we need an approach which takes into account the periodicity of the plate. There is also a large literature dedicated to the homogenization of beam lattices (also referred as discrete medias [22, 23] ). However, these approaches lead only to 3D or in-plane macroscopic models. Finally, the work from Lewiski [10] and Cecchi and Sab [11] suggest homogenization techniques for a thick plate which apply only to microstructures with the classical Cauchy's continuum. Hence, in this respect the present approach is innovative.. One can argue that from an engineering point of view, the full simulation of the lattice remains affordable in terms of computation and will directly lead to more accurate results. However, because these structures are periodic, their design is often based on the assessment of a single unit-cell. Engineers check if this unit-cell sustains highest loads in critical areas and then, set the design for the entire roof. Having a single unit-cell reproduced many times enables returns to scale and reduces costs. Such an approach requires a good knowledge of local stress fields in the unit-cell generated by macroscopic loadings, independently of the configuration of the plate, which is exactly the purpose of homogenization techniques. Hence these approaches are complementary of full simulations.. In Section 3 we consider a square beam lattice ( Figure 1 ) and apply both Bending-Gradient and Cecchi and Sab [11] Reissner-Mindlin homogenization scheme. This very simple pattern will enable the derivation of closed-form solutions of the auxiliary problems which are easy to interpret even if the approach can handle 3D geometries. Let us already point out that, because of the patterns symmetries, the Reissner-Mindlin shear forces stiffness F ∼ (Q α = F αβ γ β , where γ α is Reissner-Mindlin shear strain) is necessarily isotropic 1 : F αβ = F δ αβ . However, the pattern must be somehow sensitive to the bending orientation. In order to check this prediction, a comparison with exact solutions of the cylindrical bending of the lattice in two orientations is performed in Section 4. It reveals that only the Bending-Gradient theory is able to capture second order effects both in terms of deflection and local stress fields. In this paper, the Bending-Gradient homogenization scheme was extended to space frames. Its application to a square beam lattice led to closed form solutions of the auxiliary problems. It also revealed that this microstructure cannot be properly modeled with Reissner-Mindlin theory. This observation was confirmed when comparing homogenization approaches with the exact solution of the cylindrical bending of the lattice. Only the Bending-Gradient theory is able to capture second order effects both in macroscopic deflection and in local fields.. Many other periodic structures might not be correctly modeled with Reissner-Mindlin theory such as concrete waffle slabs, orthotropic decks or composite floor systems and requires more accurate approaches such as the Bending-Gradient model. Hence, let us point out that it is perfectly possible to model a microstructure which is a mix between 3D, shell or beam elements following the direct derivation of the Bending-Gradient auxiliary problem suggested in the present paper and that other patterns are currently under investigation.. One can ask also if the Bending-Gradient theory can be easily extended to more random microstructures. The answer is actually the same as for case of a 3D random medium: it might be possible to establish bounds and argue on the statistical distribution of the microstructure. However, there is no clear argument for expecting that the Bending-Gradient would turn back to a Reissner-Mindlin model.. Finally, provided the limitations pointed out in Section 5 are kept in mind, the Bending-Gradient plate theory is considered by the authors as a sound extension of the Reissner-Mindlin theory to the case of heterogeneous plates. More precisely, it is an attempt to concentrate most of the results given by the second order of the asymptotic expansion [10] into a model which keeps most aspects of Reissner-Mindlin model, well understood by engineers. In the previous section, three homogenization approximations of the cylindrical bending of a beam lattice were derived. The first one, leading to a Kirchhoff-Love plate model is also known to be the first order of the asymptotic expansion [1, 2] . This approach enables to have a first order estimate of the macroscopic deflection as well as local stress fields. Except with sandwich panels and laminated plates, in most application the first order deflection is accurate enough. This is also the case in this paper (the error is already smaller than 10 −3 for a span of few unit-cells). However, this approach does not capture the local effect of shear forces on the microstructure and the common practice for deriving the actual effect of transverse shear appears clearly as not reliable in more general configurations.. The Reissner-Mindlin homogenization approach used in this paper clearly misses some part of their effect. This is because of the assumption of cylindrical bending which is made in most approach for deriving a Reissner-Mindlin-like constitutive equation. This assumption enforces Q 1 = M 11,1 and precludes any possible effect of the other derivatives of the bending moment on the local stress on the microstructure.. In the present case, the Bending-Gradient approximation captures all second order effects and gives a very satisfying description of both the deflection and the local stress fields. Especially, when rotating the lattice, this accuracy is preserved. Moreover, it brought out two scaling parameters between the first order deflection and the second order deflection. The first one is related to shear forces in the beams and is the same as the one in the Reissner-Mindlin approach. It is proportional to. The second one is related to the second order torsion/bending of the beams and is proportional to γ 2 , namely (b/L) 2 . Thus the latter effect is dominant at second order provided it is activated by the plate configuration. This distinction between scaling parameters is completely discarded when using a Reissner-Mindlin approach.. Our approach still presents some limitations. First, in the present case, we chose supports conditions for the lattice so that edge effects remain limited. It is well known in homogenization that these effects might be not negligible in some configurations. This point is far out of the scope of this paper and raises the question -common to all models -regarding the mechanical meaning of plate boundary conditions. Second, the local load distribution on the microstructure was arbitrarily chosen. At first order, this choice does not affect the fields localization (Kirchhoff-Love case). However, different load distributions could generate different localization of stress fields when looking for a higher order approximation (see [24] for instance).. Finally, in the present paper, the plate model was solved in a simple, closed-form solution. This raises the question regarding the finite element implementation of the Bending-Gradient theory. Actually, it is very close to the classical Reissner-Mindlin model (with its well-known limitations). The most straightforward implementation is to add the four C 0 generalized rotation fields which are coupled to Reissner-Mindlin FEM formulation. This way the computational burden remains perfectly acceptable.

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


Weak Sense of Direction Labelings and Graph Embeddings An edge-labeling @l for a directed graph G has a weak sense of direction (WSD) if there is a function f that satisfies the condition that for any node u and for any two label sequences @a and @a^' generated by non-trivial walks on G starting at u, f(@a)=f(@a^') if and only if the two walks end at the same node. The function f is referred to as a coding function of @l. The weak sense of direction number of G, WSD(G), is the smallest integer k so that G has a WSD-labeling that uses k labels. It is known that WSD(G)>=@D^+(G), where @D^+(G) is the maximum outdegree of G. Let us say that a function @t:V(G)->V(H) is an embedding from G onto H if @t demonstrates that G is isomorphic to a subgraph of H. We show that there are deep connections between WSD-labelings and graph embeddings. First, we prove that when f"H is the coding function that naturally accompanies a Cayley graph H and G has a node that can reach every other node in the graph, then G has a WSD-labeling that has f"H as a coding function if and only if G can be embedded onto H. Additionally, we show that the problem ''Given G, does G have a WSD-labeling that uses a particular coding function f?'' is NP-complete even when G and f are fairly simple. Second, when D is a distributive lattice, H(D) is its Hasse diagram and G(D) is its cover graph, then WSD(H(D))=@D^+(H(D))=d^*, where d^* is the smallest integer d so that H(D) can be embedded onto the d-dimensional mesh. Along the way, we also prove that the isometric dimension of G(D) is its diameter, and the lattice dimension of G(D) is @D^+(H(D)). Our WSD-labelings are poset-based, making use of Birkhoff's characterization of distributive lattices and Dilworth's theorem for posets. In distributed computing, the communication topology of a distributed system is often modeled by a symmetric directed graph (or equivalently an undirected graph) together with some edgelabeling. The nodes of the graph represent computational entities each with their own local memory and processing capability, while the edges represent the communication links between these entities. For each edge uv, the label on uv represents the port number assigned by u to the link connecting it to v. It is well-documented that when the edge-labeling has the global consistency property called sense of direction (SD), then the communication complexity of many. • Our first suggestion is "reverse-engineer". That is, instead of labeling the edges of G immediately and then figuring out if the labeling has a coding function, do the reverse. Start by identifying a function f . Then label the edges of G with the goal of making f the coding function of the labeling. When might this strategy be successful? Our first result states that when f H is the coding function that naturally accompanies a Cayley graph H and G has a node that can reach every other node in the graph, then G has a WSD-labeling that has f H as a coding function if and only if G can be embedded onto H.. In conjunction with a result of Bhatt and Cosmadakis [2] , our result also implies that the question "Does G have a WSD-labeling that uses a particular coding function f ?" is computationally hard even when both G and f are fairly simple.. • Let H be a class of graphs with known WSD-labelings. Our second suggestion is the following: find a graph H ∈ H such that G can be embedded onto H. Let G inherit the known WSD-labeling of H. This strategy is obviously successful when a graph H can be found. But when might it result in an optimal WSD-labeling of G? Our second result states that when H is the class of meshes, G is the Hasse diagram of a distributive lattice, and H is the lowest-dimensional mesh so that G can be embedded onto H, then the WSDlabeling inherited by G is a minimal labeling and, hence, optimal. Interestingly, in arriving at this result, we do not directly attempt to embed G on a mesh. Rather, we construct a WSD-labeling of G that is poset-based, making use of Birkhoff's characterization of distributive lattices and Dilworth's theorem for posets. It is our first result which shows that what we had done was effectively embed G onto a mesh.. Along the way, we also prove that when G is the cover graph of a distributive lattice, (i) dim I (G) is the diameter of G and dim Z (G) is the maximum outdegree of the Hasse diagram of the distributive lattice. As far as we know, these simple characterizations of the isometric and lattice dimensions of the cover graphs of distributive lattices are new.. The rest of the paper is organized as follows. In section 2, we briefly define WSD-labelings and Cayley graphs. We then present our two results in sections 3 and 4. We end in section 5 with some final remarks.

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


An evolutionary factor analysis computation for mining website structures This paper explores website link structure considering websites as interconnected graphs and analyzing their features as a social network. Two networks have been extracted for representing websites: a domain network containing subdomains or external domains linked through the website and a page network containing webpages browsed from the root domain. Factor analysis provides the statistical methodology to adequately extract the main website profiles in terms of their internal structure. However, due to the large number of indicators, the task of selecting a representative subset of indicators becomes unaffordable. A genetic search of an optimum subset of indicators is proposed in this paper, selecting a multiobjective fitness function based on factor analysis results. The optimum solution provides a coherent and relevant categorization of website profiles, and highlights the possibilities of genetic algorithms as a tool for discovering new knowledge in the field of web mining. Link analysis is the quantitative study of hyperlinks between web pages. It is usually included as part of webometrics, which is the quantitative analysis of web phenomena, dealing also with web citation analysis, search engine evaluation and purely descriptive studies of the web (Björneborn & Ingwersen, 2004; Thelwall, 2008) . Web links have been heavily studied during the last years in order to understand the structure and growth patterns of the Web (Thelwall, 2004) , and they have been applied to the development of page ranking algorithms. The rapid development experienced by Web links analysis in the theories, technologies, and methodologies can be explained by the fact of being studied from different points of views, like computer science, information science, communications studies and sociology (Thelwall, 2004) .. Social network analysis (SNA) has been frequently used for the study of link analysis (Park & Thelwall, 2003; . SNA is a set of research procedures for identifying structures in social systems based on the relations among the system components, also referred to as nodes. In applying SNA methods to link analysis, websites or web-pages are considered the actors, representing the nodes in the social network graph, while links are modeled as the relations between actors, representing the edges of the graph (Iacobucci, 1994) . The resulting graph will be a directed graph because links are defined by an HTML tag within a markup file which address to a new web page setting the direction of the arc (in directed graphs, edges are called arcs).. The majority of studies are focused on the structure of the web considered in a large scale. The relationships among web domains have been analyzed in the Nordic academic web space (Ortega & Aguillo, 2008) , or even in the world web space (Ortega & Aguillo, 2009) , from the perspective of SNA. In Baeza-Yates and Castillo (2007) national web domains are analyzed attending to several criteria, in particular, degree and ranking. Page reputation is another topic related to link analysis frequently reported in the literature. In this case, SNA has also been applied considering the Indegree method as an alternative to Pagerank methods (Berlt et al., 2010) . Finally, link analysis through SNA has been combined with text analysis to improve web information retrieval algorithms (Almpanidis, Kotropoulo, & Pitas, 2007) .. Although Web structure has frequently been studied, comparatively little is known at the website level concerning its structure as an information organization and access mechanism. In this paper, an exploratory study for the identification of website link structure using factor analysis is proposed. For this purpose, the hypertext structures of eighty institutional websites have been extracted both at a domain and at a page level. Therefore, websites are modeled as two social networks. On the first network, nodes represent subdomains or external domains and arcs represent the links among them. The second one is similar but considering web pages instead of domains or subdomains. A huge number of indicators related to different features of the derived networks can be computed using SNA. However, due to the exploratory nature of this study, it is difficult to select a subset of indicators to perform factor analysis, and the alternative of considering all possible subset of indicators is computationally prohibitive. As a solution, a genetic search of an optimum subset of indicators using a multi-objective fit function is proposed. The obtained result provides new insights about web site patterns and highlights the utility of genetic algorithms as a tool for new knowledge discovery.. The rest of the paper is structured as follows: a brief description of the methodology is provided in Section 2. In particular, network modeling of website structure, SNA features of extracted networks and factor analysis methodology are described. Section 3 is devoted to the application of genetic algorithms to the problem of extracting an optimum subset of variables able to explain the latent dimensions of website structure. The case study and results are discussed in Section 4. Finally, conclusions are detailed in Section 5. This paper has developed a tool for identifying website link structures considering websites as social networks. The use of evolutionary computation techniques has allowed extracting the main profiles in the particular case of institutional websites from Spanish Universities. Obtained results agree with the general rules of website designs proposed in the literature, and they are useful for web designers and organizations when taking decisions about their web presence and their corporate image. Although the study is limited to Spanish Universities Websites, they constitute a rich enough sample among the Webometrics Ranking of World Universities. This study could be extended to other institutional web sites to validate the obtained results.

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


The ASSISTment Builder: Supporting the Life Cycle of Tutoring System Content Creation Abstract-Content creation is a large component of the cost of creating educational software. Estimates are that approximately 200 hours of development time are required for every hour of instruction. We present an authoring tool designed to reduce this cost as it helps to refine and maintain content. The ASSISTment Builder is a tool designed to effectively create, edit, test, and deploy tutor content. The Web-based interface simplifies the process of tutor construction to allow users with little or no programming experience to develop content. We show the effectiveness of our Builder at reducing the cost of content creation to 40 hours for every hour of instruction. We describe new features that work toward supporting the life cycle of ITS content creation through maintaining and improving content as it is being used by students. The Variabilization feature allows the user to reuse tutoring content across similar problems. The Student Comments feature provides a way to maintain and improve content based on feedback from users. The Most Common Wrong Answer feature provides a way to refine remediation based on the users' answers. This paper describes our attempt to support the life cycle of content creation.Index Terms-Computer uses in education, e-learning tools, adaptive and intelligent educational systems, authoring tools. A LTHOUGH intelligent tutors have been shown to produce significant learning gains in students [1] , [8] , few intelligent tutoring systems (ITSs) have become commercially successful. The high cost of building intelligent tutors may contribute to their scarcity and a significant part of that cost concerns content creation. Murray [13] asked why there are not more ITS and proposed that a major part of the problem was that there were few useful tools to support ITS creation. In 2003, Murray et al. [14] reviewed 28 authoring systems for learning technologies. Unfortunately, they found that there are very few authoring systems that are of "release quality," let alone commercially available. Two systems that seem to have "left the lab" stage of development are worth mentioning: APSPIRE [10] , an authoring tool for Constraint-Based Tutors [11] , and Carnegie Learning [3] for their work on creating an authoring tool for Cognitive Tutors by focusing on creating a graphical user interface for writing production rules. Writing production rules is naturally a difficult software engineering task, as flow of control is hard to follow in production systems.. Murray after looking at many authoring tools [13] said, "A very rough estimate of 300 hours of development time per hour of online instruction is commonly used for the development time of traditional computer-assisted instruction (CAI)." While building intelligent tutoring systems is generally agreed to be much harder, Anderson et al. [2] suggested that it took a ratio of development time to instruction time of at least 200:1 hours to build the Cognitive Tutor.. We hope to lower the skills needed to author tutoring system content to the point that normal classroom teachers can author their own content. Our approach is to allow users to create example-tracing tutors [7] via the Web to reduce the amount of expertise and time it takes to create an intelligent tutor, thus reducing the cost. The goal is to allow both educators and researchers to create tutors without even basic knowledge of how to program a computer. Toward this end, we have developed the ASSISTment System; a Web-based authoring, tutoring, and reporting system.. Worcester Polytechnic Institute (WPI) and Carnegie Mellon University (CMU) were funded by the Office of Naval Research (which funded much of the CMU effort to build Cognitive Tutors) to explore ways to reduce the cost associated with creating cognitive model-based tutors used in tutoring systems [7] . In the past, ITS content has been authored by programmers who need PhD-level experience in AI computer programming as well as a background in cognitive psychology. The attempt to build tools that open the door to nonprogrammers led to Cognitive Tutor Authoring Tools (CTATs) [1] which the last two authors of this paper had a hand in creating.. The ASSISTment System emerged from CTAT and shares some common features, with the ASSISTment System's main advantage of being completely Web-based.. Over time, tutoring content may grow and become difficult to maintain. The ASSISTment System contains tutoring for over 3,000 problems and is growing everyday as teachers and researchers build content regularly. As a result, quality control can become a problem. We attempted to address this problem by adding features to help maintain and refine content as it is being used by students, supporting the life cycle of content creation.. While template-based authoring has been done in the past [16] , we believe that the ASSISTment System has some novel features. In this paper, we describe the ASSISTment Builder which is used to author math tutoring content and present our estimate of content development time per hour of instruction time. We also describe our efforts to incorporate variablization into the Builder. With our server-based system, we are attempting to support the whole life cycle of content creation that includes error correction and debugging as well. We present our work toward easing the maintenance, debugging, and refining of content. The nine undergraduate content authors worked on their project over three seven-week terms. During the first term, Term A, authors created 121 ASSISTments with no assistance from the ASSISTment team other than meeting with their subject matter expert to review the pedagogy. Since we know from prior studies [5] that students being tutored by the ASSISTment system spend an average of 2 minutes per ASSISTment, the content authors created 242 minutes, or a little over 4 hours of content. The log files were analyzed to determine that authors spent 79 minutes (standard deviation ¼ 30 minutes), on average, to create an ASSISTment. In the second seven weeks, Term B, the authors created 115 more additional ASSISTments at a rate of 55 minutes per ASSISTment. This increased rate of creation was statistically significant (p < 0.01), suggesting that students were becoming faster at creating content. To look for other learning curves, we noticed that in Term A, each ASSISTment was edited, on average, over the space of four days, while in Term B, the content authors were only editing an ASSISTment over the space of three days on average. This rate was statistically significantly faster than in Term A. Table 1 shows these results.. It appears that we have created a method for creating intelligent tutoring content much more cost effectively. We did this by building a tool that reduces both the skills needed to create content as well as the time needed to do so. This produced a ratio of development time to online instruction time of about 40:1 and the development time does decrease slightly as authors spend more time creating content. The determination of whether the ASSISTments created by our undergraduate content authors produce significant learning is work in progress. However, our subject matter expert was satisfied that the content created was of good quality. We wished to create new 10th grade math tutoring content in addition to our existing eighth grade math content. In September 2006, a group of nine WPI undergraduate students, most of whom had no computer programming experience, began to create 10th grade math content as part of an undergraduate project focused on relating science and technology to society. Their goal was to create as much 10th grade content as possible for this system.. All content was first approved by the project's subject matter expert, an experienced math teacher. We also gave the content authors a 1 hour tutorial on using the ASSISTment Builder where they were trained to create scaffolding questions, hints, and buggy messages. Creating images and animations were also demonstrated. We augmented the Builder to track how long it takes authors to create an ASSISTment. This does ignore the time it takes authors to plan the ASSISTment, work with their subject matter expert, and any time spent making images and animated gifs. All of this time can be substantial, so we cannot claim to have tracked all time associated with creating content.. Once we know how many ASSISTments authors have created, we can estimate the amount of content tutoring time created by using the previously established number that students spend about 2 minutes per ASSISTment [5] . This number is averaged from data from thousands of students. This will give us a ratio that we can compare against the literature suggesting a 200:1 ratio [2]. The variabilization feature of the ASSISTment builder enables the creation of parameterized template ASSISTments. Variables are used as parameters in the template ASSISTment and are evaluated while creating instances of the template ASSISTment-ASSISTments where variables and their functions are assigned values.. Our current implementation of variabilization associates variables with individual ASSISTments. Since an ASSISTment is made of the main problem, scaffold problems, answers, hints, and buggy messages, this implementation allows a broad use of variables. Each variable associated with an ASSISTment has a name and one or more values. These values may be numerical or may include text related to the problem statement. Depending on the degree of flexibility required, mathematical functions like those to randomly generate numbers, or those doing complex arithmetic can be used in variable values.. We also provide the option of defining relationships between variables in two ways We now give an example of the process involved in generating a template-variabilized ASSISTment, and then, creating instances of this ASSISTment. The number of possible values for the variables dictates the number of instances of an ASSISTment that can be generated. The first step toward creating a template-variabilized ASSISTment from an existing ASSISTment is determining the possible variables in the problem.. After identifying possible variables, these variables are created through the variables widget and used throughout the ASSISTment. A variable has a unique name and one or more values associated with it. A special syntax in the form of %v{variable-name} is used to refer to variables throughout the Builder environment. Functions of these variables can be used in any part of the ASSISTment including the problem body by using the syntax %v{function()}. For example, %vfsqrtða^2 þ b^2Þg could^be used to calculate the length of the hypotenuse of a right triangle. Additional variables can be introduced to make the problem statement grammatically correct such as delimiters and pronouns. Fig. 4 shows an existing ASSISTment addressing the Pythagorean Theorem with candidates for variables marked. This ASSISTment is commonly encountered by students using our system and it contains 13 hints: eight buggy messages, one main problem, and four scaffold problems.. Generation of variables in the system is simple and follows the existing format of answers and hints. Maintaining consistency with other elements of the Builder tools minimizes the learning time for content creators. In the Pythagorean Theorem ASSISTment (shown in Fig. 4) , we can make use of the set feature of variables to make sure that the correct values of the three sides of the triangle are picked together.. Once variables have been generated and introduced into problems, scaffold questions, answers, hints, and buggy messages as required, it is possible to create multiple instances of this ASSISTment using the Create button.. The number of generated ASSISTments depends on the number of values specified in the sets. Our system performs content validation to check if variables have been correctly generated and used, and alerts the content creator to any mistakes. The main advantage of variabilization lies in the fact that once a template-variablized ASSISTment is created, new ASSISTments including their scaffolds, answers, hints, and buggy messages can be generated instantly.. Our preliminary studies of variabilization, comparing the time required to generate five morphs using traditional morphing techniques (e.g., copy and paste) as opposed to generating five morphs using variabilization, indicate that in the former case, the average time required to create one morph is 20.18 (std 9.05) minutes, while in the latter case, this time is 7.76 minutes (std 0.56). Disregarding the ordering effect introduced due to repeated exposure to the same ASSISTment, this indicates a speedup by a factor of 2.6. Further studies are being done to assess the impact that variabilization can have in reducing content creation time. It is important to note that speedup heavily depends on the number of ASSISTments generated since creating one template-variabilized ASSISTment requires 38.8 (std 2.78) minutes, on average, as opposed to 20.18 (std 9.05) minutes for a morphed ASSISTment. However, the variabilized ASSISTment can be used to produce multiple instances of the ASSISTment, while the morph is essentially a single ASSISTment.

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