Horizon occlusion culling for real-time rendering of hierarchical terrains We present a technique to perform occlusion culling for hierarchical terrains at run-time. The algorithm is simple to implement and requires minimal pre-processing and additional storage, yet leads to 2-4 times improvement in framerate for views with high degrees of occlusion. Our method is based on the well-known occlusion horizon algorithm. We show how to adapt the algorithm for use with hierarchical terrains. The occlusion horizon is constructed as the terrain is traversed in an approximate front to back ordering. Regions of the terrain are compared to the horizon to determine when they are completely occluded from the viewpoint. Culling these regions leads to significant savings in rendering. Real-time navigation of detailed terrain models is important for many applications. Since the early days of computer graphics, the military has used flight simulators to train pilots. Flight simulators for commercial airliners soon followed. Simulator technology inevitably made its way into video games. Today real-time terrain navigation is routinely used in other applications such as visualizing a proposed road construction project or data captured by a satellite. The quality of these applications often depends on the size and detail of the terrain models.. The sheer size of terrain models presents several problems. Large models require a lot of memory. Models covering only a few square miles can consist of millions of polygons. Texture-maps for terrain models usually have a high resolution in order to provide sufficient detail at close proximity, which makes them very large. Often only part of the model can fit in memory at any time. Rendering large terrain models at real-time framerates can be challenging. While rendering hardware has made great advances in recent years, even the best hardware can render only a few million polygons per second. Memory bandwidth limitations restrict the amount of texture that can be rendered to a few hundred megabytes per second. These limitations are not a problem when the viewer is close to the ground looking down because large portions of the model fall outside the view frustum and may be culled away. However, when the viewer is looking at the model from high altitude or is looking out horizontally at ground level, arbitrarily large portions of the model may be visible. Since it is currently not possible to render millions of polygons with many megabytes or even gigabytes of texture at high frame rates, rendering large terrain models in realtime requires specialized algorithms.. One solution is to render the terrain using an adaptive level of detail (LOD). Features in the distance do not need to be rendered with the same fidelity as those that are close to the viewer. A smaller, coarser representation may be used for distant features without any noticeable degradation of image quality. Hierarchical terrain representations such a quadtrees are especially well-suited for adaptive LOD and have been used extensively in computer graphics and GIS systems. Quadtrees facilitate choosing a representation with an appropriate resolution for different parts of the model. Adaptive LOD can drop the number of polygons in a given frame from millions down to tens of thousands. Adaptive LOD yields similar exponential reductions in the amount of texture required for a given frame. This is because fewer, lower resolution texture maps can be used to cover large portions of the model.. While adaptive LOD dramatically reduces the polygon count for both high altitude views and horizontal views close to the ground, the polygon counts for horizontal views remain considerably higher than those for other views. This is a characteristic of terrain models. When viewed from above, all of the geometric detail becomes compressed in the viewing direction, so a coarser LOD may be used. Horizontal views require a finer resolution to capture the details of the terrain profiles which leads to a higher polygon count. This is unfortunate because these views tend to be very common in 3D terrain visualization applications. However, the rough features of a terrain that require an increased polygon count also afford an opportunity for optimization, since they often occlude large portions of the terrain model. Occluded regions need not be drawn because they make no contribution to the final image. Figure 1 shows the reduction in rendered geometry due to occlusion culling.. While some work has been done to perform occlusion culling for terrains, most algorithms pre-compute visibility and require significant pre-processing and storage. We present an algorithm to compute occlusions in terrains on-the-fly. It is based on a wellknown technique. With a heightfield, anything below the horizon line is guaranteed to be occluded. By tracking the horizon line of the heightfield as it is rendered in front-to-back order, self-occlusions within the heightfield may be detected. The horizon effectively fuses the occlusion of many individual parts of the terrain. Terrain elements which fall completely below the horizon are culled. The rest of the terrain elements are rendered and are used to update the visiblity horizon as it sweeps through the scene. The contribution of this paper is the application of the occlusion horizon to hierarchical terrains. The algorithm requires minimal preprocessing and additional memory and is simple to implement.. After briefly discussing work related to this paper in Section 2, we give an overview of the terrain rendering algorithm we use in Section 3. Section 4 explains the details of the occlusion culling algorithm. In Section 5 we show the performance enhancements we obtained in rendering a large terrain model containing over 100 million triangles. Finally we make some concluding comments and discuss directions for future work. In this paper we have presented a technique for calculating occlusions on-the-fly for hierarchical terrains using a visibility horizon. The algorithm is easy to implement and requires very little additional storage or precomputation. We obtained improvements in framerate by factors of 2-4 in view configurations such as mountain canyons where most of the terrain is occluded by mountains on either side.. Our model contains both urban and mountainous areas. In order to be able to render models of cities, we would like to extend the algorithm to handle urban environments. Such an extension should be fairly easy. The gridlet quadtree could be augmented to store building location information. Then the algorithm would proceed as in Downs et al. [12] using a plane sweep to process the buildings lying on each gridlet in the proper order. We would also like to explore better occluder representations for gridlets. We have implemented the horizon occlusion culling algorithm in our terrain visualization program. Our terrain model is a 100 x 50 mile area surrounding Salt Lake City, Utah. It was created from DEMs and DOQs obtained from the USGS. The model contains over 100 million triangles and is texture mapped with imagery at one meter per pixel resolution totalling 8GB in size.. To measure the performance enhancements obtained using horizon occlusion culling, we created a predefined course through the model. This course is shown in Figure 7 . Figure 6 shows the timing results we obtained by running our program on a PC with a 2.5GHz Pentium 4 processor and a GeForce 4 graphics card. We also ran the program on an SGI 320 with dual 500 MHz Pentium II processors and a PC with a 1 GHz Athlon processor and a GeForce 3 graphics card. The framerate graphs for each of these platforms were virtually identical varying only in scale due to the relative speed of the hardware. Thus we have included only the graph of the machine with the most up-to-date hardware. We measured typical improvements of twice the framerate for most views on the course with as much as a four times improvement for highly occluded views. Figure 9 shows a breakdown of the amount of time used to calculate which polygons to draw in a frame and the time it took to render them. The calculation time includes the time to perform the horizon occlusion culling algorithm. The algorithm consistently occupied about 40% of the total calculation time for each frame. Even though a large portion of the calculation time is spent in occlusion culling, the overall calculation time using the algorithm is less than without it. This is because much less geometry needs to be processed. The dramatic reduction in polygon count is shown in Figure 8 . Without horizon occlusion culling 2-4 times as many polygons are drawn, none of which make any contribution to the final image.. We chose the course shown Figure 7 because it contains a wide range of view configurations. In part A, the course begins on a flat valley floor with mountains in the distance. The framerates are nearly the same with and without culling because there are few occlusions. Figure 9 shows that with occlusion culling turned on it actually takes more time to calculate which polygons to draw than to render them, due to the extra overhead of the algorithm which is producing little savings. At the end of A, the view approaches a canyon. The framerate steadily increases as the approaching mountains occlude more and more of the model. Part B flies through the canyon for some time. Here the results show that occlusion culling makes a dramatic difference because of the strong occlusion by the canyon walls. At the end of B, the view enters an open area and the framerate drops again. In the middle of part C, the view ascends up a slope which hides almost everything else, producing a rise in framerate. In part D, the view ascends the slope of a high mountain. The framerate rises both with and without culling because many gridlets are culled by the view frustum. Finally, the view ends up on the top of a mountain overlooking the terrain. Here as in part A and the end of part B, few gridlets are completely occluded so occlusion culling yields lesser improvements. A vast amount of research has been conducted in the area of visibility and occlusion culling. A recent paper by Cohen-Or et al. provides an excellent survey of visibility techniques [6] . Visibility algorithms can determine visibility either in a precomputation step or on-the-fly. Precomputed visibility algorithms pre-process a scene to determine which objects are visible from points or regions in space. At run time, only the objects in the pre-calculated set of visible objects for the current viewpoint are drawn. This can result in enormous savings when the size of the set of visible objects is small compared to the number of objects in the scene. The major drawbacks of pre-processing algorithms are that they are limited to static scenes, they can require a lot of storage space to store the visibility information, and the pre-processing step can be very time consuming. These algorithms have been successfully applied to indoor scenes because these environments are static and the potentially visible sets are usually small [1, 22] . Cell-based precomputed visibility algorithms have been applied to outdoor scenes [7, 23] . Schaufler et al. [20] present a general algorithm based on voxelization of occluders which can also be applied to terrains. Stewart [21] pre-computes visibility for hierarchical terrains. A representation of the visibility horizon is created for each vertex of the terrain in a pre-processing step. This information is used at run-time to determine whether a particular vertex is occluded from the current viewpoint.. Another class of occlusion algorithms calculates occlusions on-the-fly. Green et al. [13] and Zhang et al. [24] use hierarchical data structures to calculate occlusions on the pixel level. Bartz et al. [2] use hierarchical spatial subdivision and OpenGL features to detect occlusions, thus taking advantage of graphics hardware. Unfortunately, this approach is limited by expensive framebuffer reads. Hey et al. [14] use a low-resolution grid in combination with an occlusion buffer or z-buffer that is updated in a lazy manner in order to reduce the cost of expensive pixel-level queries. Coorg and Teller [9] classify large occluding polygons and use the support planes of these polygons to determine occlusion of other objects in the scene. Bitner et al. [3] propose a similar algorithm that uses a BSP data structure to merge occluders. Both of these methods require large polygons to be used as occluders. Since terrains typically consist of many small polygons, neither of the algorithms are suitable for terrain rendering.. Occlusion horizons can be used to render 2D-functions and heightfields. Downs et al. [12] show how to use an occlusion horizon for urban environments. Our algorithm also uses an occlusion horizon and thus is similar in many ways to theirs. However, we use an occluder representation that is better suited for large terrains. Our horizon representation is also simpler.. Terrain rendering is another area of research that has received much attention. Hierarchical terrain models may be built on top of a uniform rectangular grid in the form of a quadtree or a restricted quadtree, also called a bintree. These representations have the advantage of compact storage since connectivity and vertex positions are implicit in the regular grid. Quadtrees [5, 16, 19] and bintrees [11, 17] have been used to generate terrain models with an adaptive level of detail. Hierarchical terrains may also be built upon irregular triangle meshes. Since more freedom can be used in selecting the location of vertices, it is often possible to represent a terrain with fewer triangles with these methods than with those based on regular grids. Examples of these types of terrains include Delaunay triangulations [10, 18] and view dependent progressive meshes [15] . Terrains can also be rendered efficiently using voxels [8] .

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


Non-Cooperative Spectrum Access in Cognitive Radio Networks: a Game Theoretical Model Cognitive radio networks provide the capability to share the wireless channel with licensed (primary) users in an opportunistic manner. Primary users have a license to operate in a certain spectrum band; their access can only be controlled by the Primary Operator and is not affected by any other unlicensed (secondary) user. On the other hand, secondary users (SUs) have no spectrum license, and they attempt to exploit the spectral gaps left free by primary users.This work studies the spectrum access problem in cognitive radio networks from a game theoretical perspective. The problem is modeled as a non-cooperative spectrum access game where secondary users access simultaneously multiple spectrum bands left available by primary users, optimizing their objective function which takes into account the congestion level observed on the available spectrum bands.As a key innovative feature with respect to existing works, we model accurately the interference between SUs, capturing the effect of spatial reuse. Furthermore, we consider both non-elastic and elastic user traffic, to model real-time as well as data transfer applications. Finally, we consider an alternative formulation of the spectrum access problem, where players use replicator dynamics to adjust their strategies, and we derive convergence conditions to Nash equilibrium points.We demonstrate the existence of the Nash equilibrium, and derive equilibrium flow settings. Finally, we provide numerical results of the proposed spectrum access game in several cognitive radio scenarios, and study the impact of the interference between SUs on the game efficiency. Our results indicate that the congestion cost functions we propose in this paper lead to small gaps between Nash equilibria and optimal solutions in all the considered network scenarios, thus representing a starting point for designing pricing mechanisms so as to obtain a socially optimal use of the network. Even though the frequency spectrum is the scarcest resource for wireless communications, it results generally underutilized: in fact, actual spectrum usage measurements performed by the FCC's Spectrum Policy Task Force [1] reveal that at any given time and location, much of the prized spectrum lies idle. Such underutilization has stimulated a huge research effort in several domains (e.g., engineering, economics and regulation communities) to propose better spectrum management policies and techniques. For this reason, several dynamic spectrum access techniques have been recently proposed to better utilize the available spectrum, reducing its wastage.. Cognitive radio networks (CRNs) are envisioned to deliver high bandwidth to mobile users via heterogeneous wireless architectures and dynamic spectrum access techniques [2] . Such networks provide the capability to share the wireless channel with primary users in an opportunistic manner. In CRNs, a primary (or licensed) user has a license to operate in a certain spectrum band; his access is generally controlled by the Primary Operator (PO) and should not be affected by the operations of any other unlicensed user. On the other hand, unlicensed (secondary) users have no spectrum license, and they implement additional functionalities to share the licensed spectrum band without interfering with primary users.. In this work, we focus on the dynamic spectrum access problem in cognitive radio networks from a game theoretical perspective 1 . We consider multiple secondary users (SUs) competing in a non-cooperative way for a limited set of frequencies left available by primary users. As a consequence, game theory is the natural framework to study the interactions among such users.. Non-cooperative games for competitive spectrum access in cognitive radio networks have been recently considered in [4, 5, 6, 7, 8, 9, 10] . The works in [9, 10] , which propose static and dynamic spectrum sharing schemes as well as spectrum pricing techniques, are somehow close to our work, but they do not model explicitly the interference between secondary users. This paper overcomes this limitation by proposing a novel game theoretic model that solves the spectrum access problem in cognitive radio networks considering multiple POs and a given set of secondary users. More specifically, we consider a non-cooperative spectrum access game where secondary users access simultaneously multiple spectrum bands left available by primary users, optimizing their objective function which depends both on the total flow transmitted on each link (congestion cost) and the amount of flow that such user transmits on it.. The proposed game model is studied considering both non-elastic and elastic traffic demands (to model real-time as well as data transfer applications) that can be shipped over one or multiple frequency spectrum bands owned by different POs.. As a key innovative feature with respect to existing works, our spectrum access game models explicitly the interference between secondary users as well as the spatial reuse of frequencies. This is achieved introducing user-specific parameters that specify, for each available spectrum band, who are the interferers that contribute to the perceived link congestion.. We demonstrate the existence of the Nash Equilibrium Point (NEP), and derive equilibrium spectrum access settings. Furthermore, we perform a thorough numerical analysis of the proposed game in several CRN scenarios, measuring the efficiency of the equilibria of our game and discussing the causes that lead to efficiency loss. More in detail, we investigate systematically the impact of several parameters (like the number of SUs and wireless channels, as well as the interference between SUs) on the system performance, determining the Price of Anarchy (P oA) of the proposed spectrum access game. The P oA quantifies the loss of efficiency as the ratio between the cost of the worst Nash equilibrium and that of the optimal solution, which could be designed by a central authority. The P oA, therefore, indicates the maximum degradation due to distributed secondary users decisions (anarchy) [11] .. We further model the dynamic spectrum access of SUs in cognitive radio networks as a population game [12] where players use replicator dynamics to adapt their strategies (i.e., the transmitted flows) to the congestion perceived on the available channels. We show that, under some conditions, the spectrum access game admits a potential function and replicator dynamics converges to Lyapunov stable Nash equilibrium points.. In summary, the numerical results indicate that:. • the congestion cost functions adopted in this paper lead to small gaps between Nash equilibria and optimal solutions in all the considered network scenarios, especially for non-elastic traffic, thus representing a starting point for designing pricing mechanisms that foster a socially optimal use of cognitive radio networks.. • The P oA depends significantly on the interference between SUs, and increases with both the number of SUs and that of wireless channels.. • For non-elastic traffic, the P oA is higher with partial interference between users than with full interference. An opposite result holds for elastic traffic, since in this case the solution which maximizes the social welfare is quite unfair, and hence far from the Nash Equilibrium solutions which generally provide more fair spectrum allocations.. • Under replicator dynamics, non-elastic SUs' flows always converge to the Nash equilibrium points of the spectrum access game.. The main contributions of this paper can therefore be summarized as follows:. • a novel non-cooperative spectrum access game where secondary users access simultaneously multiple spectrum bands left available by primary users, optimizing their objective function which depends on the total flow transmitted on a link (congestion cost) and the amount of flow that such user transmits on it. This game is studied taking into account the interference between SUs and considering both non-elastic and elastic traffic demands.. • The determination of the existence conditions for Nash equilibrium points.. • The proposition of an alternative formulation of the spectrum access game based on population games and replicator dynamics.. • A thorough performance analysis of the competitive spectrum access game under different system parameters.. The paper is structured as follows: Section 2 discusses related work. Section 3 introduces the network model, including users' objective functions, as well as the proposed cost functions. Section 4 demonstrates the existence of at least one Nash Equilibrium Point and illustrates a procedure to compute all equilibria for both non-elastic and elastic traffic demands. Section 5 illustrates an alternative formulation of the spectrum access game based on population games, and shows how replicator dynamics converges to Nash equilibrium points. Section 6 analyzes and discusses numerical results for the proposed model in several CRN scenarios. Finally, Section 7 concludes this paper. This paper addressed the spectrum access problem in cognitive radio networks from a game theoretical perspective. The problem has been modeled as a non-cooperative game where secondary users access simultaneously multiple spectrum bands left available by primary users, optimizing their objective function which takes into account the congestiondependent cost functions.. As a key innovative feature with respect to existing works, we modeled accurately the interference between SUs, capturing the effect of spatial reuse, and we also used effective congestion cost functions that ensure good Nash equilibria. We considered both elastic and non-elastic traffic demands, modeling data transfers and real-time applications. Furthermore, we demonstrated the existence of the Nash equilibrium, and we computed equilibrium flow settings. We considered an alternative formulation of the dynamic spectrum access problem based on population games and replicator dynamics. Finally, we performed a thorough numerical analysis of the proposed model, studying the impact of several parameters, like the number of SUs and wireless channels as well as the interference between SUs, on the game efficiency. Our results indicate that:. • the cost functions adopted in this paper enable good Nash equilibria, thus representing a good starting point for designing pricing mechanisms that foster cooperation in cognitive radio networks.. • The P oA depends significantly on the interference between SUs and increases with both the number of SUs and that of wireless channels.. • For non-elastic traffic, the P oA is higher with partial interference between users than with full interference. An opposite result holds for elastic traffic since, in this case, the solution which maximizes the social welfare is generally quite unfair, and hence far from the Nash Equilibrium solutions that provide more fair spectrum allocations.. • Under replicator dynamics, non-elastic SUs' flows converge always to the Nash equilibrium points of the spectrum access game.. Recall that a n k,i = a n i,k , ∀i, k ∈ U, n ∈ V , and a n i,i = 1, ∀i ∈ U, n ∈ V (since each SU i obviously "interferes" with himself on each wireless channel n).. If we focus on a generic channel n, we can verify that any unilateral deviation of SU i on such channel is exactly equal to the difference in function Φ n (f n ). In fact, the following equality holds: Then, by summing up over all wireless channels n, we prove that Equation (A.2) holds, and therefore that the spectrum access game admits Φ as a potential function. A survey on the different functionalities in cognitive radio networks and the related research challenges is presented in [13] . Specifically, the key issues related to spectrum management, spectrum mobility and spectrum sharing are discussed.. A game theoretical overview of dynamic spectrum sharing in cognitive networks is provided in [4] , where several aspects are considered: analysis of network users' behaviors, efficient dynamic distributed design, and optimality analysis. Furthermore, an overview of different approaches to dynamic spectrum sharing is presented in [5] .. In [6] the authors consider the following scenario: a set of K groups of users coexist in the same area, competing for the same unlicensed spectrum band. Each group consists of a single transmitter-receiver pair. The distributed spectrum access problem is modeled as a repeated game, and a self-enforcing truth-telling mechanism is proposed: if any greedy user deviates from cooperation, punishment will be triggered. Through Bayesian mechanism design, users have no incentive to reveal false channel conditions, and the competing users are enforced to cooperate with each other honestly.. A joint power/channel allocation scheme is proposed in [14] to improve the network performance using a distributed pricing approach. In this scheme, the spectrum allocation problem is modeled as a non-cooperative game, with each cognitive radio (CR) pair acting as a player. Each player is interested in maximizing his own achievable rate. A price-based iterative water-filling algorithm is proposed, which enables CR users to reach a good Nash equilibrium.. The previous work is extended in [7] by maximizing the sum-rate achieved by all cognitive radios over all channels. The coordinated channel access problem is formulated under a multi-level spectrum opportunity framework, and is solved with a centralized polynomial-time approximate algorithm.. An oligopoly pricing framework for dynamic spectrum allocation is presented in [8] , in which primary users sell available spectrum to secondary users for monetary return. Furthermore, two approaches (called "strict constraints" and "QoS penalty") are presented to model primary users with limited resources. In the first approach, a low-complexity searching method is proposed to obtain the Nash Equilibrium and prove its uniqueness. In the "QoS penalty" based oligopoly model, a variable transformation method is developed to derive the unique Nash Equilibrium. Moreover, when the market information is limited, three myopically optimal algorithms are provided to enable price adjustment for duopoly primary users.. Both static and dynamic spectrum sharing schemes are introduced in [9] for a cognitive radio network consisting of one primary user and multiple secondary users sharing the same frequency spectrum. First, the authors model the spectrum sharing as an oligopoly market, and a static game is used to obtain the Nash equilibrium for the optimal allocated spectrum size for the secondary users. Then, the authors present a dynamic game in which each secondary user adapts his spectrum sharing strategy based on the observed marginal profit, which is a function of the spectrum price offered by the primary user. Finally, the performance of the proposed scheme is evaluated under different system parameters (e.g., radio channel quality, revenue function and learning rate for dynamic strategy adaptation).. In [10] the authors address the problem of spectrum pricing in a cognitive radio network where multiple primary operators compete with each other to offer spectrum access opportunities to the secondary users. Each of the primary operators aims to maximize its profit under quality of service constraints for primary users. Such situation is formulated as an oligopoly market consisting of a few firms and a consumer; secondary users are infinitesimally small, and they are represented by a utility function from which a demand function is derived. A Bertrand game model is considered and distributed algorithms are proposed to obtain the solution for this game.. These two previous works [9, 10] are quite similar to our problem; however, in [9] , the authors consider only one primary operator and a set of secondary users, while it is more interesting to study the general case with multiple primary operators. Differently from our work, the authors do not take into account the interference between secondary users while expressing their objective functions. The work in [10] differs from ours by considering infinitesimally small secondary users: the authors assume that secondary users form a secondary service as a whole, and such service is represented by a given utility function and as a consequence by a demand function. However, in our work, we study a more general scenario, where multiple primary operators coexist and provide spectrum access to a finite set of secondary users characterized by non-elastic/elastic traffic demands.. Competitive routing games have been the focus of several works like those in [15, 16] , where the network is shared by several users, each one having a non-negligible amount of flow to transmit. These two papers have presented conditions for the existence and uniqueness of the Nash equilibrium point considering general [15] and parallel links networks [16] with special link cost functions (polynomial or M|M|1).. We observe that the spectrum access game proposed in this paper extends the classical routing games considered in [15, 16] , which represent a particular case of our game when full interference exists between all users. In fact, in our proposed game, the congestion cost perceived by each user depends both on the set of users that are transmitting on a given channel (link) and on the interference matrix. This feature captures the essence of spatial reuse in wireless systems in general (and in CRNs, in particular), and complicates consistently the analysis with respect to routing games. In fact, it has been demonstrated that the routing games studied in [15, 16] are characterized by a unique Nash equilibrium when polynomial cost functions (like those we consider in our work) are used. On the other hand, our spectrum access game is characterized by an infinite number of Nash equilibria, as we will show in Section 6.

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


Development of a machine learning technique for automatic analysis of seafloor image data: Case example, Pogonophora coverage at mud volcanoes Digital image processing provides powerful tools for fast and precise analysis of large image data sets in marine and geoscientific applications. Because of the increasing volume of georeferenced image and video data acquired by underwater platforms such as remotely operated vehicles, means of automatic analysis of the acquired image data are required. A new and fast-developing application is the combination of video imagery and mosaicking techniques for seafloor habitat mapping. In this article we introduce an approach to fully automatic detection and quantification of Pogonophora coverage in seafloor video mosaics from mud volcanoes. The automatic recognition is based on textural image features extracted from the raw image data and classification using machine learning techniques. Classification rates of up to 98.86% were achieved on the training data. The approach was extensively validated on a data set of more than 4000 seafloor video mosaics from the Håkon Mosby Mud Volcano. Taking, analyzing, and processing digital images have become important tasks for marine scientists to cope with photographs, satellite images, and geographic information systems (GIS) techniques, caused by a significant increase in image data describing the seafloor. Seabed mapping has been on the rise since the widespread implementation of multibeam sonar, providing marine scientists with georeferenced three-dimensional depictions of seafloor morphology and sediment properties. Multibeam sonar combined with high-resolution digital video information obtained from underwater vehicles such as remotely operated vehicles (ROVs), autonomous underwater vehicles (AUVs), and submersibles enable the creation of benthic habitat maps. These maps are essential to enhance knowledge about and protection of the ocean, as well as its sustainable management. Compared with bathymetric measurements, high-resolution video images provide much more detailed and small-scale information about the seafloor. Also, bathymetric multibeam sonar surveys can cover much larger areas than video surveys, which require a low speed of the research vessel. Therefore, the spatial coverage of video material is unavoidably more fragmentary than bathymetric maps. Compared to the amount of valuable image and video material, only a small portion-often only defined sequences-is analyzed manually in a time-consuming way.. The increasing application of ROVs and AUVs for scientific and engineering objectives results in multimedia information requiring cost-efficient and effective annotation and content-based retrieval methods. Thus, the development of automatic contentbased analysis methods for georeferenced image data from the underwater domain came to the fore of marine science. This study focuses on further developments of the analysis framework that we introduced in Jerosch et al. (2007) , involving the application of machine learning techniques for feature detection, combined with scientific visualization and analysis tools such as GIS, for recognition of characteristic seafloor features at submarine mud volcanoes. Submarine mud volcanoes are characterized by upward flow of mud from deeper geological strata, enhanced temperatures, high inventories and fluxes of methane and other hydrocarbons, and occurrence of specific chemoautotrophic communities (Hjelstuen et al., 1999; Kopf, 2002; Milkov, 2000) .. The enhancements of the software target the detection not only of bacterial mats but also of tube worms living on the seafloor at the Håkon Mosby Mud Volcano (HMMV), located at a depth of 1250 m in the center of the most recent Bear Island fan slide valley (see Fig. 1 ). Both bacterial mats (Beggiatoa) and tube worms (Pogonophora) are strongly related to the enzymatic oxidation of reduced compounds of microbial anaerobic methane oxidation (AOM; Boetius et al., 2000) . Detecting and quantifying AOM areas is an essential task, as AOM is a major biological sink of methane in marine sediments. It is crucial in maintaining a sensitive balance of the greenhouse gas content of the Earth's atmosphere (Hinrichs and Boetius, 2002 Related to the investigation of methane discharge at the Håkon Mosby Mud Volcano, an approach to automatic detection of Pogonophora coverage in georeferenced seafloor video mosaics was developed. The recognition is based on textural features extracted on the basis of cells obtained by partitioning the mosaic data regions into a regular grid. For classification, four state-of-the art machine learning schemes have been applied, with classification rates up to 98.86% in a cross validation on the training data. Further tests based on a larger reference data set covering % 60% of the overall investigation area revealed an average measurable error of % 1:52%.. Means of automatic image analysis are essential to cope with the increasing volume of georeferenced image data acquired by mobile underwater platforms such as ROVs and AUVs. These enable scientists to gain insight into newly acquired data without time-consuming manual analysis. Moreover, such means of automatic ad hoc analysis can be particularly useful for operations planning during an ongoing expedition or on fully autonomous platforms. In the following sections we further discuss the results of the proposed approach. Section 6.1 presents tests based on a different reference data set, where larger regions have been annotated manually by a domain expert. While being annotated more roughly in terms of exact localization of seafloor features, this data set covers much more of the overall investigation area than the training data. This is followed by a detailed analysis of the causes of misdetections in Section 6.2. In this section, results obtained by application of the different machine learning classifiers (see Table 1 ) to the training data are compared. Table 3 lists the best classification rate achieved per classifier using a set of parameters selected as described in Section 4.4 for both feature sets. The best classification rate of 98.86% has been achieved by application of support vector machines (Vapnik, 1995) to the full feature set. These also perform best on the set of selected features.. The K-nearest-neighbors (Aha and Kibler, 1991) and C.45 decision tree classifier (Quinlan, 1993) perform nearly equal. As support vector machines, they perform slightly better on the full feature set. The naive Bayes classifier (John and Langley, 1995) obviously suffers from correlation of features in the full set. This results in much better classification performance on the set of selected features, while still performing worse than the other classifiers.. Support vector machines performed less well than the other classifiers regarding training speed, whereas the training time is still acceptable for the targeted application. The best choices in speed are the K-nearest-neighbors and C.45 decision tree classifiers.. Using the best model on the training data (support vector machines applied to the full feature set, see Table 3 ) the complete image data set has been analyzed. The results are visualized in Fig. 6 . One of the major objectives in the field of automatic image analysis applied to marine sciences is to detect, identify, and track various marine species and seafloor characteristics in underwater video footage acquired by fixed or towed cameras. This includes the possibility of using these techniques for future work on ROVs and AUVs.. The analysis of still photographs and videos in marine sciences is mostly performed manually (e.g., Jerosch et al., 2006b; Kostylev et al., 2001) . Automatic feature detection is not often applied in marine sciences (Guinan et al., 2009; Jerosch et al., 2007; Kohler and Gill, 2006; Zhanga et al., 2005) since the implementation of suitable algorithms is particularly complicated. If the video data come from a towed system, algorithms have to deal with sparse and unstable lighting due to the limitation of energy, and varying speed, angle, and altitude of the camera above the seafloor. The quality of a video stream coming from a ROV is enhanced by a more stable speed, more constant height over ground, and more homogeneous lighting conditions (no energy limitations). For both systems, the algorithms have to track a broad spectrum of known and unknown features occurring at the seafloor.. Due to the variety of technical conditions, quality, and resolution an automatic analysis either is not possible or is more laborious than its benefit justified. In the case of the HMMV, the development of an automatic analysis system was appropriate because of the large amount of acquired image data. Furthermore, the HMMV is one of the well-known submarine mud volcanoes of high latitudes and is the focus of marine scientists from all over the world.. The HMMV is a site of ongoing fundamental research regarding its geology (Feseker et al., 2008; Hjelstuen et al., 1999 Hjelstuen et al., , 2007 Kaul et al., 2006; Milkov et al., 2004; Perez-Garcia et al., 2009; Vogt et al., 1997 Vogt et al., , 1999 , marine geochemistry (Damm and Budéus, 2003; Lein et al., 1999; Sauter et al., 2007) Omoregie et al., 2008; Pimenov et al., 1999; Purser et al., 2009; Smirnov, 2000; Soltwedel et al., 2005) , and biogeochemical habitats (Jerosch et al., 2006a; Milkov et al., 1999) . Several expeditions have been and will be undertaken considering the HMMV as a long-term case study.. 3. Acquisition of the underlying image data set w?>During six dives by the ROV Victor 1 (IFREMER, France), image data were recorded and processed using MATISSE (mosaicking advanced technologies integrated in a single software environment; Allais et al., 2004; Vincent et al., 2003; see Fig. 2 ). This software, developed by IFREMER, creates mosaics from a video stream provided by a camera mounted vertically on the ROV and accomplishes these images with navigation data supplied by acoustic USBL (ultrashort baseline) positioning (Vincent et al., 2003) .. To ensure high-quality imagery, the surveys were performed at an altitude of 3 m above the seafloor. Since the aperture of the camera is 601, the width of the mosaics is about 3 m. The image size varies due to the mosaicking process. On average, the scale is at 0.9162 Â 0.9162 cm per pixel, varying slightly due to varying height over ground. The speed of the ROV was 0.3 m/s at maximum. A single mosaic consists of 500 merged images collected within half a minute during the mosaicking process. It covers an area of about 3 Â (6-7) m. As the mosaics are not rectangular in general, the output images contain regions where no data is available. Such regions are marked black (see Fig. 3b ). Within a treatment (a row of consecutive images), successive images overlap in small parts of their data regions (see Fig. 4 ). The entire image data set consists of 4108 georeferenced video mosaics and covers % 8% of the HMMV area (see Fig. 1 ).

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


Interactive multi-party critiquing for group recommendation Group recommender systems (RS) are used to support groups in making common decisions when considering a set of alternatives. Current approaches generate group recommendations based on the users' individual preferences models. We believe that members of a group can reach an agreement more effectively by exchanging proposals suggested by a conventional RS. We propose to use a critiquing RS that has been shown to be effective in single-user recommendation. In the group recommendation context, critiquing allows each user to get new recommendations similar to the proposals made by the other group members and to communicate the rationale behind their own counterproposals. We describe a mobile application implementing the proposed approach and its evaluation in a live user experiment. Recommender systems (RSs) support users in finding items that best suit their preferences. In order to retrieve products, RSs estimate whether a user would or would not like a certain item. Group recommender systems address decision problems that involve more than one user, such as choosing a movie, a concert, or a restaurant [2] .. The most common approaches to group recommendation start with profiles that represent individual user preferences.. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Such systems either (a) combine the user profiles and then generate recommendations for the aggregated profile, or (b) generate individual recommendations separately and aggregate the results [2] . However, research in social sciences and psychology has shown that there is no ideal method to aggregate individual preferences to generate common recommendations [3] . Moreover, individual opinions evolve during the decision making process and are influenced by the preferences of the other members of the group [3] . Hence, as some other authors have pointed out, group recommendation requires an interactive approach [6] [4] . A group RS should make the group members aware of each others' preferences and facilitate a negotiation to find an agreement, rather than computing over previously-acquired profiles [1] .. One technology that seems appropriate for supporting the negotiation of recommendations is critiquing [5] . Critiquing recommenders accept input from users in the form of feature-specific feedback on presented items. For example, a user viewing a restaurant recommendation might say "Show me a restaurant like this one, but cheaper." This would be a critique of the "price" feature and directs the system to find similar restaurant in a lower price range. As this example shows, critiquing is a conversational activity that looks something like a negotiation, with the system proposing items and the user responding to them. In singleuser applications, critiquing has been shown to be natural and useful mode of recommendation interaction [7] .. Interactive multi-party critiquing (IMPC), the technique proposed in this paper, is an extension of the critiquing concept to a conversation between individuals. An IMPC interaction proceeds through multiple cycles of proposal, critique and counterproposal. Each counterproposal is accompanied by a critique that relates it to prior proposals.. We have implemented IMPC in a mobile phone application for group recommendation of restaurants. The interaction begins when a user proposes a restaurant and makes his preference known to the other party. If for some reason, the proposal is not acceptable, the responding user uses the system's critiquing interface to find an alternative. This counterproposal, along with the critique by which it was generated, is then presented to the originating party. The counterproposal can be critiqued in turn, and the decision making process continues.. This interaction provides two crucial features. One is that the counterproposal is likely to be close to the user's original proposal because it was generated by critiquing that proposal. So, the counterproposal has some likelihood of being acceptable to both parties. Second, the counterproposal is justified by the critique that the user applied: the originating party sees a succinct representation of the reason for the counterproposal. Together these features are intended to help the users to converge on a common solution, through mutual understanding of each other's preferences.. Our hypotheses therefore are that interactive multi-party critiquing is an effective approach to group recommendations and that, compared to simple feature-based search tools, critiquing provides better support for group recommendation and decision making.. In order to test these hypotheses, we developed two system prototypes that support of a pair of users in the exchange of restaurant proposals. In the first system, users exchange counterproposals, as described above, but the proposal are arrived at through feature-based search of the restaurant database, and no critique information is shared. In the second system, interactive multi-party critiquing is used as described above. In a live user experiment, we found that the variant with critiquing is more effective in helping the users finding an agreement, and it is also the one preferred by the users. This research introduces interactive multi-party critiquing for supporting group recommendation through exchanging recommendations. We have argued that, in order to enable a group decision making process, a system should allow users to exchange proposals and help them understand the preferences (motivations) that underlie these proposals. Because the process of critiquing requires users to incrementally articulate their preferences, it is well-suited to support this type of process.. We have described our implementation of IMPC in a mobile recommender for restaurants and shown through a smallscale study that the approach has benefits both in terms of decision-making effectiveness and in decision results. The critiquing-based system enabled the emergence of group consensus, as the exchanged proposals converge to the final selection, and was preferred by users overall. Hence, the critiquing system helped users converge on a common solution. The non-critiquing system tended to encourage "all or nothing" results more likely to satisfy one user than the other.. This work is very suggestive of the potential of IMPC. We are looking at how the technique might be extended to larger groups of users and to recommend other types of items. As mentioned in the Introduction, there are two main approaches to group recommendation [2] . The aggregation based method consists in making recommendations to the individual members of the group and then assembling the results (e.g., by averaging the predicted ratings for the group members and then re-ranking). The model based method consists in modeling the group as a single entity and providing recommendations directly for the group profile. Both of these approaches assume that a common recommendation can be based on existing static individual preference models. But this disregards the fact that in a real situation people's opinions evolve during a group discussion and that the individual preferences can be affected by group behavior [3] .. One system that does incorporate an interactive approach to group recommendation is the CATS system [4] . This system is designed to help a group of friends planning a skiing vacation together. CATS considers both individual and group preferences to generate recommendations and dynamically collects feedback through critiquing. Users have the possibility to revisit a past recommendation after knowing that other members of the group are also willing to do so. So far this is the only example of a system that uses critiquing to update a multi-user model. In [6] , in order to support group decision making, the authors presents an interface that enables the group members to see and reuse the preferences of the others.. In this paper we have suggested a completely different approach: to support a real-time recommendation exchange among the users by enabling them to make proposals whose selection was supported by critiquing. In this way the group has the possibility to interact and explore different possibilities, rather than seeking an "ideal" solution to be imposed by the recommender system.

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


Combinatorial Group Theory and Public Key Cryptography After some excitement generated by recently suggested public key exchange protocols due to Anshel-Anshel-Goldfeld and Ko-Lee et al., it is a prevalent opinion now that the conjugacy search problem is unlikely to provide sufficient level of security if a braid group is used as the platform. In this paper we address the following questions: (1) whether choosing a different group, or a class of groups, can remedy the situation; (2) whether some other "hard" problem from combinatorial group theory can be used, instead of the conjugacy search problem, in a public key exchange protocol. Another question that we address here, although somewhat vague, is likely to become a focus of the future research in public key cryptography based on symbolic computation: (3) whether one can efficiently disguise an element of a given group (or a semigroup) by using defining relations. One of the possible generalizations of the discrete logarithm problem to arbitrary groups is the so-called conjugacy search problem: given two elements a, b of a group G and the information that a x = b for some x ∈ G, find at least one particular element x like that. Here a x stands for xax −1 . The (alleged) computational difficulty of this problem in some particular groups (namely, in braid groups) has been used in several group based cryptosystems, most notably in [1] and [13] . However, after some initial excitement (which has even resulted in naming a new area of "braid group cryptography" -see [3] , [4] ), it seems now that the conjugacy search problem in a braid group may not provide sufficient level of security; see [18] for explanations.. Therefore, one faces the following two natural questions:. Question 1 Is there a group, or a class of groups, where the public key exchange protocol suggested in [1] would be secure enough to be used in real-life applications?. Question 2 Is there another "hard" problem in combinatorial group theory that can be used, instead of the conjugacy search problem, in a public key exchange protocol?. Without a positive answer to at least one of these questions, it is unlikely that combinatorial group theory will have a significant impact on public key cryptography, which is now dominated by methods and ideas from number theory.. We point out one more question, which has not been getting sufficient attention so far, but is likely to become a focus of the future research in public key cryptography based on symbolic computation: Question 3 Can one efficiently disguise an element of a given group (or a semigroup) by using defining relations?. Disguising an element before transmission is sometimes called "diffusion"see e.g. [6] . The importance of this is rather obvious: if, for example, one transmits a conjugate xax −1 of a public element a "as is", i.e., without diffusion, then the opponent can determine the private element x just by inspection. Similar problem arises in any other public key exchange protocol. In protocols based on ideas from number theory, the diffusion is usually provided "automatically", due to various properties of the decimal or other numerical system that is used. For instance, in the product 7· 3=21, the factors 7 and 3 cannot be determined just by inspection; this is provided simply by the way we multiply integers in the decimal system, or, equivalently, by the existence of a simple "normal form" for integers.. In abstract groups, we usually do not have this facility. In fact, in an abstract group (or a semigroup), the result of multiplication is simply concatenation: a · b = ab, i.e., an extra effort is always required to disguise factors in a product. This is why a diffusion mechanism is of paramount importance in any public key exchange protocol based on symbolic computation.. We note here that recent work of Myasnikov and Ushakov [16] makes it appear likely that, speaking somewhat informally, in a "generic" group, the amount of work needed to disguise a "generic" element by using defining relations is about the same as needed to recover an element from its disguised form. This, of course, is unacceptable in cryptographic applications. It seems that the difficulty in disguising an element of a group (or a semigroup) by using defining relations might be a major obstacle for using symbolic computation in public key cryptography, and the problem of diffusion will therefore take the center stage in future research.. In this paper, we contribute toward a solution of this problem in section 7 by breaking down defining relations of a group into "small pieces". More formally, we replace a given group by an isomorphic group where all relators have length at most 3. Intuitively, diffusion should be easier to achieve in groups with shorter defining relations, so we hope that our idea can be useful.. As far as other questions are concerned, we have to say up front that, in our opinion, Question 1 has a smaller chance for a positive answer, and it is unlikely that the conjugacy search problem will be used in real-life implementations. Nevertheless, we study Question 1 here in section 6 by exploring the idea of using random groups from a sufficiently large class of groups instead of a single group. Technically, braid groups, too, are a class of groups, but this class is too narrow in the sense that, informally speaking, any (meaningful) algorithm that works for a particular group B n , n ≥ 5, would also work for B m for any m ≥ 5. We may call such a class of groups "algorithmically homogeneous". Here we draw attention to a more diverse class of small cancellation groups that satisfy small cancellation conditions C(4), T (4), but not C (1/6) (see [14] ). The latter is needed to try to avoid hyperbolic groups (all finitely presented C (1/6) groups are hyperbolic), where the conjugacy search problem can be solved very quickly (see [10] and [11] for discussion).. In the class of groups with small cancellation conditions C(4) and T (4), the word problem is solvable in quadratic time (see [14, Theorem V.6.3]), which meets the necessary condition for an efficient common key extraction by authorized parties. We note in passing that the existence of a unique normal form for elements of a particular group G is not necessary for common key extraction, as observed in [1] . If Alice and Bob have arrived at a point where Alice has an element, say, u, and Bob has an element v such that u = v in G, then they can establish a common key as follows. Alice chooses, privately, a finite binary sequence b 1 , b 2 , . . ., which is going to be her common secret key with Bob. She then transmits a sequence of group elements u 1 ,. We note that there is no known polynomial time algorithm for solving the conjugacy search problem in an arbitrary group with small cancellation conditions C(4) and T (4).. In section 2, we consider a different problem from combinatorial group theory that can be used in a public key exchange protocol. This is yet another generalization of the discrete logarithm problem. Given a group G with the semigroup of endomorphisms End G, suppose there are two subsemigroups, A ⊆ End G and B ⊆ End G, such that for any α ∈ A and β ∈ B, one has αβ = βα. Let w ∈ G be a public element. Then the key exchange protocol is quite standard: Alice chooses, privately, some α ∈ A and sends α(w) to Bob. Bob chooses some β ∈ B and sends β(w) to Alice. Since αβ = βα, both end up with a common private key α(β(w)) = β(α(w)).. The point is, of course, in selecting a platform group G and semigroups A, B ⊆ End G wisely, so that the corresponding key exchange protocol is both secure and efficient. One special case of such arrangement appears in [13] , where G is a braid group B n , and A, B consist of inner automorphisms (i.e., conjugations). This arrangement however makes the cryptosystem vulnerable to so-called "length based" attacks (see e.g. [5, 7, 9] ) because applying a generic automorphism to a generic element of a group tends to increase the length of (the normal form of) this element. To avoid attacks of this kind, we suggest here using non-injective endomorphisms; the effect of such an endomorphism on the length of an element is no longer predictable.. Again, in section 4, we suggest using a large class of groups instead of a fixed group and selecting a random group from this class every time one wants to initiate a public key exchange protocol. A particular class of groups that we consider here is the class of Artin groups of extra large type. Groups in this class are known to be automatic [17] , which implies, in particular, that the word problem in any group from this class is solvable in quadratic time. Further details are given in section 5.. Finally, we note that, as a further generalization, one can use arbitrary welldefined mappings α, β (not necessarily endomorphisms) of a group G in the above context. A simple example of that kind was given in [12] ; see also our section 2.

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


Staged

self-assembly

and

polyomino

context-free

grammars

Previous

work

by

Demaine

et

al.

(Nat

Comput

developed

a

strong

connection

between

smallest

context-free

grammars

and

staged

selfassembly

systems

for

one-dimensional

strings

and

assemblies.

We

extend

this

work

to

two-dimensional

polyominoes

and

assemblies,

comparing

staged

self-assembly

systems

to

a

natural

generalization

of

context-free

grammars

we

call

polyomino

context-free

grammars

(PCFGs).

We

achieve

nearly

optimal

bounds

on

the

largest

ratios

of

the

smallest

PCFG

and

staged

self-assembly

system

for

a

given

polyomino

with

n

cells.

For

the

ratio

of

PCFGs

over

assembly

systems,

we

show

that

the

smallest

PCFG

can

be

an

Xðn=

log

nÞ-factor

larger

than

the

smallest

staged

assembly

system,

even

when

restricted

to

square

polyominoes.

For

the

ratio

of

assembly

systems

over

PCFGs,

we

show

that

the

smallest

staged

assembly

system

is

never

more

than

a

Oðlog

nÞ-factor

larger

than

the

smallest

PCFG

and

is

sometimes

an

Xðlog

n=

log

log

nÞ-factor

larger.

In

the

the

Ph.D.

thesis

of

Winfree

introduced

a

theoretical

model

of

self-assembling

nanoparticles.

In

this

model,

which

he

called

the

abstract

tile

assembly

model

(aTAM),

square

particles

called

tiles

attach

edgewise

to

each

other

if

their

edges

share

a

common

glue

and

the

bond

strength

is

sufficient

to

overcome

the

kinetic

energy

or

temperature

of

the

system.

The

products

of

these

systems

are

assemblies:

aggregates

of

tiles

forming

via

crystal-like

growth

starting

at

a

seed

tile.

Surprisingly,

these

tile

systems

have

been

shown

to

be

computationally

universal

(Winfree

Cook

et

al.

self-simulating

(Doty

et

al.

and

capable

of

optimally

encoding

arbitrary

shapes

(Rothemund

and

Winfree

Adleman

et

al.

Soloveichik

and

Winfree

In

parallel

with

work

on

the

aTAM,

a

number

of

variations

on

the

model

have

been

proposed

and

investigated.

One

well-studied

variant

called

the

hierarchical

(Chen

and

Doty

or

two-handed

assembly

model

(Demaine

et

al.

eliminates

the

seed

tile

and

allows

tiles

and

assemblies

to

attach

in

arbitrary

order.

This

model

was

shown

to

be

capable

of

(theoretically)

faster

assembly

of

squares

(Chen

and

Doty

and

simulation

of

aTAM

systems

(Cannon

et

al.

including

capturing

the

seedoriginated

growth

dynamics.

A

generalization

of

the

model

proposed

by

Demaine

et

al.

is

the

staged

assembly

model,

which

allows

the

assemblies

produced

by

one

system

to

be

used

as

reagents

(in

place

of

tiles)

for

another

system,

yielding

systems

divided

into

sequential

assembly

stages.

They

showed

that

such

sequential

assembly

systems

can

replace

the

role

of

glues

in

encoding

complex

assemblies,

allowing

the

construction

of

arbitrary

shapes

efficiently

while

only

using

a

constant

number

of

glue

types,

a

result

impossible

in

the

aTAM

or

To

understand

the

power

of

the

staged

assembly

model,

Demaine

et

al.

studied

the

problem

of

finding

the

smallest

system

producing

a

one-dimensional

assembly

with

a

given

sequence

of

labels

on

its

tiles,

called

a

label

string.

They

proved

that

for

systems

with

a

constant

number

of

glue

types,

this

problem

is

equivalent

to

the

well-studied

problem

of

finding

the

smallest

context-free

grammar

whose

language

is

the

given

label

string,

also

called

the

smallest

grammar

problem

(see

Lehman

Charikar

et

al.

For

systems

with

unlimited

glue

types,

they

proved

that

the

maximum

ratio

of

the

size

of

the

smallest

context-free

grammar

deriving

a

string

s

of

length

n

over

the

size

of

the

smallest

system

producing

an

assembly

with

label

string

s,

called

the

separation,

is

Xð

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi

n=

log

n

p

Þ

and

Oððn=

log

nÞ

Þ.

In

this

paper

we

consider

the

two-dimensional

version

of

this

problem:

finding

the

smallest

staged

assembly

system

producing

an

assembly

with

a

given

label

polyomino.

For

systems

with

constant

glue

types

and

no

cooperative

bonding,

we

prove

that

the

separation

of

grammars

over

these

systems

is

Xðn=ðlog

log

nÞ

Þ

for

polyominoes

with

n

cells

(Sect.

and

Xðn=

log

nÞ

when

restricted

to

rectangular

(Sect.

or

square

(Sect.

polyominoes

with

a

constant

number

of

labels.

Adding

the

restriction

that

each

step

of

the

assembly

process

produces

a

single

product,

we

achieve

Xðn=

log

nÞ

separation

for

general

polyominoes

with

a

single

label

(Sect.

We

also

consider

the

separation

of

staged

assembly

systems

over

grammars,

i.e.

the

maximum

ratio

of

the

size

of

the

smallest

system

over

the

size

of

the

smallest

grammar

for

polyominoes

with

n

cells.

For

this

measure

we

achieve

bounds

of

Xðlog

n=

log

log

nÞ

(Sect.

and,

constructively,

Oðlog

nÞ

(Sect.

For

all

of

these

results,

we

use

a

simple

definition

of

context-free

grammars

on

polyominoes

that

generalizes

the

context-free

grammars

of

Demaine

et

al.

When

taken

together,

these

results

give

a

nearly

complete

picture

of

how

smallest

context-free

grammars

and

staged

assembly

systems

compare.

For

some

polyominoes,

staged

assembly

systems

are

exponentially

smaller

than

context-free

grammars

(Oðlog

nÞ

versus

Xðn=

log

nÞ).

On

the

other

hand,

given

a

polyomino

and

grammar

deriving

it,

one

can

construct

a

staged

assembly

system

that

is

a

(nearly

optimal)

Oðlog

nÞ-factor

larger

and

produces

an

assembly

with

a

label

polyomino

replicating

the

polyomino.

A

summary

of

these

results

is

the

following:

''Up

to

logarithmic

factors,

SASs

and

SSASs

are

never

worse

than

polyomino

context-free

grammars

(PCFGs)

and

sometimes

are

far

better''.

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