Structural optimization of 3D masonry buildings In the design of buildings, structural analysis is traditionally performed after the aesthetic design has been determined and has little influence on the overall form. In contrast, this paper presents an approach to guide the form towards a shape that is more structurally sound. Our work is centered on the study of how variations of the geometry might improve structural stability. We define a new measure of structural soundness for masonry buildings as well as cables, and derive its closed-form derivative with respect to the displacement of all the vertices describing the geometry. We start with a gradient descent tool which displaces each vertex along the gradient. We then introduce displacement operators, imposing constraints such as the preservation of orientation or thickness; or setting additional objectives such as volume minimization. While computer graphics and computer-aided-design (CAD) have dramatically broadened the range of shapes available for architectural design, structural considerations have often been ignored. Structural analysis of a building is usually performed after the aesthetic design has been determined and has little influence on the overall form. An architect designs the shape, which is passed to structural engineers to make the building stable through the use of appropriate material and reinforcement. Existing structural analysis software, such as finite element analysis, is a powerful method for analyzing a given structure, but does not directly suggest ways to improve the geometry in order to reduce internal forces and required material. In contrast, we seek to propose modifications to the geometry that enhance structural soundness. We focus on masonry structures because their stability is the direct result of their geometry, but we argue that the central principle of sound masonry design -minimization of non-axial forces -extends to other materials.. The input to our method is a building geometry described as a set of blocks specified by their vertex coordinates. The central component of our approach is the notion of a structural gradient, which expresses, for each vertex, the displacement direction that maximally improves structural soundness. The gradients can be used in a steepest-descent manner. Alternatively, constraints can be introduced to modify the gradient direction, such as preservation of horizontal and vertical directions, or constant thickness of blocks. Objectives can also be added such as volume minimization to reduce material usage. We explore a number of gradient modifications and show that they enable variations in structurally sound models.. We base our notion of structural soundness on static analysis [Livesley 1978; Livesley 1992] and focus on masonry materials, comprising stone and brick structures. Masonry is the dominant material for traditional architecture and is also used in modern architecture, especially in developing countries. In contrast to contemporary steel or reinforced concrete, traditional masonry relies on forms which are inherently stable, because the material resists only axial compressive forces [Allen and Zalewski 2009 ]. Though we focus on the case of masonry, our approach can be used to minimize non-axial forces in general. Even with materials that resist tension, such as reinforced concrete or steel, a good structural form with reduced non-axial force requires less material, leading to cheaper, more environmentally-friendly, and robust buildings. In addition, we extend our approach to enable the treatment of cables as tension-only elements, using the same principles of static analysis and resistance to axial forces.. The heart of our approach is to compute the gradient of a stability metric with respect to geometry modification. First, we show that previous expressions of masonry instability [Whiting et al. 2009 ] do not lead to appropriate structural gradients because they are based on forces rather than torque. We use a stability metric defined by a quadratic program minimizing both tension and compression forces and subject to feasibility constraints. We compute the gradient of this metric with respect to all the vertex coordinates. To do this, we transform active inequality constraints into equalities, resulting in a linear system that we use to derive a closed-form expression for the optimum. We then analytically derive the Jacobians of the transformed feasibility constraints with respect to vertex coordinates. Together with the closed form expression of the optimum, this allows us to derive the final structural gradient.. We introduce geometry modification tools that leverage the gradient of stability. Each tool relies on a number of user-specified constraints and objectives, such as the preservation of vertical or horizontal directions or the minimization of material usage. We have introduced a technique that can guide the design of structurally stable buildings using new structural gradients. We have derived equations for the gradient of structural feasibility as a function of geometry and demonstrated accuracy compared to finite difference. The gradient can then be modified according to user constraints and objective, and applied to the current design, yielding a more sound configuration.. Acknowledgements Thanks to Sylvain Paris and reviewers of the MIT pre-deadline for helpful discussions, and Adriana Schulz for renderings. This work was partially supported by Shell. E. Whiting acknowledges the NSERC Canada PGS program. H. Shin acknowledges the Samsung Scholarship Foundation. model weight increase part modified new energy [Whiting'09] T (Fig. 7) 105 % 129 % bottom block arch (Fig. 9) 9.9 % 31.1 % 6 column blocks stack (Fig. 10) 148 % 189 % bottom block shell (Fig. 12) 255.7 % 367.1 % bottom left 3 rows slabs (Fig. 13) 180 % 500 % 3 base columns buttress (Fig. 15) 34.5 % 66.7 % buttress blocks Table 3 : Comparison in material use for our torque-based energy vs. [Whiting et al. 2009 ]. Weight increase is measured for the specified blocks after convergence to a feasible structure. Vertices other than the part modified were fixed. An exception was the arch structure which was unconstrained in order to reach feasibility. Modeling Stable Structures We show example structures with visualizations of the computed infeasibility gradients, and various ways in which the user might modify the structure. Figure 9 shows a variety of outputs for an infeasible model of an arch balanced on two columns. We compare results from unconstrained optimization, constant thickness and fixing arch vertices.. Figures 10 and 11 show various results for an unstable stack of blocks. In Figure 10 the constraints include rigid translation using a combination of thickness and orientation constraints. We show visualizations of the resultant forces at each interface, illustrating that resultants lie within the joints for the feasible result. We also apply a small factor of safety by shrinking the effective interfaces between blocks. Figure 11 applies only orientation constraints and vertical thickness, so that the blocks can stretch horizontally. An alternative design using volume minimization is provided.. In Figure 12 (a) the shell is infeasible due to a bulging shape over the support region. Result 12(b) shows an output from unconstrained optimization where the profile is significantly thickened. In 12(c), the thickness of the shell is constrained, resulting in a modified shape closer to a traditional arch.. In Figure 13 , the unstable input model consists of three slabs and a series of columns. The result in Figure 13 (b) has constraints on slabs orientation, and rigid translation of the base columns. There is noticeable thinning and shortening of the slabs to reduce weight. Columns on the over-hanging portion are thinned while the left-hand column is thickened for counter-balance. The slabs and columns were fixed part-way through the design when a minimum preferred thickness was reached. The base columns are translated to the center of the floorplan so that the resultant load of the upper levels falls within their support region. Figure 14 shows a partial torus with doors, which is made stable through geometry changes following the gradient.. The starting shape in Figure 15 is a barrel vault with flying buttresses. With a constraint to maintain volume, the result changes the buttress tapering, as well as modifying the curvature of the arches.. Implementation We use the IBM CPLEX quadratic program solver. Intel MKL is used for nonlinear optimization of block planarity under user constraints. In section 5.2 it is known that solving the normal equations x = A T (AA T ) −1 b explicitly is prone to numerical errors [Trefethen and Bau 1997] . For improved numerical stability we use QR decomposition to compute the inverse Performance Our formulation for analytic gradients provides a significant performance improvement over finite differencing techniques, which is necessary for interactive applications. See Table 1 for results and comparison. Performance times for finite differencing are equivalent to the time for solving the quadratic program ( §4) multiplied by the number of components in the gradient vector ∇y. Times for analytic gradients include the time for computing partial derivatives ( §5) added to the time for computing planar vertex offsets ( §8.1). While computing the analytic derivatives takes some time, it is orders of magnitude faster than running the quadratic program solver multiple times as in the finite differencing approach. Table 2 provides results for the optional user constraints (8.2). On top of planarity constraints, additional user constraints do not affect performance of each iteration significantly.. Convergence Our method typically takes only a few iterations to converge to a feasible structure. Using a stopping criteria of 1% of the initial infeasibility measure, the arch (Fig. 9(b-d) ) and shell ( Fig. 12(b,c) ) took ≤ 4 iterations. The cable bridge ( Fig. 1(c,d) ) required 10 iterations. The stacked block model ( Fig. 10(d) The plot in Figure 16 shows the progress of the infeasibility metric for the unconstrained arch ( Fig. 9(a) ). At each iteration the value of infeasibility decreases, and converges toward y(Ω) = 0 (feasibility condition) after a small number of gradient steps. Architectural Modeling Attar et al. [2009; apply physics to generative design of architectural models, but do not address the creation of structurally feasible forms. Schiftner and Balzer [2010] use statics in mesh layouts, but applied at the initialization phase rather than a constraint on the geometry. Optimization has been used in architecture for modeling free-form surfaces that meet fabrication criteria [Eigensatz et al. 2010; Pottmann et al. 2008; Pottmann et al. 2007; Liu et al. 2006] . However, these examples do not consider structural feasibility constraints. Most related to our method, Whiting et al. [2009] integrate structural soundness with procedural modeling, but are limited to low-dimensional parameterized models. Our approach addresses the creation and modification of structurally-sound masonry structures defined as generic quad-mesh models.. Optimization for Design Shape design is often formulated as a numerical optimization. Delfour and Zolesio [2001] and Laporte and Le Tallec [2003] provide the mathematical foundations for optimization problems over a geometric domain. A range of surface modeling techniques incorporate geometry optimization [Gal et al. 2009; Kilian et al. 2008; Sorkine and Alexa 2007] . Most similarly, Welch and Witkin [1992] solve a constrained variational optimization for interactive modeling of free-form surfaces. Analogous to our approach they formulate the surface energy as a quadratic program, and incorporate user-controlled constraints such as fixed points. Harada et al. [1995] optimize constrained layout designs with physically based user interaction. Li et al. [2004] introduce constraint editing for guided optimization in image segmentation applications.. Structural Design Many commercial CAD modeling systems, such as CATIA (www.3ds.com/products/catia) and Revit (usa.autodesk.com/revit-architecture), integrate finite element analysis into the modeling package to shorten the pipeline between model creation and structural analysis. However, these systems do not provide guidance on how to modify designs to improve stability. The EifForm application [Shea 2000 ] integrates FEM with generative structural design methods, but differs from our technique by use of a simulated annealing algorithm. Allaire et al. [2004] describe structural optimization combining shape derivatives with a level-set method, though their method is based on elasticity rather than rigid material. Smith et al. [2002] developed automatic optimization of truss structures. In trusses only axial forces are considered. Further, the solution space is typically restricted to two levels of joints, compared to the arbitrary stacking of blocks in masonry architecture. The Thrust Network Analysis method for the design of 3D masonry vaults considers equilibrium of compression-only structures [Block and Ochsendorf 2007; Vouga et al. 2012] , however, the approach is specific to topologies that can be projected onto a 2D plane, while we support arbitrary topology and full 3D models.. Computer Graphics Applications Stability analysis has been applied to a wide range of model subjects in computer graphics applications with the notion that physical realism translates to a more realistic appearance. Shi et al. [2007] use static equilibrium as a constraint for determining plausible character poses. Static analysis has also been used in creating realistic tree structures [Hart et al. 2003 ]. Many geometric modeling applications integrate physical constraints and simulation [Martin et al. 2010; Xu et al. 2009; Terzopoulos and Fleischer 1988; Terzopoulos et al. 1987 ], but these systems target realistic deformations rather than stability.

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


Database research in computer games This tutorial presents an overview of the data management issues faced by computer games today. While many games do not use databases directly, they still have to process large amounts of data, and could benefit from the application of database technology. Other games, such as massively multiplayer online games (MMOs), must communicate with commercial databases and have their own unique challenges. In this tutorial we will present the state-of-the-art of data management in games that we learned from our interaction with various game studios. We will show how the issues involved motivate current research, and illustrate several possibilities for future work.Our tutorial will start with a description of data-driven design, which is the source of many of the data management issues that games face. We will show some of the tools that game developers use to create and manage content. We will discuss how this type of design can affect performance, and the data structures and techniques that developers use to ensure that the game is responsive. We will discuss the problem of consistency in games, and how games ensure that players all share the same view of the world. Finally, we will examine some of the engineering issues that game developers have to deal with when interacting with traditional databases.This tutorial is intended to be self-contained, and provides the background necessary for understanding how databases and database technology are relevant to computer games. This tutorial is accessible to students and researchers who, while perhaps not hardcore gamers themselves, are interested in ways in which they can use their expertise to solve problems in computer games.

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


Efficiently learning the preferences of people Abstract This paper presents a framework for optimizing the preference learning process. In many real-world applications in which preference learning is involved the available training data is scarce and obtaining labeled training data is expensive. Fortunately in many of the preference learning situations data is available from multiple subjects. We use the multitask formalism to enhance the individual training data by making use of the preference information learned from other subjects. Furthermore, since obtaining labels is expensive, we optimally choose which data to ask a subject for labelling to obtain the most of information about her/his preferences. This paradigm-called active learning-has hardly been studied in a multi-task formalism. We propose an alternative for the standard criteria in active learning which actively chooses queries by making use of the available preference data from other subjects. The advantage of this alternative is the reduced computation costs and reduced time subjects are involved. We validate empirically our approach on three real-world data sets involving the preferences of people. There has been an increasing interest recently in learning the preferences of people within artificial intelligence research (Doyle 2004) . Preference learning provides the means for modeling and predicting people's desires and this makes it a crucial aspect in modern applications such as decision support systems (Chajewska et al. 2000) , recommender systems (Blythe 2002; Blei et al. 2003) , and personalized devices (Clyde et al. 1993; Heskes and de Vries 2005) .. A prototypical example for an application of preference learning that we will use in this paper is fitting hearing-aids, i.e., tuning of hearing-aid parameters so as to maximize user satisfaction. This is a complex task, due to three reasons: (1) high dimensionality of the parameter space, (2) the determinants of hearing-impaired user satisfaction are unknown, and (3) the evaluation of this satisfaction through listening tests is costly (in terms of patient burden and clinical time investment) and unreliable (due to inconsistent responses). The last point illustrates an important issue that preference learning has to address, which is the limited availability of labeled data used for model training. Obtaining appropriate training data in preference learning applications requires time and effort from the modeled user. This shortcoming can be addressed by taking advantage of two characteristics of the settings in which preference learning is usually applied. First, the training data is mostly acquired through interactions with the modeled user; and, second, preferences are modeled for multiple users, as a result multiple training data sets are available. In order for the preference learning methods to be implemented in real-world systems, they must be capable of exploiting all possible sources of information and in the most efficient way.. In most of the situations in which preference learning is involved data is available from multiple subjects. Thus, even though individual data is scarce and difficult to obtain, we can optimize the learning of preferences of a new subject by making use of the available data from other subjects. Learning in this setting is well-known as multi-task or hierarchical learning and has been studied extensively in recent years in machine learning. By using the multi-task formalism, the preference data collected for other subjects can be gathered and used as prior information when learning the preferences of a new subject. Furthermore, to deal with the fact that obtaining labeled data is expensive we can speed up learning by optimally choosing the examples to be queried. At each learning step we can decide which example gives the most information about the subject's preferences. This paradigm, called active learning in the machine learning literature and related to sequential experimental design in statistics, has been studied extensively, but hardly in the multi-task setting.. The aim of this work is to present an efficient framework for optimizing the preference learning process. This framework considers the combination between active learning and multi-task learning in the preference learning context. The contribution of this work is a criterion for active learning designed for the multi-task setting. The advantages of this criterion are in its interpretation and the ease in computability.. The structure of this paper is as follows. First, this section ends by presenting related work on preference learning, multi-task learning and active learning. In Sect. 2 we describe the learning framework. We consider learning from qualitative preference observations in which the subject makes a choice for one of the presented alternatives. This can be modeled using the probabilistic choice models introduced in Sect. 2.1. Learning a utility function representing the preferences of a subject from this type of preference observations is described in Sect. 2.2. Learning the utility function in a multi-task setting by making use of the data available from other subjects is considered in Sect. 2.3. In Sect. 3 we present several criteria for selecting the most informative experiments with respect to a subject's preferences. After reviewing some of the standard criteria from experimental design, we propose an alternative criterion which makes use of the preference observations collected already from a community of subjects. We show that this alternative criterion is connected to the standard criteria from experimental design. In Sect. 4 we demonstrate experimentally the usefulness of our framework on three data sets, a subset of the Letor data set, an audiological data set and a data set about people's preferences for art images. In Sect. 5 we present several conclusions and discuss directions for future research.

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


Trunk decomposition based global routing optimization We present global routing optimization methods which are not based on rip-up and re-route framework. In particular, the routing optimization is based on trunk decomposition [13] of the global routing. In this framework, the route of a net is decomposed into sets of wiring segments. By viewing a wiring segment as an "atomic object" of perturbation, we can efficiently evaluate the effect of routing tree perturbation. We propose two complementary routing optimization methods, namely segment partitioning and segment migration. These targeted optimizers can improve congestion related routing objectives by quickly shuffling wiring segments across different routing channels. Our routing approach produces better results compared to rip-up and re-route method based router Labyrinth [14] with average total overflow reduction of more than 88% while taking only 61% of runtime required by ripup and reroute phase of Labyrinth. When applied to the output of Labyrinth, the approach, on average, reduces the total overflow by more than 97% with complete overflow elimination for four circuits, while requiring additional runtime of just 33%. On a larger benchmark suite, the total overflow reduction of more than 86% is obtained, with complete overflow elimination for eight circuits, while requiring only 19% additional runtime. Routing is a crucial part of the VLSI design process and this is increasingly true in modern designs in which design closure and total design time are impacted by the effectiveness and speed of the routing engine. In the nanometer designs, variability and manufacturability related issues have posed new challenges in routing domain, making it even more critical for achieving closure. In a traditional design flow, the routing problem is divided in two phases: global routing and detailed routing. The focus of this paper is on the global routing phase in which "rough" routes for nets are determined so as to manage the routing demand over the chip (given the guidelines of the global routing, detailed 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, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ICCAD'06, November 5-9, 2006 , San Jose, CA Copyright 2006 ACM 1-59593-389-1/06/0011 ...$5.00. routing determines exact routes). During global routing, the routing region is typically divided into a 2-D array of tiles. A routing graph is constructed in which each node corresponds to a routing tile and each edge corresponds to a routing channel connecting two adjacent tiles. Each of these tiles has physical dimensions which determines the capacity of edges incident on the tile -i.e., maximum number of wires which may flow through an edge. The simplest version of the global routing problem then is to find a routing tree in the routing graph for each net in the design such that no edge capacity is exceeded. Optimization variants might attempt to minimize the maximum edge usage (or density) or to minimize the total overflow (violation of edge capacities).. The techniques employed for solving routing problems can broadly be classified into the following categories: ripup and reroute based techniques, multicommodity flow based techniques and hierarchical/multilevel techniques. Ripup and reroute techniques are essentially sequential routing methods in which each net is routed in some order while taking into account the demand contribution from nets already routed [16] , [14] , [10] , [8] . For individual net routing, a number of heuristic methods have been proposed, e.g. maze routing [15] or Steiner tree construction heuristics [12] . These techniques differ from each other in terms of the objective to be optimized and the criteria for the selection of the nets to be ripped up and rerouted.. To the best of our knowledge, the majority of industry tools are based, at least in part, on the general concept of ripup and reroute. Thus, the idea has stood the test of time. Nevertheless, there are some obvious issues associated with the approach -the results can be sensitive to net ordering; defining "edge cost" functions in the best way is a technical challenge; runtime tends to be substantial, particularly as tile-size is decreased (to better model what the detailed router sees) and as the design size increases.. A second class of techniques is based on multicommodity flow [17] [6] [2] and can model the simultaneous routing of multiple nets. The main idea here is to model nets as different commodities that flow through the network of routing resource graph. In general the linear programming formulation will result in fractional flows corresponding to nets "partially" using certain routing resources. Therefore, a randomized rounding procedure is used to discretize the solution. Since solving the LP itself is a computationally intensive task, Albrecht [2] developed methods to approximate the LP solution with provable error bounds. To deal efficiently with multi-pin nets (i.e., to avoid enumerating all possible Steiner trees), a limited number of candidate Steiner trees are usually constructed for each net and LP relaxation of the flow problem (or an approximation thereof) is solved, followed of course by randomized rounding. Ripup and reroute can be used at the end to further optimize the routing.. Hierarchical and multilevel techniques [4] , [7] use, as the name suggests, multilevel optimization approach to reduce the complexity of the problem. Hierarchical techniques solve the routing problem in top-down flow, while multilevel techniques use combination of bottom-up and top-down flows. In [7] , the authors compute resource capacities in a bottom up phase and start routing at the highest level using multicommodity flow based algorithm. During a top-down phase, maze routing is used to refine the routes. We have presented a set of complementary routing optimizers within the framework of trunk decomposition. Perturbation operators from a complete move-set are used for routing optimization. The application of these methods on two benchmarks suite shows promising improvements in total and maximum overflow in relatively quick time.. Ongoing work includes devising new methods for generating better initial routing results, improving runtime and further enhancement of the techniques with applications other interesting areas, such as design for manufacturability. The implementation of the techniques is right now in beta phase and will eventually be made available to the CAD community for further research.

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


Seamless user notification in ambient soundscapes We describe a method for notifying users through auditory cues embedded in an ambient soundscape in the environment. It uses pieces of music which are composed in such a way, that particular instruments or motifs can be added or omitted without losing the aesthetic quality of the overall composition. This allows for very subtle modifications in the soundscape which are only noticed by those users who have chosen this particular instrument or motif as "their" notification instrument before. As a side effect, the soundscape itself can be used to subtly influence the mood of users. The method has been implemented in a prototype, which we briefly discuss. The prototype is implemented using a spatial audio framework and can hence notify users from particular directions. The auditory sense is still mostly neglected in today's user interfaces. Graphical interfaces use simple pieces of sound in order to provide feedback for interaction or to notify users of certain events, such as errors, warnings or successful execution of a command. Even if these sounds adhere to a common theme, they still stand for themselves and are neither integrated into a coherent soundscape or composition, nor. Copyright is held by the author/owner. IUI'05, January 9-12, 2005, San Diego, California, USA. ACM 1-58113-894-6/05/0001. coordinated with other sounds present in the environment. In the vision of ubiquitous computing, the user interfaces are part of our everyday environments. For the acoustic part of the interface this means, that it has to be integrated into or coordinated with existing sounds. Already today, music is used in shopping malls to subtly influence customers, lift their mood, and hence increase consumer spending. The music used in these environments, snidely called "elevator music", is perceived only peripherally. If the background music plays a tune which we particularly like or dislike, it often crosses the border from peripheral to conscious perception and we suddenly become aware of it.. In our research, we try to create this same effect by providing a permanent soundscape which eventually vanishes into peripheral perception, but comes back to consciousness only for a particular user, as soon as it contains certain elements which this user has been trained to observe beforehand. We have presented an approach for the acoustic notification of users in ambient soundscapes. The main contribution of our research is that we can provide notifications to one user while others remain undisturbed, and that these notifications happen within a consistent soundscape in an aesthetically seamless way. We have implemented a prototype system using our approach and had very positive first results.. In order to fully verify it, we will conduct a user study with groups of two simultaneous users with different stimuli and try to verify that one user is effectively notified while the other one remains undisturbed. It will also be interesting to verify notification speed and effectiveness in comparison with regular (non-musical) notification sounds. Kilander and Lönnqvist have used natural sounds in their work on weakly intrusive ambient soundscapes [2] . These sounds blend into the natural noise of the surroundings and the degree of their intrusiveness can be regulated. They are, however, chosen arbitrarily and don't belong to a common theme, metaphor or composition. In our work we use notification sounds integrated into composed music. Mynatt et al. used voice, music, sound effects or a combination of these as notification sounds in their audio aura system [3] . In terms of music they used different short melodies carrying different meanings. They were not integrated into a comprehensive composition playing continuously.. The composition and arrangement of musical patterns and songs is the only way to ensure full control of all music factors. Different methods have been used for automatic composition of music, such as grammars, finite state automata or constraints. Roads [4] provides an overview of these techniques. Zimmermann [1] developed a system for automated music composition in order to assist multi media presentations. In our research we use music composed by humans, but let the system determine the mix of different pre-produced parts.

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


Secrecy in multiagent systems We There have been many attempts in the past two decades to define what it means for a system to be perfectly secure, in the sense that unclassified, or "low-level" agents are unable to deduce anything about the actions or state of classified, or "high-level" agents. These attempts include nondeducibility [22] , noninterference [7, 13] , selective interleaving functions [15] , separability [15] , nondeducibility on strategies [23] , probabilistic noninterference [9, 8] , as well as more recent approaches based on process algebras such as CCS [5] and CSP [17, 19] . Despite this abundance * Authors supported in part by NSF under grant IRI-96-25901 and IIS-0090145, by ONR under grants N00014-00-1-03-41 and N00014-01-10-511, and by the DoD Multidisciplinary University Research Initiative (MURI) program administered by the ONR under grant N00014-01-1-0795.. of definitions, there is no widespread agreement on a general model.. In this paper, we provide such a model, by taking a somewhat different approach to the problem. We define a general notion of secrecy in multiagent systems. More specifically, we define what it means for the actions and state of one agent to be kept secret from some other agent. Our definition is based on Sutherland's notion of nondeducibility. Sutherland's definition has been criticized by McLean [14] both for treating the high and low-level agents symmetrically and for not being general enough, and by Wittbold and Johnson [23] for ignoring the role of strategies. We argue that all these criticisms are unfounded.. Although our work builds on previous work on noninterference and information flow, we use the term "secrecy" partly because the term "noninterference" is overloaded and partly because we are interested in a broader class of "secrets" than those considered by traditional definitions of noninterference.. We present our notion of secrecy within the context of the runs and systems model [4] , where a run (or execution sequence) of a system is represented by a sequence of global states, each of which consists of the local states of the individual agents in the system. This model can be viewed as a generalization of the standard trace-based model, which has often been used in security (see, for example, [15] ). This added generality is important because it allows us to reason about an agent's initial information and how it changes over time. The trace-based approach has been concerned primarily with the input and output values exchanged as a user or observer interacts with the system; using this approach, it is possible to define secrecy only for systems that can be characterized by observable input and output events. As pointed out by Focardi and Gorrieri [6] , it is difficult to deal with issues such as deadlock using a trace-based approach. It is also difficult to deal with the whole spectrum of behavior between synchronous systems and completely asynchronous systems (a problem that seems to be shared by process-algebra approaches). As we shall see, the added generality of local and global states lets us deal with these issues in a straightforward way.. We show that a number of previous notions of security, such as noninterference, nondeducibility on strategies, and separability, are special cases of our notion of secrecy. In doing so, we are able to clarify a number of subtleties, especially regarding the relationship between noninterference and assumptions of timing and synchrony. However, our framework lets us go well beyond the earlier notions of security. In addition, the framework can be cleanly extended to handle probabilistic security, as we show. Perhaps more important, it lets us make precise the intuition that a secret is something that the agent (or some set of agents) should never be allowed to know. If a classified user of a system has a secret cryptographic key, for example, this key should be kept secret from unclassified users. In any secure, multiagent system, there are likely to be a wide variety of facts that must be kept secret from various agents. We show how such secrecy requirements can be captured in a precise way, both at a semantic level and syntactically, using a modal logic of knowledge. At a syntactic level, we say that a formula ϕ is kept secret from an agent a if a never knows that ϕ is true. The task of a "secrecy administrator" is then to determine which formulas must be kept secret from various agents. In this way, we get a fine-grained tool that can be used to characterize secrecy requirements.. The rest of the paper is organized as follows. Section 2 reviews the multiagent systems framework and the definition of knowledge in multiagent systems. In Section 3, we give our definition of secrecy and discuss its relationship to Sutherland's notion of nondeducibility. In Section 4, we consider syntactic definitions of secrecy, using a logic of knowledge. Section 5 considers probabilistic secrecy. In Section 6, we compare our notions to some of the other definitions of security in the literature. We conclude in Section 7. Due to lack of space, many proofs are deferred to the full paper, or only sketched here. We have defined general notions of secrecy in multiagent systems, and shown the connection between our definitions and standard epistemic notions. We then applied the definition to the problem of characterizing absence of information flow.. Of course, we are not the first to attempt to provide a general framework for analyzing security properties. (See, for example, [6, 12, 15, 19, 24] for some other attempts.) However, we believe that our definitions come closer to the intuitions that people in the field have had, since those intuitions are often expressed in terms of (a lack of) knowledge. Our approach has a number of other advantages over previous approaches:. • As we have shown, it can be easily extended to deal with probabilistic secrecy.. • It can deal with the whole spectrum from synchrony to total asynchrony, without assuming a specific underlying system model.. • It can be generalized to deal with more specific security concerns, so that we can talk about the secrecy of a particular formula as well as total secrecy.. • The characterization in terms of knowledge allows extensions to resource-bounded knowledge, which seems appropriate for dealing with security in the presence of resource-bounded adversaries.. There are a number of possibilities for future work; we highlight a few of them here.. • It would be interesting to apply model-checking algorithms to checking whether (finite-state) systems preserved security properties expressed in terms of knowledge.. • Compositionality has been an important concern in security that we have not addressed at all. (See [13, 15] for some early work on compositionality.) It would be interesting to understand the extent to which our notions are preserved under composition.. • An investigation of the general relationship between our systems-based approach and the process-algebra approaches discussed in Section 6.5 could yield numerous benefits. For one thing, as we said before, it would be useful to compare formally the expressive power of the various approaches. It may also be possible to combine the benefits of the process-algebra approach with those of the approach that we are advocating here. For example, a process can be viewed as a compact way of specifying a system. This suggests that perhaps the tools of process algebra can be brought to bear on verifying secrecy as we have defined it. This seems like a promising line of further research. In this section, we consider how our definition relates to other attempts to define security. We show in particular how it can capture work that has been done in the synchronous setting, the asynchronous setting, and the probabilistic setting. We also discuss its relationship to the process-algebra approach to security.

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


Image Compression for Fast Wavelet-Based Subregion Retrieval In an image browsing environment there is need for progressively viewing image subregions at various resolutions. We describe a storage scheme that accomplishes good image compression, while supporting fast image subregion retrieval. We evaluate analytically and experimentally the compression performance of our algorithm. We also provide results on the speed of the algorithm to demonstrate its e ectiveness, and present an extension to a client=server environment. Wavelet-based algorithms have become prominent in many areas of applied sciences, such as signal and image processing. A two-dimensional wavelet transform maps a given image to another that resembles the original, with half the resolution. Three additional coe cient matrices are also created. These matrices combined with the resembling image, can reproduce the original image by a two-dimensional inverse wavelet transform. (This inverse transform is also referred to as reconstruction, while the ÿrst transform is referred to as decomposition. See Fig. 1 .) The decomposition can be applied to the resembling image recursively to produce smaller and smaller images, to a prescribed maximum depth. The smallest resembling image created is referred to as a thumbnail. Instead of the original image, this thumbnail and a set of coe cient matrices are stored.. In the Alexandria Digital Library (ADL) project [3] at UC Santa Barbara, wavelets are used to support hierarchical image storage and browsing. In this paper we describe and analyze a compact scheme to store quantized coe cient matrices produced by wavelet decomposition. We brie y discuss the necessity of this scheme for the ADL environment: 1. There is a large number of satellite images and air-photos of average size 30 MBytes. Therefore the storage scheme must be compact to achieve a good compression ratio. Typically, real-valued wavelet coe cient matrices produced by the decomposition algorithm are quantized before images are ready for storage and retrieval. The challenge is to ÿnd the right coding for quantized coe cient matrices. 2. At high resolutions the size of an image in ADL is usually too large to browse.. Common user requests are to access subregions of images. Therefore, the storage scheme should provide a means for fast subregion retrieval.. A request for an image subregion at some resolution translates to requests for subregions from stored coe cient matrices plus a reconstruction computation (see Fig. 2 ). Typical compression algorithms do not support subregion retrieval: to retrieve a subregion all the values may need to be uncompressed. To solve this problem, indexing on the compressed data has been proposed (e.g. [5] ). The disadvantage is that indexing structures need extra space to be stored, thus deteriorating the compression performance.. In this paper we describe a quadtree-based indexing that is not external to the compression algorithm but contributes to the compression itself, thus eliminating the need for extra storage space for indexing.. There have been several applications of quadtrees to image compression (e.g. [9, 12] ). These typically involve dividing an image into blocks such that some type of averaging can be performed in the block without introducing too much error. Our approach in the use of quadtrees is di erent: We construct a quadtree for the quantized coe -cient matrices obtained from a wavelet transform. There is no error introduced since no averaging is performed. Errors are only introduced by the application of wavelet transforms and quantization.. There is extensive research on selecting an appropriate wavelet transform (e.g. [1, 6] ), and on the quantization that will provide compression by minimizing the bit allocation, while preserving high image quality (e.g. [4, 10] ). To further reduce storage requirements, often an extra phase of compression is applied to quantized values, typically using entropy coding, hybrid schemes using runlength=Hu man coding [1] , or other methods such as EZW [8] and SPIHT [7] . Our scheme provides an alternative technique for this phase, which results in similar compression performance but with superior retrieval speeds.. In Section 2 we give a description of the storage scheme and the algorithm used to retrieve subregions from the compressed data. In Section 3 we analytically evaluate the compression performance of the scheme and experimentally compare it with other popular compressions like JPEG. In Section 4 we experimentally show that the indexing incorporated in our scheme allows faster image subregion retrieval. In Sections 5 we describe how the algorithm adapts to a client=server environment. We have implemented an encoding scheme that provides both good compression and fast retrieval of subregions of an image. We observed from the experiments that the compression ratio is better than popular compression schemes like JPEG and similar to that obtained using other hybrid compression schemes that do not provide indexing. We also provided analytical evaluation of the compression behavior. Our use of the quadtrees produces an indexing mechanism in a natural way while it performs a compression to eliminate blocks of zeros. The retrieval times for the subimages shows that our scheme produces a signiÿcant beneÿt due to its indexing capability. We have extended the scheme to a distributed environment, where the various computational tasks can be performed either on the client or the server side. Assume that the matrix has dimensions 2 n × 2 n for some integer n¿2, and that initially there are z zeros scattered in the matrix randomly and independent of each other. Then there are at most n partitioning phases (levels) in the quadtree scheme where blocks of di erent size are examined to see if they are composed of zeros. Level l is the phase in which blocks of dimension 2 l × 2 l are examined. Obviously 06l6n, but for performance reasons level l = 0 is not considered.. In order to compute the compression performance of this quadtree, we need to know, at each level l, the number of blocks A l that are found to be composed of zeros. The larger the number of reduced blocks is and the higher level they are found, the better the contribution of the quadtree to the compression is.. Let R l be the combined size of the areas which are not reduced in levels higher than l. Obviously R n = 2 2n , and. Let Z l be the number of zeros not reduced till level l. It is useful to use S l = 2 2l to denote the size of the areas that are examined at level l. Finally, let C l be the number of the candidate for reduction areas at level l. Then Z l = z − (R n − R l ) and C l = R l =S l . Fig. 7 . Quadtree-based partition and reduction on a 2 n × 2 n matrix. From left to right are levels n − 1, n − 2 and n − 3. Darker areas consist of non-zeros.. Example. Consider the matrix in Fig. 7 . At level n − 1 4 blocks, each of size 2 2(n−1) , are examined, but none is reduced. Therefore, S n−1 = 2 2(n−1) ; C n−1 = 4; A n−1 = 0. At level n − 2 9 blocks are found to consist of zeros and are reduced. Therefore, S n−2 = 2 2(n−2) ; C n−2 = 16; A n−2 = 9 and R n−3 = 2 2n − 92 2(n−2) . At level n − 3S n−3 = 2 2(n−3) ; C n−3 = 28; A n−3 = 11 and R n−4 = 2 2n − 92 2(n−2) − 112 2(n−3) .. 3.1.1. Probability distribution of A l A l is a random variable that takes values from the set {0; 1; : : : ; C l }. Our aim is to express its distribution in terms of Z l ; S l and C l . All of them can be expressed in terms of l and R l . Given (1), we hope then to be able to compute characteristics of all the A l 's given just n and z.. The total number of ways to distribute Z l zeros among C l blocks of size S l each is. c; s be the number of ways to distribute m zeros in c blocks of size s each, such that no block is full of zeros. The number of ways to distribute Z l zeros among C l blocks of size S l each such that exactly i of them are full of zeros is. We need to ÿnd B m c; s . Let . Eq. (3) does not seem promising for simpliÿcation or appropriate for computation, and nor does (2) . Passing to expected values,. The numerator is. The inner sum is. The Vandermonde's convolution states that i r i s n − i = r + s n ;. for integer n. If we apply it to the above expression it becomes C l k−2 k−1 . This is 0 for all k, except for k = 1 when it becomes C l . Substituting in (5) gives. Eq. (4) now becomes Fig. 8 illustrates how good an estimation E(A l ) is for the actual value of A l . The peaks in the ÿgure appear narrow enough to justify the use of E(A l ) instead of A l . The quality of this estimation can actually be measured: in a similar way E(A l ) was computed, we can compute the variance, A 2 l , of A l .. The numerator of the ÿrst term is. The inner sum is . which is 0 for all k, except for k = 2 when it becomes C l (C l − 1). Substituting in (8) gives and then (7) becomes. As Fig. 9 illustrates, when the number of zeros becomes large the expected number of blocks that are reduced grows rapidly and the actual number is very close to the expected (the variance becomes smaller rapidly). As discussed in the previous chapter, after the wavelet decomposition and the quantization of the coe cients, the number of zeros in the coe cient matrices is indeed large. This justiÿes the combination of quadtrees and wavelet transforms as a compression scheme.

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


Modeling hidden topics on document manifold Topic modeling has been a key problem for document analysis. One of the canonical approaches for topic modeling is Probabilistic Latent Semantic Indexing, which maximizes the joint probability of documents and terms in the corpus. The major disadvantage of PLSI is that it estimates the probability distribution of each document on the hidden topics independently and the number of parameters in the model grows linearly with the size of the corpus, which leads to serious problems with overfitting. Latent Dirichlet Allocation (LDA) is proposed to overcome this problem by treating the probability distribution of each document over topics as a hidden random variable. Both of these two methods discover the hidden topics in the Euclidean space. However, there is no convincing evidence that the document space is Euclidean, or flat. Therefore, it is more natural and reasonable to assume that the document space is a manifold, either linear or nonlinear. In this paper, we consider the problem of topic modeling on intrinsic document manifold. Specifically, we propose a novel algorithm called Laplacian Probabilistic Latent Semantic Indexing (LapPLSI) for topic modeling. LapPLSI models the document space as a submanifold embedded in the ambient space and directly performs the topic modeling on this document manifold in question. We compare the proposed LapPLSI approach with PLSI and LDA on three text data sets. Experimental results show that LapPLSI provides better representation in the sense of semantic structure. Document representation has been a key problem for document analysis and processing [8] [10] [11] . The Vector Space Model (VSM) might be one of the most popular models for document representation. In VSM, each document is represented as a bag of words. Correspondingly, the inner product (or, cosine similarity) is used as the standard similarity measure for documents or documents and queries. Unfortunately, it is well known that VSM has severe drawbacks, mainly due to the ambiguity of words (polysemy) and the personal style and individual differences in word usage (synonymy).. To deal with these problems, IR researchers have proposed several dimensionality reduction techniques, most notably Latent Semantic Indexing (LSI) [8] . LSI uses a Singular Value Decomposition (SVD) of the term-document matrix X to identify a linear subspace (so-called latent semantic space) that captures most of the variance in the data set. The general claim is that similarities between documents or between documents and queries can be more reliably estimated in the reduced latent space representation than in the original representation. LSI received a lot of attentions during these years and many variants of LSI have been proposed [1] [20] .. Despite its remarkable success in different domains, LSI has a number of deficits, mainly due to its unsatisfactory statistical formulation [12] . To address this issue, Hofmann [11] proposed a generative probabilistic model named Probabilistic Latent Semantic Indexing (PLSI). PLSI models each word in a document as a sample from a mixture model, where the mixture components are multinomial random variables that can be viewed as representations of "topics." Each document is represented as a list of mixing proportions for these mixture components and thereby reduced to a probability distribution on a fixed set of topics. This distribution is the "reduced representation" associated with the document. The major disadvantage of PLSI is that it estimates the probability distribution of each document on the hidden topics independently and the number of parameters in the model grows linearly with the size of the corpus. This leads to serious problems with overfitting [16] [5] [19] . Latent Dirichlet Allocation (LDA) is then proposed to overcome this problem by treating the probability distribution of each document over topics as a K-parameter hidden random variable rather than a large set of individual parameters, where the K is the number of hidden topics.. Both of the above two topic modeling approaches discover the hidden topics in the Euclidean space. However, there is no convincing evidence that the documents are actually sampled from a Euclidean space. Recent studies suggest that the documents are usually sampled from a nonlinear low-dimensional manifold which is embedded in the high-dimensional ambient space [10] [23] . Thus, the local geometric structure is essential to reveal the hidden semantics in the corpora.. In this paper, we propose a new algorithm called Laplacian Probabilistic Latent Semantic Indexing (LapPLSI). LapPLSI considers the topic modeling on the document manifold. It models the document space as a submanifold embedded in the ambient space and directly perform the topic modeling on this document manifold in question. By discovering the local neighborhood structure, our algorithm can have more discriminating power than PLSI and LDA. Specifically, LapPLSI first builds an nearest neighbor graph to model the local document manifold structure. It is natural to assume that two sufficiently close documents have similar probability distribution over different topics. The nearest neighbor graph structure is then incorporated into the log-likelihood maximization as a regularization term for LapPLSI. In this way, the topic model estimated by LapPLSI maximizes the joint probability over the corpus and simultaneously respects the local manifold structure.. It is worthwhile to highlight several aspects of our proposed algorithm here:. 1. The conventional generative probabilistic modeling approaches, e.g., PLSI and LDA, discover the hidden topics in the Euclidean space. Our approach considers the problem of topic modeling directly on the document manifold in question and discovers the hidden topics.. 2. The graph Laplacian used in our algorithm is a discrete approximation to the Laplace-Beltrami operator defined on manifold. By discovering the local neighborhood structure, our algorithm can have more discriminating power than PLSI and LDA.. 3. Our algorithm constructs a nearest neighbor graph to model the intrinsic structure in the data, which is unsupervised. When there is network structure available, e.g. hyperlink between Web pages, it can be naturally used to construct the graph.. The rest of the paper is organized as follows: in Section 2, we give a brief review of topic modeling with PLSI and LDA. Section 3 introduces our algorithm and give a theoretical analysis of the algorithm. Extensive experimental results on document modeling and document clustering are presented in Section 4. Finally, we provide some concluding remarks and suggestions for future work in Section 5. We have presented a novel method for topic modeling, called Laplacian Probabilistic Latent Semantic Indexing (LapPLSI). Lap-PLSI models the document space as a submanifold embedded in the ambient space and directly performs the topic modeling on this document manifold in question. As a result, LapPLSI can have more discriminating power than traditional topic modeling approaches which discover the hidden topics in the Euclidean space, e.g. PLSI and LDA. Experimental results on document modeling and document clustering show that LapPLSI provides better representation in the sense of semantic structure.. Several questions remain to be investigated in our future work:. 1. There is a parameter λ which controls the smoothness of our LapPLSI model. LapPLSI boils down to original PLSI when λ = 0. Also, it is easy to see that P (z k |di) will be the same for all the documents when λ = +∞. Thus, a suitable value of λ is critical to our algorithm. It remains unclear how to do model selection theoretically and efficiently.. 2. We consider the topic modeling on document manifold and develop our approach based on PLSI. The idea of exploiting manifold structure can also be naturally incorporated into other topic modeling algorithms, e.g., Latent Dirichlet Allocation.. 3. It would be very interesting to explore different ways of constructing the document graph to model the semantic structure in the data. There is no reason to believe that the nearest neighbor graph is the only or the most natural choice. For example, for web page data it may be more natural to use the hyperlink information to construct the graph.

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


An approximate truthful mechanism for combinatorial auctions with single parameter agents Mechanism design seeks algorithms whose inputs are provided by selfish agents who would lie if advantageous. Incentive compatible mechanisms compel the agents to tell the truth by making it in their self-interest to do so. Often, as in combinatorial auctions, such mechanisms involve the solution of NP-hard problems. Unfortunately, approximation algorithms typically destroy incentive compatibility. Randomized rounding is a commonly used technique for designing approximation algorithms. We devise a version of randomized rounding that is incentive compatible, giving a truthful mechanism for combinatorial auctions with single parameter agents (e.g., "single minded bidders") that approximately maximizes the social value of the auction. We discuss two orthogonal notions of truthfulness for a randomized mechanism, truthfulness with high probability and in expectation, and give a mechanism that achieves both simultaneously.We consider combinatorial auctions where multiple copies of many different items are on sale, and each bidder i desires a subset S~. Given a set of bids, the problem of finding the allocation of items that maximizes total valuation is the well-known SETPACKING problem. This problem is NP-hard, but for the case of items with many identical copies the optimum can be approximated very well. To tum this approximation algorithm into a truthful auction mechanism we overcome two problems: we show how to make the allocation algorithm monotone, and give a method to compute the appropriate payments efficiently. The combinatorial auction is one of the basic mechanisms of electronic commerce. Many large-scale combinatorial auctions have also been used recently by the FCC and governmental bodies in Europe and elsewhere to allocate spectrum licenses to mobile phone providers. The FCC auctions alone granted thousands of licenses to hundreds of companies, raising over $40 billion [5] . The sheer magnitude of these spectrum auctions and the rise of electronic commerce have both generated a surge of interest in designing good mechanisms for such combinatorial auctions.. We will consider auction mechanisms (direct revelation auctions) where each bidder i bids a valuation b~ for a set S~ she is interested in. We will assume that each bidder i is bidding for a single set Si, and this set is known to the auctioneer or can be inferred from context. Thus, each agent's only private information is her true valuation for that set. A standard desire in the design of combinatorial auctions is that they be truthful ( We have shown a general technique to modify a linear program rounding algorithm to make it monotone. This gives an approximately efficient truthful (in expectation and with high probability) mechanism for the combinato- [13] rial auction problem with single parameter agents. The simple rounding algorithm can be derandomized using pessimistic estimators [15] . It would be interesting [14] to see if the algorithm can be derandomized maintaining its monotonicity.. Finally, this scheme gives a truthful mechanism for [15] known single-minded bidders; an open problem is to relax this constraint.

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


Almost entirely correct mixing with applications to voting In order to design an exceptionally efficient mix network, both asymptotically and in real terms, we develop the notion of almost entirely correct mixing, and propose a new mix network that is almost entirely correct. In our new mix, the real cost of proving correctness is orders of magnitude faster than all other mix nets. The trade-off is that our mix only guarantees "almost entirely correct" mixing, i.e it guarantees that the mix network processed correctly all inputs with high (but not overwhelming) probability. We use a new technique for verifying correctness. This new technique consists of computing the product of a random subset of the inputs to a mix server, then require the mix server to produce a subset of the outputs of equal product. Our new mix net is of particular value for electronic voting, where a guarantee of almost entirely correct mixing may well be sufficient to announce instantly the result of a large election. The correctness of the result can later be verified beyond a doubt using any one of a number of much slower proofs of perfectcorrectness, without having to mix the ballots again. A mix server is the cryptographic equivalent of a hat. It takes a set of input ciphertexts and outputs related ciphertexts in a random order, in such a way that the permutation that matches input to output ciphertexts is known only to the mix server and no one else. Mix servers were originally proposed by Chaum [5] to implement an untraceable email system, and have since found a wide range of applications. They are notably being used to ensure privacy in electronic voting [22, 26, 12] and anonymous payment systems [14] .. To be useful, a mix server must prove that it has correctly mixed the set of input ciphertexts. That is, a mix server must prove that the set of ciphertexts it outputs matches exactly the set of input ciphertexts it received. Ideally, this proof should not reveal any additional information about the relationship between inputs and outputs. If we consider the example of a mix server mixing votes after an election, the proof of correct mixing guarantees that the mix server neither lost, nor added, nor modified any vote.. Proving that the output of a mix is a permutation of the inputs without compromising the secrecy of the permutation is not easy. The first solutions to this problem were based on computationally expensive zero-knowledge proofs. Much work has since been devoted to making the proofs more efficient both asymptotically and in real terms (we review related work in the following section). However, even the fastest mix [20] is still too slow to prove correctness in real time when the number of inputs is large. For instance, we estimate that to prove that one million votes have been mixed correctly would require some 20 hours on a 1GHz PC. In effect, existing mix servers are too slow to mix non-trivial numbers of inputs in real time.. In this paper, we propose an exceptionally efficient new method for proving that the output produced by a mix network is almost entirely correct. The real cost of generating a proof of almost entirely correct mixing, measured by the number of exponentiations required, is a small constant independent of the number of inputs mixed. In practice, our new mix produces an instant proof of almost entirely correct mixing. In comparison, the fastest proofs of perfectly correct mixing require work linear in the number of inputs.. Almost entirely correct mixing means that the mix network provably processed correctly all inputs with high (but not overwhelming) probability. For example, a typical application of our mix would be to give an instant proof that the outcome of an election involving one million ballots is correct with probability 99%. This guarantee may well be enough to announce the result of the election early, while a much slower perfectly correct proof runs to validate the result beyond a doubt.. We use a new technique to verify that the output of a mix server is almost entirely correct. This new technique consists of first computing the product π S of a random subset S of the inputs of the mix server, then revealing the subset S to the mix server and requesting it to produce a subset S of the outputs such that π S = πS. Observe that an honest mix server can find S simply by applying to S the permutation that matches mix inputs to mix outputs. On the other hand, we will show in sections 6 and 7 that the problem of finding S such that π S = πS becomes often impossible if the set of outputs produced by the mix server is not a permutation of the inputs.. The most important application of our new proof is in large electronic elections (with one million votes or more), where it may be used to guarantee almost instantly that the output produced by the mix is almost entirely correct. This guarantee will often be enough to announce the result of the election instantly. We can use in parallel to our proof any one of a number of slower proofs of perfect-correctness without having to mix the ballots again (the voters themselves, of course, need not be involved again). What makes this possible is that our proof works with the fastest and also most common implementation of mix networks: ElGamal re-encryption mix nets (see section 2.1).. The rest of this paper is organized as follows. In section 2, we define mix networks and their properties, as well as re-encryption mix nets. In section 3, we survey existing techniques for proving the correct execution of mix nets. We introduce our mechanism for proving almost entirely correct mixing in section 4. In section 5, we propose a new mix network protocol based on a proof of almost entirely correct mixing and examine the properties of this mix net in section 6. In section 7, we prove that our mix net is almost entirely correct. We conclude in section 8. The strongest point of our new mix network is its exceptional speed. The real cost of proving almost entirely correct mixing is orders of magnitude faster than all other mix networks. An almost entirely correct output is available instantly and can be announced long before it is confirmed by a slower perfectly correct mix network.. In practice, our new mix is of particular interest to large electronic elections (say, a million ballots or more), where a guarantee of almost entirely correct mixing may well be sufficient to announce the outcome of an election pending confirmation by a slower perfectly correct mixnet. This additional proof of perfect correctness does not require the ballots to be mixed again, and of course doesn't require any involvement from the voters.. We propose the first construction that exploits a trade-off between efficiency and correctness. An interesting direction for future work would be to study this trade-off further. In particular, it would be interesting to determine whether it is possible to build mix nets that span the entire continuum of the trade-off between efficiency and correctness. The main difficulty of re-encryption mixnets lies in designing computationally efficient ways for mix servers to prove that they mixed and re-encrypted their inputs correctly in the mixing phase. We survey here some techniques that are representative of the progress made and compare the efficiency of these techniques in Figure 1 . The table in Figure 1 compares the real cost per server (for a total of k servers) of mixing n items. The cost is expressed as the number of exponentiations required to re-encrypt the inputs, verify correctness and decrypt the outputs. We do not take into account the cost of operations such as additions and multiplications that are much faster to perform than exponentiations. Where applicable, the table also mentions what trade-off is made for efficiency.. The first methods to prove the correctness of the mixing were based on cut-and-choose zero-knowledge proofs [26, 21, 1] . Though much work went into designing efficient customized zero-knowledge proofs, these schemes remain computationally expensive. To make the proofs more efficient, an approach proposed independently by Millimix [16] and MIP-2 [2, 3] is to decompose a permutation on n elements into n log n pairwise permutations called comparitors. The mix server then proves correct execution of all the comparitors one by one, which can be done efficiently with a variant of the Chaum-Pedersen [6] protocol that proves equality of discrete logarithms. The schemes recently proposed by Furukawa and Sako [9] , and Neff [20] offer yet more efficient proofs of correct mixing.. We now compare in more detail our new mix net to the two schemes to which it is closest: Randomized Partial Checking [18] and Optimistic Mixing [11] . Randomized Partial Checking (RPC) trades-off some privacy for more efficiency: correctness is verified by asking each mix server to reveal a randomly selected fraction of its input/output relations. This guarantees with high probability that all but an exponentially small number of inputs were processed correctly by the mix server. On the downside, RPC offers a weaker guarantee of privacy. Since each mix server reveals a fraction of its input/output relations, privacy becomes a global property of the mix network: a majority of honest mix servers is required to ensure privacy, rather than a single mix server. To achieve the same confidence in privacy, RPC requires the involvement of many more servers than the schemes we have previously surveyed.. While our mix net bears some resemblance to RPC, it exploits mostly a different trade-off. RPC trades off mostly privacy (and some correctness) for efficiency, while our scheme trades off mostly correctness (and a little privacy) for efficiency. Contrary to RPC, a mix server in our scheme does not reveal individual relationships between inputs and outputs, but only the global relationship between a large subset of the inputs and a large subset of the outputs. Like RPC, our mix offers perfect privacy if there is an honest majority of mix servers. But unlike RPC, our mix preserves some privacy even when there is only a single honest mix server. In the case of a single honest mix server, as we show in section 6, every input is hidden among n/2 α outputs on average, where n is the total number of inputs and α is the security parameter (e.g. α = 4). On the downside, our mixnet does not guarantee perfect correctness but must rely on the parallel execution of a slower verification protocol to guarantee perfect correctness.. Finally, a proof technique similar to ours is used in [11] to build a mix network with different properties. The proof of correctness in [11] consists of a proof that the product of all the inputs equals the product of all the outputs of the mix server. This, combined with redundancy checks in the inputs, guarantees perfect correctness. As in our scheme, the cost of the proof is independent of the number of inputs mixed. But on the downside, the redundancy checks in the inputs (which guarantee perfect correctness) result in a cost of mixing and decrypting that is more than twice as high as in all other re-encryption mix networks.. To summarize, our mix has the lowest total computational overhead for mixing n inputs. In particular the number of exponentiations required to prove correct mixing is a constant independent of the number of inputs. Our scheme guarantees only almost entirely correct mixing: any error in the output is detected with probability 99% whereas perfectly correct mixes provide standard guarantees of correctness of 1 − 2 80 . Our scheme also trades off a little privacy (see section 6).

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