On optimal solution error covariances in variational data assimilation problems The problem of variational data assimilation for a nonlinear evolution model is formulated as an optimal control problem to find unknown parameters such as distributed model coefficients or boundary conditions. The equation for the optimal solution error is derived through the errors of the input data (background and observation errors), and the optimal solution error covariance operator through the input data error covariance operators, respectively. The quasi-Newton BFGS algorithm is adapted to construct the covariance matrix of the optimal solution error using the inverse Hessian of an auxiliary data assimilation problem based on the tangent linear model constraints. Preconditioning is applied to reduce the number of iterations required by the BFGS algorithm to build a quasi-Newton approximation of the inverse Hessian. Numerical examples are presented for the onedimensional convection-diffusion model. The methods of data assimilation (DA) have become an important tool for analysis of complex physical phenomena in various fields of science and technology. These methods allow us to combine mathematical models, data resulting from instrumental observations and a priori information. The problems of variational DA can be formulated as optimal control problems (e.g. [10, 12] ) to find unknown model parameters such as initial and/or boundary conditions, right-hand sides in the model equations (forcing terms), and distributed coefficients. A necessary optimality condition reduces an optimal control problem to an optimality system which includes inexact input functions; hence the error in the optimal solution. In this paper, assuming a perfect model, we consider two types of input errors: the background error and the observation error. It is an important theoretical and practical task to evaluate statistical properties of the optimal solution error. For example, its covariance can be used for estimating the efficiency of DA in terms of reducing uncertainty in model parameters and, therefore, in the model output.. The error in the optimal solution can be derived through the errors in the input data using the Hessian of an auxiliary DA problem [6, 11] . If errors in the input data are random and subjected to the normal distribution, then for a linearized finitedimensional problem (tangent linear approximation of the discretized model) the covariance matrix of the analysis (optimal estimation of the initial condition) error is given by the inverse of the Hessian matrix of the cost functional (see e.g. [7, 9, 17, 21, 22] ). In [6] , a similar result was obtained for the continuous (both in time and space) operator formulation. We have shown that in the nonlinear case the analysis error covariance operator can be approximated by the inverse Hessian of the auxiliary DA problem based on the tangent linear model (TLM) constraints. We have also demonstrated that this approximation could be sufficiently accurate even though the tangent linear hypothesis is not valid.. This paper presents a generalization of the theoretical results reported in [6] to parameter estimation problems for a nonlinear evolution model. These problems are common inverse problems considered in geophysics [20, 25] and in engineering applications [1] . Here we derive the relationship between the optimal solution error covariance and the inverse Hessian of the auxiliary DA problem in a continuous operator form. The algorithm based on the quasi-Newton BFGS method (also reported in [6] ) is adapted for constructing the optimal solution error covariance matrix for parameter estimation problems. This process is greatly accelerated by preconditioning the Hessian of the auxiliary DA problem, whereas the preconditioner is also defined in a general operator form.. For numerical analysis we use the one-dimensional (1D) nonlinear convection-diffusion model. The algorithm was applied to compute the covariance matrix for the diffusion coefficient and boundary flux estimation problems. The numerical results reveal interesting features of these problems in terms of identifiability, even for a simple evolution model. All numerical results have been verified using the fully nonlinear ensemble method [6] . Thus, we confirm that in the nonlinear case the optimal solution error covariance can be approximated by the inverse Hessian of the auxiliary DA problem ('H-covariance') beyond the validity of the tangent linear hypothesis.. The generalization of the theoretical results to the case of model errors is given in [19] . The relevant work discussing an estimate of posterior error fields in DA is given in [18] . This paper is organized as follows. In Section 2, we give the statement of the variational DA problem for a nonlinear evolution model to estimate the model parameters. In Section 3, the equation for the optimal solution error is derived through the errors of the input data. In Section 4 we derive the formulas for the optimal solution error covariance operator through the covariance operators of the input data errors using the Hessian of the auxiliary DA problem. A general case is considered in Section 4.1. Then, it is illustrated by the examples given for the 1D convection-diffusion model: the diffusion coefficient estimation problem is considered in Section 4.2 and the boundary flux estimation problem in Section 4.3. Details of numerical implementation are presented in Section 5 (for basic implementation details we also refer to [6] ). We describe: in Section 5.1 a method for specifying the background error covariance matrix, in Section 5.2 -the preconditioning of the Hessian of the auxiliary DA problem and in Section 5.3 -other relevant implementation issues. Numerical analysis is presented in Section 6. In Section 6.1 we analyse the diffusion coefficient estimation problem, in Section 6.2 -the boundary flux estimation problem. In Section 6.3 we compare the convergence rates achieved with and without preconditioning for some numerical tests performed earlier. The main results are discussed in the Conclusions.. From this point on we shall refer to 'optimal solution error covariance/variance' simply as 'covariance/variance'. In [6] we investigated the initial-value optimal control problem for a nonlinear evolution model, which is a typical DA problem arising in geophysics. In this paper we consider various parameter estimation problems such as a distributed coefficient estimation problem and a boundary value estimation problem. These two are different types of problem that may arise in the same application field. The first one is often considered to calibrate models which describe the transport of traces or turbulent dissipation processes in ocean and atmosphere, the second one -to calibrate regional scale (coastal, for example) flow models. The optimal solution error a posteriori covariance matrix (approximated by the H-covariance) can be used for a subsequent DA, as an optimal solution quality estimate, for the analysis of uncertainty in model outputs (either forecast or hind-cast) and for optimal design of observation schemes, including the adaptive real-time mode. Besides, it can be used to quantify the identifiability levels for any estimation problem, and therefore, it is an important (numerical) analysis tool which may complement existing analytical methods. We found that the H-covariance and the uncertainty reduction quotient f in particular are convenient graphic measures better suited for visual analysis and interpretation than the spectrum of the Hessian, for example. Let us notice that even though the idea of using the a posteriori covariance for numerical analysis of identifiability of large-scale complex nonlinear dynamical systems looks apparent, we are not aware of studies exploiting this idea in practice.. The main theoretical result presented in [6] is that in the nonlinear case the analysis (initial-value) error covariance operator can be approximated by the inverse Hessian of the auxiliary DA problem based on the TLM constraints. This result was first formulated in an operator form in [6] . In the present paper we prove the same result for parameter estimation problems. It can be stated that for any DA problem, whatever the data, controls and constraints are, the same results should be valid (if the TLM of the constraints exists and the Hessian of the auxiliary problem is invertible).. In [6] we presented details of a numerical algorithm to compute an estimate of the covariance as the inverse Hessian with the use of the quasi-Newton BFGS minimization method. We refer to this estimate as the 'H-covariance'. In this paper we formulate a modified auxiliary DA problem for a preconditioned Hessian, solve this problem using the BFGS method and recover the inverse Hessian of the original auxiliary DA problem, i.e. the H-covariance matrix. Let us note that one may need to recover only target elements of this matrix. As a preconditioner we use the Cholesky factor of the background error weight matrix V 1 . Numerical experiments show that the preconditioning allows the number of iterations required to build an accurate quasi-Newton approximation of the inverse Hessian to be reduced by an order of magnitude (as compared to the number of unknowns). With the use of efficient preconditioning, the suggested method becomes significantly more attractive from the computational point of view than any existing direct method (i.e. a method which would require the full matrix H to be computed and stored).. We suggest an approach for specifying directly the background error weight matrix V 1 (inverse of the background error covariance matrix). This method is based on the assumption that the background error belongs to the Sobolev space. It is found that with the use of the weight functions aðzÞ and cðzÞ in (5.1) one can generate a family of the covariance matrices, such that aðzÞ controls mainly the variance and cðzÞ controls mainly the correlation radius. Therefore, given a background error covariance matrix V n 1 (generally dense), one can generate a corresponding sparse weight matrix V 1 such that V À1 1 % V n 1 . This is important since we may need the (incomplete) Cholesky factors of V 1 for the preconditioning. We conducted a series of numerical tests to validate the performance of the BFGS algorithm by comparing the H-covariance against the ensemble covariance. Generally, we observed that those two are in a good agreement. This confirms that the linearization error, even though locally significant, does not result in equally significant deviations in the H-covariance. In one example we do observe a noticeable difference that vanishes as the magnitude of the input errors is reduced. As before ( [6] ), the influence of the background error correlation radius on the H-covariance is found to be crucial.. The H-covariance can be used to investigate numerically the degree of uncertainty reduction and to design efficient observation schemes including adaptive observations. The numerical tests performed have revealed some interesting features of the estimation problems under consideration. For example, one practical conclusion is that in order to identify the diffusion coefficient at a certain location, one needs a pair of closely located field sensors. Another surprising result is a partial identifiability of the outflow boundary in the nonlinear convection-diffusion model, which is a consequence of the nonlinearity. One should expect that for more complex models more interesting properties are likely to be discovered.

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


Massively parallel kinetic Monte Carlo simulations of charge carrier transport in organic semiconductors Massively parallel kinetic Monte Carlo simulations of charge carrier transport in organic semiconductors van der Kaap, N. J.; Koster, L. J. A. Take-down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim.Downloaded from the University of Groningen/UMCG research database (Pure): http://www.rug.nl/research/portal. For technical reasons the number of authors shown on this cover page is limited to 10 maximum. A parallel, lattice based Kinetic Monte Carlo simulation is developed that runs on a GPGPU board and includes Coulomb like particle-particle interactions. The performance of this computationally expensive problem is improved by modifying the interaction potential due to nearby particle moves, instead of fully recalculating it. This modification is achieved by adding dipole correction terms that represent the particle move. Exact evaluation of these terms is guaranteed by representing all interactions as 32-bit floating numbers, where only the integers between −2 22 and 2 22 are used. We validate our method by modelling the charge transport in disordered organic semiconductors, including Coulomb interactions between charges. Performance is mainly governed by the particle density in the simulation volume, and improves for increasing densities. Our method allows calculations on large volumes including particle-particle interactions, which is important in the field of organic semiconductors. Kinetic Monte Carlo (KMC) methods are widely used for simulating the time evolution and equilibrium behaviour of systems of particles. These methods have proven to be valuable techniques for describing chemical reactions [1] , physical systems [2, 3] , layer growth [4] [5] [6] surface reactions [7] [8] [9] , defect mobility [10, 11] and biological networks [12, 13] . KMC models systems by calculating all possible transition rates that transform a system from one state into another, followed by randomly picking one of these transitions for execution [14] . Depending on the system under consideration, it may take billions of transitions before steady state is reached. This computational burden is further exacerbated by the large simulation volumes that are required to reduce measurement errors or by inclusion of particle-particle (p-p) interactions. These interactions may for instance originate from Coulomb attraction between charges [15] or elastic forces between other particles [16] .. Various methods exist for reducing the extra workload due to these interactions. One method is by applying the fast multi-pole method (FMM) [17] , where distant charges are clustered to decrease the number of interactions that need to be calculated [18, 19] . A great benefit of this method is the existence of very precise error bounds that allow for a custom choice between precision and speed. In the work of van der Holst et al. long range Coulomb interactions are calculated by solving the discrete 1D Poisson equation, which is much faster than calculating direct interactions [20] . Because the short range interactions are still calculated directly, they introduce a method to prevent double counting of charges in the Poisson equation. For some types of interaction, accurate estimations of the overall interaction potential can be made. For simulations of hetero epitaxial growth, Schulze et al. determined an approximate, easy to calculate, upper bound for the elastic energy of a certain configuration [21, 16] . This provides an upper limit for the transition rate to the corresponding state. Once this transition is selected for execution, the real interaction is calculated, and a rejection algorithm determines whether the transition is performed.. Instead of directly reducing the computational effort in calculating the interaction potential, the simulation itself can also be adapted. In the next reaction method (NRM) [22] , transition rates are only updated when the corresponding particle moved. This reduces the amount of interaction calculations dramatically, but the transition rates become insensible for nearby particle movement. Another approach for increasing performance is numerically solving an approximation of a master equation [23, 24] . Because this type of simulation operates on particles densities rather than on explicit particles, the interaction potential can be solved using a finite differences approach. However, this type of simulation is not able to capture all physical detailed that can be acquired using a KMC simulation.. An approach to accelerate KMC simulations of large systems is to perform the calculations on parallel computers: the simulation volume is divided into multiple sections that are each treated as a single simulation [25] [26] [27] [28] . It is important that the simulation time of all sections remains synchronized. This can either be achieved by independently running all sections for a fixed period of time [26] or by equalizing all transition rates by introducing null-transitions [27] . Particles that leave their section are simulated in a ghost region, until a periodic synchronization event communicates all particles to their corresponding segments [25] . Rigorous methods use a roll-back procedure to restart the simulation at the time that the boundary transition was received [29, 28] . Computationally less expensive non-rigorous algorithms deal with these transitions periodically, introducing an error with respect to the serial algorithm [26, 30] .. One special type of parallel computer is the General Purpose GPU (GPGPU), an interface that supports thousands of simultaneous threads. Previous work on lattice based KMC algorithms that were implemented on a GPGPU used a similar approach as the CPU version, but did not consider p-p interactions [31, 30] . The work of Plimpton et al. was one of the first implementations of the parallel KMC code on a GPGPU for simulating thin film growth, and used a similar method as the parallel KMC algorithms discussed above [31] . Another example of GPGPU on lattice based KMC is the simulation framework that was designed by Arampatzis et al. [30] . In their general approach, they introduce an architecture that supports simultaneous independent execution of segments for a short time span on different processors. They also provide a thorough error analysis of the non-rigorous parallel KMC algorithm. An example of a rigorous off-lattice KMC simulation is the work by Andersson et al. [32] . They described a 2D system of hard disks that can move in free space. During each iteration, all disks make a trial move. If the move is accepted by the metropolis acceptance criterion, it is executed. Boundary conflicts are avoided by rejecting trial moves that leave a cell. The boundaries of different regions are changed periodically, to allow particle movement throughout the entire volume.. In this work, we study a method for implementing a parallel lattice KMC simulation including long range p-p interactions that runs on a GPGPU. We use a synchronous method that is similar to the work by Martínez et al. [33] . Boundary conflicts are solved non-rigorously by using a sublattice approach [34] . We use this method because the inclusion of p-p interactions is computationally expensive, and roll-back mechanisms decrease performance further. Typically, the bottleneck in GPGPU is caused by copying CPU data back and forth to the GPU interface. We prevent this by performing the entire procedure on a GPGPU interface.. As discussed above, proper inclusion of these interactions requires segment synchronization after every iteration. In order to minimize simulation errors due to incorrect values of the interactions potential, segments are synchronized after every iteration. Although relatively long communication times between remote processors may hinder this process in typical parallel computers, this is not the case for GPGPU architectures. Still, full recalculation of the interaction potential after each iteration is time consuming. Instead, the algorithm corrects the current potential by adding dipole contributions for every nearby charge that hopped during the previous iteration. Full updates of the interaction potential are only required for the grid points that are related to charges that hopped during the last iteration. Accumulative rounding errors that arise due to repetitive addition and subtraction are solve this by rounding all interaction potentials to a uniformly spaced range of floating point numbers.. Finally, we validate the simulation by modelling charge transport in organic semiconductors [35] . Charge transport through these materials is characterized by an effective mobility μ, that depends on the degree of disorder σ , temperature T , the electric field F and the particle density n. We compared the results with and without Coulomb interactions to numerically solving the corresponding master equation [23] , and investigated the performance of the algorithm. We have developed a parallel, time synchronous, lattice based Kinetic Monte Carlo simulation that includes particleparticle interactions and runs on a GPGPU board. Determining transition rates and selecting transitions for execution was done using fast GPU methods, where an eight colour checker board prevents boundary conflicts. Boundary transitions were propagated after each iteration, providing a good description of particle-particle interactions. The modifications of the interaction potential due to nearby particle moves were taken into account by adding dipole correction terms, thereby reducing the required number of operations. Exact evaluation of the interactions obtained by representing all interaction terms as 32-bit floating numbers, where only the integer range between −2 22 and 2 22 was used. We have validated our method by modelling the charge transport in disordered organic semiconductors including Coulomb interactions between charges. The results were in good agreement with values obtained from numerically solving the approximation of the corresponding master equation. Performance is mainly governed by the density of particles in the simulation volume. For low densities, the limited amount of parallel work was unable to gain from the massively parallel architecture. Performance improved for large densities, both due to better use of the architecture and to increased parallel efficiency. The method allows calculations on large volumes, which is crucial in the field of organic photovoltaics. Moreover, the fast evaluation of particle-particle in-teractions allows simulations with high particle concentration. Further improvement may be obtained by using a dynamic segmentation algorithm that optimized the parallel efficiency, and accelerates the calculation of transition rates and p-p interactions. But we leave this addition for future work.

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


An access control framework for business processes for web services Business Processes for Web Services are the new paradigm for the lightweight integration of business from different enterprises.Whereas the security and access control policies for basic web services and distributed systems are well studied and almost standardized, there is not yet a comprehensive proposal for an access control architecture for business processes. The major issue is that a business process describe complex services that cross organizational boundaries and are provided by entities that see each other as just partners and nothing else.This calls for a number of differences with traditional aspects of access control architectures such as• credential vs classical user-based access control,• interactive and partner-based vs one-server-gathers-all requests of credentials from clients,• controlled disclosure of information vs all-or-nothing access control decisions,• abducing missing credentials for fulfilling requests vs deducing entailment of valid requests from credentials in formal models,• "source-code" authorization processes vs data describing policies for communicating policies or for orchestrating the work of authorization servers.Looking at the access control field we find good approximation of most components but not their synthesis into one access control architecture for business processes for web services, which is the contribution of this paper. Middleware has been the enterprise integration buzzword at the end of the past millennium. Nowadays a new paradigm is taking hold: Web services (WS for short). Setting hype aside, the major difference between middleware solutions (CORBA, COM+, EJB, etc.) and WS is the idea of lightweight integration of business processes from different enterprises.. The security of basic WS is well studied and standardized [6] . There are also many approaches [35, 37, 4, 16, 13, 5, 33] for controlling access to services and trust management in distributed systems and an advanced standardization process for policies and access control (see for instance the OASIS proposals [12, 26] ). However, with the notable exceptions of provisional access control [22] and trust negotiation [36] , access control models rest on the idea that the server picks the evidence you sent on who you are (credentials) and what you want (request), checks its evidence on what you deserve (policies) and makes a one-off decision.. Moving up in the WS hierarchy from single services to orchestration and choreography of WS and business processes the picture changes. Business processes describe complex services that cross organizational boundaries and are provided by partners.. The paradigmatic example in the WS standards is a travel agent WS that must orchestrate a combination of plane and train tickets, car rental, hotel booking and insurance, each service offered by different partner which may or may not be involved according to the actual unrolling of the workflow.. For example consider the problem of going to a nice "Shakespearian Tour" in Italy: you might decide to go to the city of Shylock, from there rent a car and travel to Romeo and Juliet's last resort, to jump then on a train and visit the Senate's seat where Pompeous spoke after Caesar's death. However, you might as well decide to travel instead to Germany first and then the train to Verona from there. In the first case you might need to use a car rental company. The second path may require to contact a German train company for the schedule, which is not needed if you land directly in Italy.. Let us now consider the problem of "lightweight" credentials such as the German train discount card or the car rental gold member card. Should the user provide them anyway at the beginning? Obviously not. Should the server orchestrating the process require each partner to publish its policy on discounts? Obviously not.. Such problems are not simply problems of practicality, but have major security implications:. 1. Credential vs identity based access control -A WS is something you publish on the Web for everybody to use it, so its design should be fairly close to the principles of trust management systems [5, 33] ;. 2. Orchestrating vs combining -partners have different security policies and are just partners and not part of the same enterprise. They may not wish to disclose their policies to the servent orchestrating the request. So, we cannot simply combine the policies ('cause we do not have them), we need to orchestrate the request grant/deny/process of many different policies/partners.. 3. Interactive vs one-off access control -if partners have different policies they might as well require different credentials to a client. Privacy considerations make gathering all potentially needed credentials from clients difficult. Furthermore, this may simply be impossible. An airline may want to ask confidential information directly to its frequent fliers (e.g., confirmation of religious preferences for food) and not to the Web travel agent orchestrator of the process. This calls for an interactive process in which the client may be asked on the fly for additional credentials and may grant or deny such requests 1 .

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


Studying knowledge management in information systems research: discourses and theoretical assumptions Abstract Daniel Robey was the accepting senior editor for this paper. Deetz (1996) Despite the difficulties associated with defining and identifying knowledge, knowledge has become a primary resource in organizations. Organizations are implementing knowledge management practices and technologies on the promise of increasing their effectiveness, efficiency, and competitiveness. These promises are based on an assumption that knowledge is good and that there are at worst negligible negative consequences of knowledge management. Scrupulous consideration might suggest, however, that knowledge is a double-edged sword: while too little leads to inefficiencies, too much results in rigidities that tend to be counterproductive in a dynamically changing world (March 1991) ; while too little might result in chaotic social relations, too much implies the silencing of diverse perspectives (Bowker and Star 1999) ; and while too little might result in expensive mistakes (e.g., faulty new product), too much might result in unwanted accountability (e.g., the class action law suits filed against the tobacco industry in the U.S. because it hid knowledge about the negative health effects of smoking).. We argue that in order to understand the ways that information systems can support the management of knowledge in organizations, consideration must be given to not only the intended, positive consequences of knowledge and its management, but also the negative, unintended ones. This requires that researchers have an awareness of the diversity of possible theoretical assumptions about knowledge and its management, and the extent to which the field of knowledge management research represents-or fails to representthis potential theoretical diversity. In this paper, our objective is to raise IS researchers' awareness of the different discourses of knowledge and knowledge management. Much like Orlikowski and Baroudi (1991) and Mingers (2001) , our intent is to guard against intellectual monism. By excluding epistemological and theoretical discourses from knowledge management research, there is a danger of unduly restricting inquiry into issues that knowledge management researchers could and, most probably should, be addressing.. In order to frame the theoretical perspectives and assumptions that are available for knowledge management research, we adopt Deetz's (1996) framework, which allows us to carve the theoretical landscape into four scientific discourses: the normative, the interpretive, the critical and the dialogic. After identifying and interpreting the situated, working definitions of knowledge within each discourse, we develop metaphors of knowledge associated with the discourses. We consider metaphors particularly helpful in shaping and communicating the meaning of abstract, poorly understood phenomena (Klagge 1997 ) such as knowledge. Lakoff and Johnson (1980, p. 5) suggest that it is a "seeing as," a mode of cognition in which "understanding and experiencing [of] one kind of thing [is done] in terms of another." We therefore anticipate that the metaphors of knowledge will provide a rich, yet concise, conceptual tool that will enable knowledge management researchers and practitioners to capture their underlying assumptions about knowledge. This paper is organized as follows: we begin by presenting the theoretical framework according to which we categorize and analyze the knowledge management research published in the field of information systems. This is followed by a description of the methodology that we relied upon to select and analyze the knowledge management literature in IS. We elaborate on each of the discourses of knowledge management by first describing the research themes, knowledge metaphors, theoretical foundations, and implications represented in each discourse, and then discussing a piece of research that is exemplary of the discourse. We highlight the implications of omitting any one of the discourses from the portfolio of knowledge management research in IS and conclude with recommendations for IS-based knowledge management research. In order to promote a stream of knowledge management research that is neither biased nor constrained by theoretical assumptions and methodological choices, this paper attempts to raise awareness of the various discourses of knowledge management. We have reviewed the IS literature on knowledge management in order to understand how knowledge is currently treated and to understand what topics and themes are raised by IS researchers undertaking studies of knowledge management. In so doing, we have noted tendencies to adopt an optimistic view of the role of knowledge in organizations and the role of information systems in enabling knowledge management. The voices of the dissenters are few; however, they are provocative. We therefore encourage IS researchers to wrestle with the difficult issues of power and conflict that knowledge management might incite. The metaphors used to explain the views of knowledge represented in the four discourses can help guide the development of definitions and interpretations of knowledge.. Finally, our research suggests that few IS researchers doing knowledge management research are adopting the critical and dialogic discourses in their research programs, or that few journals are publishing these discourses. The exemplars presented as representative of these discourses provide a shining testament to the interesting conclusions that can be derived from adopting the dissensus perspective. Given the influence that epistemological assumptions have on a researcher's interpretation of data, we encourage more IS researchers to consider reinterpreting their existing work or engaging in new research built around the critical and dialogic discourses. In this way, IS-based research on knowledge management will develop a stronger theoretical base that includes both favorable and unfavorable consequences of knowledge and its management. Our categorization of the knowledge management articles we considered is presented in Table 2 .. In order to highlight the differences between the discourses in the context of knowledge management research, we begin our analysis by summarizing within each discourse four main areas: the focus of the research, the metaphors of knowledge based on the operationalizations of knowledge, the theoretical underpinnings of the research, and the implications for IS that can be drawn from the research. Knowledge management is the generation, representation, storage, transfer, transformation, application, embedding, and protecting of organizational knowledge (adapted from Hedlund 1994; similarly, Alavi and Leidner 2001; Pentland 1995) . Concepts such as organizational learning (e.g., March 1991), organizational memory (e.g., Anand et al. 1998; Walsh and Ungson 1991) , information sharing (e.g., Constant et al. 1994 ) and collaborative work (e.g., Schrage 1990) are closely related to knowledge management. Bearing this in mind, we selected the following keywords as the basis for our searches of the IS literature: knowledge, knowledge management, organizational learning, learning organization(s) and memory.. We selected six IS journals that publish academic rather than practitioner research because we would expect academics to devote more time than practitioners to contemplating the epistemological and theoretical assumptions of knowledge and what it means to manage it. Specifically aiming to review academic research that represents a diversity of epistemological assumptions, we chose the following six journals: Accounting,

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


Automatic speech recognition- an approach for designing inclusive games Abstract Computer games are now a part of our modern culture. However, certain categories of people are excluded from this form of entertainment and social interaction because they are unable to use the interface of the games. The reason for this can be deficits in motor control, vision or hearing. By using automatic speech recognition systems (ASR), voice driven commands can be used to control the game, which can thus open up the possibility for people with motor system difficulty to be included in game communities. This paper aims at find a standard way of using voice commands in games which uses a speech recognition system in the backend, and that can be universally applied for designing inclusive games. Present speech recognition systems however, do not support emotions, attitudes, tones etc. This is a drawback because such expressions can be vital for gaming. Taking multiple types of existing genres of games into account and analyzing their voice command requirements, a general ASRS module is proposed which can work as a common platform for designing inclusive games. A fuzzy logic controller proposed then is to enhance the system. The standard voice driven module can be based on algorithm or fuzzy controller which can be used to design software plug-ins or can be included in microchip. It then can be integrated with the game engines; creating the possibility of voice driven universal access for controlling games. The use of speech to control games is only one step towards inclusiveness and thereby universal design and accessibility in game. Other human modalities while combined together with speech will give more optimal performance, overcoming any drawbacks of using only speech. The result from this paper has multiple possibilities in game design and computer industry. While any existing algorithm can be altered and new algorithm can be created for detecting user emotions for executing one command in different way in game playing; which is important for elderly adult or disable people, an electronic chip can be programmed and integrated with sound card (for instance a PIC), substantiating the lasting universal design of certain standard of voice command for playing game. This opens an enormous opportunity both for the hardware manufacturers and game industries. Voice support for the game, based on this paper's idea can thus shows the way towards finding an industry standard of universal design for the computer games.. Moyen Mohammad Mustaquim is a doctoral researcher from Uppsala University. Moyen Mustaquim obtained his batchelor of computer science and engineering degree from Bangladesh and Masters degree from Uppsala University and presently working as a doctoral researcher and teacher in the Human Computer Interaction division on Department of Informatics and Media in Uppsala University. He has published so far in several conference proceeding. This is his first journal article. He lives in Uppsala, Sweden. He likes music and cooking besides research and teaching. The performance of the proposed system depends on how the algorithm is implemented. If it is a clean code based controller, the run time will be interesting to observe to evaluate the system's performance. The proposed model using the frequency level to detect and generate commands can be made more sophisticated while issues like word error rate, single word error rate and command success rate will be verified and fine tuned. Use of Viterbi algorithm is reasonable as long as it does not increase the cost of the overall algorithm. As the system will mostly be dealing with old or disabled people, decoding the speech might be difficult sometimes, when the system is presented with a new utterance and it must then compute the most likely source word. Using Viterbi algorithm is thus prudent to find the best path which can be an added advantage in this system. Using a fuzzy logic controller between ASRS system and game controller is definitely going to make the command execution process faster. However in the proposed fuzzy controller, some issues have been considered in terms of performance. The measurement of uncertainty is the first issue where the classical rules to find the max or min value has been use. Second, the importance measurement was considered, that is the uncertainty measurement rule might be altered by the value of importance of the members in fuzzy set, which may not just give the priority to the maximum or minimum value in this case. The quality measurement rule was also considered. The quality of a rule is measured by multiplying the value obtained by a rule with the quality value assigned to a rule. The quality value assigned to a rule can be 0 or 1 where 0 describes a rule to be lower quality and 1 describes the rule to be of a good quality. The frequency values well filtered and obtained from different commands were further analyzed to take the average, which is the mean value. The Hz and dB level was ranged based on the filtered data and was then used to construct a controller which is connected between the automatic speech recognition system and the game communication handler. The ASRS system detects and matches the stored vocabularies which in this case are the commands, while the controller checks the emotion of the uttered command (frequency and intensity) to instruct the game communication handler what to do according to the received pitch from a user. It is possible to construct a simple algorithm using the straightforward logic based loop where the purpose will be served but the run time might be quite long. Hidden Markov model (HMM) [5] is the broad-spectrum basis on modern form of speech recognition system and is a statistical model where the states are not directly visible to the user. This model can use the result of this research. The idea of using the frequency values obtained from the different users commands in HMM which combines many other algorithms for temporal pattern recognition in the game (speech in this case), can be viable. An example algorithm from this research for deciding a command between 'Fire' and 'Jump', based on statistical HMM may look like as follows: States=('Jump', 'Fire') Observations=('Hz, 'dB') From the above piece of code it can be understood that, if a user tends to use higher tone to utter a command it is possibly 'Fire' with higher probability assigned in the function start_ probability. The probability of the command 'Fire' to be 'Fire', when 'Fire' really is uttered is high when it is uttered in a high pitch otherwise it is 'Jump' command and this logic is assigned in the function transition_probability. The last function called emission_probability uses the frequency (Hz) and intensity (dB) value's average (in this example) or limit and decides the uttered command received from user and sends it to the game communication handler for the execution of the command on game environment and show it on the game's GUI.

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


Perceptually guided simplification of lit, textured meshes We present a new algorithm for best-effort simplification of polygonal meshes based on principles of visual perception. Building on previous work, we use a simple model of low-level human vision to estimate the perceptibility of local simplification operations in a view-dependent Multi-Triangulation structure. Our algorithm improves on prior perceptual simplification approaches by accounting for textured models and dynamic lighting effects. We also model more accurately the scale of visual changes resulting from simplification, using parametric texture deviation to bound the size (represented as spatial frequency) of features destroyed, created, or altered by simplifying the mesh. The resulting algorithm displays many desirable properties: it is viewdependent, sensitive to silhouettes, sensitive to underlying texture content, and sensitive to illumination (for example, preserving detail near highlight and shadow boundaries, while aggressively simplifying washed-out regions). Using a unified perceptual model to evaluate these effects automatically accounts for their relative importance and balances between them, overcoming the need for ad hoc or hand-tuned heuristics. Interactive graphics has come to rely on level of detail or LOD techniques. These techniques simplify the geometric representation of a scene to reduce its rendering cost, while attempting to preserve visual fidelity. A great deal of excellent research has studied how to simplify polygonal meshes, but the question of how to evaluate visual fidelity to guide that simplification has received less attention. Mesh simplification has been guided primarily by geometric metrics. Usually, however, the important question is not geometric but perceptual: does the simplification look like the original?. Of course, researchers in LOD have long recognized the importance of perceptual issues, but have tended to address those issues in an ad hoc fashion. For example, silhouettes are known to play a key role in object recognition and detection, and therefore even the earliest mesh simplification algorithms included heuristics to preserve detail in high curvature regions, which are more likely to project onto the silhouette; see for example the [Rossignac and Borrel 1993] vertex-clustering approach, or the decimation algorithm of [Schroeder et al. 1992] . View-dependent simplification research has also emphasized silhouette preservation; for example, [Luebke and Erikson 1997 ] enforce a tighter screen-space error threshold for silhouette regions than interior regions. Similarly, the presence and movement of specular highlights across a surface are known to provide important clues to its shape, so [Xia and Varshney 1996] and [Klein and Schilling 1999] describe view-dependent simplification schemes that preserve detail where such highlights are likely to appear. Many researchers have used heuristics and user-specified weights to balance the importance of geometric fidelity during simplification against preservation of appearancerelated attributes, such as color, normals, and texture coordinates [Garland and Heckbert 1998 , Erikson and Manocha 1999 , Hoppe 1999 . At a higher level, [Funkhouser and Sequin 1993 ] describe a predictive system for choosing LODs to maintain visual quality at constant frame rates; their system accounts for many perceptual factors. Again, the system is fundamentally heuristic, with usertunable parameters to control the relative importance of various perceptually-motivated factors.. We describe a polygonal simplification algorithm grounded directly in principles of visual perception. Briefly, we estimate the contrast that would be induced by local simplification operations (Figure 1 ), and the maximum spatial frequency of the resulting distortion, and predict the perceptibility of the operations based on a simple model of low-level vision called the contrast sensitivity function or CSF. Though the CSF does not provide a complete perceptual model, the resulting system achieves many effects desirable in a simplification algorithm, such as preservation of silhouette boundaries and shading-or illumination-sensitive simplification. More importantly, these effects proceed naturally from the perceptual model. This addresses the question of how, without heuristics or user input, to trade off such factors as silhouette preservation with distortion of a model's underlying color or texture coordinates. Note that we do not claim to achieve such effects for free; for example, we maintain normal cones to determine which regions occupy the visual silhouette. But the importance of that silhouette status-the decision of when to simplify a silhouette region rather than an interior region-derives from the perceptual model. original model, you probably can't afford to render an indistinguishable approximation. Second, the users of an application in which simplification must not be perceptible are unlikely to trust even a simplification algorithm that claims imperceptibility. A scientist, for example, might prefer to suffer slow frame rates rather than to trust that important features of a visualization are not being simplified away. Finally, and most importantly, at this time it does not appear feasible to evaluate a sophisticated model of visual perception fast enough to be used in interactive rendering.. In particular, the CSF models used by researchers to date (see Section 2.1) provide a reasonable first approximation to low-level perceptibility, but fail to take into account many important perceptual factors. Variations between individual users, adaptation to environmental lighting conditions, temporal sensitivity to flicker or sudden onset (as of a "pop" between LODs), chromatic versus achromatic contrast sensitivity, and facilitation/suppression via visual masking are all effects not modeled by the simple CSF. Some state-of-the-art models for accelerating offline rendering incorporate many of these effects [Ramasubramanian et al. 1999 , Myszkowski et al. 2001 ], but require orders of magnitude longer than the few milliseconds available in interactive rendering. To guarantee imperceptible rendering under these conditions currently appears out of reach, and to achieve it in practice requires making conservative decisions that prevent much simplification; for example, [Luebke and Hallen 2001] report that models in their system could be simplified two to three times further without introducing perceptible artifacts. Therefore, we take a pragmatic approach that focuses on perceptually-guided best-effort reduction to a triangle budget.

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


On the Compressibility of NP Instances and Cryptographic Applications We initiate the study of compression that preserves the solution to an instance of a problem rather than preserving the instance itself. Our focus is on the compressibility of N P decision problems. We consider N P problems that have long instances but relatively short witnesses. The question is, can one efficiently compress an instance and store a shorter representation that maintains the information of whether the original input is in the language or not. We want the length of the compressed instance to be polynomial in the length of the witness rather than the length of original input. Such compression enables to succinctly store instances until a future setting will allow solving them, either via a technological or algorithmic breakthrough or simply until enough time has elapsed.We give a new classification of N P with respect to compression. This classification forms a stratification of N P that we call the VC hierarchy. The hierarchy is based on a new type of reduction called W-reduction and there are compression-complete problems for each class.Our motivation for studying this issue stems from the vast cryptographic implications compressibility has. For example, we say that SAT is compressible if there exists a polynomial p(·, ·) so that given a formula consisting of m clauses over n variables it is possible to come up with an equivalent (w.r.t satisfiability) formula of size at most p(n, log m). Then given a compression algorithm for SAT we provide a construction of collision resistant hash functions from any one-way function. This task was shown to be impossible via black-box reductions [41] , and indeed the construction presented is inherently non-black-box. Another application of SAT compressibility is a cryptanalytic result concerning the limitation of everlasting security in the bounded storage model when mixed with (time) complexity based cryptography. In addition, we study an approach to constructing * In order to deal with difficult computational problems several well established options were developed, including: approximation algorithms, subexponential algorithms, parametric complexity and average-case complexity. In this paper we explore our favorite approach for dealing with problems: postpone them (hopefully, without cluttering our desk or disk). We initiate the study of the compressibility of NP problems for their resolution in some future setting. Rather than solving a given instance, we ask whether a shorter instance with the same solution can be found efficiently. We emphasize that we are not interested in maintaining the information about the original instance (as is the case in typical notions of compression), but rather maintain the solution only. The solution can possibly be much shorter than the input (as short as a yes/no answer), thus the potential of such a compression is high.. Specifically, we consider N P problems that have long instances but relatively short witnesses. An N P language L is defined by an efficiently computable relation R L such that an input (or instance) x is in L if and only if there exists a witness w such that R L (x, w) = 1. Throughout the paper, an N P instance is characterized by two parameters m and n: The length of the instance x is denoted by m and the length of the witness w is denoted by n. The problems of interest are those having short witnesses, i.e. n << m. Traditionally, the study of N P languages evolves around the ability or inability to efficiently decide if an instance is in the language or not, or to find a witness w for an instance x within polynomial time. We introduce the question of compressibility of such instances.. Compressing SAT Instances: To illustrate the relevant setting, we use the well known example of SAT. An instance Φ for SAT consists of a CNF formula over n variables and we define that Φ ∈ SAT if there exists an assignment to the n variables that satisfies all the clauses of Φ. We begin with compressibility with respect to decision, and discuss compressibility of the search variant later in the paper. The question of compressibility of SAT is the following: Example 1.1 (Compression of SAT instances) Does there exist an efficient algorithm and a polynomial p(·, ·) with the following input and output: Input: A CNF formula Φ with m clauses over n variables (we are interested in m >> n). Output: A formula Ψ of size p(n, log m) such that Ψ is satisfiable if and only if Φ is satisfiable.. The idea is that the length of Ψ should be essentially unrelated to the original length m, but rather to the number of variables (or in other words, to the size of the witness). Typically, we think of the parameters m and n as related by some function, and it is instructive (but not essential) to think of m as larger than any polynomial in n. So potentially, the length of Ψ can be significantly shorter than that of Φ. 1 In general, one cannot expect to compress all the formulas, or else we would have an efficient algorithm for all N P problems. 2 However, once we introduce the setting of a shorter witness, then compression becomes plausible. Note that if P = N P and we actually know the algorithm for SAT then clearly compression is trivial, simply by solving the satisfiability of Φ and outputting 1 if Φ ∈ SAT and 0 otherwise.

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


Generalized locally recurrent probabilistic neural networks with application to text-independent speaker verification An extension of the well-known probabilistic neural network (PNN) to generalized locally recurrent PNN (GLR PNN) is introduced. The GLR PNN is derived from the original PNN by incorporating a fully connected recurrent layer between the pattern and output layers. This extension renders GLR PNN sensitive to the context in which events occur, and therefore, capable of identifying temporal and spatial correlations. In the present work, this capability is exploited to improve the speaker verification performance. A fast threestep method for training GLR PNNs is proposed. The first two steps are identical to the training of original PNNs, while the third step is based on the differential evolution (DE) optimization method. r Following the introduction of the probabilistic neural network (PNN) by Specht [27] , numerous enhancements, extensions, and generalizations of the original model have been proposed. These efforts aim at improving either the learning capability [33, 3] , or the classification accuracy [6] of PNNs; or alternatively, at optimizing network size, thereby reducing memory requirements and the resulting complexity of the model, as well as achieving lower operational times [29, 30] . An architecture, referred to as a modified PNN (MPNN), was introduced in [35] for equalization of a non-linear frequency modulated communication channel. The MPNN, which is closely related to the PNN, represents a vector-quantized form of the general regression neural networks (GRNN) [28] of Specht. Improved versions of the MPNN were employed in numerous signal processing, pattern recognition [34] , and financial prediction applications [15] . A temporal updating technique for tracking changes in a sequence of images, based on periodic supervised and unsupervised updates of the PNN, has been also developed [32] . A locally recurrent global-feedforward PNN-based classifier, combining the desirable features of both feedforward and recurrent neural networks was introduced in [10] . Specifically, by incorporating a new hidden layer, comprised of recurrent neurons, we extended the original PNN architecture to locally recurrent PNN (LR PNN) [10] , in order to capture the inter-frame correlations present in a speech signal.. Initially, the locally recurrent global-feedforward architecture was proposed by Back and Tsoi [1] , who considered an extension of the multi-layer perceptron neural network (MLP NN) to exploit contextual information. In their work, they introduced the infinite impulse response (IIR) and finite impulse response (FIR) synapses, able to utilize time dependencies in the input data. The FIR synapse has connections to his own, current and delayed, inputs, while the IIR synapse has also connections to its past outputs. Ku and Lee [16] proposed diagonal recurrent neural networks (DRNN) for the task of system identification in real-time control applications. Their approach is based on the assumption that a single feedback from the neuron's own output is sufficient. Thus, they simplify the fully connected neural network to render training easier. A comprehensive study of several MLP-based locally recurrent neural networks is available in Campolucci et al. [5] . The authors of [5] introduced a unifying framework for the gradient calculation techniques, called causal recursive back-propagation. All aforementioned approaches consider gradient based training techniques for neural networks, which, as it is well-known, require differentiable transfer functions.. The work presented here draws on the concept of the locally recurrent global-feedforward architecture, and the recurrent layer we propose is similar to the IIR synapse introduced in [1] and the DRNN defined by Ku and Lee [16] . Our approach differs from the previously mentioned, primarily, because we consider PNNs instead of MLP NN. Most importantly, however, in the architecture proposed here each neuron in the recurrent layer receives as input not only current and past values of its inputs, but also the N previous outputs of all neurons in that layer. This can be considered as an generalization of the locally recurrent global-feedforward PNN architecture [10] that was obtained by adding time-lagged values of inputs to recurrent layer linkage of the LR PNN. Thus, in the GLR PNN, the neurons of the recurrent layer are linked to all current and L past inputs, and to N past outputs of all neurons from the same layer-in contrast to the LR PNN where connections to the past inputs were not implemented.. In comparison to [11] , the present contribution updates the GLR PNN architecture, its training procedure, and provides comprehensive results. Specifically, now all feedbacks, which origin from past outputs of neurons belonging to the recurrent layer, embrace the activation functions of these neurons. The last facilitates the training procedure of the recurrent layer weights and contributes for an improved convergence of the training process due to reduced dynamic range of values that the weight coefficients take. More importantly however, the aforementioned modification of the GLR PNN architecture leads to transformed dynamic range of the weight coefficients of the recurrent layer feedbacks. The dynamic range of their values is now comparable to the one of the weight coefficients of the inputs for that layer. In turn, the last leads to a lower sensitivity to rounding errors, an more economical hardware implementation, and most importantly, to an improved overall robustness of GLR PNNs.. Besides this improvement, in the present work the GLR PNN architecture evolves further allowing independence of the number of past inputs L and past outputs N considered in the hidden recurrent layer linkage. Thus, the earlier works [10, 11] can be considered as two special cases of the generalized architecture: for L ¼ 0 and L ¼ N, respectively. The aforementioned generalization of the GLR PNN architecture adds a new degree of freedom into the hands of researchers, and therefore contribute to improved flexibility and applicability to a wider range of classification tasks.. Another important development that we bring forward in the present work, when compared to [11] , is the amended error function, which is object of minimization during the recurrent layer training. The error function was modified in a manner to seek for specific predefined balance of training among the classes, which guarantees a better steering of the learning rate for each and every class, and a better customization of the individual classes.. The layout of the present article is described as follows: The theoretical foundations of the original PNN are briefly discussed in Section 2. In Section 3, we present the updated architecture of the GLR PNN, and in Section 4, a modification of the training method is proposed. A brief description of the speaker verification (SV) task and the specific form of the GLR PNN when involved in this task is presented in Section 5. In addition, Section 5 outlines our SV system, referred to WCL-1, and discusses some measures for assessment of the SV performance. Section 6 describes the PolyCost speaker recognition database. Next, in Section 7 the experimental setup is discussed and comparative results on the task of text-independent SV are presented. Specifically, firstly the efficiency of various differential evolution (DE) operators for training the GLR PNNs recurrent layer is studied. Then, the ability of the GLR PNN to exploit correlations in the input data, for several values of the recurrence depth N, is investigated. A comparative evaluation of the GLR PNNs performance with that of the LR PNNs one, and with other locally recurrent structures, like the DRNNs, IIRs and FIR's ones, is performed. Finally, results from a comparative evaluation of the GLR PNN with respect to the original PNN, as well as to a Gaussian mixture models (GMMs)-based classifier, are reported. The article ends with concluding remarks. Introducing the generalized locally recurrent PNN, we extended the traditional PNN architecture to exploit the temporal correlation among the features extracted from successive speech frames. When compared to earlier work, a further development of the GLR PNN architecture and a revised training method was presented. Comparative experimental results for text-independent speaker verification (SV) confirmed the practical value of the proposed GLR PNN. For both male and female speakers, a better speaker verification performance expressed as a relative reduction of the EER with 9% was achieved, without significantly increasing the operational complexity of the original PNN, and without requiring additional training data. This work focused on the PNN-based structures (PNN, LR PNN, GLR PNN, etc). Due to their simpler training, the ability to learn from small amounts of data, and the intrinsic parallel architecture, they are very attractive for hardware implementations.

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


1-vertex-fault-tolerant Cycles Embedding on Folded Hypercubes In this paper, we focus on a hypercube-like structure, the folded hypercube, which is basically a standard hypercube with some extra links between its nodes. Let f be a faulty vertex in an n-dimensional folded hypercube FQ n . We show that FQ n − {f } contains a faultfree cycle of every even length from 4 to 2 n − 2 if n ≥ 3 and, furthermore, every odd length from n + 1 to 2 n − 1 if n ≥ 2 and n is even. The design of interconnection networks is an important integral part of the parallel processing or distributed systems. There are a large number of topological choices for interconnection networks. The interested readers may refer to [4, 8, 20] for extensive references. Among them, the hypercube [5] has several excellent properties such as recursive structure, regularity, symmetry, small diameter, relatively short mean internode distance, low degree, and low link complexity, which are very important for designing massively parallel or distributed systems [12] . Since its introduction, many variants of the hypercube have been proposed [1, 6, 15] and become the focus of research. One of these variants is the folded hypercube. It is an extension of the hypercube and constructed by adding one additional link to every pair of the farthest nodes, i.e., two nodes with complementary addresses. The folded hypercube improves the system's performance over a regular hypercube in many measurements [1, 18] .. The embedding of one guest graph G into another host graph H is a one-to-one mapping m from the vertex set of G into the vertex set of H [12] . An edge of G is mapping to a path of H under m. An embedding strategy provides us a scheme to emulate a guest graph on a host graph. Therefore, the algorithms developed in a guest graph can be executed well on a host graph.. Linear arrays and rings, which are two of the most fundamental networks for parallel and distributed computation, are suitable for designing simple algorithms with low communication costs. Numerous efficient algorithms designed on linear arrays and rings for solving various algebraic problems and graph problems can be found in [2, 12] . Linear arrays and rings can be used as control/data flow structures for distributed computation problems. Linear arrays can also be applied to practical on-line optimization in the complex Flexible Manufacturing Systems [3] . These applications motivate the study of embedding paths and cycles on arbitrary networks.. Since faults may happen when a network is put into use, it is practically meaningful and important to consider faulty networks. Previous researches on the fault-tolerant embedding problems for the n-dimensional hypercube Q n can be found in [7, 10, 11, 16] . Let F v and F e be the sets of faulty vertices and faulty edges of Q n . Sengupta [16] showed that Q n − F e − F v 1 contains a cycle of length at least 2. and |F e | + |F v | ≤ n − 1. Fu [7] showed that Q n − F v contains a cycle of length 2 [11] showed that every edge of Q n − F v − F e lies on a cycle of every even length from 4 to 2. where n ≥ 3. In this paper, we embed the 1-vertex-fault-tolerant cycles into an n-dimensional folded hypercube FQ n . Let f be a faulty vertex in FQ n , we show that FQ n − {f } contains a fault-free cycle of every even length from 4 to 2 n − 2 if n ≥ 3. Besides, FQ n − {f } contains a fault-free cycle of every odd length from n + 1 to 2 n − 1 if n ≥ 2 and n is even.. Throughout this paper, the following terms are used interchangeably: network and graph, node and vertex, edge and link. The remaining part of this paper is organized as follows. In Section 2, necessary definitions and notations are introduced. In Section 3, we show our main result. Finally, this paper concludes with some remarks in Section 4. Fault tolerance is an important research subject in the area of multi-processor computer systems, and many studies have been focused on the vertex-fault-tolerant or edge-fault-tolerant properties (see [21] for a survey). Let f be a faulty vertex in an n-dimensional folded hypercube FQ n . In this paper, we show that FQ n − {f } contains a fault-free cycle of every even length from 4 to 2 n − 2 if n ≥ 3 and, furthermore, every odd length from n + 1 to 2 n − 1 if n(≥ 2) is even. That is, when n is even and n ≥ 4, FQ n − {f } contains a fault-free cycle of every length from n to 2 n − 1. According to our construction method in the proof, it is not difficult to design an efficient recursive algorithm to construct a cycle of every even or odd length in a folded hypercube.

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