To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
A generic function is a function that can be instantiated on many data types to obtain data type specific functionality. Examples of generic functions are the functions that can be derived in Haskell, such as show, read, and ‘==’. The recent years have seen a number of proposals that support the definition of generic functions. Some of the proposals define new languages, some define extensions to existing languages. As a common characteristic none of the proposals can be made to work within Haskell 98: they all require something extra, either a more sophisticated type system or an additional language construct. The purpose of this paper is to show that one can, in fact, program generically within Haskell 98 obviating to some extent the need for fancy type systems or separate tools. Haskell's type classes are at the heart of this approach: they ensure that generic functions can be defined succinctly and, in particular, that they can be used painlessly. We detail three different implementations of generics both from a practical and from a theoretical perspective.
We generalize and unify results on parametrized and coloured Tutte polynomials of graphs and matroids due to Zaslavsky, and Bollobás and Riordan. We give a generalized Zaslavsky–Bollobás–Riordan theorem that characterizes parametrized contraction–deletion functions on minor-closed classes of matroids, as well as the modifications necessary to apply the discussion to classes of graphs. In general, these parametrized Tutte polynomials do not satisfy analogues of all the familiar properties of the classical Tutte polynomial. We give conditions under which they do satisfy corank-nullity formulas, and also conditions under which they reflect the structure of series-parallel connections.
Among systems for creating slide presentations, the dominant ones offer essentially no abstraction capability. Slideshow represents our effort over the last several years to build an abstraction-friendly slide system with PLT Scheme. We show how functional programming is well suited to the task of slide creation, we report on the programming contructs that we have developed for slides, and we describe our solutions to practical problems in rendering slides. We also describe experimental extensions to DrScheme that support a mixture of programmatic and WYSIWYG slide creation.
A cylinder graph is the graph Cartesian product of a path and a cycle. In this paper we investigate the length of a minimal spanning tree of a cylinder graph whose edges are assigned random lengths according to independent and uniformly distributed random variables. Our work was inspired by a formula of J. Michael Steele which shows that the expected length of a minimal spanning tree of a connected graph can be calculated through the Tutte polynomial of the graph. First, using transfer matrices, we show how to calculate the Tutte polynomials of cylinder graphs. Second, using Steele's formula, we tabulate the expected lengths of the minimal spanning trees for some cylinder graphs. Third, for a fixed cycle length, we show that the ratio of the expected length of a minimal spanning tree of a cylinder graph to the length of the cylinder graph converges to a constant; this constant is described in terms of the Perron–Frobenius eigenvalue of the accompanying transfer matrix. Finally, we show that the length of a minimal spanning tree of a cylinder graph satisfies a strong law of large numbers.
It is possible to extend the basic notion of “function call” to allow functions to have multiple return points. This turns out to be a surprisingly useful mechanism. This article conducts a fairly wide-ranging tour of such a feature: a formal semantics for a minimal $\lambda$-calculus capturing the mechanism; motivating examples; monomorphic and parametrically polymorphic static type systems; useful transformations; implementation concerns and experience with an implementation; and comparison to related mechanisms, such as exceptions, sum-types and explicit continuations. We conclude that multiple-return function call is not only a useful and expressive mechanism, at both the source-code and intermediate-representation levels, but also quite inexpensive to implement.
Higher-order languages that encourage currying are typically implemented using one of two basic evaluation models: push/enter or eval/apply. Implementors use their intuition and qualitative judgements to choose one model or the other. Our goal in this paper is to provide, for the first time, a more substantial basis for this choice, based on our qualitative and quantitative experience of implementing both models in a state-of-the-art compiler for Haskell. Our conclusion is simple, and contradicts our initial intuition: compiled implementations should use eval/apply.
Once the path of the vehicle and the desired task of the end-effector are predefined, in order to apply the optimal stability criterion, the manipulator should be redundant. In this paper, the goal is to find the position, angular velocity, and angular acceleration of the redundant link of the manipulator such that the entire system becomes optimally stable. By considering the full dynamic interaction between the manipulator and its vehicle, the stability issue becomes more complex. There are some measures of stability and one of them is the tire's upward force. This measure tries to equalize the upward forces of the tires that lead to optimal stability and better steer-ability. Optimizing the parameters of various engineering problems is a challenging issue. In this research, the optimal position, angular velocity, and angular acceleration of the redundant link are found by the genetic algorithm approach such that the upward forces of vehicle tires are nearly equal. Furthermore, the effectiveness of this procedure is shown by presenting an example.
In this research, we study the construction of configuration space (C-space) of manipulators. The proposed approach is based upon precomputing the global topology of a robot's free space, and consists of an offline phase and an online phase. In the offline phase, a C-space obstacle database (COD) for a given robot is developed in which the C-space obstacle (C-obstacle) maps are stored and indexed by the cells of the workspace; in the online phase when the same robot is operated in a real environment, those maps whose indices match the real obstacle cells are identified and then extracted from the COD. The superposition of these maps forms forbidden region in operation. This proposed approach is a generic one and can be applied to manipulators with arbitrary kinematic structures and geometries. The construction of the COD, which is generally the most time-consuming step, is implemented in the offline phase, and the online computing only involves the identification of the components matching the COD indices. Therefore, this proposed approach for C-space construction can be realized in a real-time online fashion and is especially suitable for robot manipulation under dynamic operations. We carry out analyses on several types of manipulators to verify and demonstrate the feasibility and efficiency of the proposed approach.
This paper describes the implementation and validation of a fuzzy inference engine for estimating human affective state in real-time, using robot motions as the stimulus. The inference engine was tested with 36 subjects. To the authors' knowledge, this paper reports the first such trial that measures affective response to human-scale physical robot motions for a statistically significant population. The results demonstrate that affective state arousal can be detected using physiological signals and the inference engine. Comparison of results between the two planners shows that subjects report less anxiety and surprise with the safe planner.
A new promising approach for visibility-sensitive path-planning problems is presented. The paper focuses on covert navigation where a mobile robot needs to plan a stealthy path to approach a designated destination in a cluttered environment. The aim is to minimize the robot's exposure to hostile sentries within the same environment. The approach can be adapted to work with different levels of initial knowledge the robot may have about both the environment map and the sentries' locations. The approach depends on estimating a cost value at each free-space location that presents the risk of being seen by any sentry. Based on the distance transform algorithm methodology, the minimum visibility–distance cost to a goal is calculated at each cell in the grid-based environment map. Moving along the steepest descent trajectory from any starting point generates an optimal covert path to a goal. The approach has been evaluated with both simulated and physical experiments. A number of test cases are presented. In each case, a path with considerable covertness, compared to a short path to the same destination, is generated. In addition to covert navigation, the approach is introduced briefly as a potential solution for other visibility-based path-planning problems.
This paper examines three methods of adaptive output feedback control for robotic manipulators. Implementing output feedback control allows use of only the position information, which can be measured quite accurately. Velocity and acceleration measurements can get corrupted by noise. A method proposed by K. W. Lee and H. K. Khalil [Adaptive output feedback control of robot manipulators using high-gain observer, Int. J. Control, 6, 869–886 (1997)] using a high-gain observer, one proposed by J. J. Craig, P. Hsu and S. S. Sastry [Adaptive control of mechanical manipulators, Int. J. Robot. Res., 6(2), 16–27 (1987)] with the addition of a linear observer that we propose, and a method proposed by R. Gourdeau and H. M. Schwartz [Adaptive control of robotic manipulators: Experimental results, Proceedings of the 1991 IEEE International Conference on Robotics and Automation (Apr. 1991) pp. 8–15] using an Extended Kalman Filter are examined. The methods are implemented in simulation and experimentally on a direct-drive robot. The performance of each of the algorithms is compared.
We combine a “hybrid” force-/position-control scheme with a potential field approach into a novel method for collision recovery and navigation in unknown environments. It can be implemented both on manipulators and mobile robots. The use of force sensors allows us to locally sense the environment and design a dynamic control law. Multiple Lyapunov functions are used to establish asymptotic stability of the closed-loop system. The switching conditions and stability criteria are established under reasonable assumptions on the type of obstacles present in the environment. Extensive simulation results are presented to illustrate the system behavior under the designed control scheme, and verify its stability, collision recovery, and navigation properties.
The concept of a temporal phylogenetic network is a mathematical model of evolution of a family of natural languages. It takes into account the fact that languages can trade their characteristics with each other when linguistic communities are in contact, and also that a contact is only possible when the languages are spoken at the same time. We show how computational methods of answer set programming and constraint logic programming can be used to generate plausible conjectures about contacts between prehistoric linguistic communities, and illustrate our approach by applying it to the evolutionary history of Indo-European languages.
In this paper, we propose a new language, called AR (Action Rules), and describe how various propagators for finite-domain constraints can be implemented in it. An action rule specifies a pattern for agents, an action that the agents can carry out, and an event pattern for events that can activate the agents. AR combines the goal-oriented execution model of logic programming with the event-driven execution model. This hybrid execution model facilitates programming constraint propagators. A propagator for a constraint is an agent that maintains the consistency of the constraint and is activated by the updates of the domain variables in the constraint. AR has a much stronger descriptive power than indexicals, the language widely used in the current finite-domain constraint systems, and is flexible for implementing not only interval-consistency but also arc-consistency algorithms. As examples, we present a weak arc-consistency propagator for the all_distinct constraint and a hybrid algorithm for n-ary linear equality constraints. B-Prolog has been extended to accommodate action rules. Benchmarking shows that B-Prolog as a CLP(FD) system significantly outperforms other CLP(FD) systems.
This paper describes a simpler way for programmers to reason about the correctness of their code. The study of semantics of logic programs has shown strong links between the model theoretic semantics (truth and falsity of atoms in the programmer's interpretation of a program), procedural semantics (for example, SLD resolution) and fixpoint semantics (which is useful for program analysis and alternative execution mechanisms). Most of this work assumes that intended interpretations are two-valued: a ground atom is true (and should succeed according to the procedural semantics) or false (and should not succeed). In reality, intended interpretations are less precise. Programmers consider that some atoms “should not occur” or are “ill-typed” or “inadmissible”. Programmers don't know and don't care whether such atoms succeed. In this paper we propose a three-valued semantics for (essentially) pure Prolog programs with (ground) negation as failure which reflects this. The semantics of Fitting is similar but only associates the third truth value with non-termination. We provide tools to reason about correctness of programs without the need for unnatural precision or undue restrictions on programming style. As well as theoretical results, we provide a programmer-oriented synopsis. This work has come out of work on declarative debugging, where it has been recognised that inadmissible calls are important.
We present a declarative language, ${\cal PP}$, for the high-level specification of preferences between possible solutions (or trajectories) of a planning problem. This novel language allows users to elegantly express non-trivial, multi-dimensional preferences and priorities over such preferences. The semantics of ${\cal PP}$ allows the identification of most preferred trajectories for a given goal. We also provide an answer set programming implementation of planning problems with ${\cal PP}$ preferences.
A casual listener may not have the relevant cognitive tools to relate to electroacoustic music as an independent art form. Even music students who have had several years' formal training may not know how to listen purposefully to it. The authors investigate the hypothesis that by engaging in the composition of musique concrète, students will become more informed listeners to electroacoustic music in general. This study describes a teacher and ten 16-year-old high school students who use a digital audio editor (Cool Edit Pro) to manipulate sound and to structure sound events. A variety of teaching approaches are tested. Having experienced the creative process, the participants display a growing ability to engage in higher-order critical thinking skills in relation to electroacoustic music.
This paper seeks to address some of the problems faced by those archiving an area of musical practice – electroacoustic music and the sonic arts – which is, by definition, involved with technologies which change and develop, and which unsurprisingly is itself in a state of flux and transformation. Drawing on the experience gained from two linked research projects – one looking at the development of the practice, the other seeking to archive it – it is suggested that the two apparently disparate areas of activity can be fruitfully regarded as overlapping in many respects. Both activities involve selection and aesthetic judgement, both strive for an elusive ‘completeness’ while acknowledging its impossibility, and at a technical level the strategies now emerging for searching and collating information from ‘separate’ archives look increasingly like the strategies used in some areas of ‘real-time’ composition and performance practice. It is argued that archivists of material from such a disparate and rapidly developing practice, rather than aiming for spurious ‘coverage’ of the field, should acknowledge and celebrate their difference from each other, while conforming to simple principles which will allow their archived content to be searched and collated dynamically by individual users, each querying and configuring the material optimally for their own purposes.
In this paper I try to outline a model that can bring out the meaningful relationships between ‘the instrumental’ and ‘the electronics’ in mixed music. The model is based on the semiotic square which is considered in semiotics as a powerful conceptual framework to examine the relationships between two terms (S1/S2) and their negative (non-S1/non-S2), terms which can be characters, situations, actions, concepts, etc. Two paradigmatic axes represent the relations between the actors of mixed music: the sources (instrumental and electronic) on the one hand, and the manipulations (real-time processing and sound projection) on the other. According to the semiotic square, the relations inside the environment are defined in terms of contrariety, contradiction and complementarity. This model allows us to start out with a purely technological description of the ‘mixed music’ genre and of individual pieces, with the advantage of a pre-operative analysis of the system. It describes the immanent structure of the environments and releases the potential interactions between the instrumental and the electronics of mixed music. These interactions are examined, from a paradigmatic point of view, with numerous representative pieces of mixed music from the twentieth century.
Portraits polychromes are a series of books associated with multimedia documents presented on the Internet site of the GRM since 2001. In releasing this collection, our primary concern was to increase awareness of the electroacoustic repertoire and the reserves in the GRM archives. The GRM, being a pioneering centre of electroacoustics, is fortunate to possess a consistent and significant reserve dating back to the beginning of the 1950s. At present, the catalogue contains around 2,000 works, accompanied with supplementary documents: composer's biographies, reviews, photographs, documentary movies, radio broadcasts, recorded public lectures, theoretical research work, transcriptions and analyses. In addition to the heritage value of the GRM's collection, the enterprise of the Portraits polychromes, with the aid of multimedia tools, aims to advance the progress of research on analysis and the transcription of musical works.