# The Art of Computer Programming

**Book**· January 1998

*with*53 Reads

Publisher: 3rd edition

Publisher: Boston: Addison-Wesley

## Discover the world's research

**15+ million**members**118+ million**publications**700k+**research projects

Citations (3151)

References (0)

- ... This algorithm is optimal in the case of the additive basis B + = {x + y, 1} and it is also optimal in a wider basis 2 . The computational model used in the case of the basis B + is known as addition chains [3]. By an addition chain of length l we mean a sequence of natural numbers a 0 , . . . ...... Similarly, we define multiplication chains computing powers x n . According to [3], problems dealing with addition chains appeared in a French journal at the end of the 19th century. There is no precise formula for the function l(n) equal to the length of the shortest addition chain, ending with the number n. ...... For its proof, it suffices to construct the chain by the following rule (the chain is constructed from the end element): if n is even, then we compute n by doubling n/2, but if n is odd, then we compute n by adding 1: n = (n − 1) + 1. There are generalization of this model called vector addition chains (see, for example, [3], [4]). These chains consist of vectors of given length m and begin with m unit vectors of the form (0, . . . ...We obtain order-sharp quadratic and slightly higher estimates of the computational complexity of certain linear transformations (binomial, Stirling, Lah, Gauss, Serpiński, Sylvester) in the basis {x + y} ⋃ {ax : |a| ≤ C} consisting of the operations of addition and inner multiplication by a bounded constant as well as upper bounds O(n log n) for the computational complexity in the basis {ax + by : a, b ∈ ℝ} consisting of all linear functions. Lower bounds of the form Ω(n log n) are obtained for the basis consisting of all monotone linear functions {ax + by : a, b > 0}. For the finite arithmetic basis B +,*,/ = {x ± y, xy, 1/x, 1} and for the bases {x ± y} ⋃ {nx : n ∈ ℕ} ⋃ {x/n : n ∈ ℕ} and B +,* = {x + y, xy, −1}, estimates O(n log n log log n) are obtained in certain cases. In the case of a field of characteristic p, computations in the basis {x + y mod p} are also considered.
Show abstract - ... This is optimal for VV and MV -any algorithm that performs VV or MV by using only scalar arithmetic operations, that is, add, subtract, multiply, and divide, and that uses no branching must perform at least as many scalar additions and subtractions and at least as many scalar multiplications and divisions as the straightforward algorithm. The proofs rely on the techniques of active operation -basic substitution from [116], also covered and extended in [31, Section 2.3], [94], and Sections "Pan's method" in [152] and [154]. ...... The straightforward MM uses kmn scalar multiplications and kmn − kn scalar additions, that is, n 3 and n 3 − n 2 for k = m = n. Until 1969 the scientific world believed that this algorithm is optimal, although already in 1968 the experts knew from the following example that this was not true (see [165] and notice technical similarity to the algorithms for polynomial evaluation with preprocessing in [116] and [94]). ...... Aggregation/disaggregation techniques are behind the acceleration of MM in Example 2.1, pre- ceded by similar application of this technique to polynomial evaluation with preprocessing of coeffi- cients [116], [94]. The papers [117] and [118] apply aggregation in order to compress the decompo- sition of the trilinear form Trace(ABC) by playing with the shared subscripts of distinct variables. ...Article
- Apr 2018

Fast matrix-by-matrix multiplication (hereafter MM) is a highly recognized research subject. The record upper bound 3 of 1968 on the exponent of the complexity MM decreased below 2.38 by 1987, applies to celebrated problems in many areas of computing, and is extensively cited in the Theory of Computing. Further decrease of the exponent remains a celebrated challenge. Acceleration of MM in the Practice of Computing is a distinct challenge, because all known algorithms supporting the exponents below 2.7733 improve straightforward MM only for unfeasible MM of immense size, greatly exceeding the sizes of interest nowadays and in any foreseeable future. We first survey the mainstream study of the acceleration of MM of unbounded sizes, cover the progress in decreasing the exponents of MM, comment on its impact on the theory and practice of computing, and recall various fundamental concepts and techniques supporting fast MM and naturally introduced in that study by 1980. Then we demonstrate how the curse of recursion naturally entered the game of decreasing the record exponents. Finally we cover the State of the Art of efficient feasible MM, including some most efficient known techniques and algorithms as well as various issues of numerical and symbolic implementation. We hope that our review will help motivate and properly focus further effort in this highly important area.Show abstract - ... The tests were performed using the following codes: @BULLET VR: obtained from the Combinatorial Object Server [1] , generates linear extensions in lexicographic order via the Varol-Rotem algorithm [8] (Algorithm V in Section 7.2.1.2 of [6]) @BULLET Genle: also obtained from [1], generates linear extensions in Gray code order using the algorithm of Pruesse and Rotem [7] @BULLET btopsorts: derived from the reverse search code topsorts.c [2] as described in Section 4 @BULLET mtopsorts: mts parallelization of btopsorts. ...... The constructions for the first two partial orders are well known (see, e.g., Section 7.2.1.2 of [6]). The computational results are given in Table 1. ...... Both grayspan and grayspspan are described in detail in Knuth [6]. Again all codes were used in count-only mode and with the default parameters given at the end of Section 5.2. ...Article
- Oct 2016

We describe mts, which is a generic framework for parallelizing certain types of tree search programs, that (a) provides a single common wrapper containing all of the parallelization, and (b) minimizes the changes needed to the existing single processor legacy code. The mts code was derived from ideas used to develop mplrs, a parallelization of the reverse search vertex enumeration code lrs. The tree search properties required for the use of mts are satisfied by any reverse search algorithm as well as other tree search methods such as backtracking and branch and bound. mts is programmed in C, uses the MPI parallel environment, and can be run on a network of computers. As examples we parallelize two simple existing reverse search codes: generating topological orderings and generating spanning trees of a graph. We give computational results comparing the parallel codes with state of the art sequential codes for the same problems.Show abstract - ... Also the word aabaab is not a Lyndon word, as its cyclic rotation by 3 letters is equal to it. Lyndon words have a number of combinatorial properties (see, e.g., [17]) including the famous Lyndon factorization theorem which states that every word can be uniquely written as a concatenation of a lexicographically non-increasing sequence of Lyndon words (due to this theorem Lyndon words are also called prime words; see [14]). They are also related to necklaces of n beads in k colors, that is, equivalence classes of k-ary n-tuples under rotation [8, 9]. ...... De Bruijn sequences are present in a variety of contexts, such as digital fault testing, pseudo-random number generation, and modern public-key cryptographic schemes. There are numerous algorithms for generating such sequences and their generalizations to other combinatorial structures have been investigated; see [2, 14]. Fredricksen and Maiorana [9] have shown a surprising deep connection between de Bruijn sequences and Lyndon words: the lexicographically minimal de Bruijn sequence over Σ is a concatenation, in the lexicographic order, of all Lyndon words over Σ whose length is a divisor of n. ...... Recall that by L (n) we denote the set of Lyndon words over Σ whose length is a divisor of n. Theorem of Fredricksen and Maiorana [9, 14] states that dB n is a concatenation of the Lyndon words from L (n) in the lexicographic order. The proof of the theorem is constructive, i.e. for any word w of length n it shows the concatenation of a constant number of consecutive Lyndon words from L (n) that contain w. ...We give efficient algorithms for ranking Lyndon words of length n over an alphabet of size {\sigma}. The rank of a Lyndon word is its position in the sequence of lexicographically ordered Lyndon words of the same length. The outputs are integers of exponential size, and complexity of arithmetic operations on such large integers cannot be ignored. Our model of computations is the word-RAM, in which basic arithmetic operations on (large) numbers of size at most {\sigma}^n take O(n) time. Our algorithm for ranking Lyndon words makes O(n^2) arithmetic operations (this would imply directly cubic time on word-RAM). However, using an algebraic approach we are able to reduce the total time complexity on the word-RAM to O(n^2 log {\sigma}). We also present an O(n^3 log^2 {\sigma})-time algorithm that generates the Lyndon word of a given length and rank in lexicographic order. Finally we use the connections between Lyndon words and lexicographically minimal de Bruijn sequences (theorem of Fredricksen and Maiorana) to develop the first polynomial-time algorithm for decoding minimal de Bruijn sequence of any rank n (it determines the position of an arbitrary word of length n within the de Bruijn sequence).
Show abstract - ... The cycle diagram combines the information contained in the permutation diagram used by Corteel[6]to deal with crossings and nestings (see also[3]), as well as the permutation array, which allows us to keep track of statistics such as inversions and pattern occurrences. The cycle diagram idea was used in[9]to enumerate so-called almost increasing permutations, a generalization of certain permutations studied by Knuth[18]in connection to sorting algorithms. Here we analyze the correspondence between permutations and colored Motzkin paths in order to easily keep track of multiple statistics counting fixed points, cycles, excedances, inversions, and to impose different conditions on the cycles and the excedances of the permutation, as well as pattern-avoidance conditions. ...... For example, an occurrence of 321 is a decreasing subsequence of length 3. Let S n (321) denote the set of 321-avoiding permutations of length n, and let S(321) = n≥0 S n (321). It is well known[18]that |S n (321)| = C n , the nth Catalan number. The following fact about 321avoiding permutations is often used in the literature. ...Article
- Mar 2017

We explore a bijection between permutations and colored Motzkin paths that has been used in different forms by Foata and Zeilberger, Biane, and Corteel. By giving a visual representation of this bijection in terms of so-called cycle diagrams, we find simple translations of some statistics on permutations (and subsets of permutations) into statistics on colored Motzkin paths, which are amenable to the use of continued fractions. We obtain new enumeration formulas for subsets of permutations with respect to fixed points, excedances, double excedances, cycles, and inversions. In particular, we prove that cyclic permutations whose excedances are increasing are counted by the Bell numbers. Finally, we propose a mechanism for interpreting certain combinatorial sequences as counting colored Motzkin paths, which in some cases can convert sequences of positive integers into simpler weight sequences.Show abstract - ... [6] . BigDigits is a library of multipleprecision arithmetic routines and its implementation has been built using the algorithms in [2] and [3] as the primary references. The classical multiple-precision arithmetic algorithms like add, subtract, multiply and divide are from [2]. ...... BigDigits is a library of multipleprecision arithmetic routines and its implementation has been built using the algorithms in [2] and [3] as the primary references. The classical multiple-precision arithmetic algorithms like add, subtract, multiply and divide are from [2]. This library also includes other functions such as modular multiplication, exponentiation and inversion; number theory function such as greatest common divisor and the Rabin-Miler Probabilistic Primality Test procedure from [4] and [5]. ...ArticleFull-text available
- Aug 2016

For recommended number of bits Elliptic Curve Diffie Hellman (ECDH) key exchange protocol can be implemented in a variety of ways. But due to lack of built-in data types in structured programming language like C to manipulate larger numbers, we require the aid of a third party library that can accommodate and provide mathematical manipulations of the larger custom built data types. To implement ECDH key exchange protocol for 163 bits at application level, we have implemented an abstract API on the top of BigDigits. This API enriches existing BigDigits by providing all necessary mathematical manipulations and variables to accommodate larger numbers for an efficient design of ECDH key exchange protocol. Using this library, standard algorithms are implemented efficiently as hierarchical API's, by providing abstraction for the application programmers to implement ECDH key exchange protocol without knowing the details of implementation of the BigDigits source code library. The final implementation is reusable as compact dynamic linked library and is language independent, therefore useable at application level wherever necessary.Show abstract - ... The interferogram processing stages in the CIRIS controller include: (1) a ZPD alignment core to correct any temporal shifts that might have occurred while sampling the interferogram, (2) a core to apodize the interferogram at the edges of the sampled region to minimize the effects of spectral leakage, (3) an FFT core to translate the interferogram data into the spectrum domain, and (4) some cores that implement Knuth's algorithm [22] to perform a cumulative moving average on successive data streams with the objective of increasing the SNR by eliminating the effect of high frequency and random noise in the instrument. At the price of slightly increasing the computation burden and time, these cores can also compute the variance of the data streams to enable the CIRIS controller for estimating the SNR of the instrument at each time. ...... The affected samples are then replaced by zeros without changing the spectral content of the interferogram. The mean and variance statistics are computed using the Knuth algorithm, which is less prone to loss of precision due to massive cancellation than other related algorithms [14]. In our implementation, updating the mean after processing a new interferogram sample takes 4 clock cycles and 3 additional clock cycles are needed to update the variance. ...Conference PaperFull-text available
- Sep 2015

SoC technology permits to integrate all the computational power required by next-generation space exploration flight science instruments on a single chip. This paper describes the Xilinx Zynq-based Advanced Processor for space EXploration SoC (APEX-SoC) that has been developed at the Jet Propulsion Laboratory (JPL) in collaboration with ARM. The paper discusses the APEX-SoC architecture and demonstrates its main capabilities when used to control JPL's Compositional InfraRed Imaging Spectrometer (CIRIS). As the CIRIS instrument is intended to explore harsh space environments, the paper also deals with the Radiation Hardened By Design (RHBD) features that have been implemented in the APEX-SoC.Show abstract - ... In a combinatorial search problem the object(s) to be found live in a discrete space and the tests to be asked satisfy certain specified requirements . The fundamentals of combinatorial search can be found in primary books [2], [3], [12]. We define our search space N = {1, 2, . . . ...... Then D 1 (1) = {1, 2, 4, 5, 8, 9, 10, 11, 16, . . . , 23}, D 1 (0) = {1, 2, 3, 6, 7, 12, 13, 14, 15, 24, . . . , 31}. ...Conference Paper
- Jan 2016
- Lect Notes Comput Sci

We study a new model of combinatorial group testing in a network. An object (the target) occupies an unknown node in the network. At each time instant, we can test (or query) a subset of the nodes to learn whether the target occupies any of such nodes. Unlike the case of conventional group testing problems on graphs, the target in our model can move immediately after each test to any node adjacent to each present location. The search finishes when we are able to locate the object with some predefined accuracy s (a parameter fixed beforehand), i.e., to indicate a set of s nodes that include the location of the object.Show abstract - ... There are only f + 1 distinct values of pk , namely p f , p f-1 (1 -p) , ... , (1 -p) f and we can use the binomial expansion [3] ...... which can be verified in a variety of ways: induction on f, binomial identities, or via generating functions. [3] Finally, we compare the optimum betting trees (binary and recombining) for 4 flips, p = 0.6 w = 20, and log utility : ...Article
- Nov 2016

Prompted by a recent experiment by Victor Haghani and Richard Dewey, this note generalises the Kelly strategy (optimal for simple investment games with log utility) to a large class of practical utility functions and including the effect of extraneous wealth. A counterintuitive result is proved : for any continuous, concave, differentiable utility function, the optimal choice at every point depends only on the probability of reaching that point. The practical calculation of the optimal action at every stage is made possible through use of the binomial expansion, reducing the problem size from exponential to quadratic. Applications include (better) automatic investing and risk taking under uncertainty.Show abstract - ... MS is similar to merge sort proposed by John Von Neumann in 1945. 48 The benchmarking comparisons are conducted with the well- known approaches and the proposed approach. The results show that the proposed approach can significantly improve the efficiency of searching for MPV in MSN. ...Article
- Oct 2016
- Int J Reliab Qual Saf Eng

A new approach namely merge search (MS) is proposed to search for minimal path vectors (MPV) in multistate networks (MSN). Also, a new advance in solving integer programming problems namely fast enumeration (FE) is integrated in this approach. Such an integrated approach can greatly improve the time efficiency of searching for MPV in MSN. Traditionally, searching for MPV in MSN involves three steps: (a) enumerate all feasible flow vectors; (b) transform these vectors to corresponding state vectors; (c) filter out MPV from these state vectors. Steps (a) and (c) are bottlenecks. Explicit enumeration is usually engaged in solving Step (a), and pairwise comparison is usually employed in solving Step (c). The integrated approach uses FE to solve Step (a), and MS to solve Step (c) instead. Some numerical examples are explored to show the superior time efficiency of the proposed approach. The results show that the proposed new approach is valuable in solving the search of MPV in MSN.Show abstract - ... If we take a step back and look at these procedures we're following, we might recognize some of them as algorithms. Paraphrasing Knuth's definition in The Art of Computer Programming [1], an algorithm is a procedure with a specific, finite sequence of steps for solving a generalized problem, which can be applied to instances of the problem that vary in their inputs. While such procedures are common in virtually all domains of expertise, the word " algorithm " isn't often used outside of mathematics and computer science. ...Working PaperFull-text available
- Aug 2015

- ... Given that the matrix R x H T has n rows, selecting the p with highest norm is indicative of those p most informative nodes to sample. This heuristic method for designing the selection matrix is straightforward to implement, entails O(n log n) operations for the sorting algorithm [33] and is shown in Section VI to yield satisfactory performance, especially if the noise variance is low or the filter has a lot of structure. For the inverse sketching problem, inspection of (28) suggests that an analogous scheme for designing the selection matrix is to pick the p rows of (GR x ) T with largest 2 norm. ...Article
- Oct 2016

Sampling of bandlimited graph signals has well-documented merits for dimensionality reduction, affordable storage, and online processing of streaming network data. Most existing sampling methods are designed to minimize the error incurred when reconstructing the original signal from its samples. Oftentimes these parsimonious signals serve as inputs to computationally-intensive linear operator (e.g., graph filters and transforms). Hence, interest shifts from reconstructing the signal itself towards instead approximating the output of the prescribed linear operator efficiently. In this context, we propose a novel sampling scheme that leverages the bandlimitedness of the input as well as the transformation whose output we wish to approximate. We formulate problems to jointly optimize sample selection and a sketch of the target linear transformation, so when the latter is affordably applied to the sampled input signal the result is close to the desired output. These designs are carried out off line, and several heuristic (sub)optimal solvers are proposed to accommodate high-dimensional problems, especially when computational resources are at a premium. Similar sketching as sampling ideas are also shown effective in the context of linear inverse problems. The developed sampling plus reduced-complexity processing pipeline is particularly useful for streaming data, where the linear transform has to be applied fast and repeatedly to successive inputs or response signals. Numerical tests show the effectiveness of the proposed algorithms in classifying handwritten digits from as few as 20 out of 784 pixels in the input images, as well as in accurately estimating the frequency components of bandlimited graph signals sampled at few nodes.Show abstract - ... For operations of addition, subtraction, multiplication and division, the results are summarized below, see e.g. [5] and [14]. ...ArticleFull-text available
- Dec 2016

This article proposes a new technique for finding exact solution of N-th order, linear, nonlinear and stiff initial value problems. By recasting the problem as a system of constant coefficient polynomial ordinary differential equation, the coefficients of the power series solution is computed iteratively. The closed form solution is obtained from the truncated series solution by applying Padé and Laplace-Padé post-processing. The application of the method to various problems considered elucidated the simplicity and high accuracy of the proposed approach.Show abstract - ... Each experiment was ran on exactly one core using 64 GB of RAM. We implemented AEGLE using Java 1.8.0 60 and the sorting algorithm described in orderByDate (Algorithm 4) was performed using the MergeSort algorithm [9] as implemented in Java 1.8.0 60 with a guaranteed time complexity O(n log n). ...Conference Paper
- Aug 2016

Event data is increasingly being represented according to the Linked Data principles. The need for large-scale machine learning on data represented in this format has thus led to the need for efficient approaches to compute RDF links between resources based on their temporal properties. Time-efficient approaches for computing links between RDF resources have been developed over the last years. However, dedicated approaches for linking resources based on temporal relations have been paid little attention to. In this paper, we address this research gap by presenting AEGLE, a novel approach for the efficient computation of links between events according to Allen's interval algebra. We study Allen's relations and show that we can reduce all thirteen relations to eight simpler relations. We then present an efficient algorithm with a complexity of O(n log n) for computing these eight relations. Our evaluation of the runtime of our algorithms shows that we outperform the state of the art by up to 4 orders of magnitude while maintaining a precision and a recall of 1.Show abstract - ... M 2 } are interpreted as multisets counting multiplicities of elements (cf. page 483 in [9]). (Note that ? ...Article
- Jun 2016
- ADV APPL PROBAB

We consider a game with K ≥ 2 players, each having an integer-valued fortune. On each round, a pair ( i , j ) among the players with nonzero fortunes is chosen to play and the winner is decided by flipping a fair coin (independently of the process up to that time). The winner then receives a unit from the loser. All other players' fortunes remain the same. (Once a player's fortune reaches 0, this player is out of the game.) The game continues until only one player wins all. The choices of pairs represent the control present in the problem. While it is known that the expected time to ruin (i.e. expected duration of the game) is independent of the choices of pairs ( i , j ) (the strategies), our objective is to find a strategy which maximizes the variance of the time to ruin. We show that the maximum variance is uniquely attained by the (optimal) strategy, which always selects a pair of players who have currently the largest fortunes. An explicit formula for the maximum value function is derived. By constructing a simple martingale, we also provide a short proof of a result of Ross (2009) that the expected time to ruin is independent of the strategies. A brief discussion of the (open) problem of minimizing the variance of the time to ruin is given.Show abstract - ... with digits 0 ≤ c i ≤ i. This expansion forms the factorial number system (see[23]). Note that this time −1 = (. ...Article
- Mar 2017

We present a survey of results on profinite semigroups and their link with symbolic dynamics. We develop a series of results, mostly due to Almeida and Costa and we also include some original results on the Sch\"utzenberger groups associated to a uniformly recurrent set.Show abstract - ... The two hash functions defined in Equations (5-6) are employed together as a means of reducing chances of two distinct sequences having identical hashes. The function H p is a multiplicative hash which depends on the visit permutation (Knuth 1973). Note that, when implementing such a function, the values ρ i must be precomputed and bounded (taking the rest of the integer division by a large number) to prevent overflow during multiplication. ...Article
- Mar 2018
- COMPUT OPER RES

We investigate a structural decomposition for the capacitated vehicle routing problem (CVRP) based on vehicle-to-customer "assignment" and visits "sequencing" decision variables. We show that an heuristic search focused on assignment decisions with a systematic optimal choice of sequences (using Concorde TSP solver) during each move evaluation is promising but requires a prohibitive computational effort. We therefore introduce an intermediate search space, based on the dynamic programming procedure of Balas & Simonetti, which finds a good compromise between intensification and computational efficiency. A variety of speed-up techniques are proposed for a fast exploration: neighborhood reductions, dynamic move filters, memory structures, and concatenation techniques. Finally, a tunneling strategy is designed to reshape the search space as the algorithm progresses. The combination of these techniques within a classical local search, as well as in the unified hybrid genetic search (UHGS) leads to significant improvements of solution accuracy. New best solutions are found for surprisingly small instances with as few as 256 customers. These solutions had not been attained up to now with classic neighborhoods. Overall, this research permits to better evaluate the respective impact of sequence and assignment optimization, proposes new ways of combining the optimization of these two decision sets, and opens promising research perspectives for the CVRP and its variants.Show abstract - ... The interferogram processing stages in the CIRIS controller include: (1) a ZPD alignment core to correct any temporal shifts that might have occurred while sampling the interferogram, (2) a core to apodize the interferogram at the edges of the sampled region to minimize the effects of spectral leakage, (3) an FFT core to translate the interferogram data into the spectrum domain, and (4) some cores that implement Knuth's algorithm [22] to perform a cumulative moving average on successive data streams with the objective of increasing the SNR by eliminating the effect of high frequency and random noise in the instrument. At the price of slightly increasing the computation burden and time, these cores can also compute the variance of the data streams to enable the CIRIS controller for estimating the SNR of the instrument at each time. ...Conference PaperFull-text available
- Jun 2015

This paper introduces one of the first efforts conducted at NASA's Jet Propulsion Laboratory (JPL) to develop a generic System-on-Chip (SoC) platform to control science instruments that are proposed for future NASA missions. The SoC platform is named APEX-SoC, where APEX stands for Advanced Processor for space Exploration, and is based on a hybrid Xilinx Zynq that combines an FPGA and an ARM Cortex-A9 dual-core processor on a single chip. The Zynq implements a generic and customizable on-chip infrastructure that can be reused with a variety of instruments, and it has been coupled with a set of off-chip components that are necessary to deal with the different instruments. We have taken JPL's Compositional InfraRed Imaging Spectrometer (CIRIS), which is proposed for NASA icy moons missions, as a use-case scenario to demonstrate that the entire data processing, control and interface of an instrument can be implemented on a single device using the on-chip infrastructure described in this paper. We show that the performance results achieved in this preliminary version of the instrumentation controller are sufficient to fulfil the science requirements demanded to the CIRIS instrument in future NASA missions, such as Europa.Show abstract - ... MatchAccept ( The service composition algorithm essentially makes use of a bidirectional breadth-first search (BBFS) [29]strategy for finding paths from an initial vertex to a goal vertex in the service resource graph. A virtual root node S RI which requires RI as input is simulated to play the role of the maze entrance. ...ArticleFull-text available
- Apr 2015

The automatic and flexible utilization of ubiquitous service resources is a key prerequisite for autonomous robots in ambient intelligent environments. In this paper, a novel component-based robotic system (CBRS) framework is proposed in order to support the utilization of task-oriented service resources. In order to increase the reusability of robot control programs and software libraries, a framework that supports semantic modelling, discovery and dynamic selection of ubiquitous services is proposed, which employs semantic services computing technology to facilitate service representations, invocation and interactions. The system architecture is described with an emphasis on the matchmaking method. A new semantic similarity metric is proposed based on an extended OWL relation definition and a matchmaking algorithm is proposed that is compared to the Requirement and Advertisement in ontology using the conceptual span similarity measure. Hence, more reliable semantic matching is achieved compared with previous methods. By developing a rosbridge-based connection management module in the runtime system, the framework is favourable for developing web browser-enabled applications. Experimental results in home-care robot applications validate the effectiveness of the proposed framework. © 2015 The Author(s). Licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.Show abstract - ... Moreover, the undetectable radiation hits that are at or below the unirradiated noise level spread their energy over all wavelengths and therefore average to a constant DC offset in the spectrum. The mean and variance statistics are computed using the Knuth algorithm, which is less prone to loss of precision due to massive cancellation than other related algorithms [19]. In our implementation, updating the mean after processing a new interferogram sample takes 4 clock cycles and 3 additional clock cycles are needed to update the variance. ...Conference PaperFull-text available
- Oct 2015

We present here an integrated SoC platform, called APEX-SoC, that is aimed at speeding-up the design of next-generation space flight instruments avionics by providing a convenient infrastructure for hardware and software based science data processing. We use a case-study drawn from the JPL Compositional Infrared Imaging Spectrometer (CIRIS) to illustrate the process of integrating instrument-dependent data acquisition and processing stages in this platform. In order to enable the use of APEX-SoC-based instruments in deep space missions, the platform implements Radiation Hardening By Design (RHBD) techniques and offers support for instantiating multiple processing stages that can be used at runtime to increase reliability or performance, based on the requirements of the mission at each particular stage. Finally, in the specific case of CIRIS, the data processing includes a stage to cope with radiation affecting the instrument photo-detector.Show abstract - ArticleFull-text available
- Jul 2015

The depth statistic was defined by Petersen and Tenner for an element of an arbitrary Coxeter group in terms of factorizations of the element into a product of reflections. It can also be defined as the minimal cost, given certain prescribed edge weights, for a path in the Bruhat graph from the identity to an element. We present algorithms for calculating the depth of an element of a classical Coxeter group that yield simple formulas for this statistic. We use our algorithms to characterize elements having depth equal to length. These are the short-braid-avoiding elements. We also give a characterization of the elements for which the reflection length coincides with both the depth and the length. These are the boolean elements.Show abstract - ArticleFull-text available
- Jun 2012

The aroma of multiplication algorithm is ever lasting. It is due to time, space and cost effective as well as number representation. We study here that given a multiplier whether we will take one bit, two bit, three bit or in general n bit for multiplicative realization. Since initial inspiration is Booth's algorithm[1] we consider an interesting aberration of Booth's multiplication algorithm in this paper called BKS(named after the author Barun Biswas, Krishnendu Basuli & Samar Sen Sarma). The BKS algorithm surpasses Booth's algorithm with minimum cost.Show abstract - Article
- May 2000
- J KOREAN MATH SOC

This article discusses questions in one and several complex variables about the size of the sum of the moduli of the terms of the series expansion of a bounded holomorphic function. Although the article is partly expository, it also includes some previously unpublished results with complete proofs.Show abstract - Conference Paper
- Apr 2018

We describe in detail the development of DrinkWatch, a wellbeing application, which supports (alcoholic and non-alcoholic) drink activity logging. DrinkWatch runs on a smartwatch device and makes use of machine learning to recognize drink activities based on the smartwatch»s inbuilt sensors. DrinkWatch differs from other mobile machine learning applications by triggering feedback requests from its user in order to cooperatively learn the user»s personalized and contextual drink activities. The cooperative approach aims to reduce limitations in learning performance and to increase the user experience of machine learning based applications. We discuss why the need for cooperative machine learning approaches is increasing and describe lessons that we have learned throughout the development process of DrinkWatch and insights based on initial experiments with users. For example, we demonstrate that six to eight hours of annotated real world data are sufficient to train a reliable base model.Show abstract - Article
- Jan 2000

(in honor of Jörg H. Siekmann’s 60 th birthday) Polarity of choice-conditions swapped (Definition 9.2) and quasi-existentiality addedShow abstract - ArticleFull-text available
- Jan 2002

This paper discusses concept lattices and some of their applications in component library development and compiler optimizations. Ongoing work on concept-based userextensible simplification (type-based optimizer generators) and library transformations is first reviewed, then a new application—categorization of algorithms via precise descriptions of their performance characteristics—is outlined, with Standard Template Library and Boost Graph Library algorithm concept lattices as examples. 1Show abstract - ArticleFull-text available
- Jan 2005

Mohammed J. ZakiPermission 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. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. These proceedings are also included in the ACM Digital Library.Show abstract - ArticleFull-text available
- Jan 2001

Lattice rules are among the best methods to estimate integrals in a large number of dimensions. They are part of the quasi-Monte Carlo set of tools. A new class of lattice rules, defined in a space of polynomials with coe#cients in a finite field, is introduced in this paper, and a theoretical framework for these polynomial lattice rules is developed. A randomized version is studied, implementations and criteria for selecting the parameters are discussed, and examples of its use as a variance reduction tool in stochastic simulation are provided. Certain types of digital net constructions, as well as point sets constructed by taking all vectors of successive output values produced by a Tausworthe random number generator, turn out to be special cases of this method. Key words. Numerical integration, lattice rules, variance reduction, quasi-Monte Carlo AMS subject classifications. 11K45, 65C05, 65D30, 65D32 1.Show abstract - The " Database Taxonomy " interface organizes relational data into a navigation structure that enables end-users to browse and explore database content in a list of nested data-topic lists. The techniques used to build this interface are based on Burgin's mathematical theory of named sets (BNS). This modeling tool unifies data relations in a number of new and innovation ways. First, it models data relations found between two attributes in a table, regardless of whether their mapping is 1:1 or 1:M, as a binary attribute relation or BAR. This concept establishes a level of abstraction that unifies these two mappings. Second, it models the BAR in a B-Z chain that transforms these data relations into a network structure, that is a building block for the navigation system. And lastly, this chain can represent both keyed and non-keyed attributes. By unifying these two types of attributes, the navigation structure is able to create pathways that include data-topics from two or more database tables, and that always terminate with a primary key. This enables end-users to drill down through the taxonomy in a purposeful way to reach information managed by the database system.
Show abstract - Conference Paper
- Jan 1996

Outline of The Chapter… Section 16.2 describes CMM and the Dynamic Variable Binding Problem. Section 16.3 deals with how CMM is used as part of an inferencing engine. Section 16.4 details the important performance characteristics of CMM.Show abstract - Article
- Jul 1996
- ACM T PROGR LANG SYS

The notion of dependence captures the most important properties of a program for efficient execution on parallel computers. The dependence structure of a program defines the necessary constraints of the order of execution of the program components and provides sufficient information for the exploitation of the available parallelism. Static discovery and management of the dependence structure of programs save a tremendous amount of execution time, and dynamic utilization of dependence information results in a significant performance gain on parallel computers. However, experiments with parallel computers indicate that existing multiprocessing environments are unable to deliver the desired performance over a wide range of real applications, mainly due to lack of precision of their dependence information. This calls for an effective compilation scheme capable of understanding the dependence structure of complicated application programs. This article describes a methodology for capturing and analyzing program properties that are essential in the effective detection and efficient exploitation of parallelism on parallel computers. Based on this methodology, a symbolic analysis framework is developed for the Parafrase-2 parallelizing compiler. This framework extends the scope of a variety of important program analysis problems and solves them in a unified way. The attained solution space of these problems is much larger than that handled by existing compiler technology. Such a powerful approach is required for the effective compilation of a large class of application programs.Show abstract - In a paper entitled Binary lambda calculus and combinatory logic, John Tromp presents a simple way of encoding lambda calculus terms as binary sequences. In what follows, we study the numbers of binary strings of a given size that represent lambda terms and derive results from their generating functions, especially that the number of terms of size n grows roughly like 1.963447954. .. n. In a second part we use this approach to generate random lambda terms using Boltzmann samplers.
Show abstract - Article
- Aug 2003

In this paper, we investigate a public key cryptosystem which is derived from a third order linear recurrence relation and is analogous to the RSA and LUC cryptosystems. The explicit formulation involves a generalisation of the rule for composition of powers and of the calculus of the Euler totient function which underlie the algebra of the RSA cryptosystem. The security of all these systems appears to be comparable and to depend on the intractability of factorisation but the systems do not seem to be mathematically equivalent.Show abstract - We resolve a conjecture of Kalai relating approximation theory of convex bodies by simplicial polytopes to the face numbers and primitive Betti numbers of these polytopes and their toric varieties. The proof uses higher notions of chordality. Further, for C 2-convex bodies, asymptotically tight lower bounds on the g-numbers of the approximating polytopes are given, in terms of their Hausdorff distance from the convex body.
Show abstract - Article
- Aug 2007
- COMPUT PHYS COMMUN

Quantum Monte Carlo (QMC) is among the most accurate methods for solving the time independent Schrödinger equation. Unfortunately, the method is very expensive and requires a vast array of computing resources in order to obtain results of a reasonable convergence level. On the other hand, the method is not only easily parallelizable across CPU clusters, but as we report here, it also has a high degree of data parallelism. This facilitates the use of recent technological advances in Graphical Processing Units (GPUs), a powerful type of processor well known to computer gamers. In this paper we report on an end-to-end QMC application with core elements of the algorithm running on a GPU. With individual kernels achieving as much as 30× speed up, the overall application performs at up to 6× faster relative to an optimized CPU implementation, yet requires only a modest increase in hardware cost. This demonstrates the speedup improvements possible for QMC in running on advanced hardware, thus exploring a path toward providing QMC level accuracy as a more standard tool. The major current challenge in running codes of this type on the GPU arises from the lack of fully compliant IEEE floating point implementations. To achieve better accuracy we propose the use of the Kahan summation formula in matrix multiplications. While this drops overall performance, we demonstrate that the proposed new algorithm can match CPU single precision.Show abstract - Article
- Jan 2016

Path tracing is one of several techniques to render photorealistic images by simulating the physics of light propagation within a scene. The roots of path tracing are outside of computer graphics, in the Monte Carlo simulations developed for neutron transport. A great strength of path tracing is that it is conceptually, mathematically, and often-Times algorithmically simple and elegant, yet it is very general. Until recently, however, brute-force path tracing techniques were simply too noisy and slow to be practical for movie production rendering. They therefore received little usage outside of academia, except perhaps to generate an occasional reference image to validate the correctness of other (faster but less general) rendering algorithms. The last ten years have seen a dramatic shift in this balance, and path tracing techniques are now widely used. This shift was partially fueled by steadily increasing computational power and memory, but also by significant improvements in sampling, rendering, and denoising techniques. In this survey, we provide an overview of path tracing and highlight important milestones in its development that have led to it becoming the preferred movie rendering technique today.Show abstract - Technical ReportFull-text available
- Dec 2015

Social Network Analysis(SNA) is still in its very infancy and is considered as one of the low–hanging fruit for research. With a huge diversity in terms of the constituent fields, social network analysis has developed as a rich commercial and research area. Usually, the studies in this field are multidisciplinary in nature, with researchers and scientists from sociology, graph theory, network science, statistics and computer science contributing to this ever growing research field. Even though this inherent diversity results into a qualitative and quantitative research, but at the same time, it leads to the problem of a highly diversified work, with no common standards or framework to work under. Often new researcher in this field does work as per the requirement and mostly in isolation from the existing work. This disparity arises mainly because of two reasons: First of all, there has been a lot of work done and is being done in this very area and there lacks a knowledge base for the same, which could have been harnessed by a new or existing researcher. The research work is two dimensional in the area of social network analysis, with different studies on one axis and multiple disciplines on the other, figure 10. This makes the process of proper literature review and study of previous work a tedious and gigantic job. Secondly, different Online Social Networks (OSNs) exhibit distinct properties. Although being different is the core criteria for these online social networks to co–exist in parallel. However, this difference is reflected in the studies that consider different parameters and attributes based on a particular online social network under consideration. Even though there are many rich research areas in social network analysis, this study focuses on the modeling of information diffusion process over online social networks. The information diffusion in this context simply implies to the spread of information over an online social network. Keeping in view these issues, there is a clear need for a knowledge base in the form of a study to highlight different challenges faced and their possible resolutions in the field of information diffusion modeling. A researcher can build upon this work to design a new analysis and modelling system or improvise an existing one. This study is a very basic survey of information diffusion models over online social networks. We start with the basic concept of social media and step by step introduce different constructs that led to the inception of information diffusion modeling via online social networks, graph mining, social network analysis and web mining. We propose a classification scheme for some existing information diffusion models based on the different online social network facet that a particular model works with. Although there are many facets of online social networks, we consider influence, tie-strength, homophily, communities, opinion, user roles, spatio-temporal dynamics, and topics. We also highlight some more diffusion models from the perspective of interaction networks. These models use Twitter dataset and the underlying hidden interaction network to analyze five attributes via persistence, stickiness, range, scale, and speed. As mentioned earlier, this work is a stepping stone to future research work and intends to serve as a basic knowledge base in the process of modeling information diffusion over online social networks.Show abstract - Conference Paper
- Oct 2017
- ACM SIGPLAN NOTICES

Implementing the type system of a programming language is a critical task that is often done in an ad-hoc fashion. Whilst this makes it hard to ensure the system is sound, it also makes it difficult to extend as the language evolves. We are interested in describing type systems using declarative rewrite rules from which an implementation can be automatically generated. Whilst not all type systems are easily expressed in this manner, those involving unions, intersections and negations are well-suited for this. In this paper, we consider a relatively complex type system involving unions, intersections and negations developed previously. This system was not developed with rewriting in mind, though clear parallels are immediately apparent from the original presentation. For example, the system presented required types be first converted into a variation on Disjunctive Normal Form. We identify that the original system can, for the most part, be reworked to enable a natural expression using declarative rewrite rules. We present an implementation of our rewrite rules in the Whiley Rewrite Language (WyRL), and report performance results compared with a hand-coded solution.Show abstract - Article
- Oct 2017
- IEEE T COMMUN

AAdaptive modulation is widely employed to improve spectral efficiency. To date, square signal constellations have been used with adaptive modulation. In this paper, triangular constellations are considered for this purpose. Triangle quadrature amplitude modulation (TQAM) for both power-of-two and non-power-of-two modulation orders is examined. A technique for TQAM mapping is presented which is better than existing approaches. A new type of TQAM called semi-regular TQAM (STQAM) is introduced. Bit error rate expressions for TQAM are derived, and the detection complexity of S-TQAM is compared with that of regular TQAM (R-TQAM) and irregular TQAM (I-TQAM). The performance of S-TQAM over additive white Gaussian noise and Rayleigh fading channels is compared with that of R-TQAM and I-TQAM.Show abstract - Chapter
- Apr 2018

The trick is a constant of mathematical culture. This chapter aims to explain how to interpret what is calculable, in order to really address the question of algorithms, and therefore massive data. If specialists recognize the inflation of digitized data, they give it the surprising name “universe” and talk about distinguishing communities, and cliques within the data. The chapter begins with what needs to be understood from Turing‘s machine. This will allow to introduce three general questions: that which is natural in mathematics, that of style and, finally, that of the constraints of any mathematical process. In the 1950s, digital specialists such as Hermann H. Goldstine, explained that with the machines of the time, which were still very moderate, digital technology finally triumphed over analog. The chapter then presents positive results, with well‐known algorithms still used today, such as gcd. Finally, it concludes with the Louvain algorithm.Show abstract - Article
- Apr 2018
- COMPUT OPTIM APPL

We propose the first algorithm to compute the conjugate of a bivariate Piecewise Linear-Quadratic (PLQ) function in optimal linear worst-case time complexity. The key step is to use a planar graph, called the entity graph, not only to represent the entities (vertex, edge, or face) of the domain of a PLQ function but most importantly to record adjacent entities. We traverse the graph using breadth-first search to compute the conjugate of each entity using graph-matrix calculus, and use the adjacency information to create the output data structure in linear time.Show abstract - Article
- Apr 2018
- ACM Trans Algorithm

For any integer n≥ 1, a middle levels Gray code is a cyclic listing of all bitstrings of length 2n+1 that have either n or n+1 entries equal to 1 such that any two consecutive bitstrings in the list differ in exactly one bit. The question whether such a Gray code exists for every n≥ 1 has been the subject of intensive research during the past 30 years and has been answered affirmatively only recently [T. Mütze. Proof of the middle levels conjecture. Proc. London Math. Soc., 112(4):677--713, 2016]. In this work, we provide the first efficient algorithm to compute a middle levels Gray code. For a given bitstring, our algorithm computes the next ℓ bitstrings in the Gray code in time O(nℓ (1+&frac;nℓ)), which is O(n) on average per bitstring provided that ℓ = Ω (n).Show abstract - ArticleFull-text available
- May 2015

A layerwise search in a split-by-edges tree (as defined by Br{\ae}ndeland, 2015) of agiven graph produces a maximum independent set in exponential time. A depth-first search produces an independent set, which may or may not be a maximum, in linear time, but the worst case success rate is maybe not high enough to make it really interesting. What may make depth-first searching in split-by-edges trees interesting, though, is the pronounced oscillation of its success rate along the graph size axis.Show abstract Show more

This research doesn't cite any other publications.

Ad

Join ResearchGate to find the people and research you need to help your work.

**15+ million**members**118+ million**publications**700k+**research projects