Optimal Randomizer Efficiency in the Bounded-Storage Model Abstract. In the bounded-storage model for information-theoretically secure encryption and key-agreement one can prove the security of a cipher based on the sole assumption that the adversary's storage capacity is bounded, say by s bits, even if her computational power is unlimited. Assume that a random t-bit string R is either publicly available (e.g., the signal of a deep-space radio source) or broadcast by one of the legitimate parties. If s < t, the adversary can store only partial information about R. The legitimate sender Alice and receiver Bob, sharing a short secret key K initially, can therefore potentially generate a very long n-bit one-time pad X with n |K | about which the adversary has essentially no information.All previous results in the bounded-storage model were partial or far from optimal, for one of the following reasons: either the secret key K had to be longer than the derived one-time pad (n < |K |), or t had to be extremely large (t > ns), or the adversary was assumed to be able to store only s actual bits of R rather than arbitrary s bits of information about R, or the adversary received a non-negligible amount of information about X .In this paper we prove the first non-restricted security result in the bounded-storage model: K is short, X is very long, and t needs to be only moderately larger than s + n. In fact, s/t can be arbitrarily close to 1 and hence the storage bound is essentially optimal. The security can be proved also if R is not uniformly random, provided that the min-entropy of R is sufficiently greater than s. In view of the growing dependence of the information society on cryptography, security proofs for cryptographic schemes are of great importance. Some of the major achievements of the past decade or two in research in cryptography are precise security definitions for many types of cryptographic schemes, as well as security proofs for a number of proposed schemes, relative to these definitions and various assumptions, including typically the assumption that a particular computational problem (e.g., factoring integers) is intractable.. The security of every cryptographic system depends on certain assumptions. A main goal of research in cryptography is to reduce the assumptions underlying a security proof. Usually, not all assumptions are stated explicitly. For instance, two obvious such assumptions are (1) that randomness exists, i.e., that one can generate random keys, and (2) that such keys are independent of an adversary's view. More generally, one assumes that it is impossible to read somebody's mind, at least not in a cryptographically relevant context.. Almost all cryptographic systems in practical use are based on the two further assumptions that (3) the adversary's computational resources are bounded, and (4) that a certain computational problem is hard, i.e., requires an infeasible amount of time to solve, given the assumed upper bound on the adversary's resources. Assumption (4) could potentially be dropped if a complexity-theoretic lower bound could be proved for the problem at hand, but such lower bound proofs appear to be far beyond the reach of known techniques in complexity theory, even for the classical Turing machine model, let alone for more general models consistent with the laws of physics, like a quantum computer.. In contrast, information-theoretically secure systems rely on neither of assumptions (3) nor (4), i.e., the adversary is assumed to have unbounded computing power. However, the security of such a system may rely on an assumption about the probabilistic behavior of Nature, for instance of a noisy channel [18] or a quantum measurement [4] . This paper is concerned with information-theoretically secure encryption and keyagreement. More precisely, we consider the secure expansion of a short shared secret key into a very long shared secret key. Using the one-time pad encryption method, a keyagreement scheme can be directly converted into an encryption scheme. If the one-time pad (i.e., the key) is essentially uniformly distributed, then the one-time pad is essentially perfect. We can therefore concentrate on key expansion, i.e., on generating the one-time pad.. Such key expansion at first glance apparently contradicts the known bounds on the key size of a perfect or close to perfect cipher. Shannon's classical result [22] states that if the adversary Eve has full access to the (one-way) communication channel from Alice to Bob and is missing only the secret key, then the entropy of the secret key is bounded from below by the entropy of the message to be securely transmitted from Alice to Bob. It was proved in [18] that this bound holds also in the more natural and practically relevant scenario where Alice and Bob can communicate arbitrarily over an insecure (but even authenticated) channel accessible to Eve. 1 The motivation of the bounded-storage model is to overcome this impossibility result by a twist in the model, namely by introducing an additional random string too large to be stored completely by the adversary. The two main parameters specifying the adversary Eve's resources are her computing power (e.g., specified in MIPS 2 ) and her storage capacity (e.g., specified in terabytes). Complexity-theoretic cryptography is based on an assumed upper bound on Eve's computing power (and possibly storage capacity). The natural idea of the bounded-storage model, proposed in [17] , is that one makes a sole (conservative) assumption about Eve's storage capacity (e.g., that it is at most one petabit, i.e., 10 15 bits), but no assumption whatsoever about her computing power. Let s be the assumed bound on Eve's storage capacity (in bits).. Ciphers in the bounded-storage model make use of a very large amount of auxiliary information, denoted R and called public randomness or simply the randomizer. The randomizer R could for instance be a random bit sequence broadcast by a satellite or transmitted between the legitimate parties, or the signal of a deep-space radio source. If R is a t-bit random string, then t > s is required to guarantee that Eve cannot store R completely. More generally, it suffices to assume a bound on the min-entropy of R. 3 The restriction t > s immediately shows the inherent (but only) limitation of the boundedstorage model: in order to be realistic, s and hence also the size t of R must be very large. Nevertheless, schemes based on this model for which t is not much larger than s may be on the verge of being practical, even for very powerful adversaries. The main challenge, which we solve in this paper, is to devise a provably secure scheme with s close to t.. We comment briefly on the practicality of the bounded-storage model, but in this paper we do not give a detailed feasibility analysis for current technology. A recent article in the New York Times (Feb. 20, 2001 ) and other media reports suggested that such schemes may be used in practice. However, because of the inherent condition s < t, the feasibility depends on possible advances in storage and in communication technology (see [12] or Section 1.3.1 of [11] for an analysis of the current technology).. As a concrete example of what is proved in this paper (Example 10), assume that Eve's storage capacity is at most one petabit (i.e., s = 10 15 ), that Alice and Bob share a 6000-bit secret key, and that they (and Eve) have access to a random source emitting 100 gigabits (10 11 bits) per second, which they access for about a day and a half, i.e., t = 1.25 · 10 16 . Then they can derive an expanded key of length 10 gigabits (i.e., n = 10 10 ) about which the adversary has essentially no information, even if she uses an optimal strategy. Alice and Bob need to read only 1.25 · 10 12 bits from the random source.

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


Learning Hidden Markov Models Using Nonnegative Matrix Factorization The Baum-Welch algorithm together with its derivatives and variations has been the main technique for learning hidden Markov models (HMMs) from observational data. We present an HMM learning algorithm based on the nonnegative matrix factorization (NMF) of higher order Markovian statistics that is structurally different from the Baum-Welch and its associated approaches. The described algorithm supports estimation of the number of recurrent states of an HMM and iterates the NMF algorithm to improve the learned HMM parameters. Numerical examples are provided as well.Index Terms-Hidden Markov models (HMMs), machine learning, nonnegative matrix factorization (NMF). H IDDEN MARKOV MODELS (HMMs) have been successfully used to model stochastic systems arising in a variety of applications ranging from biology to engineering to finance [1] - [6] . Following accepted notation for representing the parameters and structure of HMMs (see [7] - [9] , [1] , and [10] , for example), we will use the following terminology and definitions:. 1) is the number of states of the Markov chain underlying the HMM. The state space is and the system's state process at time is denoted by ; 2) is the number of distinct observables or symbols generated by the HMM. The set of possible observables is and the observation process at time is denoted by . We denote by the subprocess ;. 3) The joint probabilities are the time-invariant probabilities of transitioning to state at time and emitting observation given that at time the system was in state . emitted during the transition from state to state . We use to denote the matrix of state transition probabilities that emit the same symbol . Note that is the stochastic matrix representing the Markov chain state process . 4) The initial state distribution, at time , is given by where and .. Collectively, matrices and completely define the HMM and we say that a model for the HMM is . We present an algorithm for learning an HMM from single or multiple observation sequences. The traditional approach for learning an HMM is the Baum-Welch Algorithm [1] which has been extended in a variety of ways by others [11] - [13] .. Recently, a novel and promising approach to the HMM approximation problem was proposed by Finesso et al. [14] . That approach is based on Anderson's HMM stochastic realization technique [15] which demonstrates that a positive factorization of a certain Hankel matrix (consisting of observation string probabilities) can be used to recover the hidden Markov model's probability matrices. Finesso and his coauthors used recently developed nonnegative matrix factorization (NMF) algorithms [16] to express those stochastic realization techniques as an operational algorithm. Earlier ideas in that vein were anticipated by Upper in 1997 [17] , although that work did not benefit from HMM stochastic realization techniques or NMF algorithms, both of which were developed after 1997.. Methods based on stochastic realization techniques, including the one presented here, are fundamentally different from Baum-Welch based methods in that the algorithms use as input observation sequence probabilities as opposed to raw observation sequences. Anderson's and Finesso's approaches use system realization methods while our algorithm is in the spirit of the Myhill-Nerode [18] construction for building automata from languages. In the Myhill-Nerode construction, states are defined as equivalence classes of pasts which produce the same futures. In an HMM, the "future" of a state is a probability distribution over future observations. Following this intuition we derive our result in a manner that appears comparatively more concise and elementary, in relation to the aforementioned approaches by Anderson and Finesso. At a conceptual level, our algorithm operates as follows. We first estimate the matrix of an observation sequence's high order statistics. This matrix has a natural NMF [16] which can be interpreted in terms of the probability distribution of future observations given the current state of the underlying Markov chain. Once estimated, these probability distributions can be used to directly estimate the transition probabilities of the HMM.. The estimated HMM parameters can be used, in turn, to compute the NMF matrix factors as well as the underlying higher order correlation matrix from data generated by the estimated HMM. We present a simple example in which an NMF factorization is exact but does not correspond to any HMM. This is a fact that can be established by comparing the factors computed by the NMF with the factors computed by the estimated HMM parameters. This kind of comparison is not possible with other approaches [14] .. It is important to point out that the optimal NMF of a positive matrix is known to be NP-Hard in the general case [19] , so in practice one computes only locally optimal factorizations. As we will show through examples, the repeated iteration of the factorization and transition probability estimation steps improves the factorizations and overall model estimation. Details are provided here. We have presented a new algorithm for learning an HMM from observations of the HMMs output. The algorithm is structurally different from traditional Baum-Welch based approaches [1] , [11] - [13] . It is related to but different from recent approaches in stochastic systems realization [14] . We believe this method opens a new line of algorithm development for learning HMMs and has the advantage of a estimating the HMM order from spectral properties of the high order correlation statistics of the observation sequence. The algorithm effectively compresses data by summarizing it into a statistical matrix. Options for recursively computing the steps of the algorithm to achieve on-line algorithms will be explored. Additionally, sparse matrix algorithms can be explored for space and time efficiency when the underlying matrices are large and sparse.. George Cybenko (F'00) received the B.Sc. degree from the University of Toronto, Canada, and the Ph.D. degree from Princeton University, Princeton, NJ, in mathematics.. He is the Dorothy and Walter Gramm Professor of Engineering at the Thayer School of Engineering at Dartmouth College, Hanover, NH. Prior to joining Dartmouth College, he was Professor of Electrical and Computer Engineering at the University of Illinois at Urbana-Champaign. His current research interests are in machine learning, signal processing, and computer security.. Dr. Cybenko was founding Editor-in-Chief of the IEEE COMPUTING IN SCIENCE AND ENGINEERING MAGAZINE and IEEE SECURITY AND PRIVACY MAGAZINE. He is presently the First Vice-President of the IEEE Computer Society.. Valentino Crespi (M'04) received the Laurea degree and the Ph.D. degree in computer science from the University of Milan, Italy, in July 1992 and July 1997, respectively.. From September 1998 to August 2000, he was an Assistant Professor of Computer Science at the Eastern Mediterranean University, Famagusta, North Cyprus, and from September 2000 to August 2003, he was with Dartmouth College, Hanover, NH, as a member of Research Faculty. Since September 2003, he has been on the faculty of the Department of Computer Science, California State University (CSULA), Los Angeles, where he is currently an Associate Professor. His research interests include distributed computing, tracking systems, UAV surveillance, sensor networks, information and communication theory, complexity theory, and combinatorial optimization. At Dartmouth College, he developed the TASK project and consulted to the Process Query Systems project, directed by Prof. G. Cybenko. At CSULA, he has been teaching lower division, upper division, and master courses on algorithms, data structures, Java programming, compilers, theory of computation and computational learning of languages and stochastic processes. During his professional activity, he has published a number of papers in prestigious journals and conferences of applied mathematics, computer science, and engineering.. Dr. Crespi is a member of the ACM.

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


Family storytelling for grandparents and grandchildren living apart Grandparents may feel revitalized when a grandchild joins the family, but the physical separation that often exists between grandparents and grandchildren can make it difficult to develop a close relationship. Current communication technologies, such as the phone, are inadequate for developing close relationships with children. This paper presents the design, implementation and evaluation of a technology probe exploring how technology can be designed to alleviate this problem. Based on the evaluation, four important themes for designing technology for distributed intergenerational bonding are elicited and discussed. The four themes are Conversational Context (to have something to talk about), Facilitation (to be given the opportunity to talk), Diversified Interaction Forms (to maintain attention of the child) and Supporting Grandparent caring for grandchild (to adapt activity to the mood of the child). The majority of urban households comprise of no more than two generations [18] ; one or two adults, who might be parent(s) for one or more children. The older generation, the grandparents, typically lives in their own house. This physical separation between grandparents and their grandchildren almost inevitably makes it harder to develop and maintain a close relationship between the two. Social circumstances such as parents getting divorced can further exacerbate these opportunities. Studies show that a close relationship is important for the well being of both grandparents and grandchildren [8, 9] . The geographical separation and the inadequacy of current communication technologies (telephone, webcam) pose a threat to the development of this relationship. Grandparents, or other distant relatives, find it hard to get the child engaged in a conversation over the phone [2] . This is the case for most children until they reach 7 or 8 years of age [2] . The child is often bored when talking on the phone and would much rather roam the house or play with friends [1] .. Collocated talk between grandparents and grandchildren is often submerged in ongoing activities [5] . By mediating the normally collocated activity of storytelling, we provided geographically separated grandparents and grandchildren with shared activities during sessions of synchronous contact. The goal was to explore if children, under the age of 8 years, can be made interested in engaging with their grandparents if such activities are provided.. First, we present related work concerning the importance of a good grandparent/grandchildren relationship. This is followed by an overview of previous research on using technology to facilitate contact between distributed grandparents and grandchildren. The process of designing, implementing and deploying the technology probe is then presented. Finally, findings from the analysis are presented and discussed by eliciting themes for designing technology to support distributed intergenerational bonding. Kornhaber [8, 9] conducted a 3-year sociological study involving 300 sets of grandparents and grandchildren and found the grandparent-grandchild relationship to be important for both. They found the grandparent-grandchild bond to be of second most emotional importance to the very close parent-child bond [9] and that "Grandparenting provided many elders with meaning and joy in their lives" [8] . For the grandchildren, a good relationship with their grandparents makes them feel emotionally secure, having them as a "backup" if their parents fall away and provides them almost unconditional love [8] . Kornhaber also found that shared grandparent/grandchild activities build up the child's self-esteem [8] . One potential way such relationship can arise is through shared collocated activities. Kennedy [7] asked 391 young adult grandchildren to write down which shared activities they had with their grandparents. Based on more than 1000 nominations for types of activities, Kennedy generated 29 categories for different types of grandparent-grandchild shared activity. Examples of such categoPermission 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, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ries are "attending church together" and "spending the night at grandparent's house". This paper has explored how to design technology to improve contact between grandparents and grandchildren living apart. The design, implementation and deployment of a system in the form of a technology probe have been described, and four important themes have been elicited. The results indicate that grandparents and grandchildren are keen to stay in contact and that this can be facilitated through "conversational context" in the form of joint storytelling involving fictional stories and personal photos. It is also shown that parents play an important role as facilitators of contact between grandchildren and grandparents. The daily rhythms, and how this affects the activity level of the child, must also be given thought when designing technology to be used partly by children. The study also shows the importance of taking the grandparent's role of carer for play into consideration to allow meaningful and fun interactions to arise. It is hoped these themes will help fellow researchers when designing technology for improving contact between grandparents and grandchildren living apart. As the study revealed a preference to use the system in the evenings, it is expected that grandparents and grandchildren face further challenges for creating and maintaining a relationship if living in different time zones. This scenario is currently being studied through a deployment of the Storytelling system at two families with grandparents and grandchildren distributed between Denmark and Australia. Findings from this study will be reported in a future paper. Based on the findings we derived four themes important for facilitating grandparents and grandchildren communicating synchronously over distance through technology design. Even though these themes are elicited based on empirical data from grandparent-grandchild contact, we hypnotise that the themes are also relevant to consider when designing technology for facilitating contact between distributed parents and children, for example, in cases where one parent travels a lot, or where the parents are divorced. Current synchronous mainstream technologies that provide contact opportunities for geographically distributed persons use an audio channel or a combined audio and video channel, but these technologies all pose challenges for successful bonding when a child is involved. Ballagas et al. found that "young children […] have difficulties articulating clearly with words alone" and that "children up to 9 years old had difficulties staying engaged in the phone conversation" [2] . Ames et al. found that when children were participating in video chat sessions with remote family members, all children had a hard time sitting still in front of the camera. They would much rather roam around the house, thus making the family members at the other end of the video chat unable to see and hear the child [1] .. Several projects have, in various ways, tried to stimulate children's interest in synchronously communicating with remote relatives using technology. Yarosh et al. [19] built the ShareTable system, aimed at parent-child contact, where a combination of a camera, a projector and special projection surface allowed the child and parent to share viewing of physical artefacts. Evaluation showed that the ShareTable system was well received by both parents and children and preferred over regular videoconferencing, although some children had a hard time understanding how the system worked. Vetere et al. [17] made the Collage system for exploring intergenerational distributed play. The grandparents and grandchildren could send photos and text messages from a mobile phone to the system, and both could then manipulate these objects on each their touch screen monitor. Manipulation would be synchronously replicated to the other household. Evaluation showed that both grandchildren and grandparents enjoyed the new types of playful activities the system offered. Modlitba [11] developed the GlobeToddler system making the child able to synchronously communicate with a travelling parent. The parent can record audio comments and take pictures and send them to the child (asynchronously), who is supplied with an interactive doll based on a Nintendo Wii remote controller. Whenever the child uses the doll, the parent is notified of this, and can choose to engage in a synchronous activity with the child, for example, by making an avatar jump. Evaluation showed that both parent and child really enjoyed the system, but it also showed that the child sometimes found the doll confusing to use and not consistent enough. Raffle et al. [12] created a custom-made device to be used by grandparents and grandchildren for shared reading of physical storybooks. It included an audio channel and page sensing technology to determine if the child was on the same physical page. Evaluation showed that it made children more engaged in long-distance communication than when they used Skype and that the quality of the intergenerational interactions improved as well. This paper reports research exploring intergenerational interactions over distance. We present the design, development and evaluation of an investigative prototype deployed as a "technology probe" [6] in four households: two with grandparents and two with grandchildren.

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


Solving the likelihood equations Given a model in algebraic statistics and some data, the likelihood function is a rational function on a projective variety. Algebraic algorithms are presented for computing all critical points of this function, with the aim of identifying the local maxima in the probability simplex. Applications include models specified by rank conditions on matrices and the Jukes-Cantor models of phylogenetics. The maximum likelihood degree of a generic complete intersection is also determined. A model in algebraic statistics is specified by a polynomial map from the space of model parameters to the space of the joint probability distributions of the observed discrete random variables. Maximum likelihood estimation is concerned with finding those model parameters that best explain a given sequence of observations. This is done by maximizing the likelihood function. The likelihood function is usually not convex, it can have many local maxima, and the problem of finding and certifying a global maximum is difficult.. Here we consider the problem of finding all critical points of the likelihood function, with the aim of identifying all local maxima. The defining equations of the critical points are the likelihood equations. The number of complex solutions to the likelihood equations (for generic data) is called the maximum likelihood (ML) degree of the model. A geometric study of the ML degree was undertaken in our joint work with Fabrizio Catanese [3] . The present paper offers algebraic algorithms for deriving and solving the likelihood equations.. We begin by illustrating the problem and our solution for a simple example. In a certain game of chance, a gambler tosses the same coin four times in a row, and the number of times heads come up are recorded. Hence the possible outcomes are 0, 1, 2, 3, or 4. We observe 1000 rounds of this game, and we record the outcomes in the data vector u = (u 0 , u 1 , u 2 , u 3 , u 4 ) ∈ N 5 , where u i is the number of trials that had i heads. Hence u 0 +u 1 +u 2 +u 3 +u 4 = 1000. Suppose we are led to suspect that the gambler uses two biased coins, one in each of his sleeves, and he picks one of his two coins with the same probability before each round. We wish to test this hypothesis using the data u.. Our model is the mixture of a pair of four-times repeated Bernoulli trials. The mixing parameter π is the probability that the gambler picks the coin in his left sleeve. The bias of the left coin is s, and the bias of the right coin is t. Our model stipulates that the probabilities of the five outcomes are. The polynomial p i represents the probability of seeing i heads in a round. The likelihood of observing the data u when 1000 trials are made equals 1000! u 0 !u 1 !u 2 !u 3 !u 4 ! · p u 0 0 p u 1 1 p u 2 2 p u 3 3 p u 4

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


On iterative intelligent medical search Searching for medical information on the Web has become highly popular, but it remains a challenging task because searchers are often uncertain about their exact medical situations and unfamiliar with medical terminology. To address this challenge, we have built an intelligent medical Web search engine called iMed, which uses medical knowledge and an interactive questionnaire to help searchers form queries. This paper focuses on iMed's iterative search advisor, which integrates medical and linguistic knowledge to help searchers improve search results iteratively. Such an iterative process is common for general Web search, and especially crucial for medical Web search, because searchers often miss desired search results due to their limited medical knowledge and the task's inherent difficulty. iMed's iterative search advisor helps the searcher in several ways. First, relevant symptoms and signs are automatically suggested based on the searcher's description of his situation. Second, instead of taking for granted the searcher's answers to the questions, iMed ranks and recommends alternative answers according to their likelihoods of being the correct answers. Third, related MeSH medical phrases are suggested to help the searcher refine his situation description. We demonstrate the effectiveness of iMed's iterative search advisor by evaluating it using real medical case records and USMLE medical exam questions. As the healthcare industry is moving toward a more consumercentric focus, searching for medical information on the Web has become highly popular. On an average day, 6% of American Internet users perform medical search [14] to better prepare for doctors' appointments and to better digest information obtained from doctors afterwards. Due to the increasing lack of new doctors, the interaction time between doctors and patients keeps shrinking, and this trend is expected to last in the foreseeable near future.. Since October 2005, several medical Web search engines have been launched, including Healthline [6] , Google Health, SearchMedica, and Medstory [10] . They use the traditional keyword query interface, which works well when the searcher clearly knows his medical situation. For instance, a searcher knows that he has high cholesterol and wants to learn about appropriate diet for himself. However, in many cases, the medical information searcher is uncertain about the problem he is facing and unaware of the related medical terminology (e.g., panophthalmitis). As a result, it is often difficult for him to choose a few accurate medical phrases as a starting point for his search.. To address this problem, we have built a prototype intelligent medical search engine called iMed [7] , which uses medical knowledge and an interactive questionnaire to help searchers form queries. Below we first give a brief overview of iMed, and then focus on iMed's iterative search advisor, which integrates medical and linguistic knowledge to help searchers improve search results through iterative search.. Iterative search is fundamental to medical search because of medical problems' inherent fuzziness, which often makes it difficult even for medical professionals to distinguish between right and wrong choices. As reported by González-González et al. [5] , partly due to the difficulty of identifying appropriate keywords that can clearly describe the medical situation, it takes a physician on average 30 minutes to search for answers to a clinical question and the success rate is only about 75%. For ordinary Internet users with little medical knowledge, we expect their medical search performance to be even worse.

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


Efficient QoS partition and routing of unicast and multicast Abstmcr-In this paper we study problems related to supporting unicast and multicast connections with Quality of Service (QoS) requirements. We investigate the problem of optimal routing and resource allocation in the context of performance dependent costs. In this context each network element can offer several QoS guarantees, each associated with a different cost. This is a natural extension to the commonly used hi-criteria model, where each link is associated with a single delay and a single cost. This framework is simple yet strong enough to model many practical interesting networking problems.An important problems in this framework is finding a good path for a connection that minimizes the cost while retaining the end-to-end delay requirement. Once such a path (or a tree in the multicast case) is found, one needs to partition the end-to-end QoS requirements among the links of the path (tree). We consider the case of general integer cost functions (where delays and cost are integers). As the related problem is NP complete, we concentrate on finding efficient €-approximation solutions. We improve on recent previous results by Ergiin et al., Lorenz and Orda, and Raz and Shavitt, both in terms of generality as well as in terms of complexity of the solution. In particular, we present novel approximation techniques that yield the best known complexity for the unicast QoS routing problem, and the first approximation algorithm for the QoS partition problem on trees, both for the centralized and distributed cases. Quality of Service (QoS) support is a growing need in broadband networks. Many modern applications require better service than the Internet's best effort mechanism. There have been numerous suggestions for QoS provisioning and it has been the focus of many recent studies. Indeed, there is a growing consensus that QoS support in the Internet is necessary. Almost any QoS framework requires a QoS Routing (QoSR) mechanism, and this has been the subject of many proposals, as described in [l] , [2] , [16] and references therein. QoSR aims at setting the connection topology for an application, i.e., a path for unicast and a tree for multicast, based on its QoS requirements and some optimization criteria.. Many of the QoSR algorithms, first restrict the route selection to a set of feasible routes, which have sufficient resources to guarantee the QoS requirements of the application, and then choose an optimal route out of this set. The optimization criterion is generally defined in terms of a "cost", namely: there is a cost associated with ensuring a specific QoS guarantee on a specific route. Naturally, this cost is higher for more stringent requirements, such as larger bandwidth or shorter delay. In many cases the cost is not explicitly given but rather implied. An implied cost mechanism is quite flexible and may be used to incorporate different considerations: Link considerutions The cost may represent the consumption of local resources that must be reserved on every link of the 'Part of this work was done while visiting Bell Labs, Lucent Technologies, and was supported in part by DIMACS.

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


On Mean Distance and Girth We bound the mean distance in a connected graph which is not a tree in function of its order n and its girth g. On one hand, we show that mean distance is at most On the other hand, we prove that mean distance is at least ng 4(n−1) unless G is an odd cycle. In the middle of the 80's, Fajtlowicz has developed a successful conjecture making program called Graffiti (see [14] ). Graffiti is a computer program that checks for relationships among certain graph invariants. It has correctly conjectured a number of new bounds for several graphs but even when conjectures were not true, it has often arisen relations between parameters which were not suspected before. In [8] , Chung has showed that the mean distance is at most as large as the independence number, which was a conjecture of Graffiti. In [5] , Brewster, Dinneen and Faber have given a list of counterexamples for over forty Graffiti's conjectures. Quite a few Graffiti's conjectures remain open and a large number has been refuted. Later on, Caporossi and Hansen ( [7] ) have created a system devoted to the same task: auto-generating conjectures, they called it AutoGraphiX (AGX for short). The first motivation of this work was to solve two AGX's conjectures dealing with mean distance and proposed in [1] , even if at the end these conjectures have not been shown in their original form.. We use the notations of Berge [3] . In all what follows, we consider simple, finite and undirected graphs. We denote respectively by V (G) and E(G) the set of vertices and the set of edges of G. We put n = |V (G)|, m = |E(G)| and we denote by δ(G) the minimum degree of G. The distance between two vertices x and y in V (G) is denoted by d G (x, y) and is defined as the length of a shortest path joining them. The girth of a graph G, denoted by g, is the length of a shortest cycle in G; it is infinite if G is a forest. The neighborhood of a vertex u ∈ V (G), is denoted by N G (u) and is defined by N G (u) = {x ∈ V (G)/(x, u) ∈ E(G)}. We omit the letter G from symbols when only one graph is considered. If H is a subgraph of. The mean distance in a connected graph is denoted by l and is given by the average value l = (σ(G))/(n(n − 1)), where σ(G) = x,y∈V d(x, y). It is also worth saying that σ(G) is called the transmission of G and that mean distance is used (among other) in studying efficiency of networks. Good networks are often characterized by a small mean distance (see for instance [16] ). In [12] , Doyle and Graver have observed that the least upper bound of the mean distance over all connected graphs on n vertices is (n+1)/3, it is the mean distance of a path on n vertices. In [24] , Winkler has showed that for 2-connected graphs the upper bound on mean distance can be sharpened, he has obtained the bound n 2 /(4n−4). In the same paper, he has posed a conjecture dealing with mean distance, called "the four-thirds conjecture" at which Kouider has looked in [19] . She has proved that "any 4-connected graph contains a vertex whose removal increases the mean distance by less than a factor of 4/3". She has moreover showed that the same holds for 2-connected graphs of order at least 150 and minimum degree at least 3. Many authors have used graph parameters to bound mean distance. That was what Kouider and Winkler have done (in [18] ) using the minimum degree. They have showed that mean distance is at most 2 + n/(δ + 1) (which is an asymptotically slightly stronger form of a Graffiti conjecture). Quiet recently, this bound has been improved by Beezer, Riegsecker and Smith in [2] . The three authors have proved that mean distance is at most {(n + 1)/(δ + 1)} − {(2m)/((δ + 1)(n 2 − n))}. In [21] and [17] , bounds for mean distance in certain classes of graphs (bipartite, planar, triangle-free, self-complementary) have been given. In [10] , Dankelmann and Entringer have studied the problem of finding a spanning tree with small mean distance in a graph. As a consequence they have given bounds on the mean distance in Triangle-free and C 4 -free graphs. Other approaches using the eigenvalues of either the adjacency or the Laplacian matrix have been used to bound mean distance. Mohar in [20] has bounded above the mean distance in function of the maximum degree and the second smallest Laplacian eigenvalue of a graph. Later, Rodriguez and Yebra [22] have improved bounds on the mean distance using the eigenvalues of the Laplacian matrix. In [23] , results on the existence of a graph with a prescribed mean distance have been presented. Another variant of mean distance, namely weighted mean distance has been investigated by Djelloul and Kouider in [11] . They have obtained among other an upper bound on the mean distance for weighted multigraphs with prescribed edge connectivity. For other results on mean distance in graphs, the reader is invited to consult [4, 6, 9, 13, 21] .. In this work, we take interest in 2 conjectures proposed in [1] and that give bounds, in function of the order of G, for the product and the quotient of the mean distance and the girth of G. We show the first conjecture in a stronger form. The second conjecture has already been refuted in case δ is equal to 1 ( [15] ). We improve it when δ is at least 2. In all what follows the graphs are supposed to contain at least a cycle.

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


Recognizing DNA graphs is difficult DNA graphs are the vertex induced subgraphs of De Bruijn graphs over a four letter alphabet. In this paper, we prove the NP-hardness of various recognition problems for subgraphs of De Bruijn graphs; in particular, the recognition of DNA graphs is shown to be NP-hard. As a consequence, two open questions from a recent paper by B lażewicz et al. (Discrete Appl. Math. 98, (1999) 1) are answered in the negative. ? B lażewicz et al. [3] introduced the concept of DNA graphs to model the computing and reconstruction phase of DNA chain sequencing by hybridization. For more information on the biological background, we refer the reader to B lażewicz et al. [3] or to Bains and Smith [1] . The graph theoretical background is fairly easy to describe: Let G = (V; A) be a directed and simple graph that may contain loops. An ( ; k)-labeling of G assigns a label L(v) = [' 1 (v); ' 2 (v); : : : ; ' k (v)] to every vertex v ∈ V such that (L1) All entries ' i (v) in the labels of all vertices v ∈ V are from an alphabet of size (e.g., from the set {1; : : : ; }). Fifty years ago and working in a somewhat di erent line of research, De Bruijn [4] studied the subwords of certain circular sequences. To this end he investigated the combinatorial structure of directed graphs whose vertex set consists of the k possible words of length k over an alphabet of size . Two vertices are connected by an arc if and only if the last k − 1 letters of tail-word are equal to the ÿrst k − 1 letters of the head word. Such a graph is nowadays called a De Bruijn graph, and it is denoted by B( ; k). De Bruijn graphs are used in communication networks and in VLSI design; cf. e.g. Samathan and Pradhan [8] . It is straightforward to see that a graph is a member of the above deÿned class L k if and only if it is the vertex induced subgraph of the De Bruijn graph B( ; k) with word length k and alphabet size . Moreover, a graph is a DNA graph if and only if it is the vertex induced subgraph of B(4; k) for some k.. In this paper, we will study the computational complexity of the membership problems for the classes L k , L ∞ , and L ∞ k for various values of ¿ 2 and k ¿ 1. Let us start our discussion with the classes L k .. • For k = 1, the membership problem for L 1 is trivial: A directed simple graph G = (V; A) is in L 1 if and only if A = V × V and |V | 6 . • For k = 2, B lażewicz et al. [3] design a polynomial time algorithm that decides for any input graph G and any input parameter , whether G is a member of L 2 .. • For any ÿxed number k ¿ 3, we will prove in this paper (cf. Theorem 3.3) that it is NP-hard to decide for an input graph G and an input parameter whether G ∈ L k . • For = 2, the complexity of the membership problem for L 2 k is unknown. We conjecture that it is polynomially solvable.. • For any ÿxed number ¿ 3, we will prove in this paper (cf. Theorem 4.3) that it is NP-hard to decide for an input graph G and an input parameter k whether G ∈ L k . Note that if and k both are not part of the input, then the membership problem for L k is easy. In this case the size of class L k is a ÿxed constant that does not depend on the input, and we simply may search through all of it. Next, we turn to the membership problems for the classes L ∞ and L ∞ k . Some of these problems are fairly close to the membership problems for the classes L k .. • B lażewicz et al. [3] give a polynomial time algorithm that takes a graph G and a parameter k as input, and correctly decides whether G is in L ∞ k .. • For = 2, the complexity of the membership problem for L 2 ∞ is unknown.. • For any ÿxed number ¿ 3, we will prove in this paper (cf. Theorem 4.4) that it is NP-hard to decide for an input graph G whether G ∈ L ∞ . At the end of [3] , the authors pose ÿve open questions on the computational complexity of recognizing graphs in various classes L k . Question 1 considers a graph G with a given ( ; k)-labeling, and it asks to ÿnd the largest possible label length q such that G is in L ÿ q for some appropriate value of ÿ. This question has been answered by B lażewicz et al. [2] who design a polynomial time algorithm for it. Question 2 concerns the complexity of the membership problem in L Organization of the paper. In Section 2 we state some notation, we recall the deÿnition of the graph coloring problem, and we derive some facts on De Bruijn graphs. Section 3 deals with the problem variants for ÿxed label lengths, and Section 4 deals with the problem variants for ÿxed sizes of the alphabet.

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


Efficient hybrid search for visual reconstruction problems Visual reconstruction refers to extracting stable descriptions from visual data ([1]; A. Blake and A. Zisserman, Visual Reconstruction, MIT Press, Cambridge, MA, 1987). Visual reconstruction problems are commonly formulated in an optimization framework and normally require the optimization of nonconvex functions especially when discontinuity preserving image/shape recovery is the goal. Example problems include, image restoration, surface reconstruction, shape from shading etc. Most existing deterministic methods fail to reach the global optimum and lack the generality to incorporate reasonably complex interactions between boolean valued line process variables used for representing the presence (absence) of discontinuities. Stochastic methods for solving such problems e.g. the simulated annealing algorithm or variants thereof do achieve a global optimum but are plagued by slow convergence rates.In this paper, we present a new hybrid search algorithm as an efficient solution for achieving the global optimum of the nonconvex function derived from a Markov random field formulation which allows for incorporation of complex interactions between the line process variables to better constraint the line processes. In the hybrid search, for the stochastic part, we develop an informed genetic algorithm (GA) while employing an incomplete Cholesky preconditioned conjugate gradient algorithm ([23]; S.H. Lai and B.C. Vemuri, Robust and efficient algorithms for optical flow computation, in: Proceedings of the International Symposium on Computer Vision, Coral Gables, FL, 1995, pp. 455-460) for the deterministic part. Our informed GA consists of a reproduction operator and an informed mutation operator. The informed mutation operator exploits specific domain knowledge in the search and is accomplished by the Gibbs sampler. Our hybrid search algorithm is highly parallelizable and leads to a globally optimal solution. The performance of our algorithm is demonstrated via experimental results on the sparse data surface reconstruction and the image restoration problem. ᭧ Visual reconstruction refers to generating stable descriptions from visual data [1] . In their seminal work, Blake and Zisserman [1] define, a stable description as any description that is invariant to a class of distortions that characterize the image formation process e.g., optical blurring, sensor noise, rotation and translation in the image plane etc. Example tasks of visual reconstruction include image restoration, surface reconstruction, optical flow computation, shape from shading, stereo matching, the lightness problem [2] [3] [4] [5] [6] [7] [8] and others.. Visual reconstruction problems may be formulated either in a deterministic or a probabilistic framework. A popular technique in the deterministic framework is based on the regularization theory [6, 9, 10] and leads to the minimization of energy functionals. In the probabilistic formulation, a Markov random field (MRF) model is used to characterize the function being estimated and the prior distribution of this MRF model can be identified with the smoothness constraints in the regularization formulation. Both the regularization formulation and the MRF formulation of visual reconstruction problems lead to the minimization of equivalent energy functions [6, 10] .. Discontinuities in images contain very crucial information for deriving high level image representations. Thus, numerous algorithms have been developed for discontinuity preserving visual reconstruction and there is abundant literature. Early work on visual reconstruction problems reported in literature ignores discontinuities altogether [2, 4, 11] , which yields undesirable smoothing over discontinuity locations. However, later problem formulations allowed for incorporation of prespecified discontinuities [12] [13] [14] [15] . An elegant way to treat discontinuities is via the introduction of a set of binary variables called the line processes. Each line process variable takes a value of one in the presence of discontinuities and zero otherwise. In the past, line processes have been included in both the deterministic [1, 16] and the MRF [17] formulations. The resulting energy function involves real variables (for surface or image) coupled with binary variables (for discontinuities) and is therefore a nonconvex function. Both formulations lead to problems involving the minimization of nonconvex functions.. Numerous algorithms have been proposed to solve this coupled nonconvex minimization problem. They can be categorized into the deterministic methods [1, 18, 19] and the stochastic methods [17, 20] . Most of the deterministic methods can only deal with simple constraints on the line process [1, 19, 21] ; in addition, they can not find the global minimum solution. Stochastic optimization methods for achieving the global optimum solution consist primarily of the simulated annealing (SA) type algorithms. Simulated annealing is a general global optimization algorithm with a slow convergence rate making it impractical for many applications involving large size problems. The deterministic methods for solving the coupled nonconvex minimization in the visual reconstruction problems have attracted more attention than the stochastic methods, since they usually converge faster and are more practical to use. However, most deterministic methods are restricted to handling only simple constraints on the line processes. For example, the well-known GNC (graduated nonconvex) algorithm proposed by Blake and Zisserman [1] is applicable only for the case when there is no interaction between the individual line process variables, i.e. no smoothness constraint is imposed on the line process. Recently, Bedini et al. [22] generalized the GNC algorithm to allow simple interactions between line process variables. The new closed form line energy contains terms that reduce the probability of occurrence of discontinuities which are parallel and neighboring to each other. However, it is very difficult to generalize the GNC algorithm to include arbitrary line energies. This is because, in general, the procedure for deriving the dual energy to eliminate the line processes in the GNC algorithm will be extremely complicated. Similarly, both the mean field annealing algorithm [19] and the analog network approaches [18, 21] can only deal with specific types of constraints on the line process, for e.g. the energy term for constraining the line processes must have a simple closed-form expression. Unfortunately, it is usually very difficult to obtain a simple closed-form expression for the energy of the line process constraints in an MRF model. Therefore, these deterministic methods are in general not applicable for solving the nonconvex minimization problem with a general MRF formulation as described in this paper.. In this paper, we propose a novel hybrid search algorithm as a solution for the general coupled nonconvex minimization problem with an MRF formulation which allows for incorporation of complex interactions between the line process variables to better constraint the line processes. This hybrid search algorithm is a combination of a stochastic and a deterministic search technique. For the stochastic search, we develop a new informed genetic algorithm (GA) whereas for the deterministic search, we employ an incomplete Cholesky preconditioned conjugate gradient algorithm [23] . Our informed GA consists of a reproduction operator and an informed mutation operator which exploits specific domain knowledge in the search and is accomplished by the Gibbs sampler. We present promising experimental results of applying this algorithm to sparse (synthetic) data surface reconstruction with discontinuity detection and the image restoration problems.. The rest of the paper is organized as follows. We briefly review the MRF formulation for the visual reconstruction problems and the resulting nonconvex optimization problems in the next section. A new hybrid search algorithm which comprises of a stochastic search algorithm for the line processes and a deterministic algorithm for each smaller problem (given the line process) is proposed in Section 3. In Section 4, we present a new informed GA as the stochastic search for the line process in our hybrid search algorithm. In Section 5, we briefly present the deterministic algorithm used for solving the quadratic optimization obtained for prescribed discontinuities. Section 6 contains the implementation results for the sparse data surface reconstruction and image restoration problems using the proposed hybrid search algorithm. Finally, we conclude in Section 7.

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


Efficient Network QoS Provisioning Based on Per Node Traffic Shaping paper addresaea the problem of providing perconnection end-to-end delay guarantees in a high-speed network. We assume that the network is connection oriented and enforces some admission control which ensurea that the source traffic conforms to specitied traftic characteristics. We concentrate on the class of rate-controlled service (RCS) disciplbw, in which traffic from each connection is reshaped at every hop, and develop end-to-end delay bounds for the general case where different reshapers are used at each hop. In addition, we establish that these bounds can also be achieved when the shapers at each hop have the same "minimal" envelope.The main disadvantage of this class of service discipline is that the end-to-end delay guarantees are obtained as the sum of the worst-case delays at each node, but we show that this problem can be alleviated through "proper" reshaping of the t-c. We illustrate the impact of this reshaping by demonstrating its use in designing RCS disciplines that outperform service disciplines that are baaed on generalized processor sharing (GPS). Furthermore, we show that we can restrict the space of "good" shapers to a family which is characterized by only one parameter. We also describe extensions to the service discip~me that make it work conserving and as a rasdt reduce the average end-to-end delays.Zndex Terms-QoS provisioning, real-time tratYtc,traffic shaping, ATM, scheduling, end-to-end delay guarantees. I N this paper, we consider the problem of providing per connection end-to-end delay (and throughput) guarantees in high speed networks. Various scheduling policies have been suggested in the literature for this purpose. Among them, policies based on fair queueing, alternatively known as generalized processor sharing (GPS) [7] , [11 ]-[ 13] , have attracted special attention since they guarantee throughput to individual connections and provide smaller end-to-end delay bounds than other policies for connections that cross several nodes. A key factor in obtaining these smaller delay bounds is the ability to take into account (delay) dependencies in the successive nodes that a connection has to cross, which is in general very difficult to do with other policies.. One notable attempt at addressing this general problem is that of [6] , which introduced the concept of service burstiness, and used it to provide a framework to characterize service disciplines and evaluate their end-to-end delay performance. However, the generality of the framework in [6] did not result in as tight end-to-end delay bounds as those obtained by focusing on a specific policy. For example, the bounds available based on the techniques of [6] are no better than the looser bounds found in [12] .. In this paper we concentrate on rate-controlled service (RCS) dkciplines, which have also been proposed in the literature [18] to provide performance guarantees to individual connections. In this class of service disciplines, the traffic of each connection is reshaped at every node to ensure that the traffic offered to the scheduler arbitrating local packet transmissions conforms to specific characteristics. In particular, it is typically used to enforce, at a node inside the network, the same traffic parameter control as the one performed at the network access point, which is based on the parameters negotiated during connection establishment. Reshaping makes the traffic at each node more predictable and, therefore, simplifies the task of guaranteeing performance to individual connections; when used with a particular scheduling policy, it allows the specification of worst case delay bounds at each node [18] . End-to-end delay bounds can then be computed as the sum of the worst case delay bounds at each node along the path.. The main advantages of an RCS discipline, especially when compared to GPS, are flexibility, lower buffer requirements at intermediate nodes, and typically simpler implementation [17] . In addition, in the single node case the RCS discipline that uses the non-preemptive earliest deadline first (NPEDF) scheduling policy, is known to be optimal (the optimality criterion is defined in Section IV) [8] . However, for the more interesting case of general networks with many nodes, optimality does not hold. Furthermore, in Section IV-A we show with simple examples that when a connection has to cross many nodes, GPS outperforms the "naive" ratecontrolled NPEDF discipline. As a result, it has been argued that despite its potentially greater complexity, a GPS-based service discipline should be the solution of choice to provide performance guarantees to individual connections (see, for example, [3] ).. A key result of this paper is to establish that RCS disciplines can be designed so as to outperform GPS-based ones, even in 1063+692/96$05.00 @ 1996 IEEE a network environment. This is achieved by proper selection of the traffic reshaping performed at each node. Specifically, any end-to-end delay bounds that can be guaranteed by the GPS discipline can also be achieved by an RCS discipline by using a simple algorithm to determine how to reshape the traffic and then specify worst-case delay bounds at each node. The sum of the worst-case delay bounds of this RCS discipline is then no larger than the delay guarantees provided by the GPS discipline. We also show that RCS disciplines have the additional flexibility of providing end-to-end delay bounds that cannot be guaranteed by the GPS discipline. Furthermore, because of traffic reshaping, the network buffer requirements of RCS disciplines are in general significantly smaller than those of the GPS discipline (see [6] for related discussions). Based on these advantages and their potential implementation simplicity [17] , we believe that RCS disciplines are very effective candidates for providing end-to-end performance guarantees to individual connections in integmted services networks. The paper is structured as follows. In Section II, we introduce our traffic model, and in particular our assumptions concerning properties of the envelope of the input traffic, and the general structure of our shapers. Section 111 is dedicated to the description of RCS disciplines and to the derivation of several results concerning the delay guarantees they can provide given the traffic and shaper models of Section 11. Section IV is devoted to a comparison with the GPS service discipline. Section IV-A considers first the simpler version of GPS, i.e., rate proportional processor sharing (RPPS), as it is of greater practical significance. Section IV-B considers the more complicated case of general GPS for which similar results are established. Various properties of traffic shapers are investigated in Section V and used to establish that the reshaping needed for RCS disciplines to perform well can be achieved using "simple" shapers. Finally, the important extension demonstrating that the results of the paper hold when reshaping is performed only in case of congestion is the topic of Section W. A brief conclusion summarizes the main findings of the paper. The Appendixes contain proofs of the lemmas, as well as an extension to the more general case of subadditive traffic envelopes. In this paper, we have established that RCS disciplines offer a powerful solution to provide end-to-end delay and throughput guarantees in high speed networks. We showed that the main disadvantage of these service disciplines, namely that of summing worst case delays at each node to determine end-to-end delay bounds, can be overcome through "proper" reshaping of the source traffic. In particular, we have shown that controlling the peak rate of a connection as a function of its delay requirements is critical to efficient network quality-ofservice (QoS) provisioning. How to perform this reshaping was also investigated in the paper, and illustrated by designing RCS chciplines that outperform GPS. This is significant since the bounds available for these policies take dependencies between nodes into account.. In addition to their efficiency, RCS disciplines are also relatively simple to implement, and offer the flexibility to accommodate a wide range of implementation constraints. For example, it is possible to use different schedulers and shapers at different nodes depending on the capabilities available locally. Furthermore, because we also showed that delay guarantees are not affected when operating in a work conserving manner, i.e., reshaping traffic only in case of congestion, RCS disciplines also enable us to offer low average delays when the network is not congested. Fkudly, note that the greater flexibility of RCS disciplines introduces new and interesting problems, e.g., how to best split a given end-to-end delay budget into iocal topic of ongoing delay bounds, and addressing them is the work. therefore it suffices to show that $( ')<$(2). 2= 1,2,.... t-% Since fi(0) z L, the first packet leaves the shaper instanta-. (1) _ (1) ad ff2) = /). neously in both the systems, i.e., /l -SI (1) < f[2) Therefore, we have~1. Let li denote the length-of the ith packet, and assume that. From (2) we can compute the departure time for the (m+ l)th packet in system S1 as. > s~~l, and (36) follows~om e the shaper envelope, A(7), (34).. •1 Sn [tl, t2] denote the amount of where (35) is because s~~l the nondecreasing nature of and the induction hypothesis Proof of Lemma 3: Let connection n traffic served under GPS in the interval [tl, tz] . Assuming that the system starts empty, the backlog of connection n traffic at time t is defined as the difference 1~[0, t] -Sn [0, t] . Now, the busy period containing t is defined as the largest closed interval containing t, during which the backlog of connection n is positive. Note that only traffic arriving during a busy period can have positive delays and, therefore, we only need to consider the delays of such traffic (since by definition D;~O).. Assume that connection n traffic arrives at time tb which is within a busy period of connection n that starts at time to. Then, since packets from the same connection are served in order, the delay of the connection n traffic arriving at time tb is given by. The last equality follows from the fact that since to is the start of a connection n busy period, S. [0, to ) = In [0, to )

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