Comparison of tightly and loosely coupled decision paradigms in multiagent expedition Frameworks for multiagent decision making may be divided into those where each agent is assigned a single variable (SVFs) and those where each agent carries an internal model, which can be further divided into loosely coupled frameworks (LCFs) and tightly coupled frameworks (TCFs). In TCFs, agent communication interfaces render their subdomains conditionally independent. In LCFs, either agents do not communicate or their messages are semantically less restricted. SVFs do not address the privacy issue well. LCF agents cannot draw from collective knowledge as well as TCF agents. However, disproportional effort has been dedicated to SVFs and LCFs, which can be attributed partially to unawareness of the computational advantages of TCFs over performance, efficiency and privacy. This work aims to provide empirical evidence of such advantages by comparing recursive modeling method (RMM) from LCFs and collaborative design network (CDN) from TCFs, both of which are decision-theoretic and the latter of which is a graphical model. We apply both to multiagent expedition (MAE), resolve technical issues encountered, and report our experimental evaluation. We consider frameworks for online decision making (rather than offline policy making, e.g., (Becker et al., 2004) ) in cooperative multiagent systems. They may be divided into SVFs where each agent is assigned a single variable in the domain and those where each agent carries an internal model over a subdomain. Frameworks using internal models can be further divided into LCFs and TCFs. In TCFs, agents communicate through messages over agent interfaces that are semantically rigorously defined to render subdomains conditionally independent. In LCFs, either agents do not communicate but rely on observing other agents' actions to coordinate, or their messages are semantically less restricted.. SVFs do not address the issue of private versus public variables well, as they do not have infrastructure to differentiate variables as such. LCFs are often motivated by tasks where agents cannot communicate. Given the proliferation of distributed and wireless computing, it is hard to find task domains where cooperative agents cannot communicate (except a few of military nature). Due to tightly controlled agent interface, joint belief of team agents is well defined and a TCF agent's belief is consistent with the joint belief. This is generally not true in LCFs even when agents do communicate (see Proposition 4.5 and Theorem 8.10 in (Xiang, 2002) for a formal treatment). In other words, a TCF agent draws from collective knowledge better than a LCF agent in general. However, significant research efforts have been dedicated to SVFs, e.g., (Modi et al., 2005; Petcu and Faltings, 2005) , and LCFs, e.g., (Gmytrasiewicz et al., 1998; Gmytrasiewicz and Durfee, 2001; Maes et al., 2001; Shen and Lesser, 2006) , in comparison with those to TCFs (Xiang, 2002; Xiang et al., 2005) . This can be attributed at least partly to unawareness of the computational advantages of TCFs over performance, efficiency and privacy. Hence, empirical evidence of such advantages will contribute to the due adoption of TCFs. In this work, we select one representative, RMM (Gmytrasiewicz et al., 1998) , from LCFs and one, CDN (Xiang et al., 2005) , from TCFs, both of which are decision-theoretic and the latter of which is a graphical model. We apply both to the same multiagent decision problem, MAE (Xiang and Hanshar, 2007) , resolve technical issues encountered, especially those related to RMM, and compare them experimentally.. Sec. 2 reviews background on MAE, CDN and RMM. Sec. 3 presents technical issues on applying RMM to MAE. Sec. 4 reports experimental results. We discuss the generality issues of this research in Sec. 5. This work is motivated by the disproportional research effort allocated among SVFs, LCFs and TCFs, which forms an odd contrast with the proliferation of distributed/wireless computing, societal emphasis on privacy, and theoretically established advantage of TCFs in utilizing collective knowledge. To improve awareness, we implemented CDN and RMM as representatives of TCFs and LCFs, respectively, in MAE, to allow experimental comparison. The application of RMM to MAE is a novel and nontrivial attempt. The study provided empirical evidence of advantages of CDN over RMM on performance and efficiency. Below we generalize this comparison to other domains and the advantage of CDN over SVFs on privacy.. At the modeling level, RMM and LCFs are limited by the need to model agent interactions without sufficient information. This is evidenced by the need for strong and often invalid assumptions in order to update belief on possible states of team agents (Sec. 3.3). This limitation also applies to communicative LCFs, e.g., (Gmytrasiewicz and Durfee, 2001) . Agents in noncommunicative LCFs coordinate by observing other agents' actions. Since messages are speech acts, communicative LCFs are not fundamentally different. In contrast, CDN-based agents and TCFs in general do not suffer from this problem as agent interfaces are required to render agent subdomains conditionally independent. RMM is also limited by its matrix-based representation of exponential complexity. This can be remedied by adopting a graphical model in each agent as in MAID (Koller and Milch, 2001 ), although the above limitation stands.. At the decision making level, RMM and LCFs are limited by having to guess about the states and decisions of other agents based on observations. The inaccuracy in estimation can degrade agent performance through two distinct mechanisms: Firstly through misjudgement of other agents' states, which in turn leads to misjudgement of the optimal joint plan. Secondly, multiple optimal joint plans can degrade agent performance due to independent choice of agents. Social conventions cannot solve this problem as we have shown through a counterexample.. On the other hand, conditional independence rendering interfaces in TCFs convey sufficient states and decisions, resulting in improved coordination and superior performance. Compared to SVFs, an infra-structure exists within each CDN agent to differentiate variables into public and private. Only information on public variables are communicated through an agent interface. Private internal representations and preferences are not disclosed. Therefore, TCFs such as CDN provide superior performance, more efficient computation and a higher degree of privacy. Although a cost of communication must be paid (relative to non-communicative LCFs), since the communication is efficient (when the CDN is sparse), the price will be worthwhile for many applications. If communication is noisy/lost the performance degrades gracefully as agents can continue to work in smaller groups (see Sec. 8.9 in (Xiang, 2002) ).. Regarding the generality of this work, we draw attention to key features of CDN and RMM. Both are decision-theoretic. RMM is proposed as a general framework for cooperative multiagent decision making. CDN is proposed in the context of collaborative design, but is in fact a general framework, whose applicability to MAE, a domain very different from design, is a clear indication. The generality of CDN and RMM and their common decision-theoretic foundation point to the source of difference in their experimental evaluation, i.e., their difference in agent coupling, and promise that our empirical results in MAE are generalizable.

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


Approximate Halfspace Range Counting We present a simple scheme extending the shallow partitioning data structures of Matoušek, that supports efficient approximate halfspace range-counting queries in R d with relative error ε. Specifically, the problem is, given a set P of n points in R d , to preprocess them into a data structure that returns, for a query halfspace h, a number t so that (1−ε)|h∩P | ≤ t ≤ (1+ε)|h∩P |. One of our data structures requires linear storage and O(n 1+δ ) preprocessing time, for any δ > 0, and answers a query in time O ε −γ n 1−1/⌊d/2⌋ 2 b log * n , for any γ > 2/⌊d/2⌋; the choice of γ and δ affects b and the implied constants. Several variants and extensions are also discussed. As presented, the construction of the structure is mostly deterministic, except for one critical randomized step. The query efficiency is guaranteed with high probability, for all queries. The construction can also be fully derandomized, at the expense of increasing preprocessing time. The problem studied in this paper is approximate range counting. In abstract terms, we are given a range space (X, R), where X is a set of n objects and R is a collection of subsets of X, called ranges. In a typical geometric setting, X is a finite subset of some infinite ground set U (e.g., R d ), and R = {R ∩ X | R ∈ R U }, where R U is a collection of subsets (ranges) of U of some simple shape (such as halfspaces). To simplify the notation, we not distinguish between R and R U . The goal is to preprocess X into a data structure that supports efficient queries of the form: Given R ∈ R U , compute a number t such that (1 − ε)|X ∩ R| ≤ t ≤ (1 + ε)|X ∩ R|.. Here the relative error ε, 0 < ε < 1, is either fixed and available during preprocessing, or not known in advance, but specified as part of the query. We refer to such an estimate t as an ε-approximate count of X ∩ R.. Notice that the problem becomes more challenging as |X ∩ R| decreases. At the extreme, when |X ∩ R| < 1/ε, we must produce the count exactly. In particular, we need to be able to detect without any error the empty ranges, i.e., those satisfying X ∩ R = ∅. Thus approximate range counting, in the above sense, is at least as hard as range emptiness detection.. We make the standard assumption that the range space (X, R) (or, in fact, (U, R U )) has finite (i.e., independent of n) VC-dimension δ which is indeed the case in many geometric applications; see [6, 13, 19, 21] for definitions and more details.. Epsilon-approximations. A standard and general technique for tackling the approximate range counting problem is to use ε-approximations. An (absolute-error) ε-approximation for (X, R) is a subset B ⊂ X such that, for each R ∈ R |B ∩ R| |B| − |X ∩ R| |X| < ε.. As shown by Vapnik and Chervonenkis [24] (see also [6, 19, 21] ), there always exist absolute-error ε-approximations of size cδ ε 2 log δ ε , where c is an absolute constant. As a matter of fact, any random sample of these many elements of X is an ε-approximation with constant probability. More precisely, such a sample of size cδ ε 2 log δ ε + c ε 2 log 1 q , for a sufficiently large absolute constant c, is an ε-approximation with probability at least 1 − q. See [6, 7, 13, 20] for more details. This bound was later improved to cδ ε 2 + c ε 2 log 1 q , by Talagrand [23] and by Li et al. [16] ; see also [11] . Absolute-error ε-approximations are not exactly what is needed for approximate range counting. That is, suppose we are given such an approximation B. For a range R ∈ R, we can compute (say, by brute force) |B ∩ R|, and return |B ∩ R| · |X|/|B| as an estimate of |X ∩ R|. By (1), we have |B ∩ R| · |X|/|B| − |X ∩ R| < ε|X|, but we want the error to be at most ε|X ∩ R|. If |X ∩ R| is large, say, at least |X|/2, we can replace ε by ε/2, and guarantee the desired relative error. But if |X ∩ R| is small, the error is much larger than what we want.. For this reason, we would like to construct a relative-error ε-approximation set for (X, R), which should be a subset A ⊂ X satisfying, for each R ∈ R,. However, this "definition" suffers from the same syndrome as the definition of approximate range counting; that is, as |X ∩ R| shrinks, the absolute precision of the approximation has to increase.. At the extreme, when A ∩ R = ∅, X ∩ R must also be empty (assuming ε < 1); in general, we cannot guarantee this property, unless we take A = X, which defeats the whole purpose of using small ε-approximations to speed up approximate counting.. For this reason, we refine the definition as follows: a relative-error (p, ε)-approximation (or a relative (p, ε)-approximation, for short) is a subset A ⊂ X that satisfies (2) for each R ∈ R with |R| ≥ pn, where 0 < p < 1 is another fixed parameter. As noted by Har-Peled [11] , it follows from the result of Li et al. [16] (see also [10, 12, 22] ) that there exist subsets with this property of size cδ ε 2 p log 1 p , where c is an absolute constant. As a matter of fact, any random sample of cδ ε 2 p log 1 p + log 1 q elements of X is a relative (p, ε)-approximation with probability at least 1 − q [11, 16] . The construction can also be derandomized, using the recent technique of Har-Peled [11] ; see Section 3.1 for more details.. To appreciate the above bound on the size of relative (p, ε)-approximations, it is instructive to observe that, for a given parameter p, any absolute-error (εp)-approximation A will approximate "large" ranges (of size at least pn) to within relative error ε, as is easily checked, so it is a relative (p, ε)-approximation. However, the Vapnik-Chervonenkis bound on the size of A in this case, namely, cδ ε 2 p 2 log δ εp , or even the improved bound of Li et al. and others [11, 16, 23] , namely cδ ε 2 p 2 , is larger by roughly a factor of 1/p than the bound of [16] stated above.. The existence of a relative (p, ε)-approximation A provides a simple mechanism for approximate range counting, in the manner outlined above; that is, for a range R, count A ∩ R exactly, say, by brute force in O(|A|) time, and output |A∩R|·|X|/|A| as an ε-approximate count of X ∩R. However, this will work only for ranges of size at least pn. The main contribution of this paper is to show that an appropriate incorporation of relative (p, ε)-approximations into standard range searching data structures yields a procedure for approximate range counting that works, quite efficiently, for ranges of any size.. Exact range counting. The motivation for seeking approximate range counting techniques is that exact range counting is (more) expensive. For instance, consider the classical halfspace range counting problem [18] , which is the exact analog of the main specific problem studied in this paper. Here, for a point set of size n in R d , for d > 3, the best known algorithm for exact range counting with near-linear storage guarantees O(n 1−1/d ) query time [18] . In contrast, our results (reviewed in detail below) reduces the query cost to roughly O(n 1−1/⌊d/2⌋ ) (ignoring the dependence on ε), about the same cost as that of answering halfspace range emptiness queries [17] . Recall that we cannot do better than that, since halfspace range emptiness is a special case of our problem.. Alternative recent solutions. Two recent papers address the approximate range counting problem, and achieve improvements similar to ours. The first result is due to Aronov and Har-Peled [2] , who reduce this problem to range emptiness, by performing binary search on the size |X ∩ R| for the given range R, until the desired relative error is attained. Each decision step in the search is made by accessing O 1 ε 2 log n different range emptiness structures on certain random samples of X. This technique is a general reduction from approximate range searching to range emptiness testing. In the revised version [2] , the algorithm answers a query in time O 1 ε 2 log n Q empty (n), where Q empty (n) is the time to answer a range emptiness query. The storage is O 1 ε 2 log n S empty (n), and the preprocessing is O 1 ε 2 log n T empty (n), where S empty (n), T empty (n) are the storage requirements and preprocessing time for the range emptiness data structure, respectively.. In this approach, one assigns to each data object of X, independently, a random weight, drawn from an exponential distribution with density e −x , sorts the objects by their weights into a random permutation, and then finds the minimum rank in that permutation of the objects in the query range R. As in the technique of Aronov and Har-Peled, one then repeats this experiment O( 1 ε 2 log n) times, 1 computes the average µ of the weights of the minimum elements, and approximates |R| by 1/µ.. To apply this machinery to approximate halfspace range counting, one needs a data structure that preprocesses the given set X of points, and a given random permutation thereof, into a data structure that can answer halfspace-minimum range queries efficiently: Given a query halfspace h, find the point of X of minimum rank among those contained in h. Kaplan and Sharir present such structures for halfspaces in R 3 (a revised version [14] extends it to any dimension). The performance of their algorithm is comparable with that of Aronov and Har-Peled's algorithm.. Our results. In this paper, we present an alternative, comparably efficient, and somewhat improved solution for the approximate range counting problem, focusing mainly on halfspace ranges in R d , d ≥ 4. Whereas the algorithm of Aronov and Har-Peled uses a range emptiness procedure as a black box, we examine the inner workings of such a procedure (or, more precisely, of a shallow range reporting procedure, which has comparable performance), and turn it into an approximate counting procedure. Informally, the range emptiness/reporting data structures of Matoušek [17] consist of a partition tree, whose nodes store certain canonical subsets of X, and which has the property that a query with a range that is shallow at a node v (i.e., one that contains only a few points of the subset stored at v; see below for a more precise definition) visits only a small number of children of v. When the procedure realizes that the query visits too many children, it stops and reports that the range cannot be shallow. For emptiness queries, this immediately implies that the range is not empty. For reporting queries, one can then afford to perform the reporting by brute force, knowing that the output size is large enough and thus commensurable with the size of the subset of X stored at v.. In contrast, our solution exploits the fact that the range is deep (that is, not shallow), to invoke an auxiliary mechanism that approximates its size. Our main auxiliary mechanism is to use a relative approximation, as discussed above. In this manner, we derive two variants of our general approach. The first algorithm uses O(n) storage, O(n 1+δ ) preprocessing time, for any δ > 0 (which reduces to O(n log n) for certain choices of parameters), and answers an approximate halfspace range counting query in R d in time O ε −γ n 1−1/⌊d/2⌋ polylog n , where γ can be chosen arbitrarily from the interval (2/⌊d/2⌋, 2); the choice of γ and δ affects the implied constants and the power of the logarithm in the query time. An important feature of this implementation is that the storage and preprocessing costs are independent of ε, and the dependence of the query time on ε is considerably smaller than in the previous approaches.. A slight potential weakness of this solution is that the query time bound, ignoring its dependence on ε, is comparable with the overhead term in the bound for Matoušek's halfspace range reporting query algorithm [17] , whereas the query time in the solution of Aronov and Har-Peled [2] is expressed in terms of the cost of Matoušek's halfspace range emptiness query algorithm, which is O n 1−1/⌊d/2⌋ · 2 O(log * n) [17] . On one hand, this replaces the polylogarithmic factor in our time bound by a smaller factor, but, on the other hand, one has to multiply this bound by O 1 ε 2 log n in the algorithm of [2] , making the dependence on ε slightly worse.. Nevertheless, our second implementation demonstrates that the fine-tuning done in [17] to 1 In both techniques, this is a consequence of using Chernoff bounds to guarantee high probability of success.. achieve the improved bound for emptiness queries can also be carried out in our context, leading to an algorithm that uses linear storage and O(n 1+δ ) preprocessing time, for any δ > 0, and answers a query in time O ε −γ n 1−1/⌊d/2⌋ · 2 O(log * n) , where γ can be chosen anywhere in the same interval as above. This bound compares favorably with the one in [2] , both in terms of the dependence on ε and the factors that depend on log n. Moreover, the storage used by both solutions is O(n), independent of ε, which is a significant improvement over the previous results.. The general technique that we propose is sufficiently modular, so as to support various extensions and variants. One interesting variant is a data structure that answers efficiently halfspace range minimum queries, with respect to a random permutation of the input set, of the sort that is needed for the technique of [8, 14, 15] described above (see Section 3.5). Another variant is a data structure where ε need not be pre-specified, and can be part of the query; in contrast, the "competing" structures described above have to be built with the knowledge of the value of ε.. In closing, we note that in some recent work by Arya and others [3, 4] , approximate range counting is interpreted differently, in that one seeks an exact count in a range that closely approximates the input range, according to some geometric error measure.. The analysis of our implementations involves somewhat tedious calculations. In the interest of making the paper more readable, we delegate these calculations to the appendix. We conclude the presentation of the basic technique with a few comments.. (1) Notice that there is a sharp discontinuity in the performance of a query in the first implementation, as we reach the leaves of the partition tree. At internal nodes, we effectively ensure that the cost of the approximate counting via the (1/r v , ε/2)-approximation stored at a node v is roughly n α v . In contrast, when we reach a leaf, the cost goes up to Θ(n v ). Quite likely, smoothly interpolating between these two scenarios should refine the dependence of the performance bounds on ε. We leave this as an open problem for further research.. (2) Our technique can be modified to produce a data structure where ε is not known in advance. Of course, we cannot let ε become arbitrarily small, or else the size of the structure will grow out of control. We therefore specify the smallest value ε min of ε that we want the structure to handle, and proceed as follows. The idea is to maintain, at each node v of the tree, many relative approximations. Specifically, we store at v a relative (1/r v , ε i )-approximation, for each ε i in an appropriate geometric sequence, stopping at the larger among ε min and the smallest ε i for which the size of the approximation is still below the threshold n v /(k log 3 log n v ), say. Since the sizes of these approximations also form a geometric sequence, their overall size is still within the allowed storage. Note that a node v may become a leaf for certain values of ε i , and remain an internal node for smaller values of ε i . This can easily be handled by maintaining the appropriate threshold ε at each node. Overall, assuming n is sufficiently large, we get a data structure whose storage and preprocessing costs are as stated in Theorem 3.1 or Theorem 3.2, and whose query performance is again bounded as in these theorems, but in terms of the actual ε ≥ ε min specified in the query.

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


Knowledge-Based Biomedical Word Sense Disambiguation: An Evaluation and Application to Clinical Document Classification Abstract- We evaluated our WSD method on publicly available biomedical WSD datasets. The WSD method we developed outperforms all previously reported knowledge based approaches, with the exception of Personalized PageRank.. We evaluated support vector machine (SVM) based document classifiers on the Cincinnati Computational Medicine Center's (CMC) 2007 Medical Natural Language Processing Challenge. SVMs trained on a document representation that uses only disambiguated concepts significantly outperformed SVMs trained on all concepts.. We developed a WSD module for the unstructured information management architecture (UIMA) and integrated it with the MetaMap UIMA annotator, and with cTAKES, two popular NLP frameworks for the biomedical.

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


An advanced queueing model to analyze appointment-driven service systems Many service systems are appointment-driven. In such systems, customers make an appointment and join an external queue (also referred to as the "waiting list"). At the appointed date, the customer arrives at the service facility and receives service. Important measures of interest include the size of the waiting list as well as the time spent in the waiting list. We develop a model to assess these performance measures. The model may be used to support strategic decisions concerning server capacity (e.g. how often should a server be online, how many customers should be served during each service session, . . . ). The model is a vacation model that uses efficient algorithms and matrix analytical techniques to obtain waiting list performance measures. Many service systems require customers to make an appointment prior to receiving service. After making an appointment, customers are issued an appointment date (which takes place at some future service session) and join an external queue which is referred to as the "waiting list". Upon the appointment date, the customer is removed from the waiting list and receives service at a service facility (e.g. a doctors office). We will refer to these systems as appointment-driven systems. They may be found in healthcare, legal services, administration and many other service sectors. Often appointment-driven systems are characterized by a chronic backlog of customers to be served. The long waiting times involved, result in reneging behavior and missed company profits. The root of these problems may be found in a mismatch between capacity and demand.. In this article we develop a Customer Assignment System (CAS) that allows to assess the trade-off between capacity and demand in appointment-driven systems. CAS have been studied in [4] . In their work, [4] propose a CAS (which they refer to as an AMQ; an Appointment Making Queue) in which arrivals are allowed to take place at any moment in time. Moreover, they assume interarrival times to be exponentially distributed. In this article we develop a more general model that allows arrivals to take place only during predefined arrival sessions (e.g. during office hours). We assume phase type (P H) interarrival time distributions of customers that may differ over arrival sessions (e.g. the arrival process at an arrival session during the weekend is allowed to differ from the arrival process at an arrival session during a regular working day); allowing for a time dependent arrival process. In addition, we significantly improve computational performance and model accuracy.. The contribution of this article is twofold: (1) the model allows the assessment of detailed waiting list performance measures; (2) the model may serve as a tool to address several strategic issues (i.e. the trade-off between capacity and demand, the frequency and characteristics of service sessions as well as the evaluation of appointment-booking practices).. The remainder of this article is organized as follows. Section 2 gives a detailed problem description. The CAS is presented in section 3. Section 4 discusses model accuracy and computational performance by means of a numerical example. Section 5 concludes. In this article we focus on appointment-driven systems. In such systems, customers make an appointment, are issued an appointment date and receive service at some future service session. Appointment-driven systems are often characterized by a chronic backlog of customers to be served (i.e. the waiting list). We develop a model that allows the detailed analysis of waiting list performance measures. We refer to this model as the Customer Assignment System (CAS). The CAS may be considered as a complex vacation model that has various unique properties. In order to efficiently obtain the waiting list performance measures, we divide the CAS into two sets of Discrete Time Markov Chains (DTMC). Each set of DTMC requires a distinct modeling approach. The stationary distribution and other measures of interest of both sets of DTMC are computed by means of efficient algorithms and matrix analytical techniques.. The CAS developed in this article, is able to provide a very accurate analysis of waiting list performance measures. In addition, the computational performance indicates that reallife problems may be analyzed. Using these performance measures, strategically important issues may be addressed: (1) the trade-off between capacity and demand; (2) the distribution of capacity over time and space (e.g. when should a server be online and how many customers should be served at each of the service sessions); (3) the evaluation of appointment-booking practices (e.g. when and for how long should customers be allowed to make appointments). A general outline of the algorithm is provided in Algorithm 1. Due to the aggregation of To obtain the stationary distribution at a vacation j, we define P j , the transition matrix of the DTMC X j . Following directly from Property 1 and 2 we have that:. In other words, if s > Q c , it is impossible to deplete the queue when moving from a state (s, c) j at the start of a vacation of type j towards a state (t, d) j+J at the start of the next vacation of type j. In addition, if s ≥ Q c , transition rates moving from states at the start of a vacation of type j towards the start of the next vacation of type j are equal given: (1) equal arrival phases (c, d);. (2) equal difference in queue sizes (s, t) and (s + i, t + i). These properties endow the Markov chain P j with a special, repetitive structure. More specifically, P j may be represented as a non-skip-free M/G/1 Markov chain [6] :. where A j,i and B j,s,t are M j × M j matrices that depend on the P H distribution used to model the arrival process at a vacation of type j. If no arrivals are allowed to occur during a vacation of type j (i.e. c j ∈ {1, 2}), A j,i and B j,s,t are scalars and are given by:. If arrivals are allowed to occur, we once more make a distinction between 3 cases. In the case of C 2 j = 1, A j,i and B j,s,t are scalars and are given by:. In the case of C 2 j > 1 we have: . and A j,i is given by:. The repetitive structure observed in P j may be exploited using matrix analytical techniques (also referred to as matrix analytical methodology or matrix geometric techniques). Matrix analytical techniques have been studied for several decades and have attracted the attention of many researchers in the queueing field. For an overview of literature and an introduction to matrix analytical techniques, refer to [7] , [12] , [10] and [1] among others. In short, matrix analytical techniques allow the (numerically) exact analysis of a wide variety of queueing systems featuring some repetitive structure (more specifically, M/G/1, GI/M/1 and quasibirth-death processes). The matrix P j can be reblocked into blocks B j,i and A j,i of dimensions M j Q c × M j Q c as follows:. , which can be solved as a traditional M/G/1 Markov chain. More specifically, this involves the computation of an auxilliary matrix G j which is obtained as the solution of [1] :. However, as is indicated in [6] , such reblocking might increase computational requirements (since it involves computations of M j Q c ×M j Q c matrices instead of computations of M j ×M j matrices). For non-skip-free M/G/1 Markov chains, [6] have shown that G j may be obtained as follows:. www.stefancreemers.be • info@stefancreemers.be where g j = (G j,0 , G j,1 , . . . , G j,Qc−1 ) is the first block row of G j and C (g j ) Qc is referred to as the companion matrix and holds the probabilities of moving Q c steps left in the Markov chain. C (g j ) may be represented as:. As such, once the first block row of G j is known, it is a simple matter to compute G j . Using the functional iteration algorithm outlined in [6] , we compute G j . Once we obtained G j , we are able to compute π[i|j] using the recursive formula developed in [11] :. where:. and π[0|j] is the solution of:. where:. • µ j = α j a j and α j is the stationary distribution vector of A j ,. • operator (·) denotes the group inverse operation. info@stefancreemers.be π[i|j] is the vector of stationary probabilities associated with a queue size s : s ∈ {iQ c , . . . , ((i + 1)Q c − 1)}. More specifically, π[i|j] holds the stationary distribution of states (s, c) j : ∀s, c : s ∈ {iQ c , . . . , ((i + 1)Q c − 1)} ∧c ∈ M j . From π[i|j] we obtain π[s, c|j], the stationary distribution of being in a state (s, c) j ; ∀s, c : s ∈ {0, 1; . . .} ∧ c ∈ M j .. Using the stationary distribution π[s, c|j], various performance measures may be derived. In this article, we limit ourselves to the average queue size at the start of a vacation j. Remark that π[s, c|j] holds the stationary distribution of the queue size prior to the removal of k j customers from the queue. Because we are interested in the average number of customers already present in the queue during a vacation of type j (i.e. the number of customers in the queue after the removal of k j customers), a shifting operation is required:. Combining the above result with the average queue size at the DTMC X * j , the average size of the waiting list is obtained.. Note that the stationary distribution π[s, c|j] (and all performance measures derived thereof) is computed in a numerically exact manner. The stationary distribution π[s, c|j] is a key element in determining (1) waiting list performance measures; (2) performance measures of the appointment-driven system as a whole (when linked to an appointment system). Therefore, its exact computation results in a significant improvement of model accuracy.. A general outline of the algorithm is provided in Algorithm 2. . end for Increment n end while Using Algorithm 2, the stationary distribution of all DTMC X j+n : n ∈ {1, . . . , J − 1} can efficiently be obtained, thereby avoiding the use of more complex matrix analytical techniques. As such, computational performance is further enhanced. The algorithm developed in this section serves the purpose of computing φ[J, t, d|j, s, c]; the probability of moving from a state (s, c) j at the start of a vacation of type j towards a state (t, d) j+J at the start of the next vacation of type j. Define φ[n, u, e|j, (s, t), (c, d)]; the probability to depart from a state (s, c) j at the start of a vacation j, to visit state (t, d) j+n−1 at the start of vacation j + n − 1 and to end up in state (u, e) j+n at the start of vacation One of the practical implication of these properties is that only states with queue sizes up to Q c have to be evaluated by the algorithm; resulting in a significant reduction of memory and computational requirements. The algorithm consists of two main steps: (1) iteration; (2) evaluation. In the upcoming sections, we discuss these steps in detail. A final section provides a general outline of the algorithm.. Step 1: Iteration Prior to starting the first iteration step we initialize a counter n = 2 and compute all . where φ[(n − 1), t, d|j, s, c] is either computed in a previous iteration step or is given by φ[1, t, d|j, s, c].. In the second phase of the iteration step, we aggregate all resulting probabilities over t and d and obtain probabilities φ[n, u, e|j, s, c] as follows:. After aggregation, we proceed to the evaluation step.

O O O O O O O O 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 B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O 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 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 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 B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 B I 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 Marked Point Process for Modeling Lidar Waveforms Lidar waveforms are 1-D signals representing a train of echoes caused by reflections at different targets. Modeling these echoes with the appropriate parametric function is useful to retrieve information about the physical characteristics of the targets. This paper presents a new probabilistic model based upon a marked point process which reconstructs the echoes from recorded discrete waveforms as a sequence of parametric curves. Such an approach allows to fit each mode of a waveform with the most suitable function and to deal with both, symmetric and asymmetric, echoes. The model takes into account a data term, which measures the coherence between the models and the waveforms, and a regularization term, which introduces prior knowledge on the reconstructed signal. The exploration of the associated configuration space is performed by a reversible jump Markov chain Monte Carlo (RJMCMC) sampler coupled with simulated annealing. Experiments with different kinds of lidar signals, especially from urban scenes, show the high potential of the proposed approach. To further demonstrate the advantages of the suggested method, actual laser scans are classified and the results are reported.

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


Isolating relevant component interactions with JINSI When a component in a large system fails, developers encounter two problems: (1) reproducing the failure, and (2) investigating the causes of such a failure. Our JINSI tool lets developers capture and replay the interactions between a component and its environment, thus allowing for reproducing the failure at will. In addition, JINSI uses delta debugging to automatically isolate the subset of the interactions that is relevant for the failure. In a first study, JINSI has successfully isolated the relevant interaction of a JAVA component: "Out of the 32 interactions with the VendingMachine component, seven interactions suffice to produce the failure." Understanding why a program fails is a complex activity that usually encompasses two tasks. The first task consists of reproducing the failure, so that the failing run can be repeated at will and analyzed. The second task consists of discovering what is relevant in the failing run-which events caused the failure in question, and which ones were instead irrelevant. Both of these tasks are tricky and make debugging difficult. This is especially true for modern software systems, which are often built through aggregation of components whose interactions with other components and with the environment is increasingly dynamic.. In this paper, we propose an integrated approach that addresses these issues and allows for automatically (1) reproducing failing runs at the component level and (2) identifying events that are not related to the failure and can be eliminated, thus simplifying the run to be analyzed and, consequently, debugging. Our approach consists of two main parts:. • We capture and replay the interaction of a (failing) component with its environment. The interaction is recorded as a sequence of incoming and outgoing events. Such events can be method calls, accesses to field values, and exceptions. This sequence can be replayed at will on the component without requiring a complete environment to be available. In this way, we achieve a twofold advantage: we eliminate the need to reproduce the entire failing run and exercise the component exactly in the same way that led to its failure.. • A recorded interaction is a sequence that can easily consist of thousands, even millions, of events. However, only a subset of this sequence may be required to make the failure occur. We use delta debugging to automatically isolate the failureinducing events. The idea is to systematically test subsets of the initial sequence until a set is found where every remaining call is relevant for producing the failure.. We have developed a prototype, called JINSI, that implements the above approach for JAVA programs. Given a system and a component (expressed as a set of classes) within the system, JINSI records interactions between such component and the rest of the system. When an execution fails, JINSI performs delta debugging on the recorded interactions and automatically isolates the subset of events that were relevant for the failure.. To validate and evaluate our approach, we perform a case study in which we use JINSI on a small example subject. Although preliminary, our results are promising: They show that JINSI can indeed isolate short sequences of interactions that make a component fail. Such sequences ease the debugging task by considerably reducing the amount of information that developers must consider.. In this paper, we make the following original contributions:. 1. We present our technique for capturing, replaying, and minimizing interactions between a failing component and the rest of the system, so as to obtain a minimal, partial execution that can reproduce the failure. 2. We introduce JINSI, our prototype tool that implements the approach for JAVA software by integrating capture-replay and delta debugging capabilities. 3. We provide a proof-of-concept empirical study that shows how our approach can effectively isolate relevant interactions for a component and so improve the efficiency of debugging.. The rest of the paper is organized as follows. Section 2 introduces an example that we use to motivate and illustrate our approach. Sections 3 and 4 describe JINSI and present a case study that we performed using JINSI. We discuss related work in Section 5, followed by additional applications in Section 6. Finally, Section 7 summarizes the paper and describes future research directions. JINSI provides a combined solution for two nontrivial debugging tasks: (1) reproducing the failure, and (2) understanding what is relevant for the failure to occur. The approach is versatile and has few special requirements; it has been demonstrated to work on a simple, yet non-trivial JAVA application. We expect the approach to scale to larger programs, and to be applicable in a large number of debugging scenarios, including capturing data from deployed programs.. Although we have a working prototype, our work is still in its early stages. Besides addressing the risks as discussed in Section 6.2, our future work will focus on the following topics:. More events. Right now, JINSI is best at minimizing incoming calls and field accesses. We would like to improve JINSI's control on outgoing calls and return values, as discussed in Section 6.2. We would also like to apply JINSI to failures involving inter-thread and inter-process communications.. Better diagnoses. We are currently working on extending JINSI to isolate not only the relevant interactions between the observed components and their environment, but also the interactions within the observed components. This extension may lead to the identification of chains of relevant interactions that reveal which parts of the program execution were actually relevant for a failure.. Isolating vs. simplifying. Besides simplifying relevant interactions, as described in this paper, delta debugging can also be used to isolate relevant differences between a passing and a failing execution. In such a setting, JINSI would tell the relevant differences between two recorded sets of interactions: one where the failure occurred and one where it did not.. More case studies. Finally, we are investing a considerable effort in making JINSI usable for more and larger programs, as well as in generally improving its usability and performance. These improvements shall allow us to conduct large-scale case studies and better evaluate JINSI's usefulness. Eventually, we plan to turn JINSI into a publicly available plug-in for the ECLIPSE programming environment. This paper contains two core ideas: recording and replaying component interactions, and isolating relevant method calls. Earlier work has explored each of these ideas in isolation. However, the present paper is the first to combine both.. Test Case Minimization. The work closest to ours in spirit is the minimization approach of Lei and Andrews [4] . Just like us, they apply delta debugging to isolate the set of method calls that is relevant for a failure. As their approach is based on random unit testing, though, they minimize a set of random method calls rather than a set of previously recorded interaction, as in JINSI. Omniscient Debugging. Bil Lewis' ODB debugger records all states of a JAVA program run. It then allows the programmer to interactively explore the recorded states, thus accessing all aspects of a run [5] . As JINSI reduces the recorded run to the relevant calls, the remaining run could easily be observed using ODB-like techniques. Mock Objects. In [7] , Saff and colleagues introduce the idea of using mock objects, which automatically reproduce part of the environment, to improve the efficiency of re-testing-JINSI also relies on mock objects to allow for replaying without a complete environment, but for different goals. Delta Debugging. Besides minimizing a set of method calls, as in [4] and this paper, delta debugging has been used to isolate various failure-inducing circumstances [9] . As discussed above, we find JINSI more general and more versatile than simplifying input; we also find it more light-weight and more robust than isolating state differences. Selective Capture-Replay. SCARPE [6] is a technique and a tool for selective capture/replay. Given an application, the technique allows for capturing and replaying a part of the application specified by the user. JINSI leverages some of the technology behind SCARPE.

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


Optimal exploration of small rings In [4] , the authors look at probabilistic bounds and solutions for the exploration of anonymous unoriented rings of any size by a cohort of robots. Considering identical, oblivious, and probabilistic robots, they show that at least four of them are necessary to solve the problem. Moreover, they give a randomized protocol for four robots working in any ring of size more than eight.Here we close the question of optimal (w.r.t. the cohort size) ring exploration by probabilistic robots. Indeed, we propose a protocol for four robots working in any ring of size less or equal to eight. Composing this protocol with the one in [4], we obtain a protocol for any ring-size. We consider autonomous robots that are endowed with visibility sensors (but that are otherwise unable to communicate) and motion actuators. However, we assume they have weak capacities: they are anonymous, oblivious (that is, they cannot remember the past), and have no compass whatsoever.. Those robots must collaborate to solve a collective task, here exploration. In our context, the exploration task requires every possible location to be visited by at least one robot, with the additional constraint that all robots stop moving after task completion.. The vast majority of literature on robots considers that they evolve in a continuous two-dimentional Euclidian space and use visual sensors with perfect accuracy that permit to locate other robots with infinite precision, e.g., [2, 11] .. Several works investigate restricting the capabilities of both visibility sensors and motion actuators of the robots In [1, 8] , robots visibility sensors are supposed to be accurate within a constant range, and sense nothing beyond this range. In [8, 3] , the space allowed for the motion actuator is reduced to a one-dimentional continuous one: a ring in [8] , an infinite path in [3] .. A recent trend is to shift from the classical continuous model to the discrete model. In the discrete model, space is partitioned into a finite number of locations. This setting is represented by a graph, where nodes represent locations that can be sensed, and where edges represent the possibility for a robot to move from one location to the other. Thus, the discrete model restricts both sensing and actuating capabilities of robots. For each location, a robot is able to sense if the location is empty or if robots are positioned on it. Also, a robot is not able to move from a position to another unless there is explicit indication to do so (i.e., the two locations are connected by an edge Copyright is held by the author/owner(s). WRAS'2010 July 29, 2010, Zurich, Switzerland. ACM 978-1-59593-989-0/08/08. in the representing graph). The discrete model permits to simplify many robot protocols by reasoning on finite structures rather than on infinite ones. However, as noted in most related papers [10, 9, 6, 7] , this simplicity comes with the cost of extra symmetry possibilities, especially when the authorized paths are also symmetric (indeed, techniques to break formation such as those of [5] cannot be used in the discrete model).. Assuming visibility capabilities, the two main problems that have been studied in the discrete robot model are gathering [10, 9] and exploration [6, 7] . For gathering, both breaking symmetry [10] and preserving symmetry are meaningful approaches. For exploration, the fact that robots need to stop after exploring all locations requires robots to "remember" how much of the graph was explored, i.e., be able to distinguish between various stages of the exploration process since robots have no persistent memory. As configurations can be distinguished only by robot positions, the main complexity measure is then the number of robots that are needed to explore a given graph. The vast number of symmetric situations induces a large number of required robots. For tree networks, [7] shows that Ω(n) robots are necessary for most n-sized tree, and that sublinear robot complexity (actually Θ(log n/ log log n)) is possible only if the maximum degree of the tree is 3. In uniform rings, [6] proves that the necessary and sufficient number of robots is Θ(log n), although it proposes an algorithm that works with an additional assumption: the number k of robots and the size n of the ring are coprime. Note that all previous approaches in the discrete model are deterministic, i.e., if a robot is presented twice the same situation, its behavior is the same in both cases.. In [4] , the authors initiate research on probabilistic bounds and solutions for the exploration of anonymous unoriented rings of any size. By contrast with [6] while similar settings, they show that four identical probabilistic robots are necessary to solve the same problem, also removing the coprime constraint between the number of robots and the size of the ring. In the same paper, they present a randomized protocol for four robots in any ring of size more than eight.. In this paper, after formally defining the model we use (Section 2), we close the question of optimal (w.r.t. the cohort size) ring exploration by probabilistic robots. Indeed, we propose (in Section 3) a protocol for four robots working in any ring of size less or equal to eight. Composing this protocol with the one of [4] , we obtain a protocol for any ring-size. In the last section (Section 4), we gives some concluding remarks. Note that, for space consideration, several technical proofs have been omitted. Our protocol is presented in Algorithm 1. Except for two special cases, it works in three main steps:. 1. From an initial (with no overcrowded node) configuration, the robots move along the ring in such a way that (i) they never form an arrow and (2) they form a unique Note that the protocol is probabilistic. As a matter of fact, as long as possible the robots move deterministically. Randomization is used to break the symmetry in some cases: When the system is in a symmetric configuration, the scheduler may choose to synchronously activate some robots in such a way that the system stays in a symmetric configuration. To break the symmetry despite the choice of the scheduler, the robots proceed as follows: The activated robots decide either to move or to stay idle (with a uniform probability) during their Compute phase. We say that the robots try to move. Conversely, when a robot deterministically decides to move in its Compute phase, we simply say that the robot moves. Exploring a discrete environment is one of the main problems in the field of mobile computing. One of the main challenges is to overcome the weakness of the model by itself, namely (i) the fact that the robots cannot remember past actions or positions and (ii) the lack of means to particularize robots or vertices, nor a mean of orientation. For instance, the fact that robots need to stop after exploring all locations requires robots to find an implicit way to "remember" how much of the graph was explored, i.e., be able to distinguish between various stages of the exploration process since robots have no persistent memory. As configurations can be distinguished only by robot positions, the main complexity measure is then the number of robots that are needed to explore a given graph. The vast number of symmetric situations induces a large number of required robots. This paper closes the question of the optimal number of probabilistic robots to explore a ring. Indeed, our protocol completes the work in [4] , as it allows four robots to explore any ring of size less or equal to eight. Overall, it is possible to explore any ring using only four probabilistic robots.

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


The NSFNET Backbone Network The NSFNET Backbone Network interconnects six supercomputer sites, several regional networks and ARPANET. It supports the DARPA Internet protocol suite and DCN subnet protocols, which provide delay-based routing and very accurate time-synchronization services. This paper describes the design and implementation of this network, with special emphasis on robustness issues and congestion-control mechanisms.

O O O B O O O B O O B O O O O O O O O O O B O O O O O O O O O B O O O B O O B O O B O B O O B O O O O O O O O O


Fast convergence to nearly optimal solutions in potential games We study the speed of convergence of decentralized dynamics to approximately optimal solutions in potential games. We consider α-Nash dynamics in which a player makes a move if the improvement in his payoff is more than an α factor of his own payoff. Despite the known polynomial convergence of α-Nash dynamics to approximate Nash equilibria in symmetric congestion games [7] , it has been shown that the convergence time to approximate Nash equilibria in asymmetric congestion games is exponential [25] . In contrast to this negative result, and as the main result of this paper, we show that for asymmetric congestion games with linear and polynomial delay functions, the convergence time of α-Nash dynamics to an approximate optimal solution is polynomial in the number of players, with approximation ratio that is arbitrarily close to the price of anarchy of the game. In particular, we show this polynomial convergence under the minimal liveness assumption that each player gets at least one chance to move in every T steps. We also prove that the same polynomial convergence result does not hold for (exact) best-response dynamics, showing the α-Nash dynamics is required. We extend these results for congestion games to * Research supported by NSF grants ANIR-0240551 and CCR-0311795. † Research supported in part by the German-Israeli Foundation and by the Israel Science Foundation. ‡ Research supported in part by the German-Israeli Foundation and by the Israel Science Foundation. § Research supported by the German-Israeli Foundation.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. other potential games including weighted congestion games with linear delay functions, cut games (also called party affiliation games) and market sharing games. Computational game theory has lead already to many important insights for understanding Nash equilibria in systems under the control of self-interested agents. Prominent results for the quality of Nash equilibria include bounds on the price of anarchy, which is the ratio between the worst Nash equilibrium and the global optimal solution [23, 10, 26, 21] , and for computational complexity [12, 11, 6] . Intuitively, a high price of anarchy a system indicates that it requires a coordination mechanism to achieve good performance. On the other hand, low price of anarchy does not necessarily imply good performance of the system [20, 17] . One main reason for this phenomenon is that in many games with selfish players acting in a decentralized fashion, the repeated selfish behavior of the players may not lead to a Nash equilibrium [17] . Moreover, the convergence rate might be very slow [12] . This motivates the question of whether selfish players acting in a decentralized fashion, converge to approximate solutions in a reasonable amount of time [20, 17, 8, 5] .. In this paper, we address this question for the general class of congestion games, which are used to model routing, network design and other resource sharing scenarios in distributed systems [23, 2, 16] . We also consider other potential games. In a congestion game there are n players and a set of resources. The strategy of a player consists of a subset of these resources. Each resource possesses a delay function de, which depends on the number of players using this resource and the delay(cost) of each player is the sum of the delays associated with his selected resources.. Rosenthal [22] proves that every congestion game has a pure Nash equilibrium, by showing a potential function that is strictly decreasing after any strict improvement of a player. Thus, this property, shows that the natural "Nash Dynamics", in which players iteratively play best response converges to a pure Nash Equilibrium. It has been shown that the problem of finding pure Nash equilibria in congestion games is PLS-complete [12] even with linear latency functions [1] . This result holds even for symmetric congestion games. These results imply examples of congestion games and initial states from which in the Nash dynamics all Nash equilibria have distance exponential in the number of players n. For this reason, Chien and Sinclair [7] study convergence to approximate equilibria in symmetric congestion games. They consider α-Nash equilibria which are states in which no player can decrease his cost by more than a factor of 1 − α by unilaterally changing his strategy. They investigate the unrestricted α-Nash dynamics, in which we only allow moves that improve the cost of a player by a factor of more than 1 − α and under the minimal liveness assumption that each player gets at least one chance to move in every T steps. For symmetric congestion games where each resource delay satisfies the "bounded jump assumption", they show that convergence to α-Nash equilibria occurs within a number of steps that is polynomial in the number of players [7] . Recently, Skopalik and Vöcking [25] show examples of asymmetric congestion games with n players and O(n) resources and bounded jump delay functions such that there are states that have distance exponential in the number of players n to all α-Nash equilibria. Thus, the results for convergence to α-Nash equilibria appear in [7] cannot be extended to asymmetric congestion games. These negative results motivate the study of convergence to approximate solutions in asymmetric congestion games.. Mirrokni and Vetta [20] initiated the study of convergence of exact Nash dynamics to approximate solutions and study the unrestricted Nash dynamics in other games. Later, Goemans et al. [17] studied convergence of random Nash dynamics for congestion games, and showed polynomial-time convergence to constant-factor solutions in a set of congestion games. We note that their result for random Nash dynamics does not hold for unrestricted Nash dynamics (see Theorem 3.4) and thus, we consider convergence of α-Nash dynamics. Christodoulou et al. [8] study the speed of convergence to approximate solutions in potential games. They show that after a constant number of rounds of α-Nash dynamics the approximation factor of the solution might be a superconstant. They also show that the approximation factor of a state after one round of Nash dynamics is Θ(n). The study of convergence of Nash dynamics is related to local search problems, and PLS-complete problems introduced by Johnson et al. [18] . Fabrikant et al. [12] proved that finding a pure Nash equilibrium of network congestion games is PLS-complete. Ackermann et al. [1] showed that the same problem for network congestion games with linear latency functions is PLS-complete as well. Skopalik and Vöcking [25] showed that finding an approximate Nash equilibrium in congestion games is also PLS-complete.. Mirrokni and Vetta [20] initiated the study of convergence of unrestricted Nash dynamics (also called covering walks) to approximate solutions in the context of valid-utility games [26] and did not consider α-Nash dynamics. Motivated by studying the Nash dynamics and convergence to approximate solutions, Goemans et al. [17] introduced sink equilibria, and proved that in weighted congestion games, random Nash dynamics converges to a constant-factor approximately optimal solution in expected polynomial time. However, they do not provide any bound for the convergence time of deterministic unrestricted Nash dynamics. In fact, in Theorem 3.4, we show a lower bound for deterministic Nash dynamics for these games, showing that the above result only holds for random Nash dynamics. Christodoulou et al. [8] showed a tight bound of Θ(n) for the approximation factor of the solution after one round of α-Nash dynamics in congestion games with linear latency functions. They also showed that for congestion games with linear latency functions, after a constant rounds of Nash dynamics, players may not converge to a constant-factor approximate solution (for more results in this regard, see Fanelli et al. [13] ). Here, we show that after a polynomial rounds of α-Nash dynamics, players converge to a constant-factor solution. Chekuri et al. [5] and Charikar et al. [4] studied convergence of Nash dynamics to approximate solutions in network cost sharing games (for more results, see, e.g, [14] ).. The study of α-moves for convergence to approximate solutions has been also considered by Christoulou [8] in the context of cut games. They show that for any constant α (and not for an α = o(1)) after one round of α-moves of players in a cut game, the value of the cut is a constant-factor approximate solution. Their proof does not handle the convergence of unrestricted dynamics. For a more complete list of results in these areas, see Mirrokni [19] .. Cut Games (or party affiliation games) are potential games defined on an edge-weighted graph [12, 24, 8] . Nash dynamics for these games correspond to the local search algorithm for the Max-Cut problem. Schaffer and Yannakakis [24] proved that finding a Nash equilibrium in this game is PLScomplete. Christodoulou et al. [8] showed an exponential lower bound for the convergence time of (exact) best-response dynamics to constant-factor approximate solutions in these games. In contrast, we show polynomial convergence of α-Nash best-response dynamics in these games. Market sharing games are a special case of profit maximizing congestion games and valid-utility games [26] that has been studied for the content distribution in service provider networks [16] . Mirrokni and Vetta [20] show that after one round of best responses in which each player gets exactly one chance to play best response, players reach an O(log n)-approximate solution.

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


List Decodability at Small Radii Abstract A ′ (n, d, e), the smallest ℓ for which every binary error-correcting code of length n and minimum distance d is decodable with a list of size ℓ up to radius e, is determined for all d ≥ 2e − 3. As a result, A ′ (n, d, e) is determined for all e ≤ 4, except for 42 values of n. If more than d/2 errors occur when using a binary error-correcting code of minimum distance d, unambiguous decoding cannot always be guaranteed. Instead of simply letting the decoding algorithm report a failure in this case, list decoding, a notion introduced independently by Elias [9] and Wozencraft [23] , demands that the decoding algorithm returns a small list of codewords that contains the transmitted codeword, as a weak form of error recovery.. Early applications of list decoding include (i) tighter analysis of error-probability and error-exponent of probabilistic channels [9, 11, 23] , (ii) derivation of the Elias-Bassalygo bound [2, 19, 20] , (iii) determination of channel capacities [1] , and (iv) error-correction under an adversarial model [3, 4, 10, 24] .. Renewed interest in list decoding in theoretical computer science stemmed from the work of Goldreich and Levin [12] , and is largely due to the breakthrough discovery by Sudan [22] of the first efficient algorithm for list decoding a nontrivial code. Sudan's work led to a multitude of new applications of list decoding in theoretical computer science and became a powerful tool in complexity theory.. In this paper, we study the list decodability of error-correcting codes. More specifically, we are interested in determining the smallest ℓ so that every error-correcting code of length n and minimum distance d can be list decoded with a list of size ℓ at a given radius e. This parameter, denoted by A ′ (n, d, e), was investigated by Elias [10] and more recently by Guruswami and Sudan [14] as well as Cassuto and Bruck [8] . These works all focused on giving upper bounds on A ′ (n, d, e). In contrast, our attention in this paper is on determining the exact value of A ′ (n, d, e) for specified d and e. More specifically, we determine the exact value of A ′ (n, d, e) for all e ≤ 4, except for 42 values of n. A summary of the results obtained is provided in Table 1 .. We review some coding-theoretic terminology and notations next. In this paper, we continue the investigation of the function A ′ (n, d, e), which gives the smallest possible ℓ so that every (n, d) code is list decodable with a list of length ℓ up to radius e. Exact values of A ′ (n, d, e) were determined for d ≥ 2e − 5 and d ≤ 3. As a result, the exact value of A ′ (n, d, e) is now known for all but 42 values of n, when e ≤ 4. Our approach in this paper is purely combinatorial, and we have not attempted to address the existence of codes admitting efficient list decoding algorithms capable of meeting the bounds established here.

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


Linear-Time Approximation Algorithms for Computing Numerical Summation with Provably Small Errors Abstract. Given a multiset X = {x 1 , . . . , xn} of real numbers, the floating-point set summation problem asks for Sn = x 1 + · · · + xn. Let E * n denote the minimum worst-case error over all possible orderings of evaluating Sn. We prove that if X has both positive and negative numbers, it is NP-hard to compute Sn with the worst-case error equal to E * n . We then give the first known polynomial-time approximation algorithm that has a provably small error for arbitrary X. Our algorithm incurs a worst-case error at most 2(⌈log(n − 1)⌉ + 1)E * n . 1 After X is sorted, it runs in O(n) time. For the case where X is either all positive or all negative, we give another approximation algorithm with a worst-case error at most ⌈log log n⌉E * n . Even for unsorted X, this algorithm runs in O(n) time. Previously, the best linear-time approximation algorithm had a worst-case error at most ⌈log n⌉E * n , while E * n was known to be attainable in O(n log n) time using Huffman coding.

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


John and Loewner Ellipsoids Abstract John's ellipsoid criterion characterizes the unique ellipsoid of globally maximum volume contained in a given convex body C. In this article local and global maximum properties of the volume on the space of all ellipsoids in C are studied, where ultra maximality is a stronger version of maximality: the volume is nowhere stationary. The ellipsoids for which the volume is locally maximum, resp. locally ultra maximum are characterized. The global maximum is the only local maximum and for generic C it is an ultra maximum. The characterizations make use of notions originating from the geometric theory of positive quadratic forms. Part of these results generalize to the case where the ellipsoids are replaced by affine copies of a convex body D. In contrast to the ellipsoid case, there are convex bodies C and D, such that on the space of all affine images of D in C the volume has countably many local maxima. All results have dual counterparts. Extensions to the surface area and, more generally, to intrinsic volumes are mentioned. John's ellipsoid criterion may be stated as follows.. (2) Let E ⊆ C. Then E is the unique ellipsoid of maximum volume in C if and only if E is eutactic in C.. The following result contains additional information.

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