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 chapter concludes the first part of this book by introducing the nonalgorithmic aspects of some of the recent results in computational topology. In Chapter 1, we established the primary goal of this book: the computational exploration of topological spaces. Having laid the mathematical foundation required for this study in the previous four chapters, we now take steps toward this goal through
persistence;
hierarchical Morse-Smale complexes;
and the linking number for simplicial complexes.
The three sections of this chapter elaborate on these topics. In Section 6.1, we introduce a new measure of importance for topological attributes called persistence. Persistence is simple, immediate, and natural. Perhaps precisely because of its naturalness, this concept is powerful and applicable in numerous areas, as we shall see in Chapter 13. Primarily, persistence enables us to simplify spaces topologically. The meaning of this simplification, however, changes according to context. For example, topological simplification of Morse-Smale complexes corresponds to geometric smoothing of the associated function. To apply persistence to sampled density functions, we extend Morse-Smale complexes to piece-wise linear (PL) manifolds in Section 6.2. This extension will allow us to construct hierarchical PL Morse-Smale complexes, providing us with an intelligent method for noise reduction in sampled data.
Abduction, first proposed in the setting of classical logics, has been studied with growing interest in the logic programming area during the last years. In this paper we study abduction with penalization in the logic programming framework. This form of abductive reasoning, which has not been previously analyzed in logic programming, turns out to represent several relevant problems, including optimization problems, very naturally. We define a formal model for abduction with penalization over logic programs, which extends the abductive framework proposed by Kakas and Mancarella. We address knowledge representation issues, encoding a number of problems in our abductive framework. In particular, we consider some relevant problems, taken from different domains, ranging from optimization theory to diagnosis and planning; their encodings turn out to be simple and elegant in our formalism. We thoroughly analyze the computational complexity of the main problems arising in the context of abduction with penalization from logic programs. Finally, we implement a system supporting the proposed abductive framework on top of the DLV engine. To this end, we design a translation from abduction problems with penalties into logic programs with weak constraints. We prove that this approach is sound and complete.
In the last two chapters, we studied combinatorial methods for describing the topology of a space. One reason for our interest in understanding topology is topological simplification: removing topological “noise,” using a measure that defines what “noise” is. But as we saw in Section 1.2.3, the geometry and topology of a space are intricately related, and modifying one may modify the other. We need to understand this relationship in order to develop intelligent methods for topological simplification. Morse theory provides us with a complete analysis of this relationship when the geometry of the space is given by a function. The theory identifies points at which level-sets of the function undergo topological changes and relates these points via a complex. The theory is defined, however, on smooth domains, requiring us to take a radical departure from our combinatorial focus. We need these differential concepts to guide our development of methods for nonsmooth domains. Our exposition of Morse theory, consequently, will not be as thorough and axiomatic as the accounts in the last two chapters. Rather, we rely on the reader's familiarity with elementary calculus to focus on the concepts we need for analyzing 2-manifolds in ℝ3.
We begin this chapter by extending some ideas from calculus to manifolds in Sections 5.1 and 5.2.
This paper focuses on the inference of modes for which a logic program is guaranteed to terminate. This generalises traditional termination analysis where an analyser tries to verify termination for a specified mode. Our contribution is a methodology in which components of traditional termination analysis are combined with backwards analysis to obtain an analyser for termination inference. We identify a condition on the components of the analyser which guarantees that termination inference will infer all modes which can be checked to terminate. The application of this methodology to enhance a traditional termination analyser to perform also termination inference is demonstrated.
In Chapter 6, we motivated the definition of persistence by the need for intelligent methods for topological simplification. In this chapter, we look at algorithms for simplifying a space topologically, using persistence as a measure. We begin by reviewing prior work and formalizing a notion of topological simplification within the framework of filtrations in Section 8.1. We then look at a simple algorithm for computing persistent Betti numbers, which motivates the reordering algorithms for simplification in Section 8.2. There are conflicts, however, between the goals established for simplification. We formalize these conflicts, and discuss their resolution or diminution in Section 8.3. To view the entire persistent history of a filtration, we develop color maps in Section 8.4. We end this chapter with visualizations of simplified complexes.
Motivation
Topological issues arise in surface reconstruction and mesh optimization. Surface reconstruction is, by itself, a topological question, but it is often addressed with geometric methods. Consequently, fast ad-hoc heuristics for surface reconstruction usually give rise to defective surfaces, requiring hole-filling or filtering as a post-processing step (Curless and Levoy, 1996; Turk and Levoy, 1994). Furthermore, surface modification methods such as decimation, refinement, thickening, and smoothing may cause changes in the surface's topology. We gave an example of this connection in the discussion in Section 1.2.3 in relation to surface decimation.
In this chapter, we describe the input to all of the algorithms described in this book, and the process by which such input is generated. We begin by formalizing the kind of spaces that we are interested in exploring. Then, we introduce the primary approach used for computing topology: growing a space incrementally and analyzing the history of its growth. Naturally, the knowledge we derive from this approach is only as meaningful as the growth process. So, we let the geometry of our space dictate the growth model. In this fashion, we encode geometry into an otherwise topological history. The geometry of our space controls the placement of topological events within this history and, consequently, the life-span of topological attributes. The main assumption of this method is that longevity is equivalent to significance. This approach of exploring the relationship between geometry and topology is not new. It is the hallmark of Morse theory (Milnor, 1963), which we will study in more detail in Chapter 5.
The rest of the chapter describes the process outlined in Figure 2.1. We begin with a formal description of topological spaces. We then describe two types of such spaces, manifolds and simplicial complexes, in the next two sections.
A programming tactic involving polyhedra is reported that has been widely applied in the polyhedral analysis of (constraint) logic programs. The method enables the computations of convex hulls that are required for polyhedral analysis to be coded with linear constraint solving machinery that is available in many Prolog systems.
Argumentation has proved a useful tool in defining formal semantics for assumption-based reasoning by viewing a proof as a process in which proponents and opponents attack each others arguments by undercuts (attack to an argument's premise) and rebuts (attack to an argument's conclusion). In this paper, we formulate a variety of notions of attack for extended logic programs from combinations of undercuts and rebuts and define a general hierarchy of argumentation semantics parameterised by the notions of attack chosen by proponent and opponent. We prove the equivalence and subset relationships between the semantics and examine some essential properties concerning consistency and the coherence principle, which relates default negation and explicit negation. Most significantly, we place existing semantics put forward in the literature in our hierarchy and identify a particular argumentation semantics for which we prove equivalence to the paraconsistent well-founded semantics with explicit negation, WFSX$_p$. Finally, we present a general proof theory, based on dialogue trees, and show that it is sound and complete with respect to the argumentation semantics.
We present cTI, the first system for universal left-termination inference of logic programs. Termination inference generalizes termination analysis and checking. Traditionally, a termination analyzer tries to prove that a given class of queries terminates. This class must be provided to the system, for instance by means of user annotations. Moreover, the analysis must be redone every time the class of queries of interest is updated. Termination inference, in contrast, requires neither user annotations nor recomputation. In this approach, terminating classes for all predicates are inferred at once. We describe the architecture of cTI and report an extensive experimental evaluation of the system covering many classical examples from the logic programming termination literature and several Prolog programs of respectable size and complexity.
The focus of this book is capturing and understanding the topological properties of spaces. To do so, we use methods derived from exploring the relationship between geometry and topology. In this chapter, I will motivate this approach by explaining what spaces are, how they arise in many fields of inquiry, and why we are interested in their properties. I will then introduce new theoretical methods for rigorously analyzing topologies of spaces. These methods are grounded in homology and Morse theory, and generalize to high-dimensional spaces. In addition, the methods are robust and fast, and therefore practical from a computational point of view. Having introduced the methods, I end this chapter by discussing the organization of the rest of the book.
Spaces
Let us begin with a discussion of spaces. A space is a set of points as shown in Figure 1.1(a). We cannot define what a set is, other than accepting it as a primitive notion. Intuitively, we think of a set as a collection or conglomeration of objects. In the case of a space, these objects are points, yet another primitive notion in mathematics. The concept of a space is too weak to be interesting, as it lacks structure.
Part of the theory of logic programming and nonmonotonic reasoning concerns the study of fixed-point semantics for these paradigms. Several different semantics have been proposed during the last two decades, and some have been more successful and acknowledged than others. The rationales behind those various semantics have been manifold, depending on one's point of view, which may be that of a programmer or inspired by commonsense reasoning, and consequently the constructions which lead to these semantics are technically very diverse, and the exact relationships between them have not yet been fully understood. In this paper, we present a conceptually new method, based on level mappings, which allows to provide uniform characterizations of different semantics for logic programs. We will display our approach by giving new and uniform characterizations of some of the major semantics, more particular of the least model semantics for definite programs, of the Fitting semantics, and of the well-founded semantics. A novel characterization of the weakly perfect model semantics will also be provided.
I devote this chapter to a brief description of the implementation of some of the algorithms in Part Two. After discussing the programming methodology, I give an overview of the organization of the code and sketch some of the fundamental data structures. Finally, I introduce a software program, CView, for viewing persistent simplicial complexes, homology cycles and their manifolds, and Morse complexes of grid data.
Methodology
Computer science solves problems by translating them into the language of very fast machines. We could claim that fast programs are the primary goal of this field. Fast software enables a user to quickly scrutinize a problem, observe patterns, gather data, and conjecture. There are two components to fast software: efficient data structures and algorithms, grounded in theory, and lean implementations, tailored to computer architectures. Knuth observes that “the best theory is inspired by practice, and the best practice is inspired by theory (Knuth, 1996).” I apply this observation not only to my work in general, but also to implementations in particular. The theory of practice in computer science has provided numerous abstractions to tackle the complexity of programming, from high-level languages, compilers, and interpreters, to the recent advent of “patterns.” Most of these abstractions, however, depend on extra levels of indirection, consume memory for the services they provide, and yield bloated and slow programs.
In this chapter, we sample some of the potential applications of topology to problems in disparate scientific domains. Some of these questions motivated the theoretical concepts in this book to begin with, so it is reasonable to scrutinize the applicability of the work by revisiting the questions. I am not an expert in any of these domains. Rather, my objective is to demonstrate the utility of the theory, algorithms, and software by giving a few illustrative examples. My hope is that researchers in the fields will find these examples instructive and inspiring, and utilize the tools I have developed for scientific inquiry. Applied work is an on-going process by nature, so I present both current and future work in this chapter, including nonapplied future directions.
Computational Structural Biology
The field of computational structural biology explores the structural properties of molecules using combinatorial and numerical algorithms on computers. The initial impetus for the work in this book was understanding the topologies of proteins through homology. In this section, I look at three applications of my work to structural biology: feature detection, knot detection, and structure determination.
Topological Feature Detection
In Chapter 6, the small protein gramicidin A motivated our study of persistence, as we were incapable of differentiating between noise and feature in the data captured by homology.
We compare two recent extensions of the answer set (stable model) semantics of logic programs. One of them, due to Lifschitz, Tang and Turner, allows the bodies and heads of rules to contain nested expressions. The other, due to Niemelä and Simons, uses weight constraints. We show that there is a simple, modular translation from the language of weight constraints into the language of nested expressions that preserves the program's answer sets. Nested expressions can be eliminated from the result of this translation in favor of additional atoms. The translation makes it possible to compute answer sets for some programs with weight constraints using satisfiability solvers, and to prove the strong equivalence of programs with weight constraints using the logic of here-and-there.