An emotion-processing system based on fuzzy inference and its subjective observations ABSTRACTIn the next section, the relevant part of the theory for the subjective observation model (Yanaru et al. [1]) to the application of the emotion-processing system is briefly explained. The construction methodology of the system, which has two functions, is described; one function is that the evoked emotion is transitive depending on the observation, and the other is that the aggregated emotion by the several subjective observations settles to the objective emotion.In conclusion, some attractive results obtained from the simulated emotion-processing system are shown: what tdnds of emotions are evoked and how the emotional transition is done by subjective observations, when a poem is used for the input signal. In general, fuzzy inference technology is very effective when it is applied to the object whose strict analysis and formularization are almost impossible [3] . The effectivity was somewhat verified in research concerning the "problem-studying system" (Yanaru et al. [4] ). We wanted to apply it to a more flexible human system, such as emotions. We hoped to find the significance of approach from fuzzy set theory even to such complicated systems as "mind-cooperating" emotions and intelligence. We show here, using some poems that contain implicit emotions inside the constructing terms, how fuzzy technology is useful even for such vague subjects as human emotions.. On the other hand, if we focus on the main studies, especially on classification of emotions and basic emotional reactions, we can list the following studies (Matuyama et al. [5] ):. 1. classification of emotions from the viewpoint of instinct, studied by W. McDougal 2. classification of emotions based on three basal emotions: fear, anger, and acceptance, studied by J. B. Watson 3. classification of emotions focused on recognition, studied by M. B. Arnold 4. classification of emotions based on eight pure emotions, studied by R. Plutchik 5 . theory for emotional transition, studied by P. T. Young In this way, a lot of studies on emotional classification and transition have been done within the psychological field; however, there are almost no studies approached from the engineering facet, especially of fuzzy technology.. Thus, constructing a mathematical model, several emotional reactions are studied here from an engineering viewpoint in two ways, i.e., for general emotional reactions, fuzzy inference technology is applied, and for the transitional emotions evoked from a person's temporal condition, the theory for subjective observation model (Yanaru et al. [3] ) is applied.. Let us briefly outline the two psychological theories used in this paper at first. We applied the basic theory for a subjective observation model, including a fuzzy inference technique that we recently created (Yanaru et al. [3, 11] ), to an emotion processing system. And we have verified that the resultant emotional words that are processed and selected by the simulated person (system) fairly resemble a real person, notwithstanding the simple mechanism based on very simple fuzzy inference and affine mapping method. That is, one of the very similar features is that common emotional words are included among the selected words by the soft matching method, even if the image codes of the inputted terms differ depending on those of the simulated person. These are very similar to our human activities; they can communicate only the common words for a certain object, even if almost all of the physical intensities reacted by the

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


Brain-computer interfaces for hci and games In this workshop we study the research themes and the state-of-the-art of brain-computer interaction. Braincomputer interface research has seen much progress in the medical domain, for example for prosthesis control or as biofeedback therapy for the treatment of neurological disorders. Here, however, we look at brain-computer interaction especially as it applies to research in Human-Computer Interaction (HCI). Through this workshop and continuing discussions, we aim to define research approaches and applications that apply to disabled and able-bodied users across a variety of real-world usage scenarios. Entertainment and game design is one of the application areas that will be considered. Advances in cognitive neuroscience and brain imaging technologies provide us with the increasing ability to interface directly with activity in the brain. Researchers have begun to use these technologies to build braincomputer interfaces. In these interfaces, humans intentionally manipulate their brain activity in order to directly control a computer or physical prostheses. The ability to communicate and control devices with thought alone has especially high impact for individuals with reduced capabilities for muscular response. In fact, applications for patients with severe motor disabilities have been the driving force of most brain-computer interface research.

B I O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 fuzzy random forest When individual classifiers are combined appropriately, a statistically significant increase in classification accuracy is usually obtained. Multiple classifier systems are the result of combining several individual classifiers. Following Breiman's methodology, in this paper a multiple classifier system based on a "forest" of fuzzy decision trees, i.e., a Fuzzy Random Forest, is proposed. This approach combines the robustness of multiple classifier systems, the power of the randomness to increase the diversity of the trees, and the flexibility of fuzzy logic and fuzzy sets for imperfect data management. Various combination methods to obtain the final decision of the multiple classifier system are proposed and compared. Some of them are weighted combination methods which make a weighting of the decisions of the different elements of the multiple classifier system (leaves or trees). A comparative study with several datasets is made to show the efficiency of the proposed multiple classifier system and the various combination methods. The proposed multiple classifier system exhibits a good accuracy classification, comparable to that of the best classifiers when tested with conventional data sets. However, unlike other classifiers, the proposed classifier provides a similar accuracy when tested with imperfect datasets (with missing and fuzzy values) and with datasets with noise. Classification has always been a challenging problem [1, 14] . The explosion of information that is available to companies and individuals further compounds this problem. There have been many techniques and algorithms addressing the classification issue. In the last few years we have also seen an increase of multiple classifier systems based approaches, which have been shown to deliver better results than individual classifiers [27] . However, imperfect information inevitably appears in realistic domains and situations. Instrument errors or corruption from noise during experiments may give rise to information with incomplete data when measuring a specific attribute. In other cases, the extraction of exact information may be excessively costly or unviable. Moreover, it may on occasion be useful to use additional information from an expert, which is usually given through fuzzy concepts of the type: small, more or less, near to, etc. In most real-world problems, data have a certain degree of imprecision. Sometimes, this imprecision is small enough for it to be safely ignored. On other occasions, the imprecision of the data can be modeled by a probability distribution. Lastly, there is a third kind of problem where the imprecision is significant, and a probability distribution is not a natural model. Thus, there are certain practical problems where the data are inherently fuzzy [9, 28, 30, 31] .. Therefore, it becomes necessary to incorporate the handling of information with attributes which may, in turn, present missing and imprecise values in both the learning and classification phases of the classification techniques. In addition, it is desirable that such techniques be as robust as possible to noise in the data.. In this paper we will focus on how to start from a multiple classifier system with performance comparable to or better than the best classifiers and extend it to handle imperfect information (missing values and fuzzy values) and make it robust to noise in nominal attributes and to outliers in numerical attributes [6, 10] . To build the multiple classifier system, we follow the random forest methodology [8] , and for the processing of imperfect data, we construct the random forest using a fuzzy decision tree as base classifier. Therefore, we try to use the robustness of both, a tree ensemble and a fuzzy decision tree, the power of the randomness to increase the diversity of the trees in the forest, and the flexibility of fuzzy logic and fuzzy sets for imperfect data management.. The majority vote is the standard combination method for random forest ensembles. If the classifiers in the ensemble are not of identical accuracy, then it is reasonable to attempt to endow the more "competent" classifiers with more power in making the final decision when using weighted majority vote. In this work we propose and compare various weighted combination methods to obtain the final decision of the proposed multiple classifier system.. In Section 2, we review the major elements that constitute a multiple classifier system, providing a brief description of how the outputs of each classifier are combined to produce the final decision and we comment on some aspects of the incorporation of fuzzy logic in classification techniques. In Section 3, we explain the learning and classification phases of the proposed multiple classifier system, which we call a Fuzzy Random Forest. In Section 4, we define combination methods for the Fuzzy Random Forest. In Section 5, we show different computational results that illustrate the behaviour of the Fuzzy Random Forest. Finally, we present our conclusions in Section 6. In this paper we present an ensemble based on fuzzy decision trees called FRF ensemble. We realize a hybridization of the techniques of random forest and fuzzy trees for training. The proposed ensemble has the advantages of imperfect data management, of being robust to noise and of having a good degree of classification with relatively small sizes of ensembles.. We have defined various methods to combine the outputs of base classifiers of the FRF ensemble. These methods are based on the combination methods used frequently in the literature to obtain the final decision in ensembles. Hence we have defined:. • Non-trainable methods: Within this group there are methods based on simple majority vote.. • Trainable explicitly dependent methods: In this group are the methods that use weights defined by the degree of satisfaction of the example to classify the different leaves reached and weights learned for the trees of the FRF ensemble.. • Trainable implicity dependent methods: In this group there are methods that use weights learned for the trees of the FRF ensemble.. We have presented experimental results obtained by applying the FRF ensemble to various datasets. Overall, the combination methods that achieve better performances are the weighted combination methods, compared to non-weighted methods typically used in random forest based ensembles. Among the weighted methods those using a weighting based on membership function have better performance, obtaining the best results in 65% of total tests performed. Although most of the methods of combination have the same computational cost, we highlight the increased cost of local fusion based methods. Nevertheless, these last methods have a good performance in the datasets with noise in the class attribute.. In particular, on the imperfect datasets (with missing and fuzzy values) the results obtained by the FRF ensemble are very promising. The FRF ensemble has a good performance with datasets with fuzzy values. The weighted combination methods perform better than non-weighted methods when working with these datasets.. With datasets with outliers the FRF ensemble shows a good performance and we can conclude that introducing outliers further away from the sample causes the FRF ensemble to behave just as if it had no outliers. When making the comparison with datasets with noise in the class attribute, the FRF ensemble shows a clear advantage over other proposals and the MWLFUS2 combination method shows the best behaviour in most cases. So, the FRF ensemble is robust to noise.. When we compare the FRF ensemble with the base classifier, RF and ensembles using the same base classifier, the FRF ensemble obtains the best results. On comparing the results of the FRF ensemble with those obtained by a series of classifiers and multiclassifiers we conclude that the FRF ensemble is an effective classifier and that it obtains the best results in most cases.. Moreover, all these conclusions have been validated by applying statistical techniques to analyze the behaviour of different methods or algorithms compared in each experiment. 27

O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O B I I O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I O O O O O B I O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 generation model to unify topic relevance and lexicon-based sentiment for opinion retrieval Opinion retrieval is a task of growing interest in social life and academic research, which is to find relevant and opinionate documents according to a user's query. One of the key issues is how to combine a document's opinionate score (the ranking score of to what extent it is subjective or objective) and topic relevance score. Current solutions to document ranking in opinion retrieval are generally ad-hoc linear combination, which is short of theoretical foundation and careful analysis. In this paper, we focus on lexicon-based opinion retrieval. A novel generation model that unifies topic-relevance and opinion generation by a quadratic combination is proposed in this paper. With this model, the relevance-based ranking serves as the weighting factor of the lexicon-based sentiment ranking function, which is essentially different from the popular heuristic linear combination approaches. The effect of different sentiment dictionaries is also discussed. Experimental results on TREC blog datasets show the significant effectiveness of the proposed unified model. Improvements of 28.1% and 40.3% have been obtained in terms of MAP and p@10 respectively. The conclusion is not limited to blog environment. Besides the unified generation model, another contribution is that our work demonstrates that in the opinion retrieval task, a Bayesian approach to combining multiple ranking functions is superior to using a linear combination. It is also applicable to other result re-ranking applications in similar scenario. In recent years, there is a growing interest in finding out people's opinions from web data. In many cases, obtaining subjective attitudes towards some object, person or event is often a stronger request than getting encyclopedia-like descriptions. General opinion retrieval is an important issue in practical activities such as product survey, political opinion polls, advertisement analysis, etc. Some researchers have observed this underrepresented need of information and made attempts towards efficient detection, extraction and summarization of opinions from web data [7, 8, 15] . However, much of the work focused on presenting a comprehensive and detailed analysis of the sentiments expressed in the text, without studying how well each source document can meet the need of the user. In addition, this branch of work seek solutions to a specific data domain, such as product/movie review websites [7, 15] and weblogs [8] , so they make use of many fielddependent features such as different aspects of a product, which are not present for other types of text data.. The rising prospects of research and implementation on opinion search are opened up by the explosive amount of user-centric data available recently. People have been writing about their lives and thoughts more freely than ever on personal blogs, virtual communities and special interest forums. Driven by this trend and its intriguing research values, TREC started a special track on blog data in 2006 with a main task of retrieving personal opinions towards various topics, and it has been the track that has the most participants in 2007. 1 But how to combine opinion score (the ranking score of to what extent it is subjective or objective) with relevance score is a key problem in research. In previous work, there are many examples that the existing methods of document opinion ranking provide no improvements over mere topic-relevance ranking. [12] Things come better in 2007. But there's still an interesting observation that the topic-relevance result outperforms most opinion-based approaches [26] . Ad-hoc solutions have been adopted to combine relevance ranking and the opinion detection result, causing performance to suffer from lack of adequate theoretical support.. In this paper, we focus on the problem of searching opinions over general topics with the aim of presenting a ranked list of documents containing personal opinions towards the given query. We start from the general statistics-based information retrieval, following the idea of taking relevance estimation problem as query generation and document generation. Then considering the opinion retrieval background, we induct the new constrain of sentiment expression into the model. we come to a novel generation model that unifies the topicrelevance model and the opinion generation model by a quadratic combination. It is essentially different from the linear interpolation between the document's relevant score and its opinion score, which is popularly used in such tasks. With this proposed model, the relevance-based ranking criterion now serves as the weighting factor for the lexicon-based sentiment ranking function. Experimental results show the significant effectiveness of the proposed unified model. It is reasonable since the relevance score is a reliable indicator of whether opinions, if any, expressed in the document is indeed towards the wanted object. This notion is a novel characteristic of our model because in previous work, the opinion score is always calculated independently to the topicrelevance degree. Furthermore, this process can be viewed as a result re-ranking. Our work demonstrates that in IR and sentiment analysis, a Bayesian approach to combining multiple ranking functions is superior to using a linear combination. It is also applicable to other result re-ranking applications in similar scenario. This opinionate document ranking problem is of fundamental benefits to all opinion-related research issues, in that it can provide high quality results for further feature extraction and user behavior learning.. Although the experiments in this paper are conducted on TREC (Text REtreival Conference) blog 06 and 07 data sets, no characteristic of blog data has been used, such as feature extraction, blog spamming filtering, processing on blog feed and comments, etc. In addition, the lexicons used in this work are all domain-independent ones. Hence the conclusion is not limited to blog environment and the proposed approach is applicable to all opinion retrieval tasks on different kinds of resource.. The rest of the paper is organized as follows. We first review previous work in section 2. In section 3, we present our generation model for opinion retrieval that unifies topic relevance model and sentiment-based opinion generation. Details for estimating model parameters are also discussed in the section. After introducing experiment settings in section 4, we test our generation model with comparative experiments in section 5, together with some further discussions. Finally, we summarize the paper and suggest avenues for future work in section 6. In this work we deal with the problem of opinion search towards general topics. Contrary to previous approaches that view facts retrieval and opinion detection as two distinct parts to be linearly combined, we proposed a formal probabilistic generation model to unify the topic relevance score and opinion score. A couple of opinion re-ranking formulas are derived using the language modeling approach with smoothing, together with logarithm normalization paradigm. Furthermore, the effectiveness of different sentiment lexicons and variant distances between sentiment words and query terms are compared and discussed empirically. Experiment shows that bigger windows are better than smaller windows. According to the experiments, the proposed model yields much better results on TREC Blog06 and Blog07 dataset.. The novelty of our work lies in a probabilistic generation model for opinion retrieval, which is general in motivation and flexible in practice. This work derives a unified model from the quadratic relation between opinion analysis and topic relevance, which is essentially different from general linear combination. Furthermore, in this work, we do not make any assumption on the nature of blog-structured text. Therefore this approach is expected to be generalized to all kinds of resources for opinion retrieval task.. Future directions on opinion retrieval may go beyond merely document re-ranking. An opinion-oriented index, as well as deeper analysis on the structural information of opinion resources such as blogs and forums could be helpful in understanding the nature of opinion expressing behavior on web. Another interesting topic is to automatically construct a collection-based sentiment lexicon, which has been a hot research topic [26] , and to induct this lexicon into our generation model. There has long been interest in either the topics discussed or the opinions expressed in web documents. A popular approach to opinion identification is text classification [7, 15, 22] . Typically, a sentence classifier is learned from both opinionate and neutral web pages available using language features such as local phrases [15] and domain-specific adjective-noun patterns [7] . In order to calculate an opinion score, the classification result is then combined with topic-relevance score using binary operator [12] .. Another line of research on opinionate documents comes from natural language processing and deals with pure text without constraints on the source of opinionate data. The work in general treats opinion detection as a text classification problem and use linguistic features to determine the presence and the polarity of opinions [13, 17, 22] . Nevertheless, they either neglect the problem of retrieving valuable documents [13, 17] , or adopt an intuitive solution to ranking that is in a way out of their opinion detection [22] .. It is the first in Hurst and Nigam's work [4] that topicality and polarity are first fused together to form the notion of opinion retrieval, i.e. to find opinions about a given topic. However in that work, the emphasis is on how to judge the presence of such opinions and no ranking strategy is put forward. The first opinion ranking formula is introduced by Eguchi and Lavrenko [2] as the cross entropy of topics and sentiments under a generation model. The instantiation of this formula, however, does not perform very well in the following TREC opinion retrieval experiments. No encouraging result has been obtained.. Opinion search systems that perform well empirically generally adopt a two-stage approach [12] . Topic-relevance search is carried out first by using relevance ranking (e.g. TF*IDF ranking or language modeling). Then heuristic opinion detection is used to re-rank the documents. One major method to identify opinionate content is by matching the documents with a sentiment word dictionary and calculating term frequency [6, 10, 11, 19] . The matching process is often performed multi-times for different dictionaries and different restrictions on matching. Dictionaries are constructed according to existing lexical categories [6, 10, 19] or the word distribution over the dataset [10, 11, 19] . Matching constraints often concern with the distance between topic terms and opinion terms, which can be thought of as a sliding window. Some require the two types of words to be in the same sentence [10] , others set the maximum word allowed between them [19] . After the opinion score is calculated, an effective ranking formula is needed to combine multiple sources of information. Most existing approaches use a linear combination of relevance score and opinion score [6, 10, 19] . A typical example is shown below. where α and β are combination parameters, which are often tuned by hand or learned to optimize a target metric such as binary preference [10] . Other alternatives include demoting the ranking of neutral documents [11] .. Domain specific information has always been studied by researchers. Mishne [22, 23] proposed three simple heuristics with improved opinion retrieval performance by using blog-specific properties. Other works make use of many field-dependent features such as different aspects of a product or movie [7, 15] , which are not present for other types of text data. TREC blog track is also an important research and experimental platform for opinion retrieval. The major goal is to explore the information seeking behavior in the blogosphere, with an emphasis on spam detection, blog structure analysis, etc. Hence submitted work often goes to great lengths to exploit the non-textual nature of a blog post [10, 12] . This approach makes strong assumptions on the problem domain and is difficult to generalize.

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


Gradient clock synchronization We introduce the distributed gradient clock synchronization problem. As in traditional distributed clock synchronization, we consider a network of nodes equipped with hardware clocks with bounded drift. Nodes compute logical clock values based on their hardware clocks and message exchanges, and the goal is to synchronize the nodes' logical clocks as closely as possible, while satisfying certain validity conditions. The new feature of gradient clock synchronization (GCS for short) is to require that the skew between any two nodes' logical clocks be bounded by a nondecreasing function of the uncertainty in message delay (call this the distance) between the two nodes. That is, we require nearby nodes to be closely synchronized, and allow faraway nodes to be more loosely synchronized. We contrast GCS with traditional clock synchronization, and discuss several practical motivations for GCS, mostly arising in sensor and ad hoc networks. Our main result is that the worst case clock skew between two nodes at distance d from each other is, where D is the diameter 1 of the network. This means that clock synchronization is not a local property, in the sense that the clock skew between two nodes depends not only on the distance between the nodes, but also on the size of the network. Our lower bound implies, for example, that the TDMA protocol with a fixed slot granularity will fail as the network grows, even if the maximum degree of each node stays constant. Consider the classical distributed clock synchronization problem. A set of nodes communicate over a reliable network with bounded message delay. Each node is equipped with a hardware clock with bounded drift, that is, a timer running at roughly the rate of real time. Each node continuously computes logical clock values based on its hardware clock, and on messages exchanged with other nodes. The goal is to synchronize the nodes' logical clocks as closely as possible. To rule out trivial algorithms, the logical clocks must satisfy some validity conditions, for example, that they remain close to real time. This problem has been the subject of extensive research. Previous work in the area has focused on minimizing the clock skew between nodes and minimizing the amount of communication used by the synchronization algorithm [9, 2] , on tolerating various types of failures of the nodes and the network [9] , and on proving lower bound results about clock skew and communication costs [5, 7, 6] . In this paper, we introduce a new property for clock synchronization algorithms (CSA for short), the gradient property. Define the distance between two nodes to be the uncertainty in message delay between the nodes. Informally, the gradient property requires that the skew between two nodes forms a gradient with respect to the distance between the nodes. That is, nearby nodes should be closely synchronized, while faraway nodes may be more loosely synchronized.. We first contrast gradient clock synchronization with traditional clock synchronization. Let D be the diameter of the network. Then there exists a well-known lower bound result [5] saying that, for any CSA, the worst case clock skew between some pair of nodes in the network is Ω(D). Most CSAs (e.g., [9] ) achieve a worst case skew of O(D). However, these CSAs allow O(D) skew between any two nodes. In particular, to our knowledge, in all existing CSAs, there exist executions in which a pair of nodes at O(1) distance from each other have O(D) skew. Thus, current CSAs do not satisfy the gradient property, because nearby nodes are not always well synchronized.. We now discuss some motivation for studying the gradient property. In many highly decentralized networks, such as sensor and ad hoc networks, applications are local in nature. That is, only nearby nodes in the network need to cooperate to perform some task, and nodes that are far away interact much less frequently. Hence, only nearby nodes need to have highly synchronized clocks. As nodes get far-ther apart, they can tolerate greater clock skew. Thus, for these applications, the maximum acceptable clock skew between two nodes forms a gradient in their distance.. As an example, consider first the data fusion [8] problem in a sensor network. A group of distributed sensors collect data, then try to aggregate their data at one node to perform some signal processing on it. In order to conserve energy, the sensors form a communication tree. Starting from the leaves, each sensor sends its data to its parent sensor. When a parent sensor has received data from all its children, it "fuses" the data, that is, constructs a summary representation of the data, and sends the summary to its own parent. Since sensors typically measure real-world phenomena, times are associated with the sensor measurements. When fusing data, the children of a parent node must synchronize their clocks, so that the times of their readings are consistent and a fused reading will make sense. Hence, nearby nodes, which may be children of the same parent, need to have well synchronized clocks. But faraway nodes, which are not children of the same parent, can tolerate more poorly synchronized clocks.. Next, consider the target tracking problem in a sensor network. Suppose two sensor nodes want to measure the speed of an object. Each node records the time when the object crosses within its vicinity. Then the nodes exchange their time readings, and compute t, the difference in their readings. The amount of error in t is related to the clock skew between the nodes. The object's velocity is computed as v = , then the larger the Euclidean distance is between the nodes, the more error is acceptable in t, while still computing v to 1% accuracy. Thus, the acceptable clock skew of the nodes forms a gradient 2 . What kind of gradient can be achieved by a clock synchronization algorithm? When the network contains two nodes at distance d from each other, the tightest possible worstcase synchronization between the nodes is O(d). If there are more nodes, arranged in an arbitrary topology, is there a synchronization algorithm that ensures that the clock skew between all pairs of nodes is linear in their distance at all times? We show that no such algorithm exists. Our main result is that given any clock synchronization algorithm, there exists an execution in which two nodes that are distance d apart, for an arbitrary d,. where D is the diameter of the network. An implication of this result is that an application, such as TDMA [4] , that requires a fixed maximum skew between nearby nodes, cannot scale beyond networks of a certain diameter. We conjecture that the lower bound is nearly tight, and that there exist CSAs that achieve O(d + log D) skew between nodes that are d distance apart.. The rest of this paper is organized as follows. Section 2 describes previous work on clock synchronization and its relation to our work. Section 3 defines our model for clock synchronization, and section 4 formally defines the gradient 2 Note that here we are assuming the Euclidean distance between two nodes corresponds to the uncertainty in their message delay. This is the case if, for example, there are multiple network hops between the nodes, with the number of hops proportional to the Euclidean distance between the nodes. clock synchronization problem. We give an overview of the proof of the lower bound in section 5. We prove two lemmas in sections 6 and 7, then prove the main theorem on GCS in section 8. Finally, we conclude in section 9 with some remarks and open problems. We have introduced the gradient clock synchronization problem. We have shown the problem's usefulness in the context of sensor and ad hoc networks, and have also shown that current clock synchronization algorithms do not solve the problem. We proved that for any f -GCS algorithm,. ). Lastly, we discussed some implications of this result.. The main open problem for GCS is whether there exists any f -GCS algorithm with f (d) = o(D). We believe the answer is yes, and that there exist an f -GCS algorithm with f (d) = O(d + log D). We are currently analyzing one such candidate algorithm. Another open question is whether our lower bound is tight. We believe that the correct lower bound is f (d) = Ω(d + log D).. The gradient property emphasizes the local nature of distributed computation, especially in emerging platforms such as mobile networks. We believe a very interesting research direction is the discovery of new distributed algorithms which are more local in nature, or discovering impossibility results against such algorithms.

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


As-awareness in Tor path selection Tor is an anonymous communications network with thousands of router nodes worldwide. An intuition reflected in much of the literature on anonymous communications is that, as an anonymity network grows, it becomes more secure against a given observer because the observer will see less of the network. In particular, as the Tor network grows from volunteers operating relays all over the world, it becomes less and less likely for a single autonomous system (AS) to be able to observe both ends of an anonymous connection. Yet, as the network continues to grow significantly, no analysis has been done to determine if this intuition is correct. Further, modifications to Tor's path selection algorithm to help clients avoid an AS-level observer have not been proposed and analyzed.Five years ago a previous study examined the AS-level threat against client and destination addresses chosen a priori to be likely or interesting to examine. Using an ASlevel path inference algorithm with improved accuracy, more extensive Internet routing data, and, most importantly, a model of typical Tor client AS-level sources and destinations based on data gathered from the live network, we demonstrate that the threat of a single AS observing both ends of an anonymous Tor connection is greater than previously thought. We look at the growth of the Tor network over the past five years and show that its explosive growth has had only a small impact on the network's robustness against an AS-level attacker. Finally, we propose and evaluate the effectiveness of some simple, AS-aware path selection algorithms that avoid the computational overhead imposed by full AS-level path inference algorithms. Our results indicate that a novel heuristic we propose is more effective against an AS-level observer than other commonly proposed heuristics for improving location diversity in path selection. Much of the existing research into anonymous communication seeks to design and build applications running on top of the existing Internet protocols and infrastructure that allow people to communicate with others without necessarily revealing potentially identifying network information, such as IP addresses. Designs for anonymous communication systems can often be classified into two general categories: highlatency systems and low-latency systems.. High-latency anonymity systems are able to provide better hiding within an anonymity set, but are only practically usable for non-interactive applications that can tolerate delays of several hours or more, such as email. Because of their high-latency, they typically provide stronger anonymity but relative to a smaller set of users. Low-latency anonymity systems, on the other hand, are able to provide better performance and are intended for real-time applications like web browsing. The increased performance, however, often comes at the cost of decreased resilience against certain types of attacks. In particular, low-latency anonymity systems are more easily susceptible to traffic analysis by an adversary who can observe both the connection from a client to the anonymity network and the connection from the network to the client's intended destination [19, 8] .. As of August 2009, the most popular publicly deployed low-latency anonymity system is an onion routing network called Tor [3] . First gaining public notice in 2004, the Tor network has grown to include over 2,000 volunteer-operated network relays and has an estimated 250,000 or more users. Tor aims to provide anonymity to clients by sending multiplyencrypted data packets through a series of relays distributed across the Internet. Each relay removes a layer of encryption and forwards the result on to either another relay or to the client's intended destination, such as a website.. It is important to keep in mind that the network connections between clients, relays and destinations in the Tor network are rarely (if ever) direct connections. Rather, the Internet is composed of thousands of independent networks called autonomous systems (ASes). As data is relayed from the client to a Tor node, it traverses a series of ASes. Previous work [5, 15] has shown that if the same AS appears on the path from the client to the anonymity network and from the anonymity network to the client's destination, then an observer located at that AS can perform a statistical correlation attack to identify the client and her destination.. Intuition from the anonymity literature suggests that as the Tor network grows and volunteers operate relays all over the world, it becomes less likely for a single AS to be able to observe both ends of a connection. Intuition from communications networking is more muddy. On the one hand, there have been great increases in both the size and the geographic diversity of the Tor relay network. On the other hand, this might not be reflected in the number of network providers involved, and corporate and service consolidation could even imply a contraction of the distribution of ASes involved in carrying Tor traffic. In any case, no analysis has been done to determine which intuition is correct. Further, no work has been done to suggest and verify modifications to Tor's path selection algorithm that would help clients avoid an AS-level observer.. In this work, we make the following contributions:. • Based on a more accurate algorithm for inferring ASlevel routing paths and a larger set of real-world BGP (Border Gateway Protocol) routing data, we revisit and validate an earlier analysis of the potential threat of AS-level adversaries against the public Tor network.. • We provide a more realistic global model of typical Tor client ASes and destination ASes based on traffic data collected from public Tor relays.. • Using recent Tor directory information and a simulation of Tor's current path selection algorithm, we examine how scalability and performance optimizations made to the Tor software's path selection algorithm have in turn affected its ability to resist AS level attackers.. • We propose and evaluate the effectiveness of some simple, AS-aware path selection algorithms that avoid the computational overhead imposed by full AS-level path inference algorithms.. The rest of this paper is organized as follows. In Section 2, we provide an overview of the Tor design and review the limitations of previous work done to understand its AS-level diversity. Next, in Section 3, we describe the algorithms and data we employed to infer the AS-level paths between Tor clients and their destinations.. We then present in Section 4 the results of a period of data collection that helped to better understand the ASlevel distribution of clients and destinations on the public Tor network. Section 5 considers how the growth and evolution of the Tor network over the past five years has affected its susceptibly to an AS-level observer. In Section 6, we propose and evaluate alternative "AS-aware" path selection algorithms that attempt to reduce the probability of a single AS observing both ends of a Tor connection. Finally, in Section 7 we discuss the conclusions we made based on the results of our experiments. It is important to keep in mind that the network's growth has still been beneficial to Tor clients in other ways, even if it hasn't significantly reduced the threat of AS-level observers. The increased number of nodes improves the number of simultaneous clients the network is able to support. It also decreases the amount of traffic that an inside adversary controlling a given number of nodes is likely to be able to observe.. Similarly, suggestions to require that entry and exit nodes for a given Tor circuit reside in different countries have been motivated at least as much by concern over attacks from administrative or governmental adversaries using legal or extralegal means as by concern about threats from the structure of the underlying communications network. Thus, even if these provide only small improvement over current Tor route selection against AS-level adversaries, they provide other benefits as well.. In this paper we have examined connection over the Tor network in the face of AS-level adversaries. We used a newer more accurate path-inference algorithm vs. that used by Feamster and Dingledine, and showed that, even for the sources, destinations and Tor network they examined, connections were slightly less location independent than they thought. More importantly, we showed via observation of actual usage that the ASes of circuit originators and of circuit destinations of the Tor network in 2008 were significantly different from those mentioned by Feamster and Dingledine. A significant percentage of circuits originate from a small number of ASes. Likewise a significant percentage were intended for destinations at a small number of ASes. Thus, no matter how Tor routing is done, much existing Tor traffic is vulnerable to AS-level adversaries. We showed that /16 separation and even /8 separation for Tor circuits did not imply AS-independence for those circuits. We also showed that the tremendous growth of the Tor network has had only small impact on its AS-level path independence, and a significant percentage of paths had AS-level independence diminish as the network grew.. And, we showed that requiring unique countries for Tor nodes was as effective for providing non-intersecting AS paths as was requiring unique ASes. Thus, the easier to implement and independently motivated country separation is more sensible. Though country separation was the easiest and lowest overhead approach, by far the most effective heuristic approach to path independence (as measured by general percentage of circuits compromised) was the path approximation approach.. We also considered a heuristic of choosing shortest AS paths to entry guards at the entry side of a circuit as an easy to implement and apply technique to increase AS inde-pendence. As an approach to reducing the average chance of AS-level path compromise it faired worse than country indepedendence (in the reverse direction) and much worse than AS path approximation. But it might be the basis of a much better approach for specific clients even if not better for the network and userbase as a whole. For clients that typically don't change AS much, if, e.g., one could find or set up guard nodes within the client's home AS, then that client would be immune to AS-level attack except by any but his local AS. If such a set-up is not feasible, then doing the same within as few AS-level hops as possible would still have clear advantage for the given client.. An interesting direction for future work would be to incorporate out-of-band knowledge about which ASes are colocated at various IXes. We would then be able to better estimate the impact of IX-level observers and compare it to our results that consider only AS-level observers. Another direction would be to determine the impact of AS-aware routing on other threats to anonymity for Tor. For example, currently an initial node tells little about the client, if shortest AS path to entry guards is used to pick entry guards, then a second node or observer of the network link from the first node in a circuit will be able to make reasonable inferences about the AS of the client. Also, given the number of circuits that route from/to a small number of ASes, it may be reasonable to design route selection based on trust that the originator places on the AS(es) between her and the entry node. We intend to explore this further in future work. We found 2251 distinct ASes for 20638 client connections. Of these, more than half of the ASes produced only a single connection and 85% produced fewer than ten connections. Nearly 43% percent of the connections came from the top twenty five observed client ASes-that is, just over one percent of all observed client ASes. Thus a relatively small percentage of ASes were responsible for the vast majority of the client traffic. Similarly there were 4203 destination ASes recorded during that week for 116781 destination connections. Of these, 34% had only a single connection and 72% had fewer than ten connections. For both origin and destination, less than two percent of the ASes recorded accounted for over half of the connections.. Perhaps the most significant observation from these numbers is that AS-level adversaries are a major unavoidable threat to a large percentage of current Tor usage no matter how route selection might be changed to take into account AS path from clients to entry nodes and from exit nodes to destinations. Controlling a small number of ASes will permit end-to-end correlation on many connections regardless of where the Tor nodes are placed. For example, AS 4134 (ChinaNet) is the number two AS for originating clients and the number one AS for destinations. Without even considering cooperative or business relations with other ASes, this AS passed 3.4% of observed connections from clients and 4.5% of observed connections to destinations. We have no way of knowing the number of client-destination pairs that reside on this one AS. Note also that while AS 3320 (Deutsche Telekom AG) harbored just under half a percent of destination traffic, this single AS was the source of nearly 11% of all connections we observed.. It is instructive to compare the AS information we gathered with that of Feamster and Dingledine [5] . We will address growth of the Tor network in the next section and addressed path inference above. Here we focus only on how well the guesses and data in these papers reflect what we have observed. All the URLs of destinations chosen by Feamster and Dingledine still exist. Nonetheless, we examined the origin AS of 14 out of their 15 destinations and found that eight of these had changed. Thus, of the destinations they chose as likely based on a combination of highly rated Internet properties and their own expectations of likely sites to be of interest to users of anonymity networks, only AS 15169 (Google, rank 2) is in the top 15 we observed. However, when one accounts for the changes in AS, then at least a few more of their entities appear. For example, AS 1668 (AOL, rank 5), is on the list as is AS 3356 (Hotmail, rank 9). Indymedia is on Feamster and Dingledine's list, and its current AS (Savvis, rank 33) appears just below the top 25. Since Savvis is a large IT provider, it is unlikely that this is due solely or even largely to Indymedia; although we have no data to determine this either way.. Still, most of the destinations in our top 15 are not in Feamster and Dingledine's list at all. Their list reflected only ASes in the United States and several, including the first, are not in the United States. Of the nine that are in the U.S., only the three noted above are on their list.. Feamster and Dingledine were not attempting to guess the actual distribution of destinations. They were simply using a plausible list of sites to illustrate the significance of location independence. Some of the sites were known to be very popular in general and others were sites that they thought people concerned with anonymity might care about. Not surprisingly, our results were more consistent with those of McCoy et al. [12] , who also ran Tor nodes within the last year and gathered source and destination information from them. There were important differences between our study and theirs, however. One difference is that they gathered information about destination protocols and traffic amounts rather than destination locations in any sense, while we intentionally avoided gathering any information about specific connections and only aggregated source or destination AS information. They did gather source location information, but their published results are at the level of country rather than AS. Though interesting for understanding who uses Tor, we require AS-level knowledge to analyze and make recommendations concerning an AS-level threat. Their published results for source location also reflect data gathered for only a single day (vs. a week for us). Despite these differences, our results are largely consistent where they overlap. Both studies show the largest number of originations in Germany, far ahead of all other sources. And both have essentially the same order of origin AS/country for the top several sources. We first review the design and current implementation of Tor, as well as previous efforts to study the location diversity of the Tor network. We developed a multithreaded implementation of Qiu's AS path inference algorithm in C. Full details on Qiu's AS path inference algorithm can be found in [18] . For inferring relationships between ASes, we use Gao's relationship inference algorithm [6] .. For input to the algorithm we used RIBs collected by the University of Oregon's RouteViews project [16] . The RouteViews project peers with various ASes and periodically archives routing table dumps and BGP updates. The particular dumps we use throughout the remainder of this paper are RIBs from the OIX, Equinix, PAIX, KIXP, LINX and DIXIE IXes. These routing tables combined represent around 278,000 prefixes, 15.7 million paths, 29,000 ASes and 132,000 edges.. We first examined if the more accurate inference algorithm would affect Feamster and Dingledine's previous analysis of the Tor network's location diversity as it stood in mid-2004. We repeated their experiment using the same list of sender ASes, destination ASes and Tor relays as described in [5] . The only factor that changed was the use of Qiu's more accurate inference algorithm with more comprehensive input routing table data.. The median location independence using the original algorithm was 0.14 in the forward direction and 0.12 in the reverse direction for the sources and destinations given in these tables with the Tor network as it existed at the time. Using the improved algorithm and making no other changes these jump to 0.21 and 0.25 respectively. Overall, a single AS was able to observe either the forward or reverse paths (or both) for 39.4% of the randomly generated circuits-greater than the 10-30% suggested by Feamster and Dingledine. Our results indicate that the problem of an AS-level adversary observing both ends of a connection through the Tor network in 2004 was thus moderately greater than originally thought.. Though understanding path inference is important to understanding our work, and developments purely based on path inference do appear to have a modest impact, our primary focus is elsewhere: determining what the actual distribution is for source and destination ASes of Tor traffic, examining the effect of Tor's tremendous network growth on location independence, and similarly for its path-selection algorithm (which significantly deviates from uniform-at-random for various reasons), and finally, considering novel AS-aware path selection algorithms. It is these questions that we will explore further in the remainder of this paper.

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


On linear combinations of two commuting hypergeneralized projectors The concept of a hypergeneralized projector as a matrix H satisfying = H 2 H 1 for some η 1 , η 2 ∈ C, inherits the hypergenerality property. In the present paper, the problem considered in the latter paper is revisited and solved under the essentially weaker assumption that H 1 H 2 = H 2 H 1 .

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


XPath-Logic and XPathLog: A Logic-Programming Style XML Data Manipulation Language We define XPathLog as a Datalog-style extension of XPath. XPathLog provides a clear, declarative language for querying and manipulating XML whose perspectives are especially in XML data integration.In our characterization, the formal semantics is defined wrt. an edge-labeled graph-based model which covers the XML data model. We give a complete, logic-based characterization of XML data and the main language concept for XML, XPath. XPath-Logic extends the XPath language with variable bindings and embeds it into first-order logic. XPathLog is then the Horn fragment of XPath-Logic, providing a Datalog-style, rule-based language for querying and manipulating XML data. The model-theoretic semantics of XPath-Logic serves as the base of XPathLog as a logic-programming language, whereas also an equivalent answer-set semantics for evaluating XPathLog queries is given. In contrast to other approaches, the XPath syntax and semantics is also used for a declarative specification how the database should be updated : when used in rule heads, XPath filters are interpreted as specifications of elements and properties which should be added to the database. Logic-based languages have proven useful in many areas since they allow for small, declarative, and extendible programs. For the database area, Datalog has been investigated for querying and rule-based data manipulation. Extending the Datalog idea, more complex logic-based frameworks like F-Logic (Kifer and Lausen 1989; Kifer et al. 1995) , or the languages of the Tsimmis project (Garcia-Molina et al. 1997; Abiteboul et al. 1997) have been successfully applied for knowledge representation and data integration. The experiences with a powerful language like F-Logic were the motivation to have a similar "native" language for the XML world that is much simpler than F-Logic, and that is based on the standard XPath language. As a result, we present XPathLog as an XPath-based Datalog-style language for querying and manipulating XML data. By extending XPath with variable bindings and providing a constructive semantics for XPath in rule reads, a declarative XML data manipulation language is obtained. Since both XPath and rule-based programming by using variable bindings are well-known, intuitive concepts, the "effect" of the

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


Selecting forwarding neighbors in wireless Ad Hoc networks Broadcasting is a fundamental operation which is frequent in wireless ad hoc networks. A simple broadcasting mechanism, known as flooding, is to let every node retransmit the message to all its 1-hop neighbors when receiving the first copy of the message. Despite its simplicity, flooding is very inefficient and can result in high redundancy, contention, and collision. One approach to reducing the redundancy is to let each node forward the message only to a small subset of 1-hop neighbors that cover all of the node's 2-hop neighbors. In this paper, we propose two practical heuristics for selecting the minimum number of forwarding neighbors: an O(n log n) time algorithm that selects at most 6 times more forwarding neighbors than the optimum, and an O(n 2) time algorithm with an improved approximation ratio of 3, where n is the number of 1-and 2-hop neighbors. The best previously known algorithm, due to Bronnimann and Goodrich[2], guarantees O(1) approximation in O(n 3 log n) time. Wireless ad hoc networks can be flexibly and quickly deployed for many applications such as automated battlefield, search and rescue, and disaster relief. Unlike wired networks or cellular networks, no wired backbone infrastructure is installed in wireless ad hoc networks. A communication session is achieved either through a single-hop radio transmission if the communication parties are close enough, or through relaying by intermediate nodes otherwise. In this paper, we assume that all nodes in a wireless ad hoc network are distributed in a two-dimensional plane and have an equal maximum transmission range of one unit.. Broadcasting is a fundamental networking operation in wireless ad hoc networks. It is widely and frequently performed *Partially supported by NSF Grant CCR-9988331 and a CRDF Grant.. in many networking tasks such as paging a particular host, sending an alarm signal, and finding a route to a particular host [1] [6] [13] . A simple broadcasting mechanism, known as flooding, is to let every node retransmit the message to all its 1-hop neighbors when receiving the first copy of the message. Despite its simplicity, flooding has a serious drawback, known as the broadcast storm [12] . First, because the radio propagation is omnidirectional and a physical location may be covered by the transmission ranges of several nodes, many retransmissions are redundant. Second, heavy contention could exist because retransmitting nodes are probably close to each other. Third, collisions are more likely to occur because the RTS/CTS dialogue is inapplicable and the timing of retransmissions is highly correlated.. The following simple technique was recently exploited [9] [14] to reduce redundant retransmissions: By virtue of beaconing, each node maintains a local topology of its 2-hop neighborhood, and relays the message only to a small subset of 1-hop neighbors which cover (in terms of radio range) all nodes that are two hops away. The subset of 1-hop neighbors selected by each node is referred to as forwarding set [14] or multipoint relaying set [9] . In this paper we consider the problem of finding a forwarding set of minimum size.. Minimum Forwarding Set Problem: Given a source A, let 10 and P be the sets of 1-and 2-hop neighbors of A. Find a minimum-size subset 5 r of 7) such that every node in P is within the coverage area of at least one node from P. In this paper we presented a geometric O(n log n) 6-approximation algorithm and a combinatorial O(n 2) 3-approximation algorithm for selecting forwarding neighbors in wireless ad-hoc networks, significantly improving both the running time and the approximation ratio of the best previously known algorithm. An extension of our method can be used to obtain an alternative constant-ratio polynomial-time algorithm for the Minimum Disk Cover problem.. We mention that Theorem 10 is true in the following more general setting. Let J be an infinite simple Jordan curve which separates the plane into exactly two regions, and let Bi one of these two regions. Let all points 79 be in Bi, and each Dj be a region bordered by a simple closed Jordan curve 07)j. Also, each 07)j intersects the infinite curve J in exactly two points, and, for any two disks Dj and Dk, 07)j f7 07)k N Bi has at most one point. Moreover, whenever two of the curves above intersect, they cross each other. Then the combinatorial disk covering algorithm 3 solves the covering problem exactly.. Refinement techniques can also be applied to a fractional solution to the natural linear program LP to obtain a rounding procedure with a ratio of 2 when P and the centers of 7) are separated by a straight line. Then, as in Section 5, it follows that the linear program LP has constant integrality ratio for the general problem. However, when the disks in 7) are weighted, we do not know the integrality ratio of the corresponding integer and linear programs. Jacquet et al. [9] and Sinha et al. [14] considered the Minimum Forwarding Set problem assuming no knowledge of the geographic location of the nodes. In this case, the Minimum Forwarding Set problem is essentially the well-studied Set Cover problem. Not surprisingly, the heuristic proposed in [9] is a translation of ChvAtal's greedy algorithm [3] for Set Cover, and thus guarantees an approximation factor of O(log m), where m is the maximum neighborhood size. The greedy algorithm iteratively selects a 1-hop neighbor covering the maximum number of 2-hop neighbors not yet covered, and terminates when all 2-hop neighbors have been covered. The greedy algorithm does not take into account the geometric properties of the Minimum Forwarding Set problem, and in fact Figure 1 rithm is larger than the optimum by a logarithmic factor.. Under the assumption that the nodes in the wireless network are distributed in a two-dimensional plane and each node has unit transmission range, the topology of the network is modeled as a unit-disk graph [4] . In this graph, there is an edge between two nodes if and only if their distance is at most one. The Minimum Forwarding Set problem for a given source node s asks for a minimum size set of 1-hop neighbors of s dominating 2-hop neighbors of s in the unit-disk graph. The related Dominating Set problem in unit-disk graphs [4] asks for a subset of nodes dominating (i.e., adjacent to) all the other nodes. The Dominating Set problem in unit-disk graphs is NP-hard [4] but admits a PTAS [8] . The Minimum Forwarding Set problem does not reduce to the Dominating Set problem in unit-disk graphs since dominators are restricted to the set of 1-hop neighbors.. The Minimum Forwarding Set problem is also related to the Unit-Disk Cover problem [7] , which asks for the minimum number of unit disks covering a given set of points in the plane. The Unit-Disk Cover problem is also NP-hard [4] and admits a PTAS [7] . Since in the Unit-Disk Cover problem disk centers can be chosen arbitrarily in the plane, the algorithms for this problem do not apply to the Minimum Forwarding Set problem where disks must be centered at 1-hop neighbors only.. The Minimum Forwarding Set problem is a special case of the NP-Hard Disk Cover problem [2] , which asks for a minimum size subset of a given set of disks covering a given set of points. The complexity of Minimum Forwarding Set problems is not known. A constant-ratio approximation algorithm for Disk Cover, and therefore also for Minimum Forwarding Set, was given by Bronnimann and Goodrich [2] However, their algorithm -which is a special case of a sophisticated algorithm for spaces with bounded VC-dimension -has impractical running-time and its proven approximation ratio is a very large constant.

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


Incremental maintenance of views with duplicates We study the problem of efficient maintenance of materi-


Wavelet Families Of Increasing Order In Arbitrary Dimensions Abstract. We build compactly supported biorthogonal wavelets and perfect reconstruction lter banks for any lattice in any dimension with any number of primal and dual vanishing moments. The resulting scaling functions are interpolating. Our construction relies on the lifting scheme and inherits all of its advantages: fast transform, in-place calculation, and integerto-integer transforms. We show that two lifting steps su ce: predict and update. The predict step can be built using multivariate polynomial interpolation, while update is a multiple of the adjoint of predict.Over the last decade several constructions of compactly supported wavelets have originated both from signal processing and mathematical analysis. In signal processing, critically sampled wavelet transforms are known as lter banks or subband transforms 32, 43, 54, 56] . In mathematical analysis, wavelets are de ned as translates and dilates of one xed function and are used to analyze and represent general functions 23, 31]. Multiresolution analysis provided the connection between lter banks and wavelets 28, 31] . This lead to the construction of smooth, orthogonal and compactly supported wavelets 13]. The generalization to biorthogonality allowed the construction of symmetric wavelets and thus linear phase lters 8, 57]. For background material and more references on lter banks and wavelets, we refer the reader to 14, 46, 58] .An obvious to build wavelets in higher dimension is through tensor products of one-dimensional constructions resulting in separable lters. However, this approach gives preferential treatment to the coordinate axes and only allows for rectangular divisions of the frequency spectrum. Often, symmetry axes and certain nonrectangular divisions of the frequency spectrum correspond better to the human visual system.

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


On syntactic monoids of biunitary submonoids determined by homomorphisms from free semigroups onto completely simple semigroups We deal with the maximal bifix code construction which is a natural generalization of a group code construction. For a surjective morphism from a free monoid A * onto a completely simple semigroup with an adjoined identity M(G; I, J ; ) 1 and a submonoid S of M(G; I, J ; ) 1 , under certain conditions, the base of a submonoid −1 (S) is a maximal bifix code X. We investigate the relationships between the surjective morphism and the syntactic monoid of the monoid generated by X. Lallement and Reis [5] , showed that all the finite maximal bifix codes X such that the syntactic monoid of X * is a completely simple semigroup with an adjoined identity are obtained by team tournaments. In researching such finite codes which have relevance to a completely simple semigroup, we can get plenty of concrete examples by their graph-theoretical construction. Then, we are left with a question as to how we can obtain infinite maximal bifix codes X such that the syntactic semigroup of X + is a completely simple semigroup. The most widely known code of that sort is the group code. The group code is a code that is gained by a surjective morphism from a free monoid to a group. Also a group is a completely simple semigroup. Noting these points, it is natural to attempt to investigate codes that are defined by surjective morphisms from a free monoid to a completely simple semigroup with an adjoined identity. In fact, such an investigation naturally suggests the class of codes which we would call the "completely simple semigroup code".. In this paper, A means an alphabet, and A + and A * mean the free semigroup and the free monoid generated by A, respectively. We also fix the notation on groups. G and H mean a group and a subgroup of G, respectively. If x, y ∈ G and xy −1 ∈ H , then we write x ≡ y mod H . Let K be a subgroup of G such that K ⊂ H ⊂ G; then we write K (H ) for ( g∈G g −1 Hg) ∩ K, that is K(H ) = {k ∈ K | Hgk = Hg for all g ∈ G}.. Let S be a semigroup, and let S 1 = S ∪ {1}, where 1 / ∈ S. The operation in S 1 is defined as follows: 1 is an identity, and xy is the same in S and S 1 for all x, y ∈ S.. Let I and J be non-empty sets, and let = ( ji ) be a J ×I matrix over G. In the set G×I ×J , we define the operation by (g; i, j )(h; k, l) = (g jk h; i, l). The semigroup with the above operation is denoted by M(G; I, J ; ) and is said to be the I × J Rees matrix semigroup over G with a structure matrix . We assume that I and J have an element 1 in common. If both m = Card(I ) and n = Card(J ) are finite, then we write M(G; n, m; ) for M(G; I, J ; ). By A matrix = ( ji ) is said to be H-normalized if the following conditions are satisfied:. (1) is a matrix over H , (2) For each (i, k) ∈ I × I there exists some t ∈ J such that ti ≡ tk mod G (H ), (3) For each (j, l) ∈ J × J there exists some s ∈ I such that js ≡ ls mod G (H ).. Let : A * → M(G, I, J, ) 1 be a homomorphism. For a non-empty subset S of G we define the sets

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