Applying 4-regular grid structures in large-scale access networks Abstract 4-Regular grid structures have been used in multiprocessor systems for decades due to a number of nice properties with regard to routing, protection, and restoration, together with a straightforward planar layout. These qualities are to an increasing extent demanded also in largescale access networks, but concerning protection and restoration these demands have been met only to a limited extent by the commonly used ring and tree structures. To deal with the fact that classical 4-regular grid structures are not directly applicable in such networks, this paper proposes a number of extensions concerning restoration, protection, scalability, embeddability, flexibility, and cost. The extensions are presented as a tool case, which can be used for implementing semi-automatic and in the longer term full automatic network planning tools. The Internet is to an ever-increasing extent becoming a part of every day life for people all over the world. While it was traditionally used for best-effort services such as email, news, FTP, and to some extent WWW, a large variety of applications have now been developed that demand higher levels of QoS and reliability. In order to support this, new protocols such as Intserv and Diffserv have been developed together with different protection and restoration schemes.. While most households today receive telephony, television, and radio by dedicated technologies for each medium, this is expected to change as virtually all media are becoming able to communicate via Internet protocols and consequently make use of the same physical connections [1] . Together with an increasing use of telerobotics [2, 3] , tele operations [4] , and other critical applications, the access networks are becoming a critical part of the whole communication infrastructure. Even though protocols are being developed to ensure reliability, the physical network structures limit what level of reliability can be offered: communication between two nodes is only possible if there is a physical connection between them. In a tree-based network structure there exists only one path between any pair of nodes, making it vulnerable to attacks and failures. Obvious and commonly used alternatives to tree structures are ring structures, which offer connectivity in case of any single failure. However, given the expected demands of reliability, this is likely to become insufficient in near future.. The study of structural and topological properties of networks is highly relevant because Fiber To The Home is about to replace the old copper-based telephony infrastructure in many countries worldwide. This is a unique opportunity to implement a structure almost from scratch. At the same time, it is a huge task, especially because it requires a huge amount of duct digging. This together with the fact that fibre infrastructures are expected to have a long lifetime because they are upgradeable by changing end equipment only is a major argument for choosing network structures with good and predictable properties.. It has been shown that node symmetry, maximal connectivity, and regularity are important properties to satisfy for robust network structures [5] . A regular structure is a structure where all nodes are connected by the same number of lines n, and given n, such a structure is said to be n-regular. 2-Regular structures are equivalent to rings, and inherently node symmetric and maximally connected. The next step, discussed in this paper, is to consider 3-regular or 4-regular structures, which are preferably node symmetric and maximally connected, but at least sufficiently regular and symmetric to benefit from these properties. Among the 3-regular structures, the group of N2R(p; q) structures has been introduced as a generalization of double rings. Another set of 3-regular structures, the honeycomb structures, has been introduced for multiprocessor systems [6] , but most of these results are directly transferable to large-scale networks. However, some hierarchical extensions must be developed for these structures to perform reasonably well with regard to average distances and diameters, and this challenge has not yet been met.. 4-Regular grid structures have been used for multiprocessor systems in decades due to their nice properties with respect to routing and restoration, and they were recently suggested used as a base for access network structures as well [7, 8] . This paper is an extension of these two conference papers. In addition to the results previously published, it contains a more clear and in-depth presentation of the theory, as well as new results obtained by pruning the structures as described in Section 6. A few of the previously published results are not presented in this paper, in order to make it more straightforward to read.. The main contribution of the work presented, is a number of extensions of the 4-regular grid structures. While the basic structures are suitable for multiprocessor systems, the extensions presented are required in order to be able to apply the structures in large-scale networks and planning hereof. This work forms the base for developing semiautomatic and in the longer term full automatic network planning tools.. The remainder of the paper is organized as follows: Section 2 introduces preliminaries, background, and notation. Section 3 introduces the basic 4-regular grid structure, which forms a base for the extensions provided in Sections 4-6. Section 4 introduces restoration and protection schemes. The two other important extensions introduced are the hierarchical extension (Section 5) and the pruning (Section 6). Section 7 provides some tools for embedding the structures in real-world networks, leading to the discussion on applying the theory in real-world network planning given in Section 8. Section 9 concludes the paper.

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


Secure and Self-Stabilizing Clock Synchronization in Sensor Networks Abstract. In sensor networks, correct clocks have arbitrary starting offsets and nondeterministic fluctuating skews. We consider an adversary that aims at tampering with the clock synchronization by intercepting messages, replaying intercepted messages (after the adversary's choice of delay), and capturing nodes (i.e., revealing their secret keys and impersonating them). We present the first self-stabilizing algorithm for secure clock synchronization in sensor networks that is resilient to such an adversary's attacks. Our algorithm tolerates random media noise, guarantees with high probability efficient communication overheads, and facilitates a variety of masking techniques against pulse-delay attacks in the presence of captured nodes. Accurate clock synchronization is imperative for many applications in sensor networks such as mobile object tracking, detection of duplicates, and TDMA radio scheduling. Broadly speaking, existing clock synchronization protocols are too expensive for sensor networks because of the nature of the hardware and the limited resources that sensor nodes have. The unattended environment, in which sensor nodes typically reside, necessitates secure solutions and autonomous system design criteria that are self-defensive against a malicious adversary.. To illustrate an example of clock synchronization importance, consider a mobile object tracking application which monitors objects that pass through the network area (see [2] ). Nodes detect the passing objects, record the time of detection, and send the estimated trajectory. Inaccurate clock synchronization would result in an estimated trajectory that could differ significantly from the actual one.. We propose the first self-stabilizing algorithm for clock synchronization in sensor networks with security concerns. We consider an adversary that intercepts messages that it later replays. Our algorithm guarantees automatic recovery after the occurrence of arbitrary failures. Moreover, the algorithm tolerates message omission failures that might occur, say, due to the algorithm's message collisions or due to random media noise.. The propagation delay of messages in short distance wireless communications allows nodes to use broadcast transmissions to approximate pulses that mark the time of real physical events (i.e., beacon messages). In the pulse-delay attack, the adversary snoops messages, jams the synchronization pulses, and replays them at the adversary's choice of time (see [9, 10, 19] ).. We are interested in fine-grained clock synchronization, where there are no cryptographic counter measures for such pulse-delay attacks, e.g., the nonce techniques strive to verify the freshness of a message by issuing pseudo-random numbers for ensuring that old communications could not be reused in replay attacks (see [18] ). Unfortunately, the lack of fine-grained clock synchronization implies that the round-trip time of message exchange cannot be efficiently estimated.. The system strives to synchronize its clocks while forever monitoring the adversary. We assume that the adversary cannot break existing cryptographic primitives for sensor networks by eavesdropping (e.g., [18, 22] ). However, we assume that the adversary can capture nodes, reveal their entire state (including private variables), stop their execution, and impersonate them.. We assume that, at any time, the adversary has a distinct location in space and a bounded influence radius, uses omnidirectional broadcasts from that distinct location, and cannot intercept broadcasts for an arbitrarily long period. (Namely, we consider a model that is comparable to the one of Gilbert et al. [11] , which considers the minimal requirements for message delivery under broadcast interception attacks.) We explain how, by following these realistic assumptions, we can sift out responses to delayed beacons.. A secure synchronization protocol should mask attacks by an adversary that aims to make the protocol give an erroneous output. Unfortunately, due to the unattended environment and the limited resources, it is unlikely that all the designer's assumptions hold forever, e.g., over time, the number of captured nodes becomes sufficiently large for the adversary to tamper with the clock.. We consider systems that have the capability of monitoring the adversary , and then stopping it by external intervention. In this case, the nodes start executing their program from an arbitrary state. From that point on, we require rapid system recovery. Self-stabilizing algorithms [3, 4] cope with the occurrence of transient faults in an elegant way. Self-stabilizing systems can be started in any configuration, which might occur due to the occurrence of an arbitrary combination of failures. From that arbitrary starting point, the algorithm must ensure that it accomplishes its task if the system obeys the designer's assumptions for a sufficiently long period.. We focus on the fault-tolerance aspects of secure clock synchronization protocols in sensor networks. Our objective is to design a distributed algorithm for sampling n clocks in the presence of t incorrect nodes (i.e., faulty or captured). The clock sampling algorithm facilitates clock synchronization using a variety of existing masking techniques to overcome pulse-delay attacks in the presence of captured nodes, e.g., [9, 10] uses Byzantine agreement (requires 3t + 1 ≤ n), and [19] considers the statistical outliers (requires 2t + ǫ ≤ n, where ǫ ∈ O(1)).. Our Contribution We present the first design for secure and self-stabilizing clock synchronization in sensor networks that is resilient to an adversary that can capture nodes and launch pulse-delay attacks. Our design tolerates transient failures that may occur due to temporary violation of the designer assumption, e.g., the adversary captures more than t nodes and then stops. After the system resumes operation according to designer assumption, the algorithm secures with high probability clock precision that is O((log n). 3 ) times the optimum, where Ω(n 2 ) is the optimum and n is the number of sensor nodes. We assume that (before and after the system's recovery) there are message omission failures, say, due to random media noise or the algorithm's message collision. The correct node sends beacons and responds to the other nodes' beacons. We use a randomized strategy for beacon scheduling that guarantees collision avoidance with high probability. Document structure. We start by describing the system settings (Section 2) and formally present the algorithm (Section 3). Then we review the literature and draw our conclusions (Section 4). Sensor networks are particularly vulnerable to interference, whether as a result of hardware malfunction, environmental anomalies, or malicious intervention. When dealing with message collisions, message delays and noise, it is hard to separate malicious from non-malicious causes. For instance, it is hard to distinguish between a pulse delay attack from a combination of failures, e.g., a node that suffers from a hidden terminal failure, but receives an echo of a beacon. Recent studies consider more and more implementations that take security, failures and interference into account when protecting sensor networks (e.g., [11, 5] ). We note that many of the existing implementations assume the existence of a fined grained synchronized clock, which we implement.. Ganeriwal et al. [9, 10] overcome the challenge of delayed beacons using the round-trip synchronization technique, and the Byzantine agreement protocol [13] . Thus, Ganeriwal et al. requires 3t + 1 ≤ n. Song et al.'s [19] consider a different approach that uses the reference broadcasting synchronization technique. Existing statistics models refer to malicious time offsets as outliers. The statistical outlier approach is numerically stabile for 2t + ǫ ≤ n ≤ 3t + 1, where ǫ is a safety constant (see [19] ). We note that both approaches are applicable to our work. However, based on our practical assumptions, we are able to avoid the Byzantine agreement overheads and follow the approach of Song et al. [19] . They assume the existence of a distributed algorithm for sending beacons and collecting their responses. This work presents the first design of that algorithm.. The generalized extreme studentized deviate (GESD) algorithm [17] can be used to detect outliers. We note that there exists self-stabilizing version of Song et al.'s [19] strategy. Let B be the set of "recently" delivered beacon records. By "recently", we mean that within a predefined period, ̺ ∈ O(D), the node removes old records from B, where ̺ depends on ξ, i.e., the number of broadcasts it takes to assure message delivery. The algorithm tests set B for outliers.. Existing implementations of secure clock synchronization protocols [22, 21, 9, 8, 15, 10, 19] are not self-stabilizing. Thus, their specifications are not compatible with security requirements for autonomous systems. In autonomous systems, the self-stabilization design criteria are imperative for secure clock synchronization. For example, many existing implementations require initial clock synchronization prior to the first pulse-delay attack (during the protocol set up). This assumption implies that the system uses global restart for self-defense management, say, using an external intervention. We note that the adversary is capable of intercepting messages continually. Thus, the adversary can risk detection and intercept all pulses for a long period. Assume that the system detects the adversary's location and stops it. Nevertheless, the system cannot synchronize its clocks without a global restart.. Sun et al. [20] describe a cluster-wise synchronization algorithm that is based on synchronous rounds. The authors assume that a Byzantine agreement algorithm [13] synchronizes the clocks before the system executes the algorithm. Our algorithm is comparable with the requirements of autonomous systems and makes no assumptions on synchronous rounds or start.. Manzo et al. [15] describe several possible attacks on an (unsecured) clock synchronization algorithm and suggest counter measures. For single hop synchronization, the authors suggest using a randomly selected "core" of nodes to minimize the effect of captured nodes. The authors do not consider the cases in which the adversary captures nodes after the core selection. In this work, we make no assumption regarding the distribution of the captured nodes. Farrugia and Simon [8] consider a cross-network spanning tree in which the clock values propagate for global clock synchronization. However, no pulse-delay attacks are considered. Sun et al. [21] investigate how to use multiple clocks from external source nodes (e.g., base stations) to increase the resilience against an attack that compromises source nodes. In this work, there are no source nodes.. In [22] , the authors explain how to implement a secure clock synchronization protocol. Although the protocol is not self-stabilizing, we believe that some of their security primitives could be used in a self-stabilizing manner when implementing our self-stabilizing algorithm.. Herman and Zhang [12] present a self-stabilizing clock synchronization algorithm for sensor networks. The authors present a model for proving the correctness of synchronization algorithms and show that the converge-to-max approach is stabilizing. However, the converge-to-max approach is prone to attacks with a single captured node that introduces the maximal clock value whenever the adversary decides to attack. Thus, the adversary can at once set the clock values "far into the future", preventing the nodes from implementing a continuous time approximation function. This work is the first in the context of self-stabilization to provide security solutions for clock synchronization in sensor networks.. Conclusions Designing secure and self-stabilizing infrastructure for sensor networks narrows the gap between traditional networks and sensor networks by simplifying the design of future systems. In this work, we consider realistic system settings and take a clean slate approach in designing a fundamental component; a clock synchronization protocol.. The designers of sensor networks often implement clock synchronization protocols that assume the system settings of traditional networks. However, sensor networks often require fine-grained clock synchronization for which the traditional protocols are inappropriate, e.g., the nonce techniques cannot resist pulsedelay attacks.. Alternatively, when the designers do not assume traditional system settings, they turn to reinforce the protocols with masking techniques. Thus, the designers assume that the adversary never violates the assumptions of the masking techniques, e.g., there are at most t captured nodes at all times, where 3t + 1 ≤ n. Since sensor networks reside in an unattended environment, the last assumption is unrealistic.. Our design promotes self-defense capabilities once the system returns to follow the original designer's assumptions. Interestingly, the self-stabilization design criteria provide an elegant way for designing secure autonomous systems.

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


Rank-Constrained Fundamental Matrix Estimation by Polynomial Global Optimization Versus the Eight-Point Algorithm The fundamental matrix can be estimated from point matches. The current gold standard is to bootstrap the eight-point algorithm and two-view projective bundle adjustment. The eight-point algorithm first computes a simple linear least squares solution by minimizing an algebraic cost and then projects the result to the closest rank-deficient matrix. We propose a single-step method that solves both steps of the eight-point algorithm. Using recent results from polynomial global optimization, our method finds the rank-deficient matrix that exactly minimizes the algebraic cost. In this special case, the optimization method is reduced to the resolution of very short sequences of convex linear problems which are computationally efficient and numerically stable. The cur-rent gold standard is known to be extremely effective but is nonetheless outperformed by our rank-constrained method for bootstrapping bundle adjustment. This is here demonstrated on simulated and standard real datasets. With our initialization, bundle adjustment consistently finds a better local minimum (achieves a lower reprojection error) and takes less iterations to converge. The fundamental matrix has received a great interest in the computer vision community (see for instance [1] [2] [3] [4] [5] [6] [7] ). This (3 × 3) rank-two matrix encapsulates the epipolar geometry, the projective motion between two uncalibrated perspective cameras, and serves as a basis for 3D reconstruction, motion segmentation and camera self-calibration, to name a few. Given n point matches (q i , q i ), i = 1, . . . , n between two images, the fundamental matrix may be estimated in two phases. The initialization phase finds some suboptimal estimate while the refinement phase iteratively minimizes an optimal but nonlinear and nonconvex criterion. The gold standard uses the eight-point algorithm and projective bundle adjustment for these two phases, respectively. A 'good enough' initialization is necessary to avoid local minima at the refinement phase as much as possible. The main goal of this article is to improve the current state of the art regarding the initialization phase. We here focus on input point matches that do not contain mismatches (a pair of points incorrectly associated). The problem of mismatches has been specifically addressed by the use of robust methods in the literature.. The eight-point algorithm follows two steps [1] . In its first step, it relaxes the rank-deficiency constraint and solves the following convex problem:. where C is a convex, linear least squares cost, hereinafter called the algebraic cost:. This minimization is subject to the normalization constraint F 2 = 1. This is to avoid the trivial solution F = 0. Normalization will be further discussed in Sect. 3 . The estimated matrixF is thus not a fundamental matrix yet. In its second step, the eight-point algorithm computes the closest rankdeficient matrix toF as:. Both steps can be easily solved. The first step is a simple linear least squares problem and the second step is solved by nullifying the least singular value ofF. It has been shown [4] that this simple algorithm performs extremely well in practice, provided that the image point coordinates are standardized by simply rescaling them so that they lie in [− √ 2; √ 2] 2 . Our main contribution in this paper is an approach that solves for the fundamental matrix minimizing the algebraic cost. In other words, we find the global minimum of: . Perhaps more importantly, we also quantify the impact that each of F 8pt and F Gp has when used as an initial estimate in bundle adjustment. Each initial estimate will lead bundle adjustment to its own refined estimate. The two final estimates may thus be different since, as the difference between the two initial estimates grows larger, the probability that they lie in different basins of attraction increases. Our measure quantifies:. 1. how far are these two basins of attraction, 2. how many iterations will bundle adjustment take to converge.. The proposed algorithm uses polynomial global optimization [8, 9] . Previous attempts [10] [11] [12] in the literature differ in terms of optimization strategy and parameterization of the fundamental matrix. None solves problem (4) optimally for a general parameterization: they either do not guarantee global optimality [11, 12] or prescribe some camera configurations [10] [11] [12] (requiring typically that the epipole in the first camera does not lie at infinity). Furthermore, the main criticism made to the optimization method we use is the resolution of a hierarchy of convex linear problems of increasing size, which is computationally ineffective and numerically unstable. The proposed solution overcomes this drawback: experiments show that, in most of cases, the proposed algorithm only requires solving the second relaxation of the sequences. Our experimental evaluation on simulated and real datasets compares the difference between the eight-point algorithm and ours used as initialization to bundle adjustment. We observe that (i) bundle adjustment consistently converges within less iterations with our initialization and (ii) bundle adjustment always achieves an equal or lower reprojection error with our initialization. We provide numerous examples of real image pairs from standard datasets. They all illustrate practical cases for which our initialization method allows bundle adjustment to reach a better local minimum than the eight-point algorithm.. Given a real-valued polynomial f (x) : R n → R, we are interested in solving the problem:. where K ⊆ R n is a (not necessarily convex) compact set defined by polynomial inequalities: g j (x) ≥ 0, j = 1, . . . , m. Our optimization method is based on an idea first described in [28] . It consists in reformulating the nonconvex global optimization problem (5) as the equivalent convex linear programming problem:. where P(K) is the set of probability measures supported on K. Note that this reformulation is true for any continuous function (not necessarily polynomial) and any compact set. x is a global minimizer of (5), then the probability measure μ = δ x (the Dirac at x ) is admissible for (6) . Moreover, because f is a solution of (6), the following inequality holds:. Instead of optimizing over the finite-dimensional euclidean space K, we optimize over the infinite-dimensional set of probability measures P(K). Thus, Problem (6) is, in general, not easier to solve than Problem (5) . However, in the special case of f being a polynomial and K being defined by polynomial inequalities, we will show how Problem (6) can be reduced to solving a (generically finite) sequence of convex linear matrix inequality (LMI) problems. We have studied the problem of estimating globally the fundamental matrix over nine parameters and under rank and normalisation constraints. We have proposed a polynomialbased approach which enables one to estimate the fundamental matrix with good precision. More generally, we have shown how to modify the constraints on the numerical certificate of optimality to obtain fast and robust convergence. The method converges in a reasonable amount of time compared to other global optimization methods.. From computational experiments conducted on both simulated and real data we conclude that the global method always provides an accurate initial estimation for the subsequent bundle adjustment step. Moreover, we have shown that if the eight-point method has a lower computational cost, its resulting estimate often lies further away from the global optimum obtained by the global method.

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


An efficient, error-bounded approximation algorithm for simulating quasi-statics of complex linkages Design and analysis of articulated mechanical structures, commonly referred to as linkages, is an integral part of any CAD/CAM system. The most common approaches formulate the problem as purely geometric in nature, though dynamics or quasi-statics of linkages should also be considered. Existing optimal algorithms that compute forward dynamics or quasi-statics of linkages have a linear runtime dependence on the number of joints in the linkage. When forces are applied to a linkage, these techniques need to compute the accelerations of all the joints and can become impractical for rapid prototyping of highly complex linkages with a large number of joints.We introduce a novel algorithm that enables adaptive refinement of the forward quasi-statics simulation of complex linkages. This algorithm can cull away joints whose contribution to the overall linkage motion is below a given user-defined threshold, thus limiting the computation of the joint accelerations and forces to those that contribute most to the overall motion. It also allows a natural trade-off between the precision of the resulting simulation and the time required to compute it. We have implemented our algorithm and tested its performance on complex benchmarks consisting of up to 50,000 joints. We demonstrate that in some cases our algorithm is able to achieve up to two orders of magnitude of performance improvement, while providing a high-precision, error-bounded approximation of the quasi-statics of the simulated linkage. Modeling and design of articulated mechanical structures, commonly referred to as "linkages", is an integral part of any CAD/CAM system. The existing approaches typically focus on sizing mechanical constraints that guide the movement of the endeffector of the system within a workspace. The function of the device is usually prescribed as a set of positions reachable by the endeffector, as well as the mechanical constraints formed by joints that limit relative movement. The objective is to compute all the linkage configurations that can achieve a specific task. Formulated in this way the design problem is purely geometric in nature, often with an emphasis on systems consisting of lower numbers of degrees of freedom to reduce the complexity of the problem.. Complex linkages, such as articulated systems of many links, molecular chains, or articulated-body representations of deformable bodies, often require consideration of additional physical constraints and present new computational challenges. Forward simulation of articulated mechanical systems, i.e. computing the joint accelerations and forces depending on external forces and applied torques, is a fundamental issue that should be taken into account in designing highly complex linkages. Especially, a quasi-static analysis can provide insights into mechanisms at or close to equilibrium, or which have small dynamic effects (slow evolution or small-scale motions). However, such computations are frequently expensive to perform and sometimes ignored in rapid prototyping of highly complex mechanical linkages. Existing optimal algorithms that compute forward dynamics or quasi-statics of linkages have a linear runtime dependence on the number of joints in the linkage. When forces are applied to the linkage, these techniques need to compute the accelerations of all the joints, which can become impractical for rapid prototyping of complex linkages with a large number of joints.. In this paper, we present a novel algorithm for progressive refinement of the quasi-static simulation of complex linkages, which offers three key advantages:. • Error-bounded Approximation: Given any user-defined error threshold, our algorithm is able to determine an approximation of the linkage acceleration within the required error bound.. • Progressive Refinement: Our algorithm operates by progressively increasing the quality of the approximate linkage acceleration, thus providing a trade-off between the precision of the approximation and the time required to compute it.. • Efficiency: Our algorithm determines the approximate acceleration by computing only some of the joints' accelerations and associated coefficients, resulting in a significant performance improvement when the ratio on the number of processed joints to the total number of joints is small, i.e. when the required precision is low, or when the forces applied to the linkage have a local effect only on the linkage motion.. To the best of our knowledge, this algorithm is the first technique that offers a method to progressively refine the computation of the quasi-statics of a linkage while guaranteeing the precision of the calculations. We have implemented our algorithm in C++ and tested it on some complex mechanical systems consisting of up to 50,000 links. In some cases, we were able to achieve up to two orders of magnitude of performance improvement over an existing linear-time algorithm, while providing a high-precision, errorbounded approximation of the quasi-statics of the simulated linkage (see an example in Figure 1 ).. The rest of the paper is organized as follows. Section 2 presents a brief survey of related work on rigid body systems. Section 3 gives an overview of the basic mathematical notation and representations that are fundamental to our approach. Section 4 demonstrates how we obtain an approximate acceleration of a linkage. Section 5 shows how, using the hierarchical reference frames representation we introduce, the linkage state update can be restricted to some coefficients only. Section 6 presents some results obtained with our new approach, and Section 7 concludes by suggesting some potential research directions. We have introduced a novel algorithm for efficiently computing an approximation of the forward quasi-statics of an acyclic linkage. Given any user-defined error threshold and acceleration error measure, our algorithm is able, at each time step, to rapidly determine the joints which contribute most to the overall linkage motion, and determine an approximate linkage acceleration within the required error bound. Our algorithm allows a natural trade-off between the precision of the resulting simulation and the time required to compute it. We have implemented our algorithm and tested its performance on complex benchmarks consisting of up to 50,000 links. We demonstrate that in some cases our algorithm is able to achieve up to two orders of magnitude of performance improvement, while providing a high-precision, error-bounded approximation of the quasi-statics of the simulated linkage.. An important extension of this work is the generalization of the proposed algorithm to simulate the full dynamics of complex linkages. This extension is non-trivial, because of the presence of velocitydependent coefficients in the articulated-body equations and the total acceleration equations. Independent of the reference frames in which they are expressed, the body velocities relatively to the world frame have to be available at each time, which, a priori, would require updating all the equations coefficients. Furthermore, we want to extend this work to mechanisms with loops.. Recent work suggests that a simplified update mechanism is still possible in the dynamics case [Redon et al. 2005] . Nonetheless, we believe progressive quasi-statics can be useful in several areas. Beside CAD/CAM, we would also like to investigate the application of our approach in drug design, digital actors, robotics and automation, computational biology, and design of medical instrumentation. Several remarks can be made:. • Performance vs precision: The average running time and the average number of computed joint accelerations increase with the required precision. It can be noted that the running time and the number of nodes processed by our algorithm do not seem to increase much after the required precision is smaller Figure 5 : Average running time of our algorithm when a force is applied to the millipede robot. As the maximum error decreases, more and more joint accelerations have to be computed and the average running time of our algorithm increases. When too many nodes have to be updated, our algorithm becomes less efficient than the DCA. Below this threshold, however, our algorithm can quickly obtain an approximate simulation.. than a certain threshold. This observation suggests that it might be possible to define some motion complexity measures, which would characterize the behavior of complex linkages and could provide some insight when designing linkages. For example, comparing Figures 5 and 7 suggests that the impact of a force on a molecule-like linkage is more local than in the case of the millipede robot: for a given precision, the ratio of the number of joints affected by an applied force to the total number of joints is smaller in the case of the molecule-like linkage.. • Performance vs number of applied forces: There is a clear correlation between the number of acceleration-independent forces that have to be updated at each time step, and the performance of our algorithm. As the number of applied forces increases, more and more joint accelerations have to be computed for a given precision, and more and more nodes have to be processed in the lazy linkage update step.. • Performance improvement: Even when the required precision is high (about 10 −6 ), our algorithm offers a significant performance improvement over the DCA. In the case of the molecule-like linkage, when 1,000 forces are applied at each time step, the average running time of our algorithm when ε max = 2 −19 The computation of the kinematics, quasi-statics, or dynamics of articulated bodies has been a subject of study for many years (cf [Hooker and Margulies 1965] for example). We only provide a brief overview here and refer the readers to [Featherstone and Orin 2000] for a recent state-of-the-art survey.. Essentially, an important step in the development of simulation algorithms has been the introduction of methods which have a linear complexity in the number of bodies in the multibody system. Some of these linear methods [Bae and Haug 1987; Brandl et al. 1986; Featherstone 1987; Hollerbach 1980; McMillan and Orin 1995] , which rely on a recursive formulation of the motion equations, have now been known for more than two decades. In parallel, several authors have contributed to simplify the motion equations by developing several notations and formulations. Some of these include the spatial notation [Featherstone 1987] , and its new version [Featherstone 1999a; Featherstone 1999b] , the spatial operator algebra [Rodriguez et al. 1991] , as well as Lie-Group formulations [Mueller and Maisser 2003 ]. More recently, several researchers have proposed parallel algorithms to compute the forward dynamics of articulated bodies using multiple processors [Fijany et al. 1995; Featherstone 1999a; Featherstone 1999b ].. To our knowledge, no algorithm has been proposed for obtaining an error-bounded approximation of the quasi-statics of a multibody system. All existing techniques compute the accelerations of all joints in the multibody system. They cannot detect nor take advantage of the situations where the interaction between the environment and the linkage is localized, i.e. the situations where computing only some of the joint accelerations is enough to obtain a useful, error-bounded approximation of the linkage motion.

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


The case for research in game engine architecture This paper is a call for research in the field of game engine architecture and design, a more comprehensive and thorough understanding of which we consider to be essential for its development. We present a number of key aspects that may help to define the problem space and provide a catalogue of questions that we believe identify areas of interest for future investigation. Starting with Spacewar in 1961 [Fleming 2007 ], computer games have been around for just over four and a half decades. Until about two decades ago, most games were developed by a small team of programmers, if not by individuals, usually written from scratch with very few reusable components. In a young industry that is very much project-based, this does not come as a great surprise; however, as the industry has grown, so has the size of individual projects. This change has necessitated a number of advancements in production techniques, and Garlan and Shaw [Garlan and Shaw 1994] recognised that "one characterization of progress in programming languages and tools has been regular increases in abstraction level -or the conceptual size of software designers building blocks". A similar increase in abstraction level occurred within computer game development towards the end of the 1980s, when the first systems with reusable components appeared.. These components are what we would now call game engines.. There appears to be general agreement that game engines are not only useful, but due to the complexity of modern computer games, are actually required for game development. Given this, there exists a surprisingly small body of literature on game engine design. The available research has mainly focussed on game engine subsystems, such as rendering, AI (artificial intelligence) or networking. However, issues regarding the overall architecture of engines, which connects these subsystems, have merely been brushed over.. This lack of literature and research regarding game engine architectures is perplexing. Books on the subject, such as that by Eberly [Eberly 2000 ], tend to only briefly describe the high-level architecture before plunging straight down to the lowest level and describing how the individual components of the engine are implemented. Often authors present their own architecture as a de facto solution to their specific problem set, without necessarily justifying the decision-making processes that led to their designs, and merely indicating the authors' personal preferences. Such literature offers an excellent source of information * e-mail: eikea@siggraph.org † e-mail: sengel@bournemouth.ac.uk ‡ e-mail: lmcloughlin@bournemouth.ac.uk § e-mail: peterc@bournemouth.ac.uk for writing an engine, but provides little assistance for designing one when the requirements are different from the solution described.. We believe that there are a number of points that should be investigated, with regard to the game engine development process. In this paper, we are not trying to answer the questions that need answers, but we would like to invite the academic community as well as the game industry to participate in the discovery of these answers. The aim of this position paper is therefore to present these questions in order to provide a starting point for debate, and to encourage discussion of game engine development and architecture.

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


Mediating effects of active and distributed instruments on narrative activities This paper discusses the effects of introducing new distributed and active instruments on narrative activities in a school environment. We address the issue of how the Pogo instruments change children's activity when they invent stories. The results enable us to compare the way the activity is carried out, both in its conventional context and with the Pogo instruments, mainly along three main lines of investigation: the collective dimension, the use of space and the structure of the narrative. The results also show that using the instruments increase the collective or group dimension of the creative process, particularly the role diversification and participation of the children. These instruments support children's efforts to structure narratives and thereby produce richer stories.This research was carried out within the Pogo Project by a multidisciplinary team that included interactive design and user-centered approaches within the EC I3 programme on 'Exploring New Learning Futures for Children'. q The development of new information and communication technologies is laying the foundations for new forms of building and sharing knowledge, and is leading to a reassessment of the concept of an instrument and the need to understand the effects of the use of an instrument on activity. According Vygotsky's law of semiotic mediation (Vygotsky, 1997 (Vygotsky, , 1973 ; group and mental processes cannot be understood without taking into account the tools and signs that organize those processes. Vygotsky's approach posits a complete renewal of the composition of a subject's activity in and through the act of using an instrument. This position leads to the question of the effects experienced by the subject when instruments derived from new technology are introduced. The question has already been addressed in a number of work situations. This paper explores another context, namely the educational environment and instruments used to support narrative activity.. Our objective here is to present the results of research on the design and evaluation of new distributed and active instruments intended for children age 6-8. In particular, we intend to show how such instruments transform narrative activity. First, we examine questions of the mediating roles of new technology on activity, and formulate our approach to these roles in the context of narrative activity. Next, we present our methods, and the results obtained. This paper attempts to elucidate the mediating effects of a system of active and distributed instruments on narrative activities. We showed that Pogo instruments transform narrative activity in a number of ways and at various levels, i.e. the nature of the narrative activity, its phases of exploration, inspiration, production and sharing, interactions and the group aspects of creating a story, use of space and narrative structure. In terms of narrative activity, we showed that the instruments encourage exploration primarily through the Beamer which stimulates children to record and explore previous experiences. Pogo instruments offer new resources to encourage thought and choice. The instruments support both personal reflection and intersubjective comparison, and help children to think about and analyze their own experience. This confers a role of heuristic or reflexive mediation to instruments, as shown by Rabardel (1995) . The possibility to combine and recombine elements on the Beamer table, and to display the results on the Screen in real time, facilitates experimentation and comparison of different solutions. In addition, Screen displays, like external representations, have an amplifying effect that facilitates perception, information sharing and supports children's discussions and group decisions therefore increasing a shared creative process for the group of children. As shown by Scott et al. (2002) , shared display has numerous advantages over a side-by-side environment, in particular it can help foster a shared understanding. This result goes in the direction of the ones found by Järvelä (1995, reported by Littleton and Häkkinen (1999) ) that instructional technology can play a vital role in supporting the student's collaboration as the cognitive work is externalised and made jointly available in the interaction.. In this line of thought, an initial conclusion of our research is that Pogo instruments such as the Beamer and the Screen encourage a shared creative process, and that this is supported by an increase in mechanisms of exploration, inspiration, production and sharing, leading children working in groups to invent richer, better constructed and better developed stories.. One remarkable result, as opposed to conventional activity, is that the narratives produced using Pogo instruments have a group dimension. This is motivated by the multiple elements of the Pogo system distributed throughout the activity space. In particular we have shown that the instruments produce affordances to group use, a way to occupy differently the space and the production of a common and sharable work surface for groups. We have also shown that just as Engeström found in working environments, Pogo instruments transform the roles of participants and generate a different division of labor during the creative process. They create new tasks, enabling generally non-participating children to be active in the construction of the group process. According to the teachers this increases the attentiveness and memorization of these children. Our results indicate that the enhanced possibility of participation appears to stem from two sources: the use of the Screen, which enables all children to share graphic creations, to create a common reference, to facilitate participation and story memorization; and the tasks of recording and managing the sequences of Tokens, which requires the children-technicians to pay continuous attention to what is happening during the activity of constructing the narrative. This encourages them to follow the development of the story line and to memorize it.. Our results show that the instruments radically transform the conventional spatial configuration of the classroom. By placing Pogo instruments on the floor, Pogo provides a less rigid and more mobile environment than that found in a conventional classroom, where desks face the teacher and the blackboard. This new environment, induced by the nature of the tools and their layout transforms the patterns of behaviour (Barker, 1968) of the users. Rapidly and actively the children appropriate the instruments and the environment. Rather than sitting at their desks, they are on the floor where they can easily handle the equipment. They are distributed throughout the space, organized according to their roles in the activity. Those who produce the contents are gathered around the Beamer, while the 'technicians' are near the Basket, with the cards. The teacher assigns no specific roles, and the children are mobile. In a conventional environment, children move around very little. Sitting at desks does not spontaneously encourage this sort of diversification of roles.. The environment not only encourages changes in the behaviour of the children, but also has an impact on the behaviour of the teacher. She has to place herself at the same level as the child, has to move from one spontaneously created sub-group to another and has to assume a different role than in the conventional setting where she faces children seated at desks. The spatial configuration of the tools tends to transform the teacher into a facilitator or regulator rather than a source of knowledge.. We also noted that the children rapidly appropriated the Pogo instruments, that there were no particular learning problems and that they generated new utilization schemes (e.g. using Tokens to record scenes, settings and character actions, and toying with the sequential aspects of events in the storyline, using methods like flashforwards).. Nevertheless, we must point out that the results show that the instrument used by children could be improved. Portable and wireless tools would make it possible to capture moving pictures and sound outside the class. The children's experience would be enriched in both quality and quantity if they could record and use such sound and movement in their narrative creations. In terms of the group, the distribution of children's roles could be improved by diversifying the instruments used to create content. The introduction of a number of instruments for simultaneously capturing, manipulating and combining pictures and sounds would increase the participation of all children in the construction of story content. Simultaneous use of instruments would also permit the introduction of a more personal dimension into the narrative: each child could simultaneously take part in the group creation and make his/her personal contribution, as desired. In terms of structuring the narrative, the system seems to support and even improve the organization of the story, according to the Labov model. We esteem that developing instruments in the sense of more open patterns of use could enrich the children's potential for expression. In practical terms, factors needed to contribute to this line of development would be: † a mobile camera with zoom, with the possibility to zoom in for close-ups on parts of the scene, and a mobile camera that could take photos from different viewpoints. These improvements would offer the children the opportunity to develop visually richer and more varied narrations. For instance, they could focus on a character's face or change the camera angle so it corresponds to the viewpoint of a character, etc. † the introduction of sound into narratives would enhance the potential expression achieved with Pogo: the children's characters could have voices, dialogues could be improvised, soundscapes reproduced, etc.. Our results also indicate that use of these instruments appears not to interfere with the activity, and that they integrate into existing instruments. The Beamer, for example, becomes a workbench. Objects gathered outside the class or produced by children can be integrated into the system, and thereby can be effectively used and developed. In addition, the instruments are easy to use. Each action engenders an immediately visible effect (e.g. objects created on the Beamer are immediately visible on the Screen). The interactions are mediated by physical objects. This makes it possible to simplify actions in the operating environment (e.g. avoiding Screen menus). These results recall Norman's concept of the 'information appliances', and the fact that the instrument is designed to support the task in such a way that it becomes an integral part of that task, like an extension of the person and his/her work. This implies that the instrument's function is specialized to the point of being in perfect harmony with the real needs of user, and that it offers great simplicity and user-friendliness. Each instrument is simple and has its own means of operation. Each enables the user to perform the specialized task for which it was designed. This is approaching the idea that eventually instruments will be so well integrated into the task that they will longer be recognizable. They will disappear from view and from the user's awareness.. As already mentioned we also found the spatial distribution of these instruments interesting. The use of Tokens goes in the direction of possible incorporation of mnemonic units into physical objects, and using them in a spatial dimension (possibility to transport them and reuse them in another space -time frame). Information handling is expanded in spatial terms and is consequently no longer limited to a central processing unit. The instruments seem to us to be headed in the same direction of distributed creation, the creation and recording space being integrated into the context of handling and constructing natural objects from the children's physical world. These points seemingly indicate a movement towards invisible technology, where any central processing unit stays out of sight and out of mind for its users. In this section we will not describe the methodology of the whole design process but we will mainly concentrate on the procedure used for the testing period. This period consisted of three main phases: preparation with and without the teachers, performing activities with the children (or data collection) and data analysis with and without the teachers.

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


Virtual unrolling and information recovery from scanned scrolled historical documents The objective of our work is to enable the reading of fragile scrolled historical parchments without the need to physically unravel them, thus providing valuable information to a wide range of scholarly disciplines. This problem has not been investigated by the computer vision community properly yet due to the need for parchment scanning technology: standard x-ray machinery is not sufficient as there is a requirement to extract out parchment ink in addition to the parchment's underlying structure. Effective data recovery is also compromised as content from historical scrolled documents is inaccessible due to the deterioration of the parchment. We create a 3D volumetric model of a scrolled parchment's underlying geometry and perform digital unwrapping of the parchment, producing a readable image of the text as an output. The proposed recovery framework consists of structure preserving anisotropic filtering in combination with robust segmentation, surface modelling and ink projection. We demonstrate with real examples how our algorithm is able to recover the underlying text and to solve the major challenge for scrolled parchment analysis, namely segmentation of connected layers and processing the data without user interaction. Much of the history of the western world is written on parchment, a dry, treated, skin-derived writing medium [25] . The material was primarily designed as a writing medium that was smooth and flat; durability over millennia was probably not a prime consideration. Now, the information content of this complex medium is sometimes impossible to access without causing considerable damage or permanently altering the object to an unacceptable level. In some cases, their physical deterioration is at such an advanced state that any attempt to unravel the document manually would cause catastrophic fragmentation, destroying the internal information. Use of X-ray microtomography, a new direction in digital document analysis [18] , provides a digital copy of a scrolled parchment as a 3D volumetric object, see Fig. 1 . We utilise this 3D representation to recreate a virtual parchment model as input for a subsequent information recovery framework.. Digital document restoration has been an extremely active area of research in recent years [6, 8, 12, 15, 23, 28, 32, 35] . Current efforts have provided a new level of accessibility to many valuable literary works. However, not much attention has been paid to the analysis of scrolled parchments. Traditionally document restoration approaches concentrate on regular photographic images and non-scrolled surfaces [20] , which are easier to process.. Brown and Seales in [6] proposed a general de-skewing algorithm for arbitrary warped documents based on 3D shape. Doncescu et al. in [12] reported a similar method, where a laser projector is used to project a 2D light network on the document surface to capture 3D shape, and then 2D distortions of the surface are corrected with a two-pass mesh de-warping algorithm. Cao et al. in [8] presented an algorithm to rectify the warping of a bound document image: they built a general cylindrical model, and then used the skeleton of horizontal text lines in the image to estimate the model parameters. Pilu in [23] introduced a method for distorted document restoration which is based on physical modelling of paper deformation by an applicable surface. Yamashita et al. in [32] introduced a shape reconstruction method using a two-camera stereo vision system. Except for Cao's work [8] and a few others [34, 35] , most of the current approaches require special setup (equipment, illumination) to assist in 3D shape discovery. Moreover, they can only handle smooth distortion of the image surfaces.. The most related work was undertaken by the EDUCE project [17] , which attempted to read a scrolled document from a 3D scan. However, very few results on document unrolling have been reported [21, 26] . The results were only shown on small contrived samples and would not scale up to real parchment with many layers which are frequently compacted together. The segmentation stage of that work was performed semi-manually [21] . Apart from that, no other results on virtual parchment unrolling have been reported. X-ray scanning technology that is typically deployed for medical data analysis [7, 14, 33] does not meet a key requirement of our application: precise recovery of the ink from a parchment's weak boundaries.. The parchment shape -a tightly scrolled 3D object -makes its processing more challenging than the traditional document information recovery models. The separation of parchment layers is a major problem for parchment analysis. Parchment is essentially animal skin and has an irregular sponge-like structure; also its thickness may vary across a document surface. As a result of degradation over time, parchment may convert to its entropic form, gelatin, making the boundary between its layers difficult to observe even with the human eye. Image noise, low contrast and 2 scanning artifacts may lead to even more indistinct parchment structure boundaries. As can be seen in Fig. 2 , it is difficult to handle the parchment segmentation task satisfactorily. A general algorithm can destroy damaged areas because of parchment's latent texture (oversegment), and fail to split tightly connected layers with zero gradient (undersegment) at the same time. The shape of the parchment smoothly changes from slice to slice, but can differ significantly across the whole scroll. The parchment ink thickness is only a few voxels deep (represented by the light pixels close to the parchment boundary), thus it is very important to carefully process the boundary to avoid losing important information due to incorrect segmentation. Poor contrast between ink and the parchment itself makes this task even more difficult. Also often the ink remains inside the parchment layer but is lost from its surface due to natural decay of the parchment ink elements. Because of these parchment ink properties, traditional mapping techniques are inapplicable for parchment visualisation. Other challenging parchment characteristics are arbitrary wrapping shape, multiple page parchments, and parchments with writing on both sides. We handle the above challenges by building a flexible framework that can be controlled by several parameters. A scanned parchment contains hundreds or thousands of (volumetric scanner) slices, and a large proportion of the scrolled parchment contains writing, so ink is present in a significant proportion of slices. Fig. 3 demonstrates a photographic image of unrolled parchment and the result of our framework: recovered from the scanned scrolled parchment. We produce a virtually unrolled view of the text which is readable and comparable with its physically unrolled version. Such an image gives a clear representation of the parchment content and also can be used by palaeographers, for example, for the further analysis. Note that parchment scan quality is an important issue -developing effective parchment scanners remains an under-active research area.. The three horizontal bands visible in the right part of Fig. 3 are artifacts caused by variations in the SNR at different steps of the X-ray scanning process. As can be seen, the ink is still captured well, while the reconstructed parchment background is more affected. This effect does not worsen the text appearance as it can be seen in Fig. 3 , only causing differences in the reconstructed background. Fig. 4 shows the above mentioned blocks on the small lengthwise cut of the original scan. Scanning artifacts may also include substantial image speckle and blurring, making the information recovery process more complicated. This paper extends our previous work on scrolled parchment segmentation [22] and describes a novel virtual parchment information recovery framework summarised in Fig. 5 . We tested our framework on real historical parchment data. The first step, anisotropic filtering, makes the parchment structure more homogeneous, simultaneously preserving the parchment's layer boundaries. At the next step we introduce the 4 main segmentation routine, based on Graph Cut [3] , in which a novel shape prior optimisation is included that incorporates parchment layer thickness information as a shape prior together with the traditional pixel intensity. This makes the segmentation more robust; however a few fused connections between layers may still remain. The reason for such incorrect connections is that the local boundary features may not exist, or it may be difficult to detect them reliably using the global optimisation. Therefore instead of involving time-consuming user interaction which also requires great accuracy from the user, we employ local geometric constraints to automatically separate such connections. After the segmentation is complete and the parchment boundaries are identified, we can model parchment as a 3D object. If the parchment contains several pages, we consider the pages in turn. To analyse the ink appearance on a parchment's outer layers separately, for every page we find the parchment inner and outer regions by skeletonisation, and model them as individual objects. We then use the outer layers as an input for the further processing: first for the flattening modelling and then as the data source to map ink from the scrolled volumetric object to the plain surface. We define the shape of the parchment by representing the object's surface as a tetrahedral mesh, which we then unroll with minimum distortion isometric embedding. Finally we detect and project ink from the scrolled parchment to the unrolled surface to obtain the resulting image.. We consider related problems to parchment unrolling in more detail and evaluate our algorithm by applying it to five different parchment data sets, which vary in the parchment's properties, condition, size and number of layers. Our experiments demonstrate that our framework is able to successfully unroll the parchments and recover the reliable underlying text/ink information.. The remainder of this paper is organised as follows: Section 2 details the parchment filtering and segmentation stages. Section 3 addresses its surface modelling, followed by the ink projection stage in Section 4. Section 5 presents results, and Section 6 provides a summary and conclusion. We have presented a novel algorithm to virtually unroll and present the information from scrolled historical parchments that are completely inaccessible for manual reading. Technologies for the effective scanning of parchment are under active investigation, creating a demand for methods of analysing scanned scrolls. Our algorithm is the first attempt to automate virtual reading of a real historical parchment. The parchment information recovery framework consists of anisotropic filtering, segmentation with a shape prior and local geometric constraints, surface modelling and flattening, and text generation. The algorithm is able to reveal a scrolled parchment's content as long as its ink contains enough iron to be visible after the scanning procedure. 16 We demonstrate the application of our framework to five real parchment examples, which range in size and complexity. Some parchments were created by ourselves so that we have absolute control and some baseline in the data. One example is an actual historical scroll from the Archive Centre at the Norfolk Record Office. It is difficult to obtain such scrolls for experimentation. The scrolls were scanned via high definition X-ray microtomography development developed by one of our project partners [10] . The sizes of parchments and the parameters used for their processing are given in Table 1 .. The first parchment is shown in Fig. 1 and 7 . As was revealed by the initial parchment examination, this data is a single page written on one side. It has fairly good condition, excluding a few areas where layers are stuck together. Fig. 15 illustrates the stages of applying our segmentation algorithm to this data. The segmentation results are quite similar for all slices of the same scroll, so our pictures represent the segmentation performance for the whole data set. Cut with the shape prior was able to separate its layers without any postprocessing, while the original Graph Cut and snakes both failed. Although we give more penalty to the parchment boundaries, the result is not oversegmented because the ink is always considered as foreground. More numerical evaluation for the segmentation stage can be found in [22] . To model the parchment surface we construct the volumetric mesh with density (intensity) 0.09. This density allows us to keep all the necessary information about the parchment shape while losing insignificant small variations. Fig. 17 demonstrates the resulting image of recovered text.. The next parchment example is more complicated, more damaged and has more geometric variation. Again, this is a single page containing one side (inside) written text. Due to the variation in layer thickness we reduce our shape penalty to have less effect on very thick layers. Fig. 18 demonstrates our segmentation, and the result obtained with the original Graph Cut. With Graph Cut, we got undersegmentation (joined layers) simultaneously with oversegmentation (a large hole at the bottom left) even after the filtering. Our Graph Cut with shape prior was able to extract the parchment without holes, by giving them less penalty in comparison to the parchment boundary. Also we were able to separate most of the layers without postprocessing. In comparison to the previous example, this parchment needed more postprocessing to completely separate its layers. Fig. 19 illustrates the unrolled parchment: a vertically cut strip of a document. There are visible letters on the parchment, however it is difficult to read them because the contrast is poor. Thus here we have a rough representation of the parchment's contains, which can be used by historians during palaeographic analysis, for example. Now we consider a large scroll containing two interleaved parchments, shown in Fig. 20 . Both parchments have writing on both sides, so we need to obtain four images in total for the whole data. Also with this example we demonstrate how our method can help process parchment with highly damaged layers. For the previous (less damaged) examples, we detected the boundaries of our initialised models and calculated the distances d x . In this case we do not have a solid boundary in some areas, see the top middle of Fig. 20 . The third layer there is very weak even after the filtering to detect its boundary with the initialisation. Therefore we "reconstruct" a boundary in the following manner: we dilate the image to fully include the weak layer, and define the obtained region as U. After that we assign the parchment boundaries as one pixel away from the obtained mask boundary, and calculate distances d x to these "reconstructed" boundaries. As a result we get more joined layers which we separate using our shape prior, but also we save the weak boundaries. The right part of Fig. 20 shows a fully segmented slice of the scroll. Our Graph Cut with the shape prior was able to separate most of the data, we needed only minimal Fig. 21 demonstrates the result of our framework, and photographs of the manually unrolled scroll. The scroll consists of two pages, which are identical in their properties and were processed with the same parameters. The example of separated pages for this data is shown in Fig. 10 . We divide the pages further into inside-outside parts, construct a non-dense mesh for a small cut of the each set and track it for the whole data. As stated in Table 1 , length of the unrolled pages 15 are 34560 and 38457 pixels, the second page is slightly shorter. From Fig. 21 , the recovered text is recognisable on both pages, inside and outside, and closely matches the photographs of the original text. Note that the background intensity varies depending on its position in the scroll: the outer end of the scroll receives more radiation and is consequently lighter than the inner end. The next example is an off-cut of parchment with hand written script using iron gall ink, provided by the Archive Centre at the Norfolk Record Office. This is a tightly wound roll of parchment, not openable due to its extreme dryness, and has a metallic foil strip glued to the inner edge of the parchment. The scanned scroll has 4450 slices, and is our longest scroll so far.. This parchment is in a relatively good condition, one (outer) side contains writing, with lots of confusing bright spots of metal dust on both sides of the parchment as demonstrated in Fig. 22 . Another challenge is the metal strip twisted along the parchment outer side, which has the same intensity as the ink, and is very tightly connected to the parchment. Although we track the strip and remove it as a separate object in a similar way as we did for the two page scroll, there were areas impossible to separate without leaving parts of the strip on the parchment, see Fig. 23 for a detailed view. Fig. 24 shows the unrolled scroll.. Finally we demonstrate the parchment unrolling framework applied to a two hundred year old scroll dating back to 1824 ( Fig. 25, left) . The parchment was relatively well preserved without tight connections. The segmentation stage required little postprocessing. Fig. 25 , right shows the parchment shape changes from slice to slice, and Fig. 26 shows the final result. This example was demonstrated in Fig. 4 and has three joint blocks, which appear through the parchment background.

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


A game-theoretic investigation of selection methods in two-population coevolution We examine the dynamical and game-theoretic properties of several selection methods in the context of twopopulation coevolution. The methods we examine are fitness-proportional, linear rank, truncation, and (μ, λ)-ES selection. We use simple symmetric variable-sum games in an evolutionary game-theoretic framework. Our results indicate that linear rank, truncation, and (μ, λ)-ES selection are somewhat better-behaved in a two-population setting than in the one-population case analyzed by Ficici et al. [4] . These alternative selection methods maintain the Nashequilibrium attractors found in proportional selection, but also add non-Nash attractors as well as regions of phasespace that lead to cyclic dynamics. Thus, these alternative selection methods do not properly implement the Nashequilibrium solution concept. Recent work by Ficici et al. [4] examines the gametheoretic and dynamical properties of several selection methods in the context of single-population coevolution. They use simple 2x2 symmetric two-player games that have polymorphic Nash equilibria. In particular, they focus on poly-morphic Nash equilibria that are attractors of the canonical replicator dynamics [10] , in which agents are selected to reproduce in proportion to fitness. Though proportional selection has been extensively studied from the perspective of evolutionary game theory [11, 10] , the many alternative selection methods that are used in evolutionary algorithms have not. Ficici et al. [4] show that most alternatives to proportional selection are unable to converge onto polymorphic Nash equilibria; instead, they find a variety of other dynamics, including convergence to non-Nash fixed-points, cyclic dynamics, and chaos.. In this paper, we broaden the scope of their investigation by looking at 2x2 symmetric variable-sum games in the context of two-population coevolution. We consider both classes of 2x2 games that have polymorphic Nash equilibria. We examine the behaviors of linear rank, truncation, and (μ, λ)-ES selection, and contrast them to the dynamics of proportional selection. Our empirical results show that the alternative selection methods maintain the attractors found in proportional selection, but also add non-Nash attractors as well as regions of phase-space that lead to cyclic dynamics. Thus, these alternative selection methods do not properly implement the Nash-equilibrium solution concept.. The paper is organized as follows. Section 2 defines the classes of games that we will use in our investigation. Section 3 details how we embed these games into a two-population coevolutionary framework. Section 4 describes how populations represent Nash equilibria. Section 5 completes the description of the evolutionary framework. Sections 6 through 9 describe our results, and Section 10 provides concluding thoughts.

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