On solving hierarchical problems with top down control We review recent work on the Hierarchical-If-And-Only-If problem and present a new hierarchical problem, HIFF-M that does not fit with previous explanations for evolutionary difficulty on hierarchical problems decomposed by levels for RMHC2. RMHC2 is a hill climbing algorithm augmented with a multi-level selection scheme. When used with the "ideal" sieve for a problem, as is done in this paper, RMHC2 exerts top-down control on the evolutionary dynamics, in the sense that adaptation of higher levels are given priority over adaptation of lower levels, and creates stabilizing selection pressure with potential to increase evolvability. Through HIFF-M, we discovered that the summary statistic, Fitness Distance Correlation by level, is not a reliable indicator of when a hierarchical problem is solvable by RMHC2, and that the two properties proposed to explain search easiness for RMHC2 are inadequate. Our investigation of this anomaly led us to propose an additional property for hierarchical evolution difficulty under RMHC2: inter-level conflict. We also discuss how hierarchical control can be subverted through the information transfer capacity of the transposition operation. In the case of HIFF-C, aggregate-ability helped all levels to achieve their optimum because there is no inter-level conflictwhat is good for the highest level is also good for other levels. Aggregate-ability impeded global optimality in HIFF-II because there is a high degree of inter-level conflict.. Aggregate-ability facilitates information flow from lower level modules to higher level modules. In the presence of a top-down control hierarchy afforded by RMHC2, this information is then used by higher level modules for their own benefit. When there is little to no conflict between levels, aggregate-ability also increases the adaptability of lower level modules. However, aggregateability becomes a liability to lower level modules when inter-level conflict is high.. It would be interesting to explore strategies lower level entities could use to subvert hierarchical control in situations where aggregate-ability is a liability. One such strategy is transposition, which proved successful for discrete HIFF [4] and we have verified, also for HIFF-II.. Transposition moves chunks of randomly selected genes from one location to another location within the same genotype. This lateral movement of genes within a genotype can be viewed as an information flow between previously remote genes, or random rewiring of connections between genes in a genotype. In our experiment, transposition helped a one dimensional 149 cell synchronous uniform cellular automata using the majority rule with neighbourhood radius r = 1 and initial configuration ρ= 0.5 to correctly identify the majority on the density classification task [8] , 26 times out of 30 runs using a different random number seed each time. It is a known fact that some kind of global coordination or information flow between distant sites, for example through generating "particles" [8] or random Boolean networks [7] , is required to solve the density classification task. Perhaps transposons are Nature's way of propagating information and creating transient random connections in the genome. A problem has hierarchical structure when its variables are organized in some way to form levels and there is a total ordering on the set of levels. Every variable belongs or contributes to one or more levels. Variables of a level are further partitioned into non-overlapping modules. Every variable of level λ belongs to exactly one module of level λ. Modules may be nested or nonnested. Module A is nested within module B if all variables contributing to module A also contribute to module B.. For all problems discussed in this paper:. (i) The binary alphabet is used. This creates, due to constraints of the problems, two global optima, the all ones (1…1) and all zeroes (0…0) genotypes.. (ii) The problem size, N is 2 n where n is a positive integer. n defines the number of levels for a problem. Level n is the highest level and level 1 is the lowest level.. (iii) The optimal (aggregate) fitness is N-1 and the optimal phenotype has the following general form: 〈2 0 , 2 1 , …, 2 n-1 〉. A phenotype is a sequence of level fitness values in descending level order. Level n is leftmost, level 1 is rightmost.. (iv) There are N/2 λ modules at level λ.. (v) The dependency matrix, M, defines the structure and strength of interdependencies between variables. M is a N square, symmetric matrix with zero valued diagonal entries. Entries closer to the diagonal of M belong to lower levels.. The Hierarchical-If-And-Only-If (HIFF) problem was introduced in [11] and is explained further in [10] . Briefly, variables in a HIFF problem are organized into a hierarchy of nested modules ( Fig. 1 ). In the discrete version of HIFF which we refer to as HIFF-D, fitness points are awarded to a module only when it is optimal. A HIFF module is optimal when all its variables have the same values or match. In the continuous version of HIFF which we refer to as HIFF-C, fitness points are awarded for each pair of related variables that have matching values. To simplify calculation, fitness of a HIFF-C module is given by (p × q) + (1 -p) × (1 -q) where p and q are the proportion of ones in the first and second halves of the module respectively. Further, a relation at a lower level is worth more than a relation at a higher level. This is reflected in the dependency matrix, M, for HIFF (Fig. 2) . Entries closer to the diagonal of M have larger values. In genotype 0100, genes 2 and 3 match. Under HIFF-C, this match is worth M 2 3 + M 3 2 = 0.5 + 0.5 = 1.0 fitness point. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. GECCO'07, July 7-11, 2007 RMHC2 [5] augments the random mutation hill climber (RMHC) introduced in [1] with a phenotype and a multi-level selection scheme. RMHC is a hill climbing algorithm and works on a single genotype. RMHC mutates a number of random bits in each iteration and keeps the mutation if it produces a fitter variant. The decision whether to keep a mutation, that is select a variant over its parent, is made by comparing aggregate fitness values. In contrast, RMHC2 compares phenotypes using a multi-level selection scheme. A phenotype is a sequence of level fitness values arranged from left to right in descending level order. For example, the HIFF-II aggregate fitness of genotype 0100 is 1.5 and its phenotype is 〈0.5, 1.0〉 (Table 1) .. The multi-level selection scheme for RMHC2 prioritizes the adaptation of levels. Under this prioritization a high priority level may progress at the expense of a low priority level and the progress of a low priority level may be hindered by the regress of a high priority level. Priorities are assigned by the sieve component of the multi-level selection scheme. A sieve is a sequence of levels, levels appearing on the left trumps levels on the right. The "ideal" sieve is one with levels arranged in descending order from left to right. The "ideal" sieve for a hierarchical problem with n levels is 〈n, n-1, …, 1〉. "Ideal" RMHC2 uses the "ideal" sieve. In this paper, only the "ideal" sieve for problems are used, and RMHC2 refers to "ideal" RMHC2.. Suppose we are using RMHC2 with 1 bit mutation, the problem is HIFF-II and the current genotype is 0100. Figure 4 shows the four reachable genotype variants and their phenotypes. According to the multi-level selection scheme for RMHC2, only genotypes 0000 and 0101 are acceptable variants.. RMHC2 could be viewed as adopting a multi-objectivization [6] approach. Each level is an objective function, a sieve ranks these multiple objectives and the selection scheme allows for both hard and soft constraints. The number of bits mutated by random bit assignment in each RMHC2 iteration depends on the mutation rate parameter, P m . We use P m = 0.0625 and N = 128. This means 1 to 8 (P m × N) random bits are mutated each time. For all experiments, we do 30 runs with a different random number seed each time, and the maximum evaluations per run is 1 million.

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


Soft computing applications on a SR-30 turbojet engine The use of soft computing algorithms in hardware-in-the-loop applications has been investigated. A fuzzy logic controller (FLC) was designed and successfully tested on the Turbine Technologies SR-30 turbojet engine for the main-stage operation of the engine. A transfer function model of the plant was obtained using frequency-response methods. To ensure safe operation of the engine, a PID controller was first tested on the engine, and both the PID and FLC controllers were tested in a simulated environment before being used with the engine. The main principle of the joint effort undertaken by NASA-MSFC and the University of Alabama was to provide alternative methods in improving overall engine control. Real life challenges such as, harsh engine environments of cryogenics, vibrations, realtime control demands, and different engine configurations from test to test continually encourage researchers to determine alternative solutions and improvements to engine control, anomaly detection and mitigation. Current control technologies depend on proven, sometimes archaic, hardware and logical programming techniques, which are costly to implement and maintain, and do not account for unforeseen conditions such as premature engine shutdowns, cavitating pumps, propellant leaks, and numerous cases of anomalous sensors and data.. With this in mind, applications of the soft computing technologies to improve rocket engine control have been investigated. PID (ProportionalDerivative-Integral and FLC (Fuzzy Logic) controllers have been designed and implemented on a small-scale turbojet engine to demonstrate these technologies in a real hardware-in-the-loop environment. A design of a BBN (Bayesian Belief Networks) controller has been made and the concerns in application of such a controller have been identified.. In the following sections of the paper, first a brief description of a small-scale turbojet engine manufactured by the Turbine Technologies is presented. Next, the details of frequency-response design method and the plant transfer function identification are discussed. The use of the plant transfer function in developing a closed-loop model with a PID controller using MATLAB and the demonstration of the closed-loop model on the engine using NI LabVIEW software are presented next. These discussions are next followed by the presentation of the fuzzy-logic controller design, its verification on a simulated engine using the same plant-transfer function mentioned earlier and its application on the engine. Both the simulation and the application of the fuzzylogic controller were made using NI LabVIEW software. The rest of the paper describes the applicability and design approaches for the BBN algorithm. Development of a test-bed for soft-computing studies has been presented. Modifications on an existing SR-30 Turbine Technologies small-scale turbojet engine included the integration of a new dataacquisition board, replacement of the manual switches and manual lever with computer controlled switches and a stepper motor. The operation and control of the engine has been automated using a PC using National Instruments LabVIEW program.. Two different control algorithms have been designed, tested in a simulated environment and integrated into the test bed. Both the PID and the fuzzylogic algorithms have been shown to successfully control the operation of the engine.. Additionally a design of the BBN algorithm is presented. The algorithm will be integrated into the system in a future study. thrust error is medium negative MN1O valve position change will be medium negative Z1I thrust error is near zero Z1O valve position change will be near zero MP1I thrust error is medium positive MP1O valve position change will be medium positive SP1I thrust error is positive P1O valve position change will be positive N2I thrust error rate is negative N2O adjustment for valve position error will be negative MN2I thrust error rate is medium negative MN2O adjustment for valve position error will be medium negative Z2I thrust error rate is near zero Z2O adjustment for valve position error will be near zero MP2I thrust error rate is medium positive MP2O adjustment for valve position error will be medium positive P2I thrust error rate is positive P2O adjustment for valve position error will be positive

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


Smale's point estimate theory for Newton's method on Lie groups The γ -condition Smale's point estimate theory a b s t r a c tWe introduce the notion of the (one-parameter subgroup)γ -condition for a map f from a Lie group to its Lie algebra and establish α-theory and γ -theory for Newton's method for a map f satisfying this condition. Applications to analytic maps are provided, and Smale's α-theory and γ -theory are extended and developed. Examples arising from initial value problems on Lie group are presented to illustrate applications of our results. Numerical problems arising on manifolds have a lot of applications in many areas of applied mathematics, see for example [1] [2] [3] [4] [5] [6] . Such problems can usually be formulated as computing zeroes of mappings or vector fields on a Riemannian manifold. One of the most famous and efficient methods to solve approximately these problems is Newton's method. An analogue of the well-known Kantorovich theorem for Newton's method on Banach spaces (cf. [7, 8] ) was obtained in [9] for Newton's method on Riemannian manifolds; while extensions of Smale's α-theory and γ -theory in [10, 11] to analytic vector fields on Riemannian manifolds were done in [12] .. In the recent paper [13] , by using the Riemannian connection, we extended the notion of the γ -condition for operators on Banach spaces (cf. [14] ) to vector fields on Riemannian manifolds and established α-theory and γ -theory of Newton's method for the vector fields on Riemannian $ The first author is supported in part by the National Natural Science Foundation of China (grants 10671175 and 10731060). and Program for New Century Excellent Talents in University. The third author is supported by the ANR Gecko, France.. manifolds satisfying the γ -condition, which consequently improve the corresponding results in [12] .. Recently, Alvarez, Bolte and Munier introduced in [15] a Lipschitz-type radial function for the covariant derivative of vector fields and mappings on Riemannian manifolds, and established a unified convergence criterion of Newton's method on Riemannian manifolds, improving some results in [12] and [13] .. On the other hand, some numerical problems such as symmetric eigenvalue problems, optimization problems with equality constraints and ordinary differential equations on manifolds, etc., can be actually considered as problems on Lie groups, see for example [1, [16] [17] [18] [19] 4, 5] . In particular, motivated by ordinary differential equations on manifolds, Owren and Welfert introduced in [19] two kinds of Newton's methods for finding zeros of f , where f is a map from a Lie group to its Lie algebra, and showed that, under classical assumptions on f , these two methods converge locally to a zero of f at a quadratic rate. Recall that a Lie group is a Hausdorff topological group equipped with a structure of analytic manifold such that the group product and the inversion are analytic operations (cf. [20, 21] ). As is well-known, the most important construction associated with a Lie group and its Lie algebra is the exponential map (or equivalently, the one-parameter semigroup) on the Lie group. Naturally, a Lie group with the left invariant metric becomes a Riemannian manifold. However, generally, the oneparameter semigroup is not a geodesic even for the left invariant metric. As showed in [19] , Newton's methods presented in [19] are only dependent on the one-parameter semigroup but not on the affine connections. This means that Newton's methods on Lie groups are completely different from Newton's method on the corresponding Riemannian manifolds, which is defined via the Riemannian connection (cf. [15, 12, 9, 13] ).. In the present paper, we study the convergence issue for one of two Newton's methods presented in [19] . Newton's method considered here is defined as follows (with initial point x 0 ):. f (x n )) for each n = 0, 1, . . . , (1.1) where df · is the derivative of f and is defined in terms of the exponential map and independent of the Riemannian metric. We introduce the notion of the (one-parameter subgroup) γ -condition for maps f from a Lie group to its Lie algebra. Unlike the notion of the γ -condition on Riemannian manifolds, this condition is defined via the one-parameter subgroup, instead of the Riemannian connection, and so is independent of the Riemannian connection. We establish the generalized α-theory and the generalized γ -theory for Newton's method for maps from a Lie group to its Lie algebra satisfying the γ -condition. We also show that any analytic map on a Lie group satisfies this kind of the (one-parameter subgroup) γ -condition and so the classical Smale's α-theory and γ -theory for analytic maps on Banach spaces are extended and developed to the setting of Lie groups. Moreover, as an application to the initial value problem on Lie groups studied in [18, 19] , two examples are presented in the last section.

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


JPEG2000-Based Scalable Interactive Video (JSIV) Abstract-We propose a novel paradigm for interactive video streaming and we coin the term JPEG2000-based scalable interactive video (JSIV) for it. JSIV utilizes JPEG2000 to independently compress the original video sequence frames and provide for quality and spatial resolution scalability. To exploit interframe redundancy, JSIV utilizes prediction and conditional replenishment of code-blocks aided by a server policy that optimally selects the number of quality layer for each code-block transmitted and a client policy that makes most of the received (distorted) frames. It is also possible for JSIV to employ motion compensation; however, we leave this topic to future work. To optimally solve the server transmission problem, a Lagrangian-style rate-distortion optimization procedure is employed. In JSIV, a wide variety of frame prediction arrangements can be employed including hierarchical B-frames of the scalable video coding (SVC) extension of the H.264/AVC standard. JSIV provides considerably better interactivity compared to existing schemes and can adapt immediately to interactive changes in client interests, such as forward or backward playback and zooming into individual frames. Experimental results for surveillance footage, which does not suffer from the absence of motion compensation, show that JSIV's performance is comparable to that of SVC in some usage scenarios while JSIV performs better in others. T RADITIONAL video compression techniques, such as MPEG-1 through MPEG-4 and H.261 through H.264, have focused mainly on minimizing the amount of data for a given video quality while offering limited interactivity; for example, temporal random access is usually limited to a predetermined set of points 1 and random access to an arbitrary spatial region is not supported. Limited interactivity and a diversity of client needs have motivated research in the field of scalable video coding.. Scalable video coding can solve some of the existing problems in video storage and streaming as it can accommodate the varying needs of different clients from one base source file; it can also dynamically adapt to available network bandwidth, gracefully degrading the streamed video quality. Research in this area has produced some promising results [1] , [2] and recently a scalable video coding (SVC) extension to H.264/AVC Manuscript received April 07, 2010; revised September 16, 2010 ; accepted November 03, 2010. Date of publication November 18, 2010; date of current version April 15, 2011 . The associate editor coordinating the review of this manuscript and approving it for publication was Dr. Bulent Sankur.. Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org.. Digital Object Identifier 10.1109/TIP.2010.2093905 1 There exists an I-only profile in which temporal access is available to all frames. [3] has been approved within the ISO working group known as MPEG, to provide improved scalability options.. Even with these improved options, an encoded video for a certain application is not suitable for a different application. For example, an encoded video using I-only frames can provide direct temporal access to each of its frames; however, it is mainly suitable for high bit rate applications as it does not exploit temporal redundancy. To achieve higher compression ratio (e.g., for video streaming applications over networks with limited bandwidth), the encoder must exploit temporal redundancy, which imposes restrictions on the encoded stream that limit temporal accessibility; for example, if a client is interested in one frame only, the server has to send enough data from the group of pictures (GOP) that contains this frame, possibly the whole GOP, and the client has to reconstruct potentially a large number of frames in order to invert the motion compensated transform used during compression and extract the desired frame. More examples are given in the following paragraphs.. For still images, the JPEG2000 Interactive Protocol (JPIP) [4] , [5] provides many of the desirable features of scalable interactive browsing. These include resolution scalability, progressive refinement (or quality scalability), spatial random access, and highly efficient compression. JPIP also supports interactive browsing of Motion-JPEG2000, 2 although we note that Motion-JPEG2000 content does not involve any exploitation of interframe redundancy.. This work proposes JPEG2000-based scalable interactive video (JSIV) as a way of providing better flexibility, scalability, and interactivity options for video streaming compared to existing practices. JSIV relies on the following.. • JPEG2000 to independently compress the individual frames of the video sequence and provide for quality and spatial resolution scalability as well as random accessibility.. • Prediction, with or without motion compensation, and conditional replenishment of JPEG2000 code-blocks to exploit temporal redundancy.. • Loosely-coupled server and client policies. The server policy aims to select the best number of quality layers for each precinct it serves and the client policy attempts to produce the best possible reconstructed frames from the data the client has. Each of these policies may evolve separately without breaking the communication paradigm. In our preliminary work [7] - [11] , we have demonstrated the efficacy of JSIV with motion compensation. In this more rigorous treatment, however, it is convenient to restrict our attention to the case of prediction without motion compensation. This restriction allows us to focus on JSIV concepts, avoiding un- necessary complications in this introductory work; moreover, certain applications (e.g., surveillance) can benefit considerably from JSIV even in the absence of motion compensation. In a later paper, we will explore motion compensated JSIV in greater depth.. Before discussing the simplified block diagram of a JSIV system shown in Fig. 1 , we find it useful to discuss the underlying philosophy behind JSIV. As mentioned previously, JSIV relies on loosely-coupled client and server policies. The philosophy behind JSIV is that the client should not explicitly drive the server's behavior (e.g., it should not request the delivery of specific code-block bit-streams) and the server should not explicitly drive the client's behavior (e.g., it should not tell the client how to synthesize each frame from the delivered content). Instead, the client poses high level requests to the server (e.g., region of interest, playback resolution/frame-rate, etc.) and the server replies with portions of code-block bit-streams which it believes to be helpful in satisfying the client's declared interests.. We postulate that if both the client and the server are intelligent enough to make reasonable decisions, then the decisions made by the server are likely to have the expected impact on the decisions made by the client. For example, if the server sends a reasonable amount of data from a particular code-block bit-stream, judging this to be beneficial to the client, then a reasonable client policy is likely to use the supplied bit-stream rather than predict the code-block in question from neighboring frames. The server may send additional side information to help the client resolve highly ambiguous situations, 3 but this side information should be expressed in a form which is independent of the state of the client-server interaction so that it describes properties of the source which are always true.. There are many advantages to such an approach. One example is when the client has some data that the server is unaware of; for example, the client might have obtained that data from a previous browsing session or from a different server or possibly a proxy. In this case, the client uses its knowledge of the stream and its properties to consider both its cache content and the newly received data in order to select the options that, it believes, achieve the best possible quality. There is no need to worry about drifting between the client state and the server state, since the client makes its decisions based upon properties of the stream which are always true; we demonstrate this in an example in Section VII. Other examples arise in the case where a client has less data than the server expects, for example due to data loss. For such cases, the client uses the knowledge it has about the stream and its properties to conceal any missing data.. We move our attention to the simplified block diagram of a JSIV system depicted Fig. 1 ; the system has three basic entities: the preprocessing stage, the server, and the client. The preprocessing stage is responsible for compressing each frame individually into JPEG2000 format and preparing side-information for these frames. The side information can include distortion-length slope tables, motion distortions, and any other side information that might be required during media serving. Side-information can either be generated offline for prerecorded media or in real-time for live media. Many of these operations are independent of each other and can be easily delegated to one or more machines in a content delivery network.. The server is composed of two main subblocks: the client distortion estimation block (CDEB) and the rate-distortion optimization block (RDOB). The CDEB attempts to model distortions in each code-block or each precinct of each frame, based upon its knowledge about transmitted information and an assumed client policy. This model can also be adapted to reflect knowledge of network conditions, client browsing preferences and client browsing cache. It is sufficient for this block to generate approximate estimates of distortions and, therefore, it does not have to actually reconstruct the client's view.. The RDOB performs Lagrangian-style rate-distortion optimization to decide the number of quality layers to be sent for each precinct of each frame, which can be zero. It also decides on any side-information needed by the client to best exploit the frame data. All the decisions made by the RDOB take into consideration the estimated distortion provided by the CDEB.. The server communicates with the client employing only JPIP [4] , [5] ; JSIV stores side-information in additional components in each frame, conceptually known as meta-components or meta-images. This allows the use of JPIP without any modifications to send both code-block data and side-information.. The client receives compressed code-block bit-streams and side information. Using this information and aided by a client policy, the client selects the source of data to use for each codeblock. In particular, the client has the option to decode an avail-able code-block bit-stream directly or to predict the code-block from nearby frames (possibly having much higher quality).. The flexibility and accessibility of JSIV is the result of not committing to any predetermined temporal prediction policy. Thus, the server is free to change its policy on the fly and during serve time to respond to changes in client requirements or network conditions; for example, the server can switch from the hierarchical B-frame prediction arrangement to optimizing each frame independently from other frames. The decision to choose a particular prediction arrangement can depend upon the amount of data loss on the network (the absence of interframe dependency makes the sequence more loss-resilient).. JSIV departs from traditional predictive coding schemes in that side-information in JSIV is only a guide that helps the client make sound decisions while in traditional video compression schemes it totally dictates the client prediction modes, prediction reference frames, and any other client operation modes. Also, JSIV always sends intracoded frame pieces and never uses residual data. The use of actual data instead of residual data incurs an encoding loss, but at the same time enables the client to make decisions independently of the server and avoid the possibility of drift between server and client states. This independence enables the client to use its cache more effectively and possibly use information obtained from other servers or proxies.. Many researchers have realized the limited interactivity provided by the existing techniques [12] - [17] , and have devised different approaches that are favorable in certain situations.. Cheung and Ortega [12] , [13] propose flexible video decoding that provides forward and backward playback for traditional and multiview sequences. Their proposed system is similar to JSIV in that the server provides multiple possible predictors and let the client choose the best predictor at decode time; unlike the approach proposed here, theirs is based upon distributed video coding. Another work that attempts to improve interactivity is by Mavlankar et al. [17] . In that work, they propose a way of dynamically providing pan, tilt, and zoom features in video playback to different clients with varying regions of interest [17] . The proposed method breaks a high resolution video into tiles and streams them simultaneously using H.264 compression and employing some peer-to-peer delivery techniques. They also investigate limited scalability by simultaneously broadcasting two or more streams, with dyadically-spaced spatial resolution. JSIV shares these capabilities and can also provide temporal scalability and quality-optimized region of interest.. Another recent work by Devaux et al. [15] that was published around the same time we introduced JSIV [7] investigates a problem that is similar to JSIV in some aspects; however, they stopped short of investigating the flexibility that such a paradigm can provide. For example, the interaction between the client and the server is totally dictated by the server policy with a simple client that is incapable of making its own decisions; moreover, prediction is only possible from the last received frame with no motion compensation. JSIV can employ prediction with or without motion compensation from any frame within the window of the frames being optimized, and can refine previously transmitted frames whenever that is favorable. They extended their work in [16] by employing LPDC to generate parity bits that can potentially improve lightly-distorted predictors. JSIV can also improve prediction as was demonstrated in [11] and [18] . The techniques proposed in our work, however, utilizes the client's knowledge about the quantization bins or intervals of received samples in improving prediction.. Some concepts in JSIV are adapted from a recent work on interactive browsing of 3-D scenes, which has shown promising results [14] . JSIV concepts were introduced progressively by the authors in [7] - [11] , [18] ; in this work, we elaborate on these concepts and formalize them. In [7] , we examined a realistic implementation; however, interframe redundancy is exploited only within disjoint pairs of frames. In [8] , the server optimization policy was extended to a sliding window of sequential frames, with the potential to exploit the redundancy between any two frames within the window. In [9] , the server optimization policy was extended to a hierarchical group of frames, similar to the hierarchical B-frame dyadic prediction structure used by the SVC extension of H.264/AVC. In [10] , we proposed a method for approximate distortion estimation rather than reconstructing the video to calculate real distortions. In [11] , we introduced a client capable of improving prediction by exploiting its knowledge about quantization bins of the received samples. This client is served by a server that can take advantage of this capability in a realistic implementation context. In [18] , we proposed a method to improve prediction by exploiting the quantization intervals of received samples in selecting a more favorable predictor in hierarchical B-frame arrangement without motion compensation. We also demonstrated how the client and server policies can evolve independently with little or no impact on the quality of reconstructed video.. Remote browsing of high-resolution surveillance video is one application where JSIV can provide an improved browsing experience compared to current video coding standards. Usually for such video sequences, most of the changes happen in certain regions, and the background occupies a good percentage of the frames, with little or no changes. For such a case, JSIV works better than conventional JPIP since it effectively reduces to an optimized conditional replenishment scheme while JPIP by itself needs to transmit the full content of each frame. In a typical browsing scenario, a remote client browsing surveillance footage usually can monitor a low-resolution version of the whole scene, as this provides the interactive user with sufficient details to identify any regions of interest. To have a more detailed look at any of these interesting regions, the interactive user changes his or her window of interest to that region, and starts monitoring it. For monitoring a window of interest JSIV works favorably compared to existing coding standards, as these do not support retrieval of an arbitrary window from the encoded video sequence. Other advantages of JSIV for surveillance video browsing over existing paradigms include the capability of backward playback, reduced temporal rate playback, and lossless retrieval of frames or regions of interest in frames.. We consider here some of the other benefits of JSIV. For lossy transmission environments, the server does not need to retransmit lost packets, instead it can adapt by adjusting its delivery policy for future frames alone. Both the client and the server can easily and dynamically change from video playback mode to individual frame browsing mode and any data in the client cache is readily available for the reconstruction of individual frames. For clients with limited processing capabilities, the server can adapt its policy by reducing frame rate, reducing resolution, or by focusing on the client's window of interest.. The rest of this work is organized as follows. Section II gives a brief overview of the data organization in JPEG2000 codestreams. Sections III and IV describe "oracle" client and server policies that enable us to discuss the basic JSIV optimization algorithm. Section V gives actual client and server policies. In Section VI, we discuss the amount of computations required to deploy JSIV, and we propose a way of significantly reducing it. Section VII gives experimental results spanning many of the interesting use cases mentioned previously, and Section VIII states our conclusion and points to future work.

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


Aggregation of Malmquist Productivity Indexes In this paper we extend the work of Färe and Zelenyuk (2003) to find a theoretically justified method of aggregating Malmquist Productivity Indexes over individual decision making units (firms, countries, etc.) into a group Malmquist Productivity Index. We also consider the aggregation of decomposed parts of the Malmquist Productivity Index to obtain a decomposition of the Malmquist Productivity Index for a particular group. One of the most popular approaches to measuring productivity changes is based on using Malmquist Productivity Indexes-a method originated by Caves et al. (1982) . Virtually any empirical study that uses this approach, at some point, reports averages of the productivity indexes they estimate-to represent the overall tendency in productivity changes, make inference, etc. Most of the time, the equally-weighted geometric mean is used for this purpose. Recent developments on aggregation in a closely related field-efficiency analysis-have emphasized the importance of using weights in the aggregation of indexes. The purpose of this is to account for the relative importance of each observation whose efficiency score is entering into the average (Färe and Zelenyuk, 2003) . It is quite natural to look at this same issue in the context of productivity indexes, as we do in this paper.. The rest of the paper is structured as follows. Section 2 outlines the key definitions for the individual (disaggregated) case, while Section 3 does this for the group (aggregated) case. The main aggregation result is given in Section 4, and the resulting aggregate productivity index is then compared, in Section 5, to the commonly used geometric average. Section 6 demonstrates how the same aggregation principle can be applied to the context of decompositions of productivity indexes into different sources of change (e.g., efficiency and technology change). Finally, Section 7 lists some possible extensions for further research as well as concludes this study. Thus we can use the output oriented Shephard's (1970) distance function 2) to obtain a complete (primal) characterization of the technology of DMU k in period τ, in the sense that. This function is also a convenient criterion for measuring the relative distance from any input-output combination of some DMU k towards the frontier of the technology set. In particular, if we let the technology frontier of ) (. These (and other 2 ) properties have made the function (2.2) very popular in efficiency analysis, where it can be used to define the Farrell (1957) technical efficiency measure of DMU k (in period τ) as. can be given via the revenue function, 1 We assume all the output sets satisfy free disposability of outputs, i.e., ). We also assume. ("producing nothing is possible"). See Färe and Primont (1995) for details. 2 For the list of properties of the distance function and proofs, see Shephard (1970) and Russell (1990 Russell ( , 1997 . . The revenue function is dual to the distance function ) , (. This expression implies that the revenue efficiency measure is an upper bound to the technical efficiency measure, i.e.,. This statement, also known as Mahler's inequality, is often used to define, in a residual fashion, the measure of allocative efficiency of DMU k (for period τ). The idea of decomposition (2.8) goes back at least to Farrell (1957) and will prove very useful in deriving our aggregation results.. Let us now turn to the measurement of productivity changes from one period (s) to another period (t). The Shephard's distance function, defined above, is often used for defining Malmquist productivity indexes. This concept was first introduced by Caves et al. (1982) , who suggested two indexes that differ with respect to the reference technology they are measured to. In general, such two indexes are not equal, and a common practice is to avoid arbitrariness of choice by taking the geometric mean to define the (output oriented) Malmquist Productivity Index (further MPI) as. Note that now we have time subscripts for the output and input vectors. This indicates that we now look at specific values of the Shephard's distance functions, evaluated at the actual input-output. , for particular DMU k (k=1,…,n), in the particular period τ (τ = s, t).. If we take the revenue efficiency measure (2.5) and recall its dual relationship to the distance function via (2.6) or (2.7), we can define the revenue (or dual) analog of the MPI as 10) which can also be decomposed (analogously to (2.8), but for the context of productivity indexes) as. is given in (2.9), and. In the next section we define the group analogs of these individual indexes. In this paper we have extended the work of Färe and Zelenyuk (2003) to obtain a theoretically justified method for aggregating Malmquist Productivity Indexes and their decompositions. We do not suggest that the new aggregate measures and their aggregate components of decompositions must replace the commonly used equally-weighted analogs. Instead, we suggest that they shed important additional light in the analysis of productivity changes-since they attempt accounting for an economic importance of each observation in the sample-not in an ad hoc way, but using weights derived from economic optimization criterion. Also noteworthy is that the same aggregation principle can be applied to obtain aggregation results for other indexes that are based on revenue, cost, profit, directional and Shephard's distance functions (for example, for aggregation of price indexes and Malmquist quantity indexes,

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


Abstracting remote object interaction in a peer-2-peer environment Leveraged by the success of applications aiming at the "free" sharing of data in the Internet, the paradigm of peer-to-peer (P2P) computing has been devoted substantial consideration recently.This paper presents an abstraction for remote object interaction in a P2P environment, called borrow/lend (BL). We present the principles underlying our BL abstraction, and its implementation in Java. We contrast our abstraction with established abstractions for distributed programming such as the remote method invocation or the tuple space, illustrating how the BL abstraction, obviously influenced by such predating abstractions, unifies flavors of these, but also how it captures the constraints specific to P2P environments. Through the overnight success stories of many non-profit programs enabling the collaboration of users, by lending data resources and inversely borrowing data resources of interest, in the goal of distributing media throughout the Internet (e.g., Gnutella [27] , Freenet [14] ), the paradigm of peer-2-peer (P2P) [22] computing has become extremely popular. Under the name of P2P, most authors in the field agree upon a completely decentralized distributed setting in which basically any of the potentially many hosts plays the same role.. While the moral promoted by some of the applications which stand behind the recent success of P2P computing is sometimes dubious and has been the source of much polemics, the practical value of the P2P paradigm is unquestionable. This observation has recently led to many important contributions in the field, and is emphasized by the very fact that the striving for decentralizing distributed applications, with the avoiding of performance bottlenecks and single points of failure in mind, has been a major concern in the distributed and dependable systems community for a long time already.. Ever since, P2P computing has been the subject of more profound studies, also benefitting from previous research in the above-mentioned community. For instance, many predating application-level protocols for data routing or membership management, especially such with focus on scalability, have been adapted to P2P environments. However, the P2P paradigm has some characteristics of its own, leading to new challenges. The addressing of these challenges by the research community has also led to novel protocols (e.g., [24, 25] ), which capture precisely the characteristics of P2P environments.. Similarly to the underlying protocols, abstractions established in distributed object programming, such as the remote method invocation (RMI, typical for client/server interaction), the tuple space (emerged from parallel computing based on distributed shared memory) or the publish/subscribe (for mass dissemination of events) abstractions, do indeed also make sense in P2P settings, and have already been used successfully in such contexts. In particular, the publish/subscribe abstraction captures many characteristics of P2P environments, and has been widely employed to model and implement remote interaction in P2P settings (e.g., [12] ).. In this paper we present an abstraction called borrow/lend (BL) 1 we have implemented in the Distributed Asynchronous Computing Environment (DACE) together with protocols [11, 9] specifically for P2P object programming. We present the implementation of the BL abstraction in Java, which has been chosen as implementation language mainly because it includes many basic mechanisms and specifications for distributed programming already, and provides an all to rare combination of genericity 2 and reflection. As we illustrate in this paper through the BL abstraction, these concepts are very useful for the implementation of abstractions for distributed programming in statically typed object-oriented programming languages.. Emerging from DACE, a general framework for distributed object programming, it is not surprising that our BL abstraction combines, and unifies, flavors of many other previous abstractions, its main contributor being a variant of the publish/subscribe abstraction implemented in the DACE framework [10] . Nevertheless, we believe our BL abstraction, which can be pictured as representing a general service for interchanging resource objects (or simply resources), has some considerable differences to previous abstractions, which we illustrate by contrasting it with such "classic" abstractions. For instance, (1) it embraces a form of (asynchronous) RMI but at the same time incorporates the functionality of a distributed lookup service, (2) offers borrowers a fine-grained encapsulation-preserving means of expressing the kind of resources of interest (based on the methods of application-defined resource types), (3) makes transmission protocols and parameters governing Qualities of Service (QoS) explicit, and since lended resources are not perpetual, (4) gives the possibility of explicitly recalling (in the sense of canceling) or replacing such resources, aiding garbage collection and hence improving scalability.. The remainder of this paper is structured as follows. Section 2 illustrates the notions of resource borrowing and lending. Section 3 characterizes the nature of resources. In Section 4 we discuss implementation issues. Section 5 compares our BL abstraction with related abstractions and specifications for distributed programming. Section 6 concludes this paper. As illustrated in this paper, the BL abstraction abides well to P2P object environments, which can be described as completely decentralized and potentially large scale distributed object settings.. The BL abstraction achieves its scalability by providing peers the possibility of asynchronously lending and borrowing resource objects, reducing the coupling between these peers. This notion of resources, on the one hand, provides the BL abstraction with flavors of a "high-level" abstraction in the sense that distribution-related issues such as serialization and location of resources are concealed, and encapsulation and static type safety are ensured. On the other hand, this model allows the BL abstraction to make "low-level" aspects related to distribution, yet crucial for P2P computing, such as protocols and QoS, explicit.. We are currently investigating the application of our BL abstraction to the design and implementation of a scalable general communication substrate for collaborative virtual environments (CVEs) [2] . In such environments, distributed users interact through a virtual shared world, and resources such as the constituents of the world have to be shared among those peers hosting "interested" users (e.g., users to whom these constituents are visible), in a way which en-sures scalability (by avoiding unnecessarily many replicas of data structures), but also reliability (by ensuring sufficiently many replicas).. In that context, we are exploring new resource types, such as resources which are automatically replicated (cf. [8] ), possibly also implemented with a caching mechanism, or resources which are passed by value along with computation (cf. [16] ). In this section, we first contrast the BL abstraction with respect to prominent abstractions for distributed programming. Then, we compare it with similar P2P-specific abstractions and APIs. For space restrictions and fairness, we focus here mainly on efforts related to Java.

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


NuMDG: A New Tool for Multiway Decision Graphs Construction Abstract Multiway Decision Graphs (MDGs) are a canonical representation of a subset of many-sorted first-order logic. This subset generalizes the logic of equality with abstract types and uninterpreted function symbols. The distinction between abstract and concrete sorts mirrors the hardware distinction between data path and control. Here we consider ways to improve MDGs construction. Efficiency is achieved through the use of the Generalized-If-Then-Else (GITE) commonly operator in Binary Decision Diagram packages. Consequently, we review the main algorithms used for MDGs verification techniques. In particular, Relational Product and Pruning by Subsumption are algorithms defined uniformly through this single GITE operator which will lead to a more efficient implementation. Moreover, we provide their correctness proof. This work can be viewed as a way to accommodate the ROBBD algorithms to the realm of abstract sorts and uninterpreted functions. The new tool, called NuMDG, accepts an extended SMV language, supporting abstract data sorts. Finally, we present experimental results demonstrating the efficiency of the NuMDG tool and evaluating its performance using a set of benchmarks from the SMV package. The recent complexity of semiconductor circuits has severely increased the cost for design verification. In addition to the conventional simulation technology, formal verification has become applicable to real-size designs. Formal verification technology enables us to check the behaviors of designs against given specifications exhaustively. However, formal verification still suffers from intrinsic high computational costs for accomplishing its task. In order to circumvent this difficulty, a method based on datapath abstraction has been proposed.. Binary Decision Diagrams (BDDs) [1] are one of the biggest breakthroughs in computer-aided design in the last decade. BDDs are a canonical and efficient way to represent and manipulate Boolean functions and have been successfully used in numerous applications and improve the capacity of the model checker. BDDs have several useful properties. The representation of many common functions using BDDs is small. The algorithms to handle BDDs are simple. Also a function can be evaluated in linear time in a number of variables and also can be existentially or universally quantified (Boolean) variables in time quadratic in the size of the BDD. Moreover, the order in which the variables appear can be fixed and hence the BDD is a canonical representation for Boolean function. Most BDD packages provide an efficient implementation based on recursive operations using a three-operand function commonly known as If-Then-Else (ITE) formulae. Also, they provide many operations that are extensively used in automated verification methods. Unfortunately, their power is mostly restricted to propositional logic, which is often not sufficiently expressive. Moreover, these methods suffer from the drawback that they require a binary representation of the circuit. Every individual bit of every data signal must be encoded by a separate Boolean variable, while the size of ROBDD grows, sometimes exponentially, with the number of variables. This leads to a state explosion problem when ROBDD-based methods are applied to circuits with complex datapath.. To deal with the state explosion problem of traditional Binary Decision Diagram (BDD) based model checking methods, a Multiway Decision Graph (MDG) based model checking approach was proposed in 1997 [2] . MDG is an extended BDD-like data structure with arbitrary number of children for each node and with much more powerful labeling capability for both the nodes and the edges. BDDs can be viewed as a special case of MDGs. In the MDG-based approach, data signals are denoted by abstract variables instead of Boolean variables, and data operators are represented by uninterpreted or partially interpreted function symbols instead of Boolean functions. Thus, the verification can be carried out independently of data path width, which therefore can effectively alleviate the state explosion problem [3] . In MDG-based verification, Abstract Description of States Machines (ASM) are used for modeling systems. In contrast to ordinary Finite State Machines (FSM), the ASM supports non-finite state machines as models in addition to their intended interpretations. The intent is to rise the abstraction level of automated verification methods to approach those of interactive theorem proving methods without sacrificing automation. MDGs have been investigated from different angles and it culminated in an MDG tool providing Prolog-style MDG-HDL for modeling and different verification techniques including sequential and combinational equivalence checking, invariant checking and a subset of first-order LTL model checking [4] [5] . This work can be viewed as a way to accommodate the ROBBD algorithms to the realm of abstract sorts and uninterpreted functions.. The work presented here mainly improves upon the previous work [2] in one respect. The set of basic operations on MDGs was implemented separately, while ROBDD operations are implemented using a single generic algorithm ITE. This is because the two edges that issue from an ROBDD node labeled x span the ranges of values {F, T} that x can take, and this makes it possible to reason by case analysis. Consequently, MDGs do not enjoy this property due to abstract variables. The GITE operation can be considered to be a functionally complete three-input logic gate that implements the expression GIT E = (P ∧ Q) ∨ (¬P ∧ H). If P is an abstract variable, then there is no MDG representing the formula ¬P . In this paper, we claim that it is possible to use the GITE operation to produce an MDG R that is logically equivalent to (P ∧Q)∨(¬P ∧H) except for some cases that will be discussed later. This leads to improve the efficiency of the existing basic MDG algorithms.. Finally, the work here is an extension to the work presented in [6] in that we provide the correctness proof of all our frame algorithms and implement the tool. We also support our new tool by experimental results executed on different benchmarks from the SMV package. The goal here is to build a robust model checking tool that accepts an extended SMV input language and supports an abstraction mechanism through abstract sorts and uninterpreted functions. Indeed, the results of our prototype shows that such an implementation offers a considerable gain compared to the SMV model checking tool in terms of the size of the MDG transition relation. However, more work should be spent in developing the tool in order to enhance the performance.. The structure of this paper is as follows. Section 2 reviews the closest related work. Section 3 introduces a subset of many-sorted first-order logic that gives MDGs and their meaning. Section 4 describes basic MDG algorithms, their optimization and their correctness proof. Section 5 introduces the architecture of NuMDG tool and describes some experimental results. Finally, Section 6 concludes the paper and gives some future research directions. A high level description of NuMDG is given in Fig.3 . In the future, we will provide an open source tool with many functionalities independent of the model checking engine used. Like NuSMV [26] , the tool will be able to process files written in an extension of the SMV language with abstract sort and uninterpreted functions. In this language, finite state machines are described by using instantiation mechanism of modules and processes, corresponding to synchronous and asynchronous composition respectively. The requirements are written in CTL, LTL or in a first-order subset of temporal logic.. An (extended) SMV file is processed in several phases. The first phase analyzes the input file with different layers in order to construct an internal representation of the model. The construction starts from modular description of a model M and of a set of properties P 1 , . . . , P n . The flattening step consists of eliminating modules and processes and producing a synchronous flat model, where each variable is given an absolute name. The second step, called DF, maps each expression in the flat model to a directed formula, thus obtaining the corresponding flattened directed model M f . Compared to SMV-based tools, there is no Boolean encoding. Hence, some interpreted predicates and arithmetic functions are not supported in a straightforward manner. The same reduction is applied to the properties P i , thus obtaining the corresponding flattened directed formula P f i . By cone of influence, we restrict the analysis of each property to the relevant parts of the model M f (P f i ).. After the preprocessing phase, the user can choose the model checking engine to be used for verification. The choice is restricted by the nature of the model being described, i.e., whether it supports abstract sorts and uninterpreted functions or not. In the absence of the latter, NuMDG is acting like NuSMV and should provide the same facilities including MDG-based, SATbased model checking and different partitioning methods. For the time being, MDG-based verification includes reachability analysis and fair CTL model checking.. The rewriting engine is used during the MDGverification if necessary when the reachability analysis does not terminate due to the presence of abstract sort and uninterpreted functions. In this case we can interpret partially some functions or predicates in order to cope with this non termination [27] . The input language supports a rewriting layer which is extracted and fed to the rewriting engine. We have described the basic MDG algorithms that incorporated many optimizations that will yield further improvements in the performance of MDG package. The efficiency is achieved through the use of the generalization of the If-Then-Else (ITE) operator defined in the BDD package. Consequently, we have redefined the main algorithms on which the MDG verification techniques are based, i.e., relational product and pruning by subsumption. These new algorithms descriptions are based mainly on the ROBDD ones and lifted to the realm of abstract sorts and uninterpreted functions. We have also provided the correctness proof for those algorithms the internal architecture of NuMDG.. Moreover, we have presented the internal architecture of the NuMDG tool and some experimental results based on some SMV benchmarks. From these experiments, we have identified a number of open issues and future work directions. For example, we have confirmed that NuMDG can be used to check SMV specifications. Combined with abstract sorts and uninterpreted functions, NuMDG will provide at least the same performances. However, we believe that there are many optimizations that will yield further improvements in the performance of NuMDG tool such as the effect of cache and the garbage collection should be characterized according to a rigorous evaluation methodology. We also need to perform more performance analysis through the verification of several case studies.. One limitation of MDG based approach is that the reachability analysis algorithm may not terminate [2] under certain circumstances due to the abstract representation of data and the "uninterpreted" nature of function symbols. This can be a severe limitation on the use of MDGs as a verification tool. For example, consider an abstract description of a conventional (nonpipelined) micro-processor where a state variable pc of abstract sort represents the program counter, a generic constant zero of the same abstract sort denotes the initial value of pc, and an abstract function symbol inc describes how the program counter is incremented by a non-branch instruction. The MDG representing the set of reachable states of the micro-processor would contain states of the form (pc, inc(. . . , inc(zero), . . .) ). Consequently, there is no finite MDG representing the set of reachable states, and hence the reachability algorithm will not terminate.. The non-termination problem was first addressed in [28] , where a method was based on the generalization of the state variable that causes divergence. This technique is applicable only to processor-like-loop circuit and if the entrance of the loop does not start in the initial state then this generalization approach may not work.. In [29] , Ait-Mohamed et al. presented an approach to dealing with the non-termination problem based on retiming and circuit transformations. Yet this technique can only be applied to specific circuit structures and cannot provide a general solution to the nontermination problem. An alternative way to overcome this problem is to introduce the bounded model checking technique.. Later in [27] Ait-Mohamed et al. proposed a novel approach based on the schematization using ρ-term [30] to solving the non-termination problem when the generated set of states, even infinite, represents a structured domain where states share certain repetitive patterns. In general, it is not always possible to find the ρ-term which will be used in this generalization.. We are currently exploring and applying the above techniques that can mitigate this problem and that they are particularly useful in reachability analysis. Future work will also include the study of the applicability of these techniques to the reachability analysis in real designs. In using the logic of equality with uninterpreted functions to verify hardware systems, specific characteristics of the formula describing the correctness condition can be exploited when deciding its validity. Approaches that capture non-finite aspects of the system, by using uninterpreted functions or similar notion like first-order formulae with quantification, are more closely related work.. In Fontaine and Gribomont [7] , a BDD-based approach for the combination of theories is presented. It is noted that BDDs, when they are used for first order logic, are not canonical representations any more. For example, BDDs representing (x ≈ y) ∧ p(x) and (x ≈ y) ∧ p(y) are different although they are logically equivalent. Special constraints have to be added to remove unsatisfiable paths. Then, Goel et al. [8] proposed to decide equality logic formulae by replacing all equalities with new propositional variables, i.e., to replace an equality v i ≈ v j with a new variable e ij . In this approach the BDD for the resulting formula is calculated without taking into account the transitivity of equalities, and for assignments satisfying the BDD, it is inspected on whether they also satisfy the original equality logic formula.. Burch and Dill [9] have proposed a verification method that uses propositional logic, extended with uninterpreted functions, uninterpreted predicates, and the testing of equality to denote data operations and a decision procedure as a theorem-proving search method. Compared to MDG, their approach does not support representation of a set of states, fixpoint calculation and the transition relation can be applied only a given number of times. Burch and Dill's work has generated considerable interest in the use of uninterpreted functions to abstract data operations in processor verification. A common theme has been to adopt Boolean methods in two respects: integration of uninterpreted functions into a symbolic model checkers [10] [11] or developing BDD-based decision procedures [8, 12] .

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


On the Approximability of Maximum and Minimum Edge Clique Partition Problems We consider the following clustering problems: given a general undirected graph, partition its vertices into disjoint clusters such that each cluster forms a clique and the number of edges within the clusters is maximized (Max-ECP ), or the number of edges between clusters is minimized (Min-ECP ). These problems arise naturally in the DNA clone classification. We investigate the hardness of finding such partitions and provide approximation algorithms. Further, we show that greedy strategies yield constant factor approximations for graph classes for which maximum cliques can be found efficiently. The correlation clustering problem has gained a lot of attention recently (Ailon, Charikar & Newman 2005 , Bansal, Blum & Chawla 2004 , Charikar, Guruswami & Wirth 2003 , Demaine & Immorlica 2003 , Emanuel & Fiat 2003 , Swamy 2004 ; given a complete graph with edges labeled "+"(similar) or "−"(dissimilar), find a partition of the vertices into clusters that agrees as much as possible with the edge labels, i.e., that maximizes the agreements (the number of "+" edges inside clusters plus the number of "−" edges between cluster) or that minimizes the disagreements (the number of "−" edges inside clusters plus the number of "+" edges between clusters).. In this paper, we consider a special variant of the correlation clustering problem in which there are no negative edge labels. Instead, we omit an edge between two vertices of a dissimilar pair. Furthermore, we require an edge between each pair of vertices in a cluster, i.e, every cluster must form a clique. We consider the following two combinatorial optimization problems. The maximum edge clique partition problem (Max-ECP for short) aims to find a partition of the vertices into cliques such that the total number of edges within all cliques is maximized. The related minimization version of this problem, the minimum edge clique partition problem (Min-ECP for short), is defined analogously with the exception that the total number of edges between the cliques is minimized.. The Max-ECP and Min-ECP problems first have been considered in the setting of DNA clone classi-fication (Figueroa, Goldstein, Jiang, Kurowski, Lingas & Persson 2005) . In order to characterize cDNA and ribosomal DNA (rDNA) gene libraries, the powerful DNA array based method oligonucleotide fingerprinting is commonly used (see, e.g., (Drmanac, Stavropoulos, Labat, Vonau, Hauser, Soares & Drmanac 1996 , Herwig, Poustka, Müller, Bull, Lehrach & O'Brien 1999 , Valinsky, Della Vedova, Scupham, Alvey, Figueroa, Yin, Hartin, Chrobak, Crowley, Jiang & Borneman 2002 ). A key step in this method is the cluster analysis, which aims to cluster together similar data, i.e., the fingerprints. The problem of clustering binarized fingerprint data such that the number of clusters is minimized was first studied and motivated in (Figueroa, Borneman & Jiang 2004) . In (Figueroa, Goldstein, Jiang, Kurowski, Lingas & Persson 2005), Figueroa et al. propose new approaches of partitioning binarized fingerprints into disjoint clusters in order to maximize the number of pairs of similar fingerprints lying inside the clusters (equivalently, minimize the number of pairs of similar fingerprints lying in different clusters). These problems can hence be viewed as the Max-ECP and Min-ECP problems where the vertices are the binarized fingerprints and the edges between them indicate their similarity.

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