Merging the Local and Global Approaches to Probabilistic Satisfiability The probabilistic satisfiability problem is to verify the consistency of a set of probability values or intervals for logical propositions. The (tight) probabilistic entailment problem is to find best bounds on the probability of an additional proposition. The local approach to these problems applies rules on small sets of logical sentences and probabilities to tighten the given probability intervals. The global approach uses linear programming to find best bounds. We show that merging these approaches is profitable to both: local solutions can be used to find global solutions more quickly through stabilized column generation, and global solutions can be used to confirm or refute the optimality of the local solutions found. As a result, best bounds are found, together with their step-by-step justification. The probabilistic satisfiability (PSAT, see, e.g. [22] for a survey) and the (tight) Probabilistic Entailment problems are central in reasoning under uncertainty. The expressions of these problems are based upon propositional logic and standard probability theory (see, e.g. [11] for others approaches).. The probabilistic satisfiability problem can be expressed as follows: let S 1 ; S 2 ; . . . ; S m denote propositional sentences obtained from the logical variables x 1 ; x 2 ; . . . ; x n with the usual Boolean operators _ (or),^(and), and -(not). Let p 1 ; p 2 ; . . . ; p m be probabilities that these sentences are true. Are these probabilities consistent, i.e., such that there exists a probability distribution over the set of the 2 n complete products of logical variables x 1 ; x 2 ; . . . ; x n in direct or complemented form for which the sum of probabilities p 1 ; p 2 ; . . . ; p 2 n of the products for which sentence S i is true is equal to its probability p i of being true for all i ¼ 1; 2; . . . ; m? The (tight) probabilistic entailment problem, also usually noted PSAT, has the following formulation: let S mþ1 be an additional propositional sentence, also obtained from x 1 ; x 2 ; . . . ; x n with the operators _,^and -. Find the best possible lower and upper bounds on its probability p mþ1 to be true. Both problems first appear in the work of George Boole, who expresses them in his famous book of 1854, An Investigation of the Laws of Thought [4] , as particular linear programs (thus providing the most remarkable prefiguration of linear programming up to the work of Kantorovich in the late 1930s [32] ). Using p 1 ; p 2 ; . . . ; p m as parameters, Boole characterizes consistent probability vectors by a set of linear inequalities called ''Conditions of possible experience''; moreover, he shows how to obtain best possible lower and upper bounds on p mþ1 as inequalities involving the probabilities p 1 ; p 2 ; . . . ; p mþ1 . He calls this problem ''the general problem in the theory of probabilities. '' While this last qualification is outdated, the PSAT model has proven to be a remarkably fecund one despite an eclipse of over a century in English-speaking countries ( [20] ). It has been generalized to tackle: (i) interval values for probabilities; (ii) conditional probabilities in the objective and constraints; (iii) operations on conditional events; and (iv) qualitative probabilities. (See the survey [22] for details and references.) Moreover, PSAT plays an essential role in de Finetti's theory of subjective probabilities as a special case of testing coherence of a set of bets (see, e.g. [6] ) and in Walley's theory of imprecise probabilities applying natural extension [43] .. There are two basic approaches to the solution of PSAT:. (i) First, there is the global approach, which extends the linear programming approach of George Boole. It was pioneered by Hailperin [19] and rediscovered by several authors (see [22] for references), prominent among them being Nilsson [37] . For extension of this approach to a logic for reasoning about probabilities, see Fagin et al. [12] . The main strength of this approach is that it makes it possible to rigorously prove that probabilities p 1 ; p 2 ; . . . ; p m are consistent or that they are not, and to obtain proven best possible bounds on p mþ1 . Sometimes it has been assumed that because the number of variables in the linear program is exponential in the number of logical variables x 1 ; x 2 ; . . . ; x n , this approach is limited to small instances. However, using the powerful column generation technique of linear programming (for example [5, Chapter 26] ) together with nonlinear 0-1 programming to find the entering column allows the solution of PSAT instances with several hundred variables and/or sentences. (See [8, 15, 29, 33] and below.) Consequently, column generation algorithms appear to be the current state of the art in solving PSAT. Nevertheless, large instances still require a substantial computing time. In this paper, we push this approach a bit further by providing the first application of stabilized column generation [9] to PSAT. Another strength of the global approach is that it makes it possible to analytically solve small PSAT instances, using enumeration of extreme points and extreme rays of the dual linear program [19, 24] . Thus, the best possible rules for tightening probability intervals can be generated in an automated way. The weak point of the global approach is that it does not provide a justification of the bounds obtained which can be followed step-by-step by the user. (ii) Second, there is the local or rule-based approach, which exploits rules for tightening probability intervals through propagation. Such rules exploit probabilities for premises to be true in order to bound probabilities for a conclusion to be true. They are locally optimal, i.e., best possible for the small system considered. Frisch and Haddawy [14] gather many such rules and apply them to several examples. They propose an ''anytime-deduction method'' in which one can interrupt the solution process at any desired time, with a probability interval on p mþ1 that is valid. The result is only significant if the probabilities p 1 ; p 2 ; . . . ; p m are consistent (otherwise any interval could in principle be obtained). Checking this is a PSAT problem in itself. Recently, some new algorithms [31, 30, 34, 35] that generate rules and apply them in a systematic way have been proposed.The strong points of the local approach are its speed in providing bounds and the fact that it gives an easy-to-follow justification of the bounds attained from a list of the rules applied. Its weak points are that local methods may not be able to prove that a system is inconsistent or attain the best possible bounds. In other words, they are usually incomplete. Moreover, these defects may be difficult to correct while remaining within the local approach. To illustrate this, Lukasiewicz [34] gives examples of PSAT problems with conditional probabilities where the rules converge to a probability bound that is not the best possible one, and where finding such a bound would require a number of rules exponential in the number of variables.. A comparison of the local and the global approaches has been made by Lukasiewicz [34] . His conclusion is that even a streamlined local approach cannot compete with the global one. In this paper, we show that, perhaps surprisingly, the local approach is still useful, not as a stand alone approach but in conjunction with the global approach. More precisely, we show that the defects in both the local and the global approaches to PSAT may be alleviated, and for some of them removed, by merging the two approaches.. The paper is organized as follows: a detailed description of the global approach is given in the following section. Then the local approach is described in Section 3. In Section 4, we present the merged approach as well as numerical results illustrating that the local approach can accelerate the global one through stabilized column generation. In Section 4, we also give a small example that illustrates how the global approach can be used to show that the proposed rules in the local approach are not sufficient to provide the best bounds. Conclusions are given in Section 5.. 2. Probabilistic satisfiability and linear programming: the global approach Merging the local and global approaches to PSAT is beneficial to both. One may distinguish four cases:. (i) PSAT is inconsistent and the local approach detects this. This is done very quickly compared to using the global approach (less than 1% of the time spent by the global approach). Moreover, a detailed argument proving inconsistency is provided. (ii) PSAT is inconsistent but the local approach does not detect this. The global approach will prove inconsistency and show that the conclusions of the local approach, although logically correct, should not be relied upon. Note that this case appears to be rare and was not observed to date with AD-PSAT. (iii) PSAT is consistent and the local approach finds the optimal solution. Then the global approach is applied with best possible estimates of the optimal values of the dual variables. For all instances tested in this paper for which this case occurs, computing times are reduced by 39.5% on average. Moreover, a complete justification of the tightest bounds entailed is available. (iv) PSAT is consistent but the local approach did not find the optimal solution. Then the global approach is applied with poor estimates of the optimal values of the dual variables. Computing times are slightly reduced by comparison with the standard column generation. For all instances tested in this paper for which this case occurs, computing times are reduced by 16.3% on average. Such examples could be further analyzed in view of devising new rules and so improving the local approach.. This appears to be the current state-of-the-art for solving PSAT problems. Finally, the merged approach can be extended to problems with conditional probabilities by using local rules for such problems [34, 35] and expressing conditional PSAT problems as linear programs [22, 44] .

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


Random Access Broadcast: Stability and Throughput Analysis A wireless network in which packets are broadcast to a group of receivers through use of a random access protocol is considered in this work. The relation to previous work on networks of interacting queues is discussed and subsequently, the stability and throughput regions of the system are analyzed and presented. A simple network of two source nodes and two destination nodes is considered first. The broadcast service process is analyzed assuming a channel that allows for packet capture and multipacket reception. In this small network, the stability and throughput regions are observed to coincide. The same problem for a network with N sources and M destinations is considered next. The channel model is simplified in that multipacket reception is no longer permitted. Bounds on the stability region are developed using the concept of stability rank and the throughput region of the system is compared to the bounds. Our results show that as the number of destination nodes increases, the stability and throughput regions diminish. Additionally, a previous conjecture that the stability and throughput regions coincide for a network of arbitrarily many sources is supported for a broadcast scenario by the results presented in this work. The stability and throughput of finite-user random access systems for unicast transmission have been studied extensively. The throughput analysis is included in some of Abramson's early work on the topic [1] , while the stability problem was first introduced by Tsybakov and Mikhailov [2] . The finite-user stability problem proves to be much more difficult than the throughput problem, and as such, the history of the stability problem is more rich and interesting. In [2] , sufficient conditions for ergodicity were found using the transition probabilities of the Markov chain corresponding to queue lengths. Later work [3] described the use of stochastic dominance as a means of characterizing the stability region. Additionally, stability conditions based on the joint queue statistics were provided in [4] . Despite these and other attempts, the stability region for arbitrarily many sources N remains unsolved. In [5] the concept of stability rank was introduced and provided the tightest known bounds to the stability region for N sources. The exact stability region for N sources and an arrival process which is correlated among the sources was obtained in [6] .. Most works, including all of those mentioned above, study random access under the collision channel model, in which transmission by more than one source results in failed reception of all packets. Some recent works have incorporated the probabilistic nature of reception and the possibility of multipacket reception (MPR) into the channel model. The stability of infinite-user random access with MPR was first examined in [7] . More recently, the finite-user problem was examined in [8] and it was shown that the possibility of MPR results in an increase in the stable throughput of the system. The benefit to stability was so dramatic that for channels with sufficiently strong reception capabilities, random access was shown to outperform time division multiple access (TDMA) schemes. This result provides motivation for a renewed interest in random access.. In this correspondence we introduce multiple destination nodes and broadcast transmission into the network and study the resulting stability and throughput performance of random access. The introduction of multiple destinations is a necessary first step in understanding the behavior of ad hoc and multihop networks, where random access presents an advantage over TDMA due to its distributed nature. In particular, we analyze the performance of a random access broadcast system in which a source node sends a common packet to all destination nodes. Broadcast transmission is useful for control of the network (ie, initialization, route discovery, timing synchronization) and for a number of applications. In this work we have investigated the information-carrying ability of source nodes which compete for access to a shared channel in order to broadcast messages to a common set of destination nodes.. The scenario we consider is relevant to broadcast applications and network discovery and control. We formulated the problem as a network of queues which interact through the shared channel and investigated the stability and throughput regions of the source nodes. Our results strengthen an unproven conjecture that the stability and throughput regions of finite-user random access coincide. We also demonstrate that the throughput and stable throughput regions diminish as the number of source or destination nodes grows. Our intention in this work is to present results relating to the scaling laws for wireless networks, which often show a degradation in throughput as the number of nodes increases. Our results show a similar trend from a multicast stability point of view.

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


Notions of hyperbolicity in monoids We introduce a notion of hyperbolicity in monoids which is a restriction of that suggested by Duncan and Gilman. One advantage is that the notion gives rise to efficient algorithms for dealing with certain questions; for example, the word problem can be solved in time O(n log n). We also introduce a new way of defining automatic monoids which provides a uniform framework for the discussion of these concepts. Hyperbolic monoids (in the sense introduced here) turn out to be biautomatic. The notions of hyperbolic [9] and automatic [6] groups have played a fundamental role in computational group theory in recent years. It has been noted (see [15, 16] for example) that the definition of automaticity generalizes naturally from groups to semigroups and an exploration of the basic properties of automatic semigroups was undertaken in [4] . There are some issues with this generalization; see [11] , for example, where it was shown that the idea generalizes in several non-equivalent ways. Notwithstanding this, a coherent theory of automatic semigroups has been developed, with some fundamental properties (such as the solution of the word problem in quadratic time) generalizing to semigroups.. Whilst the usual definition of automatic lends itself naturally to such a generalization, this has not been the case for hyperbolic. There were several equivalent ways known of defining hyperbolic groups (see [1] for example) but none of these really apply to semigroups. The situation changed with Gilman's elegant characterization of hyperbolic groups in [8] using pushdown automata; this new condition generalizes naturally to the semigroup setting. As a result, Duncan and Gilman [5] proposed this as the definition of a hyperbolic semigroup.. Their definition is entirely natural. One issue, however, is the absence (so far) of efficient algorithms for dealing with hyperbolic semigroups and monoids. It is well known that the word problem for hyperbolic groups can be solved in linear time (even in real time [13] ) but the best known algorithm for the word problem in a hyperbolic monoid is exponential [10] . Other questions (such as the conjugacy problem, which can be solved efficiently in hyperbolic groups [7] ) are still open as far as hyperbolic monoids are concerned, even as regards decidability.. The purpose of this paper is to show how a restriction of the definition used by Duncan and Gilman in [5] does lead to efficient algorithms. An analysis of Gilman's proof in [8] shows that one can impose restrictions on the pushdown automata used in the definition; we describe these in Section 3. These new definitions are also natural; we point out that it is possible to define automaticity and biautomaticity in terms of pushdown automata (see Remark 13) , and these new notions of hyperbolicity arise directly from this observation. An essential part of all this is the definition of a special type of context-free language which we term ''sync linear'' (see Definition 10) . This gives rise to new perspectives on the relationship between hyperbolic and automatic monoids; it enables us to view hyperbolic monoids (at least, in the sense presented here) and automatic monoids in a more uniform fashion than has previously been the case.. A particular aspect of this is the following. It is known that a hyperbolic group is necessarily automatic [6] , but this does not generalize to monoids [10] . With the notions of hyperbolicity given here, we recapture this connection; in fact, a monoid satisfying one of these new notions is (as is the case in groups) necessarily biautomatic (see Theorem 33); this means that, for example, the conjugacy problem is solvable in such monoids.. In general, the algorithmic properties of this new class of monoids suggest that they are worthy of further study. Whilst the new definitions are equivalent to the previous one in the group setting (see Theorem 24), they allow us to develop efficient algorithms for monoids; for example, the word problem can be solved in time O(n log n) (see Theorem 30). Further work is in progress, and it seems that the techniques described here give rise to a number of efficient algorithms for other problems. One interesting feature (which mirrors the developments in automatic monoids) is that, when developing algorithms, the techniques involve formal languages and automata (as opposed to the situation in groups, where the techniques have been more geometric).. We conclude this section by mentioning some notation we will use. For any word α we denote the length of the word α by |α| and the number of occurrences of a symbol x in α by |α| x . For any k ∈ N, let A k denote the set of all words α in A * with |α| = k and A k the set of all words α in A * with |α| k. Let α rev denote the reversal of the word α. If M is a monoid and A ⊆ M a set of generators of M, then there is a homomorphism θ : A * → M where each α in A * is mapped to the corresponding element of M. We will be concerned with finite sets A, so that M is finitely generated. In this context, if α and β are elements of A * , we write α ≡ β if α and β are identical as words, and α = β if α and β represent the same element of M (i.e. if αθ = βθ).

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


Path clustering in software timing analysis Verification of program running time is essential in system design with real-time constraints. Simulation with incomplete test patterns or simple instruction counting are not appropriate for complex architectures. Software running times of embedded systems are process state and input data dependent. Formal analysis of such dependencies leads to software running time intervals rather than single values. These intervals depend on program properties, execution paths, and states of processes, as well as on the target architecture. An approach to analysis of process behavior using running time intervals is presented. It improves our previous work by exploiting program segments with single paths and by taking the execution context into account. The example of an asynchronous transfer mode (ATM) cell handler demonstrates significant improvements in analysis precision. Experimental results show the superiority of the presented approach over well-established approaches. A CCURATE software running time analysis is key to optimized system design. In general, imprecise estimation of software running time increases the design risk or leads to inefficient designs. The necessity to consider running time intervals for the design and verification of embedded digital systems becomes evident when looking at the limits of software simulation. Profiling and simulation are current practice in industrial design but since exhaustive simulation is impractical for more complex applications, simulation results can only cover part of the system behavior. This leads to unknown coverage of worst and best cases. Verification is a more complicated but attractive alternative. It provides lower and upper bounds reflecting data dependent control flow as well as data dependent instruction execution. In the past, these bounds were very wide due to a lack of efficient control flow analysis and architecture modeling techniques. In recent years, there has been significant progress in both areas such that formal software execution cost analysis has become practical. Power consumption analysis can use very similar techniques. It is crucial for battery lifetime prediction of hand-held devices. We will, therefore, use the general term execution cost in the following text.. Execution cost intervals depend to a certain extend on the input data and the state of a process (if it contains internal states). Input data and state values can be combined to define a process execution context. In other words, execution cost intervals of a process are context dependent. Fig. 1 gives an example of a system of communicating processes. It shows a simplified set of processes implementing the wireless internet protocol (IP) standard on a pico-cellular base station [1] . The solid lines represent the paths on which different data packets are routed through the process network running on the base station. Important questions the system architect can ask are the power consumption for sending a data packet or the time to set up a connection in the base station. This should take the system context into account since, for each packet type and destination, the processes react with a different control flow. Of course, simulation is always possible and statistical power and timing analysis are feasible, but the first approach is not reliable and the second one is just a rough approximation of the complex hardware activities when executing the software of a base station. We present an analysis approach which works on the source code level. It provides reliable and narrow software execution cost intervals for context dependent process execution with a minimum of user interaction. It allows to explore different target architectures in a very flexible way. We explain a new approach to execution cost and path analysis in Section II while the architecture modeling techniques are introduced in Section III. Experiments are presented in Section IV before we conclude in Section V. A static approach to software running time and power consumption analysis has been presented. It is an extension to the well known sum-of-basic-blocks approach with implicit path enumeration. The most important result is the transition from BB analysis to the analysis of complete program segments with a single execution path. This can be either input data independent or context dependent. The general path analysis approach is target architecture independent. We have presented techniques for running time and power analysis of such program segments. Experiments on a variety of different processor architectures and different environments demonstrate a significantly higher precision and far less designer interaction than in previous approaches. They emphasize the superiority of our approach exploiting program properties and process modes.

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


Self-organized fuzzy system generation from training examples Abstract-In the synthesis of a fuzzy system two steps are generally employed: the identification of a structure and the optimization of the parameters defining it. This paper presents a methodology to automatically perform these two steps in conjunction using a three-phase approach to construct a fuzzy system from numerical data. Phase 1 outlines the membership functions and system rules for a specific structure, starting from a very simple initial topology. Phase 2 decides a new and more suitable topology with the information received from the previous step; it determines for which variable the number of fuzzy sets used to discretize the domain must be increased and where these new fuzzy sets should be located. This, in turn, decides in a dynamic way in which part of the input space the number of fuzzy rules should be increased. Phase 3 selects from the different structures obtained to construct a fuzzy system the one providing the best compromise between the accuracy of the approximation and the complexity of the rule set. The accuracy and complexity of the fuzzy system derived by the proposed self-organized fuzzy rule generation procedure (SOFRG) are studied for the problem of function approximation. Simulation results are compared with other methodologies such as artificial neural networks, neuro-fuzzy systems, and genetic algorithms.Index Terms-Function approximation, fuzzy system design, generation of membership functions and rules. In this paper, we have proposed a general learning method to automatically extract and jointly optimize fuzzy IF-THEN rules and membership functions from a set of numerical I/O data for the problem of function approximation. In the algorithm presented, the topology or structure of the fuzzy system is modified in an autonomous way. Starting from an initially simple system, the numbers of membership functions in the input domain and of rules are adapted in order to reduce the approximation error. The proposed algorithm is able to recognize where it is necessary to assign a larger number or density of rules and to increase the density of membership functions in a specific input variable for an accurate approximation of the target function.. During the evolution of the algorithm, different fuzzy systems with different degrees of complexity and accuracy are obtained to approximate the unknown function. It is important to make a compromise between the required degree of approximation and the number of rules necessary to build the system. Furthermore and unfortunately, the relationship between the degree of accuracy of the approximation (generally indicated through the mean squared error) and the number of rules employed is nonlinear. The choice of a specific topology is itself a complex decision problem; thus, to resolve this problem, a fuzzy system is proposed to select the most adequate structure from the different solutions provided by the algorithm.. The approximation accuracy of the fuzzy system derived by the presented method was empirically compared with the results generated by using other fuzzy approaches and methodologies such as artificial neural networks and neuro-fuzzy systems. The main conclusion of this comparative study between different paradigms is that the proposed SOFRG algorithm presents a suitable tool for the acquisition and representation of knowledge in terms of fuzzy theory for the problem of function approximation. The structure of the resulting system is not complex, requires less effort from the designer, and presents a great approximation capacity for unknown relationships.

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


A Heuristic Routing Mechanism Using a New Addressing Scheme Abstract. Current Addressing and routing are two of the most important elements in modern network infrastructures. Recently, new problems like congestion in spite of disengaged paths [1] , lack of a fair and perfect pricing mechanism [5] , multicast and grouping overheads [7] and newborn problems of ad-hoc networks, have challenged the networking industry. There is a wide spread belief that because of an inherent unity between these problems in nature, providing particular solutions to each of them might prevent the others from becoming practical. In other words, there is a feeling of necessity for a unified solution for these problems, a solution that may act more flexible in confronting new concerns and introduction of new concepts. Previously, however, there have been some works, though considering simplified conditions, to achieve a general solution to the problem of routing efficiency and pricing using an approach inspired by the game theory [24] .. In this paper, we first introduce an addressing scheme using variable addresses. Then, we propose an integral solution to some of prevalent problems including some in the area of ad-hoc networks like mobility and powermanagement, using a heuristic method named genetic routing based on the concept of variable addresses. Although the proposed solutions are not fully descriptive, they help clarifying the idea. As the topic of this article implies, rather than trying to describe a detailed algorithm, our attempt is to explain a mechanism of dealing with such issues, so there might be various implementations with different effectiveness for a particular usage.. The rest of the paper is organized as follows. Section 2 introduces the proposed addressing scheme. In section 3, a heuristic routing based on genetic algorithms is introduced. Section 4 discusses the routing in mobile adhoc networks. Some simulation results are reported in section 5, followed by section 6 which concludes the paper. The quick convergence and little protocol overhead for small networks are obvious from tables 1 and 2. It is enough to say that for small networks the convergence is possible even with genes of length one, which means the convergence occurs in one step, in comparison with RIP which needs n steps to converge (n is the number of nodes).. Another result of simulations is that genetic routing mechanism might be highly advisable in networks with locality in connections, like ad-hoc networks. Although convergence time increases fast as network size grows, protocol overhead grows reasonably. In the proposed method of periodic convergence for MANETs, by extending the convergence time to convergence period, the amount of protocol overhead would come even lower. Having all these results with the merits mentioned in 3.1, reveal that the proposed mechanism of routing is really attractive. Future work in this line of research can: a) search for a distributed evaluation function to optimize the variable address network's routing mechanism, b) look for possibility of finding a Nash-equilibrium which also maximizes the network throughput based on the proposed schema of reverse path charging, c) simulate alternative implementations of genetic routing with different evaluation functions, d) simulate efficiency of suggested optimum stateless multicasting and anycasting, e) further attempt in integrating ad-hoc issues in the model and verification of their functionality, and f) extensively run simulation experiments for evaluation of efficiency of proposed mechanism for power management. . The reason is because we are trying to assign an address to N using common digits in neighbors. But also there are conditions in the network which may guarantee the validity of required condition (2) . In a network with (Base < n), which is usually the case, we have . It is because, regarding an address digit and according to the pigeon-hole principle until Base n ≤ , there could be different address digits for different nodes; so if n become bigger than Base for each node, there should be at least one repetition of that digit. So, the overall amount of similarity is at least the sum over all (address-length) values. Then, it is sufficient to have: This condition is satisfied for a large enough n, since Base and address length are constant and k i is always smaller than address-length. So, the inequality holds for large enough values of n. In this case, assignment is easy. First, we assign according to common digits of neighbors and the remaining digits from individual neighbors to satisfy condition (1) .. The overall procedure of mapping is easy now. We can start with a node and assign it an arbitrary address. The next one should be assigned in a way so that the constraint of their predetermined similarity be satisfied. The next one should have an address consistent with two previous ones, and so on. Since we can have an assignment in the case of (n-1) constraints all assignments can be done without backtracking.

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


A contrast-based approach to the identification of texture faults ABSTRACTTexture analysis based on the extraction of contrast features is very effective in terms of A new method for the detection of texture fault was proposed, which uses a set of contrast-based features calculated with a separate windowing procedure along x and y directions. The method is an extension of the max-min approach, which exploits the properties of local extremes of the luminance function along one-dimensional scan-lines of a texture to identify anomalous regions.. Extensive tests demonstrated the effectiveness of this approach and its appropriateness in the context of automated visual inspection systems. Theoretical estimations of the algorithmic complexity as well as practical ones (through implementation on standard computer platforms as well as on parallel DSP architectures), confirmed the usability of the method in real-time inspection systems. Fig. 1.a-

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


Evolutionary Design of Nearest Prototype Classifiers In pattern classification problems, many works have been carried out with the aim of designing good classifiers from different perspectives. These works achieve very good results in many domains. However, in general they are very dependent on some crucial parameters involved in the design. These parameters have to be found by a trial and error process or by some automatic methods, like heuristic search and genetic algorithms, that strongly decrease the performance of the method. For instance, in nearest prototype approaches, main parameters are the number of prototypes to use, the initial set, and a smoothing parameter. In this work, an evolutionary approach based on Nearest Prototype Classifier (ENPC) is introduced where no parameters are involved, thus overcoming all the problems that classical methods have in tuning and searching for the appropiate values. The algorithm is based on the evolution of a set of prototypes that can execute several operators in order to increase their quality in a local sense, and with a high classification accuracy emerging for the whole classifier. This new approach has been tested using four different classical domains, including such artificial distributions as spiral and uniform distibuted data sets, the Iris Data Set and an application domain about diabetes. In all the cases, the experiments show successfull results, not only in the classification accuracy, but also in the number and distribution of the prototypes achieved. Nearest Neighbour Classifiers are defined as the sort of classifiers that assign to each new unlabelled example, v, the label of the nearest prototype, r i , from a set, C, of N different prototypes previously classified (Duda and Hart, 1973) . When the set C is very reduced, as is the goal of this work, these kinds of classifiers can be called Nearest Prototype Classifiers (Bezdek and Kuncheva, 2001 ) (NPC).. These classifiers are very related to vector quantization techniques (Gersho and Gray, 1992) since the nearest neighbour rule is the cornerstone of its design, and similar techniques can be used for both. The design of these classifiers is difficult, and relies on the way of defining the number of prototypes needed to achieve a good accuracy, as well as the initial set of prototypes used. Furthermore, most learning algorithms introduce additional different parameters, that are often summarized in a unique smoothing parameter. This learning parameter defines whether the updates on the classifier are higher (typically at the beginning of the learning phase) or lower (typically at the end of the learning phase).. Many discussions about what the right technique to use is can be found in the literature (Kuncheva and Bezdek, 1998) . Some approaches based on clustering techniques (Patanè and Russo, 2001; Pal et al., 1993; Bermejo and Cabestany, 2000) can be performed in two main steps. The first one is to cluster a set of unlabelled input data to obtain a reduced set of prototypes, for instance, with the LBG algorithm (Linde et al., 1980) . The second step is to label these prototypes based on labelled examples and the nearest neighbour rule. Although this approach produces good results, it is obvious that introducing information about the classification performance in the location of the prototypes seems to be needed to achieve a higher performance.. Neural networks approaches are also very common in the literature, such as the LVQ algorithm (Kohonen, 1984) and the works with radial basis functions (Fritzke, 1994) . To find the right number of neurons of the net, two basic approaches can be found. On the one hand, some techniques try to introduce or to eliminate prototypes (or neurons) while designing the classifier following different heuristics, such as the average quantization distortion (Russo and Patanè, 2000) or the accuracy in the classification (Pérez and Vidal, 1993) . On the other hand, other approaches try to define first the optimal size of the classifier and then learn it using the previous value. Genetic algorithm approaches are typically used to find an initial set of prototypes, as well as its right size, in addition to another technique to achieve local optimization (Merelo et al., 1998) . In Zhao and Higuchi (1996) , an evolutionary approach is presented based on the R 4 rule (recognition, remembrance, reduction and review) to evolve nearest neighbour multi-layer perceptrons.. In this work, an evolutionary approach called Evolutionary Nearest Neighbour Classifier (ENPC), is introduced to dynamically find the optimal number of prototypes of the classifier as well as the location of these prototypes. The main difference with previous works is that this approach is a full integrated algorithm. Most algorithms that solve initialization problems take advantage of a previously known technique, which is modified to introduce the new capabilities. For instance, they introduce some heuristics for including or eliminating prototypes, or they use genetic algorithms for optimizing the initialization, but typically in a batch mode. However, in this work, both the operations to modify the size of the classifier and the learning algorithm are fully integrated and can not be used separately from the other part.. In this sense, the method is able to obtain a very good map of prototypes, without having to indicate any initial configuration, number of prototypes that would be good to obtain, nor learning parameters.. The method allows the prototypes to execute several operators, like introducing new prototypes, changing their related class, etc. in order to improve the global accuracy of the classifier. Furthermore, the execution of these operators is controlled by the prototypes themselves, taking into account their relationship with the rest of the prototypes of the classifier. In previous works Isasi, 2001, 2002) , the biological inspirations of this algorithm were presented, following an ecosystem metaphor.. In the next section, the operators are explained, as well as the main concepts that are used. Section 3 shows principal experiments performed and comparative results with previous works, while Section 4 shows main conclusions achieved and further research. The algorithm presented in this work is an evolutionary approach to solve the problem of finding a set of prototypes that are able to correctly classify the examples of a domain, following a 1-nearest prototype approach. The main advantages of this method are, on the one hand, that it is able to achieve high accuracy in all the domains where it has been tested, even compared with other techniques from the literature. On the other hand, the achievement of these good results is done without the user defining any initial conditions nor learning parameter.. To achieve this, a fully integrated technique has been developed that includes elements from other works, such as heuristics to introduce new prototypes, to eliminate other ones, labelling phases, etc. Previous works typically introduce modifications over other techniques that provides them the capability of defining the architecture. Typical solutions were genetic algorithms or heuristics to modify the architecture. These techniques can be split in two steps, defining or modifying the architecture and learning the problem with the new architecture, sometimes even in an iterative process. However, in this work, all the mechanisms are fully integrated, so it is not possible to separate the elements that define the architecture from the ones that solve the problem with the architecture.. Comparisons with other techniques have shown that the ENPC algorithm is able to successfully solve most of the problems presented without any additional parameter: the user only has to define the training and test sets, and an additionaly (optionaly) end condition. It is also well known that there is no technique able to behave better for all domains. In this work we achieve one of the best results for all the domains in the experiments. This makes our technique a good candidate when the domain is uncertain, or when it has to be included in automatic processes. This is the case, for instance, in applying ENPC as function approximator in reinforcement learning methods (Fernández and Borrajo, 2002) .. The end condition used in this work is the number of iterations that the algorithm must be executed. However, other end conditions could be defined, given that in all the experiments it is shown that, even though the algorithm does not ever converge to a fixed solution, it converges to a small set of very similar solutions. Note that the goal of the algorithm is not to find an "optimal" solution, which in most cases may not exist, but a "useful" solution to the problem. In this sense, we define a "useful" solution as a solution with a high accuracy and a low number of prototypes: the algorithm does not ensure that both values, or the combination of both, are optimal. But it will be very close.. Future work is oriented to the concept of similarity of the data, i.e. the distance metric used. On one hand, the use of weighted distance metrics that learn which attributes are important and which ones are not is an important issue, as well as techniques that are able to automatically normalize the data without losing information. On the other hand, the adaptation of all the ideas presented in this work to other non Euclidean domains, where different distance metrics are defined appears as an interesting goal. In this section, several experiments performed with the ENPC algorithm in different domains are shown: in Section 3.1 is a two spiral data set, a domain with two interlaced spirals each one belonging to a different class; in Section 3.2 domain Uniformly Distributed Data; in Section 3.3 the Iris Data Set; and in Section 3.4, the Pima Indians Diabetes Database.. For all the experiments, the end condition is defined by a maximum number of iterations, and the classifier returned is the one with highest accuracy over the training data set. Comparative results are divided in two. On the one hand, the algorithm has been compared with four different classifiers in all the domains. These classifiers are decision trees (C4.5) (Quinlan, 1993) , decision rules (PART) (Frank and Witten, 1998) , Naive Bayes (Duda and Hart, 1973; John and Langley, 1995) , and IBK (Aha and Kibler, 1991) for different values of k. The implementation of these algorithms is provided by WEKA (Witten and Frank, 2000) , and they are used with the pre-defined parameters. On the other hand, in the domains where comparative results have been found in the literature, they have been included too.

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


Deterministic fuzzy time series model for forecasting enrollments The fuzzy time series has recently received increasing attention because of its capability of dealing with vague and incomplete data. There have been a variety of models developed to either improve forecasting accuracy or reduce computation overhead. However, the issues of controlling uncertainty in forecasting, effectively partitioning intervals, and consistently achieving forecasting accuracy with different interval lengths have been rarely investigated. This paper proposes a novel deterministic forecasting model to manage these crucial issues. In addition, an important parameter, the maximum length of subsequence in a fuzzy time series resulting in a certain state, is deterministically quantified. Experimental results using the University of Alabama's enrollment data demonstrate that the proposed forecasting model outperforms the existing models in terms of accuracy, robustness, and reliability. Moreover, the forecasting model adheres to the consistency principle that a shorter interval length leads to more accurate results. The forecasting problem of time series data, consisting of time-dependent sequences of continuous values, is important and interesting in a great variety of applications such as monitoring air pollution in environmental protection, predicting stock prices in the stock market, estimating blood pressure in a hospital, and so on. This problem has been widely studied in areas of statistics, signal processing, and neural networks in past decades. In 1993, Song and Chissom introduced fuzzy logic to the classic problem and proposed a new paradigm of time series forecasting, namely the fuzzy time series, which is capable of dealing with vague and incomplete data represented as linguistic values under uncertain circumstances [1] [2] [3] . They studied the problem of forecasting fuzzy time series using the enrollment data of the University of Alabama and proposed a forecasting model which is mainly composed of four steps: (1) partitioning the universe of discourse into even lengthy intervals, (2) defining fuzzy sets on the universe of discourse and fuzzifying the time series, and deriving fuzzy logical relationships existing in the fuzzified time series, (3) forecasting, and (4) defuzzifying the forecasting outputs. Song and Chissom solved the forecasting problem using fuzzy relational equations and approximate reasoning, which takes a large amount of computation time in deriving the fuzzy relationship [1] . Since the work of Song and Chissom, a number of researches have been conducted to improve the forecasting accuracy or reduce the computation overhead. Firstly, to alleviate the overhead of computation time in deriving the fuzzy relationship in Song and Chissom's model, Sullivan and Woodall proposed the 'Markov-based model' [4] by using conventional matrix multiplication. Subsequently, Chen presented an efficient forecast procedure for enrollments at the University of Alabama using simplified arithmetic operations and improved the forecasting accuracy [5] . Chen later extended the previous work and proposed a high-order fuzzy time series model, in order to reduce the forecasting error [6] . Unfortunately, the issue of how to determine the order in the high-order forecasting model was not discussed. In [7] , Chen and Hwang developed two algorithms for temperature prediction to deal with forecasting problems, and obtained good forecasting results. The work of Hwang, Chen, and Lee [8] showed that the variation of enrollments for the next year is related to the enrollment trend of past years. Huarng proposed heuristic models by integrating problem-specific heuristic knowledge with Chen's model to improve forecasting [9] . Song and Chissom applied first-order time-variant models in forecasting the enrollment and discussed the difference between time-invariant and time-variant models [3] . Recently, Tsaur, Yang, and Wang applied the concept of entropy to measure the degrees of fuzziness when a time-invariant relation matrix is derived [10] . Other similar work on fuzzy time series can be found in [11, 12] . All the work reviewed primarily focused on improving steps (3) and (4) in Song and Chissom's framework.. In the previous work, the universe of discourse was defined with arbitrary selected parameters and was decomposed into even length intervals. Nevertheless, the forecasting performance could be affected significantly by the partition of the universe of discourse [13] . Huarng investigated the impact of interval length on the forecasting results and proposed two heuristic approaches, namely distribution and average-based, to determine the length of the interval [13] . However, the reason behind how the so-called 'base-mapping table' was not specified. Li and Chen proposed a natural partitioning-based forecasting model in order to substitute the 'base-mapping table' and obtained a similar performance [14] . On the other hand, a university enrollments domain expert in this study believes that the interval length should be decided by the experts. It is more important that the interval length reflects the sensitivity of the investigated data. Using an enrollment of 5000 students at a university as an example, if the amount of 500 enrollments is expected to be reduced, which could result in a crisis in running the school, forecasting enrollments with 1000 of the interval length is then meaningless. In price statistics, an economist believes that the price index will rise 0.02, which is sufficient to significantly influence the economy's decision-making; hence the length of interval should remain 0.02, which means the interval length's sensitivity should stay at a constant of 0.02.. Another issue is the consistency of the forecasting accuracy with the interval length. In general cases, better accuracy can be achieved with a shorter interval length [13] . However, the work presented in [13] conflicts with this general rule. It is expected that an effective forecasting model should adhere to the consistency principle.. In this study, we focus on the enhancement of steps (1), (3) and (4) in Song and Chissom's framework. We devote ourselves to tackling the issues of improving forecasting accuracy by controlling uncertainty and determining the length of intervals effectively. By extending our preliminary work presented in [15] , which outlines the issues, this paper pays special attention to establishing theoretical foundations for dealing with such issues. We propose a new forecasting model based on the state-transition analysis, which overcomes the hurdle of determining the 'k-order' from Chen's model. More importantly, we quantify a deterministic maximum of length of subsequence in the fuzzy time series which leads to a certain state. Such quantification can help with the derivation of a new forecasting step in the framework. We conduct experiments in forecasting the enrollments at the University of Alabama. The result is quite encouraging because its accuracy is better than those in the literature and it is consistent with the length of interval as well. In addition, it is robust when the historical data are contaminated and is more reliable through an analysis of residual scatter.. There are seven sections in this paper. In Section 2, we briefly introduce the basic concept of fuzzy time series and give an outline of related work. Section 3 presents the issues of designing an effective forecasting model. In Section 4, the deterministic forecasting model is proposed by illustrating the example of forecasting the university's enrollments. In Section 5, the performance evaluation and comparison in accuracy, robustness, reliability and consistency are given and discussed. The last section is a conclusion and future work. In this paper, we have proposed a deterministic forecasting model to deal with the forecasting problem of fuzzy time series. The proposed model is provoked by the need for controlling the uncertainty which exists in the fuzzy relationships groups and removing the inconsistency of partitioning intervals. It not only achieves the best accuracy with the least mean square errors of all related work in the area of forecasting the University of Alabama's enrollment, but it can also make robust forecasts when historical data are contaminated. Moreover, it coincides with the principle that the shorter the interval length is, the less the mean square error is, i.e., the forecasting accuracy of the proposed model is consistent with the length of intervals. In contrast to the major works in the literature, the maximum length of subsequence in a fuzzy time series resulting in a certain state is deterministically quantified, which facilitates the development of the new forecasting model in Song and Chissom's framework. The analysis of residual scatter further confirms the superiority of the proposed model in forecasting reliability. Future work involves applying the proposed model to deal with more complicated applications and extending it to handle the problem of multi-dimensional fuzzy time series.

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


Bilingual Cluster Based Models for Statistical Machine Translation We propose a domain specific model for statistical machine translation. It is wellknown that domain specific language models perform well in automatic speech recognition. We show that domain specific language and translation models also benefit statistical machine translation. However, there are two problems with using domain specific models. The first is the data sparseness problem. We employ an adaptation technique to overcome this problem. The second issue is domain prediction. In order to perform adaptation, the domain must be provided, however in many cases, the domain is not known or changes dynamically. For these cases, not only the translation target sentence but also the domain must be predicted. This paper focuses on the domain prediction problem for statistical machine translation. In the proposed method, a bilingual training corpus, is automatically clustered into sub-corpora. Each sub-corpus is deemed to be a domain. The domain of a source sentence is predicted by using its similarity to the sub-corpora. The predicted domain (sub-corpus) specific language and translation models are then used for the translation decoding. This approach gave an improvement of 2.7 in BLEU (Papineni et al., 2002) score on the IWSLT05 Japanese to English evaluation corpus (improving the score from 52.4 to 55.1). This is a substantial gain and indicates the validity of the proposed bilingual cluster based models. Statistical models, such as n-gram models, are widely used in natural language processing, for example in speech recognition and statistical machine translation (SMT). The performance of a statistical model has been shown to improve when domain specific models are used, since similarity of statistical characteristics between model and target is higher. For utilize of domain specific models, a training data sparseness and target domain estimation problems must be resolved. In this paper, we try to estimate target domain sentence by sentence, considering cases where the domain changes dynamically. After sentence by sentence domain estimation, domain specific models are used for translation using the adaptation technique (Seymore et al., 1997) .. In order to train a classifier to predict the domain, we used an unsupervised clustering technique on an unlabelled bilingual training corpus. We regarded each cluster (sub-corpus) as a domain. Prior to translation, the domain of the source sentence is first predicted and this prediction is then used for model selection. The most similar sub-corpus to the translation source sentence is used to represent its domain. After the prediction is made, domain specific language and translation models are used for the translation.. In Section 2 we present the formal basis for our domain specific translation method. In Section 3 we provide a general overview of the two sub-tasks of domain specific translation: domain prediction, and domain specific decoding. Section 4 presents the domain prediction task in depth. Section 5 offers a more detailed description of the details of domain specific decoding. Section 6 gives details of the experiments and presents the results. Finally, Section 7 offers a summary and some concluding remarks. We have proposed a technique that utilizes domain specific models based on bilingual clustering for statistical machine translation. It is well-known that domain specific modeling can result in better performance. However, in many cases, the target domain is not known or can change dynamically. In such cases, domain determination and domain specific translation must be performed simultaneously during the translation process. In the proposed method, a bilingual corpus was clustered using an entropy reduction based method. The resulting bilingual clusters are regarded as domains. Domain specific language and translation models are created from the data within each bilingual cluster. When a source sentence is to be translated, its domain is first predicted. The domain prediction method selects the cluster that assigns the lowest language model perplexity to the given source sentence. Translation then proceeds using a language model and translation model that are specific to the domain predicted for the source sentence.. In our experiments we used a corpus from the travel domain (the subset of the BTEC corpus that was used in IWSLT06). Our experimental results clearly demonstrate the effectiveness of our method. In the Japanese to English translation experiments, the use of our proposed method improved the BLEU score by 2.7 points (from 52.4 to 55.1). We compared our approach to two previous methods, the cluster language model and sentence mixture model. In our experiments the proposed method yielded higher scores than either of the competitive methods in terms of both BLEU and NIST. Moreover, our method may also be augmented when an additional monolingual corpus is avaliable for building the language model. Using this approach we were able to further improve translation performance on the data from the NIST MT06 evaluation task.

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


Maximizing total upload in latency-sensitive P2P applications Motivated by an application in distributed gaming, we define and study the latency-constrained total upload maximization problem. In this problem, a peer-to-peer overlay network is modeled as a complete graph and each node vi has an upload bandwidth capacity ci and a set of receivers R(i). Each sender-receiver pair (vi, vj ), where vj ∈ R(i), is a request that should be satisfied, i.e., vi should send a data packet to each vj ∈ R(i). The goal is to find a set of at most n multicast-trees Ti of depth at most 2, such that each node can be part of multiple trees, all capacity constraints are met, and the number of satisfied requests is maximized. In this paper, we prove that the problem is NP-complete, and we present an algorithm with approximation ratio 1 − 2/ √ cmin, where cmin is the minimum upload capacity. Finally, we also study the impact of network coding on the quality and approximability of the solution. Real-time distributed gaming is a large and fast-growing business and massively multi-player games in which physically separated players participate and play over the Internet are becoming increasingly popular. The key requirement in devising a network infrastructure for such games is to ensure that every player, at any time receives real-time updates from every other player that is currently in its focus, say, on its computer screen. While satisfying this requirement is challenging even in small-scale distributed gaming applications based on client/server architectures [8] , it is even more so when considering peer-to-peer architectures.. 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. SPAA'07, June 9-11, 2007 , San Diego, California, USA. Copyright 2007 ACM 978-1-59593-667-7/07/0006 ...$5.00.. The motivation for studying peer-to-peer-based solutions for distributed gaming applications is scalability. The approach taken by platforms such as PS3 or XBOX Live is to use the player with highest bandwidth as a centralized server to which peers permanently send their data, and which then forwards this data to every interested receiver. The problem with this approach is that the upload bandwidth used at the server may grow in the order of O(n 2 ). By studying a peer-to-peer-based approach, the hope is to alleviate this scalability problem by leveraging the available upload bandwidth of all participating peers, not just the centralized server. Utilization of the total upload bandwidth is the crucial bottleneck in distributed peer-to-peer games because in residential areas, broadband access is typically asymmetric with high download rates, but only small upload rates. Thus, the higher the upload bandwidth utilization, the more accurately the game play can be rendered.. In the absence of widespread use of IP-layer multicast [14] , a frequently proposed remedy against upload bandwidth limitations has been application-layer multicast. Unfortunately, existing multicast schemes (used for streaming, for example) do not meet the very tight latency constraints found in real-time distributed gaming applications [7, 24, 25] . In particular, with a maximum tolerable delay of 100ms between any two players, the number of hops on the path between sender and receiver can be no larger than 2 or 3. Hence, the log-scale latencies typically found in structured P2P overlays [27, 28] are not sufficient. In our study, we restrict our attention to multicast trees of depth 2, as these trees have the advantage of virtually overhead-free routing.. Besides tight latency constraints and the necessity for high outbound bandwidth utilization, two more aspects characterize our problem setting. First, with a targeted size of up to 1000 players per game [1] , distributed games are small in scale in comparison to other distributed applications. For this reason, our system architecture uses a central server whose purpose is to compute and disseminate information about the multicast structure to all peers in the game. This does not thwart scalability, because the actual sending of data to receivers is performed by the peers and hence, the server's upload requirement grows only as O(n). Secondly, in contrast to many other problem settings in networking and peerto-peer computing, efficient worst-case behavior is a necessity in distributed gaming applications. Partly, this is because stalling a game in execution is unacceptable and partly because worst-case scenarios are actually quite likely to occur in practice. As an example, a person holding the flag in a battlefield may simultaneously be in the focus of a large number of other players, and thus needs to send its updates to all of them.. In this paper, we study the problem of maximizing the cumulative upload bandwidth in latency-constrained peer-to-peer networks. In particular, we formally define and study the latency-constrained maximum upload bandwidth problem (MUBP), which seeks to maximize the total number of satisfied requests. A request is a pair of nodes vi and vj , where the receiver vj requires update information from sender vi. The goal is to find a set of multicast trees (one rooted at every node) of depth at most 2 that maximizes the total number of satisfied requests. Every node can participate in multiple trees, but its total upload bandwidth in all trees must not exceed its upload capacity.. Clearly, the total number of satisfied requests is at most C, where C denotes the sum of upload bandwidths of all nodes. In certain settings where bandwidths and requirements are unevenly distributed, however, only a small portion of all requests can be satisfied even though the cumulative upload bandwidth C itself would be sufficient. Moreover, we prove that MUBP is NP-hard and as our main contribution, we give a polynomial-time algorithm that approximates the problem to within a factor of 1 − 2/ √ cmin, where cmin is the minimum upload capacity of any peer. We then show how, theoretically, network coding can be used to improve both the quality of the achievable solution as well as its approximation. Finally, notice that while our immediate motivation for this work stems from distributed gaming, the problem of maximizing total outbound bandwidth is of interest beyond this specific application. The success of BitTorrent, for instance, is based on the fact that upload capacity is shared among numerous peers.. The remainder of the paper is organized as follows. After discussing related work in Section 2, Section 3 formalizes the maximum outbound bandwidth problem and defines the terminology used throughout the paper. Section 4 gives some intuition about the algorithmic challenges of the problem. The paper's main technical contribution, the worst-case efficient approximation algorithm, is presented in Section 5. Section 6 studies the impact of network coding, before the paper is concluded in Section 7. The latency-sensitive upload bandwidth maximization problem is of critical importance in distributed peer-to-peer-based multiplayer games. The higher the utilization of the cumulative upload capacity of all peers, the more accurately the players can view and play the game. In this paper, we have formalized the problem as a combinatorial maximization problem and presented a computationally efficient algorithm whose total upload is within a small fraction of the optimum even in worst-case scenarios.. Focusing on the core algorithmic ideas, out solution abstracts away various practically important aspects of the problem, including NAT-ed nodes [15] , which may thwart our assumption of having a complete graph overlay. And, although it may come at the cost of more complicated routing, it would be interesting to quantify the achievable gain when relaxing the restriction to depth 2 multicast trees. On the theory side, our paper leaves open the exact approximability of the problem. It would be interesting to either devise a PTAS for the problem, or rule out its existence. The first lemma of the analysis provides an upper bound of the optimal solution. The remainder of the proof then unfolds in a series of lemmas that collectively derive a lower bound on how many referenced upload units R are allocated to the different multicast trees in total. For the upper bound, consider the nodes to be numbered in non-increasing order of their capacity, i.e., c1 ≤ . . . ≤ cn. Let the maximal spread of a set of nodes W ⊆ V be defined as γ(W ) := È i∈W ci. The first lemma bounds the optimum by giving an bound on the achievable total upload. LEMMA 5.1. The maximum number of requirements that can be satisfied by an optimal upload scheme is at most. PROOF. Let W ⊆ V be an arbitrary subset of nodes and consider all multicast trees of nodes in W . The total number of relay nodes that can be used in all these trees is at most γ(W ). Therefore, the total number of upload units that can be utilized by nodes in W cannot exceed the complete upload capacity of nodes v n−γ(W )+1 , . . . , vn plus their own capacity (first and second term). In addition, the optimum cannot do better than satisfying all requirements of nodes V \ W completely (third term). Hence,. Because each node has a capacity of at least cmin, it holds that The next lemma relates each node's dynamic capacityĉi to the number of its upload units to which a specified role is assigned. In the systems and networking community, there has recently been a number of works addressing problems in the context of distributed gaming. Apparently the first peer-to-peer, serverless multiplayer game is MiMaze, which uses IP multicast [18] . A complete peer-to-peer based architecture for massively multi-player games was proposed in [17] . Also recently, the works of [9, 10] propose infrastructure components for supporting online multi-player games. In view of the limited deployment of IP layer multicast, numerous application layer multicast schemes have been proposed, e.g. [5, 13, 20] . Being typically tailored for applications such as streaming, existing multicast schemes do not address the particularly tight latency-constraints faced in distributed gaming applications. Multicast support for distributed multi-player gaming applications was studied in [22] .. All of the above works provide heuristic solutions to the problem at hand and are concerned primarily with architectural problems. In contrast, there exists little applicable algorithmic work. The rich literature on (multi-commodity) network flows includes studies with latency bounds. In this setting, an L-length bounded s − t-flow is specified by a collection of s − t-paths P = (P1, . . . , P k ) and corresponding flow values f1, . . . , f k , in which no path Pi ∈ P is longer than L. Baier [3] gives an extensive survey of what is known for length-bounded flows, and more recent results have been obtained for instance in [4] . Unfortunately, (multicommodity) network flows do not adequately model multicast problems, because the flow conservation condition does not apply to multicast problems: In multicast applications, intermediate relay nodes may send received data to several receivers, thus reducing the required bandwidth at the original sender.. In graphs, the problem of constructing an efficient multicast tree is often modeled as finding an appropriate Steiner tree [26] . Somewhat closer to our needs are Steiner trees with bounded depth that have also been studied extensively in the literature, e.g. [21, 23] . Constructing an efficient multicast tree under various constraints with regard to latency has been readily studied, e.g. [6, 12, 19, 29] . None of these works, however, is directly applicable in our setting since instead of a single tree, we need to construct n partially overlapping multicast trees, one rooted at each node. The main algorithmic difficulty is to determine the amount of upload bandwidth each node should allocate to each multicast tree. The algorithm addresses this challenge by first accommodating the nodes that have high requirement, but only little capacity (and hence can use only few relay nodes). Specifically, it proceeds in a greedy fashion and allocates the bandwidth requirements (i.e., forms multicast trees) of nodes vi ∈ V in non-increasing order of the ratio ri/ci, which we call the "clumsiness ratio". An exception is made for nodes with small requirement, ri ≤ X, for X = √ cmin + 2−1 as specified in the algorithm. These nodes are dealt with in a second phase (Lines 29-31).. Consider the iteration in which some node vi's multicast tree is built (starting from Line 5). Assume that there are m ≤ n nodes with positive dynamic capacityĉi > 0. The algorithm maintains a list of nodes. that serve as relay nodes in vi's multicast tree. In order to determine the indexes a and b, the algorithm selects the smallest index a such that the combined dynamic capacity of the ci+1 consecutive nodes,. suffices for satisfying all ri requests of vi. In case a is 1-i.e., the ci + 1 nodes with smallest nonzero dynamic capacity can satisfy all of vi's requirement-b is the minimal index so that v L(a) , . . . , v L(b) has enough combined dynamic capacity to serve all of vi's requirement (Lines 9-14 of the algorithm). In case no window of consecutive relays suffices, the algorithm forms a multicast tree using the ci + 1 relay nodes with highest dynamic capacity.. Notice that this allocation initially leads to an infeasible solution in which some nodes vi use ci + 1 (instead of at most ci) relay nodes. This is infeasible because a node with capacity ci can send its data to at most ci different relay nodes. In the algorithm, however, these nodes are temporarily assigned an indirection unit Ii in a so-called "overflow unit" Ui[ci + 1]. The algorithm's final phase (Lines 33-40) turns this initial scheme into a feasible solution without losing too much upload bandwidth.. The main problem with the aforementioned greedy allocation procedure is that at the time vi's tree is considered, many of its upload units may already be used for previously built multicast trees (i.e., set to roles Rj, for j = i). In order to give such a node vi the opportunity to build its own multicast tree, the algorithm alAlgorithm 1 Algorithm -Main Procedure Input: Upload capacities ci, requirements ri Output: A feasible upload scheme S 1: . While increasing the capacity of vi's multicast tree, this decreases the total upload of node vj, to whose multicast tree this upload unit Ui[k] = Rj was originally assigned. In other words, each such overwrite operation decreases the fan-out of the indirection unit allocated at vj and thus reduces its effectiveness. Our algorithm maintains the invariant that upload units Rj are assigned to vi only if the indirection unit's fan-out is at least X, i.e., only if vi allocates at least X upload units to vj 's tree. The goal is to ensure multicast trees with high fan-out so that every upload unit 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 B O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O 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 B O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O 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 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 B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B O O O O O O O O O O