On Quiescent Reliable Communication Abstract. We study the problem of achieving reliable communication with quiescent algorithms (i.e., algorithms that eventually stop sending messages) in asynchronous systems with process crashes and lossy links. We first show that it is impossible to solve this problem in asynchronous systems (with no failure detectors). We then show that, among failure detectors that output lists of suspects, the weakest one that can be used to solve this problem is P, a failure detector that cannot be implemented. To overcome this difficulty, we introduce an implementable failure detector called Heartbeat and show that it can be used to achieve quiescent reliable communication. Heartbeat is novel: in contrast to typical failure detectors, it does not output lists of suspects and it is implementable without timeouts. With Heartbeat, many existing algorithms that tolerate only process crashes can be transformed into quiescent algorithms that tolerate both process crashes and message losses. This can be applied to consensus, atomic broadcast, k-set agreement, atomic commitment, etc. HB should not be confused with existing implementations of failure detectors (some of which have modules that are also called heartbeat [35, 10] ). Even though existing failure detectors are also based on the repeated sending of a heartbeat, they use timeouts on heartbeats in order to derive lists of processes considered to be up or down, and applications can only see these lists. In contrast, HB does not use timeouts on the heartbeats of a process in order to determine whether this process has failed or not. HB just counts the total number of heartbeats received from each process and outputs these "raw" counters without any further processing or interpretation.. A remark is now in order regarding the practicality of HB. As we mentioned above, HB outputs a vector of unbounded counters. In practice, these unbounded counters are not a problem for the following reasons. First, they are in local memory and not in messages-our HB implementations use bounded messages. Second, if we bound each local counter to 64 bits and assume a rate of one heartbeat per nanosecond, which is orders of magnitude higher than currently used in practice, then HB will work for more than 500 years. they are not fair. Examples of such networks are unidirectional rings that intersect. For the first type of networks, a common one in practice, the implementation of HB and the reliable communication algorithms are very simple and efficient. The algorithms for the second type are significantly more complex.. We then consider two stronger types of communication primitives, namely, reliable send and receive and uniform reliable broadcast, and give quiescent implementations that use HB. These implementations assume that a majority of processes are correct (a result in [5] shows that this assumption is necessary).. We conclude the paper by showing how HB can be used to extend previous work in order to solve problems with algorithms that are both quiescent and tolerant of process crashes and messages losses. First, we explain how HB can be used to transform many existing algorithms that tolerate process crashes into quiescent algorithms that tolerate both process crashes and message losses (fair links). This transformation can be applied to the algorithms for consensus in [2, 7, 9, 12, 14, 16, 33] , for atomic broadcast in [12] , for k-set agreement in [13] , for atomic commitment in [20] , for approximate agreement in [15] , etc. Next, we show that HB can be used to extend the work in [5] to obtain the following result. Let P be a problem. Suppose P is correctrestricted (i.e., its specification refers only to the behavior of correct processes), or a majority of processes are correct. If P is solvable with a quiescent protocol that tolerates only process crashes, then P is also solvable with a quiescent protocol that tolerates process crashes and message losses. To summarize, in this paper, we do the following.. 1. We explore the use of unreliable failure detectors to achieve quiescent reliable communication in the presence of process crashes and lossy links-a problem that cannot be solved without failure detection. 2. We show that the weakest failure detector with bounded output size that can be used to solve this problem is P-which is not implementable. 3. To overcome this obstacle, we introduce HB: this failure detector can be used to achieve quiescent reliable communication, and it is implementable. In contrast to common failure detectors [3, 12, 20, 21, 28, 34] , HB does not output a list of suspects, and it can be implemented without timeouts. 4. We show that HB can be used to extend existing algorithms for many fundamental problems (e.g., consensus, atomic broadcast, k-set agreement, atomic commitment, and approximate agreement) to tolerate message losses. It can also be used to extend the results of [5] . Result (2) above implies that failure detectors with bounded output size are either (a) too weak to achieve quiescent reliable communication, or (b) not implementable. Thus, failure detectors that output lists of processes, which are commonly used in practice, are not always the best ones to solve a problem: their power or applicability is limited. To the best of our knowledge, this is the first work that shows that failure detectors with bounded output size have inherent limitations.. The problem of achieving reliable communication despite failures has been extensively studied, especially in the context of data link protocols (see Chapter 22 of [29] for a compendium). Our work differs from previous results because we seek quiescent algorithms in systems where processes and links can fail (and this requires the use of unreliable failure detectors). The works that are the closest to ours are due to Moses and Roth [30] and Basu, Charron-Bost, and Toueg [5] . The main goal of [30] is to achieve quiescent reliable communication with algorithms that garbage-collect old messages in systems with lossy links (the issue of garbage collection is only briefly considered here). The algorithms in [30] , however, are not resilient to process crashes. The protocols in [5] tolerate both process crashes and lossy links, but they are not quiescent (and they do not use failure detectors). In section 10, we use HB to extend the results of [5] and obtain quiescent protocols.. The paper is organized as follows. Our model is given in section 2. In section 3, we define the reliable communication primitives that we focus on. In section 4, we show that, without failure detectors, quiescent reliable communication is impossible. In section 5, we prove that P is the weakest failure detector with bounded output size that can be used to solve this problem (this proof is under a simplifying assumption; the proof without this assumption is given in the appendix). We then define the heartbeat failure detector HB in section 6. In section 7, we show how to use HB to achieve quiescent reliable communication. In section 8, we show how to implement HB. In section 9, we consider two stronger types of communication primitives and give quiescent implementations that use HB. In section 10, we explain how HB can be used to extend several previous results. We conclude the paper with some remarks about message buffering, quiescence versus termination, models of lossy links, and the generalization of our results to partitionable networks.

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


An Efficient Projector-Based Passivity Test for Descriptor Systems Abstract-An efficient passivity test based on canonical projector techniques is proposed for descriptor systems (DSs) widely encountered in circuit and system modeling. The test features a natural flow that first evaluates the index of a DS, followed by possible decoupling into its proper and improper subsystems. Explicit state-space formulations for respective subsystems are derived to facilitate further processing such as model order reduction and/or passivity enforcement. Efficient projector construction and a fast generalized Hamiltonian test for the properpart passivity are also elaborated. Numerical examples then confirm the superiority of the proposed method over existing passivity tests for DSs based on linear matrix inequalities or skew-Hamiltonian/Hamiltonian matrix pencils.Index Terms-Canonical projector, descriptor system (DS), generalized Hamiltonian, passivity.

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


A practical model for subsurface light transport This paper introduces a simple model for subsurface light transport in translucent materials. The model enables efficient simulation of effects that BRDF models cannot capture, such as color bleeding within materials and diffusion of light across shadow boundaries. The technique is efficient even for anisotropic, highly scattering media that are expensive to simulate using existing methods. The model combines an exact solution for single scattering with a dipole point source diffusion approximation for multiple scattering. We also have designed a new, rapid image-based measurement technique for determining the optical properties of translucent materials. We validate the model by comparing predicted and measured values and show how the technique can be used to recover the optical properties of a variety of materials, including milk, marble, and skin. Finally, we describe sampling techniques that allow the model to be used within a conventional ray tracer. Accurately modeling the scattering of light by materials is fundamental for realistic image synthesis. Even the most sophisticated light transport algorithms fail to produce convincing results if the local scattering models are too simple. Therefore a great deal of research has gone into describing the scattering of light from materials.. Previous research has focused on developing models for the bidirectional reflectance distribution function (BRDF). The BRDF was introduced by Nicodemus [14] as a simplification of the more general bidirectional surface scattering distribution function (BSSRDF). The BSSRDF can describe light transport between any two rays that hit a surface, whereas the BRDF assumes that light entering a material leaves the material at the same position ( Figure 1 ). This approximation is valid for metals, but it fails for translucent materials, which exhibit significant transport below the surface. Even for many materials that do not seem very translucent, using the BRDF creates a hard, distinctly computer-generated appearance because it does not locally blend surface features such as color and geometry. Only methods that consider subsurface scattering can capture the true appearance of translucent materials, such as marble, cloth, paper, skin, milk, cheese, bread, meat, fruits, plants, fish, ocean water, snow, etc. In this paper we have presented a new practical BSSRDF model for computer graphics. The model combines a dipole diffusion approximation with an accurate single scattering computation. We have shown how the model can be used to measure the scattering properties of translucent materials, and how the measured values can be used to reproduce the results of the measurements as well as synthetic renderings. We evaluate the BSSRDF by sampling the incoming light over the surface, and we demonstrate how this technique is capable of capturing the soft and smooth appearance of translucent materials.. In the future we plan to extend the model to multiple layers as well as include support for efficient global illumination. Figure 11 : A face rendered using the BRDF model (top) and the BSSRDF model (bottom). We used our measured values for skin (skin1) and the same lighting conditions in both images (the BRDF image also includes global illumination). The face geometry has been modeled by hand; the lip-bumpmap is handpainted, and the bumpmap on the skin is based on a gray-scale macro photograph of a piece of skin. Even with global illumination the BRDF gives a hard appearance. Compare this to the faithful soft appearance of the skin in the BSSRDF simulation. In addition the BSSRDF captures the internal color bleeding in the shadow region under the nose. We have implemented the BSSRDF model in a Monte Carlo ray tracer, and in this section we will present a number of experimental results obtained with this implementation. All simulations have been done on a dual 800MHz Pentium III PC running Linux and the images have been rendered with 4 samples per pixel and a width of 1024 pixels.. Our first simulation is shown in Figure 8 , which compares a side photograph of a marble cube illuminated from above with a synthetic rendering. The synthetic image is rendered using the BSSRDF model and the measured parameters for marble (from the table in Figure 5 ). We only used a simple cube to approximate the rounded marble block, so there are natural visible differences along the edges. Nonetheless, the BSSRDF model faithfully renders the appearance including the scattered light exiting from the side of the marble cube. Figure 9 shows several different simulations of subsurface scattering in a marble bust (1.3 million triangles) illuminated from behind. The BSSRDF simulation mostly matches the appearance of the full Monte Carlo simulation, yet is significantly faster (5 minutes vs. 1250 minutes). The hair at the back of the head is slightly darker in the BSSRDF simulation; we believe this is due to the forced 1/σ t distance in the diffusion approximation. A similar rendering was done using photon mapping in [5] in roughly 12 minutes (scaled to the speed of our computer). However, the photon mapping method requires a full 3D-description of the material, it requires memory to store the photons, and it becomes costly for highly scattering materials (such as milk and skin). A particularly interesting aspect of the BSSRDF simulation is that it is able to capture the smooth appearance of the marble surface. In comparison the BRDF simulation gives a very hard appearance where even tiny bumps on the surface are visible (this is a classic problem in realistic image synthesis where objects often look hard and unreal).. For the marble we used synthetic scattering and absorption coefficients, since we wanted to test the difficult case when the average scattering albedo is 0.5 (here the contribution from diffusion and single scattering is approximately the same). Figure 9 demonstrates how the sum of both single scattering and the diffusion term is necessary to match the Monte Carlo simulation. Figure 10 contains three renderings of milk. The first rendering uses a diffuse reflection model; the others use the BSSRDF model and our measurements for skim milk and whole milk. Notice how the diffuse milk looks unreal and too opaque compared to the BSSRDF images, even though multiple scattering dominates and the radiant exitance due to subsurface scattering is very diffuse. It is interesting that the BSSRDF simulations are capable of capturing the subtle details in the appearance of milk, making the milk look more bluish at the front and more reddish at the back. This is due to Rayleigh scattering that causes shorter wavelengths of light to be scattered more than longer wavelengths.. Skin is a material that is particularly difficult to render using methods that simulate subsurface scattering by sampling ray paths through the material. This is due to the fact that skin is highly scattering (typical albedo is 0.95) and also very anisotropic (typical average cosine of the scattering angle is 0.85). Both of these properties mean that the average number of scattering events of a photon is very high (often more than 100). In addition skin is very translucent, and it cannot be rendered correctly using a BRDF (see Figure 11) . A complete skin model requires multiple layers, but a reasonable approximation can be obtained using just one layer. In Figure 11 we have rendered a simple face model using the BSSRDF and our measured values for skin (skin1). Here we also used the Henyey-Greenstein phase function [11] with g = 0.85 as the estimated mean cosine of the scattering angle. The skin measurements are from an arm (which is likely more translucent than skin on the face), but the overall appearance is still realistic considering the lack of spatial variation (texture). The BSSRDF gives the skin a soft appearance, and it renders the color bleeding in the shadow region below the nose. Here, the absorption by blood is particularly noticeable as the light that scatters deep in the skin is redder. For this simulation the diffusion term is much larger than the single scattering term. This means that skin reflects light fairly diffusely, but also that internal color bleeding is an important factor. The BRDF image was rendered in 7 minutes, the BSSRDF image was rendered in 17 minutes. Almost all BRDF models are derived exclusively from surface scattering, with any subsurface scattering approximated by a Lambertian component. An exception is the model by Hanrahan and Krueger [10] which includes an analytic expression for single scattering in a homogeneous, uniformly lit slab. However, all BRDF models ultimately assume that light scatters at one surface point and they do not model subsurface transport from one point to another.. Subsurface transport can be simulated accurately but slowly by solving the full radiative transfer equation [1] . Only a few papers in graphics have taken this approach to subsurface scattering. Dorsey et al. [5] simulated full subsurface scattering using photon mapping to capture the appearance of weathering in stone. Pharr and Hanrahan [15] used scattering functions to simulate subsurface scattering. These approaches, while capable of simulating all of the effects of subsurface scattering, are computationally very expensive compared to the simulation of opaque materials. Techniques based on path sampling are particularly inefficient for highly scattering materials, such as milk and skin, in which light scatters multiple (often several hundred) times before exiting the material. For highly scattering media Stam [17] introduced the use of diffusion theory. He solved a diffusion equation approximation using a multigrid method, and used this method to render clouds with multiple scattering.. Subsurface scattering is also important in medical physics, where models have been developed to describe the scattering of laser light in human tissue [6, 8] . In that context, diffusion theory is often used to predict as well as to measure the optical properties of highly scattering materials. We have extended this theory for use in computer graphics by adding exact single scattering, support for arbitrary geometry, and a practical sampling technique for rendering.. In measurements of appearance for computer graphics, subsurface scattering has rarely been considered. Debevec et al. [3] measured light reflection from human faces, which included contributions from subsurface scattering, but they did not relate the data to the physical properties of the material. Again building on medical physics research [8, 9] , we have extended a methodology developed for measuring biological tissues into a rapid image-based appearance measurement technique for translucent materials. This method examines the radial reflectance profile resulting from a beam illuminating the sample material. By fitting an expression derived from diffusion theory it is possible to estimate the absorption and scattering properties of the material. by integrating the incident radiance over incoming directions and area, A:. Light propagation in a participating medium is described by the radiative transport equation, often referred to in computer graphics as the volume rendering equation:. In this equation, the properties of the medium are described by the absorption coefficient σa, the scattering coefficient σs, and the phase function p( ω, ω ). The extinction coefficient σt is defined as, σt = σa + σs. We assume the phase function is normalized, 4π p( ω, ω ) dω = 1 and is a function only of the phase angle, p( ω, ω ) = p( ω · ω ). The mean cosine, g, of the scattering angle is. If g is positive, the phase function is predominantly forward scattering; if g is negative, backward scattering dominates. A constant phase function results in isotropic scattering (g = 0).. For an infinitesimal beam entering a homogeneous medium, the incoming radiance will decrease exponentially with distance s. This is referred to as the reduced intensity:. The first-order scattering of the reduced intensity, Lri, may be treated as a volumetric source:. To gain insight into the volumetric behavior of light propagation, it is useful to integrate the radiative transport equation over all directions ω at a point x which yields. This equation relates the scalar irradiance, or fluence,. L(x, ω) dω, and the vector irradiance,. In the absence of loss due to absorption or gain due to a volumetric light source (Q0 = 0), the divergence of the vector irradiance equals zero. In this equation, we introduce a 0th-order source term, Q0, and later we will need the 1st-order source term, Q1, where

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


Toward intelligent data warehouse mining: An ontology-integrated approach for multi-dimensional association mining AbstractA data warehouse is an important decision support system with cleaned and integrated With the fast and massive accumulation of data in the current information era, especially under the pervasion of the Internet, the utilization of knowledge discovery and data mining technology plays a key role in promoting business competition and improving scientific discoveries. To prevent ineffectual efforts of garbage in, garbage out computation, contemporary knowledge discovery platforms usually accommodate the data warehouse (Inmon, 1995) as a consistent and integrated data repository. As with the typical data warehouse mining process shown in Figure 1 , the data in a data warehouse is extracted from multiple and heterogeneous data sources, undergoes a complex cleaning and integration process, and finally loads into the data warehouse as a consistent and integrated data repository. In this way, users do not need to worry about the heterogeneity and the consistency of the data. In the past decade, much effort has been devoted to data warehouse mining and many applicable solutions have been provided. J. Han' s research group conducted data mining from data cubes and multi-dimensional databases (Han, 1998) . They developed DBMiner (Han et al., 1997) , a system combining OLAP (Chaudhuri & Dayal, 1997) and data mining to provide association mining, classification, prediction and clustering. Many commercialized database .. The purpose of data mining is for users to find real and useful knowledge they actually want. In this paper we have shown a data warehouse mining system framework with intelligent assistance incorporating schema ontology, schema constraint ontology, domain ontology and user preference ontology. We have demonstrated the intelligent assistance provided by the mining system in guiding users through the mining processes. This improves the mining effectiveness and efficiency in four aspects as follows. First, the processes of the mining model settings are assisted by intelligent functions, minimizing the possibilities of illegal settings of mining models. Also, appropriate recommendations of the mining model elements are provided while the users are setting the mining model. This avoids execution of ineffective or redundant mining processes and also guides the users through the approaching of the mining models that are closer to their mining intention. Second, with the support of domain ontology, mining rules can be extended and generalized. Third, the information in the domain ontology can be included in the filtering condition to obtain a more specific search. space. More precise knowledge can be discovered. Fourth, it provides the system with knowledge browsing capability that a mining model can be examined against the user preference ontology for any duplication or similarities. This saves the system' s resources. In this paper, we have discussed the intelligent assistance in general. A preliminary implementation of this system framework has also been provided to demonstrate the claimed benefits.. The ontologies we have proposed in this paper are implemented in relational table structures. Nevertheless, these ontologies are local to the specific mining system we have proposed. Making them globally sharable is challenging and is an important future work. This section gives an overview of the literature related to our work in twofold: the use of ontology in data mining and data warehouse mining.. (1) Use of ontology in data mining If the concept hierarchy or taxonomy can be viewed as an ontology, then the use of ontologies in data mining can be traced back to 1991 when Nunez used information of the classification hierarchy and attribute processing cost to improve the efficiency of the classification process (Nunez, 1991) . Later, Han & Fu (1995) and Srikant & Agrawal (1995) also proposed combining classification hierarchies to mine multilevel association rules and generalized association rules, respectively. Their works were later extended by Chien et al. (2007) , who not only applied classification but also composition hierarchical knowledge to mining fuzzy association rules. These researches, however, concentrated on the design of the algorithms, yet discussion of ontology structure design and its benefit to data mining were not covered. Until recently, research on applying ontology to data mining was exploited by several studies such as, ontology-based induction of rules (Aronis et al., 1996; Taylor et al., 1997) , ontology-based business understanding (Sharma & Osei-Bryson, 2009 ), ontologybased post-processing and explanation of association rules (Domingues & Rezende, 2005; Liao et al., 2009; Marinica et al., 2008; Svatek et al., 2005) , ontology-supported selection of classification algorithms (Bernstein et al., 2005; Lin et al., 2006) , ontology-guided new attributes generation from databases (Phillips & Buchanan, 2001) , and ontology-based integration and preprocessing of data (Euler & Scholz, 2004; Perez-Rey et al., 2006) .. Differing from the above work on dealing with the issue of incorporating ontology in the individual phase of the well known KDD process proposed by Fayyad et al. (1996) , there has been work conducted from an integral perspective. For example, Kopanas et al. (2002) pointed out the essence of incorporating ontology (the term domain knowledge is used instead). to the KDD process and demonstrated their viewpoints using a telecommunication customer insolvency case study. Cespivova et al. (2004) conducted a systematic study by discussing the roles of medical domain ontology in each aspect of the KDD process. A similar study was also presented in (Gottgtroy et al., 2004; Kuo et al., 2007) . (2) Data warehouse mining Currently, the research on data warehouse mining is mostly concentrated on data mining from data cubes or multi-dimensional databases. J. Han' s research group pioneered this research subject (Han, 1998; Han et al., 1999) . The study conducted by Ester and his colleagues Ester & Wittmann, 1998) instead considered the problem of incrementally updating mined patterns from data warehouses. In 2000, Psaila and Lanzi studied multi-level association mining from a primitive data warehouse and proposed a mining algorithm. Since then, substantial works have been devoted to discovering multidimensional association rules from data warehouses (Ng et al., 2002; Chung & Mangamuri, 2005; Tjioe & Taniar, 2005; Messaoud et al., 2006; Yang et al., 2008) .. The research by Priebe & Pernul (2003) first exploited the issues of incorporating ontology into knowledge discovery from data warehouses. In particular, it proposed an intelligent web portal integrating OLAP and information retrieval through ontology, yet it focused on information retrieval issues but not on data mining. Subsequent work on multiple source integration for data warehouse OLAP construction includes Niemi et al. (2007) and Shah et al. (2009) . In (Wu et al., 2007) , we presented the problems with contemporary association rule mining in data warehousing systems, explained the essence that incorporates ontologies to resolve the problems, anddemonstrated a preliminary framework.

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


Bounded partial-order reduction Eliminating concurrency errors is increasingly important as systems rely more on parallelism for performance. Exhaustively exploring the state-space of a program's thread interleavings finds concurrency errors and provides coverage guarantees, but suffers from exponential state-space explosion. Two prior approaches alleviate state-space explosion.(1) Dynamic partial-order reduction (DPOR) provides full coverage and explores only one interleaving of independent transitions. (2) Bounded search provides bounded coverage by enumerating interleavings that do not exceed a bound. In particular, we focus on preemption-bounding. Combining partial-order reduction with preemption-bounding had remained an open problem.We show that preemption-bounded search explores the same partial orders repeatedly and consequently explores more executions than unbounded DPOR, even for small bounds. We further show that if DPOR simply uses the preemption bound to prune the state space as it explores new partial orders, it misses parts of the state space reachable in the bound and is therefore unsound. The bound essentially induces dependences between otherwise independent transitions in the DPOR state space. We introduce Bounded Partial Order Reduction (BPOR), a modification of DPOR that compensates for bound dependences. We identify properties that determine how well bounds combine with partialorder reduction. We prove sound coverage and empirically evaluate BPOR with preemption and fairness bounds. We show that by eliminating redundancies, BPOR significantly reduces testing time compared to bounded search. BPOR's faster incremental guarantees will help testers verify larger concurrent programs. Concurrency errors are notoriously difficult to debug because they often occur only under unexpected thread interleavings. One approach to identify and reproduce concurrency errors is stateless model checking [8] , which systematically drives the program along possible thread interleavings. This approach is limited in practice, however, by statespace explosion. The number of possible thread interleavings grows exponentially with the size of the program and number of threads. Two existing approaches alleviate statespace explosion: partial-order reduction and bounded search.. Partial order methods provide full coverage by exploring all unique reachable states, and they alleviate state space explosion by exploring only one interleaving of independent events [6, 7] . Independent events commute -their interleavings do not change program behavior. Dynamic partialorder reduction (DPOR) observes the program's actual dependences at runtime, rather than a static conservative estimate of dependences, to identify independent events [6] . In practice, the reduced state space is much smaller than the full state space. Searching this state space is sufficient to verify safety properties such as absence of deadlocks and adherence to local assertions [7] . The size of this reduced space still grows exponentially, but with the number of dependent events in the program, rather than the total number of events. Nevertheless, for larger programs DPOR often runs for longer than developers are willing to wait.. Bounded search, in contrast, alleviates state-space explosion by pruning executions that exceed a bound [5, 12, 14] . For example, Musuvathi and Qadeer use preemptionbounded search [12] to explore executions involving a small number of preemptions. Their insight is that many concurrency bugs require a small number of preemptions to manifest. Therefore, by focusing on a much smaller portion of Figure 1 . Preemption-bounded search with DPOR. Although s is reachable within the bound, the search never reaches it.. the state space, preemption-bounded search often finds bugs faster than unbounded search does. At the same time, such a search provides a useful coverage metric to the user -when a search with k preemptions has finished, any remaining bug requires at least k +1 preemptions, and as such is more complex to find and less likely to happen in practice [12] .. Our experiments show that preemption-bounded search is useful only for very small bounds. For example, searches that allow more than two preemptions for our benchmarks explore so many redundant executions of the same partial order that they explore many more executions than unbounded DPOR. Thus, preemption-bounded search fails to improve performance precisely on those programs where it holds promise -for large programs where DPOR either runs longer than developers are willing to wait, or does not terminate.. This result motivates combining preemption-bounded search with DPOR. Figure 1 illustrates why combining these two approaches has remained an open problem until now. The figure shows the state space for a program with two threads u and v and three instructions. Each transition in the state space corresponds to a thread executing an instruction. Starting from the initial state s 0 , the transitions t 1 of thread u and t 3 of thread v are independent as they access different memory locations. Thus, executing the transitions in either order reaches the same state. However, transitions t 2 and t 3 are dependent, leading to two different final states, s 3 and s . Note, both final states are reachable with no preemptions, respectively through executions t 1 , t 2 , t 3 and t 3 , t 1 , t 2 . However, a naïve combination of DPOR with preemption bounding can miss exploring s .. Consider combining DPOR with preemption-bounded search with bound 0. Assume the search first explores execution t 1 , t 2 , t 3 , as illustrated in the figure. The DPOR algorithm achieves state-space reduction by carefully inserting backtrack points only where necessary to explore both orderings of dependent transitions. In the example, because t 3 and t 2 are dependent, DPOR schedules t 3 at s 1 , prior to dependent transition t 2 , but not at s 0 since t 3 and t 1 are independent. However, executing t 3 in thread v from s 1 requires preempting thread u since it is still enabled in s 1 . Since the preemption-bound is 0, the algorithm will not explore this execution -it exceeds the bound. This naïve combination is therefore unsound. This paper proposes an efficient algorithm called Bounded Partial Order Reduction (BPOR) to soundly combine DPOR with preemption-bounded search. The key idea behind BPOR is to conservatively add more backtrack points beyond what DPOR requires. If a backtrack point required by DPOR requires a preemption, then BPOR conservatively backtracks to a previous point in the execution where the backtracked transition does not require a preemption. In the example in Figure 1 , when DPOR schedules t 3 at s 1 , BPOR additionally schedules t 3 at s 0 . Subsequently, BPOR will prune the execution that exceeds the bound at s 1 , but not at s 0 , eventually exploring both final states.. In this paper, we prove that BPOR with the preemptionbound is sound. In particular, given a preemption-bound, when BPOR terminates it guarantees that it explored all states reachable within the bound in the state space. As the bound increases, BPOR gradually approaches the coverage and time of full DPOR.. Although adding conservative backtrack points decreases the amount of partial-order reduction, we empirically show that BPOR vastly reduces the exploration of redundant executions of the same partial order. We also identify properties of bound functions that do not require conservative backtrack points. Unfortunately, the bounds studied in this paper do not satisfy these properties.. In addition, we recast fair stateless model checking as bounded search [14] and show how to combine BPOR with fair-bounded search. Whereas DPOR cannot explore cyclic state spaces, BPOR with fair-bounded search soundly explores the fair-bounded state space when the state space is cyclic. Most of our test programs have cyclic state spaces that result from the use of lock-free constructs such as spin loops. Fair exploration [14] is essential to scale BPOR to these benchmarks.. Our empirical evaluation shows that BPOR provides bounded coverage far more quickly than preemption-bounded search does. We also show that BPOR finds more bugs faster than DPOR or preemption-bounded search alone.. Section 2 formalizes our representation of concurrent programs, and reviews partial-order reduction and bounded search. Section 3 compares DPOR with bounded search and shows why naïvely combining them sacrifices bounded coverage. The algorithms in Section 4 compensate for bound dependences, computing a sufficient set of transitions to explore in each state. Section 5 introduces bounded partialorder reduction (BPOR) and computes sufficient sets. For brevity here within, we state the theorems and put the proofs in companion materials available from the ACM Digital Library [3] . Coons' dissertation contains a fuller treatment [2] . Section 6 evaluates BPOR performance on concurrent unit tests and Section 7 concludes. We evaluate BPOR by measuring its state space reduction and time required to manifest known bugs. We measure state space coverage over time to ensure that the per-transition overhead of BPOR's bookkeeping is not lost. We compare to bounded search without partial-order reduction, and if the DPOR search terminates, then we compare to DPOR as well.. Methodology We compare DPOR, bounded search, and BPOR in CHESS, a publicly available, stateless, dynamic model checker for concurrent software. CHESS places a thin wrapper between the program under test and the Win32 and .NET APIs using binary instrumentation [15] . This wrapper intercepts calls into the Win32 and .NET APIs and provides hooks into CHESS that control thread scheduling completely without modifying the semantics of the API or the behavior of the program under test.. We validate our implementation in several ways. First, we hash local and deadlock states to track the unique states that the search visits. We compare these states with and without partial-order reduction to ensure that they are the same. Second, we automatically generate random concurrent programs and compare the states that DPOR, bounded search, and BPOR explore for these programs. Third, we explicitly verify that the lemmas and postconditions in Section 5 are true at runtime.. We test four concurrent unit tests developed by testers for concurrent software and libraries at Microsoft. Exception tests a concurrent exception for the Concurrency Coordination Runtime (CCR) library. MRSE tests a manual reset event for the .NET 4.0 concurrency libraries. FFT is a parallel fast Fourier transform with eight threads. We also provide results for a microbenchmark that we created explicitly to test fair-bounded search without partial-order reduction. Because fair-bounded search prunes only cycles in the state space, its state space is intractably large without partialorder reduction or other bound functions, so we needed a test that was small enough that we could explore the entire fairbounded state space.. Coverage time Figure 7 shows coverage over time for each benchmark. If at least one test explores the entire state space, then we show % of local states, otherwise we show the raw number of visited local states on the x-axis. We measure and report time on the y-axis as a function of explored states and the bound value to show the overhead of executing BPOR compared to the other approaches. Each point on the graphs in Figure 7 represents an invocation of CHESS with a particular bound function and bound. Lines connect points only for visual clarity -we test only integer bounds. Dashed lines represent DPOR, which is a single invocation of CHESS that searches the entire state space. We show both optimized and unoptimized results because our proofs explicitly cover only the unoptimized algorithms. In practice, the optimized results explore all of the same local states, but we have not proved the optimizations. BPOR explores new states significantly more quickly than bounded search without partial-order reduction, particularly as the bound increases. Note that the y-axis is logarithmic in Figure 7 . We show results for MRSE to compare BPOR with DPOR when the search space is small enough that DPOR terminates. We include FFT because it is pathological for the preemption bound. FFT contains eight threads that access a shared lock. The lock release operations all require conservative backtrack points with preemptionbounded BPOR. Each acquire operation also requires a conservative backtrack point that turns out to be unnecessary. Still, BPOR reduces search time. Note that we terminate tests if they do not complete after 3 hours -without BPOR, most tests time out.. DPOR does does not terminate within 3 hours for the Exception test, and neither does preemption-bounded search with a bound of two or greater. BPOR search does terminate within three hours with a bound of two. Figure 7(d) shows fair-bounded search with and without partial-order reduction. There are no DPOR results for this program because it has a cyclic state space, and thus DPOR crashes with a stack overflow. BPOR improves the rate at which fair-bounded search explores new states considerably over fair-bounded search without partial-order reduction. Table 1 shows time required to find several previously known bugs with DPOR, without any partialorder reduction, and with BPOR. Tests marked with "-" either do not find the bug within three hours, or die after the first execution due to a stack overflow as a result of the cyclic state space. All of the DPOR and BPOR tests in Table 1 use the optimized search settings described in Section 5, and each bounded search uses the minimum bound required to detect the bug. This result is a best-case scenario for bounded search because the ideal bound cannot be known beforehand.

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


K-Dimensional Coding Schemes in Hilbert Spaces Abstract. This paper presents a general coding method where data in a Hilbert space are represented by finite dimensional coding vectors. The method is based on empirical risk minimization within a certain class of linear operators, which map the set of coding vectors to the Hilbert space. Two results bounding the expected reconstruction error of the method are derived, which highlight the role played by the codebook and the class of linear operators. The results are specialized to some cases of practical importance, including K-means clustering, nonnegative matrix factorization and other sparse coding methods. We study a general class of K-dimensional coding methods for data drawn from a distribution µ on the unit ball of a Hilbert space H. These methods encode a data point x ∼ µ as a vectorŷ ∈ R K , according to the formulâ y = arg min. where Y ⊆ R K is a prescribed set of codes (called the codebook ), which we can always assume to span R K , and T : R K → H is a linear map, which defines a particular implementation of the codebook. It embeds the codebook Y in H and yields the set T (Y ) of exactly codable patterns. Ifŷ is the code found for x then x = Tŷ is the reconstructed data point. The quantity f T (x) = min Given a codebook Y and a finite number of independent observations x 1 , . . . , x m ∼ µ, a common sense approach searches for an implementationT which is optimal on average over the observed points, that iŝ. where T denotes some class of linear maps T : R K → H. As we shall see, this framework is general enough to include principal component analysis, K-means clustering, non-negative matrix factorization [10] and the sparse coding method as proposed in [14] .. Whenever the codebook Y is compact and T is bounded in the operator norm this approach is justified by the following high-probability, uniform bound on the expected reconstruction error. We have analyzed a general method to encode random vectors in a Hilbert space H. The method searches for an operator T : R K → H which minimizes, within some prescribed class T , the empirical average of the reconstruction error, which is defined as the minimum distance between a given point in H and an image of the operator T acting on a prescribed codebook Y .. We have presented two approaches to upper bound the estimation error of the method in terms of the parameter K, the sample size m and the properties of the sets T and Y . The first approach is based on a direct bound for the Rademacher average of the loss class induced by the reconstruction error. The bound matches the best known bound for K-means clustering in a Hilbert space [4] but also applies to other interesting coding techniques such as sparse coding and nonnegative matrix factorization. The second approach uses a decomposition of the function class as a union of function classes parameterized by K-dimensional isometries. The main idea is to approximate the union with a finite union via covering numbers and then bound the complexity of each class under the union with Rademacher averages. This second result is more complicated than the first one, however it provides in certain cases a better dependency of the bound on the parameter K at the expense of an additional logarithmic factor in m.. We conclude with some open problems and possible extensions which are suggested by this study. Firstly, it would be valuable to investigate the possibility of removing the logarithmic term in m in the bound of Theorem 2. Secondly, it would be important to elucidate whether the dependency in K in the same bound is optimal. The latter problem is also mentioned in [4] in the case of K-means clustering. Finally, in would be interesting to study possible improvements of our results in the case that additional assumptions on the probability measure µ are introduced. For example, in the case of K-means clustering in a finite dimensional Hilbert space [1] shows that for certain classes of probability measures the rate of convergence can be improved to O(log(m)/m) and it may be possible to obtain similar improvements in our general framework.

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


The importance of retrieval in creative design analogies Analogy is an important reasoning process in creative design. It enables the generation of new design artifacts using ideas from domains semantically distant. The retrieval phase is crucial to the generation of creative analogies, without a good set of candidate sources, the success of subsequent phases can be compromised. Two main types of retrieval have been identified: semantic-based retrieval and structural-based retrieval. This paper presents an empirical study on the importance of the analogy retrieval strategy in the domain of software design. We argue that both types of retrieval are important, but they play different roles in the process. Creativity is a cognitive process that generates a product said to be creative when satisfying certain kinds of properties [Dasgupta, 1994] . There have been identified at least four components of creativity [Brown, 1989] : creative process, creative product, creative person or entity, and creative situation. Within this model the crucial component is the creative product. Creativity has no meaning except in relation to the creative product. Thus an important issue in developing computational models of creativity is the evaluation of the creative product. Research done in this domain has come up with several methods used for generation of artifacts considered creative [Partridge and Rowe, 1994; Gero, 1994b; Gero and Maher, 1993; Pereira and Cardoso, 2001; Gomes et al., 1996] . Some methods identified in creative reasoning are: cross-domain transfer of ideas (analogy), combination of ideas, and exploration and transformation of conceptual spaces. Most of these methods are used in creative design [Gero, 1994a] .. Creative design can be defined as a cognitive process that generates new classes of designs [Gero, 1994b] . A cognitive process resulting into a product will be said to be creative if the product satisfies certain properties or attributes [Dasgupta, 1994] . These properties determine the product's creativity, thus defining guidelines to the product's evaluator. There are two main properties identified: novelty and usefulness.. The first thing that comes into mind when talking about creative design is novelty. This is a mandatory characteristic in a creative solution. The creative product must be something different from what the evaluator knows or is expecting. Evaluation of a creative product has to do with the confrontation of two sets of knowledge. One is the information conveyed by the design product and the other is the knowledge that the evaluator possesses or uses in the evaluation. If the knowledge from the design product does not make part of the evaluator knowledge set or is sufficiently different, then it can be said that the product is novel.. During the evaluation of the presumably creative design product, the evaluator uses performance-measuring functions, in order to determine to which extent the design satisfies the problem requirements. These measuring functions make part of the evaluator's body of knowledge. If minimal performance thresholds are met, then the design product is useful and solves the problem. This is another mandatory characteristic of creative design solutions. The creative design product must be appropriate and useful.. Analogical reasoning [Gentner, 1983; Hall, 1989; Holyoak and Thagard, 1989; ] is a widely used problem solving method. It consists in the transference of knowledge from one domain to a different domain. This transference is based on similarities between past problems and the new problem. The transferred knowledge is then used to generate solutions for the new problem. The main benefit of analogical reasoning is its capability to transfer knowledge between different domains. This cross-domain transfer enables the generation of new creative designs, and can be considered as a creative process.. Analogical reasoning involves at least three phases: identifying candidates for analogy, mapping the candidate sources with the target, and transferring knowledge between source and target. The first phase is crucial to the generation of creative analogies, without a good set of candidate sources the subsequent phases maybe at stake. Two main retrieval strategies can be used: semantic-based retrieval and structuralbased retrieval. Some of the most important works on analogical retrieval are described in the next paragraphs.. Gentner and Forbus [Gentner and Forbus, 1991] have developed the MAC/FAC (Many Are Called, Few Are Chosen) approach to analogy retrieval. It comprises a two-stage structural retrieval model, where in the MAC phase a crude idea of the case structural content is used to retrieve a broad range of cases from memory. Then, in the FAC phase, a complete structural similarity metric is used to eliminate several cases, and to rank the chosen ones.. The Holographic Reduced Representations approach [Plate, 1994] combines semantic and structural similarity. The semantic similarity is based on the common semantic primitives of objects, while the structural similarity is accessed using the various roles of each object. This structural similarity is only a superficial assessment of the structural similarity.. An approach using constraint satisfaction (ARCS -Analogical Retrieval by Constraint Satisfaction ) applies three similarity types through the creation of a constraint network. These types are: lexical similarity, structural similarity, and pragmatic similarity.. RADAR developed by , was created to retrieve semantically distant analogies in a computationally tractable manner. It is based in structural properties to retrieve candidate sources, and the main concern of this approach was that distant analogies would not be rejected by the semantic similarity.. In this paper we present an approach to software design using analogy, which is integrated in a Computer Aided Software Engineering (CASE) tool named REBUILDER [Gomes et al., 2002a] . This tool is based on Case-Based Reasoning [Kolodner, 1993] and comprises a Knowledge Base with several types of knowledge, including WordNet [Miller et al., 1990] , a lexical resource used in REBUILDER as an ontology. We focus on the retrieval phase of analogical reasoning, by studying the influence of different candidate selection strategies in the novelty and utility of generated artifacts. We have used four combinations of semantic retrieval and structural retrieval, to study the adequacy of each strategy to analogical reasoning.. The next two sections describe REBUILDER and the used knowledge base. These are two fundamental points that have to be addressed in order for the reader to understand the environment in which the analogical reasoning module is used. Then section 4 describes how analogy is performed in RE-BUILDER, along with the different retrieval strategies. Section 5 describes the experiments performed and it also discusses the results achieved. Section 6 presents other approaches of analogy in design. Finally section 7 concludes this paper. This paper describes the analogy module os REBUILDER, and presents a study about the influence of the retrieval strategy used in the novelty and utility of generated solutions. From the experimental results it can be inferred that semantic retrieval generates more useful class diagrams, but they are less novel than diagrams generated using structural strategies. So, a combination of both retrieval aspects indicates that it is a good retrieval strategy for generation of designs using analogy. Future work will address further variations of the retrieval strategies and different generation mechanisms, like design composition. An empirical study on a real development environment is also a goal of our research. In tables 2 and 3 we present some of the values computed for our analysis of novelty and usefulness by analogy retrieval strategy (we omit standard deviations and confidence intervals due to size restrictions of the present paper). Table 3 : Values computed for assessing usefulness of solutions generated through analogy.. As can be seen in table 2 the average distance of the solution in relation to the rest of the case library is practically the same. This observation can be due to the fact that the cases in the case library are very sparse, in the sense that different domains are modelled by the cases present in the case library. So whatever the solution, on average it will tend to be dissimilar to the case library. Observing the value of similarity between the solution and the most similar case (N2) we can see that strategy 1 and 4 present the highest values, which makes sense since this metric contains a semantic component. In respect to N3, we can see that strategy 5 and 6 obtain solutions that are dissimilar to the source case used for establishing analogies. These values are expected, taken in consideration that neither of these strategies use semantics during the retrieval or ranking phases, and that the similarity metric does. Thus, these strategies are able to generate more novel solutions than the other strategies, which are by some way using semantics to retrieve and rank source cases. Table 3 presents the values obtained during the evaluation of the usefulness of the generated solution. We remind the reader that these values represent situations that were considered wrong or useless, this means that lower values correspond to solutions that are more useful since these require less corrections from the software designer. As we can observe strategies 5 and 6 seem to generate the diagrams which require the most correction. These high values may be due to the fact that the knowledge transference scheme implemented simply transfers objects from the source domain into the target domain without transforming the source object into an analog in the new target domain. If these source objects are transferred into completely different domains they will usually be considered incorrect.. These results suggest that semantics should be considered during the retrieval phase in order to obtain the most useful diagrams, that is, diagrams that require less correction. On the other hand the most novel analogies tend to occur when the ranking phase assesses the best candidates through the use of structural properties. Using a retrieval strategy that combines both aspects can be a good retrieval strategy for analogy retrieval. Such an example are strategies 2 and 5, which are able to maintain a compromise between strategies 1/4, which are more accurate but less novel, and strategies 3/6 that are capable of generating more novel solutions but with more errors in the class diagrams. There are several research works that use analogy to generate designs. From these we have selected the ones that are similar to our work. Most of these are from other domains of application, such as mechanical design, but the last two works presented address the software design domain.. Qian and Gero [Qian and Gero, 1996] show how analogybased design can be implemented using the FunctionBehavior-Structure (FBS) knowledge representation. They claim that the FBS path connecting function with behavior, and behavior with structure is the key to analogy in design. They consider that function and behavior are analogical retrieval cues, due to the one to many mapping between function and behavior, and between behavior and structure.. KDSA [Wolverton and Hayes-Roth, 1994 ] is an approach to analogy-based design, using a controlled search algorithm in a semantic network. The base idea of this approach is that good analogies stem from artifacts with similar functions, but different behaviors and structures.. Goel and Bhatta [Bhatta and Goel, 1997] developed modelbased analogy, a computational theory of analogy-based design that uses domain models about artifacts. These models represent the structure, behavior and function of a design. It uses design patterns as generic design abstractions that are learned during system operation. A design pattern can then be applied to a concrete situation, generating a new analog design.. CADET is a system developed by Sycara and Navinchandra [Sycara and Navinchandra, 1991] that uses behavior as a thematic abstraction for case retrieval. They use influences as an appropriate thematic abstraction for representing behavior of physical devices.. There are some research works that address the area of analogy applied to software reuse. From these we point out the work of Maiden and Sutcliffe in Ira [Maiden and Sutcliffe, 1992] . Ira is a CASE tool system that enables the reuse of software specifications based on analogy. It provides user support for the task of system specification. Specification reuse involves three processes: categorization of a new problem, selection of candidate specifications, and adaptation of the selected specification to the new domain. Ira addresses these three issues by: obtaining the description of the new target problem from the software engineer; controlling the interaction with the user during selection and adaptation of an analogous specification; and reasoning with critical problem features to match new problems.. Spanoudakis [Spanoudakis and Constantopoulos, 1994 ] developed a computational model of similarity for analogical software reuse based on conceptual descriptions of software artifacts. Their approach is based on semantic similarity of software objects. In this section we present the results obtained from our experiments. The aim of these experiments is to study the correlation between the analogical retrieval strategies and the creative properties of the generated diagrams in the software design domain. The creative properties in which we are interested in are usefulness and novelty. During these experiments we used the 6 candidate selection strategies presented in table 1 for choosing the most promising candidates for reuse through analogy. When semantic retrieval is used as part of one of these strategies, only 10 (the first ten cases found by our retrieval algorithm) cases are used for ranking, otherwise the whole case library is used. After the ranking phase, the most promising candidate is submitted to the analogy module. Afterwards the output of the analogy module (a UML class diagram) is evaluated for both usefulness and novelty. For these experiments we use the objectbased mapping algorithm, since this algorithm has shown better results in previous work (omitted reference). Table 2 : Values computed for assessing novelty of solutions generated through analogy.. Novelty is assessed using the similarity metric used in case retrieval. We assess the novelty of a solution (the output of the analogy module) using the similarity with the cases in the case base. Three different similarity values are computed using the generated solution:. 1. The average similarity between the generated solution and the cases in the case library (N1).. 2. The similarity value between the solution and the most similar case in the case library (N2).. 3. The similarity value between the solution and the source case chosen for establishing analogies with the target case (N3).. Since the similarity metric, returns values between 0 and 1 where 1 is an identical match, we are interested in situations where this value is low. The results of this evaluation is presented in table 2. Usefulness is evaluated through human judgement of the generated diagrams. Two human judges evaluated these diagrams, identifying:. 1. The percentage of target objects that were mapped to a source case in which the knowledge transferred (methods and attributes from the source case to the target case) was incorrect or useless (U1).. 2. The percentage of target objects that were mapped to a source case in which the knowledge transferred (methods and attributes from the source case to the target case) was partially incorrect (U2).. 3. The number of objects that were transferred into the target diagram and that were considered incorrect or useless (U3).. These values are presented in table 3 of the next subsection. We are aware of the subjectivity involved in the result of these experiments, especially in the judgement of the usefulness, and feel that the only faithful evaluation is through a case study in a real software production environment where the tool is judged by its users. Despite this fact we will present our evaluation in the preceding section.

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


Universal relations and #P-completeness This paper follows the methodology introduced by Agrawal and Biswas in [AB92], based on a notion of universality for the relations associated with NP-complete problems. The purpose was to study NP-complete problems by examining the effects of reductions on the solution sets of the associated witnessing relations. This provided a useful criterion for NP-completeness while suggesting structural similarities between natural NP-complete problems. We extend these ideas to the class #P. The notion we find also yields a practical criterion for #P-completeness, as illustrated by a varied set of examples, and strengthens the argument for structural homogeneity of natural complete problems. Complexity classes such as P, NP or #P are great theoretical notions to further our knowledge of the resources needed to solve computational problems. Their usefulness however goes beyond the theoretical setting, because knowing the right class for a given problem is a precious hint as to the kind of algorithms one should look for.. Agrawal and Biswas [AB92] study the structure of NP-complete sets. In a decision problem one must determine for an instance x whether there exists a y such that R(x, y) holds, where R is the solution checking relation. Agrawal and Biswas focus on the relations R(x, y) to which any other relation can be reduced in a way which preserves solutions, roughly meaning that there is a mapping between solutions sets, and call them universal. In the setting of polynomial time checkable relations, they show that the decision problem corresponding to a universal relation is NP-complete. By giving a simple criterion for NP-completeness based on this definition and applying it to a varied set of examples, they argue that their result underlines a structural similarity between natural NP-complete sets, in the spirit of the work of Berman and Hartmanis [BH77] . Indeed Agrawal and Biswas show that their notion of universality is related to structural properties such as paddability and self-reducibility.. The notion of universality was subsequently used by Buhrman et. al. [BKT98] to provide sufficient conditions for NP optimization problems that admit efficient approximation algorithms. It was then extended by Portier [Por98] to problems defined on an arbitrary structure, in the framework of Poizat [Poi95] , and recently Choudhary, Sinha and Biswas [CSB04] defined it for non-deterministic logspace. Our aim in this paper is to adapt this notion to the class #P, which is the class of functions counting the number of solutions for relations checkable in polynomial time, a class at least as hard as the polynomial hierarchy, as shown by Toda [Tod91] . Showing that a function is in #P is thus a convincing argument for its intractability, and a criteria for #P-completeness would be a useful tool. Universality for #P has been studied in [CK03] , where an elaborate definition of #P universality is given, based on Valiant's technique for showing #P-completeness (cf. [Val79] ) by recovering the coefficients of a polynomial from its value at suitable points. We give here a definition of universality suited to #P which is both simpler, and closer to the definition used for NP by Agrawal and Biswas. The relative simplicity translates into a usable criterion for #P-completeness.. Section 2 introduces the background notions. Section 3 defines universality for #P and shows that it implies completeness (Proposition 1). Section 4 provides the main point of the article, with the #P-universality criterion and the proof that it implies universality (Theorem 1). Proposition 1 and Theorem 1 together become a practical criterion for #P-completeness, which we apply to examples from different backgrounds in Section 5. There are two ways to see the work done in this paper. On a theoretical level, it argues for the existence of structural similarities between difficult problems, an idea which has been studied for NP and which is here applied to #P. As such it is an attempt to better understand why some problems are easy and some are difficult. Our work shows basically two ingredients for a relation to yield a #P-complete problem. One is a kind of building block/inductive structure, already noticed by Agrawal and Biswas in the case of NP, with stricter conditions on solution sets in order to adapt it to #P. The other is the possibility to compute modulo a big integer, as is crucial for instance in the proof of the completeness of the Permanent. If we consider the first ingredient, finding the closest possible (w.r.t. NP) structural criteria for #P-universality is a good way to study the famous question of whether all relations which yield NP-complete decision problems also yield #P-complete counting problems. The second ingredients is a rough explanation of why some easy decision problems have #P-complete counting equivalents. The interplay between these two ingredients makes the class #P rich and interesting.. The other focus of this work is to give a useful criterion for #P-completeness. When one wishes to prove that a problem is #P-hard, one often tries to find a known #P-hard problem which seems "near" enough, so that the reduction will be easier to exhibit. Our criterion takes advantage of the argument from the previous paragraph, namely the existence of common structure, to eliminate the search for a suitable known #P-hard problem. In other words the universality criterion plays the role of a generic #P-hard problem, but one which should be "close" enough in most cases, because the distance is bridged by Theorem 1. There may well be a #P-hard problem more suitable for a given example, i.e. yielding a simpler reduction, but we believe that the universality criterion corresponds to a large class of natural problems, as hinted at by the variety of examples, for which proofs can be built in a systematic way.

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