Recommending topics for self-descriptions in online user profiles Traditional social networking sites allow users to enter responses to a set of predefined fields when populating their personal profiles. In the system discussed in this work, freeform 'About You' entries allow users to craft their own questions / topics. We found that this kind of flexibility often leads to low content contributions and infrequent updates. The 'About You' recommender system described in this paper differs from many recommender systems in that it recommends content for users to create, rather than consume. We present empirical data from an experiment with 2,000 users of a social networking site during a one month period. Our findings suggest that users who receive recommendations create more entries and update them more over time. Further, using articulated social network information for recommendations performed better than content-based matching. Online profiles on social networking sites allow users to create self representations using various text fields such as "Hobbies", "Favorite Books", or "School". Research has shown that these profiles are important for the formation of personality impressions, and that users intentionally craft their profiles to convey a desired impression (e.g. [6] , [7] , and [25] ). Individual fields in a profile can have a positive or negative influence on the perception of an online user [6] and the presence of certain fields is positively associated with the number of online connections [17] . Despite those benefits, the freedom to describe oneself in a diverse way is limited in existing social networking sites which usually support only a limited set of predefined fields.. An alternative, more flexible way for users to richly express information about themselves, is to enter not only responses but to contribute their own questions or topics as well. We implemented these free-form 'About You' descriptions as a feature on Beehive, IBM's internal enterprise social networking site [10] . Our data show that this freedom in describing oneself creates diverse profiles that help in the formation of online connections [5] . Also, users get inspired by others and reuse existing topics for their own profiles, through an explicit "reuse" feature. However, we observed that the average number of About You entries among users with entries is relatively low (mean 3.33, median 2) and only 25 .9% of all Beehive users had About You entries in their profiles. Also, our log data and interviews showed that users rarely changed their About You entries once they had created an initial set, i.e. profiles become stale. Some users, when interviewed, indicated that they would be more likely to change those descriptions if prompted to do so. This paper describes our approach to address the above issues by proactively recommending personalized About You topics to Beehive users. Recommending About You topics is novel and differs from traditional content recommendations in taste-related domains, such as books, movies, etc., in a number of ways: Firstly, we are recommending that users create content, in order to increase participation; whereas in taste-related domains, recommendations are usually made for consumption, i.e. to support the discovery of content matching the user's tastes. Therefore, users need to put in additional effort to craft an answer when accepting our recommendations. Secondly, the recommended About You topic not only affects the profile owner but the topic and its corresponding answer is consumed by all users viewing the profile as well; whereas a movie or book recommendation is targeted at a single user. Users carefully craft profiles [6] and are likely to be selective in how they choose to describe themselves. Ultimately About You topic recommendations need to predict the personality of a user and the impression a user is trying to create when building a profile. And taste is only one aspect of personality. Finally, although theoretically users can create an unlimited number of About You entries in their profile, they are probably less likely to create a new entry if they already have a significant number of entries. In contrast, a movie or book recommendation is independent of the number of movies watched before.. These characteristics highlight some of the difficulties in recommending this kind of content. The goal of this paper is to gain a basic understanding of the value of these kinds of recommendations in the social media space. We are also trying to understand how characteristics of the social space, such as articulated relationships, i.e. the friends list of a user, can be used 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, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. for recommendations in this domain. In particular, we hypothesized that. • recommending About You topics will increase the number of About You entries on personal profiles and the number of users with entries in their profiles,. • articulated social network information can be effectively used to make recommendations for content creation, compared to content-based recommendations.. In order to answer these questions, we designed and implemented an About You recommender system for the Beehive social networking site, offering both social network-based and contentbased recommendations. In a preliminary evaluation we asked 100 selected Beehive users to explicitly rate About You recommendations on the site and answer a short survey by email. In a controlled study with 2,000 participants, we deployed an About You recommendation feature on the site to half of the users for a period of 30 days.. The remainder of the paper is structured as follows: After discussing some related work, we introduce the Beehive About You entries in Section 3. Section 4 describes our recommender system in Beehive focusing on the user interface and algorithms used. Section 5 outlines our experimental approach and presents results from the two studies. We conclude with a discussion and directions for future work. We have demonstrated that social networking information can be effectively used to make recommendations to create content and outperform Content-based recommendations. Unlike traditional recommender work in taste-related domains where the goal is to reduce information overload, our primary goal is to increase participation. Our data show that, About You recommendations significantly increase the amount of profile content created by users and lead to more users contributing to their profile. These results are encouraging as users are highly selective when it comes to managing their online identity.. In this paper, we focused on users who are already active on the site, i.e. they already have an established social network that can be leveraged to make recommendations. Future work will support newcomers to the site, as we have observed that many users sign-up then do not come back and participate. We believe that providing some guidance during the sign-up process, through actively recommending content to create and people to connect to, could address this issue. Making recommendations to newcomers who do not have any content or a social network remains a challenge. We are currently investigating hybrid algorithms that combine randomness but also leverage data external to Beehive. The data from our controlled study confirms both of our hypotheses. First, recommending About You topics increases the average number of entries per user and the number of users with entries. A time-based analysis also shows that those with recommendations are more likely to update their profile over time.. Although the observed differences are significant, the average increase is rather moderate compared to what we had originally expected. There are a number of possible reasons, for example, the quality of our recommendations could have been a problem, or, given that we make recommendations for content creation, this extra effort might have kept many users from actively participating. On the other hand, considering that asymmetric reading and creating patterns on social networking sites are common [10] , a 7.8% increase in users who have About You entries and more frequent profile updates are encouraging results.. Our second hypothesis was that an articulated social network can be effectively used to make recommendations to create content. Our data show that users liked to use About You topics more from within their network compared to Content-based or Excluded recommendations, i.e. they liked to describe themselves similarly to their friends. Bonhard et al. [2] showed that similarity between user profiles influences the choice of a recommendation when information about the recommenders is provided. Similarly, Golbeck [12] found that trust in social networks produces better ratings compared to collaborative filtering approaches. However, it is interesting to note that our experimental recommender interface showed neither the algorithm nor the source of a Network recommendation. Nonetheless we saw a similar effect in that users prefer topics that their friends have used to describe themselves. This may be because they are similar to their friends and are more likely to describe themselves in similar ways.. Interestingly, our survey in the preliminary evaluation did not disclose this particular, possibly subconscious preference when choosing a recommendation. This may be related to the particular domain of About You profile entries. For example, when receiving a movie recommendation from a friend, your opinion of the recommendation might depend on which friend recommended the movie and their taste in movies. By contrast, the About You recommendations contain the complete information, and a user can make a decision based on that alone. Indeed, users felt it was sufficient -citing whether or not the question best represented themselves as the biggest factor in influencing their decisions. Given these findings, it is unclear whether or not showing information about the source of the recommendation could further improve acceptance rates of our Network-based algorithm.. We believe that the acceptance rates of the Network and Contentbased algorithms are relatively high given the obvious difficulties of making recommendations for self-descriptions. These difficulties are less technological but rather domain-specific as illustrated above. However, our recommendation algorithms are relatively simple and there is room for improvement. For example, reducing the number of duplicate recommendations by improving our question reduction technique, e.g. by using a thesaurus, could have a positive impact, in particular on the Content-based recommendations where 27.6% of all recommendations were similar to existing About You entries. Manual inspection of the recommendations and interviews revealed that some About You candidates were also overly personal, e.g. containing person names etc. that would lead to bad recommendations.. The algorithms can also possibly be improved by using more sophisticated ranking techniques. Our Content-based algorithm uses a simple binary overlap coefficient which does not take into account the frequency of terms. Our Network algorithm does not use any ranking at all, i.e. a topic just has to be used once within the network to qualify. Some articulated social networks in Beehive are very large (max 1,761). Not every friend in a network has the same meaning and relationship strength. Prioritizing About You topics from closer friends may improve the Networkbased algorithm. Also, using the argument of information "completeness" [22] , the inclusion of weak ties could possibly further improve performance. To that end, we are currently conducting social network analysis of our data and we are in the process of designing a new Network-based algorithm that takes various factors into account for ranking recommended topics.. Additional work is also needed to better understand how our recommendation algorithms interact with the popularity of About You topics. As described above, the algorithms used in creating the recommendation sets resulted in more popular About You topics in the Network set and less popular topics in the Excluded set. It seems natural that popular items would emerge from the social Network-based algorithm, but this may vary based on factors such as network homogeneity. A challenge also remains to find ways to present less popular items, which may be both distinctive and valuable, in a manner that will encourage use.. A limitation of the Network-based algorithm is that it requires a user to have a social network with friends that have About You entries. As indicated earlier, Network recommendations could be computed for only 48.4% of all users. To solve this problem, we are currently investigating a hybrid algorithm that combines both Content and Network-based recommendations. Of the 100 users selected, 89 logged in during the 2-week period and 76 participated in rating recommendations on the site. 54 users rated 9 or more recommendations, with a total of 2,333 recommendations across all 54 users. Later, 10 of the 76 participating users responded to our follow-up survey by email. Figure 3 shows the results for the 2,333 recommendations rated by 54 users. The ratings data suggests that Network-based recommendations were liked most (44.1%) followed by Contentbased (36.2%). Only 33.4% of the Excluded recommendations were rated positively. These numbers can be considered an upper bound of recommendation acceptance for our algorithms if deployed as a real feature on the site because in this experiment we allowed users to rate items as 'good' without having to create real About You entries.. Of the 1,000 users in the experimental group, 764 users logged in since the start of the experiment. This is nearly equal to the number of users who logged in to the site from the control group -755. Of the 764 who logged in, 690 saw the recommendations made to them. 4 For the 690 users who saw the recommendations, 288, or 41.7% participated by accepting or declining recommendations. Social and collaborative filtering techniques for recommendations are becoming increasingly popular. These approaches have in common that they leverage user, community, or user relationship information to make recommendations as opposed to more traditional content-based techniques. Collaborative filtering systems (e.g. [1] , [15] ), recommend items based on the similarities of users and their preferences. One drawback of collaborative filtering is that users are required to provide preferences in the form of item ratings or similar feedback. Since the cost of obtaining user feedback is high, leveraging implicit user feedback [3] for recommendations has become popular. For example, ASSIST [9] is a social recommender framework that uses interaction history and browsing patterns to make content recommendations. The AnnotatEd [8] system supports social navigation by recommending links based on page visits and annotations. Song et al [24] leverage access patterns to model information flow between users in a social network and use the model to make personalized document recommendations. In contrast to these approaches, our work leverages explicit social information by using the articulated social network of a user on a social networking site.. There is an increasing body of research that uses articulated social network information similar to our work. Seth and Zhang [22] use real-world social network information from Orkut to make personalized recommendations of messages in communities. Their user model is grounded in news media research and focuses on news recommendations, taking into account simplification and diversity features. Groh and Emig [11] use articulated social networks for neighborhood generation in collaborative filtering and show that it outperforms traditional collaborative filtering. Bonhard et al. [2] show that rating overlap and profile similarity can be a powerful source of information for judging the appropriateness of a recommendation. They suggest integrating functionality from social systems with recommender systems. Sinha and Swearingen [23] compare recommendations made by online systems and friends in a lab experiment showing that users prefer friends over online systems.. Existing work can also be organized by the type of content being recommended. Much research has been done in taste-related domains to support finding and discovery of books [18] , movies [16] , news [22] , alerts [21] , web sites [19] , or links [8] .. There is little research on recommendations for creating content for online profiles. Facebook.com has recently launched a people recommender that leverages social networking information but there is no usage data available. Guy et al. [13] introduce a social network analysis service called Sonar. This service aggregates social networking information from various sources including articulated social networks, i.e. friend lists. The service has been recently used in IBM to recommend people to add to your friends list similar to the one in Facebook.. As described in the introduction, recommending topics for self descriptions in online profiles differs from traditional taste recommendations. The primary goal is to increase participation and not to solve an information discovery problem, i.e. we are recommending content for users to create that will later be consumed by multiple people. Similarly, Harper et al. [14] studied personalized invitations containing content to increase participation in online conversations. Cosley et al. [4] show that personalizing recommended editing tasks in Wikipedia increases the number of edits over random recommendations. However, predicting topics for self-description is difficult because we need to predict the personality and intent of a user rather than taste. While research has shown that similarities in users are associated with taste preferences [2] , it is unclear whether this also holds true for self-descriptions on profile pages, where aspects of impression management play an important role [7] and users are very selective in the way they describe themselves to a large audience. We randomly selected 100 active Beehive users based on two criteria. First, they had logged in during the 4-week period preceding this study. Second, we were able to generate at least 12 Network, 12 Content, and 12 Excluded recommendations for each user. We invited each user to rate between 36 and 60 About You recommendations on the site on a customized page. Similar to the recommendation interface described above, the rating page showed one About You recommendation at a time. Every time an item was rated, the page was refreshed and the next item was shown. We conducted a within subject study, i.e. each user received recommendations from all three algorithms. To control for order effects, we presented items in a modified Latin square sequence 3 .. With this group of users, as opposed to our second experiment, we explicitly invited users to participate and these users had an expanded set of rating options. They could rate recommendations as "Good for me" or "Not good for me". If they checked off "Good for me", they were also given the option to create an About You entry of that topic on their profile. They were given the option to indicate whether or not they already had a similar item ("Have it"). After a two-week period, we sent an email survey with 16 questions related to About You recommendations.. To carry out the study we assigned 2,000 randomly selected users to two groups: control and experimental. When assigning the groups, we controlled for the length of Beehive membership to make sure that the average time of using Beehive in both groups was similar. Like in our first experiment, another condition was that we were able to create at least 12 recommendations from each algorithm for each user.. In the experimental group, we presented recommendations one at a time, from all 3 algorithms, in the same Latin square sequence as in the first experiment. We computed a minimum of 36 and a maximum of 60 recommendations per user. When computing the recommendations, we also found that the overlap of Content and Network recommendations was very small in practice. While it is possible for a candidate to have a non-zero score for both algorithms, less than 0.01% did. Overlapping recommendations were presented to a user only once and in order of the next algorithm in the Latin square sequence.. The control group did not see any recommendations. To control for the extra attention that About You entries get by occupying prime real estate in the experimental group, we advertised About You entries to the control group in the same places in the user interface and via email without making actual recommendations.

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


Circuit-aware architectural simulation Architectural simulation has achieved a prominent role in the system design cycle by providing designers the ability to quickly examine a wide variety of design choices. However, the recent trend in system design toward architectures that react to circuit-level phenomena has outstripped the capabilities of traditional cycle-based architectural simulators. In this paper, we present an architectural simulator design that incorporates a circuit modeling capability, permitting architectural-level simulations that react to circuit characteristics (such as latency, energy, or current draw) on a cycle-by-cycle basis. While these additional capabilities slow simulation speed, we show that the careful application of circuit simulation optimizations and simulation sampling techniques permit high levels of detail with sufficient speed to examine entire workloads. To accelerate the hardware design cycle, architects often employ architectural simulators of the hardware they are designing. They implement these models in traditional programming languages or hardware description languages, and then execute programs on them to validate the performance and correctness of a proposed hardware design. Although software models run slower than their hardware counterparts, architects can construct hardware models in minutes 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. or hours rather than in the months needed to manufacture real hardware. The faster build time speeds up the hardware design cycle, giving architects the ability to evaluate more designs before committing to a single solution for fabrication.. In the traditional approach to architectural simulation, a software model of the architecture is constructed by first identifying the major components of the system and determining their operation latency as a function of the expected clock cycle of the machine. For example, ALUs and register files typically have a latency of one cycle, while the latency of the caches are dependent on the size of the cache. With the latency of components defined, an architectural model of the complete machine is constructed by quantifying the number of each component, their datapath connections within the microarchitecture, and the hazards (or stalls) that can be experienced by instructions using the various components in the design. Once the model is defined, architectural simulation becomes the process of determining the total number of cycle it takes to execute a program, based on instructions executed, availability of resources, and the hazards experienced during execution.. There is a recent trend in computer architecture design toward systems that can adapt to circuit-level phenomena. In these highly adaptable systems, it is possible for the architecture to influence circuit operation and vice versa. Examples of these type of systems include di/dt [6] and thermal throttling [14] and Razor clocking [7] . Throttling techniques monitor current and temperature characteristics of the underlying circuit implementation. If current demands get too high (which induces noise on the supply lines) or if temperatures rise too high, an architectural-level system controller will be invoked to throttle down instruction fetch bandwidth. With fewer instruction entering the microarchitecture, current demands and temperature are quickly reduced. Razor clocking is a technique to reduce circuit energy levels below the point required by worst case computation paths [7] . In the event a computation fails due to extraordinary energy requirements, an error recovery mechanism restores correct state. With prudent energy tuning, the approach can greatly reduce circuit energy demands with little impact on computational speed.. These novel circuit-aware architectural optimizations share the requirement that the architectural simulator must accurately gauge detailed circuit phenomena to correctly simulate the operation of the machine under study. For example, the throttling techniques must count the total number of devices switching during each cycle of operation, and simulation of Razor clocking requires detail timing information of pipeline stages on a per-cycle basis. The approach that 305 In this paper we have shown that it is possible to combine circuit simulation with an architectural simulator and still achieve significant simulation throughput rates. By identifying those events that repeat or are not critical we can still capture delay information that is voltage or data dependent in the simulation. In the past, this sort of analysis required a clumsy coupling of architectural simulation and selective SPICE simulation. Our framework provides not only an automated solution to the specific problem of voltage and data dependent delays, but it can be extended in a natural way to other run-time dependencies, such as process variation and noise coupling.

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


Applying patterns to build a lightweight middleware for embedded systems Today, patterns are used in several domains (distributed applications, security, software requirements, architecture…). Our purpose is double: first, to know if existing patterns can be applied in the particular domain of embedded systems middleware, second, to establish the grounding towards a patterns language for that domain.In this paper, we describe how to design and build a lightweight middleware for embedded systems with well known patterns such as Composite, Proxy, Visitor, Observer, Publish/Subscribe, Leasing, Evictor or Configurator. The patterns we selected and implemented allow keeping the memory footprint reduced. Yet, they were relevant to address the need of creating topology views of Networked Embedded Systems (NES), to monitor and to manage them. As a result, the middleware is modular, flexible, extensible, and lightweight (< 128 kb) according to targeted embedded systems requirements.In addition, this paper describes a concrete case study, illustrating how to select appropriate patterns to build a dedicated middleware in order to interconnect numerous small devices. Embedded systems are specific-purpose computer, which are completely encapsulated by the device they control. They are ubiquitous in our everyday life, in form of many devices such as cars, medical components, clothes, personal mobile devices, sensors [26] .. reduce the complexity and improve the flexibility of software products in particular connection management, data transfer, demultiplexing and concurrency control [51] .. What motivated our work can be summarized in three points: first, to build embedded systems' middleware with all required functionalities having non-volatile memory footprint less than 128 kilobytes; second, how patterns can be applied to build that middleware and lastly, to establish the bases towards NES pattern language.. With Regard to previous works related to this topic, two 1 middleware JINI and TAO are the most significant because they quietly present the required capabilities and their design was driven by patterns.. JINI is a Java based middleware for building services oriented solutions. It provides 'plug and play' mechanism and supports adhoc networking by allowing services to be spontaneously added to a network [4 p185 ].. TAO [27, 12] is a CORBA (Common Object Request Broker Architecture) [54] compliant middleware built over ACE (Adaptive Communication Environment). It implements entire CORBA functionalities and provides real-time QoS (Quality of Service).. However, both of them were do not fit our specification because of their memory footprint was higher than 128 kilobytes.. Our middleware is designed with patterns such as Composite, Proxy, Visitor, Observer, Publish/Subscribe, Leasing, Evictor or Configurator, etc. It is lightweight (68 kb in ROM for interconnecting JavaCards) and keeps the common qualities of patterns such as loose coupling and flexibility. This paper is organized as follows: section 2 presents the requirements, the use cases of the middleware and an overview of a case study. Section 3, reviews design patterns applied to build this middleware. Section 4, summarizes achieved results. Section 5, concludes this paper and suggests an outlook to future work.

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


On the Gap Between Trivial and Nontrivial Initial Segment Prefix-Free Complexity Abstract An infinite sequence X is said to have trivial (prefix-free) initial segment complexity if the prefix-free Kolmogorov complexity of each initial segment of X is the same as the complexity of the sequence of 0s of the same length, up to a constant. We study the gap between the minimum complexity K(0 n ) and the initial segment complexity of a nontrivial sequence, and in particular the nondecreasing unbounded functions f such thatfor a nontrivial sequence X, where K denotes the prefix-free complexity. Our first result is that there exists a Δ 0 3 unbounded nondecreasing function f which does not have this property. It is known that such functions cannot be Δ 0 2 hence this is an optimal bound on their arithmetical complexity. Moreover it improves the bound Δ 0 4 that was known from Csima and Montalbán (Proc. Amer. Math. Soc. 134(5): [1499][1500][1501][1502] 2006).Our second result is that if f is Δ 0 2 then there exists a non-empty Π 0 1 class of reals X with nontrivial prefix-free complexity which satisfy ( ). This implies that in this case there uncountably many nontrivial reals X satisfying ( ) in various well known classes from computability theory and algorithmic randomness; for example low for Ω, non-low for Ω and computably dominated reals. A special case of this result was independently obtained by Bienvenu, Merkle and Nies (STACS, pp. 452-463, 2011). Kolmogorov complexity measures the absolute amount of information that is coded into a binary string (a program). The algorithmic randomness of an infinite binary sequence, a real, is reflected by the complexity of its initial segments. If we restrict the underlying machines to prefix-free domains, we get a refined measure which is known as prefix-free complexity and is a standard tool for studying the initial segment complexity of reals.. In the last 10 years or so, particular emphasis has been drawn to reals with low prefix-free complexity. A lower bound on the prefix-free complexity of n bits (up to a constant) is the complexity of n zeros. The reals that have trivial prefix-free initial segment complexity, namely below this lower bound up to a constant, are called Ktrivial and have been the object of intense study in recent years. See Nies [16, Chap. 5] or Downey and Hirschfeldt [11, Chap. 11] .. In this paper we are interested in reals that have very low prefix-free initial segment complexity, but not necessarily trivial. Let K(σ ) denote the prefix-free complexity of the sequence σ and let K(n) denote K(0 n ). We study the following question.

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


Graph based topological analysis of tessellated surfaces In this paper a graph-based method is presented which not only characterizes topological classification of the tessellated surfaces but also simultaneously generates the substantial circles or generators on the surface. Canonical polygons cannot always be mapped back to the original surface in terms of the edges of the given triangles. Hence, instead of applying canonical transformation to the initial "word", an associated graph is constructed using the unique vertices in the word. The graph is then decomposed into its constituent loops and paths. Based on the type of edges present, the loops are classified into three types. The number of loops of each type in the graph is then used for counting the rank or genus and classification of the given surface as being open or closed, orientable or non-orientable. The image of the loops and paths on the original surface give the substantial circles and arcs on the surface respectively. A tessellated surface as a representation is simple and versatile in the sense that it can represent surfaces of arbitrary topology. However, the topological nature of the surface is generally implicit which calls for its topological verification for modeling or topology identification for surface parameterization as in reverse engineering [1, 10, 13, 16, 17, 26, 29, 33] . Topology identification makes geometric computations more efficient and meaningful [6, 7, 27] .. Characterization of manifold surfaces involves identification of the topological invariants associated with a class of surface. This has been carried out in literature by using sphere-handle convention [5] , Betti numbers and Euler characteristics [12, 28] , Morse theory, Reeb graph and polygon schema [14] , substantial arc/circles [5] etc. Euler characteristic relates the geometric features (vertex, edge, face) of a closed orientable surface with its global topological nature (genus, components etc.) and is applicable mostly for polyhedral solids. Morse theory relates local differential geometric attributes of a closed smooth surface and its global topological nature. Canonical polygon based characterization in some sense is more general in that it characterizes both orientable and non-orientable closed 2-manifolds [14] . Substantial arc/circles based characterization of surfaces [5] considers the set of non-homoeomorphic curves/surfaces on the surface whose counts are used to identify the invariants associated with a class of surface. This method is suitable for characterizing even open surfaces. Application of topology in geometric modeling has been mostly done for validating a model using Euler characteristics [12, 28] . Computational topology based modeling schemes have been suggested in [2, 11, 19, 20, 21, 32] . Utility of topological information in different fields including robotics, computer aided drug design, genetics, chemical synthesis, flow visualization etc. has been indicated in [3, 6, 25] . Hilga et al. [22] employed a Reeb graph based approach to 3D shape recognition problems.. Extraction of topological features of geometric models is computationally challenging. Vegter and Yap [34] presented an O(n log n) algorithm for computation of canonical polygonal schema of a tessellated surface, where n is the total number of vertices, edges and faces on the surface. Kartasheva [23] considered a cell complex in 3D consisting of tetrahedrons which makes it applicable only for solids (oriented, closed boundary surface). Also, the surface based algorithms also can be extended to determine the cutting sections that, in any case, cannot be guaranteed to be planar. Lazarus et al. [24] gave a O(gn) algorithm for the closed orientable surfaces, where g is the genus of the surface. The method marches through all the triangles in the surface for construction of a spanning tree. The map of the generators on the surface is very complex and non-intuitive. A still improved O(n) algorithm for construction of non-canonical but optimal sized polygonal schema and O(n + k log g) algorithm for detection null-homotopy cycles of size k is proposed in [8] . Apart from that one can find work concerning extraction and application of topological information based on Morse theory [4, 31] , knot theory [15] etc. Application of topological dissection to homeomorphically deforming (flattening) the surface is reported in [10, 33] which could in turn be used for global parameterization of surfaces in reverse engineering. In [9, 30] it is theoretically proved that the problem of topological equivalence could be reduced to a problem of graph isomorphism for general (nonmanifold) 2-complexes. However, such objects are sparingly encountered in practice; graph isomorphism test in itself is difficult and the necessity to consider all the triangles for constructing the graph is likely to make algorithms resource 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, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. intensive. There is a need for simpler methods for topological analysis of surfaces for their wider applicability.. Although Euler characteristic, Betti numbers and Morse numbers all characterize compact 2-manifolds, it is the polygonal schema and substantial arc based characterizations which can actually construct the homeomorphism as a step towards global parameterization, texture mapping etc. Even though substantial arcs/circles provide a geometrically simple, direct and more general way of classifying surfaces, computationally identifying the best of these characteristic curves (minimum cut [10] ) on the surface is difficult (NP-hard). On the other hand, although canonical words under polygonal schema give a simple method for classifying closed 2-manifolds and generation of a word polygon is conceptually straight forward, reducing it to canonical form is difficult because it involves a great deal of pattern search and symbolic manipulation of the word. Even more difficult is the process of mapping the canonical polygon on the given surface. In this paper we propose to unify the two concepts in a single characterization by using a graphs associated with any word [14] , a non-canonical polygon, for identification of generators on the surface. Edges in the graph are coloured. The paper presented a novel graph based methodology for topological analysis of any triangulated 2-manifold. The method constructs a graph out of the non-canonical word polygon obtained by sequential gluing of the triangles. The edges of the graph are classified according to their occurrence in the word and the circuits in the graph are classified based on the types of edges they contain. These circuits along with the paths that do not participate in the circuits are then used to characterize the surface. Since the edges in the word are only used for characterization, which is orders of magnitude less compared to the total number of triangle and edges in the surface, the procedure is efficient. Since the required graph decomposition can be done efficiently, the implementation is simple. Most importantly the validity of the method can be easily verified geometrically because it unifies the two traditional concepts of surface characterization based on canonical words and substantial arc/circles. The efficacy of the method has been demonstrated with a number of illustrative examples.

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


Artificial boundary conditions for the numerical simulation of unsteady acoustic waves We construct non-local artificial boundary conditions (ABCs) for the numerical simulation of genuinely time-dependent acoustic waves that propagate from a compact source in an unbounded unobstructed space. The key property used for obtaining the ABCs is the presence of lacunae, i.e., sharp aft fronts of the waves, in wave-type solutions in odd-dimension spaces. This property can be considered a manifestation of the Huygens' principle. The ABCs are obtained directly for the discrete formulation of the problem. They truncate the original unbounded domain and guarantee the complete transparency of the new outer boundary for all the outgoing waves. A central feature of the proposed ABCs is that the extent of their temporal nonlocality is fixed and limited, and it does not come at the expense of simplifying the original model. It is rather a natural consequence of the existence of lacunae, which is a fundamental property of the corresponding solutions. The proposed ABCs can be built for any consistent and stable finite-difference scheme. Their accuracy can always be made as high as that of the interior approximation, and it will not deteriorate even when integrating over long time intervals. Besides, the ABCs are most flexible from the standpoint of geometry and can handle irregular boundaries on regular grids with no fitting/adaptation needed and no accuracy loss induced. Finally, they allow for a wide range of model settings. In particular, not only one can analyze the simplest advective acoustics case with the uniform background flow, but also the case when the waves' source (or scatterer) is engaged in an accelerated motion.Key words: Time-dependent sound waves, unbounded domains, lacunae, non-deteriorating method, long-term computation, limited temporal nonlocality.Email address: tsynkov@math.ncsu.edu (S. V. Tsynkov). URL: http://www.math.ncsu.edu/∼stsynkov (S. V. Tsynkov). Artificial Boundary Conditions (ABCs) is a common name for a group of methods employed for solving infinite-domain problems on a computer. ABCs facilitate truncation of the original unbounded domain, and provide the required closure for the resulting truncated formulation. The literature on the subject of ABCs is broad, and we refer the reader to the review papers [1] [2] [3] .. Two opposite trends can be identified in building the ABCs. High accuracy requirements typically imply that the ABCs should be nonlocal. In particular, the exact ABCs are always nonlocal in multidimensional settings. For unsteady problems, this also means nonlocality in time. Clearly, nonlocality of the ABCs may result in high computational costs and elaborate implementation strategies. As such, local alternatives obtained either independently or as a approximations of nonlocal ABCs become viable. These ABCs are usually inexpensive and easy to implement, but may lack computational accuracy.. In the current paper we propose the ABCs for the numerical simulation of non-dispersive unsteady acoustic waves. We assume that there is a (complex) phenomenon/process confined to a bounded region that manifests itself by the radiation of acoustic waves in the far field. The waves subsequently propagate across the unbounded and unobstructed space, which is assumed isotropic and homogeneous. The proposed ABCs are nonlocal and guarantee that the accuracy of the boundary treatment can always be made at least as high as that of the interior discretization. However, the key feature of the proposed ABCs is that the extent of their temporal nonlocality is limited, and does not increase as the time elapses. The bound on temporal nonlocality comes as a consequence of the presence of lacunae, i.e., sharp aft fronts of the waves, in the solutions of the linearized Euler equations. In general, existence of the lacunae is a fundamental property of wave-type solutions in odd-dimension spaces. It is often referred to in connection with the Huygens' principle.. The ABCs are constructed by decomposing the original problem into the interior and auxiliary sub-problems. The latter is linear and homogeneous throughout the entire space, and is integrated with the help of lacunae. In so doing, the interior solution is used to generate sources for the auxiliary problem, and the auxiliary solution is used to provide the missing boundary data, i.e., the require closure, for the interior problem.. Several other nonlocal ABCs' methodologies for unsteady waves have been recently advocated in the literature, most notably [4] [5] [6] [7] [8] [9] [10] ; we also mention the survey paper [11] and the bibliography there. Compared to these techniques, our approach has a number of distinctive characteristics. Its high accuracy and restricted temporal nonlocality have already been mentioned. Besides, the pro-posed lacunae-based ABCs are obtained directly for the discrete formulation of the problem, and can supplement any consistent and stable finite-difference scheme. In other words, they bypass the common stages of first deriving and then approximating the continuous ABCs, see [2] . The lacunae-based ABCs are especially designed to withstand long-term numerical integration with no deterioration of accuracy. Moreover, neither they are restricted to any particular shape of artificial boundary nor require grid fitting. They also enable analysis of a variety of problem formulations, e.g., the case of sound sources moving with acceleration, which is equivalent to advective acoustics with unsteady background flow. We note that the source motion does not have to be considered relative to an ambient medium only. Via the appropriate Galileo transform, it can be considered relative to a given mean flow as well.. The ABCs that we derive in the current paper for acoustics generalize and further extend our previous work [12, 13] , in which a similar methodology was introduced for the scalar wave equation. The current approach also fits into the general theoretical framework of [14] . We have constructed and tested the algorithm for setting highly-accurate global artificial boundary conditions for the computation of time-dependent acoustic waves. This work is an extension of our previous approach that applied to the scalar wave equation [13] . The algorithm is based on the presence of lacunae (aft fronts of the waves) in the three-dimensional wave-type solutions. The ABCs are obtained directly for the discrete formulation of the problem and can complement any consistent and stable finite-difference scheme. In so doing, neither a rational approximation of non-reflecting kernels, nor discretization of the continuous boundary conditions is required. The extent of temporal nonlocality of the new ABCs appears fixed and limited, and this is not a result of any approximation but rather a direct consequence of the fundamental properties of the solution. The proposed ABCs can handle artificial boundaries of irregular shape on regular grids with no fitting/adaptation needed. Besides, they possess a unique capability of being able to handle boundaries of moving computational domains, including the case of accelerated motion.. For the case of an acoustic source engaged in an accelerated motion, we have conducted numerical experiments that corroborate the theoretical design properties of the algorithm. We are currently unaware of any other acoustic ABCs' algorithm in the literature with the capability of handling the accelerated motion. We have also shown experimentally that when a key parameter that characterizes the algorithm changes so that to reduce the overall memory requirements, the performance of the ABCs suffers in an expected way. However, the deterioration of the long-term performance on fine grids is much slower than that on coarse grids.. Finally, we should mention that even though the full description of the algorithm provided in the paper does address a number of technical issues, its key idea is most straightforward. In one sentence it can be formulated as follows: One should not continue the computation inside the lacuna once the solution has become zero there due to "natural causes." Otherwise the error may unwarrantably build up on one hand, and on the other hand, the extent of the required temporal pre-history of the solution may grow un-justifiably high. The technical issues that we have discussed relate primarily to what to do with the waves outside, and not inside, the domain of interest. In the framework of the previous analysis, we simply allow them to propagate a certain distance away till they get reflected, and then set up the auxiliary domain so that the reflected waves do not reach the domain of interest before it completely falls inside the lacuna. This, however, is by no means the only possible option. In fact, any treatment of the outgoing waves that would prevent the reflections from re-entering the domain of interest before it falls into the lacuna will be appropriate. At the same time, introducing an alternative to the approach described in the current paper may be beneficial from the standpoint of the overall computational cost. For example, a treatment of the sponge layer type that slows down the outgoing waves, see, e.g., [25, 26] , may allow to reduce the size of the auxiliary domain. Alternatively, the lacunae-based approach can be combined with a PML-based treatment for the waves outside the domain of interest, see, e.g., the survey papers [27, 28] . In any event, linearity has to be maintained, otherwise it will not be possible to partition the problem similarly to (16) , (18) , (19) . These combined approaches will be subject of a future study.

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


Preemptive scheduling on uniform machines to minimize mean flow time In this paper we give a polynomial algorithm for problem Q | r j , p j = p, pmtn | C j whose complexity status was open yet. The algorithm is based on a reduction of the scheduling problem to a linear program. The crucial condition for implementing the proposed reduction is the known order of job completion times. The problem considered can be stated as follows. There are n independent jobs and m parallel uniform machines. For each job J j , j = 1, . . . , n, we know its processing time p j = p and its release time r j ≥ 0. Each machine M q , q = 1, . . . , m, has some speed s q , i.e. the execution of job J j on machine M q requires p/s q time units. Any machine can process only one job at a time, and at any moment any job can be processed only by one but arbitrary machine. Preemptions of processing are allowed, i.e. the processing of any job may be interrupted at any time and resumed later, possibly on a different machine. We assume that all numerical data r j , p, s q are integers. For a schedule s, let C j (s) denote the time at which the processing of job J j is completed. If no ambiguity arises, we drop the reference to schedule s and write C j . The problem is to schedule all jobs so as to minimize the optimality criterion n j=1 C j . The described problem can be denoted as Q | r j , p j = p, pmtn | C j .. Note that problem P | r j , pmtn | C j and, therefore, also problem Q | r j , pmtn | C j are unary NP-hard [1] whereas problem Q | r j , pmtn | C max can be solved in O(n log n + mn) time [3] . Problem R | r j , pmtn | L max can be effectively solved by reducing it to linear programming [5] . Problem R | pmtn | C j is NP-hard in the strong sense, and problem R | p ji ∈ {p j , ∞} | C j can be solved in O(n 3 ) time [6] .. The main result in this paper is a polynomial algorithm for problem Q | r j , p j = p, pmtn | C j . This result is a generalization of the polynomial algorithm for problem P | r j , p j = p, pmtn | C j from paper [2] . Throughout the paper, we suppose that the jobs are enumerated in such a way that r 1 ≤ . . . ≤ r n holds. Furthermore, we assume that r 1 = 0. In this paper, we considered problem Q | r j , p j = p, pmtn | C j , whose complexity status was open yet. We presented a polynomial algorithm which is based on the solution of a linear program and a network flow problem. For further research, the most interesting question is whether it is possible to simplify the proposed linear programming formulation in the same way as it was made in [1] for problem P | r j , p j = p, pmtn | C j . In particular, is it possible to find such special properties of an optimal schedule which permit to reduce the size of the linear programming formulation?

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


LEARNING TO AVOID RISKY ACTIONS When a reinforcement learning agent executes actions that can cause frequently damages to itself, it can learn, by using Q-learning, that these actions must not be executed again. However, there are other actions that do not cause damage frecuently, only once in a while: risky actions, such as parachuting. These actions may imply a big punishment to the agent and, depending on its personality, it would be better to avoid. Nevertheless, using the standard Q-learning algorithm the agent is not able to learn to avoid them, since the result of these actions can be positive in average. In this paper, an additional mechanism to Q-learning, inspired by the emotion of fear, is introduced in order to deal with those risky actions by considering the worst results of them. Moreover, there is a daring factor for adjusting the consideration of the risk. This mechanism is implemented on an autonomous agent living in a virtual environment. The results present the performance of the agent with different daring degrees. In this research, it is considered that a risky action is one that, in average, can produce positive results but, once in a while, generates very bad results for the agent.. Let us show an example of an action that can become risky. It can happen that one likes mushrooms: they taste good and satisfy hunger. But if on some occasion one suffers an intoxication due to these mushrooms, one will not probably eat them again, although that happened just one time. Therefore, the action of eating mushrooms becomes risky.. When an action executed by the agent has bad results frequently, the agent, by using Q-learning [Watkins, 1989] , learns not to select it. This is due to the very low value of the action as a consequence of the negative reinforcement received when it is executed. A different situation occurs when the action is risky. In this case, the agent can learn that the long term value of this action is high, although it receives very negative reinforcements with a small probability. This is because this learning algorithm does not take into account the worst experiences when the agent executed this kind of action, just the average value.. In this paper, we present a model-free method in order to f nd out the optimal policy in the described situation. A model-free method implies that the agent knows neither the state transition probability function nor the reinforcement function [Kaelbling et al., 1996] . We have developed an additional mechanism to the standard Q-learning algorithm in order to consider not only the average value of the actions but also their worst results. In this mechanism, a daring factor β will adjust the importance that the agent gives to both contributions.. In order to test this mechanism, it is implemented in an autonomous agent living in a virtual environment. In this approach, it is considered that the agent is motivationally autonomous. According to Gadanho [Gadanho, 1999] and Cañamero [Cañamero, 2003] , an autonomous agent has goals and motivations and it has some ways to evaluate its behaviours in terms of the environment and its own motivations. Its motivations are desires or preferences that can lead to the generation and adoption of objectives. The f nal goals of the agent, or its motivations, must be oriented to maintain its internal equilibrium.. In this research, the agent lives in a virtual world surrounded by objects that it needs in order to satisfy its necessities (e.g., food for satisfying hunger). The agent knows the properties of every object, that is, it knows which actions can be executed with each object (affordances). What the agent does not know is which action is more appropriate in each situation. It must learn a policy of behaviour in order to maintain all its needs within acceptable ranges. The policy establishes a normative about what to do in each situation. This means that the agent must learn the proper relation between states and actions by evaluating the long term value of executing an action in a certain state for every action-state pair.. In this paper, the performance of an autonomous agent considering the worst effects of its actions is studied. Since the value of the daring factor β is an important parameter for the f nal design of the agent, its performance using several values of this factor is presented.. The paper is organized as follows. First, section 2 introduces the proposed mechanism to complete the Q-learning algorithm in order to deal with risky ac-tions. Next, in section 3, a brief review of some related works is given. Section 4 shows the experimental procedure used in this work. First, the environment, the virtual world where the agent lives, is brief y described. Then, a general view of how the agent is modeled as well as a description of its learning process are given. Moreover, the adaptation of the proposed mechanism to the current application is presented. The results obtained varying the daring factor of the agent are presented in section 5. Finally, the main conclusions of this paper are summarized in section 6. In this paper, the usefulness of the mechanism inspired by fear in order to learn to deal with risky actions is shown. The risk is related to negative rewards with a very low probability. In order to test this algorithm, it has been implemented on an autonomous agent. The agent lives in an environment where a dangerous object exists, the elixir, and the action of drinking it is considered risky according to our def nition.. The algorithm presented can be viewed as a risk-sensitive reinforcement learning algorithm. Using it, the agent tries to maximize a new Q f ear value that combines the optimal Q values given by Q-learning and the Q worst values, when these last ones are lower than a certain limit. The daring factor β ponders the importance of the worst results and the optimal Q values. Therefore, this parameter def nes the risk-aversion of the agent.. As shown, the capacity of selecting the risk-aversion of the agent is the main difference with the worst-case criterion proposed by Heger [Heger, 1994] . In relation to other risk-sensitive approaches, such as the ones that use exponential utility functions [Howard and Matheson, 1972] [Coraluppi and Marcus, 1999] and expected value-minus-variance-criterion [Heger, 1994] , we do not need the transition probabilities, since we use a model-free approach. Moreover, we are also able to vary the daring factor during the life of the agent, since the learnt Q values do not depend on this factor. This fact makes the difference between our approach and the risk-sensitive reinforcement learning algorithm proposed by Mihatsch and Neuneier [Mihatsch and Neuneier, 2002] .. Varying the value of the daring factor the results show that, when the agent is risk-seeking (β ≈ 1), it learns to drink the elixir, despite its possible negative effects. Therefore, most of the time the agent is able to satisfy several drives at the same time. As a result, the average value of its wellbeing is very high, although there are some occasional drops due to poisoning. On the other hand, when the agent becomes risk-adverse (low values of β), it disregards the elixir and follows a "safe" policy of behaviour. This causes that the agent is not poisoned any more, with no drops in its wellbeing, improving its quality of life.. The mechanism proposed in this paper is essential for autonomous agents living in a complex environment, since some behaviours could compromise their integrity. Particularly, all superior animal has this kind of mechanism that helps them to avoid actions that could lead to death. In many cases, the learning process is associated to phylogenetics and therefore, it is not linked to the experiences of the individual animal. In our tests, the agent learns everything by trial and error. Nevertheless, it could be also possible to use the proposed mechanism to design agents initially programmed with the knowledge of other agents. The algorithm proposed in this paper can be seen as a new approach to riskadverse reinforcement learning. One of the most popular proposals was presented by Heger [Heger, 1994] . He proposed a new algorithm calledQ-learning to f nd out the policy that minimizes the worst-case total discounted costs. TheQ value is updated as follows:. where c is the immediate cost. The objective is to learn optimal actions so as to. As can be easily observed, our Q worst value is calculated by using (4) and (5) in a very similar way to thisQ value. In fact, both algorithms are the same when the daring factor β is equal to 0. Note that in our case, we try to maximize the minimum reward, while Heger tries to minimize the maximum cost. Moreover, the algorithm proposed by Heger only cares about avoiding the risk, while the one proposed in this paper offers the possibility of selecting how the risk affects the decision making process. Depending on the value of the daring factor, the agent can be risk-adverse or not. These kind of algorithms are denominated risk-sensitive.. There are several risk-sensitive approaches, such as the ones introduced by Howard and Matheson [Howard and Matheson, 1972] and Coraluppi and Marcus [Coraluppi and Marcus, 1999] . Both proposals make use of exponential utility functions. The idea is to transform the cumulative returns by exponential utility functions and seek optimal policies with respect to this utility measure. The risksensitive objective is given by:. Again, c represents the immediate cost. Besides, there is a risk-aversion coeff cient δ. When it is small, the value to be minimized in (10) takes the form:. Therefore, for δ > 0 the variability in the cost is penalized, so the agent is risk-adverse. The expected value-minus-variance-criterion proposed by Heger has a similar effect to the expected-utility one:. where k is called the risk-adverse factor and R is the reward, see [Heger, 1994] . In these cases, the agent needs the transition and reinforcement probabilities of the environment, in contrast with our approach, that is model free.. Mihatsch and Neuneier [Mihatsch and Neuneier, 2002 ] also proposed a risksensitive reinforcement learning algorithm based on a very different philosophy. Instead of transforming the cumulative return of the process as in the utility theory, they transform the temporal differences (so-called TD-errors) which play an important role during the procedure of learning the value. Moreover, they are able to formulate risk-sensitive versions of Q-learning and TD-learning. The transformation function is def ned as follows:. where k ǫ (−1, 1).. The risk-sensitive Q-learning algorithm proposed updates the Q values as follows:. The only difference from traditional Q-learning is in the transformation χ k that weights positive and negative temporal differences appropriately. Setting k = 0, we recover the original Q-learning algorithm. If k is set to be positive, then the negative temporal differences are overweigh with respect to positive ones. Loosely speaking, they overweigh transitions to successor states where the immediate return r happened to be smaller than in the average. On the other hand, they underweigh transitions to states that promise a higher return than in the average. In other words, the objective function is risk-avoiding if k > 0 and risk-seeking if k < 0.. Again, the optimal action is the one that, for every state:. In this case, the main difference with respect to our algorithm is that after the learning process is f nished, the learnt Q values are dependent on the selected value of k. Using our approach, the optimal Q values and the Q worst values are calculated. Therefore, if we want to calculate the Q f ear values using a different risksensitive factor or daring factor β, we do not need to launch the learning process again. Moreover, our proposal allows the possibility of varying the daring factor during the life of the agent.. On the other hand, there is another different approach by Geibel [Geibel, 2001 ] [Geibel and Wysotzki, 2005] that def nes the risk as the probability of entering a fatal state. They consider the problem of f nding out optimal policies with bounded risk, that is, the risk is smaller than some user-specif ed threshold ω. Finally, they propose a learning algorithm in such a way that if the agent is in a state s, then it selects an action a that. where Q(s, a) are the values obtained using the Q-learning algorithm and σ(s, a) is the probability that the agent ends in a fatal state. Parameter λ can be used to increase or decrease the inf uence of the Q values compared to the σ values. The idea is to start the learning process with λ = 0 and to increase its value until the number of ω-safe states for the current policy decreases. This proposal is very interesting, although, as said before, the risk is related to a very different concept: entering a pre-def ned set of fatal states. In our approach, as in many others, the risk is related to the execution of certain actions that may lead to bad rewards. Moreover, there is no pre-def ned information about the states.

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


Robot formation motion planning using Fast Marching Astract: This paper presents the application of the Voronoi Fast Marching (VFM) method to path planning of mobile formation robots. The VFM method uses the propagation of a wave (Fast Marching) operating on the world model to determine a motion plan over a viscosity map (similar to the refraction index in optics) extracted from the updated map model. The computational efficiency of the method allows the planner to operate at high rate sensor frequencies. This method allows us to maintain good response time and smooth and safe planned trajectories. The navigation function can be classified as a type of potential field, but it has no local minima, it is complete (it finds the solution path if it exists) and it has a complexity of order n(O(n)), where n is the number of cells in the environment map. The results presented in this paper show how the proposed method behaves with mobile robot formations and generates trajectories of good quality without problems of local minima when the formation encounters non-convex obstacles. E-mail: sgarrido@ing.uc3m.es (S. Garrido), moreno@ing.uc3m.es (L. Moreno), pal@isr.ist.utl.pt (P.U. Lima).. literature. Different approaches can be classified according to different criteria. Beard et al. [1] consider the different design approaches and classify them into the following three groups. Leader-following, where one vehicle is designated as the leader and the others as followers. The leader posture (position and orientation) is determined by a trajectory to be tracked or by external control objectives (e.g., joysticked by a human) and the followers must track the leader following some prescribed geometry, possibly dynamically changing over time [2] . Behavioral, where the motion of each vehicle results from a weighted average of several behaviors, ultimately contributing to a desired group behavior [3] . Virtual structure, where the entire formation is treated as a single structure, whose desired motion is translated into the desired motion of each vehicle [4] . Another possible criterion takes into account the rigidity of the formation geometry: some authors specify the full geometry, e.g., the distances and bearings between the vehicles of the formation, and control each vehicle to ensure that these are accurately achieved [5] , requiring a coordination architecture to switch between geometries when required by the environmental characteristics (e.g., narrow passages, open spaces) [6] ; others see the formation as a dynamic geometry structure, that naturally becomes distorted in the presence of obstacles and/or environmental geometry changes [7] . minima of the potential functions, representing equilibrium points that balance inter-vehicle repulsion, vehicle-obstacle repulsion, and follower-leader attraction. MacArthur and Crane proposed a similar approach but virtual spring-damper systems were used to ''connect'' the formation vehicles [9] . The drawback of such approaches is the well-known local minima problem of potential fields, that may lead to breaking of the formation in the presence of non-convex shaped obstacles.. In a previous paper [10] , we have introduced one possible solution to this problem, where the followers keep track of the n most recent positions of the leader, and not only its current position, to be dragged away from the obstacle trap. However, this method has not been proven to work for all possible situations. We have also introduced a method to avoid local minima of potential fields for a single vehicle, using the Voronoi Fast Marching (VFM) method and the Fast Marching squared (FM 2 ) method [11] [12] [13] .. In this paper we use the Fast Marching (FM) algorithm to control a leader-follower deformable formation, where the trajectory of the leader in an environment cluttered by obstacles is computed using the VFM algorithm. Each follower attempts to reach, at We are particularly interested in leader-following deformable formations, where the leader can be virtual and tracks a given trajectory, pulling the followers behind it according to nominal geometry specifications (e.g., desired inter-vehicle distances) that can change within a given range so as to accommodate environmental conditions. Leonard and Fiorelli [8] introduced the concept of artificial potential fields between formation vehicles, some of them virtual leaders. The nominal inter-vehicle distance corresponds to each iteration step, a nominal sub-goal position related to the desired leader trajectory, but takes into account the positions of the other followers and the environmental objects, both seen as obstacles. This influences the metrics used by these algorithms, effectively deforming the followers' trajectories. In this way we ensure that non-convex obstacles do not break the formation, and that the inter-vehicle distances are smoothly deformed while the formation moves from open areas to regions with obstacles, narrow corridors, and narrow passages.. The paper is organized as follows. In Section 2 the Fast Marching method and some of its variants are summarized. Its application to robot formations is described in Section 3. The results of applying the method to two different formation geometries in a diversity of simulation scenarios are presented in Section 4. The paper ends with conclusions and prospects for future work (Section 5).. Formation control is currently a topic of vast research in the This paper presents a new methodology for the motion of a formation of holonomic robots. The formation is maintained by calculating the trajectory of the formation leader. In each iteration of the algorithm, using this trajectory, the robots' partial objectives are calculated. These partial objectives maintain the formation and have a variable distance between them proportional to the light velocity at that point (inverse of the refraction index). Each robot has an environment map with the other robots as objects. This map is used to construct the refraction index map or metric P(x) using the FM method. Using these metrics, the distance function D(x) representing the distance function measured with the metrics P(x) is built with the FM method. The partial trajectory of each robot is calculated with the gradient method.. The general trajectories have a behaviour like the trajectory of light in a space with larger refraction index near the obstacles and walls and with an attraction force that tries to maintain the formation.. The proposed method is highly efficient from a computational point of view, since the Fast Marching complexity is O(n) and the Extended Voronoi Transform complexity is O(n), where n is the number of cells in the environment map.. The main contribution of the method is that it robustly achieves smooth and safe motion plans in real time that can be used at low control levels without an additional smoothing interpolation process. This allows the method to fuse collision avoidance and global planning in only one module, which can simplify the control architecture of the mobile robot, and without local minima, as in the case of the potential fields original method and some other algorithms in the same class.. Additionally, it pushes the state of the art in formation control since it introduces an algorithm that simultaneously enables deformable formations, as in [8] , but avoids the local minima problem of potential fields [14] by using a distance function based on a metric built with the FM method. This is particularly relevant for the formation to handle concave obstacles without some of the formation robots being trapped in the obstacles, due to local minima of the inter-robot composition of attractive and repulsive potentials, as reported in [10] . Moreover, the path of the leader to the goal avoids obstacles and is free of local minima, since it relies on the VFM method. Other local-minima free methods could be used for the latter purpose, e.g. [19] .. Future work is related to the introduction of sensor noise, uncertainty in the map (with connections with SLAM) and the introduction of small obstacles and moving obstacles.. 8. All these questions can be implemented by adding Gaussian functions that model the uncertainty to the distance potential D t i of each robot.

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