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.
In this chapter we present some application examples that are more lengthy than the examples discussed in earlier chapters. Although these examples are heavily stylized, they illustrate essential features of decision making in various contexts. The first three examples, the Battle of the Sexes, Ultimatum, and the Stag Hunt games, are games, along with the Prisoner's Dilemma game discussed in earlier chapters, that have received a great deal of attention as important examples of game theory, since they serve as models of many real-world situations. The fourth example, the Family Walk, is a social choice example that illustrates how conditional utilities can be used to define a social network in which, although every participant gets a vote, the votes are not delivered in a social vacuum. The fifth and final example is that of a multiagent system comprising three autonomous decision makers that must function cooperatively.
Battle of the Sexes
As discussed in Example 1.3, the Battle of the Sexes game involves a man and a woman who plan to meet in town for a social function. She (S) prefers to go to the ballet (B), whereas he (H) prefers the dog races (D). Each prefers to be with the other, however, regardless of where the social function takes place.
A mathematical formalism may be operated in ever new, uncovenanted ways, and force on our hesitant minds the expression of a novel conception.
– Michael Polanyi Personal Knowledge (University of Chicago Press, 1958)
Extrinsic versus intrinsic coordination
We begin our discussion in this chapter with a review of the various notions of coordination that appear in the literature. Perhaps the the earliest game-theoretic concept of coordination is that of tacit coordination, as introduced by Schelling (1960). According to this concept, players coordinate if they try to guess what each other will do and make their decisions accordingly. Lewis has provided more structure to this notion by introducing the notion of coordination equilibria. Recall that a Nash equilibrium is an action profile such that no single player would increase its payoff if it acted otherwise alone. Lewis (1969) has refined this idea to define a coordination equilibrium as an action profile such that no single player would increase its payoff had any one player alone acted otherwise, either itself or someone else. A coordination equilibrium is proper if each agent strictly prefers it to any other outcome. Lewis (1969) provides a formal definition of a coordination problem in the context of classical game theory: “Coordination problems … are situations of interdependent decision by two or more agents in which coincidence of interest predominates and in which there are two or more proper coordination equilibria” (p. 24).
Natural Language Engineering (NLE) has enjoyed another year promoting research of applied Natural Language Processing and serving the research community in the field. We were particularly pleased to register an increasing number of submissions on a wide range of topics reflecting the growing importance of the field. We were also delighted to receive a number of submissions representing the new article types announced in 2010, such as surveys and squibs.
In the preceding chapters, we have seen how to encode trees in terms of splits, metrics, and quartets, and we have studied the relationship between these various types of encodings. Most of our discussions were concerned with what we might call “ideal data”, that is, data that correspond perfectly to a tree. However, as one might imagine, real biological data rarely come in this form. In consequence, many methods have been devised for tree and network reconstruction that try to find a tree or network that “best” fits the data, usually relative to some measure of optimality (see e.g., [76]).
It is beyond the scope of this book to review all of these methods here. Instead, we will briefly illustrate in this chapter how measuring inconsistencies in our three basic structures, split systems, metrics, and quartet systems, can be of some use in guiding the process of tree and network reconstruction.
To avoid uninteresting discussions of small cases, we will assume throughout this chapter that X is a finite set of cardinality n ≥ 3.
k-compatibility
We have seen in Chapter 3 that compatible split systems are precisely those split systems that encode X-trees. Given that split systems arising from real data will rarely be compatible, we will now consider a simple way to measure how far a given split system is from being compatible. This yields some interesting mathematical results and, as we shall see, can also provide a useful tool for analyzing biological data.
In the last chapter, we saw that X-trees can be encoded, up to canonical isomorphism, in terms of certain split systems, quartet systems, or metrics. We now start to explore how, conversely, split systems, quartet systems, or metrics can be used to (re-)construct phylogenetic relationships in terms of trees or, more generally, networks, beginning the investigation in this chapter with split systems.
Using a recursive argument, we saw already in the previous chapter that an X-tree may be encoded by — and, thus, reconstructed recursively from — the associated system of pairwise compatible X-splits. However, split systems arising in “real life” (defined, e.g., in terms of a family of naturally arising binary characters) are rarely compatible. To see how even such data may still be dealt with using “graphical” methods, consider the following example: For X ≔ 〈5〉, consider the two compatible splits S1 ={1, 2}|{3, 4, 5} and S2 = {1, 2, 3}|{4, 5} that encode the X-tree depicted in Figure 4.1(a). Clearly, it is impossible to “pop-out” the split S3 ={1, 2, 4}|{3, 5} in this X-tree by introducing a single edge, reflecting of course the fact that S2 and S3 are incompatible. However, we could still “expand” the tree along the edge connecting the vertices that are labeled with 3 and 5 so as to obtain the labeled network in Figure 4.1(b). In this graph, the split S1 can be “obtained” by deleting the pendant edge, the split S3 can be “obtained” by deleting the two parallel dashed edges, whereas the split S2 can be “obtained” by deleting the remaining two, also parallel edges.
This book is about the deep connections between proof theory and recursive function theory. Their interplay has continuously underpinned and motivated the more constructively orientated developments in mathematical logic ever since the pioneering days of Hilbert, Gödel, Church, Turing, Kleene, Ackermann, Gentzen, Péter, Herbrand, Skolem, Malcev, Kolmogorov and others in the 1930s. They were all concerned in one way or another with the links between logic and computability. Gödel's theorem utilized the logical representability of recursive functions in number theory; Herbrand's theorem extracted explicit loop-free programs (sets of witnessing terms) from existential proofs in logic; Ackermann and Gentzen analysed the computational content of ε-reduction and cut-elimination in terms of transfinite recursion; Turing not only devised the classical machine-model of computation, but (what is less well known) already foresaw the potential of transfinite induction as a method for program verification; and of course the Herbrand–Gödel–Kleene equation calculus presented computability as a formal system of equational derivation (with “call by value” being modelled by a substitution rule which itself is a form of “cut” but at the level of terms).
That these two fields—proof and recursion—have developed side by side over the intervening seventy-five years so as to form now a cornerstone in the foundations of computer science, testifies to the power and importance of mathematical logic in transferring what was originally a body of philosophically inspired ideas and results, down to the frontiers of modern information technology.
The treatment of our subject—proof and computation—would be incomplete if we could not address the issue of extracting computational content from formalized proofs. The first author has over many years developed a machine-implemented proof assistant, Minlog, within which this can be done where, unlike many other similar systems, the extracted content lies within the logic itself. Many non-trivial examples have been developed, illustrating both the breadth and the depth of Minlog, and some of them will be seen in what follows. Here we shall develop the theoretical underpinnings of this system. It will be a theory of computable functionals (TCF), a self-generating system built from scratch and based on minimal logic, whose intended model consists of the computable functions on partial continuous objects, as treated in the previous chapter. The main tool will be (iterated) inductive definitions of predicates and their elimination (or least-fixed-point) axioms. Its computational strength will be roughly that of ID<ω, but it will be more adaptable and computationally applicable.
After developing the system TCF, we shall concentrate on delicate questions to do with finding computational content in both constructive and classical existence proofs. We discuss three “proof interpretations” which achieve this task: realizability for constructive existence proofs and, for classical proofs, the refined A-translation and Gödel's Dialectica interpretation. After presenting these concepts and proving the crucial soundness theorem for each of them, we address the question of how to implement such proof interpretations.