FreeRec: an anonymous and distributed personalization architecture Abstract We present and evaluate FreeRec, an anonymous decentralized peer-topeer architecture, designed to bring personalization while protecting the privacy of its users. FreeRec's decentralized approach makes it independent of any entity wishing to collect personal data about users. At the same time, its onion-routing-like gossipbased overlay protocols effectively hide the association between users and their interest profiles without affecting the quality of personalization. The core of FreeRec consists of three layers of overlay protocols: the bottom layer, rps, consists of a standard random peer sampling protocol ensuring connectivity; the middle layer, PRPS, introduces anonymity by hiding users behind anonymous proxy chains, providing mutual anonymity; finally, the top clustering layer identifies for each anonymous user, a set of anonymous nearest neighbors. We demonstrate the effectiveness of FreeRec by building a decentralized and anonymous content dissemination system. Our evaluation by simulation, our PlanetLab experiments, and our probabilistic analysis show that FreeRec effectively decouples users from their profiles without hampering the quality of personalized content delivery. The Web 2.0 has transformed the way users interact with the Internet. Users are no longer pure consumers, but they now generate a large portion of the available content. As a result, personalized services have become a requirement for most online applications. While personalization and social applications greatly enhance user experience, they amplify the Internet's inherent privacy risks and concerns. For instance, personalization in a social application can reveal potentially embarrassing information directly to friends, family, and colleagues. In addition, users publishing controversial or prohibited information on social platforms can easily be identified and located through their IP addresses.. The reason for the privacy risks associated with personalized services lies in their inevitable dependence on personal data. As another example, consider one of the most common forms of personalized services: recommendation. A common technology providing this service is user-based collaborative filtering (CF) [27] . This paradigm leverages interest similarities to identify correlations between the preferences of different users. While users are not generally aware of who else shares their own interests, their centralized implementation requires service providers to store accurate information about the interests of users. This clashes with the need to protect personal data.. Anonymity services provide an attractive way to overcome the privacy issues associated with personalized services. a user through pseudonym (e.g. IP address of another node). Several such solutions are available on the Internet [1] and offer users the possibility to navigate anonymously behind a proxy. However, the use of a single proxy is vulnerable to adversaries that can observe traffic going in and out of the proxy. Distributed solutions, such as Tor [12] provide better guarantees. Nonetheless, they do not eradicate the concentration of personal data within the servers of a single provider. Decentralized personalization based on the P2P paradigm [5, 8] addresses the issue of concentrated data while providing naturally scalability. Yet, they remain vulnerable to the presence of malicious users.. Clearly anonymity alone does not protect users privacy, nor does decentralization alone. In this work, we seek to address these issues by combining the benefits of decentralized personalization and anonymity. The result is FreeRec, an anonymous and distributed personalization architecture. Our solution implements a distributed user-based (CF) scheme through an anonymous and interest-based topology and uses the resulting overlay to recommend items to users. Unlike existing decentralized personalization platforms, FreeRec protects the interest profiles stored at every node by means of anonymous exchanges with other peers. This makes FreeRec a generic personalization architecture that can be leveraged to build a number of distributed applications that may benefit from recommendation services.. FreeRec builds anonymous chains of nodes by relying on three layers of gossip protocols providing mutual anonymity. A standard random-peer-sampling protocol provides nodes with the members of their anonymous chains. A second private peersampling protocol uses these chains to provide each node with an anonymous sample of the network. A top clustering layer implements a decentralized collaborative-filtering overlay by creating decentralized clusters of anonymous profiles. This layered architecture makes FreeRec self organizing and capable to adapt to the arrival and departure of nodes and to changes in the interests of users. We evaluate FreeRec using simulations, a real deployment on PlanetLab, and a probabilistic analysis. Our results on a news-personalization use case show that users are able to effectively receive and publish content even in presence of path failures with reasonable overhead.. The rest of the paper is organized as follows: Section 2 presents our system models and Sect. 3 details our solution. Experiment setup is presented in Sect. 4 while FreeRec is extensively evaluated in Sect. 5. Related works are introduced in Sect. 6 and Sect. 7 concludes our paper. We presented FreeRec, a decentralized architecture for building anonymous personalized services. FreeRec equips nodes with bidirectional onion-routing-like proxy chains that allow nodes to exchange their interest profiles without ever revealing their identities. FreeRec's core consists of three layers of gossip protocols. The bottom one is a standard random-peer-sampling protocol that provides nodes with the necessary information to build their proxy chains. The middle layer, the prps, constitutes the main contribution of this work and is an augmented rps protocol: it builds and maintains proxy chains and uses them to provide each node with a continuously changing anonymous sample of the network. The top layer completes the picture by providing each node with a cluster of anonymous interest profiles that most closely resemble its own. We extensively evaluated FreeRec in several ways: through simulations, with a planetlab deployment, and through a probabilistic analysis. Our results show its effectiveness in combining privacy with effective recommendations. We carried out an extensive evaluation of FreeRec by simulation and by deploying its implementation on PlanetLab. We present the results by analysing the overhead, the impact of proxy changes, the latency, and the probability for a proxy chain to be compromised by a set of colluding nodes. While personalization greatly enhances user experience, it raises privacy risks and concerns. Several collaborative-filtering approaches [23, 24] have tried to preserve the privacy of sensitive data address by applying randomized masking and distortion techniques to user profiles. However, [14, 19] show that privacy-sensitive information can be separated from such random distortion. To overcome this limitation, [7] uses noise that is not random but depends on the interest of users. This limits the amount of information exchanged between users to coarse-grained user profiles that only reveal the least sensitive information. Other decentralized approaches such as [10, 11, 22] exploit homomorphic encryption in a P2P environment. Isaacaman et al. [15] , in turn, addresses privacy by trust where participants exchange information and profile only across trusted content producer/consumer pairs. Alaggan et al. [2] proposes a differentially private protocol to measure the similarity between profiles. While differential privacy provides a strong notion of privacy, [21] highlights its important trade-off between privacy and accuracy.. A number of authors have proposed to address privacy by means of anonymity. Some, like [4] achieve receiver anonymity using group communication primitives like broadcasting, multicasting, and flooding. Others [12] focus on sender anonymity and relay messages from a node along a single anonymous path formed by nodes within the infrastructure.. Onion routing belongs to the latter group. It uses chains of router nodes that pack messages into onions: recursively encrypted data structures that contain the necessary routing information at each layer. When receiving an onion, a router removes a layer by decrypting it with its private key. At this point, it discovers either that it is the destination of the message, or the identity of the next router in the onion's forwarding path. Tor [12] uses this model but cannot be readily integrated with decentralized personalization services.. Some authors have already suggested the integration of gossip and anonymous services. The work in [26] uses gossip protocols to improve the robustness of trustbased overlays to provide privacy-preserving data dissemination. More precisely, it creates and maintains additional anonymous links on top of an existing social overlay. Similarly, [25] relies on gossip protocols to supports confidential communications and private group membership. This solution leverages existing multi-hops paths to circumvent network limitations such as NAT and firewalls to form anonymous channel. Neither however combines anonymity with personalization. Gossple [5] does this to some extent and builds a fully decentralized anonymous collaborative network. Its gossip-on-behalf protocol hides the association between a user and her profile. Yet, in Gossple, a proxy controls some of the node's data structures. This is a significant disadvantage if the proxy wishes to censor specific information. In FreeRec, on the other hand, a proxy can at most drop messages randomly as it has no way to access their content.. Other works on gossip-based protocols have focused on tolerating byzantine faults such as BAR gossip [20] , the secure peer sampling [18] , Brahms [6] or PuppetCast [3] . In this work, we do not consider that nodes can act as active adversary by operating maliciously in the protocol. In case of malicious nodes cheating in the protocol, FreeRec could leverage one of these solutions to tolerate byzantine nodes. Finally, some authors [31, 32] have suggested to address churn by replacing each onion router with a group of nodes. Such a technique could easily be integrated with our solution. We evaluated FreeRec in the context of a news-personalization use case. We combine FreeRec with a gossip-based dissemination protocol to recommend news items to a population of users. A user interest profile contains the news items she received and liked. When a user generates an item or expresses a positive opinion on a received item, she forwards it to her neighborhood in FreeRec's anonymous interest-based topology. Gossip frequency in all protocols is set to one per simulation cycle and of one every 2s in PlanetLab.

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


Responsive Security for Stored Data We Many applications need to store long-term data and retrieve it for later use. These applications range from single user applications storing personal information to multiuser collaborative applications that allow users to share stored data. Furthermore, these applications may run on computers that range from desktops to mobile and hand held devices. For example, the Aware Home [1] that has been built at the Georgia Institute of Technology is an information rich environment where a number of devices capture information about the residents and their activities. Such information, which could be of sensitive nature, is stored and accessed by a number of applications. Several characteristics of computers that execute such applications make them unsuitable for storing sensitive information. First, the devices may be resource poor and may not be able to store long-term data. Second, they can be easily stolen or compromised and hence cannot be trusted with long term storage of data that has confidentiality and integrity requirements. Third, when data size becomes large, storage management is expensive and prone to errors. As ubiquitous applications proliferate, the need for services that can store data securely will arise in environments that span the home and community where fewer assumptions can be made about proper system management.. It would be desirable to provide an easy to manage data repository service for applications that store and access sensitive information. The kind of data that would be stored in the data storage service imposes several requirements on its design. First, the data has to be highly available and quickly accessible to distributed clients. Second, access to private or sensitive data should be controlled. In particular, confidentiality and integrity of the stored data should not be compromised. Third, these requirements should be met even when some number of servers in the secure store are compromised by an adversary.. We present the design and analysis of a distributed data store that can meet both security and performance requirements. Our design integrates two well known techniques, namely replication and secret sharing to achieve this goal. Our key contribution is an architecture that provides desirable levels of security guarantees and performance by exploiting the natural tradeoffs possible between the two conflicting goals. We present protocols that allow data to be read and written in a system that replicates data shares, even when some number of nodes can be compromised. To provide additional security we allow periodic share renewal when necessary because of the nature of the data. Similarly we use update dissemination among replicas to improve performance. Owing to replication, our store must address consistency of data when it is read and updated. We offer weaker yet useful levels of consistency for stored data. Our store offers two weak forms of consistency, namely Monotonic Read Consistency and Causal Consistency [31, 30] . We present an analysis of the system to demonstrate the tradeoffs that are offered by our design.. The rest of the paper is organized as follows. In the next section, we describe approaches based on replication and secret sharing briefly, and argue why a combination of the two offers a better solution. In section 3, we discuss related work that has been done in the past. In section 4, we describe the architecture of the secure store and discuss the related protocols. We discuss the consistency issue in section 5 and give a modified set of protocols to guarantee two types of data consistency. We do a simple analysis of our system in section 6 and show the tradeoffs permitted by our design for various security and performance requirements. We conclude with a discussion about future work in the last section. In this paper, we have presented a design for a distributed store that integrates replication and secret sharing to meet both performance and security needs while tolerating Byzantine faults. By our simple analysis, we have shown that for a probabilistic model of Byzantine failures, our design provides greater flexibility in meeting security and performance needs compared to either a pure replication or a pure secret sharing scheme. Although we used specific secret sharing and share renewal schemes for the discussion in this paper, the design of our system does not depend on any specific choice for these schemes. We could use any secret sharing or share renewal scheme that satisfies certain requirements, as appropriate for our protocols.. There are several directions in which our research can be pursued further. First, we are currently experimenting with and exploring other possible secret sharing schemes and one-way functions for our purpose. Currently, our system provides the same level of security and performance for all objects in the store. This could be further extended to provide flexible security guarantees, customizable on a perobject basis. Dynamic inclusion and exclusion of servers and secure authorization service are some interesting problems to explore. In the future, we also plan to prototype a secure store and evaluate it experimentally. In this section, we do an analysis of the secure store based on a probabilistic model and show how the choice of a threshold value and other parameters affect the security and performance of the system. During any continuous time interval of length units, we assume that any server can be compromised with a probability ¦ . Thus, expected number of compromised servers during a time interval of length would be § ¦ . However, a lower or higher value can be chosen for ¡ to tolerate certain number of failures depending on whether better performance or stronger security is desired. We assume that the probability of compromising one node is independent of the other. Thus, in the analysis, we do not consider the case of related or similar attacks on nodes operating on same OS or run time code. For the purpose of analysis we also assume that the system is in a steady state, void of concurrent reads and writes. Thus, we assume reads and writes do not fail because of consistency requirements. The analysis we provide here is a simplified one and its goal is to provide us with insights into how some parameters affect security and performance levels offered by the system. In particular, it gives us a direction as to what threshold value and the degree of replication should be chosen, given the desired levels of various security and performance metrics.. We consider the following security metrics.. Availability : Availability is defined as the probability that a legitimate client can read a data item that has been written successfully.. Confidentiality : Confidentiality is defined as complement of the probability that an adversary can read a data item that has been written successfully.. Integrity : Integrity is defined as complement of the probability that a reading client could be returned corrupted data content without corruption being detected.. We assume that the servers are organized in columns and rows with , where is the total number of servers. Furthermore, we assume that a. scheme is used for secret sharing. With these assumptions, the security metrics can be evaluated as follows:. Availability(¡ ): ¦ For our system, integrity is same as confidentiality since any compromised node can both disclose data shares and corrupt them. If use of signature is considered, integrity becomes the probability that a signature can be forged. In rest of the section, we discuss only confidentiality and availability as the primary security metrics.. In addition to these security metrics, for our system, we also define the following performance metrics.. Read cost : Read cost is defined as the expected number of servers a client needs to contact to read a data item successfully. A data item is read successfully upon collecting or more columns is greater than or equal to where is the confidence level. If. is the probability of a write being successful when a client writes to X . Given the probability of a node being compromised and the total number of servers, there are two parameters that determine the values of the security and performance metrics. These are the threshold level ¡ and the degree of replication which is the number of rows or alternatively the number of columns .. We calculated the four metrics by varying these two parameters for a system of 45 servers with . Plots 6(a), 6(c) and 6(e) in figure 6 show availability and confidentiality. Both availability and confidentiality are plotted in logarithmic scale. For a value plotted in the graph, the corresponding probability (availability or confidentiality) is For a given threshold level, increasing the number of columns (and hence decreasing the number of rows) increases availability and decreases confidentiality. Write cost increases linearly with number of columns but read cost remains almost a constant.. For a given number of columns (and rows), increasing the threshold value decreases availability and increases confidentiality. Read cost increases linearly with threshold. Write cost remains almost a constant for low threshold levels. As threshold value ap- Replication schemes that tolerate Byzantine faults 1 in a distributed environment have been studied well in the past.. Schneider presented a generalized state machine replication approach to fault tolerance [6] . Liskov and Castro gave a practical implementation of the state machine approach for a file system that tolerated Byzantine faults [7] . The state machine approach does not scale well with large number of servers for the reason that each request involves two or more rounds of communication involving all the servers.. Quorum systems are popular for managing replicated data. The Phalanx [2] and Fleet [8] systems were built using a quorum approach to tolerate Byzantine faults. In a quorum scheme, operations are done with sets of servers (quorums) that sufficiently overlap with each other to tolerate some number of malicious failures. Though access cost can be reduced to some extent by weakening the consistency guarantee, it can still be quite high for some class of applications. Alvisi et. al. presented a scheme to dynamically change the threshold value (the number of failures to be tolerated) based on the estimated number of faults perceived [9] and thus avoiding the use of large quorums when the actual number of compromised nodes is small.. Both state machine and quorum based approaches do not offer data confidentiality unless encryption schemes are used. Alternatively, secret sharing schemes that do not use encryption keys were developed to offer data confidentiality even when some number of nodes are compromised. Shamir and Blakley gave simple secret sharing schemes based on polynomial interpolation and intersection of hyper planes, respectively [3, 10] . A number of other schemes have also been developed [11, 13, 24] . Tompa et. al. [12] , Feldman [14] , Pederson [15] and Krawzcyk [25] have also considered malicious corruption of shares either by servers or by a client.. More recently Herzberg et. al. developed a proactive secret sharing scheme where servers could proactively recover and renew their shares in a distributed manner to protect information against an adversary who can dynamically compromise nodes [5] . Our discussion here uses techniques presented in this paper, in particular, the share renewal and share recovery protocols.. Herlihy and Tygar developed a scheme where data is encrypted and the key is secret-shared [23] . Krawzcyk presented a computationally secure secret sharing scheme combining secret sharing with encryption and Rabin's information dispersal [24] . Naor and Wool presented a scheme in which access control servers are different from storage servers [26] . However, they considered the case of benign server faults and malicious clients.. The PASIS project [16] at CMU very closely relates to our work. PASIS considers various secret sharing and other schemes to store data securely in a data repository. However, PASIS does not consider integration of replication and secret sharing. Fray et. al. proposed an approach similar to ours, fragmentation-scattering [21] , where fragments of ci-pher text are replicated. However replication was achieved by clients broadcasting the fragments. They did not consider fragment dissemination or periodic renewal of fragments. Other related works include data dissemination in benign [17] and malicious environments [18, 19, 20] .. Consistency models ranging from strong consistency guarantee like atomicty or one-copy serializability to weaker models for replicated data have been studied well in the past [27, 28, 29] . Weaker consistency models that meet the needs of many applications and yet efficient to implement have been proposed for systems like distributed file systems and shared memory systems. For example, the causal consistency model [30] permits more efficient implementations and can meet the needs of many applications. Although weaker consistency models may be appropriate for some applications, no single model may meet the consistency needs of all applications. Thus, several consistency levels may have to be provided in the same system [31, 32] . The Bayou system best exemplified this approach. Motivated by Bayou-like systems, our system also offers two levels of consistency, namely Monotonic Read Consistency and Causal Consistency. However we differ from Bayoulike systems in that the burden of maintaining consistency is upon clients that must save and use meta-data to decide what values can be accessed without violating consistency.

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


Blind separation using second order statistics for non-stationary signals Abstract. In the signal processing area, blind source separation (BSS) is a method aiming to recover independent sources from their linear instantaneous mixtures without resorting to any prior knowledge, such as mixing matrices and sources. There have been increased attentions given to blind source separation in many areas, including wireless communication, biomedical imaging processing, multi-microphone array processing, and so on in recent years. In this paper, we propose a new simple BSS technique that exploits second order statistics for nonstationary sources. Our technique utilizes the algebraic structure of the signal model and the subspace structures so as to efficiently recover sources with interference of noise. Computer simulations have demonstrated that, in comparison with other existent methods, our method has better performance in the regimes of low and medium SNRs. For high SNRs, our method is not as promising methods such as the method called AC ("alternating columns")-DC ("diagonal centers") algorithm, but it gives reasonable performance. In recent years, blind source separation (BSS) has received much attention in such applications as multi-path channel identification and equalization, direction of arrival (DOA) estimation in sensor arrays, speech enhancement with multiple microphones, biomedical signal analysis, and crosstalk removal in multi-channel communications. This wide applicability is due to the fact that BSS can be used to process data from multi-sensor measurements with no need to model the underlying physical phenomena accurately.. Most of BSS algorithms can be classified into two types according to how the source sequences are modeled. The first type [1, 2] deals with stationary signals, such as modulated digital signals in communication system, while the second [3~10] involves non-stationary signals, such as speech signals and video signals. In this thesis, we consider non-stationary source sequences. Many BSS algorithms for non-stationary signals have been proposed in the last decade. Because of the non-stationarity of the source signals, most BSS algorithms attempt to get the estimation of the mixing matrix or its inverse by simultaneously diagonalizing all covariance matrices. For instance, Parra et al. [6] proposed a method that minimizes the error between the covariance matrices, which are obtained from observed signals, and the iterative estimated covariance matrices by the gradient descent method to estimate the mixing matrix or its inverse.. In this thesis, we proposed a new algorithm which utilizes the algebraic structure of the signal model to separate source signals from observed mixtures by alternating projection and to suppress the noise effect by subspace projection. Some simulations are performed to show that the proposed method has better performance in comparison to other existing methods in cases where mixtures are perturbed by significant noise. The remaining parts of the paper are organized as follows. In Section 2, we present the problem statement and some general assumptions of our problem. In Section 3, the new proposed algorithm is presented explicitly. We first derive the identifiability of the proposed algorithm, and then present the channel identifiability, reconstruction of sources, and noise reduction in order. Then some simulation results are provided to justify its performance in Section 4. Finally some conclusions and discussions are drawn in Section 5. In this thesis, we have presented a new blind source separation algorithm for non-stationary signals using second order statistics. The proposed algorithm was derived from a subspace perspective and may perfectly identify the channel even in the presence of noise. Through computer simulations, we have demonstrated that the proposed algorithm outperformed the existing algorithms when the effect of noise is conspicuous. However, there is a performance limit when the noise is small for our algorithm. It would be an interesting future direction to improve our algorithm for small noise cases.

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


The Markov Model of Bean Optimization Algorithm and Its Convergence Analysis By simulating the self-adaptive phenomena of plants in nature, a novel evolutionary algorithm named Bean Optimization Algorithm (BOA) was proposed in 2008. BOA can be used for resolving complex optimization problems. As BOA is a new optimization algorithm, theoretical analysis of the algorithm is still very preliminary. Research on the state transfer process and the convergence behavior of BOA is of great significance for understanding it. In this paper, we build the Markov chain model of this algorithm and analyze the characters of this Markov chain. Then we analyze the transferring process of the bean memeplex status series and point out that the memeplex status series will enter the best status set. We also prove that this algorithm meets the requirement of global convergence criterion of random search algorithms. Finally we get the conclusion that BOA will make sure to get the global optimum. Keywords： swarm intelligence; bean optimization algorithm; Markov chain; global convergence (GA) [1], particle swarm optimization (PSO) [2], artificial fish-swarm algorithm [3], free search algorithm [4], human evolution model algorithm [5], group search optimization algorithm [6], shuffled frog leaping algorithm [17], etc.Because the structure of nature biology is complex and sophisticated, they have a high degree of adaptive capacity and strong collaborative capabilities both in the evolutions and behaviors. Through collaboration, they can get the best environment for survival. Therefore, most of the natureinspired algorithms have the character of self-organizing, self-adaptive and self-learning. When solving some complex problems which could not be solved easily by the traditional optimization algorithm, the nature-inspired optimization algorithms have its own unique advantages. At present, the nature-inspired optimization algorithms have been used to solve complex optimization problems in many fields successfully, for example in task assignment [7], classification [8], TSP [18], cluster analysis [19] , scheduling [20] and gene selection [9] . However, because the theoretical basis of nature-inspired optimization algorithms comes from the model of biological Many complex self-adaptive phenomena in nature often give us inspiration. For example, organisms and natural ecosystems can solve many highly complex optimization problems through their own evolutions. Some scholars have been inspired from these natural phenomena and many nature-inspired optimization algorithms have been proposed to solve complex optimization problems. The idea of the novel optimization algorithms which simulates the natural ecosystem mechanisms is different from the idea of the classic optimization algorithms. Their appearances greatly enrich the optimization technology and bring new life and hope for the solution of complex optimization problems which are difficult to deal with by traditional optimization methods. Nature-inspired optimization algorithm refers to the computing technology and algorithms which based on the functions, characteristics and mechanism of the nature to solve the optimization problems, such as genetic algorithms communities in nature, the relevant mathematical analysis is still quite weak. This leads to many problems in the current study, such as: universal theoretical analysis of intelligent algorithms, theoretical basis of parameter settings of intelligent algorithms. In 2008, inspired by the transmission mode of seeds, a novel evolutionary algorithm named Bean Optimization Algorithm (BOA) was proposed [10] , which could be used to solve complex optimization problems by simulating the adaptive phenomenon of plants in nature. BOA is the combination of nature evolutionary tactic and limited random search. It has a stable robust behavior on explored tests and stands out as a promising alternative to existing optimization methods for engineering designs or applications. At present, two algorithm models have been constructed for BOA, including piecewise function model and normal distribution model. BOA has been successfully applied in solving of TSP with ACO [11] , materials scheduling and earthquake recovery [12] and reconstruction planning of China [13] . As BOA is a new nature-inspired optimization algorithm, theoretical analysis of the algorithm is still very preliminary. Research on the state transfer process and the convergence behavior of BOA is of great significance for understanding it. In this paper, the Markov chain model of BOA is established to analyze the behavior of the population state transfer process. Based on the model, the convergence analysis is carried out. BOA is conceptually simple and convenient to handle a variety of optimization problems, which makes it particularly attractive for real world applications. In this paper, the Markov chain model of BOA is established and the analysis of the Markov chain is made. Then we prove that BOA satisfies the two convergence conditions of the random search algorithms and it is a global convergence algorithm. One of the most significant merits of BOA is that it provides an open framework to utilize research results of transmission mode of beans (seeds) to tackle hard optimization problems. After millions even billions of years of natural selection, adaptive behavior of plant distribution, especially in complex natural environments, has been verified as excellent by evolution. Research on the transmission mode of beans (seeds) provides many searching strategies to be incorporated into BOA for solving difficult optimization problems. This article is a macro-level analysis of BOA about the state transition conditions and convergence

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


On Piercing Sets of Axis-Parallel Rectangles and Rings Abstract. We consider the p-piercing problem for axis-parallel rectangles.We are given a collection of axis-parallel rectangles in the plane, and wish to determine whether there exists a set of p points whose union intersects all the given rectangles. We present e cient algorithms for nding a piercing set (i.e., a set of p points as above) for values of p = 1; 2; 3; 4; 5. The result for 4 and 5-piercing improves an existing result of O(n log 3 n) and O(n log 4 n) to O(n log n) time, and is applied to nd a better rectilinear 5-center algorithm. We improve the existing algorithm for general (but xed) p, and we also extend our algorithms to higher dimensional space. We also consider the problem of piercing a set of rectangular rings. Let R be a set of n axis-parallel rectangles in the plane, and let p be a positive integer. R is called p-pierceable if there exists a set of p piercing points which intersects every member in R. Our problem, thus, is to determine whether R is p-pierceable, and, if so, to produce a set of p piercing points.. There are several papers in which the p-piercing problem for axis-parallel rectangles was investigated; let us mention only the very recent papers. The 1-piercing problem was easily solved in linear time using the observation that 1-piercing problem for rectangles is equivalent to nding whether the intersection of rectangles empty or not. In Sharir and Welzl 7] 2-and 3-piercing problems in the plane are solved in linear time, while they reach only O(n log 3 n) bound for the 4-piercing problem and O(n log 4 n) bound for the 5-piercing problem. Katz and Nielsen 2] present a linear time algorithm for d-dimensional boxes (d 2), when p = 2. In this paper we present a new technique which allows to obtain simple linear time algorithms for p = 1; 2; 3, and obtain an O(n logn) time solution for p = 4; 5, thus improving the previous results of 7] . We improve the existing algorithm of 7] for general (but xed) p, and we extend our algorithms to higher dimensional space. We also consider the problem of piercing the set of rectangular rings. The boundary of a rectangular ring consists of two concentric rectangles, where the inner rectangle is fully contained in the outer one, however, the vertical and horizontal widths of the ring, are not necessarily equal.. This paper is organized as follows. We rst demonstrate our technique (Section 2) in the case of p = 1. We then describe this method (Section 3) for the case of p = 2; 3. In Section 4 an O(n logn) time algorithm for 4-piercing is given. In Section 5 we present an O(n logn) time algorithm for the case of p = 5 and describe generalizations of the problem. Section 6 deals with piercing sets of rectangular rings. We conclude in Section 7.. 2 We are given a set R of n axis-parallel rectangles in the plane; The goal is to decide whether their intersection is empty or not. We begin with an observation due to Samet 5] .. Let P be the set of 4 dimensional points representing the parameters of R. Let P x = fp x 1 ; : : :; p x n g be the projections of the x-intervals of R into the plane (c x ; d x ), and let P y = fp y 1 ; : : :; p y n g be the projections of the y-intervals of R into the plane (c y ; d y ).. If a shape R is described by k parameters, then this set of parameter values de nes a point in a k-dimensional space assigned to the class of shapes. Such a point is termed a representative point. Note, that a representative point and the class to which it belongs completely de ne all of the topological and geometric properties of the corresponding shape.. The class of two-dimensional axis-parallel rectangles in the plane is described by a representative point in four dimensional space. One choice for the parameters is the x and y coordinates of the centroid of the rectangle, denoted by c x ; c y , together with its horizontal and vertical extents (i.e. the horizontal and vertical distances from the centroid to the relevant sides), denoted by d x ; d y . In this case a rectangle is represented by the four-tuple (c x ; d x ; c y ; d y ) interpreted as the Cartesian product of a horizontal and a vertical one-dimensional interval : (c x ; d x ) and (c y ; d y ), respectively. A query that asks which rectangles contain a given point is easy to implement (see Figure 1 ). A query point P is represented by a four-tuple (p x ; 0; p y ; 0). We transform the rectangles (A,B,C) in Figure 1 (a) into the points in two 2-dimensionalspaces ((c x ; d x ) and (c y ; d y )) (Figure 1(b) and 1(c) ). There are two points representing P in these 2-dimensional spaces. (p x ; 0) in (c x ; d x )-space, and (p y ; 0) in (c y ; d y )-space. It is easy to see that all the rectangles that contain P must be transformed into two cones in these spaces respectively (the shades cones in Figure 1 ). These cones have apexes on the (p x ; 0) and (p y ; 0) respectively and are of slope 45 and 135 . In Figure 1 , A and B are in both cones and thus P is in these rectangles.. In order to nd whether the set R is 1-pierceable, we nd in each 2-dimensional space the rightmost intersection point R x (R y ) of the 45 lines through the points of P x (P y ) with axis c x (c y ), and the leftmost intersection point (L x and L y respectively) of the 135 lines with through P x and P y respectively, axes c x and c y respectively. If the intervals R x ; L x ] and R y ; L y ] exist (are not empty) then a point P whose projections are in these intervals is a piercing point.. Thus, we can conclude by the following theorem:. Theorem1. We can nd whether a set of n axis-parallel rectangles is 1-pierceable in O(n) time, and give a solution, if it exists, in the same runtime.. 3 Rectilinear 2-and 3-piercing. We begin with the 2-piercing problem. Similarly to the previous section, we have to nd whether there exist four cones C 1 ; C 2 2 (c x ; d x ) and C 3 ; C 4 2 (c y ; d y ) such that: 1. C 1 C 2 covers P x . 2. C 3 C 4 covers P y . 3. Denote by C i ] the set of all the points of P that corresponded to the points of P x (or P y ) covered by C i . At least one of the following two conditions is true:. ) contains all the points of P. This will imply that the apexes of C 1 ; C 3 de ne one piercing point and apexes of C 2 ; C 4 de ne the other piercing point.. contains all the points of P. This will imply that the apexes of C 1 ; C 4 de ne one piercing point and apexes of C 2 ; C 3 de ne the other piercing point. We can constrain the locations of the cones C 1 ; C 2 ; C 3 ; C 4 . They are de ned by minimal and maximal points of intersection of the 45 and 135 lines with the horizontal axes in the two planes (c x ; d x ) and (c y ; d y ) respectively. It is easy to see that in order for the rectangles to be 2-pierceable, we put, wlog, the apex of C 1 on R x , C 2 on L x , C 3 on R y and C 4 on L y . Clearly, if these cones cover all the points then the set R is 2-pierceable.. In the case of 3-piercing, we have to nd six cones C i ; 1 i 6, which will de ne three piercing points with the following properties:. 1. C 1 C 2 C 3 covers P x . 2. C 4 C 5 C 6 covers P y .. 3. For i; k; z 2 f1; 2; 3g, pairwise disjoint and j; l; h 2 f4; 5; 6g, pairwise disjoint j(. )j = n for at least one combination of i; k; z (there are at most 6 combinations), where the union is taken is without repetitions. W.l.o.g., we can nd the constrained cones C 1 ; C 3 ; C 4 ; C 6 as in the algorithm for 2-piercing. Namely, the left boundary of C 1 (C 4 ) is constrained by the leftmost 135 line through the points of P x (P y ), and the right boundary of C 3 (C 6 ) is constrained by the rightmost 45 line through the points of P x (P y ).. To ful ll condition (3) Now we have to nd eight cones C i ; 1 i 8 with the following properties:. 1. C 1 C 2 C 3 C 4 covers P x . 2. C 5 C 6 C 7 C 8 covers P y .. 3. For some pair of cones C i ; C j ; i 2 f1; 2; 3; 4g;j 2 f5; 6; 7; 8g the set of all rectangles without those covered by C i ] \ C j ] is 3-pierceable. As before, assume wlog that C 1 ; C 4 ; C 5 ; C 8 are constrained, so condition (3) when we choose i 2 f1; 4g and j 2 f5; 8g is easily checked in linear time, because we can nd the location of C 1 ; C 4 ; C 5 ; C 8 in linear time and then answer the 3-piercing problem in linear time. If i 2 f2; 3g and j 2 f6; 7g then there exist i 0 2 f1; 4g and j 0 2 f5; 8g such that if the set of rectangles is 4-pierceable then one piercing point must be determined by the cones C i 0 and C j 0 . So this case is also computed in O(n) time. The worst (and the more interesting) case is when each constrained cone in one plane corresponds to a non-constrained cone in the other plane. Let us look at one such pair (there is a nite number of such pairs), wlog, C 3 in (c x ; d x ) and C 5 in (c y ; d y ). The analysis for all other such pairs is almost identical.. We sort all the 45 (135 ) lines determined by P x in (c x ; d x ) plane, and do the same to the lines determined by P y in (c y ; d y ) plane. Clearly, the apex of C 3 is between the apexes of C 1 and C 4 . So, we x the apex of C 3 to coincide with the apex of C 1 and begin to move it rightwards towards C 4 . We de ne an event when a point of P x is inserted or deleted from C 3 . Initially, we compute the set of points A P covered by C 3 ] \ C 5 ] (when the apex of C 3 is determined by the leftmost 135 line through the point of P x ) and apply the 3-piercing algorithm for the rest of the points S = P ? A, allowing, only this time, C 1 to move freely. If we have a positive answer, we are done; otherwise we continue.. We move C 3 rightwards to the next event and change S accordingly (as in Figure 2 ). The rst next event is when the leftmost point of P x is deleted from C 3 . Then we run again the 3-piercing algorithm for S. Here, too, if S is 3-pierceable then we are done. Clearly, from now on the location of the apexes of C 1 ; C 4 and C 8 will not change during the whole algorithm because these cones are de ned by the extreme points of P x and P y that will never appear in both C 3 and C 5 . Let C 7 be the leftmost cone covering S in (c y ; d y ). The location of C 7 will change since C 7 will move towards C 8 and back to cover points. But once C 7 moves back from C 8 it will never move towards C 8 again. This is because C 5 is constrained and C 7 , the second cone from the left, moves back to cover points that got out of A. Since the leftmost point has to be covered in order to have 4-piercing, once C 7 got back to its leftmost position, it will never move to the right again. Thus, the number of changes that we perform on C 7 is O(n). Our goal is to determine the location of the cones C 2 in (c x ; d x ) and C 6 in (c y ; d y ). We will check the possible combinations of pairing the cones to create piercing points. Assuming the cones C 3 and C 5 describe a piercing point, we have the following combinations for the rest of the piercing points: Observation 3 The combinations of the cones at each step of the 4-piercing algorithm are independent, meaning that we check 3-pierceability for each xed combination of the cones throughout all the steps of the 4-piercing algorithm. If we get a negative answer for a combination, we check the other combinations. If there is a solution it will be found by the algorithm in one of the steps of one combination.. According to observation 3, because we have nite number of combinations, we can perform the 4-piercing algorithm for each one of the combinations separately. For each of the combinations, the 4-piercing algorithm is slightly di erent. Denote by. Recall that S = P ?A, A being the points covered by (C 3 ; C 5 ).. We present a skeleton of the algorithm and then give the additional technical details. For every combination of cones the following events happen during the 4-piercing algorithm: (exempli ed by C 3 and C 5 as a piercing point and the 3-piercing combinations (a)-(f) as above):. 1. Initially the left boundary point q of C 3 is getting out of C 3 . If q 2 A, we re-run the 3-piercing algorithm, otherwise no update is needed, since q did not belong to A, it was, and remains, in S.. 2. If, when we move the apex of C 3 towards C 4 , a point q 0 is inserted to C 3 i. For combination (a). Find the new boundaries of the middle cones C 2 and C 6 in both planes and check whether they cover the rest of the points by simply computing and examining the set S (1) = S ? C 17 ? C 48 . Note that the cones C 4 and C 8 are both constrained and do not move during the whole algorithm. ii. For combination (b) (similarly (e)). By computing and examining the set C 17 (C 14 ) we found the new left boundaries of C 2 and C 6 . Only thing we have to do now is to check whether the pairs (C 2 ; C 8 ) and (C 4 ; C 6 ) ((C 1 ; C 6 )) cover the set of all points of P not covered by (C 3 ; C 5 ) and (C 1 ; C 7 ) ((C 4 ; C 7 )). This could be done by computing the sets S. = C 48 ? C 17 (C 18 ? C 47 ), C 0 4 and C 0 8 and updating T 1 and T 2 as described below. Using the updating scheme below, we check whether C 2 covers C 0 8 , C 6 covers C 0 4 , and together C 2 and C 6 cover S (2) . iii. For combination (c) (similarly (f)). By computing and examining the set S. = S ? C 18 ? C 27 we nd the leftmost and rightmost points of this set in both planes that should be covered in both planes by C 6 and C 4 . We nd the new boundaries of C 2 and C 6 and check whether C 6 and C 4 cover the leftmost and rightmost points in both plane that we just found. Note that the number of updates on C 2 in the whole algorithm is O(n). This is because the left boundary of C 2 is de ned by the leftmost point (of S) in (c x ; d x ) not covered by C 18 and thus C 2 moves towards and back from C 4 , but when it moves back it will never move rightwards again. iv. For combination (d). By computing and examining the set S (4) = S ? C 18 ? C 47 we nd the leftmost and rightmost points of this set in both planes that should be covered in both planes by C 6 and C 2 . We nd the new boundaries of C 2 and C 6 and check whether C 6 and C 2 cover the leftmost and rightmost points in both plane that we just found. 2.2 If q 0 does not de ne a left boundary of a cones as above, then for each combination we perform an identical updating scheme as in 2.1 but without computing a new left boundary of the middle cones C 2 and C 6 . After the updates we check whether there is a 3-piercing combination for S.. 3. If, when we move apex of C 3 , a point q 00 is deleted from C 3 , then 3.1 If q 00 = 2 C 5 we proceed to the next event. 3.2 If in the past q 00 was the left boundary of the middle cone C 2 in (c x ; d x ), or q 0 was the left boundary of the left cone C 7 , or the left boundary of the middle cone C 6 in (c y ; d y ) for the combinations (a)-(d) (similarly, right boundary for the combinations (e)-(f)), then, for the given combination we perform the following updating scheme: If q 00 de nes a new left boundary C 7 , then we compute a new location of C 7 and: i. For combination (a), nd the new boundaries of the middle cones C 2 and C 6 in both planes and compute the rightmost and leftmost points of the set S (1) in both planes. ii. For combination (b), by examining the set C 17 nd the new left boundaries of C 2 and C 6 , compute the sets S (2) ; C 0 4 and C 0 8 and update T 1 and T 2 .. iii. For combination (c), nd the new boundaries of C 2 and C 6 . By examining the set S (3) nd the leftmost and rightmost points of this set in both planes. iv. For combination (d), nd the new boundaries of C 2 and C 6 . By examining the set S (4) we nd the leftmost and rightmost points of this set in both planes. 3.3 If q 0 does not de ne a left boundary of a cones as above, then for each combination we perform an identical updating scheme as in 3.2 but without computing a new left boundary of the middle cones C 2 and C 6 . Notice that in this case (when q 00 is deleted from C 3 ) the 4-piercing of P is not possible, because it wasn't possible in previous step of the algorithm.. Now we describe the technical details of the 4-piercing algorithm given above. For combination (a) we compute C 48 at the beginning of the 4-piercing algorithm. The cones C 4 and C 8 are both constrained and do not move during the whole algorithm. For each step of the 4-piercing algorithm we maintain the set S (1) = S ? C 17 ? C 48 . To determine whether C 2 and C 6 can cover S (1) we are only interested in the maxima and minima of the 45 and 135 lines through the points of this set (S (1) ) in both planes respectively. Note that the total number of updates on C 48 and on C 7 is at most O(n), thus if we maintain the points of the dynamically changing set S (1) sorted according to the 45 and 135 lines we can update S (1) and nd the maxima and minima in both planes by a simple binary search. Consequently, in O(1) time we check whether there exist two cones C 2 and C 6 with boundaries on these maximal and minimal values that cover these points.. Combinations (b) and (e) are similar in the sense that C 7 (that has O(n) updates) is paired with a constrained cone, C 1 in (b) and C 4 in (e), and the non constrained cones C 2 and C 6 are each paired with a constrained cone. For combination (b) (similarly (e)) we compute the set C 48 (C 18 ) at the beginning of the 4-piercing algorithm. In each step of the 4-piercing algorithm we compute the set S (2) = C 48 ? C 17 (C 18 ? C 47 ). Observe the set of all points of P not pierced by (C 3 ; C 5 ) and (C 1 ; C 7 ) ((C 4 ; C 7 )). They will have to be pierced by (C 2 ; C 8 ) and (C 4 ; C 6 ) ((C 1 ; C 6 )). Now the points in S (2) should be covered by either C 2 or C 6 , whereas the points of C 0 4 = C 4 ] ? S (2) (C 0. ) must be covered by C 6 and the points of C 0 8 = C 8 ] ? S (2) must be covered by C 2 . C 1 and C 7 (C 4 and C 7 ) determine the left (right) boundary of C 2 and C 6 , which are found by a binary search over the points of S ? C 17 (S ? C 47 ). As for combination (a) the number of updates on C 48 (C 18 ), and C 7 is at most O(n). The sets C 0 4 (C 0 1 ) and C 0 8 are maintained sorted according to the lines throughout the whole algorithm. To check how S (2) is pierced, we maintain balanced binary trees T 1 ; T 2 . The leaves of T 1 (T 2 ) contain the set S (2) sorted according to the 45 (135 ) lines in the plane (c x ; d x ). Let T be T 1 or T 2 . Initially, the leaves of T contain the sorted points of C 48 (C 18 ) in the plane (c x ; d x ). After we compute C 17 (C 47 ) for the rst time we empty the leaves that contain the points that belong to C 17 (C 47 ). Now T contains the sorted lines through the points of S (2) . Let p be a point of S (2) . A leaf corresponding to p contains the x value of the point of intersection of the 45 (135 ) line through p with the c x axis in (c x ; d x ). It will also contain the y value of the point of intersection of a 45 (135 ) line through p with the c y axis in (c y ; d y ). An inner node v 2 T will contain the maximum of the y values corresponding to 135 lines of the leaves of the subtree rooted at v, and the minimum of the 45 lines. During the algorithm we perform a sequence of updates, namely insertions and deletions, on the tree T. When a point q is add to S (2) , then we insert it into T in a sorted x-order and update the minimum and maximum y values on the nodes of path from the leaf q to the root of T. If a point q is deleted from T, then we nd the leaf of q, delete it and update the y values of the nodes on path from the leaf to the root of T. Each update of T takes O(log n) time. We can check, using the tree T, whether C 2 together with C 6 cover all the points in S (2) . For combination (c) (similarly, (f)) at the beginning of the 4-piercing algorithm we compute C 18 . The cones C 1 and C 8 are constrained and do not move during the whole algorithm. At the next step of the 4-piercing algorithm we work with the set S (3) = S ? C 18 ? C 27 and nd the leftmost and rightmost points in this set that should be covered in both planes by C 6 and C 4 respectively. We maintain S (3) by incremental updates according to the motion of C 3 .. For combination (d) we perform a scheme almost identical to that of (c), but with the di erence that at each step of the 4-piercing algorithm we work with the set S (4) = S ? C 18 ? C 47 and nd the leftmost and rightmost points that should be covered in both planes by C 6 and C 2 . Again, we update S (4) at each motion of C 3 in logarithmic time.. From the analysis of this algorithm it follows that we have O(n) updates in the whole algorithm and we can perform each update in logarithmic time. Thus, Theorem 4. We can determine whether set of n axis-parallel rectangles is 4-pierceable or not in O(n logn) time, and give the solution (if it exists) in the same runtime.. Due to the duality relation between our analysis and that in 7] (see Section 7) we follow the case analysis in 7] . Assume, wlog, that C 1 ; C 5 ; C 6 ; C 10 are constrained and the order of the cones is from left to right. We may also assume that one of the following situations occurs:. (a) There is one pair of constrained cones C i ; C j , i 2 f1; 5g and j 2 f6; 10g. We try all of these possibilities, nd the set of rectangles not covered by the given pair of cones, and test whether this set is 4-pierceable, using the preceding algorithm. This takes O(n log n) time. (b) Every constrained cone is paired with a non-constrained cone. Since there are four constrained cones there are two pairs with the same constrained cones. We proceed as follows. First, we guess a unique constrained cone, say C 1 , which is paired with a non-constrained, say C 7 . Then we proceed as in 4-piercing algorithm, i.e. slide C 7 from left to right, starting at the apex of C 6 and stopping when we reach the apex of C 10 . In each move, we check whether the set of the rest of the rectangles is 4-pierceable using the following observation by Sharir and Welzl 7] . They observe that the 4-piercing problem (that is solved at each move of C 7 ) has always a pair of two constrained cones in its solution. In our case they are either C 2 and C 6 , or C 2 and C 10 (C 2 becomes constrained after computing S?C 17 ). We process each of these cases separately. Assume, wlog, we process C 2 and C 6 . Then at each move of C 7 we update C 26 and check whether the rest of rectangles is 3-pierceable as in the update step in the 4-piercing algorithm. Omitting the easy missing details, we obtain a procedure that runs in O(n log n) time. (c) There is some pair of the cones, where an unconstrained cone is paired with another unconstrained cone. Assume, wlog, the cones are C 4 and C 8 . We also assume wlog that we have paired C 6 and C 3 , C 10 and C 2 , C 1 and C 7 , C 5 and C 9 (a constrained cone with an unconstrained cone). Then, as was observed in 7], either at least one of the c x -coordinates of the apexes of C 2 and C 3 is smaller then the the c x -coordinate of the apex of C 4 or at least one of the c x -coordinates of the apexes of C 2 and C 3 is larger than the c x -coordinate of the apex of C 4 . Suppose one of them is smaller than C 4 . Then we slide C 7 (that is paired with C 1 ) from left to right, starting at the apex of C 6 and stopping when we reach the apex of C 10 . In each move, we check whether the set of the rest of rectangles is 4-pierceable. As was claimed in 7] again in each move of C 7 it has to be that C 2 is paired with either C 6 or C 10 . Thus we have a situation identical to case (b). This can be computed as in case (b) above, implying that the computing for case (c) can also be done in O(n logn) time. Hence we obtain:. Theorem 5. We can determine whether set of n axis-parallel rectangles is 5-pierceable or not in O(n log n) time, and give the solution (if it exists) in the same runtime.. The result for 5-piercing improves an existing result of 7] that runs in O(n log 4 n) time, and can be applied to nd a better rectilinear 5-center algorithm in time O(n log Our technique immediately implies a linear time algorithm for 2-pierceability of a set of axis-parallel rectangles for arbitrary ( xed) dimension d; d 2 (there are only constrained cones) and an O(n log n) time algorithm for 3-pierceability of a set of axis-parallel rectangles for dimension d; 3 d 5 (the same result was obtained by 1] independently). In the later problem there is always a combination where d ? 1 cones are constrained and one (at most) is a non-constrained cone. At each step of the algorithm there is a nite number of the d-coupling combinations of the cones. An algorithm similar to the 4-piercing algorithm in the plane is used to solve the piercing problem. We also obtain an improved formula for general (but xed) p 6 (for the plane) using our approach. The general observation is that a constrained cone is always paired with a constrained or unconstrained cone. Thus for solving p+1-piercing problem we have to consider two cases. In the rst case there is two constrained cones paired together, we can determine the rest of the (uncovered) rectangles in linear time and apply algorithm for p-piercing for the rest of rectangles. In the second case, a constrained cone is paired with a non-constrained. We move the apex of the non-constrained cone between the apexes of the constrained cones in its plane. Thus we have O(n) steps (when a point is either inserted or deleted from the non-constrained cone). In each step we run the p ? 4-piercing algorithm for the rest of the points. Thus we improve the algorithm of 7] for p 6 in the plane from O(n p?4 log 5 n) to O(n p?4 log n). 6 Piercing sets of rectangular rings A rectangular ring is a ring, de ned by two boundaries, the outer boundary and the inner boundary. Both boundaries are axis parallel concentric rectangles, where the inner rectangle is fully contained in the outer rectangle. We do not require that the horizontal width of the ring be identical to the vertical width. We pose the piercing question on a set of rectangular rings. In this paper we present an e cient technique for solving the p-piercing problem for a set of axis-parallel rectangles. There is some duality between the analysis of 7] and that of our paper. A constrained cone in our algorithms corresponds to an edge on the boundary of the search region in 7], and two paired constrained cones in our algorithms correspond to a corner in the search region of 7] . We are looking into applying a similar technique for sets of triangles, rhombi, etc. The most intriguing question is whether we can improve the runtime of the presented algorithm for ppiercing problems where p > 5. We hope that our approach can help in to obtaining a better solution to these problems.

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


Continuation method for nonlinear complementarity problems via normal maps In a recent paper by Chen and Mangasarian (C. Chen, O.L. Mangasarian, A class of smoothing functions for nonlinear and mixed complementarity problems, Computational Optimization and Applications 2 (1996), 97±138) a class of parametric smoothing functions has been proposed to approximate the plus function present in many optimization and complementarity related problems. This paper uses these smoothing functions to approximate the normal map formulation of nonlinear complementarity problems (NCP). Properties of the smoothing function are investigated based on the density functions that de®nes the smooth approximations. A continuation method is then proposed to solve the NCPs arising from the approximations. Sucient conditions are provided to guarantee the boundedness of the solution trajectory. Furthermore, the structure of the subproblems arising in the proposed continuation method is analyzed for dierent choices of smoothing functions. Computational results of the continuation method are reported. Ó Given a mapping f X R n 3 R n , the nonlinear complementarity problem (NCP) with respect to f, xg f, is to ®nd an x P R n such that. x P 0Y fx P 0Y and x T fx 0X. It is well known that xg f can be reformulated as a system of nonsmooth equations by using either the``min'' map or normal map approach (see e.g. [1] ). In either formulation, the plus function z maxf0Y zg is involved, where the``max'' is taken component-wise. The nonsmooth equation arising from the``min'' formulation is given by minfxY fxg x À x À fx 0Y 1 In a recent paper, Chen and Mangasarian [2] proposed a class of parametric smooth functions, called plus-smooth functions, to approximate the plus function. The plus-smooth function is obtained by twice integrating a parameterized probability density function d. With the help of the plus-smooth function, the nonsmooth``min'' formulation is approximated as a system of smooth nonlinear equations. An approximate solution can be obtained by solving these equations. Chen and Mangasarian's numerical experiments indicate that the smoothing approach is very eective and ecient. Chen and Harker [3] re®ned the plussmooth function proposed by Chen and Mangasarian, which allows them to establish the existence, uniqueness, and properties of the solution trajectory of the parametric approximations to the NCP.. The normal map formulation relates xg f to the following system of nonsmooth equations, called Normal Map Equation (NME):. where z À minf0Y zg. It is well known that x z solves xg f if z solves the NME, and z x À fx solves the NME if x solves xg f. Unlike thè`m in'' formulation, the normal map formulation only requires that f be de®ned on R n , instead of R n . This paper applies the plus-smooth function to approximate both z and z À in the NME, and proposes a continuation method to solve xg f. Section 2 studies the properties of the plus-smooth function. In particular, the plus-smooth function is classi®ed by whether it is derived from a density function with ®nite or in®nite support. Section 3 analyzes the smooth approximation to the NME. Sucient conditions are provided to guarantee the boundedness and the monotonicity of the solution trajectory for the continuation method, respectively. Section 4 investigates the structure of the subproblems arising in a Newton corrector-based continuation method. It is shown that the plussmooth function with ®nite support results in subproblems of reduced dimension, an advantage shared by many B-dierentiable approaches to solve complementarity related problems (see, for example, [4, 5] ). Section 5 reports our numerical experiments of the continuation method using plus-smooth functions with ®nite and in®nite support.. The following notation will be used throughout the paper. All vectors (vector functions) are column vectors (vector functions) and are denoted by boldface letters. 0 and 1 represent vectors of appropriate dimension with all components equal to 0 and 1, respectively. R n , R n , R n denote, respectively, n dimensional Euclidean space, the nonnegative orthant of R n , and the strictly positive orthant of R n .

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