Three-dimensional proxies for hand-drawn characters Drawing shapes by hand and manipulating computer-generated objects are the two dominant forms of animation. Though each medium has its own advantages, the techniques developed for one medium are not easily leveraged in the other medium because hand animation is two-dimensional, and inferring the third dimension is mathematically ambiguous. A second challenge is that the character is a consistent three-dimensional (3D) object in computer animation while hand animators introduce geometric inconsistencies in the two-dimensional (2D) shapes to better convey a character's emotional state and personality. In this work, we identify 3D proxies to connect hand-drawn animation and 3D computer animation. We present an integrated approach to generate three levels of 3D proxies: single-points, polygonal shapes, and a full joint hierarchy. We demonstrate how this approach enables one medium to take advantage of techniques developed for the other; for example, 3D physical simulation is used to create clothes for a hand-animated character, and a traditionally trained animator is able to influence the performance of a 3D character while drawing with paper and pencil. Animators adopt many different media to make their characters move and emote; some favor sketching with a pencil, others like to manipulate armatures, sculpt clay, move paper cutouts, or pose 3D computer-generated skeletal rigs. Each medium has advantages and disadvantages, and requires that the artist develop a medium-specific set of skills to create a visually compelling end-product [Lasseter 1994] . In this work, we consider the differences between 2D handdrawn animation and 3D computer-generated animation.. Sketching the basic idea with a pencil is quick, but art directing hand-drawn animations is cumbersome. For example, if the director wants a change in how the lead character's skirt swishes, the animator has to redraw the skirt for every frame. In contrast, the medium of 3D computer animation makes many components easily modifiable; the clothes can be resimulated, the viewing camera can be moved, and the lighting can be changed with little work on the part of the artist. This modifiability comes at the cost of increased initial effort to set up the scene and dynamic simulations, yet it enables 3D computer animation to be more easily art-directed than traditional hand-drawn animation.. The skills involved in hand-drawn animation and 3D computer animation are different too. Traditional animators are trained to communicate the movement of the character through pencil strokes [Johnston and Thomas 1995] . In contrast, 3D artists are skilled at using computer software and at manipulating curves, control points, and inverse kinematics handles to construct a performance for their character.. These observations motivate the question addressed in this article: how can we connect these two different media so as to leverage the programmability of 3D computer animation in the hand-drawn medium, and the unique talent pool of traditional animators in the 3D computer-generated medium? The challenge here is that the elements of 3D computer animation and 2D hand-drawn animation are fundamentally incompatible; the character exists as a consistent 3D object in the former, while 2D artists routinely introduce inconsistencies in their drawings to add expressiveness to the character [Rademacher 1999 ]. There may, in fact, be no consistent geometry that can be used to accurately describe a hand-drawn character from all points of view, or to define the imaginary camera used by the artist to create her drawing.. We propose that hand-drawn characters be represented by 3D proxies with different levels of detail. In Figure 1 , we arrange the 3D proxies that can be created for a given hand-drawn animation according to increasing level of detail. For example, if we wanted to attach a simulated balloon onto the wrist of a hand-drawn character ( Figure 1 , top row), the level of detail for the 3D proxy would be a plausible 3D trajectory for a chosen point (wrist marker) on the 2D hand-drawn character: the single-point 3D proxy. Attempting to reconstruct the full 3D pose, minimizing an objective function with rigidity constraints, or enforcing good ground contact models The next level is approximate cylindrical models for those body parts which interact with 3D scene elements. The third level is a hierarchical joint model, which can be rigged, skinned, lit, and placed in a 3D scene.. would not only be excessive, but might minimize extraneous error terms at the expense of introducing error in the trajectory that will be visible in the final animation.. The next higher level of detail would be an approximate 3D model composed of tapered cylinders and spheres. These 3D proxies are well-suited to drive simulated effects like cloth and fluids, without having to fit exactly to the hand-drawn pencil strokes, because they will only provide the driving signal and will never be directly rendered. Here, the objective is to track points of contact precisely, and approximate the rest of the character with polygonal shapes, for example, precisely tracking points on the wrist so that the scarves appear to be attached to the ballerina, but approximating the arms as tapered cylinders (Figure 1 , middle row).. Finally, transferring the style of the hand-drawn animation onto a hierarchical 3D joint model would allow traditionally trained animators to control a classic skeleton-based 3D character; animators who think in terms of pencil lines would be able to puppeteer 3D characters that can also be rigged, skinned, lit, and accessorized with simulated clothes (Figure 1 , bottom row). Here, smoothness and naturalness of motion take on more importance than accurately tracking image pixels.. In this article, we present an integrated approach to generate three levels of 3D proxies for a hand-animated character: the singlepoint proxy, the tapered cylinder model, and the hierarchical joint model. We frame the solution as a least squares minimization and show that by reformulating the terms of the minimization according to the level of detail desired in the 3D proxy, we can generate these proxies for a hand-drawn character. Earlier versions of this work were presented by Jain and colleagues [2009, 2010] . Here, we generalize the technique and more extensively evaluate the various underlying assumptions.. We have made certain design choices with the standard animation pipeline in mind; when choosing inputs for the system, we employ user interaction that can be reasonably integrated into the traditional animation workflow. We present results on a variety of hand-drawn animated characters, ranging from stick figures to a ballerina with human shaped limbs, and evaluate the system through synthetic tests and hand-animations that stretch the underlying assumptions. In this work we have shown that connecting hand-drawn animation with 3D computer animation offers many advantages; simulating physically-driven clothes for a hand-drawn character, for example, or empowering traditionally trained animators to contribute to a 3D character's performance. This connection is made possible by generating a 3D representation, or proxy, for the 2D hand-drawn character, and allowing the proxy to interact with the other scene elements in the 3D virtual world. Our key observation is that we should create different levels of detail in the 3D proxy for different • 8:13 Fig. 20 . We compare the ground-truth walk (black, top row) with our result (purple, middle row), and the motion capture segment which provided z-depth information (green, bottom row). This motion capture segment is a "happy walk", where the actor walked in the same direction but swung his arms and legs higher to communicate happiness. Even though the 3D marker positions for the motion capture poses are quite different, the result is close to the ground-truth pose because the motion capture poses provide only depth. Fig. 21 . We compare the ground-truth walk (black, top row) against our result (purple, middle row), when z-depth information is provided by a "curved walk" motion capture segment (green, bottom row). Because the motion capture poses curve towards the camera, the z-depth values are not the same as the z-depth values for the ground-truth poses. We can see that our result also curves towards the camera because the result poses have the same z-depths as the motion capture poses. levels of interaction between the hand-drawn character and the 3D scene elements.. We reformulate three basic error terms for each level of detail and show that they may be linearized and thus, minimized in closed form. The first error term, the input-match term, causes the 3D proxy to follow the hand-animation. A limitation of our method is that the skeletal model 3D proxy will follow the style of the handdrawn animation in the upper body movement, but will move like the motion capture segment in the lower body. For example, if the handdrawn ballerina lifts her leg higher than the motion captured actor in attitude derrière (Figure 23, top row) , then the 3D proxy ballerina will not match the hand-drawn leg pose exactly. This mismatch occurs because the skeletal model 3D proxy is generated by backprojecting the modified motion capture poses. The lower body limbs are not modified with the pose descriptor because rotating the leg and feet segments would result in loss of ground contact. The handdrawn character is proportioned differently than the motion capture model, and its body proportions also vary across the frames of the hand-drawn sequence. Therefore, the lost ground contact cannot trivially be corrected by a global translation of the pelvis. This limitation of the pose descriptor can be alleviated in part by having a large motion capture database from which to select the motion priors. Alternately, we could plant the feet explicitly, and solve for a skeleton via nonlinear optimization. As this is susceptible to local minima solutions, future work would be to linearize such constraints.. The motion prior error term provides a data-driven prior for inferring the z-depth. Our method is thus limited to hand-animations 8:14. • E. Jain et al. of human-like characters, or nonhumanoid characters for which 3D animated motion priors were available by keyframing. Though our method uses a contiguous motion capture sequence, techniques such as time warping, retargeting, motion blending, and motion resequencing would allow the generation of better motion priors for a given hand-animation (using, for example, Gleicher [1998] , Lee et al. [2002] , Baran et al. [2009] , Ikemoto et al. [2009] , Zhao and Safonova [2009] ).. An advantage of drawing on motion capture data as a prior is that it keeps the solution well-behaved. In Section 3.4.3, we had minimized the linear system in a low-dimensional subspace and then projected it to full space to obtain the 3D world positions for the virtual markers. We investigated how the solution would change when the number of principal components P was increased. More dimensions allow us to capture finer details, as can be seen in the elbow and wrist angle in Figure 23 . The motion prior keeps the solution well-behaved even in the full-dimensional space. Also, our method does not include nonpenetration constraints as part of the error terms in the minimization. As a result, it is possible for the limbs of the 3D proxy to intersect. Using well-behaved motion capture data as a motion prior alleviates this problem, though it does not guarantee nonpenetration. Simulating tight-fitting clothes, such as a shirt with sleeves, might be difficult as a result of this limitation.. In our method, a user specifies the camera moves implicitly, by selecting a motion capture segment. Thus, if the database contains only an overground walk cycle, and the hand-animation contains the character walking in place (on a treadmill), our method will assume that the character walks overground with a tracking camera. The water balloon result in Figure 14 is an example that stresstests the assumption that the best-matching motion capture segment will be sufficient to estimate the camera imagined by the artist. In the animated movie (included as supplementary material), we see that the estimated camera tracks the character as he walks, but moves very slightly instead of remaining completely stationary when the character ducks. This movement happens because it is not reasonable to find, or capture, a motion capture segment where the actor has ducked with the arms and legs bending exactly in the same order as in the hand-animation; for example, the actor might brace her arms over her head before she bends at the knees. As a result, our camera estimation routine incorrectly infers that the camera should move to account for this mismatch. Future work could incorporate information about camera moves from the shot exposure sheet or add annotation about the world coordinate frame in the process of animating. A possible annotation could be a cube drawn on the ground plane in every frame, thus providing a world reference. As part of preprocessing, in Section 3.2, we proposed a pose descriptor to modify motion capture data. The pose descriptor can be thought of as a shape descriptor that retargets the pose of the hand-drawn figure onto a skeleton proportioned to match the motion capture data. This step allows us to transfer the pose from a hand-drawn ballerina, who may be statuesque, onto a "normal" female actor, or the pose of a goofy character with long arms onto a "normal" male actor, and then use human motion capture data as a motion prior. This pose descriptor preserves in-plane joint angles in its current formulation. A useful future work direction would be to extend it to preserve contacts or other metrics that might better capture the essence of the hand-drawn animation.. Though all our results have used hand-animations as input, we could apply the same concepts to 3D proxies for video sequences; for example, to add a scarf on a person walking outdoors on a windy day. We could draw on the literature in the computer vision and graphics communities on transferring lighting, shadows, and other visual cues to match the added 3D elements to the video elements. An interesting research question would be whether the addition of 3D elements can be made seamless to viewers. Even though we can match the rendering style of the added 3D elements (by toon-shading to match hand-animations, for example), the movement of the 3D elements would need to match the original video or animation as well. For example, physical parameters of the cloth simulation, like gravity and friction, might need to be modified so that the pom-pom and skirt simulations are a better match to the bounciness of the hand-drawn jumping jacks without tangling or crumpling.. We have proposed three different levels of detail in a 3D proxy depends on its function. We could extend this line of thought to more levels of detail, for example, a mesh model that conforms to the artist's lines, thus allowing 3D texture-mapping and lighting techniques to be used for hand-drawn characters. Li and colleagues describe a method to deform a mesh model once the driving skeleton has been modified to match the hand-drawn animation [Li et al. 2003 ]. We could use the method of Section 3.4.1 to match the driving skeleton to markers on the hand-drawn animation, thus automating one of the user inputs in their method. We present results on a variety of hand-animated characters: a ballet dancer, a goofy character doing jumping jacks, a character doing a stylized walk across the screen, a "happy" flower, a little girl twirling, and a character ducking low. The hand animations include stick figures and fully fleshed characters, as well as stationary cameras and tracking cameras. In Figure 11 , the hand-drawn character "holds" a simulated 3D balloon and "kicks" the balls on the ground. The 3D balloon is attached to the single-point 3D proxy for the hand-drawn character, that is, the 3D trajectory of the wrist marker. Cylinder proxies for the feet cause the balls on the floor to move. Figure 12 shows sample frames from the animated sequence of a character performing a stylized walk. The example in the top row shows the deformation of the snow, driven by a 3D cylinder proxy that approximates the character's foot. In the bottom row, the umbrella is attached to the 3D marker for the wrist of the character. Simulated rain splashes and bounces off the 3D umbrella.. Figures 13, 14, and 15 show results with cloth simulations. In Figure 13 , the 3D proxy for the little girl is the tapered cylinder model. The skirt is a cloth simulation driven by the 3D proxy, then 8:10. • E. Jain et al. rendered and composited onto the hand animation. Thus, the simulated skirt appears to be twirled by the hand-drawn little girl. Figure 14 shows a water balloon falling from the sky on a pedestrian. The pedestrian is a hand-animated character. The balloon is a simulated cloth object and the water inside it is comprised of particles. The balloon bursts when it comes in contact with the 3D proxy for the character and we see it snag on his body on subsequent frames. In Figure 15 , two scarves are attached to the wrists of the dancer. The cloth simulation is driven by the three-dimensional trajectory of the wrist proxies, and interacts with the 3D polygons for the body of the ballerina. Figure 16 demonstrates the advantage of leveraging 3D simulation to create secondary motion for a hand animation. Delicate effects like the strands of the pompoms, water splashing in a realistic way, and the bounce of a clothesline would all be time consuming to hand animate to a comparable degree of detail. The pompoms are attached to the character's wrist, while all the other effects use the tapered cylinder 3D proxy for the hand-drawn character.. We also present examples where we have transferred the style of the hand-animation onto hierarchical joint models. The joint model proxies for the stylized walk, jumping jacks, and "happy" flower sequences are compared with the corresponding motion prior poses in Figure 17 ; note how the arms in the 3D proxy pose match the hand-drawn character, even though the motion prior pose is different. In Figure 18 , we see the 3D ballerina from two different camera viewpoints.. In all the results presented, user effort can be divided into three parts.. -Cleanup/ink-and-paint stage: Marking out dots or user-specified virtual markers (1 minute per frame), marking bounding boxes (3-4 minutes per frame), color segmentation of body parts (7-10 minutes per frame using a stylus and tablet, and a standard brush-based paint program).. -Selecting a motion capture segment: 20-30 minutes.. -Creating 3D simulation in Maya: 2-10 hours (2 hours for the simple rigid bodies, 10 hours for the cloth). The tuning time is dependent on the user's familiarity with the tool and is equivalent to the tuning required to add any visual effect to a 3D animation. Maya can be replaced by any other simulation engine. We discuss past work on the use of 3D representations for 2D objects in the Computer Graphics (CG) context and the techniques used to generate them. There has also been a great deal of research in reconstructing 3D human pose from images and we briefly survey that body of work in the computer vision community.

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


On credibility improvements for automotive navigation systems Abstract Automotive navigation systems are becoming ubiquitous as driver assistance systems. Vendors continuously aim to enhance route guidance by adding new features to their systems. However, we found in an analysis of current navigation systems that many share interaction weaknesses, which can damage the system's credibility. Such issues are most prevalent when selecting a route, deviating from the route intentionally, or when systems react to dynamic traffic warnings. In this work, we analyze the impact on credibility and propose improved interaction mechanisms to enhance perceived credibility of navigation systems. We improve route selection and the integration of dynamic traffic warnings by optimizing route comparability with relevance-based information display. Further, we show how bidirectional communication between driver and device can be enhanced to achieve a better mapping between device behavior and driver intention. We evaluated the proposed mechanisms in a comparative user study and present results that confirm positive effects on perceived credibility. Automotive navigation systems (ANS) have matured into a mainstream technology. While integrated ANS are mostly found in middle-and higher-range cars, cheaper portable navigation devices (PNDs) enable the addition of ANS into any vehicle. A navigation system's purpose is to support drivers in traveling from location A to destination B with route guidance. Modern ANS not only visualize the routing process on maps but contain additional features, like textto-speech or advanced lane guidance with 3D visualization. Many devices can also receive up-to-date traffic information via the FM broadcast based TMC (Traffic Message Channel) and similar services.. ANS can be seen as support systems for safety critical situations, that is, the driving context. System errors or confusing commands can have significant consequences in cases where drivers rely blindly on the ANS. Especially in unfamiliar environments, drivers place higher confidence in navigation commands, while their self-confidence decreases [12] . In such situations, gullibility errors may occur, that is, the driver acts on an erroneous command perceived as credible. If drivers experience erroneous or misleading commands, they will trust ANS commands less in the future. The credibility of the ANS is damaged as a result, even due to small errors [8] . Credibility is a perceived quality that reflects the trustworthiness and expertise of a system. A loss of credibility in turn leads to dismissal by the user. Therefore, exhibiting a high level of credibility is important to ensure continuous use of the system. High credibility ensures continuous benefit to the driver, but is also economically relevant for the ANS manufacturer, because low credibility may affect product or brand reputation [8] .. Credibility issues not only occur in unfamiliar but also in familiar environments. In a familiar environment, a driver may form her own belief of the best route in a given situation. If the ANS does not support the driver's intention and does not make route recommendations sufficiently comprehensible, credibility of the ANS will also suffer. The driver may reject correct recommendations of the ANS, known as incredulity errors [8] .. Navigation systems produce different kinds of erroneous messages that can impact credibility negatively. Many issues can be traced back to weaknesses in usability and interaction design. In this work, we provide an analysis of interaction weaknesses in current ANS based on an experimental study with PNDs (cf. Sect. 3) and relate them to core issues impacting credibility (cf. Sect. 4). But first, we provide background knowledge on credibility (cf. Sect. 2). We further propose a credibility-enhanced interaction design for ANS (cf. Sect. 5) focused on common task scenarios. Our evaluation in a comparative user study (cf. Sect. 6) validates that our contributions improve ANS credibility. We conclude the paper with an outlook on future directions in this line of work (Sect. 7). In this paper, we proposed three major concepts for ANS interaction design: (1) providing choices when decisions are required, (2) providing relevant information that facilitates comparison of alternatives, and (3) enabling bidirectional communication to let drivers convey intention. As a result, system decisions are easier verifiable, drivers feel involved and supported in navigation-related decisions, and false/expected navigation commands can be reduced.. The user study validates the positive effect on credibility of these concepts. However, it also shows that credibility is difficult to measure reliably. Assessment of related terminology is necessary, as already suggested by Fogg and Tseng [8] , but also affects result reliability. The laboratory study provided unified conditions across groups, which simplified comparative evaluation of the developed concepts. At the same time, it introduced certain limitations. The actual risk of bad decisions usually experienced while driving is missing, but may further impact credibility. The disconnected task did create basic cognitive load, as all participants were highly engaged in completing the task properly, but measurements did not allow statements about actual driver distraction. Especially, the influence of additional information on driver distraction requires further attention. Currently, the proposed concepts have only been assessed for three scenarios, and more studies under real driving conditions are required with ANS that fully implement these concepts to obtain more reliable results on their overall effect on ANS credibility. Long-term driver studies could also provide insights on how credibility and cognitive load develop over time. Comparing the impact on credibility of navigation commands and human driving suggestions could also provide interesting results. The proposed concepts mainly improve credibility by enhancing explicit interaction. In future work, we plan to investigate the effects of implicit interaction on ANS credibility. Driving itself can be considered an implicit input channel, which allows inference of driving habits and potentially intention. ANS already contain sensors to measure location, heading, and speed to inform the navigation process. These parameters could be monitored over time to infer driving patterns and context. Furthermore, in-vehicle sensors for breaks, engine management, indicators, or steering could enrich context information. Implicit input could enhance credibility by optimizing system adaptation to the current context and tailoring explicit interaction accordingly. As one benefit, explicit interaction could be shifted to moments of relatively low cognitive load. For example, when the driver indicates while waiting at a traffic light although the route continues straight, the system could inquire the driver's intentions even before a deviation occurs. As another benefit, implicit interaction could be used to provide personalized route recommendations based on prior behavior. Future work is required to assess the potential and limitations of implicit interaction and potential benefits for ANS credibility.

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


Mathematical Modeling Of Bioremediation Of Trichloroethylene In Aquifers Abstract. Trichloroethylene (TCE) is a very common contaminant of groundwater. It is used as an industrial solvent and is frequently poured into the soil. There exist bacteria that can degrade TCE. In contrast with most cases of bioremediation, the bacteria that degrade TCE do not use it as a carbon source. Instead the bacteria produce an enzyme to metabolize methane. This enzyme can degrade other organics including TCE. In this paper we model in situ bioremediation of TCE in an aquifer by using two species of bacteria: one that forms biobarriers to restrict the movement of TCE and the second one to reduce TCE. The model includes flow of water, transport of TCE and the nutrients, bacterial growth and degradation of TCE. Nonstandard numerical methods are use to discretize the equations. Some results are presented. Trichloroethylene (TCE) is a very widely used industrial and commercial solvent. It is an unsaturated aliphatic chlorinated hydrocarbon chemical compound. Before its toxic properties were discovered it was widely used as an anesthetic and analgesic. Today it is still widely used by the dry cleaning industry and as a degreaser in many applications, including decaffeinating coffee and extracting vegetable fats. Unfortunately TCE finds its way to groundwater deposits, where it mixes with water and is a serious source of contamination. Even without having to deal with the added complication of the porous medium, the elimination of TCE from the environment is an expensive and complicated process. Recently [1] the use of biofilters was proposed to degrade this harmful compound. Many researchers have reported that cometabolism is responsible for TCE degradation. Different species of microorganisms, more specifically methanotrophs (bacteria that metabolize methane), use methane as a substrate. In order to metabolize the methane, these bacteria produce an enzyme called MMO (methane mono-oxygenase). However, this enzyme can also degrade other organic compounds, including TCE. So, by stimulating the bacteria with air and methane, they produce mono-oxygenase that will also degrade the TCE ( [1] ). But the bacteria can also be stimulated with phenol or toluene and also ammonia oxidizers, instead of methane, in order to produce enzymes that degrade TCE.. Under aerobic conditions microorganisms utilizing a primary substrate such as methane, phenol or toluene and also ammonia oxidizers produce non-specific oxygenases that degrade TCE [2, 3, 4] . Experiments carried out in anaerobic conditions also revealed the possibility of TCE degradation to ethane by means of methanoldegrading bacteria [5] .. Biofilm bacteria have been successfully used for forming biobarriers to control the propagation of contaminants in ground water. In [6] we have simulated the growth of biofilms and the formation of biobarriers in porous media using nonstandard numerical methods. Experiments and numerical models show that while subsurface biobarriers substantially control the movement of contaminants, they do not reduce it to zero as is really desirable in practice. Recently there have been some experiments [7, 8, 9] where two different types of bacteria are combined to get better results. One type is a strong biofilm-forming bacteria and the other is a bacteria that reacts with the contaminant transforming it into harmless substances. The biofilm-forming bacteria are needed to form the biobarrier so the contaminant transport is reduced and also allows the contaminant-degrading bacteria to establish themselves in the biobarrier and therefore be almost immobile and efficiently destroy the contaminant as it flows by. In many cases the contaminant-degrading bacteria uses the contaminant directly as a nutrient. It may also use the nutrient used to grow the biofilm as an additional nutrient. Several different cases of the use of two bacteria to control pollutants in groundwater were simulated numerically in [10] As mentioned above, one of the most common contaminants in ground water is TCE. Now we have a different situation because it has been reported that cometabolism is responsible for TCE degradation. The microbes do not use TCE as a carbon or energy source, but the amount of TCE degraded depends directly on the amount of enzymes produced, which depends directly on the amount of methane or phenol consumed. According to [8] , the toluene ortho-monooxygenase (TOM) pathway is responsible for the degradation of TCE by B. cepacia and is located on the TOM plasmid. The authors also calculated the rate of TCE degradation per substrate consumption. There have also been some large scale demonstrations of the use of in-situ bioremediation of TCE done by Los Alamos National Laboratory [11, 12] .. In this paper we model the water flow, the transport of nutrients and TCE as well as the growth of biofilm-forming microbes and biodegradation microbes. We only consider the limiting nutrient in the simulations and assume that all the other necessary nutrients are present in enough quantities. We will study the interaction between the two types of bacteria, the TCE and the nutrients. We are specially interested in the persistence of the biobarrier with the degrading bacteria. Under many conditions two species of bacteria using the same resources, one species will dominate and the second will eventually disappear. We want to see whether this undesirable situation will happen. The paper is organized as follows. In the next section we present the mathematical model. The model includes flow of water, transport of nutrients and TCE and growth and degradation. In Section 3 we show qualitative results of some dual-species biobarrier simulations. The purpose and value of the numerical simulations is to guide future multi-species biofilm experiments that could lead to the design of more effective bioremediation strategies. In the last section we present some conclusions and future research directions.

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


Answer Garden: a tool for growing organizational memory Answer Garden allows organizations to develop databases of commonly asked questions that grow "organically" as new questions arise and are answered. It is designed to help in situations (such as field service organizations and customer "hot lines") where there is a continuing stream of questions, many of which occur over and over, but some of which the organization has never seen before. The system includes a branching network of diagnostic questions that helps users find the answers they want. If the answer is not present, the system automatically sends the question to the appropriate expert, and the answer is returned to the user as well as inserted into the branching network. Experts can also modify this network in response to users' problems.Our initial Answer Garden database contains questions and answers about how to use the X Window System. Consider the following common problems in organizations: Customers get incomplete or inconsistent answers to their questions and complaints. Employees get stuck or waste effort when they can't find the specific information they need. Meanwhile, the people who could answer these questions may, in some cases, be unaware of the problems people are having, or, in other casts, they may be overwhelmed by the sheer mass of simple questions they have to answer. The Answer Garden system helps an organization solve these problems by providing a database of answers to commonly asked questions that grows "organically" as new questions arise and are answered. It is designed to help in situations where there is a continuing stream of questions, many of which occur over and over, but some of which the organization has never seen before.. Such situations are pervasive in many kinds of organizations: field service technicians repairing a company's products, telephone "hot lines" for customer problems, customer contact personnel (such as airline ticket agents) responding to customer complaints, teaching assistants helping students in large classes, coworkers helping each other with "lore" about how to USC complex computer systems, and even primary care physicians treating their patients in medical clinics.. In this paper, we will describe a cooperative work tool, called the Answer Garden, that we have designed to help improve an organization's "memory" in situations like these. Even though there is little consensus in the organizational literature about how to define organizational memory (e.g., Orr86, Levitt88, Walsh89), the concept of organizational memory is an evocative and attractive metaphor. For our purposes here, we will define organizational memory as an organization's ability to benefit from its past experience in responding more effectively (e.g., faster or more accurately) in the present. We will be particularly concerned with situations where there is a body of "authoritative" knowledge about how to do things (such as using devices or following organizational procedures). We begin by describing the key ideas in the Answer Garden system and the incentives people would have for using a system like this. Then we present a more detailed "tour" of the system and describe its implementation. Finally, we present a few observations from our first use of the system (with a database of questions and answers about how to use the X Window System), and we discuss a variety of issues that will arise in large scale use of systems like these (such as how to represent conflicting points of view about a question). The Answer Garden is not a radically new kind of system. We believe it shows, however, how a relatively simple combination of well-known concepts can provide a surprisingly powerful platform for a new kind of cooperative work application. As information technology becomes more pervasive, we believe that tools like this--for capturing and exploiting organizational knowledge that was previously stored only informally or not at all--will become increasingly important. Answer Garden has points of commonality with a number of previous systems. For example, videotext systems provide a structured branching network to help users find information. They do not usually, however, allow users to easily ask new questions and have the answers automatically added into the database via electronic mail.. Electronic mailing lists, computer conferences, and bulletin boards allow ad hoc sharing of information among widely distributed groups in response to new questions, but they usually provide only the most rudimentary kinds of structure. For instance, it is common for computer conferences (e.g., H&81) to include a few levels of topics and subtopics, but we are not aware of any system that treats this structure as a diagnostic branching network.. At the opposite extreme of structure, expert systems often provide elaborate diagnostic branching networks, but they usually require significant effort to construct and they are not ordinarily thought of as being automatically extensible in response to new user questions and answers from experts via electronic mail.. The kinds of questions and answers used in Answer Garden could certainly be provided in a multi-user hypertext system (Conklin87, Aksyn87, Trigg88). In fact, one can think of Answer Garden as an example of a multi-user hypertext system. We are not aware, however, of any other hypertext applications that exploit this kind of diagnostic branching network and are automatically extensible through electronic mail.. Perhaps the closest precursors to Answer Garden are systems designed explicitly to aid in providing immediate answers from technical support personnel to questions about hardware and software (Coppeto89, Dyson89). With the exception of OK, these systems appear to be designed for use only by skilled technical intermediaries, not by the end users who actually have the questions. Furthermore, these systems do not appear to include a diagnostic branching structure to help users locate answers.

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


Empirical justification of the gain and discount function for nDCG The nDCG measure has proven to be a popular measure of retrieval effectiveness utilizing graded relevance judgments. However, a number of different instantiations of nDCG exist, depending on the arbitrary definition of the gain and discount functions used (1) to dictate the relative value of documents of different relevance grades and (2) to weight the importance of gain values at different ranks, respectively.In this work we discuss how to empirically derive a gain and discount function that optimizes the efficiency or stability of nDCG. First, we describe a variance decomposition analysis framework and an optimization procedure utilized to find the efficiency-or stability-optimal gain and discount functions. Then we use TREC data sets to compare the optimal gain and discount functions to the ones that have appeared in the IR literature with respect to (a) the efficiency of the evaluation, (b) the induced ranking of systems, and (c) the discriminative power of the resulting nDCG measure. The evaluation of retrieval systems has been a significant area of research in IR. Evaluation measures play a critical role in the development of retrieval systems either as metrics in comparative evaluation experiments, or as objective functions to be optimized in a learning-to-rank fashion. Due to their importance, dozens of measures have appeared in IR literature, with average precision being the dominant one.. One of the main criticism traditional evaluation measures, such as average precision, have received is due to the assumption they make that retrieved documents can be considered as either relevant or non-relevant to a user's request. In other words, traditional measures treat documents of different degrees of relevance as equally important. Naturally, however, some documents are more relevant to a user's request than others and therefore more valuable to a user than others.. The nDCG measure [10, 9] has proven to be one of the most popular measures of retrieval effectiveness that utilizes graded relevance judgments. The underline model of user search behavior on which nDCG is based makes two assumptions: (1) highly relevant documents are more valuable to the user than marginally relevant documents, and (2) the greater the rank a relevant document appears the less valuable to the user that document is.. In the framework used to define nDCG, first relevance scores are mapped to relevance grades, e.g. a score of 3 is given to highly relevant documents, a score of 2 to fairly relevant documents and so on. Relevance scores are viewed as the gain returned to a user when examining the document. Thus, the relative value of relevance scores dictates how much more valuable for instance a highly relevant document is to a user than a marginally relevant. Even though, relevance scores were used directly as gains when nDCG was originally introduced, alternative gain functions that map gain values to relevance scores have appeared in the literature. To account for late arrival of relevant documents, gains are then discounted by a function of the rank. The discount function is viewed as a measure of the patience of a user to step down the ranked list of documents. As in the case of gains, a number of different discount functions has appeared in the literature. The discounted gains are then summed progressively from rank 1 to k and this discounted cumulative gain is normalized to range from 0 to 1, resulting in the normalized discounted cumulative gain (nDCG).. Hence, nDCG can be considered as a functional of a gain and a discount function. By utilizing different gain and discount functions one is able to accommodate different user search behavior patterns on different retrieval scenarios.. Even though nDCG offers a flexible family of measures so far the selection of the gain and discount functions has been done rather arbitrarily, based on speculations of the search behavior of an average user and speculations of the correlation of the measure to user satisfaction. For instance, Burges et al. [7] , introduced an exponential gain function (2 rel(r) − 1, where rel(r) is the relevance score of the document at rank r) to express the fact that the gain of a highly relevant document is not just twice the gain of a relevant one for an average user. Further, the logarithmic discount function (1/log(r + 1)) dominated the literature compared to the Zipfian one (1/r) based on the speculation that the gain a user obtains by moving down the ranked list of documents does not drop as sharply as indicated by the Zipfian discount.. Despite these reasonable speculations, Al-Maskari et al. [1] exhibited that cumulative gain without discounting (CG) is more correlated to user satisfaction than discounted cumulative gain (DCG) and nDCG (at least when computed at rank 100). This result not only questions the overall utility of the discount function but most importantly underlines the need for a methodological selection of gain and discount functions. However, given the infinite number of possible gain and discount functions, the vast differences in user search behavior, the many possible retrieval tasks and the difficulty in measuring user satisfaction, a complete analysis of the different gain and discount functions with respect to user satisfaction is prohibitively expensive, if at all possible.. In order to methodologically reduce the space of possible gain and discount functions, a number of correlation studies has been conducted to examine whether different functions lead to equivalent nDCG measures regarding the induced ranking of systems. Voorhees [14] utilized nDCG in TREC Web Track evaluation weighting highly relevant documents by factors 1 to 1000 in relation to marginally relevant documents and she concluded that varying the gain function leads to different ranking of systems. In a similar study, Kekäläi-nen [11] also examined how different weighting schemes of relevance scores affect the ranking of systems and similarly to Voorhees [14] concluded that the larger the relative difference between relevance grades, the more the ranking of systems deviates from that in the binary case. Furthermore, by comparing the rankings of systems induced by the discounted cumulative gain (DCG) and cumulative gain without discounting (CG), she demonstrated that discounting the gain values also alters the induced ranking of systems.. Given the fact that nDCG variations result in different rankings of systems and thus they evaluate different aspects of retrieval effectiveness along with the difficulty in studying gain and discount functions with respect to user satisfaction, one can compare different variations of nDCG based on other desirable properties of the resulting measure. For instance for different gain and discount functions, one can investigate how informative the resulting variations of nDCG are, i.e. how well do they summarize the relevance of the underline ranked list of documents [2] , how discriminative they are, i.e. how well do they discriminate good from bad systems [12] , or how stable they are, i.e. how different the rankings of systems are over different sets of queries [6] . Sakai [13] compared the effect of a number of different gain and discount functions on the discriminative power of nDCG.. In this paper, we adopt the variance component analysis framework proposed by Bodoff and Li [4] to measure the stability/efficiency of the resulting nDCG measure when different gain and discount functions are utilized. Based on this framework, we define a stability-or efficiency-optimal gain function by treating gain values of relevance grades as unknown variables and optimizing for the aforementioned stability/efficiency measure. We compare the resulting function to both the linear and the exponential variates that have appeared in the literature, both in terms of stability/efficiency and induced rankings of systems. Similarly, we also define a stability-or efficiency-optimal discount function and compare it against the Zipfian, the log and a linear function. Further, we also define a Pareto optimal combination of gain and discount function, i.e. the combination of gain and discount function that maximizes the minimum stability. Finally, we explore whether the stability-(efficiency-) optimal gain and discount functions lead also to an nDCG measure with high discriminative power [12] .. The rest of the paper is organized as follows: In Section 2 we describe the methodology used to obtain stability-or efficiency-optimal gain and discount functions, in Section 3 we present the results of our methodology and conclude in Section 4. Despite the flexibility nDCG offers in the selection of the appropriate gain and discount function, so far this selection has been done rather arbitrarily, based on speculations of the search behavior of an average user and speculations of the correlation of the measure to user satisfaction. Recent work [1] has shown that the most commonly employed gain and discount functions are loosely related to user satisfaction which underlines the need for a more methodological selection of gain and discount function. However, given the infinite number of possible gain and discount functions, the vast differences in user search behavior, the many different possible retrieval tasks, a complete analysis of the different gain and discount functions with respect to the user satisfaction is prohibitively expensive, if at all possible.. In this work, we numerically computed a stability-or efficiency-optimal gain and discount function by treating gain values and discount factors as unknowns and optimizing for a stability/efficiency measure defined based on Generalizability theory. We compared the resulting gain function to both the linear and the exponential functions and the resulting discount function to the log, Zipfian and linear ones.. According to our results, the optimal discount function is less steep than all commonly used discount functions, giving reasonably high weights to lower ranks, while the relative difference between gain values is much smaller than the commonly used ones, giving almost equal weights to both relevant and highly relevant documents. The latter was rather striking, since weighting relevant and highly relevant documents equally did not seem to alter the ranking of systems. Note that this is true for the particular collections and systems under study and it may not reflect the general case.. Finally, we demonstrated that the stability-(efficiency-) optimal nDCG measure outperforms the dominant in the literature nDCG measure with respect to discriminative power as well. The afore-described optimization framework was applied to the TREC 9 and 10 Web track collections and the TREC 12 Robust track collection. The number of participating systems for the three collections is 105, 97 and 78 respectively. All systems were run over 50 queries 1 . Documents returned as a respond to these queries were judged by a single assessor in 3 relevance grades scale: highly relevant, relevant and non-relevant. The task in all tracks was the usual ad-hoc retrieval task.. For each one of the three test collections, we calculated the optimal discount factors (given a linear gain function), the optimal gain values (given a logarithmic discount function) and the Pareto-optimal gain values and discount factors. We compared the optimal gain and discount functions with the a number of commonly used gain and discount functions both with respect to the stability/efficiency of the resulting nDCG measure and with respect to the induced by the resulting nDCG ranking of systems. In this section, we describe a methodology to numerically derive stability-(efficiency-) optimal gain and discount functions. First, we adopt the methodology used by Bodoff and Li [4] to assess the reliability of an IR test collection.. Given an evaluation measure, a number of retrieval systems, a set of queries and a document collection, Bodoff and Li considered two sources of variability in the observed system scores of the retrieval systems when they are run over the given queries, (a) the actual performance differences between systems, and (b) differences in the nature of the queries themselves. This way, Bodoff and Li [4] , quantified the quality of the test collection as the proportion of the total variability observed in the scores of the retrieval systems that is due to actual performance differences among these systems.. In a similar manner, different sources of variability can be considered and quantified. For instance, earlier than Bodoff and Li, Banks et al. [3] considered, as an additional to the systems and queries source of variability, the judges that assess the relevance of the documents to the queries.. In this work, we consider the evaluation measure itself as a source of variability. In particular, given a number of retrieval systems, a set of queries and a document corpus, we consider gain and discount function of nDCG as unknown variables and we select the ones that maximize the proportion of variability due to actual performance differences among systems. The proportion of variability reflects the stability of the evaluation measure, and thus by maximizing this proportion we maximize the stability of the measure. Furthermore, the more stable a measure is the less queries it requires to reliably evaluate the retrieval systems. Thus, by maximizing stability we also maximize efficiency in terms of required queries.. We numerically computed the stability optimal gain and discount function by employing (a) variance decomposition analysis of the nDCG scores [3, 4, 5] and (b) optimization. In the following subsections, we describe both components of our methodology in details.

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


Chromatic Adaptation Model Using the Relationship between the Cone Responses under Change in Illuminants In this paper, a chromatic adaptation model (CAM) based on the dependence on LMS cone responses of the human visual system (HVS) is proposed for TV and PC monitors under a variety of viewing conditions. We derived the proposed CAM based on Breneman's corresponding color data. The results of the experiments were carried out to assess the proposed model performance in terms of color fidelity by comparing complex images on a LCD monitor. We confirmed that the proposed model performed better to predict corresponding colors under various viewing conditions. Therefore, the reproduced colors, which are viewed in real surround viewing conditions, are perceived the same as original object colors, when the proposed CAM was applied to color display devices such as CRT, LCD, and PDP. Based on both the colorimetric and the preferred color reproduction method for color reproduction under standard viewing conditions [1] , color display devices such as TV and PC monitors have been recently developed [2] . When both the viewing conditions of the original image and reproduction image are the same, the colorimetric color reproduction is powerful. However, the real viewing conditions of the color display devices are quite different from standard viewing conditions. As the viewing conditions vary, the HVS is adapted chromatically and various color appearance phenomena [3] happen. The phenomena are that the same colors appear as quite different chromaticities. Therefore, color reproduction in color display devices has to be developed, considering the chromatic adaptation of HVS, which can vary depending upon the viewing conditions.. In this paper, we propose a practical CAM which is based on the HVS, specifically the dependence on the LMS cone responses. LMS refers to the long-wavelength, middlewavelength, and short-wavelength sensitive cones, respectively. We developed the predicted images using both conventional CAMs and proposed CAM. These were compared with the corresponding color images from Breneman's experiments. We confirmed that the proposed model per- formed better in predicting corresponding colors than the conventional CAMs. In this paper, a CAM, which depends upon the relationship between the LMS cone responses of the HVS, was proposed for TV and PC monitors under a variety of viewing conditions. With regard to the experimental results, the predictions of the corresponding colors of the proposed model were better than those of the other conventional models under various surround illuminant conditions. And the reproduced images appear the same as images that are viewed under standard viewing conditions.

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


Convergence of inexact inverse iteration with application to preconditioned iterative solves In this paper we study inexact inverse iteration for solving the generalised eigenvalue problem Ax = λMx. We show that inexact inverse iteration is a modified Newton method and hence obtain convergence rates for various versions of inexact inverse iteration for the calculation of an algebraically simple eigenvalue. In particular, if the inexact solves are carried out with a tolerance chosen proportional to the eigenvalue residual then quadratic convergence is achieved. We also show how modifying the right hand side in inverse iteration still provides a convergent method, but the rate of convergence will be quadratic only under certain conditions on the right hand side. We discuss the implications of this for the preconditioned iterative solution of the linear systems. Finally we introduce a new ILU preconditioner which is a simple modification to the usual preconditioner, but which has advantages both for the standard form of inverse iteration and for the version with a modified right hand side. Numerical examples are given to illustrate the theoretical results.

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


Speeding Up Cycle Based Logic Simulation Using Graphics Processing Units Abstract Verification has grown to dominate the cost of electronic system design, consuming about 60% of design effort. Among several verification techniques, logic simulation remains the major verification technique. Speeding up logic simulation results in great savings and shorter time-to-market. We parallelize logic simulation using Graphics Processing Units (GPUs). In the past, GPUs were special-purpose application accelerators, suitable only for conventional graphics applications. The new generations of GPU architecture provide easier programmability and increased generality while maintaining the tremendous memory bandwidth and computational power of traditional GPUs. We develop a parallel cycle-based logic simulation algorithm that uses And Inverter Graphs (AIGs) as design representations. AIGs have proven to be an effective representation for various design automation applications, and we obtain similar benefits for speeding up logic simulation. We develop two clustering algorithms that partition the gates in the designs into independent blocks. Our algorithms exploit the massively parallel GPU architecture featuring thousands of concurrent threads, fast memory, and memory coalescing for optimizations. We demonstrate up-to 5x and 21x speedups on several benchmarks using our simulation system with the first and second clustering algorithms, respectively. Our work ultimately results in significant reduction in the overall design cycle. Complexity of electronic designs have been rapidly growing. Billions of transistors are commonly placed in designs to generate higher performance. Multicore and many core systems provide the performance by handling more work in parallel. However, the complexity in electronic designs poses a great challenge for building such systems, where designs continue to be released with latent bugs. Functional design verification is the task of establishing that a given design accurately implements the intended functional behavior (specification). Today, design verification has grown to dominate the cost of electronic system design, in fact, consuming about 60% of design effort [5] . Among several verification techniques, logic simulation remains to be the major verification technique due to its applicability to real designs and its relative ease of use. However, logic simulation of designs with millions of components is time consuming and has become a bottleneck in the design process. Any means to speedup logic simulation results in productivity gains and faster time-to-market.. We observe that electronic designs exhibit a lot of parallelism that can be exploited by parallel algorithms. In fact, there are parallel electronic design automation algorithms for almost all stages in the implementation of an electronic design such as logic optimization, floor-planning, routing, and physical verification stages. In this paper, we focus on parallelization of logic simulation of electronic designs using Graphics Processing Units (GPUs).. In the past, Graphics Processing Units (GPUs) were special-purpose application accelerators, suitable only for conventional graphics applications. Nowadays, GPUs are routinely used in applications other than graphics such as computational biology, computational finance and electronic designs, where huge speedups have been achieved [22] . This is a result of the availability of extremely high performance hardware (for example, a GTX 480 GPU provides 1.35 Tflops with 480 cores and is under $500), and the availability of general purpose programming models such as Compute Unified Device Architecture (CUDA) by NVIDIA [13] . CUDA is an extension to C language and is based on a few abstractions for parallel programming. CUDA has accelerated the development of parallel applications beyond that of the original purpose of graphics processing.. There are two main types of logic simulation; Cycle-Based Simulation (CBS) and Event-Based Simulation (EBS). In CBS, the evaluation schedule of gates in the design for each step of simulation is determined once at the compilation time of the simulator. EBS has a more complicated scheduling policy where a gate is simulated only if at least one of its input values have changed. Both CBS and EBS are commonly used in the industry. In this paper, we work with CBS since it has a less complicated static scheduling policy that is amenable to better parallelization. However, we also note that logic simulation has been classified as the most challenging Computer Aided Design pattern to parallelize [7] . The ratio of communication (between gate and gate) to Boolean evaluation is high. Since the communication pattern of logic simulation often defy a pattern, it is difficult to assign elements to processors so that communicating elements are always close. High performance loss due to communication overhead is reported [26] .. Logic simulation proceeds in two phases; compilation and simulation. The compilation phase is part of any modern simulator and is required to convert the design into an appropriate form for the simulation phase. Our GPU based solution is also composed of these two phases. In the compilation phase, we perform several operations namely combinational logic extraction, levelization, clustering, and balancing operations. This phase has several GPU architecture dependent optimizations such as the efficient usage of shared memory and memory coalescing. Levelization helps determine the dependency between gates, where gates in the same level can be simulated in parallel. Clustering helps partition the design into a collection of smaller parts where each part can be simulated independent of other parts. Balancing helps optimize the usage of threads for a SIMD instruction. These operations are necessary because in a gate level design, certain gates could have hundreds or thousands of fanouts while most will have a few fanouts resulting in irregular data access patterns. Clustering and balancing help organize access patterns for effective simulation. The simulation phase is where thousands of threads are available to simulate the compiled design in parallel. We use several optimizations in simulation phase in order to reduce the communication overhead between the GPU and the CPU. In both phases, we exploit the GPU memory resources as efficiently as possible in order to have low latency.. Our design representation for logic simulation is different from the other design representations. We use And-Inverter Graphs (AIGs), in particular we use the AIGER format [2] . AIG is an efficient representation for manipulation of boolean functions. It is increasingly used in logic synthesis, technology mapping, verification, and boolean satisfiability checking [6, 10, 20, 21, 28] . However, to the best of our knowledge, our work is the first GPU based electronic design automation solution using AIGs. Since we use AIGs with only a single type of combinational gate (and-gate), our algorithms can efficiently use the limited low latency memory spaces provided by the GPU.. We developed two clustering algorithms. The first one clusters gates using a given threshold, and the second one improves clustering with that of merging and balancing steps and incorporates memory coalescing and efficient utilization of shared memory. We validated the effectiveness of our parallel CBS algorithm for both types of clustering with several benchmarks from IWLS, and AIGER [2, 17, 24] . We compared our parallel CBS algorithm with that of a sequential CBS algorithm. Our experiments show that parallel CBS can speedup the simulation of designs over the sequential algorithm. In particular, we obtained up-to 5x speedup with the first clustering algorithm and up-to 21x with the second clustering algorithm. We obtain better speedups with larger circuits. This paper is organized as follows. In the next section, we give an overview of related work in logic simulation and General Purpose computation on GPUs (GPGPU). We then describe background in CUDA, AIG format and logic simulation in Sect. 3. In Sect. 4, we describe our parallel CBS algorithm together with two clustering algorithms and CUDA optimizations. Our experiments are in Sect. 6. Finally, conclusions and future work are described. We introduced two novel parallel cycle-based simulation algorithms for digital designs using GPUs. This work has further progressed the state of the art in logic simulation. Our algorithms result in faster, more efficient parallel logic simulators that can run on commodity graphics cards allowing verified designs while obtaining significant reduction in the overall design cycle. Our approach leverages the GPU architecture by optimizing on low latency memory spaces, and reducing host and device communications during compilation and simulation phases of a cycle based simulation algorithm. Our approach is unique in that we use the AIG representation for electronic designs that proves to be very efficient for boolean functions.. We obtained speedups ranging from 5× to 21× with our first and second algorithms, respectively, for various benchmarks. Our first clustering algorithm uses a given threshold to generate independent CUDA blocks for parallel simulation. Whereas, our second clustering algorithm automatically generates CUDA blocks while using sophisticated merging and balancing steps in order to maximize the number of parallel threads that can be executed on the GPU. Our second algorithm also improves on the first by better utilization of shared memory and memory coalescing as well as supporting larger design sizes, which is crucial for practical applications. Since logic simulation is an activity that continues nonstop until the design is productized such speedups have a big impact on the verification and the overall design cycle. Our results show that we obtain better speedups with larger circuits. Hence, further studies with industrial designs hold promise.. As a future work, we want to investigate other gate level design formats and develop event-based simulation algorithms that are also commonly used in the industry. We also want to experiment with complex industrial test cases that may not fit on a single GPU device. Catanzaro et al. [7] explain design patterns for parallelization in Computer Aided Design (CAD). The authors consider 17 different CAD algorithms and partition these algorithms in three categories; graph algorithms, branch and bound search, and linear algebra. They also state that graph algorithms in CAD (of which logic simulation is a member) are the hardest to parallelize among these categories. Similarly, CAD case studies of GPU acceleration can be found in [12] . Some of these case studies are spice simulation, fault simulation, static timing analysis, boolean satisfiability, fault dictionary computation, and power grid analysis. The authors describe optimization techniques for irregular EDA applications on GPUs in [14] . In particular, they make use of memory coalescing and shared memory utilizations that improve the speedup of sparse matrix vector product and breadth first search.. There has been a lot of work on parallel logic simulation using architectures other than GPUs. There are several surveys on parallel logic simulation [4, 19] . In particular, cycle-based simulation approaches are used by IBM and others [15] . The simulation algorithms in these works are aimed at loosely coupled processor systems.. Different partitioning algorithms for electronic designs are described in [3, 18] . Some of these algorithms are based on performance, layout, clustering, network flow, and spectral methods. Our partitioning approach is similar to cone clustering described in [16] , where a fanin cone of a circuit element embodies an area of combinational logic that has the potential to influence signal values provided by that element.. Several general purpose GPU applications can be found in [13, 22] . The application domain ranges from physics to finance and the medical field. The work in [11] gives a performance study of general purpose applications using CUDA and compares them with that of applications written using OpenMP.. There is another general purpose programming environment for GPUs named OpenCL. OpenCL [23] is a relatively new standard that is very similar to CUDA in that it is also an extension of C language. CUDA is specific to NVIDIA GPUs, whereas OpenCL can be run on different architectures and gives you portability at the expense of potentially sub-optimal performance for any specific platform. Also, CUDA is a more mature environment with high-performance libraries and accompanying tools like debuggers and profilers.. Our CBS algorithm is most similar to the work by Chatterjee et al. [9] . However, there are several differences. We use AIGs as gate level representation whereas they support a generic library of gates. AIGs allow us to efficiently use the limited low latency memory spaces. We use a threshold value in our first clustering algorithm, whereas they start clusters from the primary outputs. We fix the number of blocks in our second clustering algorithm in order to maximize parallel thread execution. We encode variables in order to better utilize shared memory and we explicitly use memory coalescing, whereas these are not used in [9] .. There is an earlier logic simulation algorithm using GPUs by Perinkulam [25] . However, this algorithm does not provide performance benefits since they do not optimize data transfer between GPU and CPU, use a different partitioning approach, and do not use the general purpose programming language CUDA. There is also a recent work on event-based simulation algorithm, which is also a commonly used simulation technique in the industry, using CUDA [8] . In this section, we are going to present background on CUDA programming, AIGs, and sequential cycle based logic simulation of electronic designs.

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


The Existence of Concatenated Codes List-Decodable up to the Hamming Bound Abstract-It is proven that binary linear concatenated codes with an outer algebraic code (specifically, a folded Reed-Solomon code) and independently and randomly chosen linear inner codes achieve, with high probability, the optimal tradeoff between rate and list-decoding radius. In particular, for any 0 < < 1=2 and " > 0, there exist concatenated codes of rate at least 1 0 H() 0 " that are (combinatorially) list-decodable up to a fraction of errors. (The Hamming bound states that the best possible rate for such codes cannot exceed 1 0 H(), and standard random coding arguments show that this bound is approached by random codes with high probability.) A similar result, with better list size guarantees, holds when the outer code is also randomly chosen. The methods and results extend to the case when the alphabet size is any fixed prime power q 2. A BINARY code is said to be -list decodable if every Hamming ball of radius in has at most codewords of . Equivalently, if we pack Hamming balls of radius centered at the codewords, no point in is covered more than times. Such a code enables correction of an arbitrary pattern of errors in the model of list decoding, where the decoder is allowed to output a list of candidate codewords that must include the correct codeword. Here is the (output) "list size," which we typically think of as a constant independent of or a polynomially growing function of the block length . When the exact list size is not important (beyond the fact that it is polynomially bounded in the block length), we will refer to as being list-decodable up to a fraction of errors or having list decoding radius .. By the Hamming bound, the size of a -list-decodable code satisfies where is the volume of the Hamming ball of A. Rudra is with the Computer Science and Engineering Department, University at Buffalo, State University of New York, Buffalo, NY 14260 USA (e-mail: atri@buffalo.edu).. Communicated by G. Seroussi, Associate Editor for Coding Theory. Digital Object Identifier 10.1109/TIT.2010.2059572 radius in . Therefore, the rate of a binary code with list decoding radius is at most . Perhaps surprisingly, the simplistic Hamming upper bound on rate can in fact be achieved. In fact, a random code of rate , obtained by picking codewords randomly and independently, is -list decodable with high probability [1] , [2] . We note that the choice of binary alphabet in this discussion is only for definiteness. Over an alphabet size , the Hamming bound on rate for a list decoding radius of equals , and random codes approach this tradeoff with high probability (here is the -ary entropy function). In the sequel, we will use the phrase "list-decodable up to the Hamming bound" to refer to codes that have rate and are list-decodable up to a fraction of errors for any desired . Unfortunately, the above is a nonconstructive argument and the codes list-decodable up to the Hamming bound are shown to exist by a random coding argument, and are not even succinctly, let alone explicitly, specified. It can also be shown that random linear codes are also list-decodable up to the Hamming bound with high probability. However, till recently the known proofs of this only achieved a list size of when the rate is [1] (compared to the list size bound known for general random codes), except for the case binary codes, where it was shown in [3] that a list size of suffices (though the latter result was not shown to hold with high probability). In a recent work [4] , it was shown that a random linear code over a field of size of rate is -list decodable with high probability. The advantage with linear codes is that they can be described succinctly via a generator or parity check matrix. Yet, a generic linear code offers little in terms of algorithmically useful structure, and in general only brute-force decoders running in exponential time are known for such a code.. Turning to constructive results for list decoding, recently explicit codes of rate and list decoding radius together with polynomial time list-decoding algorithms up to this radius were constructed over large alphabets [5] . Using these as outer codes in a concatenation scheme led to polynomial time constructions of binary codes that achieved a rate versus list-decoding radius tradeoff called the Zyablov bound [5] . By using a multilevel generalization of code concatenation, the tradeoff was recently improved to the so-called Blokh-Zyablov bound [6] . Still, these explicit constructions fall well short of approaching the Hamming bound for binary (and other small alphabet) codes. Finding such a construction remains a major open problem.

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