Economic, environmental and mixed objective functions in non-linear process optimization using simulated annealing and tabu search Screening of topologies developed by hierarchical heuristic procedures can be carried o ut by comparing their optimal performance. In this work we will be exploiting mono-objective process optimization using two algorithms, simulated annealing and tabu search, and four different objective functions: two of the net present value type, one of them including environmental costs and two of the global potential impact type. The hydrodealkylation of toluene to produce benzene was used as case study, considering five topologies with different complexities mainly obtained by including or not liquid recycling and heat integration.The performance of the algorithms together with the objective functions was observed, analyzed and discussed from various perspectives: average deviation of results for each algorithm, capacity for produc-ing high purity product, screening of topologies, objective functions robustness in screening of topologies, trade-offs between economic and environmental type objective functions and variability of optimum solutions. When using some heuristic hierarchical procedures for conceptual process design (Douglas, 1988; Smith, 1995) , the result is a set of feasible flowsheets that can be further quantified and developed by using a process simulator and optimized and screened by comparison of their optimal performance in terms of some criterion (objective function). With this procedure (comparison included) it is possible to determine the global optimal solution that will allow the screening of the several feasible flowsheets as the performance of each flowsheet can be compared with the optimum.. Full flowsheet optimization problems are constituted by a set of linear and/or non-linear equations, related with equipment design and/or mass balance equations solution, with multiple integer and/or continuous variables. These types of problems are combinatorial in nature due to the huge number of possible combinations of the multiple variables values that can solve that set of equations. Due to this combinatorial nature meta-heuristics are algorithms that can be suitable to solve these problems although not being able to guarantee global optimality but many times conducting to very good solutions. Among these algorithms, simulated annealing (SA) and tabu search (TS), can be good candidates. They were chosen because they are potentially suitable for solving this kind of problems, they are quite different which will allow the comparison of the application of these different meta-heuristics to this type of problems and because there is almost no experience in applying these algorithms to full flowsheet optimizations problems. Population search algorithms are another possibility that was not considered in this work particularly because they can put premature convergence problems which deserve the development of similar indicators that were out of the scope of this research (Hertz & Widmer, 2003) .. Historically, SA was successfully applied to solve the salesman problem and in the design of integrated complex circuits and its implementation is relatively simple (Press, Teukolsky, Vetterling, & Flannery, 1992) . In the chemical engineering field some applications can be mentioned like in heat exchange networks (Dolan, Cummings, & Van, 1990) , in batch process scheduling (Cardoso, Salcedo, Azevedo, & Barbosa, 1997; Das, Cummings, & LeVan, 1990; Ku and Karimi, 1991; Patel, Mah, & Karimi, 1991) , in the optimization of batch distillation processes (Hanke and Li, 2000) and in dynamic optimization (Faber et al., 2005) . In what concerns optimization problems only involving continuous variables one can mention the works of Press and Teukolsky (1991) and Cardoso, Salcedo, and Azevedo (1996) .. TS was applied by Cavin, Fischer, Mosat, and Hungerbuhler (2005) in batch process scheduling and by Lin and Miller (2004) The experience in applying SA to full process optimization problems even of the LP or NLP type is relatively scarce and there is practically no experience with TS.. One of the objectives of this paper is then to analyze and compare the performance of these two algorithms in the optimization of flowsheets of different complexities essentially resulting from more or less mass and/or heat integration (reusing or recycling) for the same case study.. Pollution prevention is nowadays an issue of concern implying the consideration of environmental aspects since the conceptual and preliminary process design steps, as a way to develop plants with less environmental impact but without losing economic competitiveness. Brennecke and Stadtherr (2002) identified some pollution prevention strategies and Cano-Ruiz and McRae (1998) presented a review on the strategies to incorporate environmental aspects in the design of processes. Some researchers although using economic type objective functions dealt with mass and/or energy conservation issues (El-Halwagi and Manousiouthakis, 1990) . Dietz, Azzaro-Pantel, Pibouleau, and Domenech (2006) applied multiobjective optimization for multiproduct batch plant design using economic and environmental considerations.. In terms of process optimization the number of works that include environmental concerns in the objective function is also relatively scarce.. In this work we will be exploiting mono-objective process optimization using different objective functions looking for the traditional economic based optimum and to an optimum only based on environmental considerations, detecting eventual trade-offs existing between both criteria. Another approach is also explored aiming at solving these trade-offs by using a mixed type objective function, e.g., economic plus environmental costs. So objective functions of the economic, environment and mixed type were used, namely net present value (NPV), global potential environmental impact (GPEI) and mixed (NPV + environmental costs).. So in this work we compare the performance of SA and TS for different complexity flowsheets of the same case study and different objective functions and we compare and discuss the optimal conditions obtained. This work analyzed the behaviour of two optimization algorithms, simulated annealing and tabu search, combined with four objective functions: two of the net present value type, one of them including environmental costs and two of the global potential impact type. The hydrodealkylation of toluene to produce benzene was used as case study, considering five topologies with different complexities mainly obtained by including or not liquid recycling and heat integration.. The performance of the algorithms together with the objective functions was observed from various angles: (a) both optimization methodologies usually show a certain dispersion of results that can be assessed by an average deviation, smaller dispersion meaning better performance. We concluded that both algorithms performance was poor for more complex topologies, particularly with environmental impact type objective functions and that in average and from this point of view SA (with memory) performs better than TS. (b) For this case study we aim at producing high purity benzene.. This can only be reached with reasonable economic and environmental impacts (costs) when using topologies with at least two distillation columns.. Generally we can say that impact type objective functions lead to higher purities and that, from this point of view, the algorithms have essentially the same performance. (c) When using hierarchical heuristic procedures in process conceptual design it is common to reach a point where a small number of topologies need to be screened and one of them chosen, for example based on the value of an objective function. NPV type objective functions conducted to the choice of similar topologies and the same was observed for GPEI type objective functions, although with the choice of other topologies. The values of the objective functions obtained by SA and TS were not too different, although TS performed quite better than SA; (d) We have to take one objective function to perform this screening process it would be interesting to know how dependent on that choice are the results. In present case NPV type objective functions give very close results in terms of selecting a topology. This was not observed in the case of using environmental potential impact type objective functions that lead to results not only different from those obtained with NPV type objective functions but also different from one another. (e) Since we are dealing with economic and environmental objective functions it is interesting to look for possible trade-offs, in the sense of having one objective function increasing while the other decreases. We observed no evidence of this kind of trade-offs, despite the detection of some proportionality between NPV and between GPEI type objective functions. (f) For best topologies the optimum values found for the design variables vary with algorithm and objective function, even in the cases where the objective functions have quite close values.. As main conclusions we can say that these algorithms should be carefully used with complex topologies since they shown difficulties in these cases, although SA performed better than TS for this aspect. For NPV and GPEI type objective functions both methods point to the same topologies although with the choice of different topologies. SA and TS obtained similar values for the objective functions, although TS performed quite better than SA. In the cases where the objective functions have quite close values the values found for the design variables vary. SA and tabu search optimization methodologies usually find different optima for each run although the values of the objective function are not too different. So there is a certain dispersion of results, meaning that smaller dispersion increases the chance of obtaining a result closest to the best (global optimum) when performing only one run. Thus a way to assess performance can be based on observed dispersion measured in the present case by an average deviation. For SA two types of deviation where calculated: the average deviation relatively to the optimum solution found in all SA runs for the same topology and objective function and the average deviation relatively to the best solution found. For tabu search only the first average deviation was evaluated. For each topology, algorithm and objective function five runs were performed. The SA algorithm always stores the best solution ever found during the optimization and not only the last solution. Table 4 shows the results.. Retaining the best solution ever found in SA is a good strategy since the average deviation is normally smaller than when the optimum solution is considered.. We consider that an algorithm has good performance (bold in Table 4 ) when the average deviation is equal or smaller than 5% and reasonable performance (italic in Table 4 ) for average deviations between 5 and 10%.. SA presented good performance for topologies A and Ae whichever the objective function, for topology E with NPV type objective functions and for topology Ge for the NPV1 objective function. Reasonable performance was observed for topologies E and Ge with GPEI-EPS and NPV2 objective functions, respectively. In the remaining cases the performance is poor, especially for topology Ee.. TS presented good performance for topologies A, Ae and E when the objective functions are of the NPV type and also for topologies Ae and E with GPEI objective function. Reasonable performance was observed for topology A with GPEI and GPEI-EPS objective functions, for topologies Ae and E with the GPEI-EPS objective function, for topology Ee with NPV1 objective function and for topology Ge Table 5 Objective functions used for optimization (bold) and calculated values of the other objective functions using the values found for the design variable s by optimization with the chosen objective functions.. with NPV1, NPV2 and GPEI objective functions. Resuming we can say that the algorithms are not efficient for more complex topologies (e.g. Ee and Ge) particularly with environmental impact type objective functions and that in average and from this point of view SA performs better than TS.. The process we are using as case study aims at producing high purity benzene (purity above 0.990). From Table 4 we can see that only topologies E, Ee and Ge are able to reach that stage, due to the addition of a second distillation column. During optimizations with topologies A and Ae we found a few solutions leading to purities higher than 0.990. These were not retained because conducted to objective functions values worse than those observed for topologies E and Ge. The reason for this relies in increased capital costs and energy consumption due to higher streams flowrates (e.g. gas recirculation system). Usually the use of global impact type objective functions leads to better purities. From this point a view both algorithms show almost similar performance, with a marginal advantage for TS.. We take now the perspective of choosing a topology based on the value of an objective function. For NPV1 and NPV2 the best topology is Ae for both SA and TS, although high purity cannot be reached for the final solutions. This is possibly due to not considering a penalty for benzene price when purity is lower than 0.990. If this was the case Ge topology would possibly had been elected. In the case of GPEI and of GPEI-EPS both algorithms conducted to the same topologies, respectively E and Ge. Topology Ee got the worse values for all objective functions. This is essentially linked to high flowrates that are not economically neither environmentally favourable.. Comparing now the values of the objective functions obtained by SA and TS for each topology we can conclude that from this point of view TS performed quite better than SA, although those values were not too different.. If we choose an objective function and optimization method to screen among various topologies, how invariant is this choice to using other objective functions. Table 5 shows the value of other objective functions calculated with the optimum values for the design variables obtained by optimization with the chosen objective function (bold).. When using SA with NPV1 as objective function the best topology is Ae. Calculated NPV2 points to the same choice but GPEI gives topology E and GPEI-EPS, topology Ge. TS gives similar results. If we look to other objective functions we get results in the same line as described. So we can conclude that NPV1 and NPV2 give very close results in terms of selecting a topology. Taking now the environmental potential impact type objective functions we can easily conclude that topology selection is not invariant with the choice of this kind of objective function.. Another issue is the possibility of the existence of trade-offs when using different objective functions. Figs. 8 and 9 compare several objective functions: NPV1 with GPEI (2nd quadrant) and NPV2 (3rd quadrant), GPEI with GPEI-EPS (1st quadrant) and NPV2 with GPEI-EPS (4th quadrant), respectively for optimizations using SA and TS. The observation of these figures shows that there is no evidence of trade-offs in the sense of having one objective function increasing while the other decreases. We also can conclude that NPV1 is quite independent of GPEI (2nd quadrant), NPV2 and GPEI-EPS (4th quadrant) almost do not vary, NPV1 and NPV2 (3rd quadrant) display some proportionality and GPEI and GPEI-EPS (1st quadrant) also demonstrate some proportionality although the data is quite scattered.. Since no trade-offs were observed it is also not possible to see if the combination of economic and environmental concerns in NPV2 could solve them. Table 6 shows the optimum values of the design variables for each objective function best topology and algorithm. These values vary with the objective function and algorithm even in the cases where the objective functions have values quite close. Reactor volume varies between 87.8 and 138.8 m 3 and columns 1, 2 and 3 number of stages varies, respectively between 29 and 40, 3 and 9 and 7 and 8. Molar fractions, recoveries, reflux ratios and streams flowrates also vary.

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


Mapping hidden water pipelines using a mobile sensor droplet This study presents several extensions to our previous work on the PipeProbe system, a mobile sensor system for identifying the spatial topology of hidden water pipelines (i.e., non-moldable pipes such as copper and PVC) behind walls or under floors [Lai et al. 2010] . The PipeProbe system works by dropping a tiny wireless sensor capsule into the source of a water pipeline. As the PipeProbe capsule traverses the pipelines, it gathers and transmits pressure and angular velocity readings. Through spatiotemporal analysis of these sensor readings, the proposed algorithm locates all turning points in the pipelines and maps their 3D spatial topology. This study expands upon previous research by developing new sensing techniques that identify variable-diameter pipes and differentiate 90-degree pipe turns from 45-degree pipe bends. All humans need water to live. Unfortunately, water is also a scarce resource in many parts of the world. Proper monitoring, maintenance, and protection of the water infrastructure system that delivers water to humans are critical to public health, economic development, and resource conservation. This article focuses on residential water infrastructure. Houses are often equipped with an extensive water pipeline network that distributes water to different water-using fixtures and appliances throughout the home, including bathroom toilets, kitchen faucets, garden sprinklers, and washing machines. It is therefore unfortunate that plumbing is ranked as one of the ten most frequently occurring problems in homes.. 1 A study conducted [AWWARF 1999] shows that leaks ranked as one of the top five water usage items (13.7% of residential per capita water usage) in the U.S. Leaking pipes are one of the most common problems in plumbing [Dump 2003 ], and hidden leaking pipes often cause extensive damage to floors, walls, and belongings in a home.. The first step in fixing leaking pipes is to locate the leak for further inspection. When leaking water pipes are hidden inside walls and underneath floors, identifying their location without direct inspection is very difficult, especially when the original diagram of the pipeline layout is missing. In this case, finding pipeline locations becomes guesswork that often requires a brute-force method, such as knocking down walls and stripping floor coverings. This problem created an opportunity to develop PipeProbe, a mobile sensing probe that is dropped into the source of a water pipeline. As it traverses the pipeline, PipeProbe collects the sensor readings (i.e., pressure and angular velocity) necessary to reconstruct the 3D spatial topology of the pipeline. Unlike the traditional brute-force approach, the PipeProbe system is a non-destructive method of mapping and locating indoor water pipelines that requires no alteration to the water pipeline infrastructure. Since leaks often occur where pipe tubes join together (including pipe diameter changes, L-connection pipes, and T-connection pipes), mapping the locations of these pipeline connection points is a crucial step in pipe inspection.. Three previous projects used wireless sensor network technologies to monitor water pipes: the NAWMS project [Kim et al. 2008] , the PIPENET project [Stoianov et al. 2007] , and HydroSense [Froehlich et al. 2009 ]. The NAWMS project detected and located pipe leaks by attaching vibration sensors to the pipe surface. Similarly, the PIPENET project [Stoianov et al. 2007 ] monitored water flow and detected leaks by attaching acoustic and vibration sensors to large bulk-water pipelines and pressure sensors to normal pipelines. HydroSense [Froehlich et al. 2009 ] employed a single endpoint sensing solution in which the amount of water outflow from each water outlet could be uniquely estimated using pressure wave signatures. Unlike these projects, the PipeProbe system adopts a mobile sensing approach in which a tiny mobile sensor travels inside of the water pipeline infrastructure while remotely performing on-thespot data collection near potentially problematic locations. Alvarado and Youcef-Toumi [2005] developed a robotic fish under a foot long that closely mimics a real fish's natural swimming motion. This robofish is equipped with sensors to detect environmental pollutants. Its one-foot size is considerably larger than that of the proposed PipeProbe capsule, and its motor requires a 2.5-5W external power source.. This study makes three important contributions to research on this topic.. -Rather than fixing sensing points in the utility infrastructure, PipeProbe adopts a mobile sensing approach in which a mobile sensor travels and performs on-the-spot data collection at different places. -This study develops a novel localization method to estimate the 3D spatial topology of the capsule-traversed pipelines based on the pressure and rotation graphs collected and computed by the PipeProbe system. Experimental results indicate that the proposed mobile sensing approach produces a high-precision 3D map of the pipeline with centimeter-level accuracy. -Since the PipeProbe capsule was designed to model a water droplet, its physical movement leverages the force inside of the pipeline infrastructure for propulsion. This means that no motoring is necessary to power its movement, which increases the PipeProbe capsule's energy efficiency and allows it to operate on only 15 mA of current. A tiny lithium button cell battery can keep the PipeProbe capsule operating for over 1 kilometer at a water flow rate of 15 centimeters per second.. The rest of this article is organized as follows. Section 2 presents the design principles for PipeProbe's mobile sensing approach. Section 3 explains the design and implementation of PipeProbe's sensing capsule and the data collection process. Section 4 details the PipeProbe's operation and how data processing maps the spatial topology of the pipelines. Section 5 describes the experimental testbed and scenarios. Section 6 presents the experimental results. Section 7 discusses the application of PipeProbe to detect pipe diameter changes and 45-degree pipe bends. Section 8 discusses the limitations of this study, and their possible solutions. Section 9 reviews related work. Finally, Section 10 concludes the study and suggests directions for future research. The proposed PipeProbe system is a novel mobile sensor system for identifying the spatial topology of hidden water pipelines. Experimental results achieved a median length error of 2 centimeters, and 90% of the tests had a length error of 7 centimeters or less when estimating the lengths of pipe tubes. The proposed method achieved a median positional error of 6.8 centimeters, and 90% of the tests had a positional error of 15.8 centimeters or less when estimating the pipe's turning points. The PipeProbe system enables accurate mapping by using a tiny capsule to sense pressure readings as it traverses pipelines. This study also presents sensing techniques to distinguish variable-diameter pipes and differentiate 90-degree pipe turns from 45-degree pipe bends.. For future work, we are interested in developing a self-deployment WSN for pipeline monitoring and applications. The idea is to have a single release point of sensor nodes in the pipeline infrastructure that incrementally releases sensor droplets. These sensor droplets will flow inside pipelines and automatically place themselves at specific locations to form a connected WSN. A node placement algorithm will optimize detection area while maintaining radio connectivity. A sensor droplet will include mechanical actuators that act as spines of porcupine fish, that is, they stretch out to latch and fix the sensor droplet within pipes. A basestation will collect sensor data through an in-network multihop protocol. Self-deployment has great potential in significantly reducing the amount of human efforts needed in installing a large-scale sensor infrastructure. Once this self-deployment mechanism is implemented, we aim to develop applications for this pipeline monitoring system. These applications might include leakage detection, water contamination monitoring, or water usage monitoring. Recent projects involving WSN technologies for monitoring water pipelines include the PipeNet project [Stoianov et al. 2007] , the NAWMS project [Kim et al. 2008] , and the HydroSense project [Froehlich et al. 2009 ]. The PipeNet project detects, localizes, and quantifies leaks and bursts in water pipelines. PipeNet attaches a variety of acoustic, vibration, pressure, and flow sensors to wireless sensor nodes mounted on the pipeline externals and internals to sense these faults and anomalies. The signals received from these sensor nodes are analyzed to identify and locate leaks. For example, a pipe rupture produces noises. By performing time delay estimation on the rupture event sensed (heard) by nearby sensor nodes, the system can infer the pipe rupture location. The NAWMS project [Kim et al. 2008 ] detects the water outflow rate for each individual pipe and outlet. This method attaches a vibration (accelerometer) sensor to each individual pipe to separate the water outflow rate on an individual pipe from a master household water meter. By calibrating and deriving the relationship between the standard deviation of pipe vibration and the mean flow rate in the pipe [Evans et al. 2004] , the NAWNS system can infer a pipe's water flow rate from the sensed vibration level produced by each flowing pipe. HydroSense [Froehlich et al. 2009 ] proposes a novel, single-point sensing technique that separates water usage activities from each individual water outlet using a single pressure sensor installed at one point within a building. The HydroSense system senses and recognizes the unique water hammer pressure fingerprint produced by each water fixture. By training and recognizing individual fixture's fingerprints, the system can accurately infer which water fixture is turned on or off. A HydroSense extension [Froehlich et al. 2011] develops classifiers that detect compound and collision events, that is, water usage activities that occur simultaneously at multiple water outlets. Unlike these projects, which are based on either multi-point or single-point sensing (i.e., fixing multiple/single sensor(s) to point(s) on the water pipelines), the PipeProbe system adopts a mobile sensing approach in which a mobile sensor travels and observes pipelines from within the pipes.. Several projects adopt the mobile sensing approach. SewerSnort [Kim et al. 2009 ] is a WSN system for monitoring sewer gas pipelines. A drifter node prototyped on a MicaZ mote and connected to an electrochemical sensor flows inside sewer pipelines. As the drifter node floats downstream, it measures in-sewer gas concentrations, while a set of beacon nodes pre-installed beneath manholes determines their geographic location. Alvarado and Youcef-Toumi [2005] developed a swimming robotic fish that closely mimics a real fish's natural swimming motion. This robofish is equipped with sensors to detect environmental pollutants. However, it is considerably larger than the PipeProbe capsule and requires a 2.5-5W external power source to operate.. Several methods leverage the special properties of water pipelines for activity recognition and energy harvesting. Fogarty et al. [2006] proposed an activity inference system targeted at the elderly that senses water usage activities in a home plumbing system. Microphone-based sensors strategically placed on pipes throughout the home listen to the pipe's water flow activities and different activity-related water outlets. For examples, clothes washing activity is inferred when water flows to a washing machine, dishwashing activity is inferred from water flowing to a dishwasher, and toilet activity is inferred from water flowing to a toilet, etc. WATTR ] proposes a novel energy harvesting technique to power a sensor node used to monitor water pipelines. A change in the water pressure inside the pipe drives a tiny power generator connected to a sensor node. This design harvests enough energy to allow the sensor node to perform sensing and data transmission.. There are different methods to locate and map hidden pipelines. For example, using a Radiodetection 4 method to map hidden pipelines. This method works by inducing a radio signal into the metal pipe (by either directly contacting the pipe with a transmitter or by indirect induction method via a broadcast coil mounted on the surface). Once the signal is induced into the pipe, one can use a handheld receiving antenna to map the pipeline by walking around the building surface. However, this only works for metal pipes. For non-metal pipes, it is possible to place a small radio-transmitting probe into the pipe and follow along topside with the receiver as the probe is pulled, pushed, or flushed down the pipeline. However, PipeProbe does not need to know the pipe material or require human effort to walk around the building. Another method of locating pipelines is to use a thermal camera. If a hot-water pipeline is behind the wall and the hot-water temperature is conducted to the surface of the wall, a thermal camera can be used to inspect the location of hot-water pipelines by recording temperature differences. However, this method does not work for cold-water pipelines, since the temperature of the wall surface will not change. PipeProbe can work with cold-and hot-water systems.

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


Efficient Processing of Top-k Queries in Uncertain Databases with x-Relations Abstract-This work introduces novel polynomial algorithms for processing top-k queries in uncertain databases under the generally adopted model of x-relations. An x-relation consists of a number of x-tuples, and each x-tuple randomly instantiates into one tuple from one or more alternatives. Our results significantly improve the best known algorithms for top-k query processing in uncertain databases, in terms of both runtime and memory usage. In the single-alternative case, the new algorithms are 2 to 3 orders of magnitude faster than the previous algorithms. In the multialternative case, we introduce the first-known polynomial algorithms, while the current best algorithms have exponential complexity in both time and space. Our algorithms run in near linear or low polynomial time and cover both types of top-k queries in uncertain databases. We provide both the theoretical analysis and an extensive experimental evaluation to demonstrate the superiority of the new approaches over existing solutions. U NCERTAIN databases have received a lot of attention recently due to the large number of applications that require management of uncertain and/or fuzzy data. Examples of such applications include data integration [1] , data cleaning [2] , [3] , [4] , and mobile and sensor data management [5] , [6] just to name a few. It is interesting to note that some important works on this topic appeared sporadically in the last two decades, including possible world semantics and probabilistic databases [7] , [8] , [9] , [10] , [11] . However, only recently we witness a more systematic and persistent effort to address uncertainty data management issues such as data modeling and representation [12] , [13] , [14] , [15] , general query processing [16] , [6] , [17] , indexing [18] , [19] , [20] , and development of query languages [21] .. As a concrete example, consider the website of the 1998 FIFA World Cup that organized its Web servers in a distributed fashion. The website is replicated over multiple servers that are located at different geographical areas throughout the world. Thus, a client's request can be served by either the closest server or the server with the highest free bandwidth at the moment of the request with the goal to minimize the response time to the client. Web server requests traces and a detailed description about this setup are available at the Internet Traffic Archive [22] . Each record in the request trace represents an entry in the access log of the world cup Web server. Among other fields, a record contains a time stamp, a client id (mapped from the IP address of the user sent the request), an object id (the particular web page being requested), a status code, and a server id. The status indicates the response status code and the server id in which a particular server handled the request. Note that, at the time of the request, it is unclear which server will handle the request and what the status of this request will end up being. Motivated by this, we can create a database of requests that can be modeled as an uncertain database, where each request represents an x-tuple. The status and the server id are attributes with uncertainty and can be associated with certain probability distributions. Therefore, an access log can be seen as an instantiation of the many possible worlds associated with an x-relation. Furthermore, such an uncertain database could be very large. For example, the traffic on a single day, e.g., the day 46, contains roughly half a million requests.. The uncertain data model. Quite a few uncertain data models have been proposed in the literature [14] , [15] , [23] , [16] , trying to represent the probability distribution of all the possible instances of the database. They range from the basic model in which each tuple appears with a certain probability independently to powerful models that are complete, i.e., models that can represent any probability distribution of the database instances. However, complete models have exponential complexities and are hence infeasible to handle efficiently, so some extensions to the basic model have been introduced to expand the expressiveness of the model while keeping computation tractable. Notably, in the TRIO [23] system, an uncertain data set, which they call an x-relation, consists of a number of x-tuples. Each x-tuple includes a number of alternatives, associated with probabilities, which represent a discrete probability distribution of these alternatives being selected.. Independence is still assumed among the x-tuples. This model has been frequently used in the study of uncertain databases as it is a reasonable approximation of the uncertain nature of the data. For example, the world cup example mentioned above perfectly fits into the x-relation model. Since different requests are mutually independent, the values for attributes of one request could take different assignment based on what has actually happened to that request, but only one assignment is possible (the actual request that takes place with some randomness, depending on the server status, etc.), i.e., they are mutually exclusive.. In this paper, we also adopt the x-relation model, augmented with a score attribute, on which we rank the tuples. More precisely, each tuple t consists of four components: a unique identifier idðtÞ, a score sðtÞ, a confidence pðtÞ that is the probability of t appearing in the database, and all the other attributes AðtÞ. An x-tuple is a set of tuples (up to a constant number), subject to the constraint that P t i 2 pðt i Þ 1. These t i s are called the alternatives of . An x-tuple represents a discrete probability distribution of the possible values may make in a randomly instantiated database, i.e., takes t i with probability pðt i Þ, for i ¼ 1; . . . ; jj, 1 or does not appear at all with probability 1 À P d i¼1 pðt i Þ. 2 We define an uncertain database D as a collection of M pairwise disjoint x-tuples. We use D to denote the set of all tuples in D, and let jDj ¼ P 2D jj ¼ N. Without loss of generality, we assume that all scores are distinct in D.. An uncertain database D is instantiated into a possible world assuming mutual independence of the x-tuples [23] . More precisely, let 1 ; . . . ; M be the x-tuples of D, and let W be any subset of the tuples appearing in D, the probability of W occurring is Pr½W If Pr½W > 0, we say W is a possible world, and let W be the set of all possible worlds. Thus, D represents a probability distribution over W in a succinct format. Please refer to Fig. 1 for an example, where each x-tuple represents a request from a client to a 1998 world cup web page, and it may be served by one of the servers chosen from several alternative servers, as we have explained above. Here, each tuple (an alternative) is a client id, the score attribute is the server id assuming that the servers are ordered by their available bandwidth (higher ID reflects a higher bandwidth), and the probability for an alternative is simply the probability that this request ends up being served by this particular server. It is not necessary to always select the server with the highest bandwidth, rather the decision is made based on the current traffic of each server and the free bandwidth a server could offer at the moment. Both the number of x-tuples (request in this example) and tuples (the clients in this example) in such a database could go upto millions as demonstrated above.. We distinguish between two cases. In the singlealternative case, each x-tuple has only one alternative; in the multialternative case, there could be more than one alternative for an x-tuple.. Top-k queries in an uncertain database. This paper investigates query processing issues under the setting of uncertain data, and in particular, we concentrate on top-k queries. Top-k queries received increasing interest in relational databases recently [24] , mainly as a way to integrate the imprecise query answering semantics of information retrieval with the highly structured storage and representation of relational data. Because of their particular semantics, top-k queries are even more meaningful in the context of uncertain and probabilistic databases. Some recent efforts started to investigate top-k queries in uncertain databases [25] , [26] , although with different emphases. This work focuses on the top-k queries defined in [25] and the difference to [26] is discussed in Section 7. In particular, Soliman et al. [25] extend the semantics of top-k queries from relational to uncertain databases. They propose two different definitions for top-k queries in such databases and provide algorithms to compute the query results for each definition. The first definition is the Uncertain Top-k query ðU-TopkÞ, where the result is the set of tuples with the highest aggregated probability to be the top-k tuples across all possible worlds. The second definition is the Uncertain k-Ranks query ðU-kRanksÞ, where each tuple in the result is the most probable tuple to appear at a given rank over all possible worlds.. The work in [25] was the first to identify the importance of top-k query processing in uncertain databases and to propose methods to address it. The basic idea of their algorithms is to map each configuration (of appearing and not appearing tuples) to a state and create a very large graph with these states. Then, the problem becomes a search over this huge graph using some generic, A Ã -like algorithm to find the best state. However, since the model that they use can capture any possible correlation between 1 . jj is the number of alternatives in . 2. We denote the number of alternatives for an x-tuple as d x ¼ jj. the tuples (complete model) [27] , the generated graph can be exponentially large. Therefore, their algorithms are exponential in both space and time, which makes them impractical for large databases. Even for the basic model where all tuples are mutually independent, i.e., the singlealternative case of the x-relation model, the proposed algorithms, although more efficient, are still not optimal.. In this paper, we show that under the popular x-relation model, it is possible to exploit the internal structure of the problem to design much more efficient algorithms for processing top-k queries in uncertain databases. We provide solutions for both U-Topk queries and U-kRanks queries, both of which are significantly faster and use much less space under the x-relation model. A comparison of the asymptotic results of the algorithms under the x-relation model are given in Fig. 2 .. The rest of the paper is organized as follows: Section 2 gives the two definitions for top-k queries. We set up the processing framework in Section 3. The improved algorithms for U-Topk and U-kRanks queries appear in Sections 4 and 5, respectively. An experimental study is performed in Section 6, followed by a review of related work and the conclusion.. 2 Top-k DEFINITIONS There are two popular types of top-k queries that are currently adopted in uncertain databases. This work introduces novel algorithms for top-k query processing in uncertain databases that dramatically improve the state of the art under the widely adopted x-relation model. The proposed algorithms exhibit very low runtime and memory overhead, as it is shown both theoretically and experimentally. Unlike previous approaches, this is the first work that provides low polynomial time and space algorithms for answering top-k queries even when tuples are not independent (but follow the x-relation model). An important future direction is to extend the top-k query processing methods to other types of relational queries with imprecise query semantics. Modeling and building real systems for uncertain databases are the most important issue to be addressed. It is impossible to list all currently developing systems, nevertheless, TRIO [15] , [23] , [14] , MayBMS [13] , [21] , and MystiQ [16] are three promising representatives. There are also works focusing on the general query processing techniques for uncertain databases under the possible worlds semantics, such as the ConQuer project [12] and the discussion on generating proper and efficient query plans [16] . Special attention to imprecise information arising from mobile data management has been made in [6] , where the main focus is querying and indexing on evolving data over continuous intervals. Indexing techniques of uncertain data also appear in [19] , [18] , and [20] , and the probabilistic graph model is proposed to represent correlated tuples in uncertain databases [17] .. There is another recent work concerning about top-k query processing in uncertain databases [26] . The problem is to find the k most probable answers for a given SQL query, where the ranking is purely based on the confidence of the resulting tuples, and there is no additional scoring dimension involved to determine the final rank. The solution is based on Monte Carlo simulations. There, the top-k definition is quite different from the work in [25] and ours. Our work, as a direct follow up of that in [25] , concentrates on extending the traditional top-k query definition from the relational database, in the sense that a scoring function is defined to compute the rank, together with the confidence of resulting tuples (in the same spirit as it is in [26] ) to jointly determine the final result.. The work in [25] was the first to identify the importance of top-k query processing in uncertain databases and to propose methods to address it. As mentioned in Section 1, the basic approach in [25] is to search through all possible states where a state is determined by the tuples seen so far, i.e., a tuple appears or does not appear in a state with the probability determined by the probability associated with this tuple in the original uncertain database. All possible states constitute a huge graph in which algorithms have to search through to find the correct answer. Since the model that they use can capture any possible correlation between the tuples (complete model) [27] , the generated graph can be exponentially large. To alleviate this problem, certain pruning techniques have been introduced. Nevertheless, their algorithms become a search over this huge graph using some generic, A Ã -like algorithm to find the best state. Therefore, these algorithms are exponential in both space and time, which makes them impractical for large databases. Even for the basic model where all tuples are mutually independent, i.e., the single-alternative case of the x-relation model, the proposed algorithms, although more efficient with polynomial time and space complexity, are still not optimal. A brief summary for each algorithm in [25] has been provided along with the corresponding algorithm we have proposed. Finally, Top-k query processing has been proved by many real applications as one of the most important types of queries in relational databases (see [24] and the references therein), and it is not surprising to see the same trend in uncertain databases.. In our recent work [28] , the single-alternative case for both U-Topk and U-kRanks queries has been discussed. However, the more important and challenging problem of the multialternative case was left unanswered, which is the focus of this paper. Furthermore, extensive experimental evaluations are presented in this paper that are not available from our poster [28] . Independently, Hua et al. [29] has studied a variation of the u-kRank problem, where the aggregated probability for a tuple to appear in the top-k result of some random world is utilized to rank the tuples. Our algorithm for the u-kRank problem can be easily generalized to solve this problem as well.. Finally, it should be noted that the algorithms proposed in this paper only work for uncertain databases that conform to the x-relation model. The only known algorithms that work for an arbitrary uncertain database modeled by a complete model are from [25] . As discussed above, the algorithms in [25] essentially search through all possible states in the exponentially large search space to deal with the arbitrary correlations that could arise in the complete model. Adopting the x-relation model limits the types of correlations (among tuples in the database) that an uncertain database can capture but allows for much more efficient algorithms. We have implemented both our and Soliman et al.'s algorithms [25] under GNU C++. We also optimized both implementations to our best effort. In order to study the effects of different distributions and correlations between the score and confidence, synthetic data sets with various characteristics are generated to test the performance of the algorithms. The score and confidence values in these data sets follow a number of different distributions, also with different correlations. For each data set, we report its scan depth, as well as the runtime and memory usage of each algorithm. Note that the scan depth n is completely determined by the data set; all of algorithms stop after retrieving n tuples. Since all algorithms consume tuples in the score order, the underlying ranking process in the database engine is the same, so we only measure the costs associated with the top-k processing on the tuple stream that is already sorted by score. Each data set we generated contains N ¼ 20; 000 tuples. Note that the algorithm's performance does not depend on N since we never exhaust the entire tuple stream. All experiments were executed on a Linux PC with a 2.8-GHz Pentium processor and 2 Gbytes of main memory. In all cases, algorithms from this work and previous work produce the same results. This observation empirically verifies the correctness of the new algorithms.

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


Automatic Verification of Recursive Procedures with one Integer Parameter Abstract. Context-free processes (BPA) have been used for dataflow-analysis in recursive procedures with applications in optimizing compilers [6] . We introduce a more refined model called BPA( ) that can model not only recursive dependencies, but also the passing of integer parameters to subroutines. Moreover, these parameters can be tested against conditions expressible in Presburger-arithmetic. This new and more expressive model can still be analyzed automatically. We define -input 1-CM, a new class of one-counter machines that take integer numbers as input, to describe sets of configurations of BPA( ). We show that the ÈÓ×Ø £ (the set of successors) of a set of BPA( )-configurations described by a -input 1-CM can be effectively constructed. The ÈÖ £ (set of predecessors) of a regular set can be effectively constructed as well. However, the ÈÖ £ of a set described by a -input 1-CM cannot be represented by a -input 1-CM in general and has an undecidable membership problem. Then we develop a new temporal logic based on reversal-bounded counter machines that can be used to describe properties of BPA( ) and show that the model-checking problem is decidable. Besides their classical use in formal language theory, pushdown automata have recently gained importance as an abstract process model for recursive procedures. Algorithms for model checking pushdown automata have been presented in [3, 1, 11, 4] . Reachability analysis for pushdown automata is particularly useful in formal verification. Polynomial algorithms for reachability analysis have been presented in [1] and further optimized in [5] . For most purposes in formal verification it is sufficient to consider BPA ('Basic Process Algebra'; also called context-free processes), the subclass of pushdown automata without a finite control. BPA have been used for dataflow-analysis in recursive procedures with applications in optimizing compilers [6] . The weakness of BPA is that it is not a very expressive model for recursive procedures. It can model recursive dependencies between procedures, but not the passing of data between procedures or different instances of a procedure with different parameters.

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


Updating generalized association rules with evolving taxonomies Abstract Mining generalized association rules among items in the presence of taxonomies has been recognized as an important model for data mining. Earlier work on mining generalized association rules, however, required the taxonomies to be static, ignoring the fact that the taxonomies of items cannot necessarily be kept unchanged. For instance, some items may be reclassified from one hierarchy tree to another for more suitable classification, abandoned from the taxonomies if they will no longer be produced, or added into the taxonomies as new items. Additionally, the analysts might have to dynamically adjust the taxonomies from different viewpoints so as to discover more informative rules. Under these circumstances, effectively updating the discovered generalized association rules is a crucial task. In this paper, we examine this problem and propose two novel algorithms, called Diff_ET and Diff_ET2, to update the discovered frequent itemsets. Empirical evaluation shows that the proposed algorithms are very effective and have good linear scale-up characteristics. Mining association rules from large databases of business data, such as transaction records, comprises a popular topic within the area of data mining [1, 2] . An association rule is an expression of the form X ⇒ Y , where X and Y are sets of items. Such a rule reveals that transactions in the database containing items in X tend to also contain items in Y , and the probability, measured as the fraction of transactions that contain X also contain Y , is called the confidence of the rule. The support of the rule is the fraction of the transactions that contain all items in both X and Y . For an association rule to be valid, the rule should satisfy a user-specified minimum support, called ms, and minimum confidence, called mc, respectively. The problem of mining association rules is to discover all association rules that satisfy ms and mc.. In many applications, there are explicit or implicit taxonomies (hierarchies) over the items, so it may be more useful to find associations at different levels of the taxonomies than only at the primitive concept level [13, 21] . For example, consider the taxonomies of items in Fig. 1 .. It is likely that the association rule, The problem of mining association rules in the presence of taxonomy information was addressed first by Han et al. [13] and Srikant et al. [21] , independently. In [21] , the problem was referred to mining generalized association rules, aiming to find associations among items at any level of the taxonomies under the minimum support and minimum confidence constraints. In [13] , the problem mentioned was somewhat different from that considered in [21] because they generalized the uniform minimum support constraint to a form of assignment according to level, i.e., items at the same level received the same minimum support. The objective was to develop mining associations level-by-level in a fixed hierarchy. That is, only associations among items on the same level were examined progressively from the top level to the bottom. The problem of updating association rules incrementally was first addressed by Cheung et al. [4] . They developed the essence of updating the discovered association rules when new transaction records are added into the database over time, and they proposed an algorithm called FUP (Fast UPdate). They further examined the maintenance of multilevel association rules [5] , extending the model to incorporate the situations of deletion and modification [6] . Their approaches [5, 6] , however, did not consider the generalized items, and hence could not discover generalized association rules.. Subsequently, a number of techniques have been proposed to improve the efficiency of incremental mining algorithms [14, 15, 17, 20, 22] , although all of them were confined to mining associations between primitive items. The problem of maintaining generalized associations incrementally has been recently investigated [23] , wherein the model of generalized associations was extended to that with nonuniform minimum support.. In summary, all work on mining generalized association rules required the taxonomies to be static and ignored the fact that taxonomies of items may change over time or be adjusted by the analysts [7, 11] . This paper is the first, to our knowledge, to propose methods for solving this problem.

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


A frontal code for the solution of sparse positive-definite symmetric systems arising from finite-element applications We describe the design, implementation, and performance of a frontal code for the solution of large sparse symmetric systems of linear finite-element equations. The code is intended primarily for positive-definite systems, since numerical pivoting is not performed. The resulting software package, MA62, will be included in the Harwell Subroutine Library. We illustrate the performance of our new code on a range of problems arising from real engineering and industrial applications. The performance of the code is compared with that of the Harwell Subroutine Library general frontal solver MA42 and with other positive-definite codes from the Harwell Subroutine Library. In a previous article [Duff and Scott 1996] , we discussed the design and performance of a general frontal code, MA42, for solving sparse unsymmetric systems of equations. It was observed in that article that MA42 is frequently used to solve finite-element problems for which the system matrix is symmetric and positive-definite. However, apart from offering an option of restricting pivoting to the diagonal, MA42 does not exploit symmetry or positive definiteness, and, as a result, the code is more expensive in terms of both storage requirements and operation counts than it need be for this class of problems. Our goal is to design and develop a frontal code specifically for the efficient solution of sparse positive-definite symmetric systems from finite-element applications. The new code is called MA62.. Before discussing the design of MA62, we briefly describe some of the key features of the frontal method. We are concerned with the solution of linear systems. where the n ϫ n matrix A is large, sparse, and symmetric. B is an n ϫ nrhs ͑nrhs Ն 1͒ matrix of right-hand sides, and X is the n ϫ nrhs solution matrix. In this article, we are only interested in the case where the matrix A is an elemental matrix; that is, it is a sum of finite-element matrices. where each element matrix A ͑l͒ has nonzeros only in a few rows and columns and corresponds to the matrix from element l. The frontal method is a variant of Gaussian elimination that was originally developed by Irons [1970] and was later extended and modified by Hood [1976] and Duff [1981; 1983; 1984] . For the symmetric system (1), the method involves the matrix factorization. where P is a permutation matrix, D is a diagonal matrix, and L is a unit lower triangular matrix. If A is a positive-definite matrix, the entries of D are positive. The solution process is completed by performing the forward elimination. then the diagonal solution. followed by the back substitution. The main feature of the method is that the contributions A ͑l͒ from the finite elements are assembled one at a time and the storage of the entire coefficient matrix A is avoided by interleaving assembly and elimination operations. An assembly operation is of the form. where a ij ͑l͒ is the ͑i, j͒th nonzero entry of the element matrix A ͑l͒ . A variable is fully summed if it is involved in no further sums of the form (7) and is partially summed if it has appeared in at least one of the elements assembled so far but is not yet fully summed. The Gaussian elimination operation a ij d a ij Ϫ a il ͓a ll ͔ Ϫ1 a lj (8) may be performed as soon as all the terms in the triple product in (8) are fully summed. At any stage during the assembly and elimination processes, the rows and columns corresponding to the fully and partially summed variables are held in a dense matrix, termed the frontal matrix. The power of frontal schemes comes from the following observations:. -since the frontal matrix is held as a dense matrix, dense linear algebra kernels can be used during the numerical factorization,. -the matrix factors need not be held in main memory, which allows large problems to be solved using only modest amounts of high-speed memory.. The remainder of this article is organized as follows. In Section 2, the design of MA62, including the structure of the package and important features, is discussed. We look at the use of high-level Basic Linear Algebra Subprograms (BLAS) [Dongarra et al. 1990] in Section 3. In Section 4, we illustrate the performance of the new code, and compare it with our general frontal code MA42 and with other Harwell Subroutine Library [HSL 1996] codes for the solution of symmetric positive-definite systems. Concluding comments are made in Section 5. Full details of the code, including Specification Sheets and more extensive numerical results, may be found in Duff and Scott [1997] . Information on how to obtain the code is given in Section 6.. When discussing the design of MA62 we will want to illustrate the effects of our design decisions by numerical examples. We therefore end this section by introducing the problems that we will use for performance testing. In all cases, they arise in real engineering and industrial applications. The problems are all unassembled finite-element problems, and a brief description of each is given in Table I . The number of unassembled element problems available in the Harwell-Boeing Collection [Duff et al. 1992] is limited, and all are small by today's standards. Consequently, we have only selected two representative problems, cegb3306 and lock3491, from this collection. Problem ramage02 was provided by Alison Ramage of the University of Strathclyde [Ramage and Wathen 1993] ; aeac5081 came from Andrew Cliffe of AEA Technology; and cham and tubu were from Ron Fowler of the Rutherford Appleton Laboratory. The remaining problems were supplied by Christian Damhaug of Det Norske Veritas, Norway. For all the problems, values for the entries of the element matrices were generated using the Harwell Subroutine Library random-number generator FA01, and each was made symmetric and diagonally dominant.. In all the tables of results in which floating-point operation counts ("ops") are quoted, we count all operations (ϩ, -, *, /) equally. Times quoted are CPU times in seconds and include the I/O overhead for the codes that use direct-access files. The experimental results given in this article were obtained using 64-bit floating-point arithmetic on a single processor of a CRAY J932. The vendor-supplied BLAS were used. Numerical results for other computers are given by Duff and Scott [1997] . We have designed and developed a frontal code for solving systems of symmetric positive-definite unassembled finite-element equations. The code optionally uses direct-access files to hold the matrix factors and makes full use of Level 3 BLAS kernels in its innermost loop and in the solution phase. We have shown, that, as well as needing approximately half the real storage for the matrix factors as the general frontal code MA42, the code can be more than twice as fast as MA42. We have seen that the frontal method, with a good element ordering, can provide a very powerful approach to the solution of large sparse systems, compared with other HSL codes, although our conclusions may have to be modified when multifrontal and variable band codes for positive-definite systems that exploit the Level 3 BLAS become available.

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


Quadratic kernelization for convex recoloring of trees Abstract. The Convex Recoloring (CR) problem measures how far a tree of characters differs from exhibiting a so-called "perfect phylogeny". For an input consisting of a vertex-colored tree T , the problem is to determine whether recoloring at most k vertices can achieve a convex coloring, meaning by this a coloring where each color class induces a connected subtree. The problem was introduced by Moran and Snir, who showed that CR is NP-hard, and described a search-tree based FPT algorithm with a running time of O(k(k/ log k) k n 4 ). The Moran and Snir result did not provide any nontrivial kernelization. Subsequently, a kernelization with a large polynomial bound was established. Here we give the strongest FPT results to date on this problem: (1) We show that in polynomial time, a problem kernel of size O(k 2 ) can be obtained, and (2) We prove that the problem can be solved in linear time for fixed k. The technique used to establish the second result appears to be of general interest and applicability for bounded treewidth problems. The historically first and most common definition of fixed-parameter tractability for parameterized problems is solvability in time O(f (k)n c ), where n is the input size, k is the parameter, and c is a constant independent of n and k. Background and motivation for the general subject of parameterized complexity and algorithmics can be found in the books [9, 10, 15] . This basic view of the subject is by now well-known.. Less well-known is the point of view that puts an emphasis on FPT kernelization. For an extensive overview of kernelization, see [12] . Kernelization is central to FPT as shown by the lemma: Lemma 1. A parameterized problem Π is in FPT if and only if there is a transformation from Π to itself, and a function g, that reduces an instance (x, k) to (x , k ) such that:. 1. the transformation runs in time polynomial in |(x, k)|, 2. (x, k) is a yes-instance of Π if and only if (x , k ) is a yes-instance of Π, 3. k ≤ k, and 4. |(x , k )| ≤ g(k).. The lemma is trivial, but codifies a shift of perspective. To see how this works, consider the Moran and Snir FPT result for Convex Recoloring, with the running time of O * (k/ log k) k ). When n > (k/ log k) k , then the Moran and Snir algorithm runs in polynomial time, in fact, in time O(n 5 ). (So we can run the algorithm and determine the answer, and "transform" the input to either a canonical small NO instance or a canonical small YES instance accordingly.) If n ≤ (k/ log k) k then we simply do nothing; we declare that the input is "already" kernelized to the bound g(k) = (k/ log k) k . If a parameterized problem is FPT, that is, solvable in time f (k)n c , then the lemma above gives us the trivial P-time kernelization bound of g(k) = f (k). Normally for FPT problems, f (k) is some exponential function of k, so the subclasses of FPT Lin(k) ⊆ P oly(k) ⊆ F P T of parameterized problems that admit P-time kernelization to kernels of size bounded by linear or polynomial functions of k would seem to be severe restrictions of FPT.. It is surprising that so many parameterized problems in FPT belong to these much more restrictive subclasses. The connection to heuristics goes like this: FPT kernelization is basically a systematic approach to polynomial-time pre-processing. Preprocessing plays a powerful role in practical approaches to solving hard problems. For any parameterized problem in FPT there are now essentially two different algorithm design competitions with independent payoffs: 1. to find an FPT algorithm with the best possible exponential cost f (k), and 2. to find the best possible polynomial-time kernelization for the problem.. A classic result on FPT kernelization is the Vertex Cover 2k kernelization due to Nemhauser and Trotter (see [15] ). The linear kernelization for Planar Dominating Set is definitely nontrivial [1] . The question of whether the Feedback Vertex Set (FVS) problem for undirected graphs has a P oly(k) kernelization was a noted open problem in parameterized algorithmics, only recently solved. The first P oly(k) kernelization for FVS gave a bound of g(k) = O(k 11 ) [6] . Improved in stages, the best kernelization bound is now O(k 3 ) [4] . We prove here a polynomial time kernelization for the Convex Recoloring problem, to a reduced instance that has O(k 2 ) vertices. The basic problem is defined as follows.

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


A cross-collection mixture model for comparative text mining In this paper, we define and study a novel text mining problem, which we refer to as Comparative Text Mining (CTM). Given a set of comparable text collections, the task of comparative text mining is to discover any latent common themes across all collections as well as summarize the similarity and differences of these collections along each common theme. This general problem subsumes many interesting applications, including business intelligence and opinion summarization. We propose a generative probabilistic mixture model for comparative text mining. The model simultaneously performs cross-collection clustering and withincollection clustering, and can be applied to an arbitrary set of comparable text collections. The model can be estimated efficiently using the Expectation-Maximization (EM) algorithm. We evaluate the model on two different text data sets (i.e., a news article data set and a laptop review data set), and compare it with a baseline clustering method also based on a mixture model. Experiment results show that the model is quite effective in discovering the latent common themes across collections and performs significantly better than our baseline mixture model. Text mining is concerned with extracting knowledge and patterns from text [5, 6] . While there has been much research in text mining, most existing research is focused on one single collection of text. The goals are often to extract basic semantic units such as named entities, to extract relations between information units, or to extract topic themes.. In this paper, we study a novel problem of text mining referred to as Comparative Text Mining (CTM). Given a set of comparable text collections, the task of comparative text mining is to discover any latent common themes across all collections as well as summarize the similarity and differences of these collections along each common theme. Specifically, the task involves: (1) discovering the different common themes across all the collections; (2) for each discovered theme, characterize what is in common among all the collections and what is unique to each collection. The need for comparative text mining exists in many different applications, including business intelligence, summarizing reviews of similar products, and comparing different opinions about a common topic in general.. In this paper, we study the CTM problem and propose a generative probabilistic mixture model for CTM. The model simultaneously performs cross-collection clustering and withincollection clustering, and can be applied to an arbitrary set of comparable text collections. The mixture model is based on component multinomial distribution models, each characterizing a different theme. The common themes and collection-specific themes are explicitly modeled. The proposed model can be estimated efficiently using the ExpectationMaximization (EM) algorithm.. We evaluate the model on two different text data sets (i.e., a news article data set and a laptop review data set), and compare it with a baseline clustering method also based on a mixture model. Experiment results show that the model is quite effective in discovering the latent common themes across collections and performs significantly better than our baseline mixture model.. The rest of the paper is organized as follows. In Section 2, we briefly introduce the problem of CTM. We then present a baseline simple mixture model and a new cross-collection mixture model in Section 3 and Section 4. We discuss the experiment results in Section 5. In this paper, we define and study a novel text mining problem referred to as comparative text mining. It is con- cerned with discovering any latent common themes across a set of comparable collections of text as well as summarizing the similarities and differences of these collections along each theme. We propose a generative cross-collection mixture model for performing comparative text mining. The model simultaneously performs cross-collection clustering and withincollection clustering, and can be applied to an arbitrary set of comparable text collections. We define the model and present the EM algorithm that can estimate the model efficiently. We evaluate the model on two different text data sets (i.e., a news article data set and a laptop review data set), and compare it with a baseline clustering method based on a simple mixture model. Experiment results show that the cross-collection mixture model is quite effective in discovering the latent common themes across collections and performs significantly better than the baseline simple mixture model. The proposed model has many obvious applications in opinion summarization and business intelligence. It also has many other less obvious applications in the general area of text mining and semantic integration of text. For example, our model can be used to compare the course web pages from the major computer science department web sites to discover core computer science topics. It can also be used to compare literature collections in different communities to support concept switching [11] .. The work reported in this paper is just an initial step toward a promising new direction. There are many interesting future research directions. First, it may be interesting to explore how we can further improve the CCMix model and its estimation. One interesting direction is to explore the Maximum A Posterior (MAP) estimator, which would allow us to incorporate more prior knowledge in a principled way. For example, a user may already have certain thematic aspects in mind. With MAP estimation, we can easily add that bias to the component models. Second, we can generalize our model to model semi-structured data to perform more general comparative data mining. One way to achieve this goal is to introduce additional random variables in each component model so that we can model any structured data. Finally, it would be very interesting to explore how we could exploit the learned theme models to provide additional help to a user who wants to perform comparative analysis. For example, the learned common theme models can be used to construct a hidden Markov model (HMM) to identify the parts in the text collections about the common themes, and to connect them through automatically generated hyperlinks. This would allow a user to easily navigate through the common themes. The most related work to our work is the coupled clustering method presented in [8] , which appears to be one of the very few studies considering the clustering problem in multiple collections. They extend the information bottleneck approach to discover common clusters across different collections. Comparative text mining goes beyond this by analyzing both the similarities and collection-specific differences. We also use a completely different approach based on probabilistic mixture models. Another related work is [10] , where cross-training is used for learning classifiers from multiple document sets. Our work differs from it in that we perform unsupervised learning. The aspect models studied in [7, 2] are also related to our work but they are closer to our baseline model and are not designed for comparing multiple collections. There are many studies in document clustering [1] . Again, the difference lies in that they consider only one collection and thus are similar to the baseline model.. Our work is also related to document summarization, especially multiple document summarization (e.g., [9, 12] ). Indeed, we can the results of CTM as a special form of summary of multiple text collections. However, an important difference is that while a summary intends to retain the explicit information in text (to maintain fidelity), CTM aims at extracting non-obvious implicit patterns.

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