Large-scale behavioral targeting with a social twist Behavioral targeting (BT) is a widely used technique for online advertising. It leverages information collected on an individual's web-browsing behavior, such as page views, search queries and ad clicks, to select the ads most relevant to user to display. With the proliferation of social networks, it is possible to relate the behavior of individuals and their social connections. Although the similarity among connected individuals are well established (i.e., homophily), it is still not clear whether and how we can leverage the activities of one's friends for behavioral targeting; whether forecasts derived from such social information are more accurate than standard behavioral targeting models. In this paper, we strive to answer these questions by evaluating the predictive power of social data across 60 consumer domains on a large online network of over 180 million users in a period of two and a half months. To our best knowledge, this is the most comprehensive study of social data in the context of behavioral targeting on such an unprecedented scale. Our analysis offers interesting insights into the value of social data for developing the next generation of targeting services. Behavioral targeting (BT) [4, 5, 25] is an online marketing service that infers the specific interests of consumers based Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. CIKM '11, October 24-28, 2011 on their online activities. By understanding factors such as the frequency of content consumed, the recency of user engagement, and interactions on the site, BT can aggregate large, yet granular audience to whom advertisers can deliver the most relevant messages. Industry research shows that behaviorally targeted ad spending will reach $4.4 billion by the end of 2012, nearly 25% of US display ad spending [10] . Almost all major online publishers such as Yahoo!, Microsoft and Google have enthusiastically embraced this business model.. Today, the advertising inventory of BT often comes in the form of some kind of demand-driven taxonomy, e.g., Finance/Loans and Life Stages/Parenting and Children. For each category of interest, BT system builds a model that can derive a response score for each individual from his past online activities (e.g., page views, search queries). The score indicates the likelihood that this user will respond to an ad in that category. The response can be ad clicks or conversions (e.g., product purchases and account sign-ups).. Should the user appear online during a targeting time window, the ad-serving system will qualify this user (to show ads in that category to the user) if her score is above a certain threshold. The threshold is predetermined by domain experts in such a way that both a desired level of response (measured by the cumulative click-through-rate) and reach (measured by the volume of targeted ad impressions served or the number of qualified users) can be achieved. The revenue generated by BT is a function of both response and reach.. With the proliferation of social media and social-networking sites, it is now possible to relate the behavior of individuals and their social contacts. In fact, a few startup companies have begun to target consumers based on who they are connected to -generating a lot of buzz around a new advertising model called social targeting. If information from social networks can drive more accurate and effective advertising, it is desirable to devote more effort to developing new targeting technologies that combine both behavioral data and social signals. However, before we jump on this bandwagon of social targeting, it is important to answer the following fundamental questions:. • Whether and how can we leverage one's friend activities for behavioral targeting?. • Whether forecasts derived from such social information are more accurate than standard behavioral targeting models?. In this paper, we strive to answer the above questions by evaluating the predictive power of social data on a large online network of over 180 million users in a period of two and a half months. We develop a wide array of supervised and unsupervised machine-learning approaches to incorporate social signals to standard BT models. We conduct extensive experiments to assess the effectiveness of these methods on users with different levels of online activities, and across over 60 consumer domains including Technology, Retail, Entertainment, Finance, Travel, Life Stages, Automotive, etc.. As the behavioral and social data are intrinsically in large scale (e.g., tens of terabytes of data and hundreds of billions events in two months), we parallel all the machine-learning algorithms using Hadoop MapReduce framework. Specifically, we have designed and implemented a highly scalable end-to-end solution to conduct large-scale data analysis using Hadoop. Our solution handles the generation of behavioral and social features, model training, scoring, network propagation, and model evaluation in a very efficient and scalable fashion.. To the best of our knowledge, this is the most comprehensive large-scale social-network data analysis in the context of BT. Our study based on real-world applications offers interesting insights into the value of social data for developing the next generation of targeting products. Our findings offer a solid and quantitative guideline for both publishers and advertisers in decision making about social targeting versus behavioral targeting. Our algorithm implementations also serve as the building blocks for future researches in this domain.. Organization of the material: Section 2 reviews related work. Section 3 describes our behavioral and social data. Section 4 introduces BT baseline model and evaluation metrics. In Section 5 we develop a wide array of supervised and unsupervised approaches to evaluate the value of social data for BT. In Section 6 we briefly discuss how these different approaches are implemented on Hadoop using a unified framework. We conclude the paper in Section 7. In this paper, We developed a wide-array of supervised and unsupervised methods to leverage social data for BT. We conducted extensive experiments to assess the effectiveness of these methods on a large network of 180 million users, and across 60 consumer domains. To our best knowledge, this is the most comprehensive study of the value of social data for advertising. To conclude, we summarize our major findings here. 1) Social data alone do carry informative signals that can be utilized to compliment standard BT models. However, its value for targeting must be stated carefully as it is not always a silver bullet. In our study, categories with a strong homophily effect are more likely to benefit from social data, but the degree of improvement depends on the amount of behavioral information the targeted users have, and how strong the baseline is.. 2) Among all the methods we have investigated, appending social features directly to standard BT features seems to be the most effective and scalable way to go.. Finally, we want to point out that this study explores only one aspect of utilizing social-network data for advertising. We mainly treat it as an additional information source, and try to understand its value in the context of BT. However, social networks can be employed in other forms such as improving user engagement with products, and identifying influencers to promote word-of-mouth marketing. All these problems merit further systematic and quantitative study. Friends are similar along a variety of dimensions is a longobserved empirical regularity, which sociologists called the homophily [16] . The study of this pattern is a recurring theme with increasing interests owing to the boom of online social networking services. Researchers from Microsoft [20] found that people who chat with each other using instant messaging are more likely to share similar personal characteristics (e.g., age, location) and interests (e.g., search topics). Engineers from Facebook [12] developed techniques to infer users' undeclared profiles (e.g., age, gender, profession) from their friends so that advertisers can precisely target more consumers. Scientists from academia also developed models to evaluate the quality of algorithms that derive one's interests from their social contacts [17, 24] . However, most existing work is limited to the inference of "static" profiles such as age, gender, education. Understanding the role of homophily with respect to one's online behavior, and particularly in the context of behavioral targeting has been largely ignored.. The most relevant work to ours is by Bagherjeiran and Parekh [1] . The authors observed that online friends tend to see and click on similar display ads. They developed an ensemble classifier to combine both behavioral and social features to boost the probability that a user will click on an ad. We also evaluated this approach in our experiment (to be described later). We observed that the computational cost of this approach is prohibitively high, which makes it not very much practical in large-scale production systems. Further, our work differs from [1] in that we systematically studied a wide array of supervised and unsupervised data mining strategies to incorporate social data into traditional behavioral targeting. To our best knowledge, our work is the most comprehensive study of the value of social data in the context of behavioral targeting at an unparalleled scale.. Another seemingly relevant work is by Provost et al. [18] . The authors proposed to construct a quasi-social network that connects people who visit the same user-generated microcontent sites. Given a set of valued seed customers from advertisers, Provost et al. identified more users on the quasinetwork who are in close proximity to the seed users for brand advertising. The "proximity" between two users is based on the similarity of the contents they have viewed. The idea, though called "social targeting", is closely related to traditional behavioral targeting because the network is derived from users' browsing activity (i.e., page views).. There is another large body of work in the literature on network influence modeling, which is one of the fundamentals to viral marketing [13] . Although Watts [23] challenged the existing influence hypothesis and claimed that the socalled influencers in social networks were just accidental, viral marketing recently received increasing attention. Hill et al. [11] found that consumers who were linked to prior adopters adopt a telecommunication service at a rate 3-5 times higher than the control group. Bhatt et al. [3] also investigated how we might use network information to predict product adoptions. They observed strong signals of peer pressure, but very little evidences of influence from highly connected users. Furthermore, they found that the propagation of the adoption remains mostly local to the initial adopters and their close friends, echoing the discovery made by Bakshy et al. [2] that most information cascade in social networks are very shallow. We note that influence analysis is primarily interested in how information spreads over the network, whereas our focus is to understand the value of social data, and how we can leverage social data for behavioral targeting. Scheme 1 is essentially the PageRank algorithm [15] . PageRank is used to measure the quality of a web page based on the structure of the hyperlink graph. A page that receives "endorsements" from many other good quality pages in the form of hyperlinks tends to be of good quality too. The stationary state of this propagation depends on graph structure, but not on initial scores.. Scheme 2. Let s (0) (u) denote the initial BT score of user u according to the standard BT models, and 0 < α < 1 a weighting parameter. The second propagation is defined recursively as follows:. Scheme 2 has its roots in semi-supervised learning [27] . The basic assumption there is consistency: data points close to each other, or on the same cluster or manifold are likely to have the same class labels. The propagation allows every data point to iteratively spread its label information (BT scores in our scenario) to its neighbors until a global state is achieved. During each iteration, each point receives the information from its neighbors, and also retains its initial information. The stationary state of this propagation depends on graph structure as well as the initial scores.. Scheme 3. The third propagation is defined recursively as follows:. Scheme 3 is a variation of PageRank with the exception that a user's score computed in the previous iteration is carried over to the next iteration in computing her new score -a sort of self-reinforcement. This propagation is used in [26] to search experts on an author-citation network. Our study of supervised models in Section 5.1 have shown that 1) social features appreciably improve the prediction accuracy for users without much behavioral information (Type-0 and Type-1 users); indicating that these types of users benefit most from their active neighbors; and 2) social features are not quite informative for users with lots of activities (Type-2 user); meaning that for this type of users, baseline model is sufficiently trustworthy. Hence, to evaluate the effectiveness of network-propagation approaches, we hide BT scores (computed from BT baseline model) of Type-0 and Type-1 users (their scores are set to zeros), and initiate propagation from Type-2 users. After each round of propagation, we compute Δ AUC on Type-0 and Type-1 users respectively to evaluate the performance.

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


Robust Smoothed Analysis of a Condition Number for Linear Programming We perform a smoothed analysis of the GCC-condition number C (A) of the linear programming feasibility problem ∃x ∈ R m+1 Ax < 0. Suppose thatĀ is any matrix with rows a i of euclidean norm 1 and, independently for all i, let a i be a random perturbation of a i following the uniform distribution in the spherical disk in S m of angular radius arcsin σ and centered at a i . We prove that E(ln C (A)) = O(mn/σ). A similar result was shown for Renegar's condition number and Gaussian perturbations by Dunagan, Spielman, and Teng [arXiv:cs.DS/0302011]. Our result is robust in the sense that it easily extends to radially symmetric probability distributions supported on a spherical disk of radius arcsin σ, whose density may even have a singularity at the center of the perturbation. Our proofs combine ideas from a recent paper of Bürgisser, Cucker, and Lotz (Math. Comp. 77, No. 263, 2008) A distinctive feature of the computations considered in numerical analysis is that they are affected by errors. A main character in the understanding of the effects of these errors is the condition number of the input at hand. This is a positive number measuring the sensitivity of the output with respect to small perturbations of the input. The best known condition number is that for matrix inversion and linear equation solving, which takes the form κ(A) = A A −1 for a square matrix A. Condition numbers not only occur in round-off analysis, but also appear as a parameter in complexity bounds for a variety of iterative algorithms in linear algebra, linear and convex optimization, and polynomial equation solving. Yet, condition numbers are not easily computable. As a way out for this situation, Smale suggested to assume a probability measure on the set of data and to study the condition number of this data as a random variable. Examples of such results abound for a variety of condition numbers. For more details and references we refer to Smale's survey [25] and the recent survey [4] .. Renegar [20, 21, 22] was the first to realize that the computational complexity of linear programming problems can be bounded by a polynomial in the number of variables and inequalities and a certain condition measure of the input. This condition measure is given by the inverse distance of the input to the set of ill-posed systems. More specifically, it is well known that for a given matrix A ∈ R n×(m+1) , either the system Ax < 0 or its dual system A T y = 0, y > 0 have a solution, unless we are in an ill-posed situation. The (homogeneous) linear programming feasibility problem is to decide this alternative for given A and to compute a solution of the corresponding system. A primal-dual interior point method is used in [12] to solve the linear programming feasibility problem within O √ m + n (ln(m + n) + ln C (A)). iterations, with each step costing at most O((m+n) 3 ) arithmetic operations. Here, the GCC-condition number C (A) is a variant of Renegar's condition number introduced by Goffin [17] , and later generalized by Cucker and Cheung [8] (see §2.3 for the definition). The advantage of C (A) over Renegar's condition number is that this quantity can be neatly characterized in terms of spherical geometry, which greatly facilitates its probabilistic analysis. Thus the running time of the primal-dual interior point method used in [12] is controlled by C (A). Understanding the average-case behaviour of this algorithm therefore boils down to studying ln C (A) for random inputs A. Motivated by this observation, a lot of efforts have been devoted to the average-case analysis of the random variable C (A), i.e., to compute the expected value (or the distribution function) of ln C (A) for random matrices A. In most cases, the matrices A are assumed to have random entries which are i.i.d. standard normal. We remark that since the condition number C (A) is multi-homogeneous in the rows a i of A, this is equivalent to considering C (A) in the case where a 1 , . . . , a n are i.i.d. uniformly distributed in unit sphere S m := {x ∈ R m+1 | x = 1}.. The papers dealing with the average analysis of C (A) are easily summarized. A bound for E(ln C (A)) of the form O(min{n, m ln n}) was shown in [9] . This bound was improved in [13] to max{ln m, ln ln n} + O(1) assuming that n is moderately larger than m. Still, in [10] , the asymptotic behavior of both C (A) and ln C (A) was exhaustively studied and these results were extended in [18] to matrices A ∈ (S m ) n drawn from distributions more general than the uniform. Finally, in [5] , the exact distribution of C (A) conditioned to A being feasible was found and asymptotically sharp tail bounds for the infeasible case were given. In particular, it was shown that E(ln C (A)) = O(ln m). Our method yields another proof of this result (Cor. 1.3).

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


Securing dynamic itineraries for mobile agent applications )>IJH=?J In this paper we present a novel mechanism for the protection of dynamic itineraries for mobile agent applications. Itineraries that are decided as the agent goes are essential in complex applications based on mobile agents, but no approach has been presented until now to protect them. We have conceived a cryptographic scheme for shielding dynamic itineraries from tampering, impersonation and disclosure. By using trust strategically, our scheme provides a balanced trade-o between exibility and security. Our protection scheme has been thought always bearing in mind a feasible implementation, and thus facilitates the development of applications that make use of it. An example application based on a real healthcare scenario is also presented to show its operation. The research carried out on mobile agents has shown the benets of this technology for the design and implementation of multiple distributed applications (Du et al., 2005) . The use of mobile agents brings, among other advantages, autonomy and dynamism to applications. This is motivated by the fact that this technology allows the design of applications in which the location of components is not xed and determined at the start, but can change dynamically and adapt to an evolving environment.. However, the widespread adoption of this technology has been hampered by the security issues associated with its implementation. The advances in mobile agent security have provided solutions to many of the problems initially identied. Nevertheless, some issues still must be addressed, mostly regarding the protection of agents against malicious platforms (Jansen and Karygiannis, 2000) .. Several proposals have been presented to prevent platforms from tampering with the code carried by the agent or the results generated by its execution. Regarding the protection of the agent code, the most widely accepted proposals are based on protecting the agent itinerary using cryptographic mechanisms.. Our previous research on mobile agents has been mainly focused on the design of itinerary protection mechanisms Borrell, 2002, 2003) . Our mechanisms introduce the possibility of protecting exible itineraries, which can include alternative routes, or routes that can be traversed in any order, etc. In addition to mobile agent security, we have also worked on applying our agent protection mechanisms to real scenarios. Our most signicant contribution in this area has been the implementation of an agent-based information gathering system for healthcare institutions (Vieira-Marques et al., 2006) . Besides, we have also worked on simplifying the implementation of applications based on secure mobile agents. For this purpose, we have implemented a development environment that aids the creation of this kind of applications (Garrigues et al., 2004) .. However, despite all the work carried on mobile agent security, current developments still cannot take advantage of the full functionality provided by this technology. This is caused by a limitation of current itinerary protection mechanisms, which are only valid for static itineraries. In a static itinerary, all the sites visited by the agent are known beforehand. On the other hand, in a dynamic itinerary, the agent has to discover some sites of its itinerary at runtime.. Undoubtedly, not supporting dynamic itineraries has become a serious impediment, since we are losing most of the exibility provided by the mobile agent paradigm. This is compounded by the fact that most mobile agent applications are devised using dynamic itineraries. For example, in a medical environment, we could create an agent-based application to search distributed e-health services across a set of institutions. However, if these institutions had to be discovered dynamically by the agent, the itinerary would become dynamic, and all the advances made in the security eld could not be applied to this application.. Therefore, in this paper we present a mechanism to enable the implementation of applications based on secure mobile agents that travel dynamic itineraries.. This will allow us to take advantage of all the exibility inherent in mobile agents, without leaving their security aside.. In order to achieve this goal, rst of all, we dene the basic components of a mobile agent, so that dynamic itineraries are supported and the implementation of mobile agent security mechanisms is simplied.. Secondly, we design our protection scheme assuming that some itinerary platforms can be trusted. Protecting dynamic itineraries is unfeasible if all platforms are potentially malicious. Thus, our solution is not naive, as it provides a good solution for real scenarios. We analyse the security of the proposed protection scheme, showing that it achieves full protection against tampering, impersonation and disclosure.. As an example, we present a sample application for healthcare environments, where the need for dynamic itineraries is clearly recognised. In this example, mobile agents are used to search for patient medical records that are spread across dierent institutions. We carry out an implementation of our proposal in order to simulate this application, and the results show that mobile agents are eectively protected, and they can be executed in completely reasonable times.. Besides, we describe the extensions to our previous work on simplifying the development of secure mobile agent applications (Garrigues et al., 2004) . These extensions add support for dynamic itineraries, so that the mechanisms proposed in this paper can be easily implemented. Before introducing our proposal in detail, the next section describes the dierent types of agent itineraries and the approaches presented so far to protect them. Previous approaches on itinerary protection only supported static itineraries This was a major constraint because mobile agent applications are usually devised using dynamic itineraries. In this paper, we have presented a novel scheme for the protection of both static and dynamic itineraries. This enables the implementation of applications based on secure mobile agents that take advantage of all the exibility provided by this paradigm.. Our proposal is based on building mobile agents from an explicit itinerary and its corresponding control code. The explicit itinerary is protected using cryptography, and the control code is implemented so that the agent itself can handle the security measures applied to the itinerary. The advantages of dividing the implementation into these two components are several: the control code can be easily reused in dierent applications, since it does not depend on the specic application being implemented; platforms are relieved of having to deal with the protection schemes of dierent agents; and it enables the implementation of complex protection schemes where the itinerary is rebuilt dynamically at runtime.. In order to build explicit itineraries, we have dened a new set of node types.. The use of dierent node types is a key issue of our proposal. First of all, it allows programmers to dene their distributed applications at two dierent levels (local the tasks executed on every platform and global the nodes that make up the itinerary), which simplies their designs and implementations. Furthermore, resulting explicit itineraries are structured in a way that simplies the application of protection algorithms.. Traditional protection mechanisms, which only support static itineraries, are improved by adding some trusted points in the itinerary. This is not a limitation as it could seem at rst sight, since trusted platforms are usually found in real applications. Besides, our approach supports the protection of any dynamic itinerary as long as one trusted platform can be introduced in it.. An example application has also been presented, showing how our proposal can be applied to a healthcare scenario. In this example, agents are created to search for patient medical records spread across dierent institutions. Institutions are discovered dynamically and the itinerary is always rebuilt in a trusted platform the hospital where the agent was created so this operation does not pose any security risk. This application has been simulated in order to prove that agents are eectively protected, and secure mobile agents can be executed in reasonable times. The expected increase in execution time was acceptable for the simulated application, despite representing a 30.9% of the total execution time. In other applications with higher processing requirements, this overhead will likely be negligible.. Implementing applications provided with our security mechanisms is by no means straightforward. Therefore, we have also extended our previous work so that it supports the creation of applications based on secure mobile agents with dynamic itineraries.. Further work will be carried out to extend the Agent Builder specication language, in order to support the implementation of the control code that manages our dynamic explicit itineraries. Moreover, future research will be conducted to protect mobile agents with dynamic itineraries against replay attacks. Mobile agent itineraries can be implemented in dierent ways depending on the relationship between the instructions moving the agent and the tasks executed on every platform. The rst approach was to merge tasks and migration instructions into a single code, so that every agent task was followed by a jump instruction to move the agent to its next destination. When the agent is implemented in this way, we say that the itinerary is implicit.. In order to improve the readability and reusability of code, explicit itineraries were later introduced in Wong et al. (1997) . In this case, the agent code is divided in stages, where every stage is usually executed in a dierent platform, and the information of all itinerary stages is stored in an separate structure.. The agent code that is common to all platforms accesses this structure to determine which task has to be executed, and which platform has to be visited next.. First explicit itineraries were considered to be sequential. In a sequential itinerary, all platforms are visited one after the other, in the order initially specied by the programmer. For example, a sequential itinerary could be that of an agent that orders some owers rst, then buys a ticket for the theatre and nally reserves a table in a restaurant.. The disadvantage of sequential itineraries is their lack of exibility. They don't allow the programmer to dene alternative routes, or routes that can be travelled in any order, etc. In order to overcome this limitation, exible explicit itineraries were introduced in Straÿer et al. (1998) .. Flexible itineraries are constituted by a set of nodes, each of which associated with a platform and a task. In addition, dierent node types can be used to create the agent itinerary. These types allow the programmer to dene the agent route with the same exibility as he denes the execution ow of a program. As an example, three node types were dened in Straÿer et al. (1998) : the sequence, where only one node is dened right after the current one; the alternative, where the agent can choose the next destination from a set of nodes; and the set, where the agent visits all subsequent nodes in any order.. Nodes are not always associated with a specic location at the time of creating the itinerary. In many applications, some locations are determined at runtime and, in this case, we say that the itinerary is dynamic. On the contrary, when all locations are known beforehand, we say that the itinerary is static. Most applications using mobile agent technology consider itineraries to be dynamic.. Examples of these applications can be found in many areas: grid computing (Kuang et al., 2002) , data mining (Klusch et al., 2003) , network routing (Manvi and Venkataram, 2007) , P2P networks (Lu and Fu, 2006) , sensor networks (Wang and Qi, 2004) , intrusion detection systems (Hijazi and Nasser, 2005) , ad-hoc networks (Levy et al., 2005) , and others.. All these applications show that mobile agents are a powerful abstraction tool for the design of complex systems. However, the benets of this technology have not been sucient to stimulate its widespread deployment. One of the main reasons for this lack of success is that there are many security issues that must be considered prior to the implementation of mobile agents. In Jansen and Karygiannis (2000), these problems were classied according to the source of the attack and the entity being attacked:. • Agents against agents • Agents against platforms • Others against platforms

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


Modeling dynamic scenarios for local sensor-based motion planning Abstract This paper addresses the modeling of the static and dynamic parts of the scenario and how to use this information with a sensor-based motion planning system. The contribution in the modeling aspect is a formulation of the detection and tracking of mobile objects and the mapping of the static structure in such a way that the nature (static/dynamic) of the observations is included in the estimation process. The algorithm provides a set of filters tracking the moving objects and a local map of the static structure constructed on line. In addition, this paper discusses how this modeling module is integrated in a real sensor-based motion planning system taking advantage selectively of the dynamic and static information. The experimental results confirm that the complete navigation system is able to move a vehicle in unknown and dynamic scenarios. Furthermore, the system overcomes many of the limitations of previous systems associated to the ability to distinguish the nature of the parts of the scenario. In this paper we have addressed two issues of great relevance in local sensor-based motion: how to model the static and dynamic parts of the scenario and how to integrate this information with a local sensor-based motion planning system.. Regarding the modeling aspect, most of previous works (Schulz et al. 2003; Wang and Thorpe 2002; Wang et al. 2003; Hähnel et al. 2002 ) assume a known classification within the optimization process. This means that the classification is done prior to the estimation of the vehicle location. They focus on the reliable tracking of the moving objects or on the construction of accurate maps. The algorithm proposed in (Hähnel et al. 2003) iteratively improves the classification via an EM algorithm. This is a batch technique that focuses on the detection of spurious measurements to improve the quality of the map. The approach presented in (Modayil and Kuipers 2004a; Modayil and Kuipers 2004b) applies learning techniques but does not improve the vehicle localization and does not use probabilistic techniques to track the moving objects. Our contribution in the modeling aspect is to incorporate the information about the moving objects within a maximum likelihood formulation of the scan matching process. In this way, the nature of the observation is included in the estimation process. The result is an improved classification of the observations that increases the robustness of the algorithm and improves the robot pose estimation, the map and the moving objects location.. However, the drawback of this type of techniques is that they do not consider the uncertainties and the corresponding correlations of the robot poses, the map and the moving objects. Moreover, the set of poses is fixed and cannot be modified in subsequent steps. This represents a problem when closing loops if the accumulated error is big. Also, although the algorithm has some tolerance to wrong classifications, they will produce errors that will accumulate in the local models. In the case of sensor based navigation, the spatial domain of the problem is small and, thus, allows us to obtain enough accurate models for real-time operation.. In any case, all the mapping methods assume a hard classification between static and dynamic objects. This is clearly a simplification of the real world since there are objects that can act as static or dynamic; for instance, doors, chairs, tables, cars, etc. Although there exist some preliminary work on the estimation of the state of some of these objects (Stachniss and Burgard 2005; Biber and Duckett 2005) , we believe a prior on the behavior of the objects will greatly simplify the problem. This can be done using another type of sensors as cameras or 3D range sensors.. The second issue is the integration of the modeling module in a local sensor-based motion system taking advantage of the dynamic and static information. The system selectively uses this information in the planning and obstacle avoidance modules. As a result, many problems of existing techniques (that only address static information) are avoided without sacrificing the advantages of the full hybrid sensor-based motion schemes. Notice that the planningobstacle avoidance strategy relies on the information provided by the modeling module. Since our model assumes a constant lineal velocity model, the predicted collision could not be correct when this assumption does not hold. However, this effect is mitigated since the system works at a high rate rapidly reacting to the moving obstacle velocity changes.. One thing to remark is that the local planning strategy is an approximation of the full motion-planning problem with dynamic obstacles (recall that this problem is NP-hard in nature). In this paper we have addressed it with a hybrid system made up of a tactical planning module and an obstacle avoidance technique (a simplification). Although there exist reactive techniques that are designed to explicitly deal with dynamic obstacles (Fiorini and Shiller 1998; Fraichard and Asama 2004; Owen and Montano 2005) , we have selected one that does not account for this information (this is the reason why we use the collision prediction concept). The selection of the reactive techniques is a trade off between performance facing very dynamic scenarios or places where it is very difficult to maneuver. This is because it is well known that the techniques that address the motion planning under dynamic obstacles are conservative in the motion search space (losing maneuverability in constrained spaces). In our case, due to the wheelchair application, we used a method designed to maneuver in environments with little room to maneuver (such as doors or narrow corridors) and we improved the behavior in dynamic situations with the collision prediction concept. However, for other applications, nothing prohibits the use of other method in the proposed framework.. The experimental results confirm that the modeling method is able to deal with dynamic environments and provide enough accurate models for sensor-based navigation. The integration with a sensor-based planner system allows to drive the vehicle in unknown, dynamic scenarios with little space to maneuver. The system avoids the typical trap situations found under realistic operation and, in particular, those created by moving obstacles. . k ). However, since the correspondences change at each iteration of the EM algorithm, we rather use a single iteration to improve the current estimate. This is known as generalized EM (McLachlan and Krishnan 1997) and the algorithm still converges to the local minimum.. Based on the linearization of f (·, ·) presented in appendix A, the estimate of the parameter vector x LS is, (x (t) , o k,1 )x (t) . . .. 3) B.4) with N z is the number of measurements and N O is the number of moving objects.

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


The Poetics of Purpose Abstract Hackles have been raised in biosemiotic circles by T. L. Short's assertion that semiosis, as defined by Peirce, entails "acting for purposes" and therefore is not found below the level of the organism (2007a:174-177). This paper examines Short's teleology and theory of purposeful behavior and offers a remedy to the disagreement. Remediation becomes possible when the issue is reframed in the terms of the complexity sciences, which allows intentionality to be understood as the interplay between local and global aspects of a system within a system. What is called "acting for purposes" is not itself a type of behavior so much as a relationship between a dynamic system that "exists for a purpose" and its microprocesses that "serve purposes." The "intentional object" of philosophy is recast here as the holistic self-organized dynamics of a system, which exists for the purpose of selfmaintenance, and that constrains the parts' behaviors, which serve the purpose of forming the system. (A "system" can be any emergent, e.g. an abiotic form, an adapted species, a self, a conditioned response, thought, or a set of ideas.) The selforganized whole, which is represented to the parts in their own constrained behaviors, assumes the guiding function so long attributed to the mysterious "intentional object." If emergent self-causation is not disallowed, creative originality, as well as directionality, becomes part of the definition of purposeful behavior. Thus, key tools used here, required for understanding emergence, come from poetics rather than semoitics. In the microprocesses of self-organization, I find what I call "accidental" indices and icons -which are poetic in the sense that they involve mere metonymic contiguity and metaphoric similarity -and which are preferentially selected under constrained conditions allowing radically new connections to habituate into an "intentional" self-organized system that, not coincidentally, has some of the emergent characteristics of a conventional symbolic system.

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


Image Segmentation Using Some Piecewise Constant Level Set Methods with MBO Type of Projection Abstract. In this work, we are trying to propose fast algorithms for Mumford-Shah image segmentation using some recently proposed piecewise constant level set methods (PCLSM). Two variants of the PCLSM will be considered in this work. The first variant, which we call the binary level set method, needs a level set function which only takes values ±1 to identify the regions. The second variant only needs to use one piecewise constant level set function to identify arbitrary number of regions. For the Mumford-Shah image segmentation model with these new level set methods, one needs to minimize some smooth energy functionals under some constrains. A penalty method will be used to deal with the constraint. AOS (additive operator splitting) and MOS (multiplicative operator splitting) schemes will be used to solve the Euler-Lagrange equations for the minimization problems. By doing this, we obtain some algorithms which are essentially applying the MBO scheme for our segmentation models. Advantages and disadvantages are discussed for the proposed schemes. Recently, some piecewise constant level set methods (PCLSM) were proposed in Lie et al. (2005 Lie et al. ( , 2004 Lie et al. ( , 2003 for image segmentation and other interface problems. The binary level set method of Lie et al. (2004) is closely related to the phase field models (Du et al. 2004; Modica and Mortola 1977; Evans et al. 1992; Aubert and Kornprobst 2002; Rubinstein et al. 1989 Rubinstein et al. , 1993 . For applications to image segmentation, it extends the ideas used in Gibou and Fedkiw (2002) ; Song and Chan (2002) . The method proposed in Lie et al. (2003) seems to be a novel approach for tracing interfaces separating a domain into subdomains. It just needs to use one level set function to identify arbitrary number of regions. In Lie et al. (2004 Lie et al. ( , 2003 Lie et al. ( , 2005 , the PCLSM was used for Mumford-Shah image segmentation. A smooth energy functional needs to be minimized under some constraint. The augmented Lagrangian method is used to deal with the constraint. For numerical implementations, Uzawa type of gradient iteration was used to find the minimizer of the cost functional. The iteration number is usually high. The purpose of this work is to develop some fast algorithms for these piecewise constant level set methods (PCLSM). We shall still concentrate on image segmentation in this work, but the method can be used for other problems that need to partition a domain into subdomains to minimize some energy functional.. We shall mainly try to use two technical devices to accelerate the convergence of the PCLSM. The first one is to use the MBO type of projection to deal with the constraint. The MBO scheme of Merriman et al. (1994) is used in a phase field model for motion by mean curvature.. Once the constraint has been handled by the MBO projection, we then propose AOS (additive operator splitting) schemes or multiplicative operator splitting (MOS) schemes to solve the Euler-Lagrange equations for the minimization of the energy functional. These splitting schemes could treat the time stepping in an implicit or semi-implicit manner and thus allow large time steps to be used. In addition, the computing cost is kept at a lower level due to the fact that tri-diagonal matrices can be solved exactly with low computing cost (Lu et al., 1991; Weickert et al., 1998) .. We want to emphasize that we are trying to use MBO type of projection for two different piecewise constant level set methods. One of them, i.e. the binary level set method, is closely related to phase field models. The other just needs one level set function to identify arbitrary number of regions. It shall be mentioned that it is not new to use phase field for image segmentation problems, for example see Ambrosio and Tortorelli (1990) ; Aubert and Kornprobst (2002) ; ; March (1992) . However, the approach of Lie et al. (2003) seems to offer a new technique to trace interfaces. In some recent works Esedoglu and Tsai (2004); Shen (2005) , similar efforts have been devoted to use the phase field model or the binary level set idea to get efficient image segmentation algorithms. One purpose of this work is to show that we can use MBO type of projection for the binary level set method. Moreover, such a technique can also be extended to the single PCLSM of Lie et al. (2003) . Numerical experiments show that we can indeed use one level set function to identify multiple regions and the efficiency is rather high compared with the traditional approaches of Chan and Vese (2001) ; Vese and Chan (2002) ; Lie et al. (2003 Lie et al. ( , 2004 ; Weickert and Kühne (2003) . In addition, our methods are truly variational. It avoids the re-initialization procedure and the connection with Heaviside type of non-differentiable functions. Moreover, the traditional level set method is trying to move a curve and this is not the case for our models. The model proposed here has advantages in treating some geometries, for example in situations where inside "holes" need to be identified. We also note that both the Chan-Vese model and our model can be extended to shape recognition using the framework of Cremers et al. (2004 Cremers et al. ( , 2003 ).. There also exists fast level set methods without solving PDEs. In a recent paper Shi and Karl (2005) present a method whose foundation is the direct use of an optimality condition for the final curve location based on the speed field.. This work is organized as follows: Some splitting algorithms are introduced in §2. The splitting algorithms are used later to solve the Euler-Lagrange equations for the minimization problem for the piecewise constant level set methods. In §3, the MBO scheme of, Merriman et al. (1994) is presented. The binary level set method of Lie et al. (2004) is outlined in §4. After introducing the MBO scheme and the binary level set method, we try to combine them in §5. Once we have applied the MBO projection for the binary level set method, it is easy to see that we can extend it to the single level set approach of Lie et al. (2003) using a slightly different projection, see §6. A number of algorithms are summarized here using different splitting techniques to improve the efficiency. Algorithm 1 is a recall of the MBO scheme. Algorithms 2 and 3 are an explanation of MBO as a splitting scheme for a phase field model. Algorithms 5 and 6 are then the applications of Algorithms 2 and 3 together with the dimensional splitting to the piecewise constant level set functions for multi-phase image segmentation. Intensive numerical experiments are presented in §7. Our numerical experiments indicate that Algorithm 6 is mostly recommended.

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


Belief Update in CLG Bayesian Networks With Lazy Propagation In recent years Bayesian networks (BNs) with a mixture of continuous and discrete variables have received an increasing level of attention. We present an architecture for exact belief update in Conditional Linear Gaussian BNs (CLG BNs). The architecture is an extension of lazy propagation using operations of Lauritzen & Jensen [6] and Cowell [2] . By decomposing clique and separator potentials into sets of factors, the proposed architecture takes advantage of independence and irrelevance properties induced by the structure of the graph and the evidence. The resulting benefits are illustrated by examples. Results of a preliminary empirical performance evaluation indicate a significant potential of the proposed architecture. The framework of BNs is an efficient knowledge representation for reasoning under uncertainty [12, 3, 4] . Traditionally, the variables of a BN are assumed to be either discrete or continuous. In recent years BNs with a mixture of continuous and discrete variables have received an increasing level of attention. Here exact belief update in CLG BNs is considered.. Extending the class of BNs containing discrete (or continuous) variables only to the class of BNs containing both discrete and continuous variables is not simple. The work by Pearl [12] on BNs containing continuous variables imposed three constraints on the variables in the network. The interaction between variables is linear, the sources of uncertainty are Gaussian distributed and uncorrelated, and the causal network is singly connected. Later, Shachter & Kenley [14] described how to solve Gaussian influence diagrams under similar constraints, but allowing multiple connected causal networks.. Lauritzen [5] presents a scheme for modeling and exact belief update in CLG BNs. This scheme is more general than the scheme proposed by Pearl. The conditional distribution of the continuous variables given the discrete variables is assumed to be multivariate Gaussian. Only continuous variables which are linear additively Gaussian distributed are considered. The asymmetry between continuous and discrete variables induces a number of constraints on the model specification and the inference structure. Using a similar approach Chang & Fung [1] extend the SPI algorithm [13] to solve arbitrary queries against CLG BNs.. The Lauritzen [5] architecture is known to suffer from problems causing numerical instability. For this reason the architecture was later revised by Lauritzen & Jensen [6] in order to improve the numerical stability of belief update. Recently, Cowell [2] introduced an alternative architecture for belief update based on message passing in an elimination tree using the arcreversal operation of Shachter & Kenley [14] (referred to as the EXCHANGE operation). By performing message passing in an elimination tree the need for complex matrix operations is eliminated.. We introduce a new architecture for belief update in CLG BNs. The architecture is an extension of lazy propagation [10] based on operations introduced by Lauritzen & Jensen [6] and Cowell [2] . Belief update proceeds by message passing in a strong junction tree structure where messages are computed using arc-reversal and EXCHANGE operations. The EX-CHANGE operation is extended to eliminate discrete variables by arc-reversal. Variables are eliminated using a sequence of EXCHANGE operations and barren variable removals. Posterior marginal distributions are computed using EXCHANGE and PUSH [6] operations.. We investigate the computational efficiency of the proposed architecture by comparing its performance on a number of randomly generated CLG BNs with the performance of the Lauritzen & Jensen [6] architecture as implemented in the HUGIN Decision Engine, i.e., the inference engine of the HUGIN tools. Furthermore, we analyze the performance of various steps of belief update such as computing posterior distributions. An architecture for belief update in CLG BNs based on lazy propagation where messages are computed using EXCHANGE operations and barren variable eliminations has been presented. The architecture is based on extended versions of operations introduced by Lauritzen & Jensen [6] and Cowell [2] .. Despite a significant difference in the efficiency of table operations the proposed architecture is -in some cases -more efficient than a commercial implementation of the Lauritzen & Jensen [6] architecture. The results of the performance evaluation indicate a significant potential of the proposed architecture.

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


Mining Text and Visual Links to Browse TV Programs in a Web-Like Way As the amount of recoded TV content is increasing rapidly, people need active and interactive browsing methods. In this paper, we use both text information from closed captions and visual information from video frames to generate links to enable one to explore not only the original video content but also augmented information from the Web. This solution especially shows its superiority when the video content cannot be well represented only by closed captions. A prototype system was implemented and some experiments were carried out to prove the effectiveness and efficiency. Nowadays, millions of homes enjoy interactive television. Web-like technologies such as pay-per-view, personal video recording, video-on-demand etc. are revolutionizing our way of watching television. Watching television is becoming an active entertainment and the viewers are evolving from a passive to an active role.. Although television programs are well-edited by professionals, the details and scope of the information are limited to meet public taste. More additional information and related materials are required for the diversity of personal information needs. In some web-based TV recommendation systems [1, 2] , users can view their personalized TV guides in specially customized HTML or WML pages. Furthermore, some efforts [6, 8] have been initiated to provide links to further information and data inside television programs.. In [7] , the concept of "webified video" is proposed, which helps users to acquire value-added content from Web content when they view the original TV programs. The TV program is divided into different levels of segments using close captions attached to it. Then the Web content relevant to these structured text data is retrieved and hyperlinks are created to associate the TV program with the Web pages. Accordingly, the videos and links to further information are integrated in a Web-based browser. However, this solution is based on the assumption that the topic of a video scene can be represented by word distribution of closed captions. Many TV programs, such as news videos, can conform well to the assumption. However, in some cases such as animations or dramas, the video structure does not directly correspond to the closed captions and the relationship between visual content of the scene and the closed captions is weak. Therefore, it is often difficult to generate video structures and retrieve the correct related information only by closed captions. In this paper, we utilize both the text information from closed captures and visual content from video frames to produce external links to Web content and internal links to other scenes in TV programs. Considering that pure text information may not well describe the TV content, we first combine text information and visual information to generate a hierarchical video structure. Based on the structured video, relevant Web content is respectively retrieved based on similarity of text and visual appearance. Then the Web content is fused in the TV program display in a zooming and adaptive manner. The external links to related Web content and internal links in TV programs are listed on the side storyboard as Figure 1 . Viewers can easily access related information in detail and from different viewpoints. They can also look through the video content from the information provided by fast forwarding. Since the links can be built by the visual similarities among the videos, the viewer can even switch to another scene with an identical character or an identical prominent object.. The system mainly consists of three modules: hierarchical video structure generation, creation of internal and external links and adaptive information display. We have proposed a solution to generate links for browsing recoded TV programs in a Web-like manner. Unlike previous work, a hierarchical video structure is generated by integrating both the text information from closed captions and visual information from video frames. Both the textbased search method and the visual content-based search method are employed to generate external links to related Web pages and internal links to other scenes. In future work, we plan to improve the search method, particularly the image matching algorithm. A prototype system was implemented and we carried out some experiments on it to evaluate our solution from the viewpoints of computational cost and accuracy of retrieved information. We used three animations recoded from NHK in different time. The duration of each was 721 seconds and the resolution was 640x480 pixels. An image database was set up, which consisted of 302 images from captured TV frames, 7137 images from NHK animation websites and 2264 images from Google Image Search results by eight animation names. The excessively small or banner-like images had been removed beforehand. The image dimensions ranged from 100 to 1440 pixels. We extracted the SIFT features and built up the index for all the images offline. The prototype ran on a PC with an Intel P4 3.2GHZ CPU, 2G RAM and MS Windows XP system.. First, a preliminary user study was conducted to give a comparative evaluation of current retrieval results and the results retrieved only by closed captions. All the participants found the function of listing links on the storyboard can provide useful complementary information for them. Most of them (5 out of 6) considered the results produced by the current solution to be superior to the output results based only on closed captions since more visual related information were provided. Second, the above three animations were structurized by the proposed method. We extracted 552 key frames from them as query pictures to generate visual links. The accuracy of links by text-based and visual content-based retrieval methods are listed in Table 1 . This indicates that more than half of the links provide related information which is judged by the users, i.e. they can easily find helpful information through the given links.. Third, we analyzed the computational cost for all the above three animations and the time consumption is recorded stage by stage in Table 2 . It can be seen that visual content-based segmentation is the most time-consuming procedure in the whole process. Fortunately, this segmentation can usually be processed beforehand for recoded TV programs.

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


Low-rank Matrix Recovery from Errors and Erasures This paper considers the recovery of a low-rank matrix from an observed version that simultaneously contains both (a) erasures: most entries are not observed, and (b) errors: values at a constant fraction of (unknown) locations are arbitrarily corrupted. We provide a new unified performance guarantee on when the natural convex relaxation of minimizing rank plus support succeeds in exact recovery. Our result allows for the simultaneous presence of random and deterministic components in both the error and erasure patterns. On the one hand, corollaries obtained by specializing this one single result in different ways recover (up to poly-log factors) all the existing works in matrix completion, and sparse and low-rank matrix recovery. On the other hand, our results also provide the first guarantees for (a) recovery when we observe a vanishing fraction of entries of a corrupted matrix, and (b) deterministic matrix completion.I. INTRODUCTION Low-rank matrices play a central role in large-scale data analysis and dimensionality reduction. They arise in a variety of application areas, among them Principal Component Analysis (PCA), Multi-dimensional scaling (MDS), Spectral Clustering and related methods, ranking and collaborative filtering, etc. In all these problems, low-rank structure is used to either approximate a general matrix, or to correct for corrupted or missing data.This paper considers the recovery of a low-rank matrix in the simultaneous presence of (a) erasures: most elements are not observed, and (b): errors: among the ones that are observed, a significant fraction at unknown locations are grossly/maliciously corrupted. It is now well recognized that the standard, popular approach to low-rank matrix recovery using SVD as a first step fails spectacularly in this setting [1] . Low-rank matrix completion, which considers only random erasures ([2], [3]) will also fail with even just a few maliciously corrupted entries. In light of this, several recent works have studied an alternate approach based on the natural convex relaxation of minimizing rank plus support. One approach [4], [5] provides deterministic/worst case guarantees for the fully observed setting (i.e. only errors). Another avenue [6] , [7] provides probabilistic guarantees for the case when the supports of the error and erasure patterns are chosen uniformly at random. Our work provides (often order-wise) stronger guarantees on the performance of this convex formulation, as compared to all of these papers.We present one main result, and two other theorems. Our main result, Theorem 1, is a unified performance guarantee that allows for the simultaneous presence of both errors and erasures, and deterministic and random support patterns for each. In order/scaling terms, this single result recovers as corollaries all the existing results on low-rank matrix completion [2], [3], worst-case error patterns [4] , and random error and erasure patterns [6] , [7] up to logarithm factors; we provide detailed comparisons in Section II. More significantly, our result goes beyond the existing literature by providing the first guarantees for random support patterns for the case when the fraction of entries observed vanishes as n (the size of the matrix) grows -an important regime in many applications, including collaborative filtering. In particular, we show that exact recovery is possible with as few as Θ(npolylog(n)) observed entries, even when a constant fraction of these entries are errors.

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


Impulse-based simulation of rigid bodies We introduce a promising new approach to rigid body dynamic simulation called impulse-based simulation. The method is well suited to modeling physical systems with large numbers of collisions, or with contact modes that change frequently. All types of contact (colliding, rolling, sliding, and resting) are modeled through a series of collision impulses between the objects in contact, hence the method is simpler and faster than constraint-based simulation. We have implemented an impulse-based simulator that can currently achieve interactive simulation times, and real time simulation seems within reach. In addition, the simulator has produced physically accurate results in several qualitative and quantitative experiments. After giving an overview of impulse-based dynamic simulation, we discuss collision detection and collision response in this context, and present results from several experiments. The foremost requirement of a dynamic simulator is physical accuracy. The simulation is to take the place of a physical model, and hence its utility is directly related to how well it mimics this model. A second important requirement is computational efficiency. Many applications (e.g. electronic prototyping [9] ) benefit most from interactive simulation; others (e.g. virtual reality) demand real time speeds. This paper discusses a new approach to dynamic simulation called impulse-based simulation, founded on the twin goals of physical accuracy and computational efficiency. The initial results from our impulse-based simulator look very promising, both from speed and accuracy standpoints. In this paper we give an overview of the impulse-based approach, then discuss collision detection and resolution and results from several experiments.. Permission to co granted provided t I! y without fee all or part of this material is at the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association of Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. 1995 Symposium on Interactive 3D Graphics, Monterey CA USA 0 1995 ACM O-89791 -736-7/95lOOO4...$3.50 1.1 Related work Moore and Wilhelms give one of the earliest treatments of two fundamental problems in dynamic simulation: collision detection and collision response [14] . Hahn also pioneered dynamic simulation, modeling sliding and rolling contacts using impact equations [g] . His work is the precursor of our method, although we extend the applicability of impulse dynamics to resting contacts, and model multiple objects in contact with impulse trains as well. These early approaches all suffered from inefficient collision detection and unrealistic assumptions concerning impact dynamics (e.g. infinite friction at the contact point).. Cremer and Stewart describe Newton [7, 171 , probably the most advanced general-purpose dynamic simulator in use today. Newton's forte is the formulation and simulation of constraint-based dynamics for linked rigid bodies, although the contact modeling is fairly simplistic. Baraff has studied multiple rigid bodies in contact [l, 21 , and shown that computing contact forces in the presence of friction is NP-hard [3] . A summary of his work in this area appears in [4] .. There are few full treatments of frictional collisions. Routh [16] is still considered the authority on this subject, and more recently, Keller gives an excellent treatment of frictional collisions [lo] . Our analysis is extremely similar to that of Bhatt and Koechling, who independently derived the same key equation for integration of relative contact velocities during impact. They give a classification of frictional collisions, based on the flow patterns of tangential contact velocity [6] .. Wang and Mason have studied two-dimensional impact dynamics for robotic applications, based on Routh's approach [18] . Finally, a number of researchers have investigated several problems and paradigms for dynamic simulation and physical-based modeling [S, 19, 201. 2 The impulse-based method. One of the most difficult aspects of dynamic simulation is dealing with the interactions between bodies in contact. Most of the work which has been done in this area falls into the category of constraint-based methods [4, 5, 7, 191 . An example will illustrate the approach. Consider a ball rolling along a table top. The normal force which the table exerts on the ball is a constraint force that does no work on the ball, but only enforces a non-penetration constraint. In the Lagrangian constraint-based approach, this force is not modeled explicitly, but is accounted for by a constraint on the configuration of the ball (here, its z-coordinate is held constant). Alternatively, one may model the forces explicitly, solving for their magnitudes using Lagrange multipli-ers. However this still requires complete, exact knowledge of the instantaneous state of contact between the objects, since that determines where and when such forces can exist.. A problem with this method is that as a dynamic system evolves, the constraints may change many times, e.g. the ball may roll off the table, may hit an object on the table, etc. Determining the correct equations of motion for the ball means keeping track of these changing constraints, which can become complicated. Moreover, it is not even always clear what type of constraint should be applied; there exist at least two models for rolling contact which in some caSes predict different behaviors [ll] .. Finally, impacts are not easily incorporated into the constraint model, as they generally give rise to impulses, not constraint forces present over some interval. These collision impulses must be handled separately, as in [l] .. In contrast to constraint-based methods, impulse-based dynamics involves no explicit constraints on the configurations of the moving objects; when the objects are not colliding, they are in ballistic trajectories. Furthermore, all modes of continuous contact are handled via trains of impulses applied to the objects, whether they be resting, sliding, or rolling on one another. Under impulse-based simulation, a block resting on a table is actually experiencing many rapid, tiny collisions with the table, each of which is resolved using only local information at the collision point.. Now consider the case of a ball bouncing along the terrain shown in figure 1. Under constraint-based simulation, the constraints change as the ball begins traveling up the ramp, leaves the ramp, and settles into a roll along the ground. All these occurrences must be detected and processed. Impulsebased simulation avoids having to worry about such transitions. In t.his sense, it is a more physically sound treatment since it does not establish an artificial boundary between, for example, bouncing and rolling, but instead handles the entire continuum of contact between these phases. We do not wish to discredit constraint-based methods of dynamic simulation; indeed, there are many situations for which they are the perfect tool. We believe the impulsebased method is better suited to simulating many common physical systems, especially those which are collision intensive, or that have many changes in contact mode. We examine the possibility of using both methods of simulation together, combining the strengths of each, in section 6.. Two obvious questions concerning impulse-based simulation are: (I) Does it work, i.e. does it result in physically accurate simulations?, and (2) Is it fast enough to be practical? We deafer more thorough answers to these questions to section 5, but for now state the following: impulse-based dynamic simulation does produce physically accurate results, and the approach is extremely fast. Simulations can certainly be run interactively with our current implementation, and we believe real time simulation is a reachable goal. We have described the impulse-based approach to dynamic simulation, and reported results from several simulation problems. Interactive simulation speeds have already been attained, and we believe real time simulation is ultimately possible. Also encouraging is the wide variety of physical systems that we have successfully simulated: no special tweaking was performed for any of the simulations we have described. One important efficiency point is that the impulse-based approach is highly parallelizable. Because there are no global constraints on the state of the system, the dynamic integration of an n body system is neatly decomposed into n small pieces. Such a decomposition is not possible when there are explicit constraints between the states of different bodies.. The issue of physical accuracy is also an important one to consider. Modeling a rock sitting on a table through a series of impulses seems at first questionable. However, we are not making the claim that the rock is actually experiencing microcollisions, only that by modeling the contact in this way, the correct macroscopic behavior is affected. Our simulator has produced physically plausible results for many problems. Furthermore, quantitative results withstand scrutiny when compared to theoretical models. More study is needed here, but the initial results are encouraging.. As stated previously, we do not intend impulse-based dynamics to be a complete replacement for constraint-based dynamics. A perfect application for the latter is the modeling of a hinge joint.. In principle, one could model the joint in an impulse-based way, enforcing the hinge constraint through collisions between the hinge pin and sheath. However, the impulse-based approach is clearly the wrong tool for this natural constraint-based problem. We are currently adding a multibo.dy capability to our simulator, in order to model linked rrgrd body structures. We are using a hybrid approach: constraint-based methods are used to enforce joint constraints, while impulse-based dynamics are used to model contact between bodies not connected via joints:. We are optimistic that using the right tool for the right problem can greatly extend the frontier of dynamic simulation.

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