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.
This short article presents the author’s ideas about different score formats for instrumental performers of mixed electroacoustic music. Following a trajectory from initial understanding through effective rehearsal and ending in performance, different score formats are discussed. Each is based on and addresses performers’ needs and improves documentation and transmission of the composer’s intentions and the performer’s contribution. The author bases these suggestions on her experience as a performer/commissioner and composer of new mixed electroacoustic works, many of which are collaborative creations.
Modern data-mining applications, often called “big-data” analysis, require us to manage immense amounts of data quickly. In many of these applications, the data is extremely regular, and there is ample opportunity to exploit parallelism. Important examples are:
(1) The ranking of Web pages by importance, which involves an iterated matrix-vector multiplication where the dimension is many billions.
(2) Searches in “friends” networks at social-networking sites, which involve graphs with hundreds of millions of nodes and many billions of edges.
To deal with applications such as these, a new software stack has evolved. These programming systems are designed to get their parallelism not from a “super-computer,” but from “computing clusters” – large collections of commodity hardware, including conventional processors (“compute nodes”) connected by Ethernet cables or inexpensive switches. The software stack begins with a new form of file system, called a “distributed file system,” which features much larger units than the disk blocks in a conventional operating system. Distributed file systems also provide replication of data or redundancy to protect against the frequent media failures that occur when data is distributed over thousands of low-cost compute nodes.
On top of these file systems, many different higher-level programming systems have been developed. Central to the new software stack is a programming system called MapReduce. Implementations of MapReduce enable many of the most common calculations on large-scale data to be performed on computing clusters efficiently and in a way that is tolerant of hardware failures during the computation.
MapReduce systems are evolving and extending rapidly. Today, it is common for MapReduce programs to be created from still higher-level programming systems, often an implementation of SQL. Further, MapReduce turns out to be a useful, but simple, case of more general and powerful ideas. We include in this chapter a discussion of generalizations of MapReduce, first to systems that support acyclic workflows and then to systems that implement recursive algorithms.
Our last topic for this chapter is the design of good MapReduce algorithms, a subject that often differs significantly from the matter of designing good parallel algorithms to be run on a supercomputer.
There are many sources of data that can be viewed as a large matrix. We saw in Chapter 5 how the Web can be represented as a transition matrix. In Chapter 9, the utility matrix was a point of focus. And in Chapter 10 we examined matrices that represent social networks. In many of these matrix applications, the matrix can be summarized by finding “narrower” matrices that in some sense are close to the original. These narrow matrices have only a small number of rows or a small number of columns, and therefore can be used much more efficiently than can the original large matrix. The process of finding these narrow matrices is called dimensionality reduction.
We saw a preliminary example of dimensionality reduction in Section 9.4. There, we discussed UV-decomposition of a matrix and gave a simple algorithm for finding this decomposition. Recall that a large matrix M was decomposed into two matrices U and V whose product UV was approximately M. The matrix U had a small number of columns whereas V had a small number of rows, so each was significantly smaller than M, and yet together they represented most of the information in M that was useful in predicting ratings of items by individuals.
In this chapter we shall explore the idea of dimensionality reduction in more detail. We begin with a discussion of eigenvalues and their use in “principal component analysis” (PCA). We cover singular-value decomposition, a more powerful version of UV-decomposition. Finally, because we are always interested in the largest data sizes we can handle, we look at another form of decomposition, called CUR-decomposition, which is a variant of singular-value decomposition that keeps the matrices of the decomposition sparse if the original matrix is sparse.
Eigenvalues and Eigenvectors
We shall assume that you are familiar with the basics of matrix algebra: multiplication, transpose, determinants, and solving linear equations for example. In this section, we shall define eigenvalues and eigenvectors of a symmetric matrix and show how to find them.
In order for us to apply mathematical techniques to the analysis of negotiation, we must be able to express the domain of interest to us in appropriate mathematical terms. Such a formal representation can then be used as the basis upon which to construct computer programs that can negotiate in this domain. For example, suppose you are aiming to build a computer program that can negotiate on your behalf in the purchase of a used car. Then your formalisation should capture at least the following two things:
1. All attributes of the car and the associated purchase that might play a part in determining how desirable (or otherwise) the car is, both for you and for your negotiation counterparts. Relating to the car itself, these attributes might include make, model, colour, age, mileage, condition of bodywork and so on, and relating to the purchase would include price (of course!), length of insurance, and potentially others such as the vendor of the car.
2. A utility function, which defines, for every possible combination of values of the attributes characterising the negotiation domain, the utility that you would obtain from a deal on the purchase of a car.
Our aim in this chapter is twofold. First, we present a three-point classification scheme for negotiation domains, which was introduced by Rosenschein and Zlotkin (1994). This scheme provides a useful point of reference for understanding negotiation domains.
Notation is the traditional method for composers to specify detailed relationships between musical events. However, the conventions under which the tradition evolved – controlled relationships between two or more human performers – were intended for situations apart from those found in electroacoustic music. Many composers of electroacoustic music have adopted the tradition for mixed media works that use live performers, and new customs have appeared that address issues in coordinating performers with electroacoustic elements. The author presents generative music as one method of avoiding the fixedness of tape music: coupled with real-time notation for live performers, generative music is described as a continuation of research into expressive performance within electroacoustic music by incorporating instrumentalists rather than synthetic output. Real-time score generation is described as a final goal of a generative system, and two recent works are presented as examples of the difficulties of real-time notation.
In the previous chapter, we took the agenda as given and studied the strategic behaviour of agents for the different multi-issue negotiation procedures. This study showed that, for a given agenda, the procedure is a key determinant of the outcome of a negotiation. In this chapter, we will learn the importance of the agenda: we will treat the procedure as given and see how the outcome of a negotiation can be changed by changing the agenda.
Given this influence, an economic agent will clearly prefer an agenda that maximises her individual utility. Such an agenda is called the agent's optimal agenda. But it may not always be computationally easy to find such an agenda. Thus, we will focus on some specific negotiation settings and study polynomial-time methods for finding an optimal agenda. These methods have both economic and computational significance: by using them, a player will be able to maximise her utility, and the methods have computational feasibility. In other words, they facilitate the design of software agents that can not only negotiate optimally over a given set of issues, but also choose the right agenda before actual negotiation begins.
Let us begin by looking at some example scenarios where the parties must choose an agenda for negotiation.
This paper looks at microsound – an emergent term, corresponding concept and associated genre of experimental electronica appearing in the late 1990s – which animates the idea of sound as material entity, and, as I will demonstrate, ultimately complicates and expands questions concerning disciplinary boundaries. The conceptualisation of sounds as having mass or as matter, particularly on an imagined ‘atomic’ level as is implicit in microsound, has had many historical antecedents, especially in the twentieth century. However, the comparison, representation and analogy of sound as an object of material composition is a peculiar metaphor as sound has no inherent material substance. At the meeting point of microsound, a wide spectrum of musicians and listeners across genres and subgenres has converged, along with a diverse range of technologies and approaches to those technologies. In what follows, an exploration of the inception and implications of microsound will offer one instructive path that helps elucidate the intertwined relationship between sound art and experimental electronica. Thus, this paper adds to the critical dialogue regarding these complex yet drastically under-theorised fields of creative activity by using microsound to articulate specific points of connection, commonality and divergence.
We hope that by now you will have a good understanding of the scope and applicability of negotiation techniques, as well as a feel for the kinds of techniques used to analyse negotiation settings and build negotiating systems. Our aim in this chapter is to describe briefly some other research areas that are related closely to negotiation. Specifically, we discuss the domain of social choice theory (which is concerned with the general problem of group decision making using techniques such as voting), the area known as argumentation (which is about trying to make sense of domains when there are conflicting arguments about the domain), and fair division (which is concerned specifically with the problem of how to divide goods/resources among a group of agents).
13.1 Social choice
We begin by looking at the domain of social choice theory. Social choice theory addresses itself to the problem of how a group of agents can make a group decision when they have conflicting preferences. The mechanisms that social choice theory studies for this problem are typically voting procedures, in the sense that we are familiar with voting procedures in everyday life, where they are used for political decision making in democratic societies.
The basic setting considered in social choice theory is as follows. As usual, we have a set P = {1,…,|P|} of agents, who in this chapter we will often refer to as voters.
One of the big surprises of the 21st century has been the ability of all sorts of interesting Web applications to support themselves through advertising, rather than subscription. While radio and television have managed to use advertising as their primary revenue source, most media – newspapers and magazines, for example – have had to use a hybrid approach, combining revenue from advertising and subscriptions.
By far the most lucrative venue for on-line advertising has been search, and much of the effectiveness of search advertising comes from the “adwords” model of matching search queries to advertisements. We shall therefore devote much of this chapter to algorithms for optimizing the way this assignment is done. The algorithms used are of an unusual type; they are greedy and they are “on-line” in a particular technical sense to be discussed. We shall therefore digress to discuss these two algorithmic issues – greediness and on-line algorithms – in general, before tackling the adwords problem.
A second interesting on-line advertising problem involves selecting items to advertise at an on-line store. This problem involves “collaborative filtering,” where we try to find customers with similar behavior in order to suggest they buy things that similar customers have bought. This subject will be treated in Section 9.3.
Issues in On-Line Advertising
In this section, we summarize the technical problems that are presented by the opportunities for on-line advertising. We begin by surveying the types of ads found on the Web.
8.1.1 Advertising Opportunities
The Web offers many ways for an advertiser to show their ads to potential customers. Here are the principal venues.
(1) Some sites, such as eBay, Craig's List or auto trading sites allow advertisers to post their ads directly, either for free, for a fee, or a commission.
(2) Display ads are placed on many Web sites. Advertisers pay for the display at a fixed rate per impression (one display of the ad with the download of the page by some user). Normally, a second download of the page, even by the same user, will result in the display of a different ad and is a second impression.
In this intoductory chapter we begin with the essence of data mining and a discussion of how data mining is treated by the various disciplines that contribute to this field. We cover “Bonferroni's Principle,” which is really a warning about overusing the ability to mine data. This chapter is also the place where we summarize a few useful ideas that are not data mining but are useful in understanding some important data-mining concepts. These include the TF.IDF measure of word importance, behavior of hash functions and indexes, and identities involving e, the base of natural logarithms. Finally, we give an outline of the topics covered in the balance of the book.
What is Data Mining?
The most commonly accepted definition of “data mining” is the discovery of “models” for data. A “model,” however, can be one of several things. We mention below the most important directions in modeling.
1.1.1Statistical Modeling
Statisticians were the first to use the term “data mining.” Originally, “data mining” or “data dredging” was a derogatory term referring to attempts to extract information that was not supported by the data. Section 1.2 illustrates the sort of errors one can make by trying to extract what really isn't in the data. Today, “data mining” has taken on a positive meaning. Now, statisticians view data mining as the construction of a statistical model, that is, an underlying distribution from which the visible data is drawn.
example 1.1 Suppose our data is a set of numbers. This data is much simpler than data that would be data-mined, but it will serve as an example. A statistician might decide that the data comes from a Gaussian distribution and use a formula to compute the most likely parameters of this Gaussian. The mean and standard deviation of this Gaussian distribution completely characterize the distribution and would become the model of the data. □
What does it mean that an encoding is fully abstract? What does it not mean? In this position paper, we want to help the reader to evaluate the real benefits of using such a notion when studying the expressiveness of programming languages. Several examples and counterexamples are given. In some cases, we work at a very abstract level; in other cases, we give concrete samples taken from the field of process calculi, where the theory of expressiveness has been mostly developed in the last years.
This article explores listening and communications strategies that arise with a collaborative scoring system we are developing for use within improvisational contexts. Performers generate notation on a scrolling score a short time before it is played or rendered into sound. Working a short time in the future allows performers to respond to sound as they would in any improvisatory situation, and yet coordinate their activity through notation in a way typically associated with pre-composed music. The ‘Anticipatory Score’ platform supports the exploration of different kinds of relationships between performers, composers and audience members, and different listening and engagement strategies that affect the musical experience for all participants.
As we saw in Chapter 1, the purpose of negotiation is to resolve a conflict between individuals and reach a mutually acceptable agreement with respect to some domain. A classic example of such conflict occurs when there are some scarce resources, and the individuals in question must reach a mutually acceptable agreement over how to divide/allocate the resources between themselves. The resources could be anything the individuals want: commodities, services, money, food, and so on. Typically, the negotiating individuals will have conflicting preferences over the possible divisions. Negotiation can be used to find a mutually acceptable way of dividing the resources. In this chapter, we will show how game theory can be used to analyse situations in which participants have conflicting preferences. We will later apply these techniques to the analysis of negotiation settings.
Before we start our analysis of such situations, we must identify and extract the information that is required to understand a situation of conflicting preferences. This information is represented in a game-theoretic model. In general, the models used in game theory represent abstractions of the underlying domain, which aim to capture all and only those aspects of the domain that are relevant for the decisions that must be made by those participating in it. The mathematical models of such conflicts of interests are called games.
This special issue of Mathematical Structures in Computer Science is composed mainly of papers submitted by participants of the Dagstuhl Seminar on Computing with Infinite Data: Topological and Logical Foundations. The workshop took place in the Schloss Dagstuhl - Leibniz Center for Informatics in the first half of October 2011.