A semi-mechanistic model building framework based on selective and localized model extensions In the core of many process systems engineering tasks, like design, control, optimization and fault diagnosis, a mathematical model of the underlying plant plays a key role. Such models are so important that extensive studies are available, recommending different modeling techniques to be adopted for specific processes or goals. It is usual and practical to split modeling techniques under two main groups: mechanistic methods and empirical or statistical methods. Both paradigms have been adopted, but very few frameworks were developed to combine and integrate features from both of them. In this article we describe a framework for data-driven evolution of static mechanistic models with a selective inclusion of simple empirical terms. To illustrate its practical potential, our framework is applied to the identification of a non-ideal reactor and to the optimization of the Otto-Williams benchmark reactor. The construction of mathematical models to forecast and understand the behavior of chemical processes forms the basis for a countless number of process systems engineering tasks (planning, optimization, improvement, fault diagnosis, control, etc.) . Depending on the nature of the specific process and its desired goals, several kinds of models have been developed, differing, namely in scope, level of detail, and underlying structures.. However, for many practical situations two separate schools of thought have emerged. On one hand, we have fully mechanistic approaches, where models are built based upon firstprinciples phenomena. On the other hand, and specially for operation improvement at existing plants with complex transformations, fully empirical techniques have also been suggested and applied, relying in operators knowledge extraction, data analy-sis based upon machine learning (Saraiva, 1996) or statistical tools. But only a few efforts have been done in the past to combine and integrate both of the above paradigms, although they are conceptually believed to be complementary to each other: empirical components will in general lead to better local prediction capabilities through the full exploration of all information that is available, while mechanistic elements make it possible for one to get a better understanding of the underlying physicochemical phenomena, predict the values for unmeasured state variables, provide additional trust, reliability and extrapolation characteristics.. One of the most widespread techniques employed for plant optimization is response surface analysis (Box & Draper, 1987) based on experimentation and empirical modeling. But experiments are often expensive, its number tends to grow exponentially with the number of relevant process variables, and empirical models are known to fail on wide operation domains. The use of mechanistic model-based optimization (Garcia & Morari, 1981) has been advocated as an alternative solution. A priori process knowledge reduces the need for experimental data and optimization can be carried out over a larger space of CSTR prediction error for variable k and measurement i τ CSTR residence time θ model parameters process variables. However, the mismatch between mechanistic model predictions and plant data leads to results that can be quite suboptimal when applied to the real plant. For plant optimization, there is thus a clear need for strategies that effectively incorporate both mechanistic and experimental knowledge. When doing statistical based plant optimization, one often notices that the amount of information needed to build adequate empirical models requires a lot of time and resources. Furthermore, because of safety considerations, the search space for experimentation in real plants is somewhat limited around regular operating conditions, and in doing so limits some improvement potential that may be associated with other areas of the decision space. This situation makes the usage of mechanistic modelbased techniques very important for some plants.. The main problem quite often consists of being able to derive a fully mechanistic model good enough to support decisionmaking. In real plant optimization, there is a clear need for combining known mechanistic models together with available operating data, in a way that goes further than just doing parameter adjustment in the mechanistic model. But when using a parallel or serial combination of a mechanistic model and an artificial neural network (or other empirical based modules) the resulting model behavior in extrapolation is known to be unstable and non-reliable (Braake, van Can, & Verbruggen, 1998) . With the internal simple empirical extensions that we will propose in our framework, to be described in this paper, it is possible for one to keep the main relations between variables, provided by an initial mechanistic model of the plant, but obtain from it a derived model with a better data fitting and prediction capabilities, and therefore able to provide a closer representation of a real industrial plant. The extrapolation stability of the hybrid structures thus obtained is an important characteristic for model-based plant optimization.. Model-based plant optimization can also performed online, using a real-time optimization loop, based upon this kind of semi-mechanistic models. Forbes, Marlin, and MacGregor (1994) show that the choice of an appropriate mechanistic model structure is very important and certain criteria must be met in order to obtain convergence to the plant optimal conditions. A fully mechanistic model built with reasonable considerations may however fail completely in real-time optimization of industrial units, due to approximations and lack of data fit that originate an error surface that does not enable convergence to the real world plant optimal conditions. The hybrid mechanisticempirical models that we propose have both parameter and structure adjustment capabilities, and therefore are able to result in improved optimization solutions, as we will see in one of the case studies to be presented.. In the limited previous work that has been done in order to build hybrid mechanistic-empirical models (Cameron & Hangos, 2001; Psichogios & Ungar, 1992; Schubert, Simutis, Dors, Havlík, & Lubbert, 1994; Su, Bhat, & McAvoy, 1992; Thompson & Kramer, 1994; Van Can, Hellinga, Luyben, & Heijnen, 1996; ) , one may find different perspectives, including the choice among alternative first-principles models followed by some parameter fitting to existing data or combination of the available mechanistic model with an empirical model adjusted to the residuals. Research in the area of system identification also introduced the concept of grey-box models (Lindskog & Ljung, 1995; Ljung, 1999) for representing models with physical components (whitebox models) and empirical components (black-box).. However, none of them take into account the detailed fine structure of the available underlying mechanistic model, neither do they allow for partial localized and selective introduction of empirical elements. In this article we present a framework for building semi-mechanistic models with such capabilities.. In order to state, in a simple language, the goals and practical value of our work, one may say that given an initial mechanistic model structure (IMMS), and sets of collected industrial data from the plant that such a model is trying to represent (D), we try to build alternative semi-mechanistic model structures (SMMS) that make use of available phenomenological knowledge but build on top of it in order to come up with model structures that lead to a closer approximation to the plant reality, as expressed by the available data. Our framework provides a decision support system to guide the user in the construction and test of such alternative model structures. One main difference between our framework and genetic programming is that our search space is constructed in a way that reduces the number of possible combinations to the ones that introduce simple and local changes to the original IMMS model structure. While genetic programming is able generate new complex structures, our framework is focused in finding simple extensions that build on top of the knowledge and vocabulary of terms connected with the initially available mechanistic features, expressed by IMMS. We will only deviate from it as much as is needed to come up with acceptable data fitting performances. We have introduced and developed a framework that is supported by the symbolic reformulation of a set of first-principles equations, in order to derive hybrid mechanistic-empirical models. The use of this model reformulation strategy results in a set of atomic equations that allow for empirical elements to be added selectively and locally. This set is used to create a symbolic search space on neighborhood of the initial mechanistic model and determine, through combinatorial optimization, the best hybrid mechanistic-empirical that represents the information in the available data.. The development of semi-mechanistic models using this new framework has shown to be a simple and effective path for static mechanistic model evolution. In the case studies presented we were able to obtain models with an order of magnitude improvement in their performance criteria over the initial mechanistic model performance. For the Williams-Otto benchmark problem, we were also able to start with an approximate mechanistic model known to be inappropriate, and obtain a semi-mechanistic model enabling a very good model-based optimization of the unit. In both cases, the model predictions in extrapolation indicate very good performance and stability.. This framework opens new possibilities regarding the integration of empirical and mechanistic modeling. The resulting models have very good characteristics of stability and understandability and can replace mechanistic models in many process engineering model-based techniques.

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


Some comments on Egghe's derivation of the impact factor distribution In a recent paper, Egghe [Egghe, L. (in press In a recent paper in the Journal of Informetrics, Egghe (in press) provides a mathematical analysis of the rank-order distribution of journal impact factors (IFs). Egghe's aim is to give a theoretical explanation for the IF rank-order distributions that are shown in a paper by Mansilla, Köppen, Cocho, and Miramontes (2007) . In this communication, we point out that Egghe's 1 analysis relies on an unrealistic assumption. We also show that his analysis is not in agreement with empirical data. Based on our findings, we conclude that Egghe's explanation for the IF rank-order distributions shown by Mansilla et al. is unsatisfactory. Based on this result, Egghe studies the properties of two types of rank-order distributions, namely rank-order distributions of IFs and rank-order distributions of logarithms of IFs. Egghe proves that both types of rank-order distributions have an S-shape, that is, both types of rank-order distributions are first convexly decreasing and then concavely decreasing. As an illustration of Egghe's analysis, we consider the following hypothetical example.. There are 1000 journals in a certain scientific field. During a certain period of time, each of these journals has published 100 articles. The number of citations of an article is a random variable. Since in total 100, 000 articles have been published, there are 100, 000 random variables. These random variables are assumed to be independent and identically distributed. To examine how IFs are distributed in this example, we make use of computer simulation. For each of the 100, 000 articles, we determine the number of citations by a draw from a negative binomial distribution (e.g., Glänzel, 2009; Schubert & Glänzel, 1983) with mean 1 and vari-1 In fact, the implication requires an additional assumption, namely the assumption that all journals in a field publish the same number of articles. However, this assumption seems less critical for Egghe's analysis.. 2 This is equivalent to Egghe's assumption that the articles published in a journal can be regarded as a random sample from the population of all articles published in a field. We have pointed out that Egghe's analysis relies on the unrealistic assumption that the articles published in a journal can be regarded as a random sample from the population of all articles published in a field. We have also shown that Egghe's analysis is not in agreement with empirical data. Based on our findings, we conclude that Egghe does not give a satisfactory explanation for IF rank-order distributions such as those shown by Mansilla et al. (2007) .

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


Evaluating the performance of architectures in MASCOT Several design methods for software/system architectures have been developed since the origins of Software Engineering. MASCOT remains as one of such preferred design methods in the European defence arena. There are even tools that support MASCOT diagram and textual software/system designs and also their automatic code generation. However, less attention has been paid to nonfunctional aspects of these designs, e.g. performance evaluation. MASCOTime is a tool prototype for MASCOT, that uses the discrete-event simulation to help analysts to select among several software/system architectures. In order to provide the performance constraints of system designs, MASCOT has been annotated in a transparent way for software engineers. MASCOTime will assist software/system developers to decide which architecture matches the performance and functional requirements on early steps of design. This paper has shown the capabilities of a new prototype extension for MASCOT design methodology known as MASCOTime. MASCOTime provides a discrete-event simulator for MASCOT designs in order to select among different software/system architectures. MASCOTime code is added as comment annotations inside the original MDL file (MASCOT Description Language) in a friendly manner. In this way the software engineering process is not disturbed and the annotated code provides, with some redundancy, a functional description of the system together with its performance constraints. On the other hand, a translator transforms the MASCOTime description into a Main.java file that is linked with the MASCOTime simulation library. Once the file is compiled and run, it will generate simulation results on a text file as well as a log of every event in the system that is being designed. The approximate performance evaluation through simulation may be used by software engineers for choosing among alternative architectures in early phases of software/system development. The joint architectural description of a new system into a reduced set of functional and performance aspects eases the tasks on its ulterior construction.. The progressive refinement of the architecture with the MASCOTime tool does not interfere with the normal work-flow of the MASCOT users. A designer can do as much refinement as considered necessary but can stop at any moment and move on to the next regular step of the software development process. This is considered a good feature because it does not impose an additional task to software developers.. There are some points that are still left for future research and development. The main tradeoff while working with the MASCOTime tools is the treatment of the initial transient. Some further efforts have to be done in order to have the simulator skip automatically the initial transient state so that only one run has to be done to obtain similarly accurate simulation results.. As far as the routes are concerned, MASCOTime extensions are enough to define simulation models. However, when dealing with active elements, possibilities grow quickly. We have presented the current set of implemented actions available, but future extensions are being researched. Firstly, never-blocking versions for reading and writing actions; in this way, the active element will not be blocked when trying to read from an empty route. Instead it will return and proceed with other actions. This implies some kind of conditional branching and leads to the implementation of control statements e.g. IF...THEN...ELSE, WHILE, FOR, etc. which would bring some more flexibility in the MASCOTime definition of a sequence of actions. The extensions just introduced have not been integrated in the current system because they would force the designer to go a little too deep into implementation details. This was not desired because one of the main goals was to minimize the interferences to the work-flow of the developers who work with this methodology. The ability to perform more detailed simulation improves usability as the design advances, but for an early evaluation the current set will usually be enough.

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


Looking forward 10 years to multimedia successes A panel at ACM Multimedia 2012 addressed research successes in the past 20 years. While the panel focused on the past, this article discusses successes since the ACM SIGMM 2003 Retreat and suggests research directions in the next ten years. While significant progress has been made, more research is required to allow multimedia to impact our everyday computing environment. The importance of hardware changes on future research directions is discussed. We believe ubiquitous computingmeaning abundant computation and network bandwidth-should be applied in novel ways to solve multimedia grand challenges and continue the IT revolution of the past century. The 20th Anniversary Panel at ACM Multimedia 2012 "Coulda, Woulda, Shoulda: 20 Years of Multimedia Opportunities" allowed senior researchers in the field to discuss changes, successes, and missed opportunities in the past 20 years. Rather than recapitulate the discussions during the session, this article reviews progress since a research retreat held ten years ago at ACM Multimedia 2003 and discusses my view of what multimedia research should be working on in the next ten years.. Past experience suggests that predicting the future is nearly impossible. While the Internet was incubated by the Advanced Research Projects Agency of the U.S. Department of Defense beginning in the late 1960's, the Commercial Internet did not appear until 1995. Who would have predicted at the 1st ACM Multimedia Conference in 1993 that by 2013 Apple Computer, among the highest valued companies in the world, would produce digital media products that defined the digital generation, that Google, founded in 1998, would dominate the 2012 U.S. online advertising market with revenue over $21 billion and will soon pass the total amount spent on TV advertising each year, and that Author's address: L. A. Rowe, FXPAL, 3174 Porter Drive, Palo Alto, CA 94304; email: rowe@fxpal.com. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. On a personal level, I gave a keynote presentation at the SPIE/ACM Multimedia Computing and Networking Conference in January 2005 titled "Whither Ubiquitous Video" that asked why online streaming video was not widely available given that streaming audio was widely available and the technology required to delivery video was well understood? As it turns out, the week before I gave the keynote, YouTube was founded which revolutionized the Internet video business. Today, 2 billion YouTube videos are played each day on the Internet.. Notwithstanding the challenge of predicting the future, researchers must guess which technologies and products are likely to emerge so they can choose research projects on which to work. The remainder of this article will assess the multimedia field today as compared with recommendations made ten years ago, present ideas about how to look for significant impacts on the future, and discuss my opinion about the direction for the field of multimedia for the next ten years.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Comparative accuracies of artificial neural networks and discriminant analysis in predicting forest cover types from cartographic variables This study compared two alternative techniques for predicting forest cover types from cartographic variables. The study evaluated four wilderness areas in the Roosevelt National Forest, located in the Front Range of northern Colorado. Cover type data came from US Forest Service inventory information, while the cartographic variables used to predict cover type consisted of elevation, aspect, and other information derived from standard digital spatial data processed in a geographic information system (GIS). The results of the comparison indicated that a feedforward artificial neural network model more accurately predicted forest cover type than did a traditional statistical model based on Gaussian discriminant analysis. Accurate natural resource inventory information is vital to any private, state, or federal land management agency. Forest cover type is one of the most basic characteristics recorded in such inventories. Generally, cover type data is either directly recorded by field personnel or estimated from remotely sensed data. Both of these techniques may be prohibitively time consuming and/or costly in some situations. Furthermore, an agency may find it useful to have inventory information for adjoining lands that are not directly under its control, where it is often economically or legally impossible to collect inventory data. Predictive models provide an alternative method for obtaining such data.. Compared to statistical models, artificial neural networks (ANNs) represent a relatively new approach to developing predictive models. Artificial neural networks are ''computing devices that use design principles similar to the design of the information-processing system of the human brain'' (Bharath and Drosen, 1993, p. xvii) . Several recent textbooks describe the mechanics of ANNs (Hertz et al., 1991; Haykin, 1994; Masters, 1994; Bishop, 1995; Ripley, 1996) . Recent publications involving artificial neural networks being applied to natural resources topics include: modeling complex biophysical interactions for resource planning applications (Gimblett and Ball, 1995) ; generating terrain textures from a digital elevation model and remotely sensed data (Alvarez, 1995) ; modeling individual tree survival probabilities (Guan and Gertner, 1995) ; and Harvey and Dean (1996) , who used geographic information systems (GIS) in developing computer-aided visualization of proposed road networks. Recent comparisons in which ANNs performed favorably against conventional statistical approaches include Reibnegger et al. (1991) , Patuwo et al. (1993) , Yoon et al. (1993) , Marzban and Stumpf (1996) , Paruelo and Tomasel (1996) , Pattie and Haas (1996) , and Marzban et al. (1997) .. However, artificial neural networks do not always outperform traditional predictive models. For example, Jan (1997) found a traditional maximum-likelihood classifier outperformed artificial neural network models when classifying remotely sensed crop data. Also, using their best artificial neural network model, Vega-Garcia et al. (1996) obtained only a slight improvement in predicting human-caused wildfire occurrences as compared to their best logit model. This study examined the ability of an ANN model to predict forest cover type classes in forested areas that have experienced relatively little direct human management activities in the recent past. The predictions produced by the ANN model were evaluated based on how well they corresponded with observed cover types (absolute accuracy), and on their relative accuracy compared to predictions made by a more conventional model based on discriminant analysis (DA). This study evaluated the ability of an artificial neural network (ANN) model to predict forest cover type classes in forested areas that have experienced relatively little direct human management activities in the recent past. The ANN model was evaluated based both on its absolute accuracy and on its ability relative to a model based on discriminant analysis (DA). In general, the ANN model produced good classification results, with greater accuracies than those produced by the DA model.. For comparison purposes, a study involving land cover classification from remotely sensed data was recently conducted for the Colorado State Forest, which lies along the western edge of the study area used in this research project. The Colorado State Forest study (Croteau, 1994) used Landsat Thematic Mapper data to classify 30× 30-m observations into one of 11 relatively broad land cover classes (water, conifer, aspen, willow/wet meadow, mountain meadow, alpine vegetation, clearcut, range, non-vegetation, sand, and snow). By using remotely sensed data describing actual landforms and vegetation, rather than the cartographic data used in this study that describes only site characteristics, predictive accuracies of 71.1% were achieved (Croteau, 1994) . The classification accuracy achieved with the artificial neural network model in this study compares very favorably with this remote sensing accuracy. Along with those results obtained from previous ANN studies, these findings suggest that while the ANN approach does have its own drawbacks, it can still be a viable alternative to traditional approaches to developing predictive models.. Denis J. Dean is an Associate Professor of Natural Resource Information Systems in the Remote Sensing and GIS Program, Department of Forest Sciences, Colorado State University. He teaches introductory to advanced courses in the area of spatial data capture, analysis and visualization. His research interests are focused on the development of new methods and techniques of utilizing spatial data in natural resource management. The ANN models consistently outperformed the DA models in the prediction of forest cover types. One reason for this result may be the assumptions associated with most statistical analysis techniques, including DA. In discriminant analysis, the distributions of both the dependent and independent variables are assumed to be normal (Gaussian), and for LDA the covariance matrices for each group are assumed to be equal (homoscedasticity).. The data set investigated in this study contained both qualitative and quantitative variables, some of which were clearly not normally distributed. This factor could have effected the LDA results. However, previous studies have found that LDA is very robust to mixed data types. As Yoon et al. (1993) states:. In applied research, data are seldom compatible with the underlying assumptions needed to perform statistical inferences. In many fields, like social and behavioral sciences, business, and biomedical sciences, measurement of hard data is still a problem. Measurements are, at best, of nominal or ordinal nature. Usually, research workers ignore the discrete nature of the data and proceed with classification using Fisher's LDF. In such situations they get a useful, but not an optimal rule of classification.. The non-optimality of the LDA results in mixed data type situations was obvious; in this study, the non-optimality lowered the accuracy of the LDA results to a level lower than that produced by the artificial neural networks.. In addition to parametric discriminant analysis, a single form of non-parametric discriminant analysis was also evaluated in this study. This non-parametric version did not perform noticeably differently from the parametric DA versions. However, there are many forms of non-parametric DA available, each with their own unique strengths and weaknesses. Thus, the single non-parametric DA conducted in this study cannot be considered to be representative of all possible non-parametric DAs.. The ANN model produced higher classification accuracies than the DA approach, both in cases where only quantitative independent variables were used and where both qualitative and quantitative independent variables were employed. This may be due to the fact that the artificial neural network approach makes no explicit assumptions regarding the underlying distributions of the variables involved (Marzban et al., 1997) . Another benefit is the ability of the artificial neural network structure to partitioning the input space into regions that allow for classification of linearly inseparable data (Yoon et al., 1993) . Consequently, one would expect an ANN model to outperform a LDA model for most classification tasks involving non-linear data. Non-linearity was certainly present in the data used in this study.. When comparing the individual classification matrices of the best ANN model against that of the best DA model (the two 54 independent variables models), as shown in Tables 5 and 6 , many insights may be drawn concerning the respective classification strategies of the two models. In general, both the ANN and DA models seemed to misclassify ponderosa pine, Douglas-fir, and cottonwood/willow cover types primarily with each other. These misclassifications may be due to the actual geographic proximity of the cover types, since they are all principally found in the Cache la Poudre wilderness area. Both predictive models also seemed to misrepresent krummholz as spruce/fir and to a lesser extent as lodgepole pine. All three of these forest cover types are typically considered high elevational species, which might have caused the classification confusion in some instances. The aspen cover type was generally misclassified by both the ANN and DA models as lodgepole pine, but these misclassifications were much more frequent in the DA model (381 observations misclassified for the ANN model and 1488 observations for the DA model). In addition, the lodgepole pine cover type was primarily misrepresented by both the ANN and DA models as either spruce/fir or aspen. However, the DA model misclassified a much larger number of actual lodgepole pine observations as aspen (53 262 observations misclassified for the DA model and 27 391 observations for the ANN model). This classification confusion for the lodgepole pine and aspen cover types and disparity of numbers of misclassifications by the DA model may be due in part to its inability to take advantage of the presumably non-linear influence of the horizontal distance to the nearest wildfire ignition point variable. Another likely factor would be that lodgepole pine and aspen cover types are generally located within the same altitudinal zone (Whitney, 1992) and are frequently found as neighboring forest stands within the study area.. In addition to overall classification accuracies, Tables 5 and 6 also show prediction accuracies for each forest cover type. When comparing correct predictions for each cover type (the major diagonal through each classification matrix) between the ANN model and the corresponding DA model, the ANN model produces more accurate predictions for every cover type.. Furthermore, when considering percent of predicted forest cover types (column totals) against percent of observed forest cover types (row totals), the ANN model was superior to the DA model. Although this measure does include omission and commission errors, the ANN model was closer to the observed percentage of each forest cover type than the corresponding DA model. Overall, these detailed measures of classification accuracy indicate that the ANN model outperformed the DA model for overall classification accuracy, individual forest cover type accuracy, and the percent of predicted forest cover type totals.. An obvious burden of the artificial neural network approach is the need to divide the data into three separate sets for analysis rather than the traditional two sets used in most conventional statistical methods. Fortunately, this was not a problem in this study; a very large number observations were available for analysis and hence all three data sets contained adequate numbers of observations. However, this fact may pose a problem for other applications where data is not so plentiful.. Another consideration when comparing the two classification techniques involves the amount of computational time required to develop each model. The ANN model outperformed the DA model in classification accuracy, but also demanded a greater amount of time to generate a set of network parameters. For example, the ANN model with 54 independent variables required 56 computer runs (i.e. different networks) to determine the 'best' set of network parameter values, with each run taking roughly 45 h to complete (using a UNIX Sun Sparc workstation). In contrast, the DA model with 54 independent variables (using the same workstation) required only a single computer run that lasted only 5 min. This major time difference should be considered by those analysts comparing these two techniques.. In a previous paper (Blackard and Dean, 1996) , we described an earlier attempt to predict forest cover types from cartographic variables. In contrast to the findings reported here, this earlier attempt concluded that both the ANN and DA methods performed rather poorly. We feel that these earlier findings reflected the sensitivity of the DA approach to the manner in which the available data is divided into training, validation and testing sets, and to some of the characteristics of the data sets themselves. In the earlier study, the training and validation data sets were created by including every raster cell located within one or more subjectively chosen geographically contiguous areas. Attempts were made to ensure that these contiguous regions represented the full range of variability throughout the study area, but such full representation was not completely possible. Some amount of analyst bias was undoubtedly present by using this type of procedure to develop training and validation data sets. In contrast, this current study randomly assigned raster cells to the various data sets, thereby ensuring a truly random (and presumably representative) sample within each set.. In addition, the sampling scheme used in the current study ensured that within both the training and validation data sets, each forest cover type was represented by an equal number of observations. No effort was made to equalize cover type representations in the data sets used in the previous study. By incorporating a random sampling system along with minor refinement of the predictive variables, this study produced ANN models with greater predictive accuracy than comparable DA models. The MSE values across all 14 different numbers of hidden nodes from the 54 variable ANN models are shown in Fig. 2 . Each of these networks held the LR and MR values constant at 0.05 and 0.9, respectively. This figure shows that roughly 120 hidden nodes were necessary to minimize the MSE in these networks.. Once the 'best' number of hidden nodes was identified, the learning rates and momentum rates were sequentially changed to determine optimal values for these parameters. Fig. 3 displays a radar plot of the resulting MSE values for 42 different candidate networks, all with 120 hidden nodes. As shown, a learning rate of 0.05 generally produced the lowest MSE for each possible momentum rate. In addition, momentum rate values of 0.3, 0.4, and 0.5 appeared to have the lowest average MSE among the various learning rates. The network model with the lowest MSE was produced with an LR of 0.05 and an MR of 0.5.. From these results, a ANN design of 54 input nodes, 120 hidden nodes, and seven output nodes (symbolized as 54-120-7) with an LR= 0.05 and MR= 0.5 was chosen as 'optimal' for this data set. Optimal parameters for each of the reduced artificial neural network models were found in a similar fashion, and are shown in Table 4 .. Classification accuracies produced by each model as calculated from the test data set were also examined. As shown in Table 5 , the ANN predictions of forest cover type produced an overall classification accuracy of 70.58%. In comparison, Table 6 presents the LDA results obtained from the test data set. The overall classification accuracy for the DA model was 58.38%.. The ANN model was recreated an additional 30 times with randomly selected initial weights to evaluate the nature of the ANN's response surface. The resulting mean classification accuracy was 70.52%, with a 95% confidence interval of 70.26-70.80% and a standard deviation of 0.7293. This narrow confidence interval indicates that the response surface is fairly smooth in the region surrounding the solution found by the ANN.. The classification accuracies of each reduced model for both the ANN and the DA models were also determined. Fig. 4 compares these classification results for the Fig. 4 . Comparison of artificial neural network and discriminant analysis classification results (ann =ar-tificial neural network; lda = linear discriminant analysis; qda =quadratic discriminant analysis). ANN, LDA, and QDA methods. The QDA accuracies are only provided for the predictive variables subsets which produced valid results (i.e. set including only quantitative variables). As this figure shows, the ANN models outperform the corresponding DA methods across all predictive variable subsets for this data set.

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


TCHR: a framework for tabled CLP Tabled Constraint Logic Programming is a powerful execution mechanism for dealing with Constraint Logic Programming without worrying about fixpoint computation. Various applications, e.g in the fields of program analysis and model checking, have been proposed. Unfortunately, a high-level system for developing new applications is lacking, and programmers are forced to resort to complicated ad hoc solutions.This papers presents TCHR, a high-level framework for tabled Constraint Logic Programming. It integrates in a light-weight manner Constraint Handling Rules (CHR), a high-level language for constraint solvers, with tabled Logic Programming. The framework is easily instantiated with new application-specific constraint domains. Various high-level operations can be instantiated to control performance. In particular, we propose a novel, generalized technique for compacting answer sets. The notion of tabled Constraint Logic Programming (CLP) originates from the constraint databases community (Kanellakis et al. 1995) . In an ordinary database, data is stored in relations of atomic values. Constraint databases generalize atomic values to constraint variables: a field is restricted to a range of values rather than a single value. This allows for more compact representations than explicitly enumerating the atomic values. DATALOG, a formalism for reasoning about ordinary databases and queries in particular, is generalized to DATALOG D for this purpose. Just as DATALOG is a restricted form of Logic Programming, DATALOG D is a restricted form of Constraint Logic Programming. The restrictions enforce programs to have finite interpretations.. Due to the finiteness properties, queries on DATALOG D programs can be resolved by bottom-up computation rather than the usual top-down goal-directed computation of CLP. The former has the advantage that it terminates for DATALOG D programs, whereas the latter may get stuck in infinite loops. However, a goaldirected approach usually obtains the desired result much faster and uses less space. For this reason, Toman (Toman 1997b ) proposed a compromise: tabling. Tabling is an LP technique for improving the termination properties of the goal-directed approach through the memoization of intermediate results. By generalizing tabled DATALOG D to Tabled CLP, we benefit from both the generalized expressivity of CLP and the improved termination properties of tabling.. A number of different applications have been proposed for tabled DATALOG D and Tabled CLP. Toman himself considers it an alternative approach to implementing abstract interpretation (Toman 1997a) : constraints abstract concrete values and tabling takes care of fixpoints. Various applications in the context of model checking have been developed (Mukund et al. 2000; Du et al. 2000; Pemmasani et al. 2002) : constraints impose restrictions on parameters in parametrized models while tabling takes care of cycles in the model graphs.. The above establishes a clear need for Tabled CLP, but let us consider the availability of Tabled CLP systems. It turns out that a user-friendly and comprehensive system for developing new Tabled CLP applications is missing completely. The above-mentioned model checking applications (e.g. (Mukund et al. 2000; Du et al. 2000; Pemmasani et al. 2002) ) have adapted an existing tabled logic programming system, XSB (Warren et al. 2005) , with constraint programming facilities in various ad hoc and laborious ways.. At first, XSB developers resorted to interfacing with foreign language libraries or implementing constraint solvers in XSB itself with a close coupling of constraint solver and application as a consequence. For instance, the initial feasibility study of a real-time model checking system used a meta interpreter written in XSB to deal with constraints (see (Mukund et al. 2000) ). The subsequent full system implements an interface between XSB and the POLINE polyhedra-based constraint solver library, and passes around handles to the constraint store in the XSB program (see (Du et al. 2000) ). At a later stage this real time model checking application used distance bound matrices implemented in XSB itself (see (Pemmasani et al. 2002) ).. In an attempt to facilitate the use of constraints, XSB was extended with attributed variables (Cui and Warren 2000a) . Attributed variables (Holzbaur 1992) are Prolog language feature widely used for implementing constraint solvers. It allows to associate data with unbound variables, manipulate it at will and also to interrupt the unification of these variables. Unfortunately, constraint solvers are complex programs and even with attributed variables it can be a daunting task to implement them.. In order to substantially lower the threshold for tabled CLP, a high-level formalism is needed for writing new constraint solvers and integrating them in a tabled logic programming system. In this work we present such a formalism: Tabled Constraint Handling Rules, or TCHR for short. TCHR is a high-level framework for developing new constraint solvers in a tabled logic programming environment. It integrates Constraint Handling Rules (CHR) (Frühwirth 1998 ), an established high-level formalism for writing new constraint solvers, and tabled logic programming. The framework offers a number of default operations that can be specialized by instantiations to control both semantics and performance.. A practical implementation of the framework is presented: the integration of K.U.Leuven CHR in XSB. The integration shows how a tabled constraint logic programming system can be obtained from a Constraint Logic Programming and a tabled logic programming system with little impact on either. Although we have chosen XSB as our particular tabled logic programming system, we believe that our ideas readily apply to other table-based LP systems.. In summary, the major contributions of this work are:. • a high-level framework for developing new constraint solvers in a tabled logic programming system, • a practical implementation of the framework in terms of K.U.Leuven CHR and XSB, and • a novel, generalized approach for answer set reduction.. The CHR-XSB integration, we believe, combines both the bottom-up and topdown fixpoint computations, the superior termination properties of XSB and the constraint programming capabilities of CHR. This combined power enables programmers to easily write highly declarative programs that are easy to maintain and extend.. Overview The rest of this text is structured as follows. First, in Sections 2 and 3 we provide basic technical background knowledge on tabled execution of Constraint Logic Programs and Constraint Handling Rules, respectively. Section 4 outlines our contribution: a framework for tabled CLP system integrated in terms of SLG and Constraint Handling Rules. Subsequent sections discuss in more detail the different options and operations of the framework: call abstraction (Section 6), answer projection (Section 7) and answer set optimization (Section 8).. Finally, Section 9 discusses related and possible future work, and Section 10 concludes.. But first we end this introduction with a small motivating example from the domain of model checking: Example 1 Data-independent systems (Wolper 1986 ) manipulate data variables over unbounded domains but have a finite number of control locations. Such systems can be modeled as extended finite automata (Sarna-Starosta and Ramakrishnan 2003) : finite automata with guards on the transitions and variable mapping relations between source and destination locations. They are useful for modelling and subsequently checking e.g. buffers and protocols.. A simple example of such a data-independent system, modeled in CLP(FD), is:. edge(a,b,Xa,Xb) :-Xa < 10, Xb = Xa. edge(b,a,Xb,Xa) :-Xb > 0, Xa = Xb + 1. edge(b,c,Xb,Xc) :-Xb > 3, Xc = Xb.. This system has three control locations a,b,c each with one variable, respectively Xa,Xb,Xc. Each edge/4 clause represents an edge in the system: a possible transition from one control location (the source) to another (the destination). The inequality constraint in each clause guards the transition, and the equality constraint relates the source variable to the destination variable (the variable mapping). Suppose that we are interested in whether location c is reachable from location a, and for which values of the parameter Xa. Let us define a reachability predicate: reach(A,A,X). reach(A,C,X) :-edge(A,B,X,NX), reach(B,C,NX).. Then our reachability question is captured by the query ?-reach(a,c,X). In order to answer this query, tabling is required to avoid the non-termination trap of the a-b cycle in the graph. At the same time, constraints allow a compact symbolic representation of the infinite search space for X. Without a good interaction between both tabling and constraints, we would not be able to obtain as concise a solution as 0 < X < 10 with so little effort.

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


Role updating for assignments The role-based access control (RBAC) has significantly simplified the management of users and permissions in computing systems. In dynamic environments, systems are usually undergoing changes, whereas the associated user-role, role-role and role-permission relations need to be updated accordingly in order to reflect the systems' evolutions. However, such updating process is generally complicated as the resulting system state is expected to meet necessary constraints. This paper presents an approach for assisting administrators with the update task: using this approach, it is possible to check, in an automatic way, whether a required update is achievable or not, and if so, a reference model will be produced. In light of this model, administrators could fulfill the changes to RBAC systems. We propose a formalization of the update approach, investigate its properties, and develop an updating algorithm based on model checking techniques. Our experimental results demonstrate the effectiveness of our approach. Role-based access control (RBAC) is an effective mechanism for simplifying the administration of users and permissions in computing systems [11, 26] . In RBAC systems, users are associated with roles such as manager and employee, and a role in turn is defined as a set of permissions; users acquire permissions via roles. Essentially, an RBAC system manages three relations: user-role relation, role-role relation, and role-permission relation. Owing to RBAC's advantages (e.g., being policy-neutral and the ability to support a wide range of access control requirements) it is widely supported in commercial operating systems and database systems.. However, the administration of large RBAC systems is a complex and challenging task. As organizations undergo changes, the definition of roles (in terms of permissions) may need updating to reflect those changes. We refer to the updating of user-role, rolerole, and role-permission relations as role updating. Role updating is a key component of role maintenance in role life-cycle [16] , and takes a great proportion of the total cost of role maintenance [22] .. Despite many convenient RBAC administration models (e.g., [8, 18, 25] ) at our disposition, role updating is generally difficult and error-prone, because usually the resulting state is expected to meet various constraints. For example, updating is supposed not to unexpectedly change users' role set or permission set and thus hinder tasks being performed in the system; nor should it assign a student role to a user who is a professor in real-life, even though her permission set remains the same.. Given a high-level update request, the trial-and-error approach is work-intensive, inefficient and, when the request is not achievable at all, very frustrating. An updating strategy, if exists, may involve several administrative actions. The situation becomes worse as the RBAC systems grow large. Hence, a tool facilitating role updating is desired, as is also motivated by the following scenarios. Repairing. Misconfigurations in access control systems can result in severe consequences [3] . As such, correcting misconfigurations is essential to systems' usability and security. It consists of two parts: identifying misconfigurations and changing access control policies. While the former has been studied, how to change access control policies is still an open problem, even though it may be clear who should implement the changes. As stated in [3] : "How the user elects to modify the policy is orthogonal to our work; it could entail changing an access-control list on a server or ..." Therefore, role updating might be needed under the circumstance that misconfigurations in RBAC systems are detected. User-permission assignments. In task-based systems, each task is associated with a set of permissions [13] . 1 The set of permissions should be assigned to a set of users so that the associated task could be accomplished. In systems where RBAC is deployed, the userpermission assignments are achieved via roles [2] . Considering the variety of tasks, it is likely that any combinations of roles fail to enable exactly the needed user-permission assignments for a task. In this case, to support the task, one may be willing to change the current RBAC state, to some extent such as with the constraint that previous task assignments are not affected. Furthermore, the permissions required by users and tasks are not static. For one thing, modern enterprises and organizations need to adapt to constantly changing environments and requirements [22] . For another, it could happen that a group U of users are performing a task with a set P of permissions, and that it turns out that an extra permission p0 ∈ P is a must at the late stage of the task; or the administrator may recognize that P contains more privileges than strictly necessary for the task, she may try to revoke redundant permissions from U [13] .. To help system security officers (SSOs) understand and manage RBAC policies, various RBAC policy analysis tools have been invented [3, 14, 15, 19, 28, 31, 32, 36] . However, little effort has been devoted to answering what if the current RBAC state fails to meet a requirement. One may consider role updating as an unpleasant experience and thus avoid it. Also, it is because the updating is not straightforward, an automated assistant tool has some appeal.. In this paper, we investigate the role updating problem (RUP), with a bias on the update of role-permission relation, and provide an automated role update tool (Route). Note that Route is not designed to automatically change RBAC policies, but to, given a high-level update request, check whether the request is achievable and, if so, present a reference model, in light of which SSOs could implement changes to RBAC systems. Specifically, we make the following contributions:. • We formally define a basic version of RUP and a notion of update constraint schema, which is able to express a wide range of constraints on updates. We show the intractability of RUP.. • We present a set of reductions of RUP. The reductions can not only be used by Route, but also simplify RUP itself.. • We devise an automated tool Route for RUP based on model checking techniques, for which there exist mature tools that have been proven to work well in practice.. • Finally, we undertake a set of experiments, which illustrate the effectiveness and efficiency of Route, considering the use-pattern and frequency of role updating.. The remaining of the paper is organized as follows. Section 2 gives the preliminaries of the RBAC model used in this paper. A motivation example is presented in Section 3. In Section 4, we define RUP, show its complexity, and give the basic approach. The reductions of RUP are presented in Section 5. Experiment results are reported in Section 6. Related work is discussed in Section 7. We conclude in Section 8. In this paper, we write SSOs and administrators interchangeably; and a singleton set {s} is sometimes written as s. Except for Theorem 2, proofs are given in [12] . We have studied the RUP problem, presented a set of reductions for RUP, and proposed a role updating tool Route based on model checking techniques. Experiments confirm the effectiveness and efficiency of Route. There are several avenues for future work. Two additional components, role hierarchies and separation of duty (SoD) policies, are also useful in RBAC systems. Their presence complicates the problem. Role hierarchies are important for RBAC systems, as they further mitigate the burden of security administration and maintenance. In the case of SoD policies, enforcing SoD policies is difficult by itself [17] . The interaction between updating and SoD policies poses new challenges. Existing works often assume that role-permission relation is fixed, when considering SoD policies. However, this assumption does not hold from the viewpoint of role updating. Another interesting problem is to update RBAC systems when administrative rules are in position to regulate SSOs' actions. RBAC policy analysis and repair. Many RBAC policy analysis tools (RPATs) are invented to help administrators understand and manage RBAC policies e.g., [3, 14, 19, 31, 32, 36] , to name a few. Most (safety) analysis problems in literature basically can be stated as: given the current state γ, a query q, and a state-change rule ϕ, can γ be taken a state γ where q evaluates true? If this is the case, one may argue that the steps taking γ to γ may also be reported to SSOs so that they can follow to make γ . However, as the objectives are different, we believe this report could hardly be sufficient for RUP. As remarked in [14] , "...q typically encodes an unsafe situation that should never occur;..." Hence, RPATs explore every possible sequence of actions, as long as they are allowed by ϕ, to test if there is such a γ where q is true; consequently, RPATs do not care what the resulting states look like. On the contrary, Route seeks for a resulting state with expected assignments. In addition, most RPATs focus on user-role assignments; although it is argued that role-permission relation is a dual of user-role relation and might be treated likewise, role-permission relation also deserves its own attention [22] , especially in terms of role updating. Finally, Route goes beyond by enabling various constraints on updates, with which SSOs specify requirements on updates. Role engineering. Recently, much research effort has been devoted to role engineering [10, 7, 20, 33, 34, 37] . Basically speaking, existing role engineering tools (eRETs) consume a predefined userpermission assignments and output a set of user-role assignments and a set of role-permission assignments, taking into account some optimization objectives (e.g., a minimal set of roles) and possibly other concerns such as roles' business meanings, semantics, users' attributes. Taxonomically, Route can be viewed as a role engineering tool, as RUP also deals with these assignments. However, role updating works when RBAC states have been defined and possibly deployed, whereas eRETs usually define roles from scratch. The focuses are also different. Role updating aims to answer SSOs' question whether an update is achievable with respect to update constraints and, if any, to generate one. On the contrary, eRETs put more emphases on how to define a appropriate set of roles. In the view of role life cycle, Route is for role maintenance, while eRETs help role design. Thus, one may condsider Route as a complement of eRETs; Route can be used to fine-tune the ideal state generated by eRETs. Model checking in RBAC. Jha et al. [14] presented a transformation from an RBAC policy analysis instance to a NuSMV program by letting states correspond to user-role assignments and transitions correspond to administrative rules. However, their transformation does not fit for Route. The reason is that it is more intuitive and convenient to encode constraints on updates (i.e., π) in NuSMV states rather than in the transitions. This reflects the difference between administrative rules and constraints on updates: administrative rules specify what transitions can be made from each state, whereas constraints on updates put restrictions on the resulting states. Schaad et al. [27] applied model checking techniques to automated analysis of delegation and revocation functionalities, with an emphasis on static and dynamic separation of duty properties. They do not consider the role-permission assignments. Reith et al. [24] applied model checking techniques to the policy analysis of a language RT 0, which can be viewed as a generation of RBAC models considered in this paper. It is unclear how to use their algorithms to tackle RUP though. There are some other works, which applied model checking techniques to RBAC or its variants, such as [1, 21] ; but, to our knowledge, Route is the first to use them for RUP. RBAC updating. Ni et al. [22] studied the role adjustment problem (RAP) in the context of role-based provisioning based on machinelearning algorithms. Though similar, RUP differs from the RAP in several aspects. First, customized constraints on updates are enforced in role updating, whereas it is unclear if these constraints could be supported in RAP. Second, the role updating is requestdriven, whereas RAP is a learning process. Specially, SSOs submit a specific update objective to Route, which tries to find the expected update. On the contrary, RAP is supplied by SSOs with provisioning data and output a set of mappings from roles to (new) entitlements. Hence, RAP and Route are both assistant tools for SSOs but with different usage and orientation. Fisler et al. [15] presented a tool to investigate the semantic difference of two RBAC policies (in XACML) and the properties of the difference. They do not consider how to make a different desired state from the current one. Ray [23] studied the problem of real-time update of access control policies, in the context of a database system. The focus was put on the transaction properties. However, RBAC models have important features that deserve consideration when updating. The time records shown in Figure 3 are computed as follows.. For example, suppose C approx de = {S1, S2, S3, S4, S5} where prog(S1) and prog(S5) are checked true, checking prog(S2) times out, and prog(S3) and prog(S4) are checked false and counterexamples are generated. Then the computing time is: time(S1) + time(S5) + max {time(S3), time(S4)}. It is arguably reasonable to ignore the time of prog o . Take time(S2) for instance. In practice, one can easily compare the number of variables in prog(S1), prog(S2), prog(S3), prog(S4), and prog(S5). Since NuSMV's performance highly depends on the number of variables, one can schedule programs' executions in increasing order by the number of variables and thus put prog(S2) at the end of queue. When, for example, prog(S3) returns a counterexample, then an update is found and there is no need to execute prog(S2). 6 In this case, decomposition appears useful. Hence, we suspect that time in (4) is possibly longest time taken by Route to evaluate req γ, P, π, T . Since the data set is randomly created, for each configuration of parameters, we ran the test 5 times. The time in Figure 3 is averaged over the 5 runs. Results. Figure 3 reports the experiment results. The time is in minute and log-scale in Figure 3 (e), but is in second and linear in others. Note that for each run, a new instance Qexp was generated each time a configuration was tested. In Figure 3 (a), we generated Qexp by fixing "noR=500 noP=2000 noUR=3 noRP=150 noReqps=500" but varying noU. Two longest intervals taken by Route, about 25 minutes, are at "noU=500" and "noU=1500". The main reason for this abnormality is that, in both cases, it happened that prog(C approx de ) = prog t (i.e., no update exists) in all 5 runs and |prog(C approx de )| is quite large, with averagely about 25 and 22 each run, respectively. In other cases, either prog f = ∅ (i.e., an update is found) or |prog(C approx de )| is small. Generally, RUP is scalable with the number of users. With "noU=1500-2000", there is a notable drop. The observation is that, with larger number of users, there are more constraints on the role-permission assignments and more ignorable roles; thus more NuSMV variables were made constants. This also shows the effectiveness of the reduction of removing ignorable roles.. In Figure 3 (b), we generated Qexp by fixing "noU=1500 noP=2000 noUR=3 noRP=150 noReqps=500" but varying noR. As a whole, the time taken was almost polynomial to noR. The reduc-tion of decomposition is useful as the number of roles increases. By decomposition, Route only dealt with requests with a limited number of roles.. In Figure 3 (c), we generated Qexp by fixing "noU=1500 noR=500 noP=2000 noUR=3 noRP=150" but varying noReqps. The peak (about 17 minutes) was reached at "noReqps=500-600". The use of "propagating requested permission" reduction saved Route from setting more and more variables, with the increase of noReqps. This explains why the time starts to drop at 700. Figure 3(d) shows the case where "noU=1500 noR=500 noP=2000 noUR=3 noReqps=500" were fixed and Figure 3 (e) the case where "noU=1500 noR=500 noP=2000 noRP=150 noReqps=500" were fixed. While Route dealt quite well with large noRP, the performance of Route with respect to large noUR was relatively poor. One reason might be that, the larger noUR is, the more NuSMV programs were created and checked; and the reductions also took notable time. Even though reductions were performed and many role-permission assignments were set constants according to π, there were still many variables, for |rolesγ [u] | could be quite large (> 5); since constraints are put on the permission assignments of roles in rolesγ [u] , the large number of |rolesγ [u]| prevents more variables from being fixed.. In real-world large-scale RBAC systems, even though noUR could be large (> 5), we expect that only a small portion of users have a number noUR of roles and that the number of roles that are under an SSO's control will be small. Hence, we conjecture Route will be able to handle update requests in these RBAC systems.

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


The use of ICA in multiplicative noise When a linear mixture of independent sources is contaminated by multiplicative noise, the problems of blind source separation and feature extraction are highly complex. Specifically, the approach followed by the independent component analysis does not produce proper results. This is because the output of a linear transformation of the noisy data cannot be independent. However, the statistic of this output possesses a special structure that can be used to obtain the original mixture. In this paper, this statistical structure is studied and a general approach to solving the problem is stated, studying how the strategies followed by the standard ICA methods can be adapted in this case. To illustrate the analysis, the results of two different methods that follow the general approach are presented, where the improvement with respect the standard ICA method is clear. r The problems of blind source separation (BSS) and feature extraction have been revolutionized since the appearance of the independent component analysis (ICA), more than 10 years ago. The search for a linear transformation that produces an output as independent as possible solves the previous two problems when the data are a linear mixture of independent sources. This model is called the ICA model in this paper and is widely followed in a huge variety of applications. However, there are others situations where this model is not realistic but the existence of independent sources allows the idea of the ICA to be applied. Thus, the ICA has been adapted to deal with modified models, such as the presence of additive noise, non-linear and/or non-instantaneous mixture, the existence of bias term, exclusive classes, etc.. A different modification in the ICA model is studied here, specifically the existence of multiplicative noise that contaminates the linear mixture. This, in this paper, is called the multiplicative ICA (MICA) model. This noise appears in diverse signals, but the most common are coherent images as ultrasound, synthetic aperture radar (SAR) or laser images. It is precisely in these kinds of images where ICA has been applied in the literature.. The problem of feature extraction with ICA is treated in [10] for SAR images of different classes of sea ice and in [12] for ultrasound breast images. ICA is used in these works to extract features of the different kinds of ice, in the first case, and of the healthy and unhealthy breast, in the second; thus, a heterogeneous sea ice image can be analysed to show which classes of ice are present in the different regions of the image, and an unknown breast image can be classified as healthy or unhealthy. This scheme was first used in [1] to search for the underlying structure in natural black and white images, and it has been used since then in colour images, hyperspectral images, motion images, face recognition, unsupervised image classification, etc.. On the other hand, the problem of BSS is treated in [14] and [7] for multifrequency polarimetric SAR images, which are SAR images of the same scene recorded in different frequency bands and different polarization. ICA is used to achieve the most independent output, so that, if the ICA model is followed, the result of the analysis would be the independent emitters shown in different images, forming in this way thematic maps. This approach has been used mainly in hyperspectral image directly using ICA in [11] or using the related approach of projection pursuit in [5] .. All the previous applications of ICA in coherent images do not take into account the existence of multiplicative noise, so, as it will be shown in this paper, their analysis is valid only when the noise is negligible, and they will lose validity when the noise level increases.. In this paper, the presence of the multiplicative noise is taken into account, studying how it changes the statistic properties of the signals and how the ICA ideas can be adapted to deal with this noise. The MICA model is stated in Section 2, where its second-order statistic is studied. In this statistic, the standard ICA scheme, which consists of a first step of whitening followed by a rotation where the separation is actually done, is applied. It will be shown that this two-steps scheme is not optimum in the MICA model, and the second and higher-order statistic should be used together to solve the problem. The solution of the problem is treated in Section 3, where the higher-order statistic of a linear transformation of the noisy date is studied. This statistic, together with the second order, will be used to develop a general approach to obtain the original mixture. The results of two specific methods are shown in Section 4, in order to illustrate how the general approach shown in this paper considerably improves the standard ICA methods when the multiplicative noise is present. The paper concludes with the principal conclusions in Section 5. In this paper, the statistic of the model of a linear mixture of independent sources is studied. The ideas of ICA have been adapted to this problem and, as result, a general approach to obtain the mixture when the signals satisfy this model has been stated. The approach uses the statistical structure shown by the outputs' cumulants of a linear transformation of the data to find the inverse of the original mixture. This is done by building a cost function that possesses a zero in the wanted matrix. The minimization of this cost function produces the unmixing matrix and solves the problem. The other two different methods developed following this approach show that the approach proposed in this paper clearly improves the results obtained by standard ICA method for this model. As stated above, different methods can be built following the general approach. Here we present two possibilities.. The first method appears in [3] and [2] . This method uses the covariances and the third-order cumulants in the cost function. It solves the non-linear system of equation using the steepest descendant method and it is able to improve significantly the result shown by the standard ICA method, but it is restricted to more than seven sources, with at most one symmetrical (symmetrical PDF with respect to its mean). This method in this paper is called third-order multiplicative ICA (TMICA) method. On the other hand, in [4] a more complicate method, the fourth-order multiplicative ICA (FMICA), is developed. This method uses covariances, third-and fourth-order cumulants in the construction of the cost function and it solves the nonlinear minimization with the quasi-Newton method of BFGS (Broyden-Fletcher-Goldfard-Shanno) [13] . The FMICA is more complex than the TMICA method, but it has no restriction over the statistical nature, either of the sources or of the noise, and it works for three sources or more. In the situations where both methods are applicable, the TMICA provides better results, since it uses statistics only up to order three and, therefore, their estimated functions will be more accurate that the FMICAs ones, which use fourth-order statistic. For further information about the methods, the reader is referred to the References section.. In Fig. 1 , both methods are compared with the standard ICA method of FastICA [9] . The parameter d is used to measure how fine the result of a method (the matrix B) is, and it is defined as the minimum distance from the global transformation BA to the identity or any permuted signswitched version of the identity [8] . Specifically,. where P is a permutation matrix and S is a diagonal matrix with its diagonal elements equal to one or minus one, and the minimum is taken over all possible permutations and sign changes. This reflects the indeterminations that the model possesses and they are the same that appears in the ICA model. In Fig. 2(a) , the TMICA method is compared with the FastICA method, for a mixture of eight sources generated by taking the exponential of N uniform distributed signals in the interval ½0 a i Þ and contaminated with multiplicative uniform noise. These signals satisfied the requirement of more than seven sources with at most one symmetrical, which is needed by the TMICA method to converge to a proper result. In Fig. 2(b) , the FMICA method is compared again with the FastICA method, for a mixture of three uniform sources in the interval ½0 a i Þ, contaminated with Gaussian noise. The value of a i is taken different in each one of the N sources, the number of data in the signals is 100,000, the shown d are the mean of 10 realizations and the mixture matrix has been randomly generated. In both figures, it can be seen how the TMICA and the FMICA methods clearly improve the result of the FastICA method for a wide range of multiplicative noise. This study has been repeated for different PDFs in the sources and noise, changing the mixture and the number of sources, and the same behaviour has been shown.

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