The bipanpositionable bipancyclic property of the hypercube A bipartite graph is bipancyclic if it contains a cycle of every even length from 4 to |V(G)| inclusive. A hamiltonian bipartite graph G is bipanpositionable if, for any two different vertices x and y, there exists a hamiltonian cycle C of G such that d"C(x,y)=k for any integer k with d"G(x,y)@[email protected]?|V(G)|/2 and (k-d"G(x,y)) being even. A bipartite graph G is k-cycle bipanpositionable if, for any two different vertices x and y, there exists a cycle of G with d"C(x,y)=l and |V(C)|=k for any integer l with d"G(x,y)@[email protected]?k2 and (l-d"G(x,y)) being even. A bipartite graph G is bipanpositionable bipancyclic if G is k-cycle bipanpositionable for every even integer k, [email protected][email protected]?|V(G)|. We prove that the hypercube Q"n is bipanpositionable bipancyclic for n>=2. For the graph definitions and notations we follow Bondy and Murty [1] . Let G = (V , E) be a graph, where V is a finite set and E is a subset of {(u, v) | (u, v) is an unordered pair of V }. We say that V is the vertex set and E is the edge set of G. Two vertices u and v are adjacent if (u, v) ∈ E. A path is represented by v 0 , v 1 , v 2 , . . . , v k , where all vertices are distinct except possibly v 0 = v k . The length of a path Q is the number of edges in Q . We also write the path v 0 , v 1 , v 2 , . . . , v k as v 0 , Q 1 , v i , v i+1 . . . , v j , Q 2 , v t , . . . , v k , where Q 1 is the path v 0 , v 1 , . . . , v i−1 , v i and Q 2 is the path v j , v j+1 , . . . , v t−1 , v t . We use d G (u, v) to denote the distance between u and v in G, i.e., the length of the shortest path joining u to v in G. A cycle is a path of at least three vertices such that the first vertex is the same as the last vertex. We use d c (u, v) to denote the distance between u and v in a cycle C , i.e., the length of the shortest path joining u to v in C . A hamiltonian cycle of G is a cycle that traverses every vertex of G exactly once. A hamiltonian graph is a graph with a hamiltonian cycle.. The n-dimensional hypercube, Q n , consists of all n-bit binary strings as its vertices and two vertices u and v are adjacent if and only if their binary labels are different in exactly one bit position. Let u = u n−1 u n−2 . . . u 1 u 0 and v = v n−1 v n−2 . . . v 1 v 0 be two n-bit binary strings. The Hamming distance h(u, v) between two vertices u and v is the number of different bits in the corresponding strings of both vertices. Let Q i n be the subgraph of Q n induced by {u n−1 u n−2 · · · u 1 u 0 | u n−1 = i} for i = 0, 1. Therefore, Q n can be constructed recursively by taking two copies of Q n−1 , Q 0 n and Q 1 n , and adding a perfect matching between these two copies. For a vertex u in Q 0 n (resp. Q 1 n ), we useū to denote the unique neighbor of u in Q 1 n (resp. Q 0 n ). The hypercube is a widely used topology in computer architecture, see Leighton [2] .. by Mitchem and Schmeichel [4] . A bipartite graph is bipancyclic if it contains a cycle of every even length from 4 to |V (G)| inclusive. It is proved that the hypercube Q n is bipancyclic if n ≥ 2 [5, 6] . A graph is panconnected if, for any two different vertices x and y, there exists a path of length l joining x and y for every l with d G (x, y) ≤ l ≤ |V (G)| − 1. The concept of panconnected graphs was proposed by Alavi and Williamson [7] . It is easy to see that any bipartite graph with at least 3 vertices is not panconnected. Therefore, the concept of bipanconnected graphs is proposed. A bipartite graph is bipanconnected if, for any two different vertices x and y, there exists a path of length l joining x and y for every l with. It is proved that the hypercube is bipanconnected [5] . A hamiltonian graph G is panpositionable if for any two different vertices x and y of G and for any integer k with. The concepts of panpositionable and bipanpositionable were proposed by Kao et al. [8] . They proved that the hypercube Q n is bipanpositionable if n ≥ 2 [8] . A bipartite graph G is edge-bipancyclic if for any edge in G, there is a cycle of every even length from 4 to |V (G)| traversing through this edge. The concept of edge-bipancyclic was proposed by Alspach and Hare [9] . A bipartite graph G is vertex-bipancyclic if for any vertex in G, there is a cycle of every even length from 4 to |V (G)| going through this vertex. The concept of vertex-bipancyclic was proposed by Hobbs [10] . Obviously, every edge-bipancyclic graph is vertex-bipancyclic. It is proved that the hypercube Q n is edge-bipancyclic if n ≥ 2 [5] .. In this paper, we propose a more interesting property about hypercubes. A k-cycle is a cycle of length k. A bipartite graph G is k-cycle bipanpositionable if for every different vertices x and y of G and for any integer l with. for every cycle C of length k.) A bipartite graph G is bipanpositionable bipancyclic if G is k-cycle bipanpositionable for every even integer k with 4 ≤ k ≤ |V (G)|. In this paper, we prove that the hypercube Q n is bipanpositionable bipancyclic for n ≥ 2. As a consequence of this result, we can see that many previous results on hypercubes follows directly from ours. For example, the hypercube is bipancyclic, bipanconnected, bipanpositionable, edge-bipancyclic and vertex-bipancyclic. Therefore, our result unifies these results in a general sense.

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


Supporting software history exploration Software developers often confront questions such as "Why was the code implemented this way"? To answer such questions, developers make use of information in a software system's bug and source repositories. In this paper, we consider two user interfaces for helping a developer explore information from such repositories. One user interface, from Holmes and Begel's Deep Intellisense tool, exposes historical information across several integrated views, favouring exploration from a single code element to all of that element's historical information. The second user interface, in a tool called Rationalizer that we introduce in this paper, integrates historical information into the source code editor, favouring exploration from a particular code line to its immediate history. We introduce a model to express how software repository information is connected and use this model to compare the two interfaces. Through a lab experiment, we found that our model can help predict which interface is helpful for a particular kind of historical question. We also found deficiencies in the interfaces that hindered users in the exploration of historical information. These results can help inform tool developers who are presenting historical information either directly from or mined from software repositories. Developers working on large software development teams often confront the question, "Why was the code implemented this way?" In a study by Ko and colleagues, this question was found to be 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. amongst the most time-consuming and difficult to satisfy of a number of information needs faced by developers [17] . In another study, LaToza and colleagues confirmed that developers faced challenges in trying to understand the rationale behind code [21] . A third study conducted by LaToza and Myers further confirmed these findings, reporting that questions about code history-when, how, by whom and why was code changed or inserted-were some of the most frequent questions developers needed to answer [19] .. Various existing tools have attempted to assist developers in exploring a software system's history to answer such questions. Tools such as CVS' "annotate" (or "blame") feature [5] , and graphical interfaces to it such as Mozilla Bonsai [22] and Eclipse's "show annotations" feature [9] , display the last user who changed each line of code in a source file. Tools such as Hipikat [7] and Deep Intellisense [13] , which is built on Bridge [24] , provide artifacts (e.g., bugs, e-mails, or documents) that appear relevant to a piece of code.. These existing tools use one of two basic styles to support a user in exploring the historical information needed to answer the questions that frequently confront them. One approach is to integrate the historical information into or near the editor, as is the case with Eclipse's "show annotations" feature. This approach tends to favour displaying a breadth of historical information for large regions of the code at once. The other approach is to use a set of integrated views that provide related historical information for a single element out of the context of the editor, as is the case with Deep Intellisense. This approach tends to favour displaying a depth of historical information about a single part of the code.. In this paper, we investigate how these different presentation styles affect how developers explore historical information to answer questions related to why code was implemented as it was. We introduce a model of how different kinds of software repository information, such as bugs and code check-ins, are connected and we use this model to predict questions for which one interface style has a significant advantage over the other interface style (Section 3). For example, the model can help predict which interface style is likely to be easier to use for answering a question about which sections of a source file were affected by a given bug fix compared to answering the question of which bugs have affected a given method.. To investigate the usefulness of the model and to understand more about how users explore software history information, we conducted a laboratory study in which eleven participants used one of two prototypes to answer a set of historical questions (Section 4). The first prototype was a replica of the Deep Intellisense user interface style (Section 2.1). The second prototype is a new interface we created, called Rationalizer, that integrates historical information directly into the background of the source code editor using semi-transparent columns to directly answer questions about when 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. MSR'11, May 21-22, 2011, Waikiki, Honolulu, HI, USA Copyright 2011 ACM 978-1-4503-0574-7/11/05 ...$10.00 code was changed, who last changed it and why it was changed (Section 2.2). The results of our study confirmed the predictions of our model and identified deficiencies in each of the tools-for instance, many users found scrolling through the large amounts of information provided by Rationalizer confusing and error-prone and requested better filtering, and several users found little use for Deep Intellisense's summary views. Tool developers can use the model we have introduced and what we have learned about user interfaces conforming to this model to help reason about appropriate interface designs for tools that expose software history information. This paper makes three contributions:. • it introduces a new user interface, which we call Rationalizer, that integrates more historical information into the editor than previous designs,. • it introduces a model of software repository information and shows how that model can be used to reason about and predict the performance of a user interface that supports exploration of software history information, and. • it provides a comparison of two different user interface styles for exploring historical information. Developers frequently ask questions that require software history information to answer. Many approaches and tools have been developed to mine software history and present access to interesting historical information. However, little research has been devoted to finding the best style of user interface with which to present such information. In this paper, we have introduced a model of software history information and shown how it can be used to reason about the difficulty of performing historical investigations with different styles of user interfaces. We have shown that this model can be used to predict how the difficulty of performing different types of historical exploration tasks varies between different interface styles. Further investigation will be necessary to determine the relative frequency in real-world development of the types of historical questions we identified. The results of our study can give tool developers insight into how their user interface design choices impact the efficiency of history exploration tasks. Historical information about a software system is accessible through a structured, but non-trivial, web of information from multiple, inter-connected repositories, as shown in Figure 3 . Through the study we conducted, we showed that the difficulty of performing certain kinds of software history investigation tasks with a tool depends partly upon the number of user interface operations required to answer the question in that tool. These results raise the question of what kind of user interface is best for supporting software history investigations. The answer rests in which kinds of tasks developers frequently perform. Gaining this frequency information requires more in-depth studies of developers at work.. Even before general interfaces are designed for supporting software history investigations, the results of our study provide useful input to researchers creating mining and other tools that display software history information as part of their results. Researchers can use the model we have introduced to help gauge which information is most likely to be needed by users of their tool and thus which style of interface is most likely to support the users best.. Future investigations may also consider how the contrasting user interface approaches we have studied through our two tools (breadth vs. depth, editor integration vs. separate views, line-based vs. code element-based searches) could be combined in different ways. New history exploration tools could merge the strengths of both of our tools. For instance, clicking on a revision in a Deep Intellisensestyle events view could (as requested by some users) highlight the lines changed by that revision in the editor. Another possibility would be to make a Deep Intellisense-style events view available on demand from a Rationalizer-style breadth-first interface so that users could explore a line's history more deeply if desired.. Our model of task difficulty, based as it is on operation counts, assumes that users know the right steps to take and that the difficulty of a task is proportional to the number of steps. However, in our observation of participant interaction with the tools, we found that long delays and failures to complete tasks usually resulted from taking wrong steps or having difficulty in finding the next correct step. Some of these episodes of user disorientation occurred because particular users were still learning how to use the tools and were not aware of some of their features (e.g., they did not realize it was possible to access past revisions through hyperlinks in Rationalizer); these arguably might occur less for users who were experts with the tools. However, some types of disorientation might affect even a user who was experienced with the tools; for instance, they might form mistaken hypotheses about code rationale based on bugs that seem relevant at first glance, then realize their mistake and backtrack. These observations suggest that an improved model of software history exploration should attempt to take into account potential sources of user mistakes and confusion. For example, it might consider how many paths are available at each step and estimate how many wrong paths the user might take before finding a correct one and how long it might take the user to recover from a wrong decision. A number of recent studies have considered the information needs of software developers. Sillito and colleagues [23] focused on eliciting the questions programmers ask as they work on software evolution tasks. LaToza et al. [21] found that many developer problems arose from expending effort trying to reconstruct an appropriate mental model for their code. Ko et al. [17] observed working developers to identify their information needs, and found that questions about why code was implemented a certain way were frequent but often difficult to answer, and that developers sometimes used revision histories and bug reports to attempt to answer such questions. LaToza and Myers [19] conducted a large survey of professional developers and identified 21 categories of questions the developers found hard to answer; their most frequently reported categories dealt with the intent and rationale behind code. In this paper, we have investigated how different user interfaces may support a subset of these questions related to software history.. Previous work in software history mining has proposed models for the entities and relationships involved in software history. Hipikat [7] provided an artifact linkages schema which is similar to our ER model (Figure 3 ), but incorporates other types of historical artifacts such as project documents and forum messages. Bridge [24] modeled software-related artifacts from multiple repositories as a directed multi-graph, and attempted to discover relationships between artifacts using textual allusions.. LaToza and Myers [20] argue that understanding the strategies that software developers choose and modeling how they decide between strategies is an important way to identify challenges that should be addressed by tools; they call for a theory of coding activity that could, among other things, help designers identify assumptions made by tools. Our modeling of software history navigation in terms of basic operations attempts to predict the simplest strategy possible under particular tool designs, although it does not attempt to predict how developers might choose between different possible strategies. Our operation model has some resemblance to the classic GOMS model introduced by Card et al. [3, 4] ; however, it does not attempt to model operation sequences at the level of fine-grained detail found in classical GOMS analyses and does not attempt to predict precise task execution times. It shares a key limitation of GOMS, in that it postulates an expert user who knows the correct sequence of operations to perform for any task, and does not take into account learning, user errors, mental workload or fatigue.. As mentioned in the introduction, a number of common tools, such as CVS' "annotate" feature, provide developers with access to historical information in current IDEs. IBM Rational Team Concert [14] takes these tools a step further by augmenting the Eclipse "annotate" feature with references to work items. As these references are provided only at the margin of the editor in minimal space, they must be traversed one-by-one to extract their full information. The Rationalizer user interface introduced in this paper is similar to the tools just described, but attempts to provide more information in an immediately visible manner to the user.. A number of research software visualization systems have assigned colours to code lines for various purposes. The early SeeSoft system created by Ball and Eick [1] showed large codebases in a condensed graphical representation; files were shown as tall, thin rectangles wherein each code line was represented by a thin coloured horizontal line. The colouring could represent code age or indicate where bug fixes had affected files. Subsequent systems such as Augur [11] and Tarantula [15] built on this idea. Tarantula showed codebases coloured according to test suite coverage. Augur showed multiple code files coloured according to properties such as code age, and allowed users to explore changes in the code over time using a slider. Voinea and colleagues [25, 26] explored the domain of software evolution visualization extensively and produced a variety of visualization techniques for exploring the history of source code files and entire codebases. All of these tools focus on providing large-scale overview visualizations of files, modules or projects. By contrast, the tools we have evaluated in this paper focus on helping developers answer questions about particular lines and code elements in the context of a file editor.. Grammel et al. [12] argue that software engineering research tools are insufficiently customizable and inadequately grounded in the practices of real developers. They suggest a style of software analysis tool that works like a web mashup to integrate different sources of information. They recognize Deep Intellisense as a step towards leveraging multiple sources of information but note that its interface is not highly customizable. They cite Fritz and Murphy's "information fragments" tool [10] as an example of the more flexible kind of information composition they advocate. They believe the "conceptual workspace" of Ko et al. [18] also realizes their vision because of its support for "collecting task-related information fragments" so they can be seen "side-by-side". We believe the Rationalizer style of interface may provide a step towards aspects of their vision, as it could in principle be extended to support showing many kinds of information in resizable background columns side-by-side with code on demand.

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


Using mutual information for appearance-based visual path following In this paper we propose a new way to achieve a navigation task (visual path following) for a non-holonomic vehicle. We consider an image-based navigation process. We show that it is possible to navigate along a visual path without relying on the extraction, matching and tracking of geometric visual features such as keypoint. The new proposed approach relies directly on the information (entropy) contained in the image signal. We show that it is possible to build a control law directly from the maximisation of the shared information between the current image and the next key image in the visual path. The shared information between those two images is obtained using mutual information that is known to be robust to illumination variations and occlusions. Moreover the generally complex task of features extraction and matching is avoided. Both simulations and experiments on a real vehicle are presented and show the possibilities and advantages offered by the proposed method. In recent years, robot localization and navigation have made considerable progress. Navigation can be seen as the ability for a robot to move autonomously from an initial position to a desired one (which may be far away from the initial one). Thanks to sensor based navigation, we have seen autonomous robots in various challenging areas (from highways to deserts and even on Mars). Nevertheless the design of these autonomous robots usually relies on more than one sensor (camera, stereo sensors, lidar, GPS,...). In this paper, we propose a new method that demonstrates the capability of a mobile robot to navigate autonomously using the information provided by a monocular camera. Furthermore we will show that the proposed approach does not require any tracking nor matching process which is usually a bottleneck for the development of such an approach.. Most navigation approaches consider a (partial) 3D reconstruction of the environment [26, 35, 31, 8, 32, 20] , leading to SLAM-like techniques. Such solutions are attractive, since the navigation task will be achieved using a classical posebased control of the robot in the metric space. Within this context, during a learning step the environment is reconstructed using bundle adjustment approaches [31] , Kalman/particle filters based approaches [8] , visual odometry [19, 20] . Despite the complexity of the underlying problem, SLAM has proved to be a viable solution to create accurate maps of the environment [8] [32] even in large ones [18] . In this context, the control of the robot during the navigation task is a well known problem and the main difficulties here are i) the complexity of the initial reconstruction step and ii) the matching of visual features observed during the learning step with current observations. With a monocular camera as unique sensor, these are mainly computer vision issues.. Another class of techniques relies on the definition of a visual path: the appearance-based approaches [24, 4, 29] [33] [12] [7] [40] . The trajectory is no longer described in the metric space but as a set of reference images. A 2D visual servoing step allows the robot to navigate from its current position to the next key image. When the robot gets close to this image, a new key image is selected. In this context, the environment can be modeled by a graph whose nodes are the key images. A visual path in the environment is nothing but a path in the graph [29] . Working directly in the sensor space, such approaches do not require prior 3D reconstruction step. In some cases, partial reconstruction has to be considered. In [33] [16, 3] a part of the epipolar geometry that links the current and key images is considered in order to predict the location of currently not visible features and ensure a robust tracking. In [12] homography computation wrt. the reference images allows to precisely localize the robot. In any case, the learning step of these appearance-based approaches is far less complex since it does not require any prior 3D reconstruction.. Nevertheless at navigation level, for both pose-based or most of the image-based visual navigation approaches, features have to be extracted or tracked in the image stream and matched with either the 3D database or key images to design the control law. Robust extraction and real-time spatio-temporal tracking or matching of these visual cues are non trivial tasks and also one of the bottlenecks of the expansion of visual navigation. It could be then very interesting to consider directly a comparison with current image and next keyframe to control the robot. In [40] , this relative orientation is computed in the Fourrier space and the control law is directly computed from the orientation difference. Similar approach is proposed by [24] but used cross-correlation. In [10] [9] , it has been shown that no other information than the image intensity (the pure image signal) need to be considered to control the robot motion and that these difficult tracking and matching processes can be totally removed. Although very efficient, this approach is sensitive to light variations and, thus, can hardly be considered in outdoor environment. In this paper, we propose a new approach that no longer relies on geometrical features nor on pixels intensity [9] but uses directly the information (entropy) contained in the image signal as proposed in [13, 14] . More precisely we will consider mutual information [34] [39] as a similarity criterion.. MI has been introduced in the context of information theory by Shannon [34] . It has been later considered as an image similarity measure back in the mid ninety's independently by Collignon [11] for tomographic image registration, Studholme [36] for MR and CT image, an by Viola [38] for projection image. Since then MI has become a classical similarity measure especially for multi-modal registration techniques [28] (eg, for medical or remote sensing applications). Being closer to the signal, we will show that this approach is robust to very important illumination variations and robust to large occlusions.. Our goal is then to propose a control law that allows the robot to maximize the mutual information between the current acquired image and the next image in its visual path. This is an optimization process. We show that it is possible to compute the interaction matrix that relates the variation of the mutual information to the vehicle velocity leading to the definition of the control law. Let us emphasize that since mutual information is computed from the whole images (current and key images) it is possible to directly control the motion of the vehicle along a given path without any feature extraction or matching. Furthermore no 3D reconstruction of the environment is necessary.. We will demonstrate the efficiency of this new approach on a navigation task carried out at 0.5 m/s over 400 meters. Images are acquired at 30Hz (nearly 25.000 images were acquired and processed in real-time during this navigation task).. In this paper we will first present a general overview of the method with the learning and the navigation steps. Then section 2 and 3 will focus on the two parts of the navigation steps which consists of the visual servoing task and the key images selection task. Finally, simulated and experimental results are presented in section 4. In this paper, we have presented a new way to achieve image based navigation task. We show that our vehicle is able to track a previously learned trajectory using only the information provided by a monocular camera. The navigation task can be achieved despite important variation in the lighting condition and possible perturbations. This can be achieved thanks to various elements related to the use of mutual information which is new in vision-based control:. • Our approach does not rely on features extracted from the image. Therefore we do not need to track or match features (eg, keypoints) which has proved to be a difficult and not always reliable process. Furthermore no 3D information related to the scene structure is required.. • To avoid this tracking and matching processes, the visionbased control law of the non-holonomic vehicle is directly linked to the optimization of a similarity criterion based on the information shared by two images.. • We propose a control law that directly links the vehicle motion to the variation of the mutual information. The proposed approach that considers a derivation of the MI, up to the second order, allows a large convergence domain along with fast (video rate) computation.. • Considering information contained in the images and not features extracted from the image or the image intensities induces a natural robustness to perturbation that is essential in our navigation context.. We also considered a key images selection process which is efficient regarding the considered navigation taks. Future work is planned on the post processing of the steering angle update. For the moment, it is simply filtered, while using the knowledge on the vehicle kinematics and smoothness of the trajectory could improve the navigation task. Moreover, future work will devoted to the definition of efficient navigation task that require more degrees of freedom and more complex control models such as aerial drones.

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


Unique Fixpoint Induction for Message-Passing Process Calculi We present a proof system for message-passing process calculi with recursion. The key inference rule to deal with recursive processes is a version of Unique Fixpoint Induction for process abstractions.We prove the proof system is sound and also complete for a restricted form of regular messagepassing processes. We also show that the system is incomplete in general and discuss more powerful extensions with inductive inference rules. The last decade has seen much research into verication techniques for concurrent systems. However in order to realise the potential bene ts of this research it is essential that these techniques be applicable to in nite state systems. There are many di erent sources for the in nite nature of concurrent systems and in a series of papers, HL95a, HL96], we have investigated one such source, by focusing on message-passing processes algebras. Systems described in these languages are typically in nite state because of the domain of messages transmitted between processes are often in nite.. Our general approach has been to abstract from concrete reasoning about the transmission of actual data values, and its e ect on the behaviour of processes, and to develop symbolic methods for such reasoning. For example in HL95a] we have developed symbolic transition systems for messagepassing processes and generalised the well-known bisimulation checking algorithms, CPS89], to work at this symbolic level, while in HL96] we have Supported by the EU KIT Project SYMSEM. y Also supported by EPSRC grant no. GR/K60701 z Also supported by the National Science Foundation of China.. Proceedings of CATS'97 (Computing: The Australasian Theory Symposium), Sydney, Australia, February 3{4 1997.. generalised the equational approach to veri cation, Mil89] , by developing a proof system for deducing that message-passing processes are semantically equivalent. The present paper is a contribution to this latter line of research.. Let us rst review this proof system. It uses judgements of the form b T = U where b is a boolean expression and T; U are message-passing process descriptions. This is interpreted as: in all instantiations which satisfy the boolean expression b the processes T and U are semantically equivalent. The proof rules are suitable generalisations of the simple equation based proof systems, which allow the instantiation of a set of equations and the substitution of equals for equals, together with some rules which depend on establishing identities between message expressions. For example consider processes P; Q of the form c?x: if b then T else U ; c?x:R respectively. In order to establish true P = Q; an instance of substitution of equals for equals will reduce it to the proof obligation true ( if b then T else U ) = R: A proof rule for case analysis will then reduce this to the two obligations b T = R and :b U = R:. The proof then proceeds by trying to discharge both of these obligations. Presumably the reasoning will be at least a little di erent in both cases and in general will depend on the messages involved; speci cally on the consequences of the boolean expression b. An example of a proof rule which depends on the message domain is OUTPUT b j = e = e 0 ; b T = U b c!e:T = c!e 0 :U Here c!e:T denotes a process which sends the value of the message expression e along the channel c and then execute T. To establish that two such processes c!e:T and c!e 0 :U are semantically equivalent under the assumption b it is su cient to establish two subgoals. The rst, b j = e = e 0 , is an assertion about the message-passing domain which must be established with some independent theorem prover, while the second, b T = U, is a subgoal which can be tackled within the main proof system.. The aim of this paper is to extend these proof systems to recursively de ned message-passing processes and to investigate the extent to which they are complete.. A typical example of a recursively de ned process is given by P(= c?x:d!jxj:P:. This de nes a process which repeatedly inputs a value, say an integer n, on the channel c and outputs its absolute value jnj on the channel d.. A natural proof rule to handle such processes is Unique Fixpoint Induction, Mil84]. In general if P is a process de ned recursively by a de nition P(= D where P is guarded in D, then to prove that Q is semantically equivalent to P it is su cient to establish that Q is a xed point of the equation is semantically equivalent to P, de ned above, it is su cient, by this rule, to establish true Q = c?x:d!jxj:Q: This can easily be proved using the proof system of HL96], if we are allowed a Recursion Unfolding rule for recursively de ned processes, whereby the term Q can be freely rewritten to its de nition c?x: if x < 0 then d!(?x):Q else d!x:Q ; the proof relies on two facts about the domain of messages, x < 0 j = jxj = ?x and :(x < 0) j = jxj = x:. To have a reasonably expressive language it is natural to allow parameterised de nition of processes such as Phxi(= c!x:c?y:P(y):. However in the presence of such de nitions the Unique Fixpoint Induction rule, as naively expressed above, is unsound. As an example consider the de nition Qhxi(= c!jxj:c?y:Q(y):. The judgement. is obviously untrue but is can be established using the Unique Fixpoint Induction rule above from the judgement x 0 P(x) = c!jxj:c?y:P(y):. This in turn can be established by rst unfolding the de nition of P(x) then applying the OUTPUT rule mentioned above.. In this paper we develop a sound version of Unique Fixpoint Induction appropriate to parameterised recursive de nitions. The key point is to recognise that de nitions such as that for Phxi in fact de ne abstractions which more formally could be written as P(= x c!x:c?y:P(y):. This means that our language for message-passing processes is extended in a functional manner to allow abstractions over data domains, and the application of these abstractions to data expressions. In this extended language Unique Fixpoint Induction is only applied to abstractions and we show that restricted in this manner it is sound. Although this might appear to limit its applicability we also show that we can derive a version of Unique Fixpoint Induction for arbitrary terms which is also sound; this derived version contains restrictions on the free variables occurring in the assumptions of judgements. We also give a partial completeness theorem for the proof system. In Mil89] the corresponding proof system for pure processes is complete for regular processes, where process de nitions are only allowed to use action pre xing and choice. Here we show that our proof system is also complete for a suitable extension of the notion of guarded regular to message-passing processes.. We end this section with a brief outline of the rest of the paper. The next section contains a description of the process language we consider together with a brief review of the late operational semantics. This is followed by a section devoted to an exposition of the proof system which also contains the statement of the main completeness proof. This is the topic of the next section which is then followed by a section showing how to adapt the

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


A characterization of interval-valued residuated lattices As is well-known, residuated lattices (RLs) on the unit interval correspond to leftcontinuous t-norms. Thus far, a similar characterization has not been found for RLs on the set of intervals of [0,1], or more generally, of a bounded lattice L. In this paper, we show that the open problem can be solved if it is restricted, making only a few simple and intuitive assumptions, to the class of interval-valued residuated lattices (IVRLs).More specifically, we derive a full characterization of product and implication in IVRLs in terms of their counterparts on the base RL. To this aim, we use triangle algebras, a recently introduced variety of RLs that serves as an equational representation of IVRLs. In the original, and still most popular, approach to fuzzy set theory introduced by Zadeh [26] , membership values are drawn from the unit interval, equipped with the usual ordering, and intersection and union are modeled by minimum and maximum, respectively. On the other hand, many useful generalizations of the evaluation structure as well as of the connectives have been proposed. Goguen [14] replaced the structure of the totally ordered unit interval by an arbitrary bounded lattice L to allow for incomparabilities among elements, and triangular norms and conorms [21] are quite common nowadays as generalized representations of logical conjunction and disjunction, respectively. Remark that their definition, originally introduced on ([0, 1], min, max), can be naturally extended to a bounded lattice L, by virtue of the ordering of L.. Triangular norms (t-norms for short) are often classified based on the properties they satisfy (see e.g. [19] ). From a logical point of view, a particularly useful property for a t-norm is the residuation principle, i.e., the existence of an implication I T (called residual implication) satisfying T (x, y) ≤ z iff x ≤ I T (y, z), for all possible x, y and z in L; the corresponding logical structure is a residuated lattice (RL). On the unit interval, the t-norms that satisfy this property are exactly those that are left-continuous. In general, however, no such easy characterizations exist.. Here, we focus on triangularizations, i.e., lattices on the set of intervals of a bounded lattice L (the base lattice). Such triangularizations are often used to model not only gradedness, but also a degree of imprecision or uncertainty. The best-known instance is probably L I , which emerges by taking L = ([0, 1], min, max) as the base lattice. The study of t-norms on L I satisfying the residuation principle has received ample attention (see e.g. [5, 7, 8] ), but their characterization currently still remains an important unsolved problem.. In its most general form, the open problem is complicated by the fact that certain "badly behaved" t-norms may still satisfy the residuation principle (see, e.g., [7] and [18] In other words, "exact" inputs (i.e., degenerated intervals) are not necessarily mapped to an exact output. Many authors (e.g. Alcalde et al. in [1] , Bustince in [2] , Esteva et al. in [11] , Gehrke et al. in [13] and Höhle in [16] ) therefore do not consider these "badly behaved" t-norms.. If we restrict such operations from consideration, the corresponding logical structures are interval-valued residuated lattices (IVRLs) [24] . In [25] , IVRLs were shown to be isomorphic to triangle algebras, a variety of RLs equipped with approximation operators, and with a third angular point u (uncertainty), different from 0 and 1. As such, triangle algebras provide an equational representation (i.e, strictly in terms of identities) of IVRLs, which makes them a very productive aid in establishing formal results about IVRLs. In [25] , for instance, they were used to construct Triangle Logic (TL), a formal fuzzy logic that was shown to be sound and complete with respect to the class of IVRLs.. In this paper, we use the isomorphism with triangle algebras to derive the general form of product and implication in IVRLs. Apart from solving the above-mentioned open problem, this result also allows to obtain characterizations for other important properties in IVRLs, including involutivity and divisibility.. The remainder of this article is structured as follows: Section 2 proceeds with a recapitulation of all required definitions and properties. The main result is then presented in Section 3, which also contains the technical exposition in terms of triangle algebras that leads up to its proof, as well as some of its corollaries. We then investigate the particular situation on the "standard" IVRLs, i.e., those built on top of L I , in Section 4. We end with a conclusion and some ideas for future work. In this paper, we have established an important result about triangle algebras, and thus also about IVRLs: the product in triangle algebras is necessarily an extension of the product on a smaller residuated lattice. We have shown that these extensions are parametrized by the elements of the smaller residuated lattice and have derived the specific form of these extensions. We have used this result to study other important properties of IVRLs, and to find necessary and sufficient conditions for IVRLs to satisfy these properties. Furthermore, we have considered in some more detail the case of L I , the most commonly used lattice for building IVRLs.. It is known that MTL-algebras are subdirect products of linear residuated lattices [12] . An important challenge in our current research is to prove a similar result for triangle algebras, i.e., to find out which subclass of triangle algebras contains the subdirect products of triangle algebras with a linear diagonal. In the same context, we would also like to unravel all connections between the different properties that can be imposed on triangle algebras.

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


A pose-wise linear illumination manifold model for face recognition using video The objective of this work is to recognize faces using video sequences both for training and novel input, in a realistic, unconstrained setup in which lighting, pose and user motion pattern have a wide variability and face images are of low resolution. There are three major areas of novelty: (i) illumination generalization is achieved by combining coarse histogram correction with fine illumination manifold-based normalization; (ii) pose robustness is achieved by decomposing each appearance manifold into semantic Gaussian pose clusters, comparing the corresponding clusters and fusing the results using an RBF network; (iii) a fully automatic recognition system based on the proposed method is described and extensively evaluated on 600 head motion video sequences with extreme illumination, pose and motion pattern variation. On this challenging data set our system consistently demonstrated a very high recognition rate (95% on average), significantly outperforming state-of-the-art methods from the literature. For decades, the personal identification task had shown progress by employing technological means like secret knowledge, such as Personal Identification Numbers, and by using personal possessions, such as Identity Cards and Radio Frequency Identification chips. As opposed to these means which are generally easy targets for fraud, biometric modalities like facial geometry, ear form and iris are universal and consistent over time.. Automatic face recognition (AFR) has long been established as one of the most active research areas in computer vision [1] . In spite of a large number of developed algorithms, real-world performance of AFR has been, to say the least, disappointing. Even in very controlled imaging conditions, such as those used for passport photographs, the error rate has been reported to be as high as 10% [2] , while in less controlled environments the performance degrades even further [3] . We believe that the main reason for the apparent discrepancy between results reported in the literature and those observed in the real world is that the assumptions that most AFR methods rest upon are hard to satisfy in practice (see Section 2) .. In this paper, we are interested in recognition using video sequences. This problem is of enormous interest as video is readily available in many applications, while the abundance of information contained within it can help resolve some of the inherent ambiguities of single-shot based recognition. In practice, video data can be extracted from surveillance videos by tracking a face or by instructing a cooperative user to move the head in front of a mounted camera.. We assume that both the training and novel data available to an AFR system is organized in a database where a sequence of images for each individual contains some variability in pose, but is not obtained in scripted conditions or in controlled illumination. The recognition problem can then be formulated as taking a sequence of face images from an unknown individual and finding the best matching sequence in the database of sequences labelled by the identity. In this paper we introduced a novel algorithm for face recognition from video, robust to changes in illumination, pose and the motion pattern of the user. This was achieved by combining person-specific face motion appearance manifolds with generic pose-specific illumination manifolds, which were assumed to be linear. Integrated into a fully automatic practical system, the method has demonstrated a high degree of robustness in realistic and uncontrolled data acquisition conditions-specifically to changes in illumination, pose and the motion pattern of the user. We described an extensive empirical evaluation and a comparison with state-of-the-art algorithms in the literature. On average the system correctly recognized in 95% of the cases, exhibiting little sensitivity to the imagining conditions used for data acquisition and consistently outperforming other methods.. We intend to investigate several improvements to the method. Firstly, by employing a more sophisticated reflectance model, we hope to implicitly model nonlinearities in the pose-specific illumination subspaces. Another possible improvement we are considering is the use of quasi illumination-invariant image filters for precise pose matching between faces from two manifolds. In addition to the expected performance improvement when using all over only some poses, it is interesting to note different contributions of side and frontal pose clusters, the former being more discriminative in the context of the proposed method. The performance of the proposed method is by far the best, both in terms of the average recognition rate and its variance. The performance of the proposed method is summarized in Table 1. We tabulated the recognition rates achieved across different combinations of illuminations used for training and test input, so as to illustrate its degree of sensitivity to the particular choice of data acquisition conditions. An average rate of 95.2% was achieved, with a mean standard deviation of only 4.7%. Therefore, we conclude that the proposed method is successful in recognition across illumination, pose and motion pattern variation, with high robustness to the exact imaging setup used to provide a set of gallery videos.. This conclusion is further corroborated by Fig. 16a , which shows cumulative distributions of inter-and intra-personal manifold distances (see Section 3.4.1) and Fig. 16b which plots the ReceiverOperator Characteristic of the proposed algorithm. Good class separation can be seen in both, illustrating the suitability of our method for verification (one-against-one matching) applications: less than 0.5% false positive rate is attained for 91.2% true positive rate. Additionally, it is important to note that good separation is maintained across a wide range of distances, as can be seen in Fig. 16a from low gradients of inter-and intra-class distributions (e.g. on the interval between 1.0 and 15.0). This is significant as it implies that the interclass threshold choice is not very numerically sensitive: by choosing a threshold in the middle of this range, we can expect the recognition performance to generalize well to different data sets.

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


On the Learnability of Recursively Enumerable Languages from Good Examples The present paper investigates identi cation of indexed families of recursively enumerable languages from good examples. In the context of class preserving learning from good text examples, it is shown that the notions of nite and limit identi cation coincide. On the other hand, these two criteria are different in the context of class comprising learning from good text examples. In the context of learning from good informant examples, nite and limit identication criteria di er for both class preserving and class comprising cases. The above results resolve an open question posed by Lange, Nessel and Wiehagen in a similar study about indexed families of recursive languages. Consider the identi cation of formal languages from positive data. A machine is fed all the strings and no nonstrings of a language L, in any order, one string at a time. The machine, as it receives strings of L, outputs a sequence of grammars. The machine is said to identify L just in case the sequence of grammars converges to a grammar for L. This is the paradigm of identi cation in the limit (called TxtEx-identi cation) introduced by Gold Gol67] .. Gold's model may be criticized for its requirement that eventually all elements of a language be presented to the learning machine. This criticism led Freivalds, Kinber and Wiehagen FKW93] to study models in which learners are provided with only nitely many examples (of a possibly in nite language), though these examples may include important ones. Freivalds, Kinber and Wiehagen referred to these important examples as good examples. The revised learning model then requires the learner to come up with a grammar for the language when it is provided a set of examples containing good examples. If the learner's rst and only conjecture is correct then the model is referred to as nite identi cation from good examples and if the learner makes a nite number of incorrect conjectures before converging to a correct one, the model is referred to as identi cation in the limit from good examples. 1 It should be noted that in the model just described, the learner may receive some superset of the good examples and not necessarily just the good examples. This avoids some trivial cases where learnability can be achieved by a suitable encoding of a correct grammar into the good examples (see for example BCJ95]). The model places as an additional requirement that it has to be possible to e ectively generate the good examples for a language (using its grammar). This allows a helpful teacher to provide the good examples needed for learning.. As a concrete example consider pattern languages Ang80a]. For a pattern p, we can take fw 2 j jwj = jpj; w 2 L(p)g as a set of good examples for L(p) (for class preserving nite identi cation from good text examples) 2 . We refer the reader to FKW93] and LNW94] for additional motivation and discussion on these models. Learning from good examples was rst considered by Freivalds, Kinber and Wiehagen in the context of function learning FKW93]. Lange, Nessel and Wiehagen LNW94] extended this study to include indexed families of recursive languages. For this later case, they showed that the power of nite identi cation and identi cation in the limit is the same as long as class preserving learning is considered. They left open the issue of whether a similar result holds in the context of learning language classes that are not necessarily indexed families of recursive languages. In this paper, we provide a solution to this question. A model similar to the one studied here is also studied in the PAC setting by GM96].. In the case of learning indexed families of recursive languages, the hypothesis space chosen is also an indexed family of recursive languages. The e ective generation of the good examples is with respect to the hypothesis space. Two situations are usually considered: class preserving (when the hypothesis space contains exactly the languages in the class being learned) and class comprising (when the hypothesis space may contain descriptions for languages in addition to the language class being learned). In this paper we consider learning from good examples for indexed families of recursively enumerable languages 3 . We take the hypothesis space also to be an indexed family of recursively enumerable languages. Some of our results can also be extended to the case of learning any class of r.e. languages, which may not necessarily be recursively indexable.. In the present paper we consider the interaction between learning from good text or good informant examples, nite or limit learning, class preserving or class comprising learning. In addition we compare the classes resulting from the above interaction with the standard inference classes. Some of the highlights are brie y discussed next.. We rst consider learning from good text examples. We show the following: (i) for class preserving learning, nite learning and limit learning from good text examples coincide (Theorem 1 (a)); (ii) for class comprising learning, nite and limit learning from good text examples di er (Theorem 1 (b)). As noted, the above two results resolve an open question in LNW94]. Theorem 4 shows that TxtEx, the class of collections of languages identi able in the limit from texts, is incomparable to the class of language collections that can be nitely learned from good text examples, though TxtEx is contained in class comprising learning in the limit from good text examples (Theorem 6 (a)). On the other hand, we also show that TxtBc, the class of language collections that can behaviorally correctly identi ed from texts, contains class comprising nite learning from good text examples (Theorem 5) but does not contain class comprising learning in the limit from good text examples (Theorem 6 (b)). At present it is open whether class comprising learning in the limit from good text examples contains TxtBc.. For learning from informant, we show that for both class preserving and class comprising learning, nite and limit learning from good informant examples di er (Theorem 9). This also addresses an open question in LNW94]. We also show that class comprising nite learning from good informant examples is contained in InfBc (Theorem 8). However, InfBc is incomparable to class preserving learning in the limit from good informant examples. It is open at present whether InfBc is contained in class comprising learning in the limit from good informant examples.. We now proceed formally. For a partial function , domain( ) and range( ) denote the domain and range of respectively. We say (x)# to denote the fact that (x) is de ned. We say (x)" to denote the fact that (x) is unde ned.. A programming system is a partial recursive function of two arguments. For a programming system , we denote by i the partial recursive function x: (i; x). i is also called a -program for the (possibly partial) function i . We use W i to denote the domain of i . Thus we can consider W i as the language accepted by -grammar i. L = fW i j i 2 Ng. Intuitively, L denotes the languages accepted by programs in programming system . Suppose is some xed Blum complexity measure for the programming system . Then we use W i;s to denote the set fx < s j i (x) < sg.. Intuitively, W i;s denotes the part of W i enumerated within s steps by some xed e ective procedure for enumeration of all W i .. A language class L is said to be indexable class of r.e. languages provided there is a programming system such that L = L.. We let 0 ; 1 ; : : : denote some e ective enumeration of all the computable programming systems.. A programming system is called an acceptable programming system Rog67], i for all programming systems , there exists a recursive function h, such that (8i) h(i) = i ]. By ' we denote a xed acceptable programming system. By we denote an arbitrary xed Blum complexity measure Blu67, HU79] for the '-system. For ease of notation, we sometimes use W i to denote W ' i . For specifying e ective generation of good examples, we need to consider the notion of computable functions from N to FIN. We say that a (possibly partial) mapping F from N to FIN, is (partially) computable, i there exists a partial recursive function such that (x)# i F(x) is de ned, and for x 2 domain(F ), F(x) = D (x) .. In other words, some Turing machine on input x, enumerates F(x) and then signals that it has completed the enumeration. We let F 0 ; F 1 ; : : : denote an e ective enumeration of all the partial computable mappings from N to FIN.. Quanti ers 8; 9; denotes an enumeration of all learning machines.. We interpret the output of a machine as programs in some programming system (which need not be acceptable). This programming system is called the hypothesis space for the machine.. The following de nition introduces standard criteria for successful identi cation of languages.

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


Device optimization for ultra-low power digital sub-threshold operation Digital circuits operated in the sub-threshold region (supply voltage less than the transistor threshold voltage) can have orders of magnitude power advantage over standard CMOS circuits for applications requiring ultra-low power and medium frequency of operation. It is possible to implement sub-threshold logic circuits using the standard transistors that are designed primarily for ultra high performance super-threshold logic design. However, a Si MOSFET so optimized for performance in the super-threshold regime is not the best device to use in the sub-threshold domain. In this paper, we propose device designs apt for sub-threshold operation. Results show that the optimized device improves the delay and power delay product (PDP) of an inverter chain by 44% and 51%, respectively, over the normal super-threshold device operated in the sub-threshold region. In recent years, the demand for power sensitive designs has grown significantly. This tremendous demand has mainly been due to the fast growth of battery-operated portable applications such as notebook and laptop computers, personal digital assistants, cellular phones and other portable communication devices. Further, due to the aggressive scaling of transistor sizes for high performance applications, not only sub-threshold leakage current increases exponentially, but also gate leakage and reverse biased sourcesubstrate and drain-substrate junction band-to-band tunneling (BTBT) currents increase significantly [1] [2] [3] . The unwanted tunneling currents may severely limit the functionality of the devices. In the VLSI system design space, considerable attention has been given to the design of medium power, medium performance circuits (tens to hundreds of MHz clock rates). Well known methods include: voltage scaling [4] , [5] , switching activity reduction [6] , [7] , architectural techniques of pipelining and parallelism, and CAD issues of device sizing, interconnect [8] , [9] and logic [10] , [11] optimization. However, these methods are not sufficient in many applications such as portable computing gadgets, medical electronics, etc., where ultra-low power consumption with medium frequency of operation (tens to hundreds of MHz) is the primary requirement. To cope with this, design of digital sub-threshold logic was investigated with standard devices operated in the sub-threshold region (supply voltage less than the threshold voltage of the transistor) [12] , [13] . Due to the exponential I-V characteristics of the transistor (schematic shown in Fig. 1a ), sub-threshold logic gates provide near ideal voltage transfer characteristics (VTC). Furthermore, in the sub-threshold region, the transistor input capacitance is less than that of strong inversion operation. The transistor input capacitance, C i in sub-threshold is a combination of intrinsic (oxide capacitance (Cox) and depletion capacitance (Cd)) and parasitic (overlap capacitance (Cdo), fringing capacitance (Cif , Cof ), etc.,) capacitances of a transistor (Fig. 1b) and is given by [14] . In contrast, the input capacitance in strong inversion operation is dominated by the oxide capacitance. Due to the smaller capacitance and lower supply voltage (< threshold voltage of the transistor, Vth) digital sub-threshold circuits consume less power than their strong inversion counterpart at a particular frequency of operation. However, since the sub-threshold leakage current is used as the operating current in sub-threshold operation, these circuits cannot be operated at very high frequencies. In previous work, standard transistors were operated in the subthreshold region to implement sub-threshold logic. By standard transistors is meant the super-threshold transistors that are used for ultra high performance design. It is only prudent to investigate if these standard transistors are well suited for sub-threshold operation. In this paper, we show that for a particular technology generation, lower power and higher performance can be achieved in the sub-threshold region by redesigning the devices specifically for sub-threshold operation. In this paper we propose an optimized transistor structure for digital sub-threshold operation. Although our simulations have been carried out for a 50nm effective-length technology, the underlying idea of the work is applicable to any scaled technology. We also showed that digital sub-threshold circuits can be optimized to operate at higher frequencies than what the standard super-threshold transistors do provide. The optimized subthreshold devices show more than 50% improvement in powerdelay-product. Another important contribution of this work is that we have demonstrated that a simpler doping profile for the channel is adequate for sub-threshold devices. Due to the low operating voltage, the halo/retrograde channel doping can be removed and a simple high to low doping profile is adequate for sub-threshold operations. Our study shows that such a doping profile has lower peak doping concentration, thereby reducing junction capacitance. This in turn improves the circuit delay and power dissipation. It is therefore, necessary to design optimum device structure for subthreshold operation in order to achieve minimum possible power consumption in the circuit at a particular frequency of operation.

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 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 B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 short-term fair MAC protocol for WLANs Designing a medium access control (MAC) protocol that simultaneously provides high throughput and allows individual users to share limited spectrum resources fairly, especially in the short-term time horizon, is a challenging problem for wireless LANs. In this paper, we propose an efficient cooperative MAC protocol with very simple state information that considers only collisions, like the standard IEEE 802.11 MAC protocol. However, contrary to the IEEE 802.11 MAC, the cooperative MAC gives collided users priority to access the channel by assigning them shorter backoff counters and interframe-spaces than users who did not participate in the collision event. In other words, collided users are the only ones allowed to transmit in the following contention period. For the cooperative MAC protocol, we utilize an analytical throughput model to obtain the optimal parameter settings. Simulation results show that the cooperative MAC provides significant improvement in short-term fairness and access delay, while still providing high network throughput. In recent years, wireless local area networks (LANs) have received significant attention due to their attractive properties such as high throughput, easy deployability with or without any infrastructure, self-configurability, etc. Wireless LANs have limited spectrum, shared by many users. Hence, a MAC protocol should simultaneously provide high throughput and allow individual users to share the limited wireless spectrum fairly, especially in the short-term time horizon, while still requiring very simple state information. A short-term fair MAC protocol has the potential to improve the performance of real-time traffic by reducing delay jitter, and to improve the performance of TCP applications by smoothing the inter-arrival of ACKs and packets as well as fair access in any time horizon.. Time-division multiple access (TDMA) achieves short-term fairness and high throughput under heavy network loads [3, 14] , since any successful user must wait for other users to transmit before the next packet is sent. However, TDMA requires a central authority, synchronization among users, and knowledge of the number of users in the system. Further, the TDMA requires knowledge of the number of users which might be dynamically changing in wireless LANs. The IEEE 802.11 standard [1] defines a random access mechanism under Distributed Coordination Function (DCF) which does not require a central authority or synchronization. The IEEE 802.11 contention-based MAC protocol [1] requires very simple state information, since only collisions are considered in the backoff procedure. However, the IEEE 802.11 MAC protocol favors successful users, which results in short-term unfairness among them [2] by assigning larger backoff counters to the collided users.. Fair channel access can be provided by improving the fairness of the IEEE 802.11 MAC protocol (see [4] [5] [6] [7] [8] [9] 12, [16] [17] [18] 21] and references therein) by designing efficient access protocols or combining access protocols with scheduling algorithms. Nandagopal et al. [4] propose a distributed dynamic ppersistent MAC protocol to achieve proportional fairness by measuring idle time durations, collisions, etc. Vaidya et al. [6] adapt self-clocked fair queueing [19] to achieve fairness by piggybacking local virtual times and adjusting IEEE 802.11 backoff policies. Luo et al. [7] propose three localized fair queueing models, and users emulate start-time fair queueing [20] to achieve global weighted fairness in ad hoc networks. Finally, Kanodia et al. [5] emulate EDF-like reference scheduling to achieve the desired fairness level. All of the above schemes use some form of information sharing that requires additional signaling and packet overhead to allow users to cooperate with each other. Furthermore, they necessitate more computational complexity and memory requirements.. In this paper, first we develop a novel and efficient short-term fair cooperative MAC (C-MAC) protocol, which requires very simple state information since only collisions are considered in the backoff procedures, like the IEEE 802.11 MAC protocol. However, contrary to the IEEE 802.11 MAC protocol, the cooperative MAC assigns collided users shorter backoff counters and interframe-spaces to access the channel, unlike regular users who did not participate in the collision event, i.e., the collided users are the only ones allowed to transmit in the following contention period. To achieve short-term fairness, similar to TDMA, a successful user chooses a larger backoff counter to allow other users to transmit before the next packet transmission. This paper introduces a different access method and mathematical analysis than the earlier version [22] .. Second, we analyze the short-term fairness property of the C-MAC by using the sliding-window size method [2] and Jain's fairness index [24] . The C-MAC achieves short-term fairness within sliding window sizes of two to three packets per user, whereas the IEEE 802.11 achieves the same level of fairness within sliding windows of 79-160 packets per user. As a result of the short-term fairness, the C-MAC achieves a significant reduction in access delay. Furthermore, increasing the number of users does not degrade the performance of the C-MAC, unlike the IEEE802.11.. Third, we derive an analytical throughput equation that depends on two system parameters and the average number of users in the system. We use an optimization toolbox to find the optimal setting for the C-MAC protocol, assuming that the average number of users is known. The average number of users can be estimated simply by monitoring the number of successful transmissions because of the short-term fairness property of the C-MAC protocol. When the average number of users dynamically changes and an estimation technique cannot be utilized, we determine the system parameters that will maximize throughput by using the minimum mean square error estimation.. Finally, we perform a large set of simulation experiments by using the ns-2 simulator [25] for Wireless LANs. We compare throughput of the C-MAC with both the IEEE 802.11 MAC and basic FCR MAC [10] protocols. The C-MAC achieves compatible throughput performance with the IEEE 802.11 when the RTS/CTS mechanism is applied, and achieves significantly better performance with the basic access mechanism. The FCR MAC outperforms the C-MAC at the expense of achieving short-term fairness at a sliding window size of 352 packets per user in the best case. We also investigate the performance of TCP applications under both the C-MAC and the IEEE 802.11, when we have different packet error rates. We find that the C-MAC handles packet errors much better than the IEEE 802.11, since the C-MAC transmits corrupted packets immediately, which results in up to 12% throughput gain. When we evaluate the C-MAC under different network load, heterogenous traffic, and variable capacity, we found that the C-MAC performs similar or better than the IEEE 802.11 MAC. We would like to note that this paper focuses on the design of a short-term fair protocol, and providing service differentiation and Quality of Service are out of the scope of this paper. We refer the interested reader to [29] for a service differentiation mechanism which uses the C-MAC protocol as an underlying MAC protocol.. The remainder of this paper is organized as follows. In Section 2, we describe the C-MAC protocol. Next, in Section 3, we describe the sliding window method and Jain's fairness index. We derive a throughput equation for the C-MAC protocol in Section 4. Then, in Section 5, we compare and contrast the IEEE802.11 MAC, FCR MAC, and C-MAC protocols, using the results of a simulation-based performance study. Finally, we provide conclusions in Section 6. The goal of this work is to design a distributed medium access protocol to achieve short-term fairness in order to improve the performance of real-time and TCP applications. To achieve this, we propose a novel and efficient cooperative MAC protocol that requires a simple backoff algorithm where users who collide use shorter backoff counters and interframe-spaces to access the channel than users who did not participate in the collision event. The proposed C-MAC protocol has the same level of complexity as the standard IEEE 802.11 MAC protocol, since both consider only collisions in the backoff procedures. The proposed C-MAC protocol achieves short-term fairness within a sliding window size of two to three packets per user, whereas the IEEE 802.11 MAC protocol requires sliding windows of 79-160 packets per user. As a result of the short-term fairness property, the C-MAC protocol yields significant reduction in access delay. For the proposed cooperative MAC protocol, we utilize an analytical throughput model to obtain the optimal parameter settings for a known number of users. We introduce a simple technique that relies on the short-term fairness property of the C-MAC protocol to estimate the average number of users in the system. Simulation results show that both optimal and estimated parameters provide steady throughput for any given number of users. We also use the minimum mean square error estimation to obtain constant system parameters if the user-estimation technique is not used. Simulation results show that the C-MAC protocol, when used with the optimal, user estimation, or minimum mean square error estimation parameters, achieves throughput performance compatible with the IEEE 802.11 MAC protocol when the RTS/ CTS mechanism is applied and achieves significantly better performance with the basic access mechanism.

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