Assistive music browsing using self-organizing maps Music listening is an important activity for many people. Advances in technology have made possible the creation of music collections with thousands of songs in portable music players. Navigating these large music collections is challenging especially for users with vision and/or motion disabilities. In this paper we describe our current efforts to build effective music browsing interfaces for people with disabilities. The foundation of our approach is the automatic extraction of features for describing musical content and the use of selforganizing maps to create two-dimensional representations of music collections. The ultimate goal is effective browsing without using any meta-data. We also describe different control interfaces to the system: a regular desktop application, an iPhone implementation, an eye tracker, and a smart room interface based on Wii-mote tracking. Listening to music is a common everyday activity for many people. Recently the widespread availability of portable digital music players and digital music distribution have made 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. PETRA'09, June 09- 13 possible to carry around increasingly large personal music collections (currently 5-10 thousand tracks is a common size). As these collections keep getting larger navigating them becomes increasingly complex. Portable players and music track management software typically allow users to select artists, genres or individual tracks essentially by browsing long lists of text. This mode of interaction although adequate for small music collections becomes increasingly problematic as the collections become larger. The emerging area of Music Information Retrieval (MIR) [12] deals with all aspects of managing, analyzing and organizing music in digital formats. In the past ten years several MIR algorithms and user interfaces have been proposed that can assist with the browsing and navigation of large music collections.. Music browsing can be especially challenging for people with special needs. For example, finding a particular artist out of a long list of text using a scroll-wheel can be very difficult or impossible for a user with motor disabilities. Similarly reading text on a screen is not directly possible for a blind user. Various types of assistive technologies such as single-switch access, voice recognition and text synthesis which can be used for general computer usage, can also be applied in the case of music browsing. At the same time we believe that music browsing and listening are activities with unique and distinct characteristics that motivate the creation of domain specific software and control interfaces. Such tools have the potential to provide a much more effective and enjoyable experience for people with special needs. In this paper we report on our efforts to design such software and control interfaces for assistive music browsing.. The foundation of the system is a content-aware grid surface representation of a music collection that is calculated using Self-Organized Maps [9] over automatically extracted features that describe musical content. We have experimented with several control interfaces ranging from simple button navigation to location sensors based on the Wii-mote and eye tracking. This flexibility is crucial as there is a broad range of visual and motor disabilities that could potentially benefit from the proposed system. Each individual user with special needs has unique accessibility constraints so using the different control interfaces allows us to personalize the basic system. This personalization as well as the time availability of users makes it harder to conduct detailed quantitative user evaluations common in human-computer interaction. Instead we follow a more qualitative approach based on questionnaires and participatory design for guidance.. The context of this work has been CanAssist 1 which is a non-profit organization at the University of Victoria that specializes in the research and development of assistive technology as well as the development of community based initiatives to make life easier and more rewarding for those with disabilities. The technical group consists of professors, fulltime engineers, graduate students on both the Masters and Phd level, and short-term student internships from a broad range of disciplines including electrical and mechanical engineering, computer science, music and fine arts, psychology, kinesiology, and neuroscience and medicine. Browsing of digital music collections is an important activity that is part of daily life for many users. By providing a content-aware representation based on Self-Organizing Maps coupled with personalized control interfaces it is possible to enhance the experience of music browsing and listening for users with special needs such as visual and motor disabilities. We have described the implementation of the systems and initial feedback we received from a small qualitative user study.. There is much future work to be done. We hope to conduct a user study possibly involving multiple concurrent users of the location browsing interface using the Wii-mote control. More work needs to be done in the initialization of the SOM for personalizing the process to particular music collections. We are also planning on implementing the system on other mobile devices such as BlackBerries and the Google Android platform. Experiments with other clustering and dimensionality reduction methods could be performed. A critical part of the development process will be to incorporate user feedback from users with a range of disabilities. The nature and range of ability of disabled users varies widely, and it will be important to take into account the different needs and abilities of users when planning future developments to this project. Regular usage by users with special needs in their everyday environment will help us get more reliable information for how to improve the system. Some of the suggestions we have received and are working on include: integration with existing music browsing software like iTunes, incorporation of speech recognition and text synthesis for specifying metadata and automatic creation of playlists. The two main research areas that have informed our work are assistive technologies and music information retrieval especially content-aware user interfaces for music browsing. There is a growing interest in human-centric computing which is a field where computers and devices are designed to adapt to the user need and preferences. Assistive technologies hold the potential to make life easier and more rewarding for people with special needs. Representative examples that have influenced our work include: smart environments for health care monitoring applications [3, 2] , visual tracking of body features for computer access for people with severe disabilities [1] , and non-visual interfaces for blind users [14] .. Initial work in Music Information Retrieval (MIR) concentrated on algorithmic devopment rather than interactive systems. However in recent years, there has been a steady increase in the number of interfaces available for MIR. Selforganizing maps have been used in Islands of Music [13] as well as the Databionic visualization [10] . Another interesting interface is Musicream [5] which is a new music playback interface for streaming, sticking, sorting and recalling musical pieces. The idea of personalization is explored in [8] where a music retrieval system based on user-driven similarity is described. A tangible interface for browsing music collection using a table metaphor is described in [15] . Another tangible interface is MusicBottles, designed by Hiroshi Ishii and his team at the MIT Media Lab. In this work, bottles can be opened and closed to explore a music database of classical, jazz, and techno music [7] . Music collection browsing on mobile devices has also been explored [6] . An earlier version of the proposed SOM-based music browsing system with focus on DJ interaction using a Radio Drum control interface can be found in Murdoch [11] . The system described in this paper draws ideas from these systems but is differentiated by the diversity of control interfaces and the focus on accessibility.

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


Deinterleaving Finite Memory Processes Via Penalized Maximum Likelihood Abstract-We study the problem of deinterleaving a set of finite-memory (Markov) processes over disjoint finite alphabets, which have been randomly interleaved by a finite-memory switch. The deinterleaver has access to a sample of the resulting interleaved process, but no knowledge of the number or structure of the component Markov processes, or of the switch. We study conditions for uniqueness of the interleaved representation of a process, showing that certain switch configurations, as well as memoryless component processes, can cause ambiguities in the representation. We show that a deinterleaving scheme based on minimizing a penalized maximum-likelihood cost function is strongly consistent, in the sense of reconstructing, almost surely as the observed sequence length tends to infinity, a set of component and switch Markov processes compatible with the original interleaved process. Furthermore, under certain conditions on the structure of the switch (including the special case of a memoryless switch), we show that the scheme recovers all possible interleaved representations of the original process. Experimental results are presented demonstrating that the proposed scheme performs well in practice, even for relatively short input samples.Index Terms-Finite memory process, finite-state machine (FSM) source, interleaved Markov process (IMP), Markov process, penalized maximum likelihood.

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


Cross-validation of bimodal health-related stress assessment Abstract This study explores the feasibility of objective and ubiquitous stress assessment. 25 post-traumatic stress disorder patients participated in a controlled storytelling (ST) study and an ecologically valid reliving (RL) study. The two studies were meant to represent an early and a late therapy session, and each consisted of a ''happy'' and a ''stress triggering'' part. Two instruments were chosen to assess the stress level of the patients at various point in time during therapy: (i) speech, used as an objective and ubiquitous stress indicator and (ii) the subjective unit of distress (SUD), a clinically validated Likert scale. In total, 13 statistical parameters were derived from each of five speech features: amplitude, zero-crossings, power, highfrequency power, and pitch. To model the emotional state of the patients, 28 parameters were selected from this set by means of a linear regression model and, subsequently, compressed into 11 principal components. The SUD and speech model were cross-validated, using 3 machine learning algorithms. Between 90% (2 SUD levels) and 39% (10 SUD levels) correct classification was achieved. The two sessions could be discriminated in 89% (for ST) and 77% (for RL) of the cases. This report fills a gap between laboratory and clinical studies, and its results emphasize the usefulness of Computer Aided Diagnostics (CAD) for mental health care. In our modern society, many people experience stress, sometimes for just a brief moment, at other times for prolonged periods. Stress can be defined as a feeling of pressure or tension, caused by influences from the outside world [15, Chapter 6] . It can be accompanied by positive or negative feelings. It affects our physical state, for instance, by increasing our heart rate and blood pressure, and by freeing stress hormones such as (nor)adrenaline or (nor)epinephrine [27] , which stimulate autonomic nerve action. Stress may become harmful if it occurs for too long or too frequently, or if it occurs during a traumatic experience. It may, for instance, result in depression or post-traumatic stress disorder (PTSD) [2] . To make things even worse, such stressrelated disorders stigmatize the people suffering from them, which in itself is an additional stressor [42, 43] .. Depression cannot always be related to a specific cause, though several contributing factors have been identified (e.g., genetic vulnerability and unavoidability of stress) [2, 25, 35] . More specifically, certain stressful life events (e.g., job loss and widowhood) can lead to a state of depression. Furthermore, chronic role-related stress is significantly associated with chronically depressed mood [25] . Note that the experience of stress is associated with the onset of depression and not necessarily with the symptoms of depression [25] .. Traumas can originate from a range of situations, either short or long lasting, such as warfare, natural disaster, and interpersonal violence (e.g., sexual, physical, and emotional abuse), intimate partner violence, or collective violence (e.g., experiencing a bank robbery). In such cases, a PTSD may arise, which can be characterized by a series of symptoms and causes (see [2, 44] ).. Due to large inter-individual variability and a broad variety of symptoms, the diagnosis of PTSD is hard to make [2] . At the same time, it is clear that an efficient treatment of PTSD requires an objective and early diagnosis of the patient's problems and their therapeutic progress. Assessing the emotional distress of a patient is, therefore, of the utmost importance. Therapists have developed a range of questionnaires and diagnostic measurement tools for this purpose (e.g., [36, 44] ). Regrettably, these may be experienced as a burden by patients, because it demands their time and willingness to complete them. Par excellence, this makes it a case in which ubiquitous technology can contribute.. Given these considerations, it is abundantly clear why both researchers and clinicians have searched for a long time for more objective, ubiquitous ways to measure stresslike phenomena in (patient) populations [3, 30, 35] , involving, for instance, the use of virtual reality technology and biofeedback [37] . In parallel, ubiquitous computing has gradually emerged as an increasingly important paradigm over the last two decades. An excellent state-of-theart overview on ubiquitous computing is provided by [28] . In addition to the notion of computing itself, intelligence and emotion quickly became important terms in ubiquitous computing. However, as shown repeatedly over 15 years, modeling these are still a bridge too far for current state-ofthe-art science and technology (cf. [38] ). Even last year, it was remarked that ''pervasive healthcare research in the field of stress prevention is still at an exploratory stage'' [3, p. 70 ]. Despite such skepticism, the ability to reliably and unobtrusively recognize stress in people might make a more realistic (and consequently better) starting point than either affective computing or modeling general (human) intelligence.. In this article, we present research on the development of a voice-based ubiquitous stress indicator. Such an indicator is envisioned as part of ubiquitous technology [28, 53] and emotion-aware consumer products [39, 52] . It can be used as a decision support system in everyday life (e.g., at work [3, 36] ) and in mental health care settings.. The research rationale employed throughout this article is presented next, in Sect. 2, followed by the research methods in Sect. 3. Section 4 introduces the subjective unit of distress (SUD) and Sect. 5 describes relevant speech signal features and their parameters. Section 6 discusses the chain of speech signal preprocessing and Sect. 7 the classification techniques employed in this study. The results of both studies are presented in Sect. 8 and then discussed in Sect. 9. The article ends with a general conclusion in Sect. 10. In this article, we have presented two studies involving one and the same group of PTSD patients. This experimental design provided us with two unique but comparable data sets that only differed with respect to task. As such, a comparison of two stress elicitation methods, ST and RL, was possible. The comparison revealed both commonalities and differences between the two studies, which are directly relevant to several theoretical frameworks, such as the ones outlined just before in the discussion.. It would be of interest to apply the models developed in this research to patients suffering from other related psychiatric disorders, such as depression [2, 25, 35] , insomnia [2] , and generalized anxiety disorder [2, 37] . Probably, even for less related psychiatric disorders, the current approach would be a good starting point. In such a case, the general framework and speech signal processing scheme, as presented in this article, could be employed. Most likely, only the set of parameters used for the processing pipeline would have to be tailored to the specific disorders.. Apart from being unobtrusive, the speech signal processing approach, as applied in the current studies, has another major advantage: it enables the remote determination of people's stress. This feature enables its use in yet another range of contexts; for instance, in telepsychiatry [22, 35] , as personal stress indicator [3, 35] , and in callcenters [17, 33] that frequently have to cope with highly agitated customers. However, as for the different psychiatric disorders and the other application areas mentioned, the processing pipeline should be adapted to this situation as well.. Taken together, an important and significant step was made toward modeling stress through an acoustic model, which can be applied in our daily lives and in mental health care settings. By the specific research design, it was ensured that ''real'' stress was measured. In addition, both precise subjective measurement using the SUD, as well as objective measurement through speech signal processing, were shown to be feasible to detect stress and as such determine therapy progress in an unobtrusive manner. Statistical models were constructed on the basis of a selection from 78 parameters of five speech features, which showed reliable and robust stress classification. In sum, we hope to have shown that unobtrusive and ubiquitous automatic assessment of emotion and experienced stress is possible and promising. We explored the feasibility of objective, ubiquitous stress assessment, which can help both in daily life and in therapy. To assure a controlled but ecologically valid assessment of stress, 25 PTSD patients participated in a controlled ST study and a RL study, each with a ''happy'' and a ''stress triggering'' session. The two sessions were meant to represent one of the first and one of the last therapy sessions a patient participates in. The stress level of the patients was assessed by two instruments: (i) speech, as an objective and ubiquitous stress indicator and (ii) the SUD, a clinically validated Likert scale. The SUD and speech model were cross-validated, using machine learning algorithms (i.e., k-Nearest Neighbors, Support Vector Machine, and Multi-Layer Perceptron (MLP) neural network). Correct classification rates of 90, 78, 44, and 39% were achieved on, respectively, 2, 3, 9, and 10 SUD levels. Using the same classifiers, the two sessions could be discriminated in 89% (for ST) and 77% (for RL) of the cases. A clearer illustration of the difference in the level of complexity between (semi-)controlled and real-world studies could hardly be given.. The general validity of the two reported studies was high. Content validity of the studies was high, given that (i) the studies aimed at a specific group of patients (i.e., PTSD), (ii) the SUD and the speech signal features and their parameters were chosen with care (all were prominent in the literature), and (iii) the cross-validation of the SUD with the speech signal features confirmed that they both provide a complete image of the patient's experienced stress. Criteria-related validity was also high, because speech was the preferred signal and can be recorded unobtrusively. The SUD scores were provided at a rate of one a minute, which can also be considered as accurate in the given context, as the stress level does not fluctuate that quickly. Ecological validity was maximized. For the RL study, we obtained natural stressors within a limited time window.. For decades, audio-based emotion recognition has been examined with a limited set of features-parameters (B64) and without any feature selection or reduction [45, 55] . In the last decade, a brute force strategy using hundreds or even thousands of features (e.g., see [49, 58] ) has been applied more often [47] . Together with the explosion in the number of features, feature selection/reduction strategies have claimed an increasingly important role.. A machine's recognition rate of emotional speech ranges from Banse and Scherer [4] , who report 25%/40% correct classification on 14 emotions, to Wu et al. [58] , who report 87%/92% correct classification on 7 emotions. The latter results, however, are in contrast with the results on a structured benchmark reported by Schuller et al. [47] on the InterSpeech 2009 emotion challenge: 66-71% (2 classes) and 38-44% (5 classes). Apart from the differences in classification rate and the number of classes to be distinguished, these studies can both be questioned with respect to their ecological validity of the experienced emotions. In contrast, in at least one of our two studies (in particular, the RL study), true emotions were triggered. Furthermore, the ST study can be considered as half-way between common laboratory studies and real-world studies (like the RL study). Our classification results illustrated the considerable difference between the compromise ST study and the real-world RL study. They show that a careful interpretation of laboratory results is needed because a oneon-one mapping between lab and real-world results cannot be taken for granted.. An alternative explanation for the differences between the ST and RL studies can be sought in the expression of emotions rather than in their experience. Already in 1908, Marty [32] proposed a differentiation between emotional and emotive communication. In emotional communication, speech serves as a spontaneous, unintentional leakage or bursting out of emotion. In contrast, in emotive communication speech there is no automatic or necessary relation to ''real'' inner affective states. As such, emotive communication is considered to be a strategy to signal affective information in speech. It uses signal patterns that differ significantly from spontaneous, emotional expressions, which can be initiated both intentionally and unintentionally [4, 26] . Possibly, emotional communication was dominant in the RL study and emotive communication in the ST study. Further research may reveal whether this distinction underlies the differences in classification in the two studies that we observed. Using the three classifiers introduced in the previous section, we conducted two series of analyses:. 1. Cross-validation of the (precision of the) SUD with the parameters of the speech signal features that are classified by the k-NN, SVM, and MLP. On the one hand, this verifies the validity of the SUD; on the other hand, this determines the performance of the three classifiers in objective stress detection. 2. Classification of the happiness and fear conditions of both studies. This enables the inspection of the feasibility of CAD for PTSD. Additionally, analyses across both studies and of the baselines were conducted to inspect the effects of experimental design.. The input for the classifiers were the principal components described in the previous section. All classifiers were tested using tenfold cross-validation, and their average performance is reported in Table 2 .

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


Fault-Tolerant Meshes with Constant Degree This paper proves that for every positive integers n, k and any positive number ε, we can explicitly construct a DAG G with n+O(k 1+ε ) vertices and a constant degree such that even after removing any k vertices from G, the remaining digraph still contains an n-vertex dipath. This paper also proves that for every positive integers n, k and any positive number ε, we can explicitly construct a graph H with n + O(k 2+ε ) vertices and a constant degree such that even after removing any k vertices from H, the remaining graph still contains an n-vertex 2-dimensional square mesh. We consider the following problem motivated by the design of fault-tolerant multiprocessor systems. Let G be an undirected or directed graph. If G is undirected then let V(G) and E(G) denote the vertex set and edge set of G, respectively, and (u, v) denote the edge connecting u and v in G. If G is directed then let V(G) and A(G) denote the vertex set and arc set of G, respectively, and u, v denote the arc from u to v in G. ∆(G) is the maximum degree of a vertex in G. For any S ⊆ V(G), G − S is the graph obtained from G by deleting the vertices of S together with the edges incident with the vertices in S . Let k be a positive integer. A graph G is called a k-FT (k-fault-tolerant) graph for a graph H if G − F contains H as a subgraph for every F ⊆ V(G) with |F| ≤ k. If G is a DAG (directed acyclic graph), which implies that H is also a DAG, then G is called a k-FT DAG for H. Our problem is to construct a k-FT graph G for a given graph H such that |V(G)| and ∆(G) are as small as possible.. A large amount of research has been devoted to constructing k-FT graphs for an n-vertex (undirected) path P n [1] , [4] , [5] , [8] - [10] , [13] - [16] , k-FT DAGs for an n-vertex dipath (directed path)P n [4] , [6] , [14] - [16] , and k-FT graphs for a 2-dimensional m-sided mesh M 2 (m) [2] - [4] , [7] , [11] , [14] - [16] .. Among others, Bruck, Cypher, and Ho [4] show a k-FT DAG forP n with n + O(k 2 ) vertices and maximum degree of 4, and a k-FT graph for M 2 (m) with m 2 + O(k 3 ) vertices and a constant maximum degree. Zhang [15] , [16] shows a k-FT graph for P n with n + O(k log 2 k) vertices and maximum degree of O(1), a k-FT DAG forP n with n + O(k log k) ver- This paper considers (Q2) and (Q3), and shows the explicit constructions of a k-FT DAG forP n with n + O(k 1+ε ) vertices and a constant maximum degree, and a k-FT graph for M 2 (m) with m 2 + O(k 2+ε ) vertices and a constant maximum degree for any constant ε > 0. Our construction of k-FT graphs for M 2 (m) is based on the method proposed by [15] , [16] combined with our k-FT DAG forP n . Since a k-FT graph P n,k for an n-vertex path P n with n+O(k) vertices and maximum degree of 3 is shown in [14] , it is possible to construct a k-FT graph for M 2 (m) with m 2 +O(k 2 ) vertices and a constant maximum degree if k = Ω(m). In fact, the following graph G k (m) is a desired graph:

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


From Lisp S-expressions to Java source code The syntax of Lisp languages is based on S-expressions, an extremely simple form of structured data representation that is nevertheless fundamental to the development of Lisp syntactic extensions. By adopting a more conventional syntax, the Java language placed itself in a difficult position in regard to user-defined syntax extensions. In spite of the many efforts to provide mechanisms for such extensions, they continue to be more difficult to use than S-expressionbased ones. In this paper, we will describe the use of the S-expression syntax in a Java code generation environment. By providing an Sexpression based program representation for Java source code, we are able to reuse and extend Lisp macro-expansion techniques to significantly simplify the construction of Java programs. S-expressions (Symbolic Expressions) were invented by John McCarthy in the late 50s as a notation for both programs and data in the language Lisp [16] .. S-expressions are usually expressed as fully-parenthesized prefix notation (also known as Cambridge Polish notation). For example, the mathematical expression 1+2×3 is represented in S-expression notation as (+ 1 (* 2 3)). Data can also be easily represented and there are old and recent proposals for its standardized use [17] [20] .. McCarthy's original idea also suggested the use of a different, more ALGOLesque, format named M-expressions (Meta Expressions), that would be translated into S-expressions. In M-expression notation, the previous expression looks like +[1, * [2, 3] ]. However, programmers started to use and appreciate the S-expression format and M-expression never caught up.. Homoiconicity is one of the fundamental ideas behind the S-expression notation. A language is said to be homoiconic when the primary representation of a program source code is implemented using a primitive type of the language itself. Thus, in a homoiconic language, a program can be constructed, analyzed, and evaluated using the programming language itself.. Lisp is the best known example of a homoiconic programming languages but there are other examples such as Prolog, SNOBOL and Tcl.. The ability to write programs that write programs is the hallmark of metaprogramming [12] . A meta-program is written in a meta-language and its execution generates programs written in an object-language. In the case of homoiconic languages, such as Lisp, where programs and data are represented using the same S-expression notation, the meta-language and the object-language can be the same.. From its inception Lisp was extensively used for meta-programming, including writing self-modifying programs. However, these programs were perceived as generally difficult to debug and with performance problems. As time went by, simpler and more standardized forms of meta-programming were developed and one, in particular, became well established: macros [19] .. The word "macro" has a somewhat dubious reputation due to the problems of their use in the C programming language but that reputation is totally undeserved when we talk about Lisp. Macros in C are processed using a special program (a pre-processor) that operates as a text-replacement tool that does not understand the syntax of the language and that might create problems that are hard to debug.. In Lisp, a macro describes a program that accepts program fragments (as S-expressions) and computes a new program fragment (an S-expression) that is evaluated in place of the macro call. This means that Lisp macros do not deal with the program text but with the program syntax tree instead.. For performance reasons, the evaluation of the macro call and the evaluation of the new program fragment produced by that call occur at different times (called, respectively, macro-expansion time and run time) and, in most implementations, the new program fragment replaces the original macro-call so that there is only one macro-expansion for each call.. Macros have been used in Lisp languages for quite a long time (at least, since 1963 [11] ) and are fundamental for syntactically extending the language. In dialects such as Common Lisp [2] , a significant part of the language is implemented using macros.. As an example of the use of a macro, consider the following program fragment in Common Lisp that reads the first line of text contained in the given file:. The macro with-open-file is responsible for opening the file, executing the read-line operation requested and, in the end, closing the file and returning whatever was read. This behavior, however, is not implemented by the macro itself but by its macro-expansion, i.e., by the S-expression that is computed by the macro call. In fact, after macro-expansion time, what is really evaluated is the form: 1 (let ((s (open "/tmp/file.txt"))) (unwind-protect (read-line s) (when (streamp s) (close s)))). This sort of code generation can be very easy to do when we combine the Lisp macro system with a template-based quasiquotation approach [5] . Quasiquotation allows us to provide the following definition for the with-openfile macro:. The idea behind quasiquotation is that it operates as a parameterized version of quotation and is generally used to describe templates for code generation where some "unquoted" parts (those proceeded by commas) will be filled in by evaluating the corresponding expression. Given the fact that macros receive their arguments unevaluated (as S-expressions) and that they must compute an S-expression as result, it is extremely tempting to use quasiquotation in macros and, in fact, they are heavily used for that purpose. The macro/quasiquotation combination is one of the best features of Lisp and has been appropriately called "the ultimate CASE tool" [3] .. In many cases, macros do nothing more than construct an S-expression from a template described by quasiquotation that incorporate the arguments to the macro call. The with-open-file example presented above shows this behavior, as can be seen in the (read-line s) argument that is carried over 1 We present only a simplification of the expansion that is done in most implementations of this macro. the expansion without any changes. In these cases, the arguments are treated as completely opaque objects.. In some other cases, however, it is necessary to look inside those arguments. For example, the extended loop macro provided in Common Lisp is used to express iterations and it expands into different forms depending on the presence of certain symbols in the macro arguments, such as from, in, and while, so that a (loop for i from ... to ... do ...) and a (loop while ... do ...) can produce different expansions.. As another example, consider the macro that increments a place: (incf x) is the same as (setf x (+ x 1)). However, if the macro argument is more complex, e.g., in (incf (first (foo))), the naive application of the macro will generate the form (setf (first (foo)) (+ (first (foo)) 1)) that will incorrectly evaluate (foo) twice. To solve this problem it is necessary to look inside the argument in order to generate a program that avoids duplicate evaluation.. In other cases, the situation is even more complex. Sophisticated syntactic extensions, such as the Series ( [23] ) and Iterate ( [1] ) packages, must extensively analyze and rearrange the source code that is passed as argument. For an even more extreme case, consider Screamer ( [21] ), a nondeterministic variant of Common Lisp that depends on a few macros to convert a program into continuation-passing-style and that also (incrementally) operates a whole-program analysis to distinguish deterministic and non-deterministic functions. The common theme across the previous examples is that macros, sometimes, must do a lot more than the simple template instantiation provided by quasiquotation.. In spite of its long history, there are still some problems associated with Lisp macros (unintended variable capture, out-of-order evaluation, etc) and some of these problems have been solved, e.g., by the hygienic macros [9] and syntactic closures [6] that have been proposed for the Scheme dialect of Lisp. Common Lisp, however, still uses the traditional model because it is simpler and it does not entail the same problems that it does in Scheme.. In the rest of this paper, for reasons that will be obvious, we will only consider the Common Lisp model. S-expressions are one of John McCarthy marvelous inventions that still are, almost 50 years later, one of Lisp most distinguishing features. Being an uniform representation for both code and data, S-expressions allow code to be treated as data and data to be treated as code. Lisp macros are the best tool to explore, in a disciplined way, this uniform treatment. In a macro call, the code in the macro arguments is treated as data and the data produced by the macro is treated as code. When used in combination with quasiquotation, macros become an extremely simple but powerful tool for meta-programming.. In this paper, we presented the Linj approach to meta-programming for Java. Linj is a Common Lisp-like language that superimposes a Java-like grammar on top of S-expressions in order to allow Linj programs to be translated into human-readable Java programs. Linj programs are parsed into S-expressions that, according to the Linj grammar, are then parsed into ASTs.. Meta-programming in Linj is obtained through the use of Linj macros that accept either S-expressions or ASTs and that generate Linj S-expressions that are further parsed into ASTs. In the end of the translation process, these ASTs are finally transformed into Java source code.. The implementation of macros in Linj is more complex than in Common Lisp but we believe we managed to preserve the look and feel of Common Lisp macros while allowing much more sophisticated macro operations, including exploring syntactic and semantic aspects of the macro call arguments or of the expected results. It is also possible for these macros to operate arbitrary transformations of the entire AST. This sophistication is needed in Linj to provide the best possible translation from Linj S-expressions to human-readable Java source code. There is a large number of proposals for including macro capabilities in syntactically rich languages such as C or Java. In most cases, there is a serious attempt to reuse in the meta-language the same (or a similar) language that is used in the object-language. In [24] , a Lisp-inspired template approach for C is used but where macros are programmed in an extended C that is interpreted at macro-expansion time.. Semantic macros were also proposed in [15] in terms that are very similar to ours. The authors present a new experimental language-XL-that borrows its semantics from Scheme but whose syntax, although S-expression based, has many more syntactical categories. Again, this is very similar to our own approach (except that we borrowed our semantics from Common Lisp and Java). The biggest difference, however, is that the extra syntax is visible in the source code, making macro definitions harder to write and understand.. OpenJava [22] is a macro system for Java where programmers customize the definition of class meta-objects for describing macro expansions. OpenJava was designed to address the needs of semantic macros and, to this end, it provides an object-oriented representation of programs that include logical and contextual information.. The biggest difference between Linj and OpenJava is that OpenJava does not use any template-based approach, instead preferring to construct the macro expansion by hand. Linj allows both, although quasiquotation is more used because it is clearer.. Jak [4] is an extensible superset of Java with support for metaprogramming. Jak is part of JTS (Jakarta Tool Suite), a set of tools aimed at the construction of domain-specific languages. JTS represents source code using SSTs (surface syntax trees) and ASTs (that are semantically-checked and annotated SSTs). Jak also uses a template based approach but where the code fragments must be surrounded by keywords (named tree constructors) that express the intended syntactical categories. There are several such tree constructors expressing, among others, expressions, statements, method definitions, classes, etc.. In contrast, Linj does not need tree constructors because the (meta-)programmer can indicate, in the macro definition, any syntactical category that he wants and this category is used to restrict the triggering of the macro expansion and for parsing its result. In Jak, the meta-language is Java complemented with an API for processing the SSTs and ASTs.. In general, all the approaches that attempt to add meta-programming capabilities to mainstream programming languages suffer from the fact that they target non-homoiconic languages. This makes it difficult to use templatebased quasiquotation and, in many cases, it forces the macro writers to manually construct syntactically valid program fragments, a task that is difficult, tedious and error prone. Moreover, given the fact that macro expansion is done at (or before) compile-time, the macros must be coded using a meta-language that cannot be the same as the object-language, thus making the process more complex.. What we think is the major difference between our approach and others is the fact that our real object-language is hidden from the Linj programmer. In fact, while using Linj, the programmer never sees Java. What he sees is Linj, that is, a Common Lisp with a slightly restricted syntax. Our meta-language is (unrestricted) Common Lisp but since there's no relevant differences between Common Lisp and Linj and, moreover, macros generally use quasiquotation that further hides the differences, few Linj (meta-)programmers are aware of the fact that they are using two different languages. As a result, Linj seems to be an homoiconic language while, in practice, it is not.

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


Computational complexity analysis of simple genetic programming on two problems modeling isolated program semantics Analyzing the computational complexity of evolutionary algorithms (EAs) for binary search spaces has significantly informed our understanding of EAs in general. With this paper, we start the computational complexity analysis of genetic programming (GP). We set up several simplified GP algorithms and analyze them on two separable model problems, ORDER and MAJORITY, each of which captures a relevant facet of typical GP problems. Both analyses give first rigorous insights into aspects of GP design, highlighting in particular the impact of accepting or rejecting neutral moves and the importance of a local mutation operator. Because of the complexity of genetic programming (GP) variants and the challenging nature of the problems they address, it is arguably impossible in most cases to make formal guarantees about the number of fitness evaluations needed for an algorithm to find an optimal solution. Current theoretical approaches investigate foundational aspects of GP tangential to this goal, such as schema theories, search spaces, bloat and problem difficulty [13] . However, in this work, we instead choose to follow the path taken for evolutionary algorithms working on fixed-length binary strings. Initial work on pseudo-Boolean functions illustrated the working principles of simple evolutionary algorithms (see e. g. [7, 15, 2] ); subsequently, results have been derived for a wide range of classical combinatorial optimization problems 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. FOGA'11, January 5-9, 2011, A-6867 Schwarzenberg, Austria. Copyright 2011 ACM 978-1-4503-0633-1/11/01 ...$10.00. such as shortest paths, maximum matchings or minimum spanning trees (see e. g. [9] ). These studies have contributed substantially to our theoretical understanding of evolutionary algorithms for binary representations. Poli et al. [13] state, "we expect to see computational complexity techniques being used to model simpler GP systems, perhaps GP systems based on mutation and stochastic hill-climbing." This contribution is a fulfillment of this prediction: its goal is to show a GP variant that identifies optimal solutions in provably low numbers of fitness function evaluations for two much simplified, but still insightful, problems that exhibit a few simple aspects of program structure.. The simple parameterized GP algorithm we analyze can succinctly be described as both a hill climber and a randomized algorithm. It has four parametric instantiations we call (1+1) GP-single, (1+1) GP-multi, (1+1) GP*-single, and (1+1) GP*-multi that differ in the acceptance criterion and the size of the mutation proposed. Initially, a candidate solution is chosen at random. In each iteration, we produce by random mutation exactly one offspring of the current solution, and replace the current solution by this proposal as specified by the acceptance criterion. The algorithm iterates until it finds an optimal solution. This simple form of GP algorithm has historical precedent in very early comparisons between Koza-style genetic programming and GP stochastic iterated hill climbing [10, 11, 12] , though it does not include a finite bound on fitness evaluations, random restarts or a limit on how many times mutation will be applied to the current solution. Another simplification of the algorithm is that it uses a genetic operator that is as similar to bitwise mutation as possible. A single bit-wise mutation is the smallest step possible in an binary EA's search space. Our mutation operator makes the smallest alteration possible to the GP tree while respecting the key properties of the GP tree search space: variable length and hierarchical structure.. The two model problems we select for our analysis are OR-DER and MAJORITY, defined in section 2 exactly as in [3] . We have chosen ORDER and MAJORITY because more realistic problems are, at the moment, too difficult to analyze. They allow fitness function evaluation without explicitly executing the program defined by the GP tree. Also, they are minimally sufficient to capture several key properties of GP, including the existence of multiple optimal solutions but they are not real world application problems. Neither are they ad-hoc toy problems intended to demonstrate GP's strength (such as Boolean multiplexer for classical GP [5] or lawnmower for GP with automatically defined functions [6] ). Each problem has a simple relation to more realistic GP problems: ORDER requires correct ordering as in conditional programs and MAJORITY requires the correct set of solution components.. We proceed as follows: in section 2, we formally describe the GP variants and the two problems, which includes describing program initialization from a primitive set and our mutation operator which is called HVL-Prime. We then proceed in sections 3 and 4 with our analyses of ORDER and MAJORITY in terms of the expected number of fitness evaluations until our algorithms have produced a globally optimal solution for the first time. This is called the expected optimization time of the algorithm. Our results are followed by a discussion in section 5 and conclusions and future work in section 6. We see three main directions for future work in the computational complexity analysis of genetic programming. Obviously the goal of bridging a gap from what exists to practice is daunting. However, modest steps forward may be revealing. The first extension is to increase the complexity of the genetic operators that are acting on these two problems. Our 1 + 1 operators are essentially just stochastic hill climbers, and while understanding of such an optimization technique is valuable in and of itself, real-world GP implementations clearly involve more individuals. From GA theory, there is a precedent of taking 1 + 1 analysis of a problem and extending it to μ + 1 analysis, where μ is the size of the population (see e. g. [16] ). This would admit tree-based crossover oper-ators (if they can be shown to be necessary for an efficient optimization time).. The other extension is to consider harder problems. While ORDER and MAJORITY each capture a couple very simple properties of a program, both rely upon inspection and neither problem's fitness function takes into account the hierarchical nature of a GP tree, which is of crucial importance for all practical applications of GP. We could extend these problems in several ways to address the latter issue. One could keep the same terminal set and join nodes, but make the fitness function take subtrees into account somehow. Alternatively, one could introduce a new type of join operation and use the fitness function to impose a constraint that forces us to optimize the higher levels of the tree as well, perhaps by giving higher fitness to individuals when this "join prime" has regular joins as its children and vice versa. Either of these changes would increase the interest of the problem and make the results more relevant to the way that GP is used in practice. However, any new problem in this form may require new or modified mutation operators to be admissible to analysis. We could also try to extend the difficulty of MAJORITY by designing a new objective that requires the correct terminals (and no incorrect terminals) to be in the right order, in addition to being present. A model problem which abstracts the semantics of iteration might also provide insights, if tractable. Whether the currently used proof techniques-fitness partitioning, random walks and use of the coupon collector-are sufficient to address more challenging setups is an open question.

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


A MAP CHARACTERIZING THE FUZZY POINTS AND COLUMNS OF A T-INDISTINGUISHABILITY OPERATOR A new map (Λ E ) between fuzzy subsets of a universe X endowed with a T -indistinguishability operator E is introduced. The main feature of Λ E is that it has the columns of E as fixed points, and thus it provides us with a new criterion to decide whether a generator is a column. Two well known maps (φ E and ψ E ) are also reviewed, in order to compare them with Λ E .Interesting properties of the fixed points of Λ E and Λ 2 E are studied. Among others, the fixed points of Λ E (Fix(Λ E )) are proved to be the maximal fuzzy points of (X, E) and the fixed points of Λ 2 E coincide with the Image of Λ E .An isometric embedding of X into Fix(Λ E ) is established and studied. T-indistinguishability operators (T being a t-norm) are a special kind of fuzzy relations that extent crisp equivalence relations to a fuzzy framework.. They appear under many different names, like fuzzy equivalence relation, fuzzy equality, similarity relation [20] , likeness and probabilistic relation among others, depending on the authors or on the chosen t-norm T .. From an structural point of view, it is especially interesting to study the set H E ⊆ [0, 1] X of all generators or extensional fuzzy subsets of a Tindistinguishability operator E defined on a set X.. The generators are the only fuzzy subsets which are compatible with E, in the same way as the union of equivalence classes are the only crisp subsets compatible with a crisp equivalence relation and they are therefore also called observable fuzzy subsets of the universe. The columns of E are a special kind of generators which are exactly the fuzzy equivalence classes [20] , [6] , [3] .. After this introductory section, Section 2 is devoted to recall some general concepts concerning T -indistinguishability operators. Some results about the maps φ E and ψ E are reviewed. These maps are key tools to study the structure of H E , mainly because they allow us to characterize H E as the set of fixed points of both, φ E and ψ E . Moreover, for a given fuzzy subset h of X, φ E (h) and ψ E (h) are the smallest generator of E greater or equal than h and the greater generator of E smaller or equal than h and hence its upper and lower approximations in H E [3] . Actually, H E can be interpreted as the set of fuzzy subsets of the quotient set X/E (i.e.: H E = [0, 1] X/E ) and φ E : [0, 1] X → [0, 1] X/E is the canonical map. Note that if the indistinguishability operator E is a crisp one, then φ E|{0,1} X is the crisp canonical map π : X → X/E.. A new map is introduced in Section 3 in order to characterize the columns of E. The main results show that fuzzy points can be thought as columns of extensions (X, E) of (X, E) and that the columns of E are the normal fixed points of Λ E .. In Section 4 the set Im(Λ E ) is characterized as a set of fixed points of Λ 2 E . Section 5 is devoted to a more detailed study of the fixed points of Λ E which turn to be the maximal fuzzy points of X. The isometric embedding of X into Fix(Λ E ) is studied.. The paper ends with a section of Concluding Remarks and an example that gives a geometric interpretation of the sets and maps seen in it.

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


Coordination mechanisms for selfish scheduling In machine scheduling, a set of jobs must be scheduled on a set of machines so as to minimize some global objective function, such as the makespan, which we consider in this paper. In practice, jobs are often controlled by independent, selfishly acting agents, which each select a machine for processing that minimizes the (expected) completion time. This scenario can be formalized as a game in which the players are job owners, the strategies are machines, and a player's disutility is the completion time of its jobs in the corresponding schedule. The equilibria of these games may result in larger-thanoptimal overall makespan. The price of anarchy is the ratio of the worst-case equilibrium makespan to the optimal makespan. In this paper, we design and analyze scheduling policies, or coordination mechanisms, for machines which aim to minimize the price of anarchy of the corresponding game. We study coordination mechanisms for four classes of multiprocessor machine scheduling problems and derive upper and lower bounds on the price of anarchy of these mechanisms. For several of the proposed mechanisms, we also prove that the system converges to a pure-strategy Nash equilibrium in a linear number of rounds. Finally, we note that our results are applicable to several practical problems arising in communication networks. With the advent of the Internet, large-scale autonomous systems have become increasingly common. These systems consist of many independent and selfishly acting agents, all competing to share a common resource such as bandwidth in a network or processing power in a parallel computing environment. Practical settings range from smart routing among stub autonomous systems in the Internet [20] to selfish user association in wireless local area networks [7] . In many systems of this kind, it is infeasible to impose some centralized control on the users. Rather, a centralized authority can only design protocols a priori and hope that the independent and selfish choices of the users -given the rules of the protocol -combine to create socially desirable results.. This approach, termed mechanism design, has received considerable attention in the recent literature (see, for example, [30] ). Its goal is to design system-wide rules which, given the selfish decisions of the users, maximize the total social welfare. The degree to which these rules approximate the social welfare in a worst-case equilibrium is known as the price of anarchy of the mechanism. This concept was introduced in 1999 by Koutsoupias and Papadimitriou [26] in the context of selfish scheduling games (see below for details). This seminal paper has spawned a series of results which attempt to design mechanisms with minimum price of anarchy for a variety of games. One approach for achieving this goal is to impose economic incentives on users in the form of tolls; i.e., the disutility of a user is affected by a monetary payment to some central authority for the use of a particular strategy such as a route in a network [6, 11, 17] . Another approach assumes that the central authority is able to enforce particular strategies upon some fraction of the users, which might help to influence the decisions of the other users in the desired way [5, 25, 31, 34] .. A drawback of the above approaches is that many of the known algorithms assume global knowledge of the system and thus have high communication complexity. In many settings, it is important to be able to compute mechanisms locally. A third approach, which we follow here, is called coordination mechanisms, first introduced by Christodoulou, Koutsoupias, and Nanavati [10] . A coordination mechanism is a local policy that assigns a cost to each strategy s, where the cost of s is a function of the agents that have chosen s. Consider, for example, a selfish scheduling game in which there are n jobs owned by independent agents, m machines, and a processing time p ij for job i on machine j. Each agent selects a machine on which to schedule its job with the objective of minimizing its own completion time. The social objective is to minimize the maximum completion time. A coordination mechanism for this game is a local policy, one for each machine, that determines how to schedule jobs assigned to that machine. It is important to emphasize that a machine's policy is a function only of the jobs assigned to that machine. This allows the policy to be implemented in a completely distributed fashion.. Coordination mechanisms are closely related to local search algorithms. A local search algorithm iteratively selects a solution ''close'' to the current solution that improves the global objective. It selects the new solution from among those within some search neighborhood of the current solution. Given a coordination mechanism, we can define a local search algorithm whose search neighborhood is the set of best responses for each agent. Similarly, given a local search algorithm, it is sometimes possible to define a coordination mechanism whose pure-strategy equilibria are local optima with respect to the search neighborhood. The locality gap of the search neighborhood, i.e., the approximation factor of the local search algorithm, is precisely the price of anarchy of the corresponding coordination mechanism, and vice versa. In particular, designing new coordination mechanisms may lead to the discovery of new local search algorithms.. In this paper, we are primarily interested in the properties of pure-strategy Nash equilibria for the selfish scheduling games we consider. A pure-strategy Nash equilibrium is an assignment of jobs to machines such that no job has a unilateral incentive to switch to another machine. Although a non-cooperative game always has a mixed-strategy equilibrium [29] , it may in general not have a pure-strategy equilibrium. However, pure-strategy Nash equilibria are arguably more natural and, when they exist, they may better predict game play. We also bound the rate of convergence of the mechanism. That is, if the jobs, starting from an arbitrary solution, iteratively play their best-response strategies, how long does it take for the mechanism to reach a Nash equilibrium?. 1 Guarantees of this sort are important for the applicability of bounded price-ofanarchy mechanisms in a practical setting.. Preliminaries. In parallel machine scheduling, n jobs must be processed on m machines. Job i has processing time p ij on machine j. A schedule µ is a function mapping each job to a machine. The makespan of a machine j in schedule µ is M j = i:j=µ(i) p ij . The goal is to find a schedule µ which minimizes the maximum makespan C max = max j M j . Different assumptions regarding the relationship between processing times yield different scheduling problems, of which we consider the following four: (i) identical machine scheduling (P C max ) in which p ij = p ik = p i for each job i and machines j and k; (ii) uniform or related machine scheduling (Q C max ) in which p ij = p i /s j , where p i is the processing requirement of job i and s j is the speed of machine j; (iii) machine scheduling for restricted assignment or bipartite machine scheduling (B C max ) in which each job i can be scheduled on a subset S i of machines only, i.e., p ij is equal to p i if j ∈ S i and is equal to ∞ otherwise; and (iv) unrelated machine scheduling (R C max ) in which the processing times p ij are arbitrary positive numbers.. In selfish scheduling, each job is owned by an independent agent whose goal is to minimize the completion time of its own job. To induce these selfish agents to take globally near-optimal actions, we consider the notion of a coordination mechanism [10] . A coordination mechanism is a set of scheduling policies, one for each machine. A scheduling policy for machine j takes as input a set of jobs on machine j along with their processing times on machine j and outputs an ordering in which they will be scheduled. The policy is run locally at each machine, and so it does not have access to information regarding the global state of the system (e.g., the set of all jobs). A coordination mechanism defines a game with n agents. An agent's strategy set is the set of possible machines {1, ..., m}. Given a strategy profile, the disutility of agent i is the (expected) completion time of job i in the schedule defined by the coordination mechanism. We study four coordination mechanisms. In the ShortestFirst and LongestFirst policies, we sequence the jobs in non-decreasing and non-increasing order of their processing times, respectively. In the Randomized policy, we process the jobs in random order. 2 In the Makespan policy, we process all jobs on the same machine in parallel, and so the completion time of a job on machine j is the makespan M j of machine j.. We are interested in the properties of the solutions resulting from the agents' selfish behavior, in particular, in the price of anarchy. In our setting, the price of anarchy is the worst-case ratio (over all instances) of the maximum makespan in a Nash equilibrium to the optimal makespan. For each policy and each scheduling problem, we prove upper and lower bounds on the price of anarchy. Some of these bounds are already known as the approximation factor of some local search algorithms or the price of anarchy in some selfish load balancing games. All bounds, known and new, are summarized in Table 1 . Table 1 The price of anarchy for four different policies and scheduling problems. All upper and lower bounds hold for pure Nash equilibria. The upper bounds of the Randomized policy for R C max and Q C max are valid for the maximum of the expected load on any machine in mixed Nash equilibria. The results marked by * are proved in this paper or follow from the correspondence of certain greedy schedules with equilibrium schedules, established in this paper. [16, 32] Q C max Θ( log m log log m ) [12] Θ(log m) [1] , * 1.52 ≤ P ≤ 1.59 [14, 18] * Θ( log m log log m ) [12] B C max Θ( log m log log m ) [19, 2] Θ(log m) [1] , * Θ(log m) [4] , * Θ( log m log log m ) [19, 2] R C max Unbounded [32] log m ≤ P ≤ m [23, 9] * Unbounded Θ(m) * In order to avoid subtle difficulties arising from ties between processing times of jobs, we assume that all deterministic policies (especially ShortestFirst and LongestFirst) and greedy algorithms resolve ties in a consistent manner. Moreover, we require the tie-breaking rule to be deterministic and independent of irrelevant alternatives; i.e., the resolution of a tie between jobs i and i is not affected by the presence or absence of job i . One such tie-breaking rule is the alphabetically first rule. When there is a tie between the processing times of two jobs, the alphabetically first rule always chooses the one with the smaller identifier. In fact, we may assume w.l.o.g. that we always use the alphabetically first rule because we can easily relabel jobs such that in a tie job i is considered before i whenever i < i . We have studied abstract scheduling games where the disutility of each player is its (expected) completion time. We note that our results can be applied in many practical network settings. Our results can be directly applied to the Internet setting [33] where there is a set of selfish clients, each of whom must choose a server from a set of servers. Each client tries to minimize its latency, or job completion time; the social welfare is the system-wide latency. Similar problems arise in the context of wireless networks. For example, the basic fairness and load balancing problem in wireless LANs [7] is reduced to the problem of unrelated parallel machine scheduling. Centralized algorithms have been designed for this problem in [7] . We hope to use ideas from our coordination mechanisms to design decentralized algorithms for this problem. In the third generation wireless data networks, the channel quality of a client is typically time-varying [8] ; it would be interesting to study coordination mechanisms in this context given that users may exhibit selfish behavior.. Theoretically, the most interesting open problem in this paper is to find coordination mechanisms with constant price of anarchy for B C max and R C max . We have shown that this cannot be achieved by any deterministic coordination mechanism which uses a common tie-breaking rule, and a subsequent result by [3] has ruled out any deterministic coordination mechanism. Another problem left open in this paper is the existence of pure Nash equilibria for the Randomized policy for R C max .. Throughout this paper, we assumed that all information regarding job processing times was public knowledge. A new direction considered in [10, 28] is the design of coordination mechanisms in a private information setting, i.e., where a job's processing time is a private value. In such a setting, it would be nice if a coordination mechanism gave incentives for jobs to announce their true processing times. The only constant-factor price of anarchy for Q C max and the best factor for P C max in our paper are achieved using the LongestFirst policy, but this policy is not truthful. In particular, jobs can artificially inflate their length (e.g., by inserting empty cycles) and as a result actually decrease their disutility. A truthful coordination mechanism with a constant price of anarchy in these settings would be an interesting result.

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


Wireless link scheduling under a graded SINR interference model In this paper, we revisit the wireless link scheduling problem under a graded version of the SINR interference model. Unlike the traditional thresholded version of the SINR model, the graded SINR model allows use of "imperfect links", where communication is still possible, although with degraded performance (in terms of data rate or PRR). Throughput benefits when graded SINR model is used instead of thresholded SINR model to schedule transmissions have recently been shown in an experimental testbed. Here, we formally define the wireless link scheduling problem under the graded SINR model, where we impose an additional constraint on the minimum quality of the usable links, (expressed as an SNR threshold βQ). Then, we present an approximation algorithm for this problem, which is shown to be within a constant factor from optimal. We also present a more practical greedy algorithm, whose performance bounds are not known, but which is shown through simulation to have much better average performance than the approximation algorithm. Furthermore, we investigate, through both simulation and implementation on an experimental testbed, the tradeoff between the minimum link quality threshold βQ and the resulting network throughput. Ever since Gupta and Kumar's classical result [10] showing that the capacity of multi-hop wireless networks does not scale linearly with the number of nodes, researchers have studied a multitude of ways to increase throughput in such networks. Many of the considered approaches focus on increasing the concurrency of communications in the wireless medium, by separating communications either in frequency or in space. Concurrent communications can be separated in frequency by using multiple channels, with or without multiple radios. A variety of techniques exist for improving spatial separation, or spatial reuse, within the wireless channel. These techniques apply different methods for reducing or eliminating interference. For example, directional antennas focus the signal in a certain direction, thereby preventing a transmission from interfering with other communications outside of the focused area. Transmission power control can reduce the overall "inteference footprint" of a communication. More recently, MIMO technology has been considered, both as a means to improve throughput on individual links and for its ability to suppress interference, thereby permitting increased spatial reuse.. Another research focus has been TDMA approaches for multi-hop wireless networks [14] . TDMA has been considered for its ability both to improve throughput and to provide fairness to flows of differing lengths, which has been shown to be a significant problem in CSMA/CA-based wireless multi-hop networks. TDMA has been adopted for use in the IEEE 802.16 standard for WiMax [1] . With use of TDMA, comes the opportunity to develop scheduling algorithms that can carefully separate communications in space, thereby maximizing concurrency and presumably throughput, as well.. When considering the scheduling of transmissions in a multi-hop wireless network, it is necessary to model interference. Over time, the research in wireless scheduling has considered more accurate interference models. Early work used a simple k-hop interference model, while later work employed more accuracte distance-based models. In the last few years, several papers [3, 4, 9] have considered transmission scheduling under more accurate physical interference models, which are based on signal to interference and noise ratio (SINR) at the receiver. However, all of this recent work has considered that packets are successfully received only when SINR exceeds a given threshold, and assumes that packet reception rate (PRR) is zero below this threshold. In reality, PRR falls off gradually with decreasing SINR. This phenomenon has been well documented in the literature, and the SINR region corresponding to imperfect (but considerably greater than 0) reception rates is known as transitional region, or gray region [15, 16, 24] . In this paper, we formulate a graded physical interference model, which accounts for this more accurate relationship between PRR and SINR, and we investigate the question of whether scheduling algorithms can effectively use links that operate below the SINR threshold in order to increase spatial reuse and thereby improve throughput.. To the best of our knowledge, non-thresholded SINR-based interference models have been seldom used in the wireless scheduling literature, with a few notable exceptions [7, 8] . However, the emphasis in [7, 8] is on jointly optimizing routing, scheduling, and transmit power in order to minimize the total average transmit power, given some constraints on the minimum data rate achieved on each link. Furthermore, the approach of [7] is based on convex programming, which has exponential time complexity, while that of [8] is based on solving a complex fixed point equation.. In addition to developing a graded SINR model of packet reception, we consider the design of scheduling algorithms that take advantage of this more accurate model. We present a scheduling algorithm, GradedSIN R, and we prove that this algorithm is within a constant factor of optimal in terms of the length of the schedules it produces. We then turn to evaluation of the graded SINR model and associated scheduling algorithms in practical settings. We present both simulationbased results and an experimental evaluation carried out using a Mote-based testbed. Simulation results demonstrate that throughput increases of up to 50% are possible relative to thresholded SINR models. The throughput increase achieved is dependent upon node density, with more improvement seen for sparse networks, where additional opportunities for spatial reuse can have more impact. However, even in dense networks, throughput improvements of almost 20% were achieved. Results from the Mote-based testbed confirm that use of lower-quality links can improve throughput. In fact, even greater throughput increases, up to 70% improvement over using only 100% quality links, were seen in the testbed. This proof-of-concept implementation also demonstrates the practicality of our approach. Thus, we believe that graded SINR-based scheduling algorithms hold great promise for dramatically improving performance of TDMA-based multi-hop wireless networks. We believe this paper delivers several contributions, and opens numerous avenues for further research. From the methodological point of view, the paper encompasses all stages of the "from ideas to testbed implementation" process: 1) starting from the formalization of a new interference model and related problem definition; 2) continuing with presentation of algorithms with proven approximation bounds for the problem considered; then 3) evaluating performance through simulation, as well as presenting a more practical variation of the scheduling algorithm; and finally 4) implementing the practical version of the scheduling algorithm in an experimental testbed, and evaluating its performance in a practical setting.. Several questions are left open by this paper, which can be considered only as a starting point towards a better understanding of the possible benefits of allowing use of "imperfect" links on the resulting network throughput. In particular, the problem of routing and scheduling for throughput optimization under the graded SINR model should be considered. Furthermore, a better understanding of the impact of node density on routing/scheduling performance is needed. From the experimental viewpoint, an assessment of whether the throughput measured at the gateway nodes is not only increased, but also proportional to actual node demands is needed. Such an assessment would make our proposed scheduling approach a promising candidate as a building block for providing strong QoS guarantees in a wireless multi-hop network. Finally, implementing the proposed scheduling techniques with a high data rate technology (e.g., WiFi) is another challenge to be undertaken.

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