Direct chosen ciphertext security from identity-based techniques We describe a new encryption technique that is secure in the standard model against chosen ciphertext attacks. We base our method on two very efficient Identity-Based Encryption (IBE) schemes without random oracles due to Boneh and Boyen, and Waters.Unlike previous CCA2-secure cryptosystems that use IBE as a black box, our approach is very simple and compact. It makes direct use of the underlying IBE structure, and requires no cryptographic primitive other than the IBE scheme itself. This conveys several advantages. We achieve shorter ciphertext size than the best known instantiations of the other methods, and our technique is as efficient as the Boneh and Katz method (and more so than that of Canetti, Halevi, and Katz). Further, our method operates nicely on hierarchical IBE, and since it allows the validity of ciphertexts to be checked publicly, it can be used to construct systems with non-interactive threshold decryption.In this paper we describe two main constructions: a full encryption system based on the Waters adaptive-ID secure IBE, and a KEM based on the Boneh-Boyen selective-ID secure IBE. Both systems are shown CCA2-secure in the standard model, the latter with a tight reduction. We discuss several uses and extensions of our approach, and draw comparisons with other schemes that are provably secure in the standard model. The design of a secure encryption scheme is central to any system that strives to provide secure communication using an untrusted network. In order for a cryptographic scheme to be considered secure in an adversarial setting, it must be secure against chosen ciphertext attacks. While, there have been several efficient encryption schemes shown to be heuristically secure in the random oracle model [2] , it wasn't until fairly recently that Cramer and Shoup [13] designed an encryption scheme that was both efficient and provably secure in the standard model (without random oracles) against chosen ciphertext attacks.. Somewhat surprisingly, Canetti Halevi and Katz [11] were able to show how to elegantly construct a CCA2-secure cryptosystem from any identity-based encryption (IBE) scheme secure in the selective-ID model [10] . A user's public encryption key is simply a set of IBE public parameters and the user's secret key is the corresponding IBE master key. To encrypt a message, M , for such a user, one first generates the parameters, VK, to a one-time signature scheme; next one hashes the signature parameters to obtain an "identity"; then one encrypts the message to the identity calculated from the previous step; one finally signs the partial ciphertext with the one-time signature private key to get a signature σ and attaches σ as part of the ciphertext. To decrypt a message, a user first checks the validity of the signature on a ciphertext, and rejects the ciphertext if the signature is invalid. If the signature is valid, it decrypts the ciphertext from the identity determined by the one-time signature parameters, VK. Intuitively, to attack a ciphertext, C, in the chosen ciphertext model, an adversary will need to generate its own set of signature parameters to obtain a valid signature, σ , before it can construct a valid ciphertext C . However, this will cause the receiver to attempt decryption with a different identity than the one associated with C, and by the semantic security of the IBE system this will provide no useful information for decrypting C. Boneh and Katz [8] further improve the efficiency of this scheme by using a MAC instead of a one-time signature. One interesting aspect of these schemes is that they seemingly do not fall in the characterization of previous CCA2-secure schemes given by Elkind and Sahai [16] .. Both the CHK and BK techniques are generic. The efficient constructions of both methods come from instianting them with either one of the Boneh-Boyen [3] identitybased encryption schemes. A natural question is whether we can construct improved CCA2-secure encryption schemes by taking advantage of specific properties of the most efficient IBE schemes secure without random oracles [27, 3] . We answer this question in the affirmative.. In this paper we first show how to build a direct CCA2-secure public key cryptosystem from the Waters identitybased encryption cryptosystem [27] . We construct a CCA2-secure cryptosystem in which ciphertexts consist of just three group elements with no attached signatures or MACs. The basic idea behind our scheme is as follows. As in the CHK method, the public key of a user will correspond to the public parameters of an IBE scheme. To encrypt a message, M , the encryption algorithm first creates the first two elements of the ciphertext, which in the Waters scheme are independent of the identity; next these two elements are hashed to determine a "one-time identity"; finally the ciphertext is completed by constructing the third element to form an encryption to the identity determined from the previous step. That is, the identity that we encrypt to is actually determined by the first two elements of the ciphertext itself. In this manner a "well formed" ciphertext is self-contained in that we do not need any auxiliary signatures or MACs.. We get our leverage from two properties of the Waters scheme [27] . The first is that since we work in groups with efficiently computable bilinear maps, we can use the bilinear map to check that the third element is formed correctly, and thus that the ciphertext is well formed (this is only necessary for the simulation, as the decryption algorithm can do the check more efficiently). Secondly, we take advantage of the semantic security of the IBE system in the full adaptive-identity security model (as opposed to the weaker selective-ID model). When proving security of our scheme, the simulator will not know until the challenge phase which "identity" the challenge ciphertext will be for, since the challenge identity depends partially on the adversary's input. Since the identity is not determined until well after setup, we need to base our scheme on an adaptive-ID secure IBE scheme.. Perhaps more surprisingly, we also show that our technique can be used to build a Key Encapsulation Mechanism (KEM) with full CCA2 security based only on the scheme of Boneh and Boyen, 1 which is only selective-ID secure (in its basic configuration). Since in a KEM there is no message to encrypt, in a chosen ciphertext attack the challenge ciphertext can be at once properly distributed and independent of any adversarial input. Therefore, the challenge ciphertext and the associated identity can be chosen before setup when running a security simulation, as in the selective-ID model. Besides simplicity, the main benefit of this construction is that we get a tight security reduction from an already very reasonable underlying complexity assumption. The fact that we get a KEM (as opposed to a complete cryptosystem) is practically irrelevant since public-key encryption is almost exclusively used to encrypt random session keys in practical applications.. The two CCA2-secure systems we describe have advantages over both the CHK [11] and BK [8] generic constructions.. First, our ciphertexts are short, consisting of just three group elements (or two for the KEM), with no attached signature or MAC. For comparison, a ciphertext in the CHK 1 Although two distinct efficient IBE constructions are given in [3] ; in this paper "the Boneh-Boyen scheme" refers by default to their first scheme, i.e., the (H)IBE scheme based on the Bilinear Diffie-Hellman assumption [3, §4] .. scheme will need to have attached a one time signature and public key. Typically, fast one time signatures schemes [21] will have long signatures lengths and thus blow up the ciphertext size. Alternatively, as pointed out by Boneh et al. [6] , we could base one-signature schemes off "full-blown" signature schemes that use number-theoretic constructions. However, such signatures take longer to both create and verify, making the CHK method less efficient in both the encryption and decryption stage than ours.. By contrast, the construction of BK avoids to a large extent the previous drawbacks by replacing the signature with a MAC, and is much faster since the time to compute a MAC is insignificant compared to the IBE operations; and indeed, the performance of the BK scheme is roughly the same as ours (though BK still requires three to five times as many random bits, most of which are used in the MAC construction).. The main drawback of using a MAC in the BK system is that its verification requires knowledge of the private key, whereas in our construction the ciphertext validity test may be done with the public key. This distinction is crucial for the construction of threshold systems (where the private key is shared amongst decryption servers, each of which can only perform a partial decryption of a given ciphertext). Public key-only ciphertext verification allows the threshold decryption servers to operate without interaction, which greatly simplifies the system. Boneh, Boyen, and Halevi [5] recently described a generic and efficient noninteractive CCA2 threshold system without random oracles, based on the CHK transformation. Using our technique we are able to construct an even more efficient (albeit nongeneric) fully non-interactive threshold KEM with CCA2 security in the standard model, by specializing the method of [5] .. Finally, if we apply our technique to the last level of the depth-( + 1) hierarchical version of the Waters or BonehBoyen IBE scheme, we immediately obtain a depth-HIBE with intrinsic CCA2 security.. In summary, our schemes enjoy the efficiency of the BK scheme, can be used in threshold CCA2-secure systems like CHK, and have shorter ciphertexts than both. We described a CCA2-secure encryption system and a CCA2-secure key encapsulation mechanism respectively based off the identity-based encryption schemes of Waters, and - † The subset product in the scheme of §3 can be implemented as efficiently as a fixed-base exponentiation. Table 1 : Summary of the aspects of the various CCA2-secure PK systems from IBE. When possible, both the encryption and KEM versions of a scheme are considered simultaneously. The CHK and BK methods are each instianted with the main and second Boneh-Boyen IBE schemes (BB 1 and BB 2 ). The Kurosawa-Desmedt (KD) KEM/DEM system is also listed for reference; the hybrid symmetric-key ciphertext encryption it incurs should be excluded for comparison purposes. In determining overheads, the size of any message is discounted to place encryption and KEM on equal footing. In counting numbers of operations, exponentiations are allocated optimally between multi-exponentiations, regular exponentiations, and exponentiations to a fixed base that allows pre-computations. The allocation preference is based on the following indicative relative timings: bilinear pairing ≈ 2-5, multi-exponentiation ≥ 1.5, regular exponentiation = 1, fixed-base exponentiation 0.2.. Boneh and Boyen. Our method takes advantage of special properties of these systems that we use to improve upon previous CCA2-secure systems constructed from identity-based encryption schemes [11, 8] . In particular, our schemes have advantages in terms of simplicity, ciphertext size, and decryption time, and are well suited for threshold cryptography. We restrict our comparisons to encryption systems that are CCA2-secure [24] in the standard model. There are several efficient schemes that can be shown to be secure in the random oracle [2] model, however, we can only make heuristic arguments for the security of these schemes.. Naor and Yung [23] described a scheme provably secure against lunch-time attacks. These techniques were later extended by Dolev, Dwork, and Naor [15] and Sahai [25] to protect against an adaptive adversary in a chosen ciphertext attack. None of the above methods, however, yields a scheme to be efficient enough to be of practical use.. Cramer and Shoup [13] developed the first practical CCA2-secure scheme that was provably secure in the standard model. Later, Cramer and Shoup [14] generalized their techniques by constructing CCA2-secure schemes from "projective hash functions". Shoup [26] showed how to make an efficient hybrid scheme by using the original Cramer-Shoup system as a KEM. Kurosawa and Desmedt [20] further demonstrated an even more efficient CCA2-secure hybrid system; Abe et al. [1] recently generalized their construction.. Canetti, Halevi, and Katz [11] describe a new paradigm for constructing CCA2-secure schemes from selective-ID secure identity-based encryption systems. Boneh and Katz [8] later improved upon the efficiency of this result. Both of these methods are generic in that they can be applied to any selective-ID secure cryptosystem, whereas our method is particular to the Waters [27] adaptive-ID secure identitybased encryption scheme. For concreteness when comparing the performance of the schemes we consider their construction applied to the Boneh and Boyen [3] IBE scheme.

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


Ternary Butterfly Subdivision This paper presents an interpolating ternary butterfly subdivision scheme for triangular meshes based on a 1-9 splitting operator. The regular rules are derived from a C 2 interpolating subdivision curve, and the irregular rules are established through the Fourier analysis of the regular case. By analyzing the eigen-structures and characteristic maps, we show that the subdivision surfaces generated by this scheme is C 1 continuous up to valence 100. In addition, the curvature of regular region is bounded. Finally we demonstrate the visual quality of our subdivision scheme with several examples. Subdivision surfaces are valued in geometric modeling applications for their flexibility. Since 1978 [1, 5] , subdivision has been an active research area. Advances in computer memory have made subdivision methods practical in the late 1990s and this has prompted a large amount of new research work [2, 9, 16, 25] . The flexibility primarily comes from the fact that objects to be subdivided can be of arbitrary topology and thus can be represented in a form that makes them easy for designing, rendering and manipulating.. Simply speaking, a subdivision surface is defined as the limit of a sequence of meshes. Each mesh in the sequence is generated from its predecessor using a group of topological and geometric rules. Topological rules are used to produce a finer mesh from a coarse one while geometric rules are designed to compute the positions of vertices in the new mesh. These two groups of rules constitute a subdivision scheme.. Subdivision can be distinguished into two classes: interpolating schemes [7, 28] and approximating schemes [1, 5, 17, 22] . If the old vertices are changed during refinement, the subdivision algorithm is considered to be approximating, otherwise it is interpolating. Although approximating algorithms yield limit surfaces with higher continuity, interpolating algorithms enjoy some obvious advantages which the approximating ones do not have: interpolating schemes are more efficient for the applications requiring interpolating specified vertices. Furthermore it is easy to generate multi-resolution surfaces by using interpolating schemes [26] .. For a long time, interpolating schemes failed to generate surfaces with higher continuity. Although a 6-point interpolating scheme for a curve with C 2 continuity has been proposed in [24] , it is not practical to extend this scheme to a surface because too many vertices would be included in a mask. Hassan et al. reported an interpolating ternary subdivision scheme for curves which achieves C 2 continuity [8] . The most desirable property is that only 4 points are needed to generate a new vertex. Starting from this curve case, Dodgson et al. [4] and Li et al. [13] designed interpolating schemes for triangular meshes and quadrilateral meshes respectively, but Li et al.'s scheme goes further in constructing surfaces with extraordinary vertices. It is well known that rules of a subdivision scheme for irregular meshes are particularly important if the scheme is to be used in practical applications [14, 28] , but unfortunately, irregular rules are not investigated in Dodgson et al.'s work, making it difficult to refine a coarse mesh with irregular vertices, which is often encountered in practice.. In this paper, we first slightly modify Dodgson et al.'s scheme, and then extend the regular rules to meshes with arbitrary topology through Fourier analysis. Based on the eigen-structures and characteristic maps, we show the C 1 continuity of subdivision surfaces for both regular and irregular regions up to valence 100. Due to the new 1-9 splitting operator, the face number increases by power of 9 in each step of the proposed subdivision. For this reason, we also explore the ability of adaptive subdivision. Finally some examples are presented to show the visual quality of the proposed subdivision scheme. In 2002, Hassan et al. introduced interpolating ternary subdivision curves [8] shown in Fig. 1 . The advantage of this new scheme is that it yields C 2 continuous limit curves. This subdivision scheme inserts two E-vertices into each edge of the given control polygon respectively at 1/3 and 2/3 parametric positions. A newly inserted vertex of the interpolating ternary subdivision scheme is computed as follows:. with free parameter µ. The mask for q 2 is symmetric to that of q 1 . When. , the scheme generates C 2 limit curves [6] . Motivated by this subdivision curve, two subdivision schemes for surfaces have been proposed [4, 13] consequently. Both of their ideas are to generalize the curve setting to surface configurations such that the regular rules can be derived by solving a system of equations. Although the irregular rules of [4] have been first investigated in [15] , their result does not guarantee that the limit surfaces near extraordinary vertices are C 1 continuous. Furthermore, the eigenvalue analysis of irregular subdivision matrices in [15] takes only the 1-neighborhood of an extraordinary vertex into consideration. But according to the rules outlined in that paper, the smallest similar stencil should be 2-neighborhood, so that the eigenvalues provided in that paper cannot fully demonstrate the property of limit surfaces. To demonstrate the visual quality of the ternary butterfly subdivision surfaces, we have implemented the subdivision algorithm using OpenGL library for visualization.. The examples shown in Fig. 14 and Fig. 15 are designed to compare our approach with the traditional butterfly scheme [7, 28] . We use sufficiently dense meshes to approximate their limit surfaces. Fig. 14 (b) (157k faces) and Fig. 15 (b) (472k faces) are generated by uniformly refining the input meshes using the ternary butterfly scheme with 4 and 5 steps, respectively. Fig. 14 (c) (98k faces) and Fig. 15 (c) (524k faces) are generated by uniformly refining the input meshes using the traditional butterfly scheme with 6 and 8 steps, respectively. Due to the use of different masks in the refinement, our limit surfaces are different from that of the traditional butterfly scheme. The light reflection areas of refined examples demonstrate the difference. We can see that the reflection areas generated by our approach are larger. After one step of refinement, the refined mesh has 8208 triangles and 4134 vertices. After two steps of refinement, the refined mesh has 73872 triangles and 36966 vertices. Obviously, we can see that the number of triangles grows by power of 9. Fig. 17 and Fig. 18 display three examples of uniform subdivision surfaces. All results are produced after two steps of refinement. These examples show that the proposed subdivision scheme is capable of modeling meshes for practical applications. The ability to deal with complex meshes are demonstrated in Fig. 18 . Fig. 19 shows the difference between adaptive subdivision and uniform subdivision. We can see clearly that only those regions with fine details are subdivided. The threshold is set to be π/24 in this example. The adaptively subdivided mesh has 33248 vertices and 66492 faces, while the uniformly subdivide mesh has 57512 vertices and 115020 faces.

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


Recent progress in linear algebra and lattice basis reduction A general goal concerning fundamental linear algebra problems is to reduce the complexity estimates to essentially the same as that of multiplying two matrices (plus possibly a cost related to the input and output sizes). Among the bottlenecks one usually finds the questions of designing a recursive approach and mastering the sizes of the intermediately computed data.In this talk we are interested in two special cases of lattice basis reduction. We consider bases given by square matrices over K [x] or Z, with, respectively, the notion of reduced form and LLL reduction. Our purpose is to introduce basic tools for understanding how to generalize the Lehmer and Knuth-Schönhage gcd algorithms for basis reduction. Over K[x] this generalization is a key ingredient for giving a basis reduction algorithm whose complexity estimate is essentially that of multiplying two polynomial matrices. Such a problem relation between integer basis reduction and integer matrix multiplication is not known. The topic receives a lot of attention, and recent results on the subject show that there might be room for progressing on the question.

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


Fitting Curves and Surfaces With Constrained Implicit Polynomials Abstract-A problem which often arises while fitting implicit polynomials to 2D and 3D data sets is the following: Although the data set is simple, the fit exhibits undesired phenomena, such as loops, holes, extraneous components, etc. Previous work tackled these problems by optimizing heuristic cost functions, which penalize some of these topological problems in the fit. This paper suggests a different approach-to design parameterized families of polynomials whose zero-sets are guaranteed to satisfy certain topological properties. Namely, we construct families of polynomials with star-shaped zero-sets, as well as polynomials whose zero-sets are guaranteed not to intersect an ellipse circumscribing the data or to be entirely contained in such an ellipse. This is more rigorous than using heuristics which may fail and result in pathological zero-sets. The ability to parameterize these families depends heavily on the ability to parameterize positive polynomials. To achieve this, we use some powerful recent results from real algebraic geometry. ITTING analytic functions to sampled data is a common problem arising in many data modeling applications. In its most general form, the fitting problem is: Given a set of n data points functions, super-quadrics, thin-plate splines, or polynomials. In the latter, the number of degrees of freedom, i.e., polynomial coefficients, is. where k is the degree of the polynomial. The advantages of using an implicit polynomial are its simplicity, the possibility to compute algebraic invariants [5] , [4] , [9] , [7] , [13] , and the ease of containment computations (by computing the sign of the polynomial). The simplest way of fitting an implicit polynomial to the data set S is to solve the following least-squares problem for the coefficient vector a of the polynomial P a : . This cost function minimized in (1) is simple; therefore, the problem may be solved easily by an eigenvector computation. However, the cost function does not necessarily express the Euclidean distances of the data points to the zerosurface; therefore, the fit might be somewhat unintuitive, especially in regions of high surface curvature, as has been shown in previous works [16] , [8] , [15] . A cost function that approximates the sum of the squares of the Euclidean distances is: . where ∇ = ∂ ∂ ∂ ∂ P x P x P x d ( ) , , 1 K 2 7 is the vector gradient function. Unfortunately, this cost function induces a nonlinear least-squares problem, whose numerical solution suffers from the usual non-linear optimization algorithmic pitfalls, namely, slow iterative solution, and local minima. If computation time is not a factor, as is the case in some applications, a solution to (2) is usually superior to that of (1) . Because of its rational form, (2) may be solved iteratively as a sequence of weighted linear least squares problems [8] , [15] , [12] , [2] , which is a numerical procedure more efficient than general purpose optimization. The disadvantages of using implicit polynomials as a modeling tool are the quality of the results commonly obtained when applying the above procedures, especially for high degrees. The zero-sets may consist of multiple components, be unbounded, or fit the data in very unnatural ways [8] , [16] , [15] . It is very difficult to predict the outcome of the fitting procedure, a problem compounded by the fact that the polynomial coefficients are geometrically meaningless. A typical data-fitting session consists of running the optimization procedure (2) again and again, obtaining local minima, and choosing that yielding the best solution. Many F trials may be required until a pleasing fit is found. In some cases, the procedure seems to never end, in the sense that the pleasing local minima are so sparse, that it is virtually impossible to stumble on them at random. An open question is how to restrict the search space to a subset of "wellbehaved" polynomials, thus reducing the number of trials until success. The main question is how to compactly represent, i.e., parameterize, this family of well behaved polynomials by imposing some restrictions on the polynomial coefficients. In [8] , [16] , it is shown how to guarantee that the zero-set is bounded. These works also suggested heuristics to force the zero-set to be small and "tight" around the data set. The effort to achieve pleasing fits was carried further in [14] , where it was suggested to use the geometric distance (as opposed to algebraic distance) in order to fit implicit polynomials. This resulted in better fits without holes. Also, a method to eliminate extraneous components was suggested. In [11] , polynomials with a convex zero set are fitted to convex polygons so that their zero set contains the polygon; the degree of the polynomial is equal to the number of vertices in the polygon. In [1] , polynomials whose zero set is guaranteed not to have folds within a certain region are constructed and many such "A-patches" are used to describe shapes. In work reported recently in [10] , an attempt is made to force the zero-set to "stick" to the data, thus hopefully minimizing the number of branches, etc., in the zero-set.. However, the algorithms presented in [8] , [16] , [14] are heuristic in nature. They try to force the resulting fits to have certain "good" geometric properties (such as being "tight" around the data set) by minimizing a cost function that penalizes fits which are "not good." In this work, we suggest a different approach-find a parameterization of a (large as possible) subfamily of polynomials whose zerosets always have these "good" properties and restrict the search for a pleasing fit to this subfamily. This guarantees that the fit will be "good" and eliminates the necessity of using a penalizing function.. Some problems which arise quite often in the fitting process cannot be eliminated using previous methods, as demonstrated in Fig. 1 , where an "area-minimizing" fit [8] was used. The cusps in the data result in loops in the zero-set-a rather common phenomena; note that this happens even though the data sets are not complicated. Previous methods, which penalized "holes" in the zero-set, as well as extraneous components, cannot eliminate these loops, as they pose a different type of problem. When the method for fitting star-shaped sets suggested in this paper was used, there were no such topological pathologies in the fits.. The purpose of this paper is to present novel algebraic techniques through which the coefficients of polynomials contained in well-behaved subsets may be parameterized. Specifically, we apply our techniques to generate starshaped objects, and objects bounded within simpler objects, e.g., the unit sphere, or an ellipse.. We note that it is easy to modify the methods presented here to generate fits to convex objects, such that these fits will be guaranteed to be convex; however, we did not pursue this direction, since the assumption that the object is convex is a strong limitation. We have presented novel parameterizations for families of polynomials, which have certain desirable topological properties. This eliminates the need to use failure-prone heuristics to achieve these properties when fitting implicit polynomials to discrete data. In this regard, this work can be viewed as a continuation of [8] , [16] , [14] . The fitting algorithms presented here were implemented and tested on real data sets, with satisfactory results.. In the future, we hope to discover additional parameterized families of polynomials, which will satisfy other topological properties (such as connectedness).

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


RAGE: A Java-implemented Visual Random Generator Carefully designed Java applications turn out to be efficient and platform independent tools that can compete well with classical implementations of statistical software. The project presented here is an example underlining this statement for random variate generation. An end-user application called RAGE (Random Variate Generator) is developed to generate random variates from probability distributions. A Java class library called JDiscreteLib has been designed and implemented for the simulation of random variables from the most usual discrete distributions inside RAGE. For each distribution, specific and general algorithms are available for this purpose. RAGE can also be used as an interactive simulation tool for data and data summary visualization. The importance of simulation has increased in many areas of research and application during the past several years. Stochastic simulation is widely used to validate procedures and provide guidance for both theoretical and practical problems. Today, truly complex models often can only be computationally handled by simulation-based techniques.. Simulation methods require random variate generation. For this reason, many generation techniques have been developed. Some references on random variate generators are Devroye (1986) , Ripley (1987) and Gentle (1998) , among others. The current research trend is the development of algorithms that are valid for large families of distributions. The programs based on these algorithms are called universal (also automatic or black-box) generators. In the last decade, some universal algorithms have been introduced, see Hörmann, Leydold, and Derflinger (2004) for a monograph on this topic.. The main focus of this project has been the design and Java-implementation of a program called RAGE (Random Variate Generator) to serve as an end-user application for generating random numbers. The Java class library JDiscreteLib has been developed for this project. RAGE uses JDiscreteLib to generate random variates from the most usual discrete distributions. For each distribution, specific and general algorithms to generate from are available.. RAGE can also be used as an interactive simulation tool for data and data summary visualization. Among the very important characteristics are:. • it is visual and dynamic.. • it is intuitive and user-friendly.. • it is programmed in Java, a robust and platform independent programming language.. • it can easily be extended for more functionality.. • the complete documentation is clearly presented in JavaDoc.. • it allows for saving the generated variates and their summaries as well as graphics.. • it is freely distributed under GNU General Public License.. The outline of the paper is as follows. Section 2 shows how RAGE can be installed, run and extended. The class library JDiscreteLib is described in Section 3. Finally, computational times for some examples are shown in Section 4.

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


Benchmarking and Implementation of Probability-Based Simulations on Programmable Graphics Cards The latest Graphics Processing Units (GPUs) are reported to reach up to 200 billion floating point operations per second (200 Gflops [19]) and to have price performance of 0.1 cents per M flop. These facts raise great interest in the plausibility of extending the GPUs' use to non-graphics applications, in particular numerical simulations on structured grids (lattice). We review previous work on using GPUs for non-graphics applications, implement probability-based simulations on the GPU, namely the Ising and percolation models, implement vector operation benchmarks for the GPU, and finally compare the CPU's and GPU's performance. A general conclusion from the results obtained is that moving computations from the CPU to the GPU is feasible, yielding good time and price performance, for certain lattice computations. Preliminary results also show that it is feasible to use them in parallel. There are several factors that motivated us to investigate the plausibility of using programmable GPUs for numerical simulations on structured grids. These factors are the GPUs'. • high flops count,. • compatible price performance, and. • better than the CPU rate of performance increase over time.. To be specific, nVidia's NV30 graphics card is advertised to have a theoretical operation count of 200 Gflops/s (see the NV30 preview [19] or Table 1 , where we summarize the results of a GPU-CPU comparison in performing graphics related operations). Taking into account the price of the NV30 graphics card we get the low 0.1 cents per M flop. Also, the current development tendency shows a stable doubling of the GPU's performance every six months, compared to doubling the CPU's performance for every 18 months (a fact valid for the last 25 years, known as Moore's law).. Review of the literature on using GPUs for non-graphics applications (subsection 1.1) shows that scientists report speedups of the GPU compared to the CPU for low precision operations. Several of the non-graphics applications that make use of the recently available 32-bit floating point arithmetic report performance that is comparable to the CPU's performance. Thus, advertisements or scientific papers that report speedups of one or above one order of magnitude in favor of the GPU are restricted to low precision operations. For example, the advertised 200 Gflops/s in [19] can not be achieved for 32-bit floating point operations ( Figure 1 , Right gives the NV30 graphics card specifications). Such advertisements and reports about "extremely" high performances, combined with vagueness about the precision of the computations motivated us to develop simple GPU benchmarking software. Benchmarking the NV30 fragment processors with simple vector operations showed performance of 7 Gflops/s which is 44% of the theoretically possible maximal performance. This is the speed that we also achieved on two probability-based applications that we implemented on the GPU.. Frames per second using Problem size OpenGL (GPU) Mesa (CPU) 11 Table 1 . GPU vs CPU in rendering polygons. The GPU (Quadro2 Pro) is approximately 30 times faster than the CPU (Pentium III, 1 GHz) in rendering polygonal data of various sizes.. Probability-based models, discussed in section 2, have a wide area of applications. They are computationally intensive and lend themselves naturally to implementation on GPUs, as we show in the paper. Our analysis and benchmarking were mainly concentrated on the NV30 fragment processors' floating point operations performance. The results show that it is feasible to use GPUs for numerical simulations. We demonstrated this by banchmarking the GPU's performance on simple vector operations and by Table 5 . Communication rates between the CPU and the GPU for lattices of different sizes. The reading is done using the glReadPixels function, writing the boundary is done using the glDrawPixels function, and writing the whole domain is done using the glTexSubImage2D function.. implementing two probability-based simulations, namely the Ising and the percolation models. For these two applications, the applications cited in the literature overview, our vector operations benchmarks, and various nVidia distributed shaders we observed that the fragment processors' (nVidia NV30) floating point performance is comparable to the performance of a Pentium 4 processor running at 2.8 GHz. By comparable we mean that the GPU may be 2−6 times faster for certain applications. For example, we achieved 44% of the theoretically possible maximal performance. Such performance made the GPU's implementation run twice faster than the CPU's. A modification of the algorithm that removes the conditional if/else statements related to the checkerboard type traversal of the 2D lattices would contribute an additional speedup of at least two times. These results make the use of the GPU as a coprocessor appealing. Also, GPUs tend to have a higher rate of performance increase over time than the CPUs, thus making the study of non-graphics applications on the GPU valuable research for the future. Speedups of approximately one order of magnitude in favor of the GPU are observed only in certain applications involving low precision computations. A reason for this difference is the larger traffic involved in higher precision computations which traffic makes the GPUs' local memory bandwidth a computational bottleneck. Finally, we note that the acceleration graphics ports provide enough bandwidth for the CPU-GPU communications to make the use of parallel GPUs computations feasible.

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


Transformation Techniques for OCL Constraints Constraints play a key role in the definition of conceptual schemas. In the UML, constraints are usually specified by means of invariants written in the OCL. However, due to the high expressiveness of the OCL, the designer has different syntactic alternatives to express each constraint. The techniques presented in this paper assist the designer during the definition of the constraints by means of generating equivalent alternatives for the initially defined ones. Moreover, in the context of the MDA, transformations between these different alternatives are required as part of the PIM-to-PIM, PIM-to-PSM or PIM-to-code transformations of the original conceptual schema. Integrity constraints are a fundamental part in the definition of a conceptual schema (CS) [9] . In general, many constraints cannot be expressed using only the predefined constructs provided by the conceptual modeling language and require the use of a generalpurpose (textual) sublanguage [6] . In the UML this is usually done by means of invariants written in the OCL [14] . Predefined (graphical) constraints can also be expressed in the OCL [8] .. Due to the high expressiveness of the OCL, the designer has different syntactic possibilities to define an integrity constraint. For instance, given the CS in Figure 1 , the constraint "the salary of an employee must be higher than the minimum salary of his/her department" may be defined as (among some other options): Obviously, designers may not be aware of all different alternatives, and thus, they may just choose the one they care about at the moment of defining the constraint. Many times, this implies that the designer does not define the constraint in the best way, where the meaning of best may differ depending on the specific goal intended by the designer (for instance understandability or efficiency).. The ability of transforming the initially defined constraints into alternative equivalent representations is also important in the context of the MDA [16] . As an example, in PIM-to-PIM transformations, replacing the constraints with alternative representations is required as part of the refactoring operations at the model level [12] . In PIM-to-PSM or PIM-to-code transformations, aimed at generating a final implementation of the system directly derived from its specification, the generation of alternative representations may be necessary as an intermediate step before producing the actual implementation (for instance, when including the verification of the constraints as part of the operation contracts) or to produce a more efficient implementation [1] .. There exist two different ways to generate an alternative representation for a given constraint: we can either replace the body of the constraint with an equivalent one (as it happens between constraints 1 and 3 of the previous example) or rewrite the constraint considering a different context type than the original one (as it happens with 1 and 2).. In this paper we propose several transformation techniques that allow to obtain a set of alternative constraint representations that are semantically equivalent to a given constraint. The replacement of the constraint body is handled by the definition of a set of equivalence rules between the different elements and constructs that may appear in the OCL expression defining the body of the constraint. On the other hand, the redefinition of the constraint using an alternative context is formalized as a path problem over a graph representing the CS. Using this graph we identify which entity types are candidates for acting as a new context type for the constraint and, then, we obtain all the possible redefinitions for each of them. Our proposal allows to generate all alternative redefinitions of the given constraint when using a different entity type as a context type but not all possible equivalent bodies for each alternative because of the huge number of equivalences among the different OCL constructs.. In contrast with the amount of research devoted to model transformations, redefinition of OCL expressions has received little attention in the past. In particular, [11] discusses the advantages of changing the context of a constraint but does not define which are the possible new contexts nor provides a method to generate such redefined constraints. Similarly, [4] proposes the context change as one of the possible refactorings to improve the specified OCL expressions but does not provide any method to automatically generate this context change. [7] provides some rules with the purpose of simplifying the constraints but the rules are not aimed at generating several alternative constraint definitions (and again, context changes are not addressed). [12] mentions context changes but restricts them to associations with multiplicity 1 on both association ends. Hence, as far as we know, ours is the first method able to deal fully with transformations of OCL constraints.. The structure of the paper is as follows. The next section defines several equivalences between OCL expressions. Then, we propose transformation techniques to change the context of a constraint to a particular entity type (section 3) and we extend them to any type of the CS (section 4). Section 5 discusses some scenarios where the provided transformations are especially helpful. Section 6 presents our tool implementation. Finally, we give our conclusions and point out future work in Section 7.

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


Restricted Robust Uniform Matroid Maximization Under Interval Uncertainty Abstract For the problem of selecting p items with interval objective function coefficients so as to maximize total profit, we introduce the r-restricted robust deviation criterion and seek solutions that minimize the r-restricted robust deviation. This new criterion increases the modeling power of the robust deviation (minmax regret) criterion by reducing the level of conservatism of the robust solution. It is shown that r-restricted robust deviation solutions can be computed efficiently. Results of experiments and comparisons with absolute robustness, robust deviation and restricted absolute robustness criteria are reported. The purpose of this paper is to introduce a new measure of robustness called the r-restricted robust deviation, and investigate its applicability within the context of a well-known problem from combinatorial optimization,namely the problem of selecting p items out of n so as to maximize total profit. It is assumed that the profit coefficients in the objective function are uncertain and can assume any value within a finite interval. This type of problems has been introduced and investigated in a series of papers and a monograph by Kouvelis and Yu (and coauthors); see [9] . A sample of subsequent contributions include [2, 7, 10, 12, 14] . The unifying theme is the treatment of well-known combinatorial optimization problems with imprecise data. It is usually assumed that the data behave according to some scenarios, or that the data elements can assume any value in some interval. As new concepts of optimality were needed for such situations, the contributors proposed to seek a solution that minimizes (resp. maximizes) some measure of worst performance, i.e., a solution that makes the maximum (resp. the minimum) of a performance measure minimum (resp. maximum). This paradigm gave rise to the concepts of absolute robustness (also known as minmax criterion), and robust deviation (or minmax regret criterion). There are different definitions of robust optimization problems in the literature [3] [4] [5] [6] 8] although usually these approaches also boil down to a minmax or maxmin optimization context. The approach by Ben-Tal and Nemirovski [3, 4] extensively studied convex optimization problems under ellipsoidal data uncertainty although it is not immediately applicable to discrete optimization. Another model by Bertsimas and Sim [5, 6] adopts the interval model of uncertainty and proposes a restricted version of absolute robustness criterion although this connection is overlooked by the authors. They limit the conservatism of the robust solution by arguing that it is quite unlikely that all data elements assume their worst possible values simultaneously whereas both the absolute robustness and robust deviation criteria seek solutions for such a contingency.. In the scenario model of uncertainty, both with the absolute robustness criterion and robust deviation criterion, even the simplest combinatorial optimization problems become intractable. Under the interval model of uncertainty, a positive result about tractability was obtained by Averbakh [2] , and improved by Conde [7] , which constitute the starting point of the present paper. Inspired by the work of Bertsimas and Sim, we develop a restricted version of the robust deviation criterion using the problem of Averbakh and Conde, namely, the problem of selecting p elements out of n elements so as to maximize total profit. This problem is also known as the problem of maximization over a uniform matroid and is solvable by a simple procedure in O(n) time (see [7] ) if data are known with certainty. Under the interval model of uncertainty of the objective function coefficients, and using the robust deviation criterion, Averbakh gave a polynomial time algorithm, which was improved recently by Conde. In the present paper, we derive the r-restricted robust deviation version of the problem in the aim of limiting conservatism, and show that it is polynomially solvable.. The rest of the paper is organized as follows. In Sect. 2 we give a background on robustness criteria for the maximization problem over uniform matroid. In Sect. 3 we formulate the r-restricted robust problem, and establish its polynomial solvability. Section 4 is devoted to numerical results. Let a discrete ground set N of n items be given. Denote by F the set of feasible solutions. Consider problem P defined as max x∈F i∈N c i x i . It is assumed that the objective function coefficient of i ∈ N denoted by c i is not known with certainty, but it is known to take a value in the interval [l i , u i ]. For i ∈ N, we define w i = u i − l i and assume that w i ≥ 0. Let S denote the set of scenarios, i.e, the Cartesian product of all intervals. For s ∈ S, c(s) denotes the vector of objective function coefficients in scenario s. Following Kouvelis and Yu [9] , we have the following definitions. Problem AR can be solved easily by solving problem P for the scenario s such that c(s) i = l i for all i ∈ N. Problem RD has received more attention. It has indeed led to interesting problems from the modeling and computational point of view (see e.g. [1, 2, 7, 11, 12, 14, 16] ). Both robustness concepts are based on a worst case analysis. They assume that the worst scenario is likely to happen. However, in most practical situations, the probability that all parameters simultaneously take their worst possible values may be very small. One may be interested in solutions that are robust when at most a fixed number of parameters take their worst possible values. Now, following Bertsimas and Sim [5, 6] we give our definition of restricted robust problems. For 1 ≤ r ≤ n, define S(r) = {s ∈ S : c(s) i < u i for at most r items}. In cases where the feasible set F of the generic problem P is described by affine inequalities or is a discrete set, Bertsimas and Sim [5, 6] show that whenever P is polynomially solvable, so is r-RAR. Now, we can define the problem of interest for the present paper. In this section we summarize experimental evidence to the effectiveness of the r-restricted robust deviation criterion. The detailed results can be found in the longer version [15] . By an uncertain problem we mean that we fix n and p and generate for each objective function coefficient a random interval, i.e., l i and u i values for each i. In all experiments we generate an uncertain problem with n = 500 randomly where we take the l i values uniformly distributed in the interval (−10, 000; 10, 000), w i values uniformly distributed in the interval (0; 2, 000) and we obtain u i values by simply adding w i to l i for each i. An instance of an uncertain problem corresponds to a random scenario of objective function coefficients within the prespecified interval.. Our first experiment compares the relative performances of the four robustness measures of this paper. We summarize this experiment in Fig. 1 and Table 1 . For Fig. 1 , we first generate an uncertain problem with p = 250. Then we randomly generate what we call "extreme" problem instances in order to be able to observe a distinct behavior of the r-robust and the robust deviation solutions, which is usually impossible to obtain without such extreme instances. For a fixed r, we take objective function coefficients at their lower bounds with probability equal to r n and at their upper bounds with probability equal to 1 − r n . We repeat this 50 times, thus obtaining 50 problem instances for fixed p and r. Then we compute the r-restricted robust solution and the robust deviation solution. We calculate the deviations of these solutions from the optimal values of each of the 50 instances. We take the average of these 50 observations for both the r-robust solution and the robust deviation solution, respectively. Repeating this for values of r ranging from 1 to p, we obtain an entire plot. We observe that for small values of r, the r-robust solution is somewhat more robust in such extreme scenarios compared to the robust deviation solution whereas after a certain r value the two solutions behave identically. In Table 1 , we compare the performances of the r-robust deviation solution for a fixed value of r, the r-restricted robust absolute solution using the same value of r, and the absolute robust solution of Definition 1 for 50 uncertain problems. For each uncertain problem, fixing p and r we first compute these three solutions. Then we generate 500 random instances. We find the optimal value for each of the 500 problem instances, and compute the percentage error in objective function value corresponding to each of the three solutions with respect to the random instance's optimal value. We compute the 1 and ∞ norms of this error vector of dimension 500. These results were obtained by generating the objective function coefficients according to a Normal law where the interval [l i , u i ] for coefficient i corresponds to a 95%-quantile. We repeat r-value probability r-RRD(p=50) r-RAR(p=50) r-RRD(p=100) r-RAR(p=100) r-RRD(p=200) r-RAR(p=200) r-RRD(p=250) r-RAR(p=250) Fig. 2 Empirical probability of unsatisfactory performance using normally distributed objective function coefficients as a function of r this procedure for 50 randomly generated uncertain problems. Each entry of Table 1 corresponds to the mean value of these 1 and ∞ norms of percentage errors over 50 uncertain problems. The results clearly show a superiority of the r-restricted robust deviation solution to other measures. The probability (under an assumed distribution of the objective function coefficients) that the robust solution fails to give a satisfactory performance is also an important determinant of robustness. The smaller this probability, the higher the protection offered by the r-restricted robust deviation solution. Bounds on this probability are obtained in [5, 6] under some general assumptions on the distribution of random parameters. An unsatisfactory performance in this context is defined as the occurrence of an objective function value at the r-restricted robust deviation solution smaller than the r-restricted worst performance (as in Definition 2) of the same solution. The reason for using Definition 2 in place of Definition 3 is that we are interested in an absolute performance in this experiment. Hence, in our second experiment we compute an empirical probability of unsatisfactory performance for the r-restricted robust deviation solution as a function of r for a problem with fixed n and p. For comparison, this empirical probability is also computed for the r-restricted absolute robust solution of Definition 2.. We randomly generate uncertain problems with p = 50, 100, 200 and 250 and solve the corresponding r-RAR and the r-RRD. Then, we generate 10,000 random objective function vectors and count the occurrences of unsatisfactory trials for all robust solutions. This is repeated for increasing values of r from 1 to p. It is certainly beneficial from a robustness point of view to choose r in the range where the probability of unsatisfactory performance vanishes. The results summarized in Fig. 2 show that the critical value of r (where the probability of unsatisfactory performance vanishes) for a fixed problem depends on p as follows. For larger p, e.g., p = 200, 250, the critical value is situated at a value αp where α is slightly above 1/3, e.g. 0.36 or 0.37. This critical value becomes somewhat larger as p gets smaller. The performances of the r-restricted absolute robust solution and that of the r-restricted robust deviation solutions are quite close, with a slight superiority of the r-restricted robust deviation solution.. In conclusion, the experimental results revealed that the r-restriction of the robust deviation solution, while less conservative, does not lead to a decrease in robustness and shows a superior behavior to previously proposed robustness concepts.

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


Scheduling strategies for optimistic parallel execution of irregular programs Recent application studies have shown that many irregular applications have a generalized data parallelism that manifests itself as iterative computations over worklists of different kinds. In general, there are complex dependencies between iterations. These dependencies cannot be elucidated statically because they depend on the inputs to the program; thus, optimistic parallel execution is the only tractable approach to parallelizing these applications.We have built a system called Galois that supports this style of parallel execution. Its main features are (i) set iterators for expressing worklist-based data parallelism, and (ii) a runtime system that performs optimistic parallelization of these iterators, detecting conflicts and rolling back computations as needed.Our work builds on the Galois system, and it addresses the problem of scheduling iterations of set iterators on multiple cores. The policy used by the base Galois system is to assign an iteration to a core whenever it needs work to do, but we show in this paper that this policy is not optimal for many applications. We also argue that OpenMP-style DO-ALL loop scheduling directives such as chunked and guided self-scheduling are too simplistic for irregular programs. These difficulties led us to develop a general scheduling framework for irregular problems; OpenMP-style scheduling strategies are special cases of this general approach. We also provide hooks into our framework, allowing the programmer to leverage application knowledge to further tune a schedule for a particular application.To evaluate this framework, we implemented it as an extension of the Galois system. We then tested the system using five realworld, irregular, data-parallel applications. Our results show that (i) the optimal scheduling policy can be different for different ap- * The majority of applications that will run on multicore processors are irregular applications that manipulate pointer-based data structures like trees and graphs, rather than regular applications that deal with arrays and dense matrices. Little is known about the nature of concurrency in irregular applications, let alone how to exploit this concurrency effectively on multicore processors.. Recent case studies of irregular programs have shown that many have a generalized data parallelism that manifests itself as iterative computations over worklists of various kinds [11] . Consider 2-D Delaunay mesh refinement [3] , an important irregular code used in graphics and finite-element solvers. The input to the algorithm is an initial triangulation of a region in the plane, as shown in Figure 1 . Some of the triangles in this mesh may be badly shaped (these are shown in red in Figure 1) ; if so, an iterative refinement procedure, shown in Figure 2 , is used to eliminate them from the mesh. At each step, the refinement procedure (i) picks a bad triangle from the worklist, (ii) collects a bunch of triangles in the neighborhood of that bad triangle (called cavity, shown in blue in Figure 1 ), and (iii) re-triangulates that cavity. If this re-triangulation creates new badly-shaped triangles in the cavity, they are added to the worklist. The shape of the final mesh depends on the order in which bad triangles are processed, but it can be shown that every processing order halts, producing a final mesh without badly shaped elements. From this description, it is clear that bad triangles whose cavities do not overlap can be processed in parallel. Moreover, since each bad triangle is processed identically, this is a form of data parallelism. Abstractly, the worklist implements a set, and the data parallelism arises from computations performed on each element of that set. Element e = wl.get(); //get bad triangle 6: if (e no longer in mesh) continue; 7:. Cavity c = new Cavity(e); 8: c.expand(); 9: c.retriangulate(); 10: mesh.update(c); 11: wl.add(c.badTriangles()); 12:} Figure 2 : Pseudocode of the mesh refinement algorithm Exploiting data parallelism in irregular programs can be more complex than exploiting data parallelism in array programs. Data parallelism in array programs usually manifests itself in DO-ALL loops (i.e., FORTRAN-style DO loops over integer intervals in which the iterations can be proven statically to be independent). Data parallelism in irregular programs often manifests itself in iteration over sets, but the iterations are not necessarily independent. Although static analysis techniques such as points-to and shape analysis [6, 18] can be used in some cases to prove independence, there may be complex dependences between iterations, as in the case of Delaunay mesh refinement. Static analysis fails to discover the potential data parallelism in these cases.. One promising approach is to use speculative or optimistic parallel execution. While there is a large body of work in this area [11, 16, 22] , the work described in this paper is based on the Galois system we have previously developed [11] . In this system, data parallelism is expressed using set iterators, and these iterators can be executed concurrently by some number of threads that pull elements one at a time from the underlying worklist. To ensure that the results of concurrent execution are consistent with the sequential semantics of the program, there is a runtime system that detects conflicting method accesses made by different concurrently executing iterations. If a conflict is detected, one of the conflicting iterations is rolled back and any side-effects it may have had on shared objects are undone. This mechanism is explained in further detail in Section 2.2. Figure 3 shows the Galois version of Delaunay mesh refinement. There is no a priori ordering on set elements, so a sequential execution of the set iterator is permitted to execute the iterations in any order. Although the program can be executed sequentially, the iterator provides a hint to the Galois runtime system that it may be profitable to execute the iterations in parallel. In the Galois sys-1: Mesh m = / * read in initial mesh * / 2: Worklist wl; 3: wl.add(mesh.badTriangles()); 4: for each e in wl do {//optimistic set iterator 5: if (e no longer in mesh) continue; 6:. Cavity c = new Cavity(e); 7: c.expand(); 8: c.retriangulate(); 9: m.update(c); 10: wl.add(c.badTriangles()); 11:} Figure 3 : Delaunay mesh refinement using set iterator tem's execution model, a master thread begins the execution of the program. When this master thread encounters an iterator, it enlists the assistance of some number of worker threads to execute iterations concurrently with itself. The assignment of iterations to threads is under the control of a scheduling policy implemented by the runtime system; in the current Galois implementation, this assignment is done dynamically to ensure load balancing. All threads are synchronized using barrier synchronization at the end of the iterator. As mentioned above, the runtime system takes care of detecting conflicting accesses made to global objects, and recovering from unsafe accesses. The Galois system has been used successfully to parallelize a number of irregular applications [10] . Upto this point, we have presented a general conceptual framework for scheduling irregular, data-parallel applications. For the framework and system to be truly useful, it must be easy for a programmer to implement application-specific scheduling policies. Recall that scheduling of iterations from the worklist is handled by the Galois runtime system. By hiding the worklist in the optimistic iterator construct, the run-time can provide different scheduling policies with minimal intervention from the user.. The object that controls scheduling in the Galois run-time system is the GaloisScheduler. It provides methods which specify how a thread obtains a new piece of work (essentially performing the actions of the labeling policy and ordering policy), and how a core adds new work to the iterator (performing the actions of the clustering policy). By subclassing the GaloisScheduler and selectively overriding these methods, it is straightforward for a programmer to implement any schedule he or she desires. Our implementations of the policies described above use this technique.. Given a set of GaloisScheduler objects that implement different scheduling policies, the question then becomes how a programmer can specify which policy to use for his or her program. One way of setting this policy is through compiler directives similar to OpenMP pragmas: the data-parallel loop is annotated to indicate the policy the programmer desires. Unfortunately, this is too restrictive for our purposes. By limiting the policies to those provided by compiler directives, programmers lose the ability to specify custom scheduling policies (which are often necessary, as we see in Section 4.5).. Instead, we take a programmatic approach. When instantiating the Galois runtime system, a programmer can pass in a particular GaloisScheduler object to set a scheduling policy. This requires minimal changes to the user code, comparable to compiler directives, but retains the full flexibility of the scheduling framework. The Galois system provides several common policies which provide acceptable performance for a number of applications (see Section 4.6).

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


Exploring multimedia in a keyword space We address the problem of searching multimedia by semantic similarity in a keyword space. In contrast to previous research we represent multimedia content by a vector of keywords instead of a vector of low-level features. This vector of keywords can be obtained through user manual annotations or computed by an automatic annotation algorithm. In this setting, we studied the influence of two aspects of the search by semantic similarity process: (1) accuracy of user keywords versus automatic keywords and (2) functions to compute semantic similarity between keyword vectors of two multimedia documents. We consider these two aspects to be crucial in the design of a keyword space that can exploit social-media information and can enrich applications such as Flickr and YouTube. Experiments were performed on an image and a video dataset with a large number of keywords, with different similarity functions and with two annotation methods. Surprisingly, we found that multimedia semantic similarity with automatic keywords performs as good as or better than 95% accurate user keywords. In the classic multimedia search paradigm the user transforms some information need into a system query, and the system replies with the required information. Unlike text documents, multimedia documents do not explicitly contain symbols that could be used to express an information need. This problem has roots in two different aspects:. Richness of multimedia information: visual and audio information can communicate a wide variety of messages, feelings and emotions; structure adds organization and usability.. Expressiveness of the user query: systems have always forced humans to describe their information need in some query language. However, not all information needs are easily expressed.. Multimedia systems are best at processing user queries represented by mathematical expressions, and not everyone has the same skills of expressing ideas, emotions and feelings in such a formal way. While in text retrieval we express our query in the format of the document (text), in multimedia systems this is more difficult. The user is not aware of the low-level representation of multimedia, e.g., colour, texture, shape features, pitch, volume or tones. These low-level feature spaces are ideal to find multimedia documents with similar colours, textures, shapes, etc, but are not adequate to find multimedia by semantic similarity. This scenario calls for a feature space capable of representing multimedia by its semantic content where semantic similarity is easily computed. Thus, in this paper we study the following aspects of the process:. Manual versus automatic methods of transforming a multimedia document into the keyword space, i.e., the X Y between two keyword vectors. 1 Distance is equivalent to the inverse of similarity: large distances imply low similarity and small distances imply high similarity.. 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. MM'08, October 26-31, 2008 , Vancouver, British Columbia, Canada. Copyright 2008 ACM 978-1-60558-303-7/08/10...$5.00. This paper addressed the problem of exploring multimedia by semantic similarity in a keyword space. Managing multimedia by their keywords and categories is a complex task involving a long chain of information processing algorithms. We presented experiments to analyze two aspects of the process: (1) the influence of the accuracy of user keyword annotations versus automatic keyword annotation algorithms and (2) functions to compute semantic similarity. Our evaluation allows us to draw the following conclusions regarding multimedia semantic similarity:. Automatic keyword annotations perform better than 95% accurate user keywords but is still below completely accurate user keywords. User keywords show that similarity is highly sensitive to extremely accurate keyword annotations (the difference between 95% and 100% correct keywords). User keywords show that similarity is robust to errors for averagely accurate keyword annotations (range between 80% and 95%). All considered distance functions perform similarly.. We believe that the results of the proposed framework show that automatic methods have an important role in the semantic exploration of multimedia content.. These conclusions together with the experiments results shed some light on the problem of semantically comparing two multimedia documents. These experiments also suggest two hypotheses: rank correlation evaluation would provide better measures to design a semantic similarity function; and graph based metrics might perform better by exploring keyword dependencies. Searching multimedia by semantic similarity has been a problem in Computer Science for many years that has been tackled with different types of paradigms: some approaches have processed multimedia at feature level; others have exploited user interaction to refine the user query; while some have explored a combination of these paradigms, see [11] for a recent survey.

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