Crosstalk noise reduction in synthesized digital logic circuits Abstract-As CMOS technology scales into the deep submicrometer regime, digital noise is becoming a metric of importance comparable to area, timing, and power, for analysis and design of CMOS VLSI systems. Noise has two detrimental effects in digital circuits: First, it can destroy logical information carried by a circuit net. Second, it causes delay uncertainty: Noncritical paths might become critical because of noise. As a result, circuit speed becomes limited by noise, primarily because of capacitive coupling between wires. Most design approaches address the crosstalk noise problem at the layout generation stage, or via postlayout corrections. With continued scaling, too many circuit nets require corrections for noise, causing a design convergence problem. This work suggests to consider noise at the gate-level netlist generation stage. The paper presents a simplified analysis of on-chip crosstalk models, and demonstrates the significance of crosstalk between local wires within synthesized circuit blocks. A design flow is proposed for automatically synthesizing CMOS circuits that have improved robustness to noise effects, using standard tools, by limiting the range of gate strengths available in the cell library. The synthesized circuits incur a penalty in area/power, which can be partially recovered in a single postlayout corrective iteration. Results of design experiments indicate that delay uncertainty is the most important noise-related concern in synthesized static CMOS logic. Using a standard synthesis methodology, critical path delay differences up to 18% of the clock cycle time have been observed in functional blocks of microprocessor circuits. By using the proposed design flow, timing uncertainty was reduced to below 3%, with area and power penalties below 20%. Capacitive crosstalk noise has become a major concern in design of high-performance VLSI digital circuits as a result of interconnect and device scaling [1] - [3] . In deep submicrometer technology, crosscoupling capacitance between neighboring signal nets is the dominant component of total net capacitance [1] , hence any signal net making a logic transition may act as an aggressor, injecting charge into adjacent nets, considered as victims. The coupled noise voltage waveform might induce a logic hazard on a "quiet" victim net, leading to eventual logic failure. If noise is injected into a victim net during logic transition it can modify the victim's waveform, causing delay uncertainty [4] - [6] depending on the detailed behavior of aggressor signals. Consequently, a noncritical path might become a critical speed path, and clocking frequency may be limited by noise. Also, a short minimum-delay path may become faster and cause a fatal race, which cannot be corrected by adjusting clock frequency [7] .. The engineering approach to crosstalk noise has been initially focused on postlayout verification, using extracted interconnect models and various simplification methods to calculate the peak noise voltage. Methodologies using classical dc noise margins [8] have become too conservative for deep submicrometer circuits, hence, the theory has been extended to analyze propagation of noise transients in logic circuits. Metrics such as noise sensitivity and noise stability Manuscript were defined based on the peak values of noise waveforms [9] - [11] . Static noise analysis was developed for propagating worst case noise peaks through logic in large circuits. Results are checked against noise design rules to ensure immunity of circuits to noise peaks. In recent years, progress was made in modeling noise-induced delay uncertainty in static timing analysis [5] , [12] - [14] . With technology progress, a large number of circuit nets are flagged as potential noise problems, requiring new pruning methods to reduce pessimism and manage uncertainty [15] , [16] . Noise violations can be fixed by wire spacing, shield insertion, incremental rerouting, repeater insertion, or device sizing [14] - [25] . Effectiveness of noise avoidance techniques has been analyzed in [24] . Although postlayout changes in the circuit are effectively applied in the industry to reduce noise, they might cause costly iterations and engineering convergence problems. Our main interest is crosstalk within logic-synthesized, automatically-routed large blocks of random logic, where postlayout corrective changes should be avoided as much as possible. At the logic synthesis stage, crosstalk noise considerations are typically ignored because cross-coupling information is still unknown. A probabilistic approach has been introduced in [26] to estimate crosstalk before routing is performed, which may be employed in a placement-aware synthesizer. In the future, integration of logic synthesis with routing tools is conceivable, but a more practical approach would be to incorporate noise-related heuristics into logic synthesis, applied before detailed layout information is available.. In this paper, we address the issue of considering noise effects in synthesis of static CMOS logic, using standard tools. Our goal is to increase circuit robustness to noise and to reduce timing uncertainty by modifying the prelayout design flow, in order to minimize postlayout corrections. We analyze the dependence of noise effects on basic circuit parameters, and observe that uniform-strength drivers can efficiently limit crosstalk noise and are most appropriate for resistive interconnect. Next, we propose a noise-aware design flow to control the ratio of driver strengths in the synthesized circuit. Results of design experiments applying the proposed flow to circuit blocks from microprocessors in 0.13 m and 0.09 m technology are presented. We conclude the paper with a short discussion. ON CIRCUIT PARAMETERS Fig. 1(a) shows a classical aggressor/victim model. Associated circuit-simulation waveforms, demonstrating noise glitches with amplitude Vp and delay uncertainty 1t are shown in Fig. 1(b) . The simulation assumes a large-size inverter as the aggressor and a small-size inverter as the victim. Both drivers were selected from an industrial cell library. The inverters drive 50 m of parallel metal 3 wires at minimum pitch, loaded by minimum-size gates. These simulation results exemplify the significance of crosstalk noise even for relatively short local wires within functional blocks [27] . We assume a single aggressor as a typical situation, although a victim net might be attacked simultaneously from both sides by two aggressors. The following analysis can be modified to account for such a pessimistic scenario without changing the nature of the problem. Circuits with improved noise robustness have been synthesized by using uniform output resistance gates from a restricted cell library, and by avoiding high-fanout nets. Buffers and repeaters having the same output strength as the gates are added to the circuit accordingly, such that no strong aggressors exist in the circuit. This approach guarantees reduced peak noise voltage while using standard tools, compared with unconstrained synthesis which attempts to use weak drivers whenever possible, considering only timing and area while ignoring noise effects. Timing uncertainty is significantly reduced in these circuits, because of the reduced noise peaks and because of the reduced time constant at victim nets, due to avoidance of weak victim gates.. Timing uncertainty appears to be the most important noise-related concern in synthesized static CMOS logic blocks. Noise stability is of lesser concern, because the restoring properties of static gates in the current technology generation easily prevent propagation of noise when design-rules are followed. However, there is no restoring mechanism for delay uncertainties. Delay uncertainty accumulates statistically along logic paths. If ignored, delay uncertainty can easily transform noncritical paths to timing critical. We have observed critical-path delay differences up to 18% of the clock-cycle time in our test cases. Beyond noise-induced performance degradation, delay uncertainty also affects short-path delays and requires additional delay padding. Checking the magnitude and likelihood of path delay uncertainty is a very challenging task [16] when each net can have a significant delay change. Therefore, it is recommended to limit these noise-effects a priori by using the proposed approach. A totally different approach is crosstalk prevention by shielding of all signal nets using additional wires. Such a methodology is considered impractical for our test circuits in the current technology, since their density is already limited by routing resources. The main penalty of our methodology is an increase in area and power dissipation. We have seen that a single pass of postlayout gate resizing, directed by a noise-aware timing verification run, can reduce these penalties while maintaining improved noise performance.

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


Synergizing in Cyberinfrastructure Development Abstract. This paper investigates the work of creating infrastructure, using as a case study the development of cyberinfrastructure for metagenomics research. Specifically, the analysis focuses on the role of embeddedness in infrastructure development. We expand on the notion of human infrastructure to develop the concepts of synergizing, leveraging, and aligning, which denote the active processes of creating and managing relationships among people, organizations, and technologies in the creation of cyberinfrastructure. This conceptual lens highlights how embeddedness is not only an important result of infrastructure development, but is also a precursor that can act as both a constraint and a resource for development activities. Infrastructures pose numerous theoretical and practical challenges, both in studying them (Star 1999) and in designing them (Ribes & Finholt 2007) . Infrastructures are composed of multitudes of heterogeneous entities and relationships; they emerge and evolve over long time periods and across great physical distances; they often simultaneously have embedded in them, and are embedded in, other infrastructures; they are the result of interactions among many and varied individuals, organizations, and other entities. This paper analyzes the roles of, and relationships between, embeddedness and purposeful action in the development of infrastructure, by studying the development of one particular cyberinfrastructure. We introduce the concept of synergizing to highlight the work that developers of infrastructure do to build and maintain productive relationships among people, organizations, and technologies.. Cyberinfrastructure is a specific class of infrastructure that brings together people, information, and technologies to support research. Cyberinfrastructures employ or develop cutting-edge information technologies to enable large research endeavors with potentially far-reaching impacts, endeavors that could not be undertaken without the existence of such infrastructures. Early advances in this area focused almost exclusively on scientific research, e.g., unifying functional brain imaging scans from multiple distributed work sites (Lee, et al. 2006) . While physical and biological scientists have long been avid consumers and developers of computational technologies, the scope of cyberinfrastructure has broadened to include other domains including humanities and the arts, facilitating the development of such emerging fields as digital humanities research (Davidson and Goldberg 2004) . Cyberinfrastructure represents a shift toward collaborative research in distributed, technologically-supported environments, and it provides a unique research site from which to gain insights about the process of infrastructure development or "infrastructuring" (Karasti & Baker 2004) .. Infrastructures represent complex sets of relationships embedded in and constrained by other systems, making it impossible to predict perfectly in advance what the infrastructure will be or how it will be used. Star pointed out that the properties of infrastructure emerge over time and through use:. Because infrastructure is big, layered, and complex, and because it means different things locally, it is never changed from above. Changes take time and negotiation, and adjustment with other aspects of the systems are involved. Nobody is really in charge of infrastructure. (Star 1999, p. 382) It is important, however, not to take this to mean that infrastructures emerge at random or are completely unpredictable. Such a stance glosses over the role of intention in the development of cyberinfrastructures and can render the day-today work that people do to create infrastructure invisible. Cyberinfrastructures are developed for a reason. Scientists want specific features and need to answer specific research questions. Advisory boards dictate development plans and goals, and the software engineers and other developers work to meet those goals. Cyberinfrastructures that fail to live up to expectations are unlikely to maintain their funding streams. The emergent properties of cyberinfrastructure result in part from a great deal of purposeful action. In this paper we aim to better understand the work of developing infrastructure.. As exemplified in the Star quotation above, the embeddedness of infrastructure can be seen as constraining ongoing development. Infrastructures have relationships with and dependencies on various systems, resources, and other infrastructures, which limit the autonomy of the systems and their developers. In this paper, we recognize this aspect of infrastructure development, but we also understand embeddedness as a resource that cyberinfrastructure developers can use to accomplish work. Developers draw on existing arrangements of relationships to build new infrastructure.. We explore these ideas within an ethnographic study of the work of the Community Cyberinfrastructure for Advanced Marine Microbial Ecology Research and Analysis (CAMERA), a large-scale, multi-year cyberinfrastructure being developed for the nascent marine metagenomics community. While the findings here arise from and relate to cyberinfrastructure, the theoretical contributions in this paper could beneficially be applied to studies of infrastructure more generally. Our investigation reveals a set of collaborative strategies that we call synergizing, which serves as a conceptual lens that draws attention to how infrastructural work is accomplished, specifically, the purposeful creation, management, and enactment of infrastructural relationships, and the pivotal role of embeddedness as an infrastructural resource. To reiterate, it is not so much synergy that interests us, but rather the accomplishment of the process of synergizing. An infrastructure for pushing the boundaries of science is burdened with trying to match and anticipate scientific requirements. Therefore while synergizing occurs constantly, synergy itself is a moving target and an ideal state. The concept of synergizing is a way to frame the work of collaborative infrastructure development in which human infrastructure and the technical elements of infrastructure are brought into alignment in ways that will result in a larger combined effect-the ultimate goal of infrastructure. The achievement of an electricity infrastructure is far more than an aggregate of electrical generators, power lines, and wall outlets; rather it is a shift in the realm of possibility. Similarly, the groups, servers, organizations, and tools of CAMERA will result in a shift of possibility for the science of metagenomics and beyond.. In the case of building cyberinfrastructure, collaboration often occurs across a spectrum of human infrastructure, including organizations, groups, networks, teams, and other collaborative structures. This human infrastructure is brought to bear against a spectrum of technical components ranging from scripts, to web applications, to middleware, to computer clusters. Just as the human infrastructure of cyberinfrastructure (Lee et al. 2006) holds many forms at once and shifts dynamically in the process of work, the technical infrastructure also shifts dynamically as work is accomplished. Understanding cyberinfrastructure requires an approach that considers arrangements of both social and technical relationships together. Cyberinfrastructures are built in the interaction of the social and technical, and synergizing often moves across multiple social and technical structures.. This multiplicity means that a one-dimensional analysis cannot capture the work of creating cyberinfrastructure. A purely organizational analysis of configurations between GBMF, Calit2, and JCVI would likely downplay the interpersonal relationships that support those organizational connections. Similarly, focusing only on the technical work of developing a database schema would not effectively highlight the scientific process of developing genomic metadata standards. Attending too intently to any single category of relationshipsinterpersonal, technical, organizational, etc.-unnecessarily constrains the analysis and limits the researcher's ability to understand how these various complex entities interact. The concept of synergizing not only captures the fact that infrastructuring consists of highly multidimensional processes, but it draws attention to the complexities of the work required to create and maintain productive relationships.. This paper extends our understandings of cyberinfrastructure development in key areas. In many ways, this paper is an expansion of the concept of the Human Infrastructure of Cyberinfrastructure (Lee et al. 2006) . As human infrastructure draws attention to the diversity of collaborative structures that come into play in an infrastructural endeavor, synergizing draws attention to the socio-technical collaborations that are important for the success of infrastructure building. Synergizing is a key mechanism by which the social and technological aspects of infrastructures are connected. Synergizing highlights the work that goes into building and maintaining cyberinfrastructure.. Others have pointed to the tension between "emergence" and "intention" as being a key challenge in infrastructure development (Edwards et al. 2007; Ribes and Finholt 2007) . The synergizing lens allows us to see how they need not be mutually exclusive. Because so much of the work of cyberinfrastructure development involves leveraging and aligning networks of relationships, developers are involved in ongoing decisions about with whom (or with which entities) to interact (leveraging), and how those relationships will work (aligning). GBMF, for example, is more concerned with whom the infrastructure will serve and how CAMERA will relate to other infrastructures than it is with exactly what the CAMERA artifacts will look like. At the same time, developers of cyberinfrastructure also have to manage intentionality from multiple sources and directions. This multiplicity of stakeholders is a key feature of infrastructures. The properties of an infrastructure emerge from the aggregation of multiple, ongoing synergizing-related decisions. Emergence is not accidental, but perhaps unpredictable because of the variety and complexity of intentions.. Finally, leveraging and aligning highlight the dual nature of infrastructural embeddedness. On the one hand, the network of relationships constrains developers' ability to design the system to match their intentions-make too big a change, and the relationships will fall out of alignment and no longer be productive. On the other hand, the network of relationships is a resource for developers-they leverage existing relationships to develop new and stronger relationships. Synergizing lets us see how these two aspects of embeddedness play out as part of infrastructuring.. Synergizing is creating interactions or cooperation to produce a greater combined effect. Synergizing enlists a vast and shifting assortment of technologies and human infrastructure that vary according to scope and size. Interactions and relationships among entities are embedded in a socio-technical web of relationships. In the case of CAMERA we have seen that synergizing can result in durable relationships for this cyberinfrastructure itself, but will also result in durable relationships for any number of other cyberinfrastructures. The day-to-day work of synergizing may seem small, but the ultimate net effect of this infrastructure building is to look forward and change the face of science: in this case, developing the discipline of metagenomics so that it becomes established science. Synergizing is a multidirectional, multidimensional form of collaboration to bring about changes of the importance and complexity of a cyberinfrastructure to establish and support new scientific practices and disciplines. One of the themes that is highlighted in the examples above is that synergizing is a complex socio-technical process: it is impossible to understand the development of cyberinfrastructure fully without considering both technological and social relationships. We found time and again that seemingly technical decisions were being driven by organizational or interpersonal pressures, and vice versa. A good working relationship with the developer may be more important than functionality when choosing a software component. On the other hand, an otherwise viable collaboration may be avoided because it would be too difficult to overcome technology incompatibilities. We find that explanations of how cyberinfrastructure gets built are enriched by considering how relationships between technological, organizational, interpersonal, and community concerns are managed.. We found that resource scarcity often drives synergizing. Developers are trying to be as efficient as possible and do the most with the least. Most cyberinfrastructure projects, CAMERA included, are funded by government or non-profit agencies. There is often not enough time, money, or expertise in the project to build everything internally. One software engineer on the CAMERA project told us:. A lot of it was quite pointedly and deliberately leveraging existing capabilities on campus as distinct from just starting up from scratch and, perhaps even worse, risking reinventing the wheel to do the same thing.. Given this, it is often as appropriate to characterize cyberinfrastructure development as aggregation or assembly rather than creating from a blank slate.. Synergizing is also, in some respects, a strategic response to the structure of academic and non-profit research funding. Funding from agencies like the GBMF and the National Science Foundation tends to come in relatively short-term grants. These agencies also place a high priority on innovation, and structure their funding to support "transformative" and "new" work rather than ongoing support and maintenance activities. One grant administrator told us:. First and foremost, though, we're in the business of doing transformative grant making. And what that means is get it going, accelerate it, and then if it's really got legs, it's gonna stand on its own two feet…. So whatever we start has an end. And they're built that way on purpose.. Some of the components that CAMERA uses began as research projects in their own right, but when their initial grant expired, they found it difficult to get new funding to support ongoing development and maintenance work. However, one of the ways that CAMERA "leverages" a technology is by hiring the developers to be part of the CAMERA team. It is important for CAMERA to have a robust system, so it essentially subsidizes continued development on these components.. Our informants frequently describe their own synergizing work not only in the context of building new relationships, but also as a way to strengthen existing relationships. Leveraging creates networks in which entities are frequently linked through multiple indirect relationships. Two organizations may be linked in a collaboration, but that collaboration is stronger when they are also using the same technologies, their staffs have good interpersonal relationships, they participate in the same consortia, they receive funding from the same sources, etc. The arrangement of relationships becomes more stable, providing more numerous and predictable opportunities for future leveraging. For example, one CAMERA developer told us:. I've also been involved with other projects at UCSD. So, in general what happens whenever there's a new project is they tend to look around to see if there is someone else around here who has done similar work and if they can be leveraged.. The university environment provides a densely connected network of people who have existing professional and interpersonal relationships, have expertise in cyberinfrastructure, and operate within the same organizational hierarchy. Of course, leveraging can simplify the process of setting up relationships with other people, organizations, or technologies. Being on the same campus makes it easier to find and access potential collaborators. But at the same time, leveraging is a way to exploit existing alignments. When this developer draws on existing capabilities on campus, he knows, for example, that it will be easier to pay for services through an internal funds transfer, or to purchase identical hardware using existing vendor contracts. Potential collaborators will be on the same academic calendar and have holidays on the same days. If the developer were to go outside the university, all of these aspects (and many more) could require new alignment work. Leveraging can reduce the scope and amount of alignment work that must be done. This is another example of embeddedness being used as a resource for development work.. Additionally, alignment in these dense and overlapping structures tends to be self-reinforcing. Sharing a metadata standard provides a reason for cyberinfrastructure projects to collaborate in the creation and maintenance of the standard. At the same time, because they are collaborating in the ongoing development of the standard, there is an obvious impetus for them to continue to use it. Because entities are already aligned via multiple organizing structures, ongoing synergizing work is easier and more productive.

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


Affective scene generation Figure 1: Examples of scenes rated by users using our system. One user described these scenes using our rating system as: A new technique for generating virtual environments is proposed, whereby the user describes the environment that they wish to create using adjectives. An entire scene is then procedurally generated, based on the mapping of these adjectives to the parameter space of the procedural models used. This mapping is determined through a pre-process, during which the user is presented with a number of scenes and asked to describe them using adjectives. With such a technique, the ability to create complex virtual environments is extended to users with little or no technical knowledge, and additionally provides a means for experienced users to quickly generate a large, complex environment which can then be modified by hand. With processor and graphics hardware performance increasing at such a rapid rate, the modern desktop machine is more capable of interactively displaying ever larger and more complex virtual environments (VEs). Such environments are particularly useful in the entertainment and education 1 sectors, and as a result of this increase in performance there is a demand for these sectors to make use of larger and more complex VEs.. Sadly, human "hardware" is not as capable of keeping up, which has a two-fold impact:. 1. Creators of VEs are put under immense pressure by having to produce larger and more complex scenes.. 2. Users with little or no technical knowledge but who may have considerable artistic talent are even less able to create compelling VEs. This aspect has a particular impact both in in the education sector and in the developing world.. With regard to designing VEs, the majority of the tools available require that the user has a fairly sophisticated technical training not only in using the tools, but also in understanding other technical concepts related to the field of VEs, physics, and computer graphics in general. Experienced users are able to readily and rapidly use such tools, but most novice or non-technical users are typically at a complete loss. More generally, the interface to VE design prohibits such users from being able to design VEs.. With these thoughts in mind, an ideal technique that addresses these problems should provide the following features:. 1. Allow large and complex VEs to be created quickly.. 2. Provide an interface that supports non-technical users.. We present a new technique intended to solve these problems, after which we provide preliminary results on the use of this technique and outline details on how the technique could be improved. The work presented is still in progress, and more conclusive testing and improvements are planned. For regularly sampled descriptions in A, the technique proposed produces good results and the resulting scenes meet the users' expectations. More conclusive testing needs to still be done to ascertain whether users prefer our technique to that of manually choosing values for the procedural parameters. There are also still several issues that need to be addressed before the system could be considered practical and usable, and areas for future research include the following:. • An alternative approach to having equal radii for all RBFs is to allow the RBFs to have different radii, according to the change of density in training data over A. In doing this, one would need to ensure that all of A is covered by some minimum number of RBFs, as well as avoiding overfitting in denser areas.. • RBFNs were used because they are the most widely accepted form of scattered data interpolation; however, there are many other techniques available, which may produce better results and so should be considered. It could also be argued that, since we rely on data collected from users, the data we are interpolating is inherently noisy, and so techniques for scattered data approximation would be much more appropriate.. • The issue of adjective selection needs to be addressed in more detail, as certain users may feel more comfortable with their own adjectives rather than predetermined ones.. • Presently, the user must assign a value to every adjective when they wish to generate a scene. In practice, a user may wish to omit some adjective, when they do not mind what value the adjective takes on. Means for dealing with this situation would be desirable.. • Currently, each procedural parameter is assigned its own RBFN and so there is no interaction between the parameters. Several ways of approaching this are possible and should be explored, such as a separate function which takes as input all the outputs from the RBFNs and produces new output parameters, or possibly by passing the procedural parameters as inputs to the RBFNs and then repeatedly re-evaluating the RBFNs (and updating their inputs with the most recent RBFN outputs) until the system stabilises. Part of the overall problem has been addressed through the use of procedural modelling techniques. Such techniques take a set of simple inputs and, by applying a set of procedural steps, produce more complex output. The inputs to the techniques can take a variety of forms, including:. • Scalar values: some techniques such as Perlin noise [Ebert et al. 1994 ] require a few simple scalar parameters to control the scale, stretch and number of fractal levels in the generated noise. Most techniques use scalar values in conjunction with other more complex inputs.. • Sets of rules: these are used by L-systems which were first conceived by Lindenmayer [1968] , and later used for computer graphics by Lindenmayer and Prusinkiewicz [1990] . An L-system is a parallel string rewriting technique that iteratively modifies a string based on the rules that are passed as input, and the string is later interpreted to produce graphical output. Such systems are used extensively for modelling plants.. • Procedural techniques allow for components of a virtual environment such as plants, terrain and clouds to be generated by the computer, subject to a set of parameters. However, the number of parameters required by these techniques is, in general, very large -large enough that it is not feasible for a user to simply manipulate the parameters in order to obtain a desired output. The mapping of parameters to perceived results may also not always be intuitive to the user. Furthermore, it is often necessary for parameters from different components to interact in order to achieve truly realistic output: this interaction can be complex and difficult to control when adjusting the parameters by hand.. One possibility for addressing this issue is the use of genetic algorithms [Holland 1995] . The user is shown several scenes, and chooses which scene is "best" or closest to what they desire. Merry et al. [2003] investigated this approach but their study produced a negative result, inferring that users preferred being able to manually select values for the parameters controlling the procedural models. They hypothesise that more parameters 2 are required before the use of genetic algorithms will be better than manually specifying parameters.. Polichroniadis [2001] makes use of a similar technique to ours for human figurine animation. Adjectives are used to describe different animations, and then new styles of animation can be synthesised by choosing several adjectives and interpolating between their animations. We have completed a simple implementation that successfully demonstrates a complete system, from acquiring user descriptions to using these as training data for function approximation, and then allowing the user to specify adjectives and generate new scenes using the resulting function. The scenes generated are presently being controlled by 16 parameters that depict the following procedural elements:. • Landscape: by using Perlin noise and a number of pseudo-randomly placed Gaussian functions with varying properties, an island is created that can mimic flat beaches, rolling hills, rocky cliffs, or even combinations of these.. • Trees: an implementation [Diestel 2003 ] of the techique of Weber and Penn [1995] for generating realistic trees is used. For speed (both of scene generation and of rendering) we currently use pre-generated models of 3 different types of tree (palm, cactus and fir), and these are placed pseudo-randomly over the landscape according to the landscape type (for example: palms on beach areas, cactii on desert and firs on grassland).. • Sky: based on the time of day, the sky changes using the scattering properties described by Preetham [1999] .. • Clouds and rain: Perlin noise is used to generate a cloud texture, and parameter thresholds control rain that is rendered using a particle simulation.. For function approximation, we have used a RBFN as described in Section 3.2. Our RBFN has the following specific properties:. • An RBF is placed at each point in adjective space supplied by the user. This is a widely accepted and adopted approach to placement of the RBFs [Orr 1996 ].. • All of the RBFs in each network have equal and fixed radii. In general, it is possible for the RBFs to have different radii (and even for the individual RBFs to be different radial functions) but exploring these possibilities is beyond the scope of this paper, and most applications of RBFNs also employ equal and fixed radii for their RBFs.. • Associated with each RBF is a regularisation parameter. This is used in a local regularisation step [Orr 1996 ] which seeks to minimise the general cross validation (GCV) criterion. The GCV is an estimated measurement of how much the RBFN will deviate from the theoretically perfect function on other future unknown inputs. The resulting regularisation parameters are used to better control the weights in the network, as well as to remove RBFs from the network which are not required (and which may be causing, for example, over-sampling in certain regions).. To simplify implementation, there is an individual RBFN for each procedural parameter. This is potentially limiting, as it does not allow for parameters to interact with and affect each-other: some possibilities for overcoming this limitation are discussed in Section 6.

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


The Conjugacy Search Problem in Public Key Cryptography: Unnecessary and Insufficient The conjugacy search problem in a group G is the problem of recovering an x ∈ G from given g ∈ G and h = x −1 gx. This problem is in the core of several recently suggested public key exchange protocols, most notably the one due to Anshel, Anshel, and Goldfeld, and the one due to Ko, Lee et al. In this note, we make two observations that seem to have eluded most people's attention. The first observation is that solving the conjugacy search problem is not necessary for an adversary to get the common secret key in the Ko-Lee protocol. It is sufficient to solve an apparently easier problem of finding x, y ∈ G such that h = ygx for given g, h ∈ G. Another observation is that solving the conjugacy search problem is not sufficient for an adversary to get the common secret key in the Anshel-Anshel-Goldfeld protocol. One of the possible generalizations of the discrete logarithm problem to arbitrary groups is the so-called conjugacy search problem (CSP): given two elements g, h of a group G and the information that g x = h for some x ∈ G, find at least one particular element x like that. Here g x stands for x −1 gx. The (alleged) computational difficulty of this problem in some particular groups (namely, in braid groups) has been used in several group based public key protocols, most notably in [1] and [8] .. In this note, we show that solving the conjugacy search problem is unnecessary for an adversary to get the common secret key in the Ko-Lee (or any similar) protocol. This was mentioned, in passing, in the paper [8] , but the significance of this observation was downplayed there. On the other hand, we show that solving the conjugacy search problem (or even the simultaneous conjugacy search problem) is insufficient to get the common secret key in the more sophisticated Anshel-Anshel-Goldfeld protocol because an adversary would also have to solve either the membership search problem or the membership decision problem for a subgroup of the platform group. This raises the stock of the latter protocol and makes one think there might be more to it than meets the eye.

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


The Effect of Invitation Design on Web Survey Response Rates Web surveys present methodological challenges including lower response rates as compared to other survey methods. The literature on invitations to participate in web surveys builds on previous research suggesting that advance letters are cost-effective means for increasing response rates in mail surveys and interviewer-administered surveys. The efficacy and appropriateness of design elements of invitations to participate in a web survey is not yet well understood. This research reports results of a full-factorial experiment (n ¼ 15,652) of five design elements of web survey invitations-invitation mode, subject line, location of URL link, length of the invitation text, and survey time/effort estimate. There were significant effects of different design elements on response rates. The results suggest that some design elements of invitations may have similar effects across subsets of populations, while others may have different effects on different subsets of potential respondents. The literature on invitations to participate in web surveys builds on previous research suggesting that the design of mailed invitations or advance letters can affect response rates in both mail surveys and interviewer-administered surveys (e.g., De Leeuw, Callegaro, Hox, Korendijk, & LensveltMulders, 2007; Dillman, 2007; Dillman, Clark, & Sinclair, 1995; Hembroff, Rusz, Rafferty, McGee, & Ehrlich, 2005) . However, e-mail is a different medium than postal letters as a method of invitation, and the efficacy and appropriateness of design elements of invitations to participate in a web survey are also not yet well understood. While several studies have explored the mode of prenotification to web surveys (Bosnjak, Neubarth, Couper, Bandilla, & Kaczmirek, 2008; Crawford et al., 2004; Harmon, Westin, & Levin, 2005; Kaplowitz, Hadlock, & Levine, 2004) , we are not aware of research on the invitation mode to such surveys. This research attempts to identify ''theoretically consistent . . . strategies for meaningfully improving response rates to web-based surveys'' (Trouteaud, 2004, p. 385) by focusing on invitations to participate in a web survey. We report results of a full-factorial experiment of five design elements of web survey invitations-invitation mode, subject line, location of URL link, length of the invitation text, and survey time/effort estimate. The design of web survey invitations affects response rates, with effects that differ across subpopulations. The longer invitation text significantly increased response rates for faculty and staff and had no significant impact on student response. Placing the URL survey link at the bottom of the invitations also increased response rates. Likewise, use of an authoritative subject line rather than one seeking participation in a survey also increased survey response rates. The use of the mixed postcard/e-mail invitation approach appeared beneficial for student response. Nevertheless, the results demonstrate that using postcards to invite participation in a web survey can work fairly well.. Some practical implications of this study include:. Use multiple contacts and mixed modes to invite web survey participation. Invitations should not be ''too short'' at the expense of completeness and persuasiveness. Longer invitations can have significant and positive effects on response rates for some groups of respondents. Place survey URL near the bottom of web survey invites. Do not overestimate effort/time to take the survey. Provide accurate time/effort estimates. Use of an authoritative, perhaps, familiar sender/subject line can improve response.. The differential effects of the experimental treatments across the three relatively limited populations we studied suggest caution in generalizing the results of this study-or others conducted in specific populations-to other populations or groups, survey topics, or settings. Nonetheless, this study represents an earnest attempt at testing several of the hypotheses relating to the design of survey invitations. Our results suggest that this is a fruitful line of inquiry into methods to improve response rates to web surveys. The results show that invitation mode, all else equal, results in different relative response rates for students, staff, and faculty. E-mail invitations appear to yield higher rates of response than postcard invitations for faculty while postcard invitations resulted in comparable rates to e-mail invitations for the others after three waves of contacts. These results, in line with Porter and Whitcomb (2007) , reveal that a three-contact mixed-method invitation (use of both postcard and e-mail invitations) worked better than three e-mail invitations. This may be due, in part, to the possibility that conventional mail is more novel or stands out to students.. The response rate effects of the other invitation design elements also differed across the three populations. Staff did not respond to the URL invitation design elements like the faculty or the students. The URL placement at the bottom of the invitations is associated with higher response rates for students and faculty. One post hoc explanation may be that placing the URL at the bottom of the invitation encourages recipients to read the entire message, which may increase the legitimacy of the request and motivation for participating. Placing the URL at the top of the invitation is clearly not better for any of our three groups. These results provide support for designing web survey invitations that place survey links in easy to identify locations further down or at the bottom of the message. Of course, the experiment is not an exhaustive test of how and where to place the URL.. While conventional wisdom and some research evidence suggests that mentioning shorter survey time estimates in invitations is better, this did not prove to be the case in our experiment for faculty and staff. Only students receiving invitations with the ''about 10 minutes'' estimate actually responded at a significantly greater rate to the survey invitations (2.1%, p < .001). It may also suggest that the difference between ''about 10 minutes'' and ''less than 30 minutes'' is not as salient for some populations (e.g., faculty and staff) as it may be for others (e.g., students).. Our results indicate that the longer invitation text appears to increase survey response more than the shorter invitations for faculty and staff. The length of invitation text appears to make no difference in student response rates. Invitation text length makes a difference and shorter invitation messages are not necessarily better than longer versions for promoting increased response to web survey invitations. The longer text may convey a more authoritative tone than the shorter text, and/or the longer invitation text may help potential participants understand the elements of the invitation. That is, there may be a ''seriousness'' or ''importance'' signal that the longer text conveys to subjects that accounts for their increased response even if the shorter text touches on those same elements.. The results also support the notion that an authoritative subject line increases response rates to web survey invitations. All three sample populations evidenced significantly greater response rates to invitations that used the authoritative subject line. It may also be that the ''authoritative'' subject line may have increased response because of feelings of affinity with the sender (Guéguen & Jacob, 2002b; Guéguen, Jacob, & Morineau, 2010) .. While the postcard invitations yielded significantly lower response rates for faculty and staff, the rates were not dramatically lower than e-mail invitations for staff, and the difference for students was not significant. This suggests that, despite the inconvenience to recipients of having to type the URL into a web browser, postcard invitations may work for some situations, especially when e-mail addresses are not available. This suggests that more research is needed on mailed versus e-mailed invitations to web surveys. The results also confirm the conventional wisdom that more contacts (more invitations to participate) increase response rates. This note is based on data collected from a campus-wide web survey about recycling and energy conservation that invited response from roughly one third of university students, faculty, and staff (n ¼ 15,652). The web survey instrument and invitations were developed in multiple phases, in an iterative process (Kaplowitz, Lupi, & Hoehn, 2004) . The survey contained a brief informed consent page and several short sections of substantive questions with results reported elsewhere (Kaplowitz, Yeboah, Thorp, & Wilson, 2009 ).

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


Power management in high-level synthesis Abstract-In this paper, 1 we present a power-management methodology targeted toward high-level synthesis of datadominated behavioral descriptions. It is founded on the observation that variable assignment can significantly affect power-management opportunities in the synthesized architecture, i.e., variable assignment determines whether or not spurious operations get executed by functional units in the architecture. We introduce perfectly power managed architectures, whose functional units do not execute any spurious operations. We present a variable assignment technique which, when used in high-level synthesis, produces architectures which are perfectly power-managed. Unlike many previously proposed powermanagement techniques, our method does not add latches or any other circuitry in front of functional units or registers and is, therefore, free of the attendant performance penalty. Experimental results indicate savings of up to 52.5% (average 23.0%) in power consumption over already power-optimized architectures. The area overheads due to our technique are also low and averaged 2.5% for our examples.Index Terms-Digital system design, high-level synthesis, power management, register sharing. High-level synthesis for low power takes as its input a behavioral description in the form of a data-flow graph (DFG) or control-data flow graph (CDFG) and outputs a power-optimized RTL circuit [1] [2] [3] [4] [5] . Power management has been recognized as a very useful technique for reducing power consumption [1] , [6] [7] [8] [9] [10] [11] . It is well known that register binding may introduce spurious switching activity in functional units they feed [8] , [9] . One way to eliminate such spurious switching activity is to add transparent latches at the functional unit input ports [8] . However, the power consumed by the latches themselves reduces the power savings. Also, these latches result in delay overheads that need to be taken into account.. Another approach for reducing spurious switching activity is to reconfigure the multiplexer networks and bind variables to registers in such a way that when a functional unit is going to be idle in the next control step, it takes its inputs from the registers it most recently used and these registers do not load in a new value in this step. In [9] , a technique is proposed to redesign the control logic to configure existing multiplexer networks to minimize (may not eliminate) spurious switching activity in the data path. On the other hand, a register binding method which guarantees a PPM RTL circuit for DFI behaviors, if the multiplexer network is properly designed, was presented in [10] . This method was extended in [11] to CFI behaviors. However, it could not ensure that a given set of functional units is PPM, i.e., did not provide a sufficient condition for CFI behaviors.. We present a sufficient condition to ensure that any given set of functional units in an RTL implementation of both DFI and CFI behaviors is PPM. No such condition has been presented before for CFI behaviors. Based on the sufficient condition, we propose a register binding algorithm for PM circuits.. Acknowledgments: This work was supported in part by Alternative System Concepts under an SBIR contract from Army CECOM and in part by DARPA under contract no. DAAB07-00-C-L516.. Our method does not impact the choice of the scheduling or functional unit binding algorithms and is easy to incorporate into existing high-level synthesis systems. Our experimental results show an average power reduction of 45.9% at an average area overhead of 7.7% compared to power-optimized RTL circuits.. The paper is organized as follows. In Section 2, we give an example to motivate our method. In Section 3, we present a sufficient condition for PPM register binding which leads to a register binding algorithm for power management, and discuss selective PM circuits. In Section 4, we present an experimental platform and one way for incorporating power management checks into existing high-level synthesis tools. We present experimental results in Section 5 and conclude in Section 6. Suppose we have two adders and one comparator. <1 and <2` are bound to the comparator, and +1 and +5 to one of the adders, say adder1, while +2, +3 and +4 to the other one, say adder2. Suppose we bind variables c and x to the same register, and let d have its own, as shown in Figure 2. 2. In state A, the two input values for adder2 correspond to c and d, respectively. Since variable x is defined in state A, the register which c is bound to feeds the value of variable x in state B in which adder2 is supposed to be idle. Assume in state B, the select signals for multiplexers MUX2 and MUX3 are all 0. Then the input values for adder2 correspond to x and d, respectively. This causes spurious switching activity in adder2 in the transition from state A to state B. One way to eliminate the above spurious switching activity is not to bind variables c and x to the same register. Instead, we can bind variables c and f to the same register. We can set the select signals of both MUX2 and MUX3 to 0 in state B, such that registers Reg1 and Reg3 are still selected to feed input ports in1 and in2 of adder2, respectively, as in state A. Moreover, since variable f is not defined in state A, register Reg1 still holds the same value in state B as in state A. Similarly, register Reg3 still holds the same value since no other variable is bound to it. Therefore, no spurious switching activity occurs in adder2 in state B. In this paper, we introduced the concept of perfect power management, which is geared toward eliminating spurious switching activity in the functional units that constitute a datadominated circuit. We demonstrated that the manner in which variables are assigned to registers can have a profound impact on the existence of spurious operations. We derived conditions on variable assignment whose satisfaction guarantees the absence of spurious operations in the functional units that constitute a datapath. We developed an algorithm, based on these conditions, which can be incorporated into an existing high-level synthesis system, to eliminate spurious switching activity in functional units. We implemented our ideas within the framework of an existing high-level synthesis system, geared toward power optimization, and demonstrated up to twofold reduction in power (mean 23.0%, standard deviation 13.3%) at an average area overhead of 2.5% without any degradation in the performance of the synthesized architecture. We demonstrated that by properly binding variables to registers in high-level synthesis, spurious switching activity in functional units can be significantly reduced. We gave a general sufficient condition for a given set of functional units to be free of spurious switching activity in implementations of both DFI and CFI behaviors. Based on this condition, we proposed a register binding algorithm to reduce spurious switching activity in a given set of functional units. We achieved an average 45.9% power reduction at an average 7.7% area overhead compared to already power-optimized architectures. This condition can be applied selectively to power-hungry functional units in the data path.. We also discussed how the controller and/or multiplexers can be redesigned to cooperate with register binding to reduce spurious switching activity in the data path. Dynamic retentive multiplexers can eliminate most spurious switching activity but introduce some extra hardware which is very small compared to that of placing transparent latches before functional units' input ports. Static retentive multiplexers hardly require any extra hardware, but permit some spurious switching activity. In practice, we found that PM register binding with static retentive multiplexers can eliminate most of the spurious switching activity in the benchmarks. High-level synthesis (HLS) has been intensively researched for the productivity of VLSI design, and many high-level synthesis systems have been introduced. It has been shown that HLS tools are especially good choice for specific application domains such as digital signal processing (DSP) circuits or control-dominated circuits. These application areas usually require low powerconsumption for its mobile characteristics. There were many approaches in high-level synthesis to reduce the power consumption of the generated circuit. In [5] [6] functional unit allocation and storage unit allocation algorithms to minimize the switching activity of the nets are introduced. Various low power techniques are applied iteratively based on the switched capacitance calculation in [7] . In [3] inputs of functional units are suitably controlled by changing storage allocation so that functional units can execute only necessary operations. All these schemes assumes flip-flops as storage elements for several reasons. First, using flip-flops is easy to think and to apply algorithms since flipflops can be read and written at the same time. Second, use of latches usually requires two phase clocking scheme which designers are not pond of.. But power consumption of latches is about one third smaller than that of flip-flops and area is also about one third smaller than flip-flop [8] . In addition, the smaller clock capacitance in latch can reduce further power consumption in clock tree. Since much of power consumption in recent chips are due to the clock tree, using latches in high level synthesis of data path will be very beneficial in power point of view. There were some approaches to use latches instead of flip-flops to get these merits. One example in [1] showed up to 50% power saving by using latches. But using multipleclocking scheme is very unpleasant choice for chip designers. In [2] , storage elements implemented with flip-flops are replaced with latches if the input/output behavior of the circuit is not affected. It showed good results for control-dominated circuits, but in datadominated circuits not many of the storage elements meets the conditions for substitution and the change in the waveform of internal signals may cause increase in functional unit power consumption.. With these in mind we will propose a storage allocation method considering the latch-based storage element implementation with single clocking scheme. This paper is organized as follows: Section II describes previous approaches in more detail and Section III gives motivating example showing the possibility of power reduction using latches. Section IV described the binding algorithm used in our approach. Some excremental results are showed and analyzed in Section V and conclusion is made in Section VI. In this paper, we proposed a storage allocation method to enable the storage element being implemented with latch. In general, latch implementation of the circuits requires two phase clocking scheme to correctly pass variables to the next storage elements in consequent operation of the two storage elements. In the proposed scheme, all the storage elements can be implemented with latches using single clock scheme, since the lifetime of variables are modified to guarantee that the variables are valid until it is safely passed to the next storage elements. Since the lifetimes of the variables are slightly modified, the proposed scheme can be applied to any high-level synthesis systems.. According to our experiments, the proposed scheme is equally helpful either when the storage unit power is dominant or when the functional unit power is dominant, contrary to the perfect power management that is useful only when functional unit power is dominant. The power consumption in proposed low power scheme using latch is reduced to 39 ~ 65% of the power consumption in the circuit with simple power management by clock gating. Table 1 AREA AND POWER CONSUMPTION OF BENCHMARK CIRCUITS FOR EACH LOW POWER SCHEME

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


An Area-Saving Decoder Structure for ROMs Abstract-Read-only memories (ROMs) are widely used in both digital communication systems and daily consumer electronics. The major functions of ROMs are storage of data, programs, firmwares, etc. In this paper, a three-dimensional decoding structure for ROMs is proposed. The number of address decoding stages is drastically shortened. Hence, the delay is reduced, as well as the power consumption and area. The analysis of overall transistor count and delay is thoroughly derived. A real 256 8 ROM possessing the proposed decoder is physically fabricated by 0.5-m two-poly two-metal (2P2M) CMOS technology.Index Terms-Area saving, natural encoding, +implant, ready-only memory (ROM) decoder, three-dimensional decoding. R EAD-ONLY memories (ROMs) are an important part of many digital systems, e.g., digital signal processors (DSPs), microprocessors, digital filters, etc. They are particularly important in portable systems due to the storage of programs and data. Hence, the chip size and power consumption need to be enhanced, as well as the improvement of speed. Prior ROM designs were mainly focused on the technology evolution [1] , [4] , [6] , core architecture [5] , [7] , or special-purpose circuit and logic [2] , [3] . The improvement of address decoders and data encoding for ROMs has long been ignored. Most of the prior decoders for ROMs utilized multiplexers to decode the row and column addresses. However, the characteristics of implant ROMs [8] cause the Hamming distance of adjacent words to be one. This feature leads the order of the data words to be stored, which will depend on the decoder structure such that they appear in a nonnatural order, e.g., 0, 2, 5, 3, 1, . The following problems will then be introduced.. 1) Different ROM users will store the data words in different patterns owing to the different decoder structures. 2) Due to the data words stored in various patterns, programs to call the data stored in the ROMs must be adjusted accordingly. 3) Such types of ROMs are very difficult to test. In this paper, we propose a three-dimensional address decoding structure associated with a corresponding data cell encoding arrangement for implant ROMs such that the data words are encoded and stored in the ROMs in a natural pattern, i.e., 0, 1, 2, 3, without any conversion circuits. Our method simplifies the procedure to encode the ROMs and decode the address such that application programs need no adjustment and testing becomes much easier. Not only is the size of the entire decoder shrunk, but the access time and power dissipation is also greatly reduced. We have presented a novel area-saving and high-speed decoder structure for ROMs. The transistor count and the delay have been clearly analyzed and verified. The physical chip implementation using the proposed three-dimensional decoding schemes has also been presented. The simulation results turn out to be very appealing.

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


An optimization algorithm for multimodal functions inspired by collective animal behavior Interest in multimodal function optimization is expanding rapidly since real-world optimization problems often demand locating multiple optima within a search space. This article presents a new multimodal optimization algorithm named as the Collective Animal Behavior (CAB). Animal groups, such as schools of fish, flocks of birds, swarms of locusts and herds of wildebeest, exhibit a variety of behaviors including swarming about a food source, milling around a central location or migrating over large distances in aligned groups. These collective behaviors are often advantageous to groups, allowing them to increase their harvesting efficiency to follow better migration routes, to improve their aerodynamic and to avoid predation. In the proposed algorithm, searcher agents are a group of animals which interact to each other based on the biological laws of collective motion. Experimental results demonstrate that the proposed algorithm is capable of finding global and local optima of benchmark multimodal optimization problems with a higher efficiency in comparison to other methods reported in the literature.Please cite this article as: Cuevas, E., González, M. An optimization algorithm for multimodal functions inspired by collective animal behavior, Soft Computing 17 (3) , (2013), pp. 489-502 This is a preprint copy that has been accepted for publication in Soft Computing 2 algorithm [21] , and elitist-population strategies [22] . However, algorithms based on the GA's do not guarantee convergence to global optima because of their poor exploitation capability. GA's exhibit other drawbacks such as the premature convergence which results from the loss of diversity in the population and becomes a common problem when the search continues for several generations. Such drawbacks [23] prevent the GA's from practical interest for several applications.Using a different metaphor, other researchers have employed Artificial Immune Systems (AIS) to solve the multimodal optimization problems. Some examples are the clonal selection algorithm [24] and the artificial immune network (AiNet) [25, 26] . Both approaches use some operators and structures which attempt to algorithmically mimic the natural immune system's behavior of human beings and animals.On other hand, many studies have been inspired by animal behavior phenomena in order to develop optimization techniques such as the Particle swarm optimization (PSO) algorithm which models the social behavior of bird flocking or fish schooling [27] . In recent years, there have been several attempts to apply the PSO to multi-modal function optimization problems [28, 29] . However, the performance of such approaches presents several flaws when it is compared to the other multi-modal metaheuristic counterparts [26] .Recently, the concept of individual-organization [30, 31] has been widely used to understand collective behavior of animals. The central principle of individual-organization is that simple repeated interactions between individuals can produce complex behavioral patterns at group level [30, 32, 33] . Such inspiration comes from behavioral patterns seen in several animal groups, such as ant pheromone trail networks, aggregation of cockroaches and the migration of fish schools, which can be accurately described in terms of individuals following simple sets of rules [34] . Some examples of these rules [33, 35] include keeping current position (or location) for best individuals, local attraction or repulsion, random movements and competition for the space inside of a determined distance. On the other hand, new studies have also shown the existence of collective memory in animal groups [36] [37] [38] . The presence of such memory establishes that the previous history, of group structure, influences the collective behavior exhibited in future stages. Therefore, according to these new developments, it is possible to model complex collective behaviors by using simple individual rules and configuring a general memory. A large number of real-world problems can be considered as multimodal function optimization subjects. An objective function may have several global optima, i.e. several points holding objective function values which are equal to the global optimum. Moreover, it may exhibit some other local optima points whose objective function values lay nearby a global optimum. Since the mathematical formulation of a real-world problem often produces a multimodal optimization issue, finding all global or even these local optima would provide to the decision makers multiple options to choose from [1] .. Several methods have recently been proposed for solving the multimodal optimization problem. They can be divided into two main categories: deterministic and stochastic (metaheuristic) methods. When facing complex multimodal optimization problems, deterministic methods, such as gradient descent method, the quasi-Newton method and the Nelder-Mead's simplex method, may get easily trapped into the local optimum as a result of deficiently exploiting local information. They strongly depend on a priori information about the objective function, yielding few reliable results.. Metaheuristic algorithms have been developed combined rules and randomness mimicking several phenomena. These phenomena include evolutionary processes (e.g., the evolutionary algorithm proposed by Fogel et al. [2] , De Jong [3] , and Koza [4] and the genetic algorithms (GAs) proposed by Holland [5] and Goldberg [6] ), immunological systems (e.g., the artificial immune systems proposed by de Castro et al. [7] ), physical processes (e.g., simulated annealing proposed by Kirkpatrick et al. [8] , electromagnetism-like proposed by İlker et al. [9] and the gravitational search algorithm proposed by Rashedi et al. [10] ) and the musical process of searching for a perfect state of harmony (proposed by Geem et al. [11] , Lee and Geem [12] , Geem [13] and Gao et al. [14] ).. Traditional GA's perform well for locating a single optimum but fail to provide multiple solutions. Several methods have been introduced into the GA's scheme to achieve multimodal function optimization, such as sequential fitness sharing [15, 16] , deterministic crowding [17] , probabilistic crowding [18] , clustering based niching [19] , clearing procedure [20] , species conserving genetic This paper proposes a new optimization algorithm inspired by the collective animal behavior. In this algorithm, the searcher agents are a group of animals that interact to each other based on simple behavioral rules which are modeled as mathematical operators. Such operations are applied to each agent considering that the complete group has a memory which stores its own best positions seen so far by applying a competition principle. The proposed approach has also been compared to some other wellknown metaheuristic search methods. The obtained results confirm a high performance of the proposed method for solving various benchmark functions. This paper is organized as follows: Section 2 introduces the basic biologic aspects of the algorithm. In Section 3, the proposed algorithm and its characteristics are described. A comparative study is presented in Section 4 and finally in Section 5 the conclusions are discussed. In recent years, several metaheuristic optimization methods have been inspired from nature-like phenomena. In this article, a new multimodal optimization algorithm known as the Collective Animal Behavior Algorithm (CAB) has been introduced. In CAB, the searcher agents are a group of animals that interact to each other depending on simple behavioral rules which are modeled as mathematical operators. Such operations are applied to each agent considering that the complete group hold a memory to store its own best positions seen so far, using a competition principle.. CAB has been experimentally evaluated over a test suite consisting of 8 benchmark multimodal functions for optimization. The performance of CAB has been compared to some other existing algorithms including Deterministic Crowding [17] , Probabilistic Crowding [18] , Sequential Fitness Sharing [15] , Clearing Procedure [20] , Clustering Based Niching (CBN) [19] , Species Conserving Genetic Algorithm (SCGA) [21] , elitist-population strategies (AEGA) [22] , Clonal Selection algorithm [24] and the artificial immune network (aiNet) [25] . All experiments have demonstrated that CAB generally outperforms all other multimodal metaheuristic algorithms regarding efficiency and solution quality, typically showing significant efficiency speedups. The remarkable performance of CAB is due to two different features: (i) operators allow a better exploration of the search space, increasing the capacity to find multiple optima; (ii) the diversity of solutions contained in the h M memory in the context of multimodal optimization, is maintained and even improved through of the use of a competition principle (dominance concept).. Please cite this article as: Cuevas, E., González, M. An optimization algorithm for multimodal functions inspired by collective animal behavior, Soft Computing 17 (3) , (2013), pp. 489-502 This is a preprint copy that has been accepted for publication in Soft Computing 16

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