The ReNoC Reconfigurable Network-on-Chip: Architecture, Configuration Algorithms, and Evaluation This article presents a reconfigurable network-on-chip architecture called ReNoC, which is intended for use in general-purpose multiprocessor system-on-chip platforms, and which enables application-specific logical NoC topologies to be configured, thus providing both efficiency and flexibility. The article presents three novel algorithms that synthesize an application-specific NoC topology, map it onto the physical ReNoC architecture, and create deadlock-free, application-specific routing algorithms. We apply our algorithms to a mixture of real and synthetic applications and target three different physical architectures. Compared to a conventional NoC, ReNoC reduces power consumption by up to 58% on average. Every new CMOS technology generation enables the implementation of larger and more complex systems on a single integrated circuit. This evolution is accompanied by several challenges: The design effort is increasing, the time-to-market is increasing, and the production cost (in particular the nonrecurring engineering cost) is increasing as well.. As envisioned in Magarshack and Paulin [2003] , this trend seems to make application-specific integrated circuits infeasible for the main bulk of applications: The development time will simply be too long and the development cost too high. In response to these challenges, today's Systems-on-Chips (SoC) are increasingly being designed in a modular fashion by integrating predesigned components such as general-purpose processors, digital signal processors, hardware accelerators, programmable logic blocks (i.e., FPGA-blocks), memories, and input-output units on a single chip. The term IP core (intellectual property) is commonly used to denote such predesigned blocks that may be provided by several independent vendors. consists of a traditional packet switched router wrapped in a layer of (reconfigurable) FPGA-style switch boxes, which we denote Topology Switches (TS) due to their functionality, Figure 1 (b) and Figure 1(c). In this way, links to and from a network node may be connected to ports on the router or directly to other links, effectively bypassing the router in the node. Figure 2 shows an example of a logical network topology which can be configured on the platform illustrated in Figure 1 (a). Unused routers and IP cores are assumed powered down. It should be noted that even though we use a specific router for evaluating ReNoC in this article, the ReNoC architecture is orthogonal to the choice of router architecture; the ReNoC architecture can be combined with any router. The router used in this article is a simple, low-power one in order to keep the comparison between systems with and without ReNoC fair. More details about the router are given in Section 6.. In order to exploit the ReNoC architecture, tools are needed to synthesize configurations for the applications that will run on platforms using ReNoC. In this article, we present three algorithms for solving this configuration problem or optimizing existing solutions. The configuration problem includes synthesizing a logical topology, mapping the synthesized topology to the platform, and deadlock-free routing in the synthesized topology. These parts are described in more detail and formalized in later sections. We evaluate the ReNoC architecture and our optimization algorithms using a mixture of real and synthetic benchmark applications varying in size from 12 to 64 IP cores. Note again that ReNoC is orthogonal to the architecture of the packet switched routers it is combined with. Therefore, issues such as ordering of packets and message-dependent deadlocks are also orthogonal to ReNoC and are not considered in this article.. The preceding discussion focused on MultiProcessor System-on-Chips (MPSoCs) with a NoC interconnect (and this is what originally inspired the work) but ReNoC is equally relevant for more general-purpose single-chip multiprocessors, CMP, [Asanovic et al. 2006; Hammond et al. 1997; Olukotun et al. 1996] , and Figure 1 may also be taken as an illustration of a single-chip multiprocessor (CMP). In this context, ReNoC may be seen as extending programmability to include the network topology. This may be used to minimize power consumption as well as communication latency.. Another issue, which is probably more important, and equally important in both CMPs and MPSoCs, is real-time requirements and analysis of timing aspects of a design. In a CMP, as well as in a MPSoC, it is to be expected that several independent applications may be running at the same time, each application possibly running on its own subset of IP cores. As the NoC is a shared resource, the network traffic related to one application may negatively impact the network traffic related to another application, and this may make it impossible to analyze timing behavior and to guarantee real-time requirements. Here, ReNoC offers the possibility of providing direct, circuit switched connections. Alternatively it is possible to form partially or fully disjoint (logical) subnetworks.. A final issue, which is also important in both CMPs and SoCs, is dynamic runtime reconfiguration. We have just started exploring this issue and the article offers a discussion of the issue.. This article combines and extends two of our previous articles [Stensgaard and Sparsø 2008; Stuart et al. 2009 ]. We provide additional and more in-depth explanations and extend on the results from these previous papers. We also give a discussion of future uses of ReNoC.. The article is organized as follows: Section 2 discusses related work and outlines our contributions. Section 3 provides a detailed description of the ReNoC architecture, while Section 4 presents our models of ReNoC platforms and applications. Our algorithms for solving the configuration problem are presented in Section 5. Section 6 describes the experiments we use to evaluate the ReNoC architecture and our algorithms, and Section 7 provides the results of these experiments. Section 8 discusses the use of ReNoC in systems, where runtime reconfiguration is required, and the configurations also need to be found at runtime. This section also discusses future work in general. Finally, Section 9 concludes. In this article, we have presented the ReNoC architecture, a generic network-on-chip architecture which combines packet switching, physical circuit switching, and (initialization time) reconfigurability. The key idea is to augment the routers in a conventional packet switched NoC with a layer of so-called topology switches, which are very similar to the switch-boxes used in FPGAs. In this way, it is possible to implement a generic MPSoC platform with a particular NoC topology, and to configure different logical NoC topologies on this platform, thereby efficiently supporting different applications. ReNoC is a generic architectural idea which can be combined with any NoC topology and NoC router. The article presented two example architectures both using a 2D mesh NoC: one in which the number of links matches the number of router ports and one in which the number of links has been doubled. These platforms are called SL (Single Link) and DL (Double Link) respectively, and the article compares the performance of these against a conventional 2D mesh topology without topology switches (denoted "static").. The configuration of a ReNoC platform for a given application involves solving the following problems: topology synthesis, topology mapping, and routing that together constitute the configuration problem. We have presented three algorithms that solve these problems concurrently with the objective of minimizing energy consumption in the NoC. The algorithms are applied to two real and seven synthetic benchmark applications, and they are all configured onto the three physical architectures mentioned earlier. In this way, the experiments evaluate both the algorithms and the ReNoC architecture.. No algorithm can be said to be the best in general, because their relative performance depends on both the application and the physical architecture. In general, the constructive algorithm produces the best results, when it does not encounter a deadlock. In case of deadlocks, the specializations can be used to find a guaranteed nondeadlocking solution. The combination of specializations B and A consistently produces good results, but not always the best ones, across the applications and physical architectures.. The SL architecture produces solutions with 36 % lower power consumption than what is possible in the conventional, static architecture, while the DL architecture reduces the power consumption by 58 % compared to the static architecture. In this section, we present and discuss our results. The power consumption in "links" shown in the graphs in this section relates to "NoC links," that is, links between network nodes. In Figure 13 , we see the overhead of the ReNoC architecture when the logical topology forms a mesh. The power consumption of each application has been normalized to that of the static architecture. As can be seen, the TSs only add between 2-5% to the power consumption. This is the worst-case scenario as the TSs' ability to move traffic out of routers is not utilized. Figure 14 shows a comparison of the different physical architectures. For each combination of physical architecture and application, we selected the best solution from all the experiments in order to show the potential of the ReNoC architecture. The ReNoC architecture clearly leads to lower power consumption with the decrease primarily found in routers and secondarily in reduced idle and leakage power from clock-and power-gating. For SL, the reduction in power consumption averages 36% with a minimum of 6% for C64 and a maximum of 61% for R16. DL has lower power consumption than SL due to the greater possibilities of moving traffic out of routers and on to long, logical links, which is seen from the even lower power consumption in routers. On average, DL reduces power consumption by 58% compared to the static architecture, varying between 17% for C64 and 80% for R16. For some applications (R16, R64, C12, C16) the traffic pattern can even be implemented fully using only circuit switching in DL. This clearly demonstrates the potential of reducing power consumption using the ReNoC architecture. Table III shows the number of routers that are powered on in the same solutions whose power consumption is shown in Figure 14 . The main trend to notice is that more routers can be powered off when going from SL to DL indicating that more traffic is moved out of routers and onto long links, thereby reducing the overall power consumption. The exceptions to this trend are VOPD and S64 where the same number of routers are powered on in SL and DL. For VOPD it simply does not pay off to use less than four routers. Doing so would require significant detours of the traffic streams to be split or merged, easily outweighing the gains of powering off another router. The power consumption of VOPD is slightly higher on DL because the configurations on SL and DL are identical, but DL has larger, more power-consuming TSs.. In S64 when going from the static architecture to SL in Figure 14 , it can be seen that both overall and router power consumption decrease while link power increases. This is caused by the algorithms sending some traffic streams out on minor circuit switched detours in order to avoid going through some routers where the streams in question are neither split nor merged. In Figure 14 the router power remains the same in DL, but the link power decreases because shorter circuit switched paths have replaced some longer ones. This demonstrates the potential of DL to move traffic that simply passes through a busy region of the network onto a long link that passes right by the busy routers.. Figures 15(a) and 15(b) give a comparison of the algorithms on SL and DL, respectively. The bars are normalized to the first nonzero bar for each application. For SL, the constructive algorithm only produces a valid solution for two of the applications. However, for those two it produces the best solution of all the algorithms. In general the algorithms' performance is almost uniform with most solutions within 12% of the reference. The outlier is specialization B that produces the worst solutions by up to 30%, which is interesting since BA often produces the best solutions. This can be explained by B maximally inserting one long link per connection: When a change has been made for a connection, the algorithm proceeds to the next connection. If instead, the algorithm would continue trying to insert long links for the current connection, specialization B is expected to perform at least as well as BA. Investigating this is left for future work.. For DL, the constructive algorithm produces valid solutions for eight of the applications. In all but one case, these solutions have the lowest power consumption. This is explained by the greater freedom in generating solutions when starting from an unconfigured CG compared to starting from an already valid solution and making modifications. Considering the specializations, A on its own generally produces much worse solutions than the other specializations by up to 200%. This is explained by A not being able to exploit the extra links, as it operates on subpaths that are internal in network nodes. As for SL, BA produces the best solutions of the specializations, although the distribution again is rather uniform.. Considering the execution time of the different algorithms AB and BA are the slowest, but even for the large problems the solution is found in less than a minute.. Using the specializations to optimize the solutions produced by the variation of the constructive algorithm where IP cores are connected to the closest router in a preprocessing step gives some improvement in a few cases. However, in no case are these solutions better than the best one produced either by the constructive algorithm without the preprocessing step and without subsequent specialization or by the specializations applied to the initial configuration where a logical mesh is formed. Furthermore, the specializations are unable to improve on the solutions generated by the constructive algorithm without the preprocessing step for our benchmarks.. For VOPD on both SL and DL, specialization B improves the solutions generated by the constructive algorithm with the preprocessing step by 14% and 19%, respectively. For S64, improvements of around 4% are also seen on both SL and DL using specialization B. In both benchmarks, the improvements come from traffic being moved out of routers and onto long links, leading to lower power consumption in the routers and in some cases also unused routers that are powered down. For the remaining benchmarks, no improvements are made by the specializations on the solutions from the constructive algorithm. As mentioned before, for the applications considered here, applying the specializations to the output of the constructive algorithm never produces a better solution than that produced by the constructive algorithm itself or by the applying the specializations to the initial configuration where the logical topology matches the physical architecture. However, it cannot be ruled out that some applications exist for which applying the specializations to the output of the greedy algorithm produces the best results.. We also tried using the constructive algorithm to generate application-specific, deadlock-free routing algorithms in the static mesh. However, for our benchmark applications, only insignificant differences (less than 0.2%) are seen between the wellknown routing algorithms and application-specific routing. In order for applicationspecific routing to be beneficial, the other routing algorithms need to break down from insufficient capacity along their restricted sets of allowed routes.. The results presented in this section have focused on ReNoC's advantage in power consumption over a conventional NoC, and on the relative performance of the algorithms for automatically solving the configuration problem. However, one of ReNoC's key features is difficult to put into numbers, namely its flexibility. By providing a reconfigurable interconnect, we can on a single chip switch between the best found configuration for the different applications. This is one of ReNoC's strengths: The interconnect in a single SoC platform chip can be used to provide energy efficient, intra-chip communication for a wide range of applications.. The ReNoC Reconfigurable Network-on-Chip 45:23 Improving the energy efficiency in NoCs and automating the process of doing so has been considered previously in literature; the novelty of our approach is the combination of energy efficiency and flexibility achieved through a mixture of physical circuit switching and packet switching.. In Ogras and Marculescu [2006] , the authors show how to improve the energy efficiency and decrease the traffic congestion in a regular mesh by inserting long, application-specific links. Similarly, in Chan and Parameswaran [2008] , point-to-point links are inserted directly between IP cores in an application-specific topology. In both cases, the application-specific topologies are an integral part of the platform design, whereas in ReNoC they are configured at initialization or runtime.. ReNoC's flexibility is achieved through a mixture of packet switching and physical circuit switching. Physically circuit switched NoCs have been proposed in literature [Lee et al. 2005; Wolkotte et al. 2005] , but with the restriction that circuit switched connections are used only to make end-to-end connections directly between two IP cores. In ReNoC, a circuit switched connection may also be used to connect IP cores directly, but we also allow circuit switched connections to form long links between routers, that is, combining the best of packet and circuit switching.. An extensive body of research exists on automating design space exploration in NoC-based SoCs with different optimization goals. Researchers have considered the problem of mapping applications onto static NoC topologies [Ascia et al. 2004; Hansson et al. 2005; Hu and Marculescu 2005] , where energy consumption is reduced by trying to minimize the average distance in the topology between communicating IP cores. Although this mapping also has an impact on the power consumption in ReNoC, automating the process in the context of ReNoC is left for future work. The methods from literature are not directly applicable, as the mapping has interdependencies with the ReNoC configuration problem that is described later. Other researchers have considered selecting the best topology from a range of topologies or synthesizing a custom topology for a given application [Chan and Parameswaran 2008; Ogras and Marculescu 2006; Stuart and Sparsø 2007] . These approaches however, can not exploit the high level of flexibility provided by ReNoC. The combination of the application mapping and topology selection or synthesis problems has also been considered Murali et al. 2005] . These approaches have the same weaknesses outlined before when it comes to ReNoC.. Another research direction for reducing power consumption in NoCs considers designing router architectures for low power consumption, for example, Al Faruque et al. [2007] and Modarressi et al. [2009] . These routers may be combined with our work, as the ReNoC architecture is independent of and orthogonal to the router architecture.. Methods for creating deadlock-free routing algorithms in both regular and application-specific networks have been considered previously [Duato 1993; Palesi et al. 2006; Starobinski et al. 2003 ]. While these methods are not directly applicable to our work, we use a very similar approach to achieve deadlock-free routing.. The previous paragraphs presented the related work. In the following, we outline the contributions of this work. Given: (1) an abstract description of an application, (2) a ReNoC-based SoC platform, and (3) a mapping of the application to IP cores, we solve the following problems: (1) synthesis of a suitable application-specific topology, (2) mapping of this topology onto the given SoC platform, and (3) generating an application-specific, deadlock-free routing algorithm, all three with the aim of minimizing power consumption while satisfying the application's bandwidth requirements. Mapping an application-specific topology to a ReNoC-based SoC platform is a new problem in NoC research. We also refer to the collection of these problems as the configuration problem. We solve the three parts of the configuration problem in one pass in order to avoid situations where, for example, no feasible mapping of the synthesized topology on the SoC platform exists. An example of a ReNoC-based SoC platform is shown in Figure 1 , an application in Figure 2 (a), and a configuration, a solution to the problem, in Figure 2 (b).. The article also presents an extended version of the original ReNoC architecture, in which there are more links than router ports. This allows long-range physically circuit switched and short-range packet switched connections to coexist at the same network node. We evaluate our algorithms and platforms using a mixture of real and synthetic benchmark applications.. Note that we use the term "routing algorithm" in its most general sense of "how to get from A to B" rather than an algorithmic description of a route between any two points. Such a description is generally not possible for application-specific network topologies. This section describes the physical architectures and the applications used along with the experiments we conduct.. As we focus on the power savings by using ReNoC to move traffic out of routers and onto long, logical links, it would be an unfair comparison to use a large router with many features and high power consumption. Therefore we use routers similar to those in Stensgaard and Sparsø [2008] : low-power, single-cycle, source routed, wormhole routers at 100 MHz with two virtual channel buffers in each input port, each buffer being four flits deep. A packet consists of four flits of which one is a header flit and the remaining three are payload. For comparison purposes, we consider three different physical architectures, all based on a 2D mesh topology. Again, the ReNoC architecture is in no way limited to meshes.. -A conventional mesh of routers without TSs gives us a baseline to evaluate the overhead of the TSs. This physical architecture will be referred to as a static mesh. For routing in this mesh, we use both dimension ordered (XY and YX) and north-, south-, east-, and west-first routing. -The first ReNoC-based physical architecture is, as earlier, a standard mesh of network nodes, where network nodes here consist of a router, a TS, and an IP core. This physical architecture will be referred to as the Single-Link architecture (SL). An example can be seen in Figure 3 . -The second ReNoC-based physical architecture is also a mesh of network nodes as before, but with the difference that the number of NoC links is doubled while the routers' sizes are as in the other two physical architectures. This means that there are twice as many links as router ports, which, for example, allows a long, logical link to skip unaffected through an area that is otherwise congested. This physical architecture will be referred to as the Double-Link architecture (DL). This is the architecture shown in Figure 1 . Table I presents the energy consumption per packet in the different components of a ReNoC-based NoC. Routers and topology switches have been synthesized and their power consumption determined using commercial synthesis and power characterization tools using estimated wire-load models, while link characterization is based on figures from SPICE simulations [Banerjee et al. 2007; Stensgaard and Sparsø 2008] . All figures in the table are prelayout, based on low-leakage cells from a commercial 90-nm standard cell library, using a 1V supply voltage at nominal parameters. The energy per packet is the average energy consumed when sending a packet based on random data, leakage is the leakage power consumption, and idle power is the dynamic power that is always consumed, independent of the use. Idle power accounts for clocking of clock-gates and registers that are not clock-gated. The TSs have previously been shown to add around 10% to the area of the interconnect [Stensgaard and Sparsø 2008] . |T| is the number of task sets (IP cores), and |C| is the number of connections between these.. We use a mixture of real and synthetic applications to evaluate our algorithms and physical architectures. The following applications can be found in literature.. -VOPD: A multimedia application [Murali et al. 2005 ].. -MMS: A multimedia system [Hu and Marculescu 2005] . -Rotate and complement: Well-known traffic patterns from computer networks [Dally and Towles 2003 ] that have also been suggested for use in NoC micro benchmarks [Salminen et al. 2008] .. We also use a larger synthetic application (S64) that incorporates some of the patterns suggested in Salminen et al. [2008] . Characteristics of the different applications can be found in Table II . The mapping M has been generated by hand for the VOPD, MMS, and S64 applications. For the remaining applications, the mapping is determined from the addresses of task sets (t ∈ T) that are an integral part of forming the traffic patterns. The IP core with address zero has been put in the lower-left corner of the mesh, and addresses increment by one along the x-axis. The experiments we conduct are (for all applications on SL and DL) as follows.. -Configure a logical mesh and route using the algorithm in Figure 8 . This allows us to evaluate the overhead of the TSs. -Use the constructive algorithm ( Figure 6 ) to configure each application on each platform. -Generate an initial configuration using the algorithm in Figure 8 and apply each of specialization A, specialization B, specialization A on the output of specialization B (BA), and vice versa (AB). -Generate an initial configuration using the constructive algorithm and apply both specializations and both combinations of specializations to this solution.. In the static architecture, we evaluate the power consumption using both the six mentioned routing functions and also using the constructive algorithm to make an application-specific routing algorithm. For the results section, from those experiments where multiple routing functions are used, we select the best of the results, as we are not specifically interested in whether, for example, XY routing is better than YX routing.

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


Nonlinear controller design of a ship autopilot The main goal here is to design a proper and efficient controller for a ship autopilot based on the sliding mode control method. A hydrodynamic numerical model of CyberShip II including wave effects is applied to simulate the ship autopilot system by using time domain analysis. To compare the results similar research was conducted with the PD controller, which was adapted to the autopilot system. The differences in simulation results between two controllers are analyzed by a cost function composed of a heading angle error and rudder deflection either in calm water or in waves. Simulation results show the effectiveness of the method in the presence of nonlinearities and disturbances, and high performance of the proposed controller. When a ship sails on the sea, its autopilot system is usually used for leading the ship along the desired course via automatic changes in the rudder blade deflection. In recent years, numerous publications have been devoted to investigating those properties of autopilots which would make it possible to steer the ship both in calm water and in the presence of additional disturbances, such as wind, sea waves, and/or sea currents. The motion of the ship is highly susceptible to the action of the approaching waves and, consequently, the ship, which always sails in the presence of waves, will behave in a different way from that defined for calm water. The ship behaviour in various environmental conditions is predicted using mathematical models developed to model kinetic movements of the ship and the dynamics of the phenomena taking place (Fang and Luo, 2005) . The ship motion is described by a set of six complicated differential equations which describe six degrees of freedom. The models used for designing control systems change depending on the goals of the control. These goals can be divided, in a most general way, into low-speed positioning and high-speed steering. The first type is named dynamic positioning (DP) and includes keeping constant position and low-speed manoeuvering. For a DP systems, the model with six degrees of freedom is reduced to a simpler one with three degrees of freedom. This model is linear in the kinetic part. High-speed steering includes automatic steering along the desired course, steering along the trajectory (high speed position tracking) and path following. In those applications, centripetal and Coriolis forces, along with the nonlinear viscous effect, are dominating, and that is why the kinetic model is nonlinear. For ships moving at a constant speed only the first approximation of viscous damping is taken into account, and therefore in this case linear approximations of ship dynamics can be used (Fossen, 2002) . A historical overview of the development of mathematical models of ships was given by Clark (2003) .. Nowadays we can observe great interest in mathematical models of ships, in particular those developed in the time domain, as they can be used in designing control systems and computer simulations. Models of this type can be found in (Galbas, 1988; Gierusz, 2001; Fossen, 1994; Kallstrom and Ottosson, 1982; Skjetne et al., 2004) .. A conventional autopilot system used for controlling the ship motion is a PD controller with constant parameters values. These controllers can work properly in precisely defined operating conditions, but the quality of their work is worse when these conditions change. Ship dynamic characteristics can change as a consequence of changes of the ship speed, load, and external disturbances such as waves, wind, and/or sea currents. In many cases manual tuning of control parameters is necessary. Therefore a lot of research activities have been oriented to improving Inertial earth-fixed frame and the body-fixed frame for a ship with the earth-fixed position (x, y), the heading ψ, the ship course ψc , the sideslip β, the corresponding body-fixed velocities (u, v) , and the rotation rate r (Skjetne et al., 2004) .. the quality of operation of these controllers using adaptive mechanisms which automatically change ship model parameters, depending on operating conditions. Ship model parameters are estimated directly and then used for tuning the controller's parameters (Fang and Luo, 2005) . Automatic control systems of the ship motion often make use of sliding mode controllers, which are known for their good quality of control. This type of controller is rather well documented and bases on switching control, which delivers an additional steering action when plant dynamics characteristics change due to nonlinearities (Castillo-Toledo et al., 2008; Etien et al., 2002; Fossen, 1994; Healey and Lienard, 1993; Healey and Marco, 1992; McGookin et al., 2000; Sadati and Ghadami, 2008; Slotine and Li, 1991; Solea and Nunes, 2007; Tomera and Smierzchalski, 2006) . The structure of the sliding mode controller includes a nominal part and a nonlinear switching part. Switching makes the controller highly resistant to direct external and internal changes due to the environment.. Various implementation methodologies for sliding mode controllers exist. Like other conventional control structures, the design of sliding-mode controllers needs the knowledge of the mathematical model of the plant, which decreases the performance in some applications where mathematical modeling of the system is very difficult and where the system has a wide range of parameter variations together with unexpected and sudden external disturbances. For those cases we need so-called "intelligent" controllers. The idea of combining these intelligent control structures with the sliding-mode approach has attracted many researchers. These controllers mainly work based on neural networks (Bagheri and Moghaddam, 2009; Hung and Chung, 2007) , or fuzzy control (Bessa et al., 2008; Chen et al., 2009) . Also new methods based on genetic algorithms are available (Demirtas, 2009; Moghaddam and Bagheri, 2010) .. In the present research, the sliding mode controller was adapted to analysing properties of the ship autopilot in the situation when the ship is steered in waves. The analysis was made using the physical model of a ship called CyberShip II, which provides services to drilling platforms (Lindegaard and Fossen, 2002; Sveen, 2003; Skjetne et al., 2004) . In order to compare the obtained results, reference tests were performed using the PD controller. Characteristics of the examined controllers were tested in calm water and in the presence of sea waves with course changes generated by the change in turning points on the trajectory of the moving ship. The cost function took into account the ship course error and rudder blade deflection, and was used for evaluating the quality of the steering action of the controllers. The object of the investigations reported in the article was the course tracking ability by a ship sailing rough sea. Two controllers were examined, namely, the PD controller and the sliding mode controller, for which correct values of parameters were selected. All tests were performed at a constant rotational speed of the propeller screws situated at the stern. This speed was equal to 8.13 rev/s. As a result, the ship moved with a constant surge speed equal to 0.3 m/s in calm water, at zero rudder blade deflection. The performed computer simulations made it possible to conclude that both controllers properly led the ship in calm water, and similar cost function values were obtained.. The wave effect on ship autopilot operation is significant, which can be observed by comparing the timehistories shown in Figs. 2 and 3 , and the cost function values of steering performance collected in Tables 1 and 2 . The investigations revealed that the sliding mode controller better tracks the heading at the presence of waves than the PD controller. The advantage of the use of switching in the sliding algorithm consists in the fact that is helps to keep precisely the current course by compensating disturbances generated by an external environment, such as the wave disturbances analyzed in 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 B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Preventing Private Information Inference Attacks on Social Networks Abstract-Online social networks, such as Facebook, are increasingly utilized by many people. These networks allow users to publish details about themselves and to connect to their friends. Some of the information revealed inside these networks is meant to be private. Yet it is possible to use learning algorithms on released data to predict private information. In this paper, we explore how to launch inference attacks using released social networking data to predict private information. We then devise three possible sanitization techniques that could be used in various situations. Then, we explore the effectiveness of these techniques and attempt to use methods of collective inference to discover sensitive attributes of the data set. We show that we can decrease the effectiveness of both local and relational classification algorithms by using the sanitization methods we described. S OCIAL networks are online applications that allow their users to connect by means of various link types. As part of their offerings, these networks allow people to list details about themselves that are relevant to the nature of the network. For instance, Facebook is a general-use social network, so individual users list their favorite activities, books, and movies. Conversely, LinkedIn is a professional network; because of this, users specify details which are related to their professional life (i.e., reference letters, previous employment, and so on.). Because these sites gather extensive personal information, social network application providers have a rare opportunity: direct use of this information could be useful to advertisers for direct marketing. However, in practice, privacy concerns can prevent these efforts [1] . This conflict between the desired use of data and individual privacy presents an opportunity for privacy-preserving social network data mining-that is, the discovery of information and relationships from social network data without violating privacy.. Privacy concerns of individuals in a social network can be classified into two categories: privacy after data release, and private information leakage. Instances of privacy after data release involve the identification of specific individuals in a data set subsequent to its release to the general public or to paying customers for a specific usage. Perhaps the most illustrative example of this type of privacy breach (and the repercussions thereof) is the AOL search data scandal.. In 2006, AOL released the search results from 650,000 users for research purposes. However, these results had a significant number of "vanity" searches-searches on an individual's name, social security number, or address-that could then be tied back to a specific individual [2] .. Private information leakage, conversely, is related to details about an individual that are not explicitly stated, but, rather, are inferred through other details released and/ or relationships to individuals who may express that detail. A trivial example of this type of information leakage is a scenario where a user, say John, does not enter his political affiliation because of privacy concerns. However, it is publicly available that he is a member of the "legalize the same sex marriage." Using this publicly available information regarding a general group membership, it is easily guessable what John's political affiliation is. Somewhat less obvious is the favorite movie "The End of the Spear. 1 " We note that this is an issue both in live data (i.e., currently on the server) and in any released data. This paper focuses on the problem of private information leakage for individuals as a direct result of their actions as being part of an online social network. We model an attack scenario as follows: Suppose Facebook wishes to release data to electronic arts for their use in advertising games to interested people. However, once electronic arts has this data, they want to identify the political affiliation of users in their data for lobbying efforts. Because they would not only use the names of those individuals who explicitly list their affiliation, but also-through inference-could determine the affiliation of other users in their data, this would obviously be a privacy violation of hidden details. 2 We explore how the online social network data could be used to predict some individual private detail that a user is not 1 . Our work shows this is highly indicative of being Republican. 2. The ideas mentioned in this paper is also applicable in some other attack scenarios. For example, social network platforms such as Facebook allow third-party apps on their platform. Those third-party apps can access user profile data and can gather lots of information related to user. Although they promise to abide by the rules of the platform, it is possible that they may abuse the data.. willing to disclose (e.g., political or religious affiliation, sexual orientation) and explore the effect of possible data sanitization approaches on preventing such private information leakage, while allowing the recipient of the sanitized data to do inference on nonprivate details.. This problem of private information leakage could be an important issue in some cases. Recently, both ABC News [3] and the Boston Globe [4] published reports indicating that it is possible to determine a user's sexual orientation by obtaining a relatively small subgraph from Facebook that includes only the user's gender, the gender they are interested in, and their friends in that subgraph. Predicting an individual's sexual orientation or some other personal detail may seem like inconsequential, but in some cases, it may create negative repercussions (e.g., discrimination, and so on.). For example, using the disclosed social network data (e.g., family history, life style habits, and so on.), predicting an individual's likelihood of getting Alzheimer disease for health insurance and employment purposes could be problematic. The remainder of this paper is organized as follows: In Section 2, we describe previous work in the area of social network anonymization. In Section 5.1, we describe the realworld data set that is used in our experiments. In Section 3, we describe, in detail, the learning methods that are used in our anonymization and classification tasks. In Section 4, we present our definition for privacy as well as describe the methods that we developed to anonymize social network data. In Section 5, we describe our experiments and the results we obtained. In Section 6, we suggest some possible future work in this area. We addressed various issues related to private information leakage in social networks. We show that using both friendship links and details together gives better predictability than details alone. In addition, we explored the effect of removing details and links in preventing sensitive information leakage. In the process, we discovered situations in which collective inferencing does not improve on using a simple local classification method to identify nodes. When we combine the results from the collective inference implications with the individual results, we begin to see that removing details and friendship links together is the best way to reduce classifier accuracy. This is probably infeasible in maintaining the use of social networks. However, we also show that by removing only details, we greatly reduce the accuracy of local classifiers, which give us the maximum accuracy that we were able to achieve through any combination of classifiers.. We also assumed full use of the graph information when deciding which details to hide. Useful research could be done on how individuals with limited access to the network could pick which details to hide. Similarly, future work could be conducted in identifying key nodes of the graph structure to see if removing or altering these nodes can decrease information leakage. Murat Kantarcioglu received the BS degree in computer engineering from Middle East Technical University, Ankara, Turkey, and the MS and PhD degrees in computer science from Purdue University, Indiana. He is an associate professor in the Computer Science Department and the director of the UTD Data Security and Privacy Lab at the University of Texas at Dallas. His research interests include creating technologies that can efficiently extract useful information from any data without sacrificing privacy or security. He has published more than 75 papers in peer reviewed journals and conferences. His research has been supported by grants from US NSF, AFOSR, ONR, NSA, and NIH. Some of his research work has been covered by media outlets such as the Boston Globe, ABC News, and so on, and has received two best paper awards. He is a recipient of US NSF Career Award and Purdue CERIAS Diamond Award for academic excellence.. Bhavani Thuraisingham is the Louis A. Beecherl, Jr., distinguished professor, is executive director of the Cyber Security Research and Education Center (CySREC) at The University of Texas at Dallas. She has more than 30 years of experience in industry, MITRE, US NSF, and Academia. Her work has resulted in numerous awards including the IEEE Computer Society 1997 Technical Achievement Award and ACM SIGSAC 2010 Outstanding Contribution Award. She has published more than 100 journal articles, 200 conference papers, and 12 books. She has three US patents and has given 90+ keynote addresses. She is an elected fellow of several organizations including the IEEE, AAAS, British Computer Society, and SDPS . For more information on this or any other computing topic, please visit our Digital Library at www.computer.org/publications/dlib. In this paper, we touch on many areas of research that have been heavily studied. The area of privacy inside a social network encompasses a large breadth, based on how privacy is defined. In [5] , Backstrom et al. consider an attack against an anonymized network. In their model, the network consists of only nodes and edges. Detail values are not included. The goal of the attacker is simply to identify people. Further, their problem is very different than the one considered in this paper because they ignore details and do not consider the effect of the existence of details on privacy.. Hay et al. [6] and Liu and Terzi [7] consider several ways of anonymizing social networks. However, our work focuses on inferring details from nodes in the network, not individually identifying individuals.. Other papers have tried to infer private information inside social networks. In [8] , He et al. consider ways to infer private information via friendship links by creating a Bayesian network from the links inside a social network. While they crawl a real social network, LiveJournal, they use hypothetical attributes to analyze their learning algorithm. Also, compared to [8] , we provide techniques that can help with choosing the most effective details or links that need to be removed for protecting privacy. Finally, we explore the effect of collective inference techniques in possible inference attacks.. In [9] , Zheleva and Getoor propose several methods of social graph anonymization, focusing mainly on the idea that by anonymizing both the nodes in the group and the link structure, that one thereby anonymizes the graph as a whole. However, their methods all focus on anonymity in the structure itself. For example, through the use of kanonymity or t-closeness, depending on the quasi-identifiers which are chosen, much of the uniqueness in the data may be lost. Through our method of anonymity preservation, we maintain the full uniqueness in each node, which allows more information in the data postrelease.. In [10] , Gross et al. examine specific usage instances at Carnegie Mellon. They also note potential attacks, such as node reidentification or stalking, that easily accessible data on Facebook could assist with. They further note that while privacy controls may exist on the user's end of the social networking site, many individuals do not take advantage of this tool. This finding coincides very well with the amount of data that we were able to crawl using a very simple crawler on a Facebook network. We extend on their work by experimentally examining the accuracy of some types of the demographic reidentification that they propose before and after sanitization.. The Facebook platform's data has been considered in some other research as well. In [11] , Jones and Soltren crawl Facebook's data and analyze usage trends among Facebook users, employing both profile postings and survey information. However, their paper focuses mostly on faults inside the Facebook platform. They do not discuss attempting to learn unrevealed details of Facebook users, and do no analysis of the details of Facebook users. Their crawl consisted of around 70,000 Facebook accounts.. The area of link-based classification is well studied. In [12] , Sen and Getoor compare various methods of link-based classification including loopy belief propagation, mean field relaxation labeling, and iterative classification. However, their comparisons do not consider In [13] , Tasker et al. present an alternative classification method where they build on Markov networks. However, none of these papers consider ways to combat their classification methods.. In [14] , Menon and Elkan use dyadic data methods to predict class labels. We show later that while we do not examine the effects of this type of analysis, the choice of technique is arbitrary for anonymization and utility.. In [15] , Zheleva and Getoor attempt to predict the private attributes of users in four real-world data sets: Facebook, Flickr, Dogster, and BibSonomy. They do not attempt to actually anonymize or sanitize any graph data. Instead, their focus is on how specific types of data, namely, that of declared and inferred group membership, may be used as a way to boost local and relational classification accuracy. Their defined method of group-based (as opposed to details-based or link-based) classification is an inherent part of our details-based classification, as we treat the group membership data as another detail, as we do favorite books or movies. In fact, Zheleva and Getoor work provides a substantial motivation for the need of the solution proposed in our work.. In [16] , Talukder et al. propose a method of measuring the amount of information that a user reveals to the outside world and which automatically determines which information (on a per-user basis) should be removed to increase the privacy of an individual.. Finally, in [17] , we do preliminary work on the effectiveness of our Details, Links, and Average classifiers and examine their effectiveness after removing some details from the graph. Here, we expand further by evaluating their effectiveness after removing details and links. In our experiments, we implemented four algorithms to predict the political affiliation of each user. The first algorithm is called "Details Only." This algorithm uses (9) to predict political affiliation and ignores friendship links. The second algorithm is called "Links Only." This algorithm uses (12) to predict political affiliation using friendship links and does not consider the details of a person. The third algorithm is called "Average." The Average algorithm predicts a node's class value based on the following equation:. where P D and P L are the numerical probabilities assigned by the Details Only and Links Only algorithms, respectively. The final algorithm is a traditional naïve Bayes classifier, which we used as a basis of comparison for our proposed algorithms. We define two classification tasks. The first is that we wish to determine whether an individual is politically "conservative" or "liberal." The second classification task is to determine whether an individual is "heterosexual" or "homosexual." It is important to note that we consider individuals who would also be considered "bisexual" as "homosexual" for this experiment. We begin by pruning the total graph of 160,000 nodes down to only those nodes for which we have a recorded political affiliation or sexual orientation to have reasonable tests for the accuracy of our classifiers and the impact of our sanitization. This reduces our overall set size to 35,000 nodes for our political affiliation tests and to 69,000 nodes for our sexual orientation tests. We then conduct a series of experiments where we remove a number of details and a separate series of experiments where we remove a number of links. We conduct these removing up to 20 details and links, respectively.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Cell formation using fuzzy relational clustering algorithm Cellular manufacturing is a useful way to improve overall manufacturing performance. Group technology is used to increase the productivity for manufacturing high quality products and improving the flexibility of manufacturing systems. Cell formation is an important step in group technology. It is used in designing good cellular manufacturing systems. The key step in designing any cellular manufacturing system is the identification of part families and machine groups for the creation of cells that uses the similarities between parts in relation to the machines in their manufacture. There are two basic procedures for cell formation in group technology. One is part-family formation and the other is machine-cell formation. In this paper, we apply a fuzzy relational data clustering algorithm to form part families and machine groups. A real data study shows that the proposed approach performs well based on the grouping efficiency proposed by Chandrasekharan and Rajagopalan. The production process requires a variety of machines and often some complex procedures. Frequently, parts have to be moved from one place to another. This results not only in machine idle time but also wastes the manpower required for the physical movement of the parts. Group technology (GT) has proven to be a useful way of addressing these problems by creating a more flexible manufacturing process. In flexible manufacturing systems, GT actually plays an important role in improving product quality. It can be used to exploit similarities between components to achieve lower costs and increase productivity without losing product quality. First, GT identifies parts, manufacturing processes, and machines by their attributes, analyzes attributes for similarities and finally, partitions items into families according to their similarities. Since parts in a given family have similar manufacturing characteristics, grouping increases manufacturing efficiency. Cell formation (CF) is used to design a good cellular manufacturing system that uses the similarities of parts related to machines so that CF can identify part families and machine groups. Therefore, CF is a key step in GT. It is well-known that the similarity coefficients play an important role in solving the CF problems. Yin and Yasuda [1] reviewed and discussed various similarity coefficients to the CF problems. They also suggested future directions for similarity coefficients.. Many methods are proposed to solve CF problems, such as classification of coding, clustering and fuzzy classification and so forth. For example, Mosier [2] , Wei and Kern [3] , Gupta and Seifoddini [4] , Shafer and Rogers [5] and Liao et al. [6] used a similarity-based hierarchical clustering method including single linkage clustering, complete linkage clustering, average linkage clustering, and linear cell clustering. Since these methods assumed well-defined boundaries between part-machine cells, these crisp boundary assumptions may fail to fully describe the case where the part-machine cell boundaries are fuzzy. This is why fuzzy clustering algorithms were applied for CF. Xu and Wang [7] first applied the fuzzy clustering to CF. Chu and Hayya [8] then improved its usage. Gindy et al. [9] considered optimal numbers of part families and machine groups using some validity indexes. Venugopal [10] gave a state-of-the-art review on the use of soft computing including fuzzy clustering. Moreover, Güngör and Arikan [11] applied fuzzy decision making in CF. However, these fuzzy clustering methods all considered numeric data. On the other hand, part or machine data is often symbolic or fuzzy, and these fuzzy clustering algorithms cannot be used for these mixed-variable data. Recently, Liao [12] proposed classification and coding approaches to a part family under a fuzzy environment with the construction of a coding structure for fuzzy data by considering a fuzzy feature as a linguistic variable. Yang et al. [13] applied the mixed-variable fuzzy c-means (MVFCM) proposed by Yang et al. [14] to CF.. In this paper, we describe two problems with Yang et al.'s [14] distance measure for fuzzy data. To solve these problems, we propose a new distance measure and construct dissimilarity matrices for parts and machines. Then the fuzzy relational data clustering (FRC) algorithm, proposed by Davé and Sen [15] , is applied to these two matrices. Based on the partition entropy (PE) [16] , we obtain the optimal partition for part families and machine groups in CF. Furthermore, the proposed approach performs well from the grouping efficiency proposed by Chandrasekharan and Rajagopalan [17, 18] . In Section 2, we review Yang et al.'s distance [14] for symbolic and fuzzy data and then propose a modified distance measure for fuzzy data. The FRC algorithm is introduced in Section 3. Section 4 applies the FRC algorithm to CF with our new defined distance measures, and conclusions are stated in Section 5. This paper presents a novel approach for CF based on a FRC algorithm. The approaches modified Yang et al.'s [14] distance measure for fuzzy data to obtain a dissimilarity matrix. The FRC algorithm with the modified distance measure is used to form part families and machine groups by the dissimilarity matrix. Based on the validity index PE values, we can obtain an optimal part-machine cell number for the production of cast aluminum alloys and forging steels. To compare with Yang et al.'s [13] approach, we find that the proposed approach is better than Yang et al. [13] according to the grouping efficiency proposed by Chandrasekharan and Rajagopalan [17, 18] . Furthermore, we also consider a binary machine/part matrix from [26] . The results indicate that the proposed approach is still good for the CF construction where the machine/part matrix has only general numeric data. In total, the proposed approach provides a realistic solution methodology for CF in GT applications, especially for the machine/part matrix with a mixed-variable type with symbolic and fuzzy data. In future, we will analyze the proposed approach in the time-based model which develops clusters of machines and parts into cells according to processing time [27] and cell formation involving multiple criteria or multiple attributes [28] .

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


Designing competitions between teams of individuals We consider a setting with two teams, each with a number of players. There is an ordering of all players that determines outcome of matches between any two players from the opposing teams. Neither the teams nor the competition designer know this ordering, but each team knows the derived ordering of strengths among its own players. Each team announces an ordering of its players, and the competition designer schedules matches according to the announced orderings. This setting in general allows for two types of manipulations by a team: Misreporting the strength ordering (lack of truthfulness), and deliberately losing a match (moral hazard). We prove necessary and sufficient conditions for a set of competition rules to have the properties that truthful reporting are dominant strategies and maximum effort in matches are Nash equilibrium strategies, and certain fairness conditions are met. Extensions of the original setting are discussed. Once upon a time in ancient China, the emperor Qi threw down the gauntlet to his minister Tian for a horse race. The rule was that each of them would announce a ranking of his three horses and each time the two horses with the same rankings would race. As the story goes, Tian learnt that his best horse was not as good as the emperor's best but better than his second best one, and his second best one was not as good as the emperor's second best but better than the emperor's worst one. Knowing that the emperor would be confident enough to announce the true ordering, the clever minister put forward his worst horse first and his best horse second followed by his second best. As a result, while Tian's worst horse lost badly to the emperor's best horse in the first match, he won the second and third matches nevertheless by taking the advantage of mismatches. Tian explained afterwards his strategy to the emperor and its potential application in military matters and as a result, he was promoted to be the general in chief. Similar examples abound. 1 A somewhat more recent example is the international team competition of table tennis. The schedule is a modification of the horse racing one by adding two matches between the first player and the second player from each team. Smart coaches can also benefit from strategically reporting the orderings. We will return to these examples later after we formally define the problem, which is henceforth called team competition problem. Competition among teams, each consisting of several players, presents at least two types of challenge. The first regards the desirable outcomes. Typically, the basic information is the relative strength of pairs of players, one from each team. But how does this information get aggregated to decide the relative merit of the two teams? For example, should a team with one strong player and the rest very weak players beat a team consisting entirely of mediocre players? This amounts to defining the appropriate social-choice functions in this domain. One contribution of this paper is to establish criteria for such functions; specifically, we adapted the notions of player anonymity, team anonymity, monotonicity, and Pareto efficiency to this setting.. The second challenge is that relative strengths among players are typically not common knowledge. Each team has private information about its players, and the only objective way of getting this information is to play a match and observe the outcome. Playing all pairwise matches is usually not feasible, and so typically a competition among teams proceeds as follows: The teams announce a ranking of their players, and the organizer schedules individual matches based on these rankings according to a formula announced in advance. The matches then take place, and each match adds a certain score to the team of the winner. The team with the highest aggregate score wins the competition. But this opens the door to two ways in which teams can manipulate the outcome: It can misreport the true ordering of their players, and it can throw a match (that is, deliberately lose). This is the problem of implementing the social-choice function, or of mechanism design (see [10, 14] for introductions).. Another contribution of this paper is the identification of necessary and sufficient conditions for implementing in dominant strategies social choice functions which satisfy the specified axioms. That is, identifying conditions under which it is best for a given team to truthfully reveal the ordering among its players -no matter what the other team does, as well as the conditions under which it is best for a given team to play its best in each match -knowing the other team also plays its best. These results are extended to a more general setting where the outcome of a match between two players is probabilistic -decided according to a winning probability matrix [6] .. The remainder of the paper is organized as follows: We next formulate the team competition problem as a mechanism design problem, identify the basic forms of mechanisms and state the desirable properties in this domain. In Sections 4 and 5, we characterize the conditions under which the mechanisms satisfy these properties. We then generalize our results in two directions in Section 6 and discuss related work in Section 7. Finally in Section 8, we briefly discuss future research topics related to team competition. This section presents answer to the question asked earlier: what mechanisms are truthful and implement the desirable social choice functions.

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


Structural optimisation based on the boundary element and level set methods . (2014) 'Structural optimisation based on the boundary element and level set methods. ', Computers and structures., Further information on publisher's website:http://dx.doi.org/10. 1016/j.compstruc.2014.01.004 Publisher's copyright statement: NOTICE: this is the author's version of a work that was accepted for publication in Computers Structures. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reected in this document. Changes may have been made to this work since it was submitted for publication. A denitive version was subsequently published in Computers Structures, 137, 2014Structures, 137, , 10.1016Structures, 137, /j.compstruc.2014.01.004.Use policyThe full-text may be used and/or reproduced, and given to third parties in any format or medium, without prior permission or charge, for personal research or study, educational, or not-for-prot purposes provided that:• a full bibliographic reference is made to the original source • a link is made to the metadata record in DRO • the full-text is not changed in any way The full-text must not be sold in any format or medium without the formal permission of the copyright holders.Please consult the full DRO policy for further details. A new method of structural topology optimisation is proposed in which an evolutionary approach is used with boundary element and level set methods. During the optimisation iterations, the proposed method automatically introduces internal cavities and does not rely on an initial guess topology with pre-existing holes. The zero level set contours describing both the external geometry and the internal cavities are converted to non-uniform rational B-splines (NURBS) for smooth boundary element meshing at each iteration. The optimal geometries generated by the proposed method for two-dimensional cases closely resemble to those available in the literature for a range of benchmark examples in the field of topology optimisation. Structural engineers worldwide are driven by the search for a design that is in some sense optimal, making the most efficient use of materials. In order to support this search, an extensive body of literature has appeared over the last decades describing various numerical techniques to generate structures that are optimal in terms of quantities such as weight, cost and stiffness. Most schemes in the literature make use of the finite element method (FEM) to perform the structural analysis that guides the optimisation process. Methods that have enjoyed enduring popularity include the homogenisation method of Bendsøe and Kikuchi [1] , based on varying the material porosity. This was enhanced to improve the stability for practical usage with the development of the SIMP method by Rozvany et al. [2] .. The most challenging structural optimisation problems are those of topology optimisation, which remains an active research area. Eschenauer et al. [3] introduced the bubble method, which is based on the insertion of new holes in the structure and the subsequent use of a shape optimisation method to determine their optimal size and shape. The concept of adaptive topology optimisation, developed by Maute and Ramm [4] , is based on the smoothness of the effective design space with a cubic or Bézier spline approximation based on the density distributions. This procedure not only reduces the number of design variables but also provides smooth geometry. Papalambros and Chirehdast [5] presented a three phase, homogenisation-based approach to integrated structural optimisation with CAD.. The inspiration from nature, i.e. how structures such as bones, trees and shells achieve their optimum over a period of time under specific envi-ronmental conditions, led to the development of the evolutionary structural optimisation (ESO) method. The simple evolutionary method presented by Xie and Steven [6] progressively removes material (i.e. finite elements) from low stress regions based on some rejection criteria. Similarly in Bi-directional ESO [7, 8] , material removal is accompanied by material addition in highly stressed regions. Garcia and Steven [9] introduced the concept of Fixed Grid (FG) FE analysis to simplify the meshing in order to enhance computational efficiency in problems where geometry changes with time. This is attractive from the point of view of efficiency, but the accuracy of stresses in elements intersecting the problem boundaries may become compromised. Dunning et al. [10] have used FG-FE simulations to drive a sensitivity based scheme for topology optimisation in the presence of uncertainty in the loading.. There has been some controversy over the last decade over the validity of ESO as an optimisation approach when the removal and addition of material is provoked by local stress values, in contrast with the use of design sensitivities related to an objective function. In spite of this, stress based ESO schemes have remained popular on account of their simplicity and extensive empirical evidence of the fact that their optimal solutions closely resemble those derived by more rigorous descent methods (e.g. Li et al. [11] ).. While finite elements have been a popular method, they have some shortcomings when used as the analysis engine for optimisation methods. Haftka and Grandhi [12] highlighted the principal issue in shape optimisation, that it is difficult to ensure the accuracy of the analysis for a continuously changing finite element model; the change in the shape of a structure distorts the shape of the finite elements, with consequent deterioration in the accuracy of 3 the stress solution. For these reasons it has been popular to use fixed grid FE approaches [9] to reduce distortion. However, poorly shaped elements still remain. The requirement of a smooth optimal geometry further increases the computational cost due to high mesh refinement at the boundaries. This leads us to propose the boundary element method (BEM) as an appealing alternative. The BEM is a well-established alternative to the FEM in structural analysis, and is attractive because it requires discretisation only at the structural boundary. This reduction of problem dimensionality considerably simplifies the re-meshing task, which can be performed efficiently and robustly. Thus, its rapid and robust re-meshing and accurate boundary stress solutions make the BEM a natural choice in the field of shape and topology optimisation.. While the BEM has been exploited for structural optimisation in earlier works [13, 14, 15] it is topology optimisation on which this paper focusses.. Cervera and Trevelyan [16, 17] used BEM for topology optimisation of two and three dimensional problems. In their ESO approach the moving geometry of the structure was represented by NURBS [18] explicitly, the spline control points being moved in response to local stress values. The boundary element based topological derivatives concept was used for the first time by Marczak [19] for the topology optimisation of thermally conducting solids.. The proposed formulation was based on the concept of introducing an iterative material removal procedure in a BEM framework. Carretero and Cisilino [20] presented topology optimisation of 2D elastic structures using the BEM with linear elements, inserting small holes in the model around internal points with the lowest values of the topological derivative. Bertsch et al. [21] presented three dimensional elastic topology optimisation in a BEM framework with the topological shape sensitivity method for the direct calculation of topological derivatives from stress fields.. The Level Set Method (LSM) presented by Osher and Sethian [22] has emerged as a powerful tool for describing the evolution of moving boundaries. It is particularly powerful in its ability to deal with complex merging and separation of different boundaries. There have been several examples in the literature of researchers exploiting this in topology optimisation, firstly by Sethian and Wiegmann [23] and later Wang et al. [24] . Numerical shape derivatives were used by Allaire et al. [25] for structural optimisation in 2D and 3D with both linear and nonlinear elasticity models. However, their approach is restrictive in that no new holes can be nucleated in 2D structural optimisation; moreover, the optimum solution is highly dependent on the initially guessed topology. Allaire and Jouve [26] combined the shape derivatives with topological derivatives to present a level set based optimisation method capable of automatic hole insertion. The proposed approach was shown to be independent from local minima but the implementation of topological derivatives is very difficult in numerical practice [27, 28] because, the hole size is dependent on a single mesh cell which cannot be infinitesimally small as proposed in the method [26] . In addition, the resulting optimal structure depends on the values of various parameters which can affect the stability of the optimisation process [29] . Other examples of LSM combination with FEM-based structural optimisation schemes can be found in [29, 30, 31] .. The use of BEM with the level set method in structural optimisation was first used by Abe et al. [32] . During each optimisation iteration the evolving 5 structural boundary is re-constructed from the zero level set contours, which consists of line segments joining the zero level set intersection points. The resulting non-smooth geometry is then meshed with linear boundary elements to perform the sensitivity analysis for the next iteration. The non smooth geometry and the linear boundary elements greatly reduce the accuracy of the expensive sensitivity calculations, and hence the method requires a large number of iterations to achieve convergence. In addition the use of sensitivity analysis restricts the nucleation of new holes and makes this method highly dependent on the initially guessed topology.. This paper presents an initial study of the integration of BEM, evolutionary optimisation approach, LSM and NURBS for 2D structural optimisation problems. The proposed method uses the 2D version of the BEM analysis software Concept Analyst (CA) [33] . The approach overcomes many of the shortcomings of earlier works; boundaries remain smooth throughout, and holes are inserted automatically revealing the final topology from a simple starting geometry. This paper is organised as follows. The basic details of LSM are introduced in Section 2, and the BEM is developed in Section 3.. In Section 4 we present the details of the optimisation algorithm and its implementation. The results obtained from the proposed algorithm are presented and discussed in Section 5, and the paper closes with some concluding remarks in Section 6.

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


Reduced-Dimension Multiuser Detection Abstract-We present a reduced-dimension multiuser detector (RD-MUD) structure for synchronous systems that significantly decreases the number of required correlation branches at the receiver front end, while still achieving performance similar to that of the conventional matched-filter (MF) bank. RD-MUD exploits the fact that, in some wireless systems, the number of active users may be small relative to the total number of users in the system. Hence, the ideas of analog compressed sensing may be used to reduce the number of correlators. The correlating signals used by each correlator are chosen as an appropriate linear combination of the users' spreading waveforms. We derive the probability of symbol error when using two methods for recovery of active users and their transmitted symbols: the reduced-dimension decorrelating (RDD) detector, which combines subspace projection and thresholding to determine active users and sign detection for data recovery, and the reduced-dimension decision-feedback (RDDF) detector, which combines decision-feedback matching pursuit for active user detection and sign detection for data recovery. We derive probability of error bounds for both detectors, and show that the number of correlators needed to achieve a small probability of symbol error is on the order of the logarithm of the number of users in the system. The theoretical performance results are validated via numerical simulations.

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