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 discusses recent advances in modern coding theory, in particular the use of popular graph-based codes and their low complexity decoding algorithms. We describe absorbing sets as the key object for characterizing the performance of iteratively-decoded graph-based codes and we propose several directions for future investigation in this thriving discipline.
Chapter Overview
Every engineered communication system, ranging from satellite communications to hard disk drives to Ethernet must operate under noisy conditions. The key to reliable communication and storage is to add an appropriate amount of redundancy to make the system reliable. The field of channel coding is concerned with constructing channel codes and their decoding algorithms: controlled redundancy is introduced into a message prior to its transmission over a noisy channel (the encoding step), and this redundancy is removed from the received noisy string to unveil the intended message (the decoding step). The encoded message is referred to as the codeword. The collection of all codewords is a channel code. Assuming all the messages have the same length, and all the codewords have the same length, the ratio of message length to codeword length is the code rate. To make coding systems implementable in practice, channel codes must provide the best possible protection to noise while their decoding algorithms must be of acceptable complexity.
There is a clear tension with this dual goal: if a channel code protects a fairly long encoded message with relatively few but carefully derived redundancy bits (necessary for high performance), the optimal, maximum likelihood decoding algorithm has exponential complexity.
Boolean Satisfiability (SAT) can be considered a success story of Computer Science. Since the mid-90s, SAT has evolved from a decision problem with theoretical interest, to a problem with key practical benefits, finding a wide range of practical applications. From the early 60s until the mid 90s, existing SAT solvers were able to solve small instances with few tens of variables and hundreds of clauses. In contrast, modern SAT solvers are able to solve practical instances with hundreds of thousands of variables and millions of clauses. This chapter describes the techniques that are implemented in SAT solvers aiming to explain why SAT solvers work (so well) in practice. These techniques range from efficient search techniques to dedicated data structures, among others. Whereas some techniques are commonly implemented in modern SAT solvers, some others are more speciic in the sense that only some instances beneit from its implementation. Furthermore, a tentative glimpse of the future is presented.
Introduction
Boolean Satisfiability (SAT) is an NP-complete decision problem [14]. SAT was the first problem to be shown NP-complete. There are no known polynomial time algorithms for SAT. Moreover, it is believed that any algorithm that solves SAT is exponential in the number of variables, in the worst-case.
Although SAT is in theory an NP-complete problem, in practice it can be seen as a success story of Computer Science. There have been remarkable improvements since the mid 90s, namely clause learning and unique implication points (UIPs) [43], search restarts [15, 26], lazy data structures [48], adaptive branching heuristics [48], clause minimization [59] and preprocessing [18].
In this chapter, we will survey recent results on the broad family of optimisation problems that can be cast as valued constraint satisfaction problems (VCSPs). We discuss general methods for analysing the complexity of such problems, and give examples of tractable cases.
Introduction
Computational problems from many different areas involve finding values for variables that satisfy certain specified restrictions and optimise certain specified criteria.
In this chapter, we will show that it is useful to abstract the general form of such problems to obtain a single generic framework. Bringing all such problems into a common framework draws attention to common aspects that they all share, and allows very general analytical approaches to be developed. We will survey some of these approaches, and the results that have been obtained by using them.
The generic framework we shall use is the valued constraint satisfaction problem (VCSP), defined formally in Section 4.3. We will show that many combinatorial optimisation problems can be conveniently expressed in this framework, and we will focus on finding restrictions to the general problem which are sufficient to ensure tractability.
An important and well-studied special case of the VCSP is the constraint satisfaction problem (CSP), which deals with combinatorial search problems which have no optimisation criteria. We give a brief introduction to the CSP in Section 4.2, before defining the more general VCSP framework in Section 4.3. Section 4.4 then presents a number of examples of problems that can be seen as special cases of the VCSP.
The remainder of the chapter discusses what happens to the complexity of the valued constraint satisfaction problem when we restrict it in various ways.
Satisfiability Modulo Theories (SMT) extends Propositional Satisfiability with logical theories that allow us to express relations over various types of variables, such as arithmetic constraints, or equalities over uninterpreted functions. SMT solvers are widely used in areas such as software verification, where they are able to solve surprisingly efficiently some problems that appear hard, when not undecidable. This chapter presents a general introduction to SMT solving. It then focuses on one important theory, equality, and gives both a detailed understanding of how it is solved, and a theoretical justiication of why the procedure is practically effective.
Introduction
Our starting point is research and experiences in the context of the state-of-the art SMT solver Z3 [13], developed by the authors at Microsoft Research. We first cover a selection of the main challenges and techniques for making SMT solving practical, integrating algorithms for tractable subproblems, and pragmatics and heuristics used in practice. We then take a proof-theoretical perspective on the power and scope of the engines used by SMT solvers. Most modern SMT solvers are built around a tight integration with efficient SAT solving. The framework is commonly referred to as DPLL(T), where T refers to a theory or a combination of theories. The theoretical result we present compares DPLL(T) with unrestricted resolution. A straightforward adaption of DPLL(T) provides a weaker proof system than unrestricted resolution, and we investigate an extension we call Conflict Directed Theory Resolution as a candidate method for bridging this gap. Our results apply to the case where T is the theory of equality.
Markov Random Fields have been successfully applied to many computer vision problems such as image segmentation, 3D reconstruction, and stereo. The problem of estimating the Maximum a Posteriori (MAP) solution of models such as Markov Random Fields (MRF) can be formulated as a function minimization problem. This has made function minimization an indispensable tool in computer vision. The problem of minimizing a function of discrete variables is, in general, NP-hard. However, functions belonging to certain classes of functions, such as submodular functions, can be minimized in polynomial time. In this chapter, we discuss examples of popular models used in computer vision for which the MAP inference problem results in a tractable function minimization problem. We also discuss how algorithms used in computer vision overcome challenges introduced by the scale and form of function minimization problems encountered in computer vision.
Labeling Problems in Computer Vision
Many problems in computer vision and scene understanding can be formulated in terms of finding the most probable values of certain hidden or unobserved variables. These variables encode some property of the scene and can be continuous or discrete. These problems are commonly referred to as labelling problems as they involve assigning a label to the hidden variables. Labelling problems occur in many forms, from lattice based problems of dense stereo and image segmentation discussed in [6, 40] to the use of pictorial structures for object recognition as done by [10]. Some examples of problems which can be formulated in this manner are shown in Figure 10.1.
One approach for dealing with intractability is to utilize representations that permit certain queries of interest to be computable in polytime. Such tractable representations will ultimately be exponential in size for certain problems and they may also not be suitable for direct specification by users. Hence, they are typically generated from other specifications through a process known as knowledge compilation. In this chapter, we review a subset of these tractable representations, known as decomposable negation normal forms (DNNFs), which have proved influential in a number of applications, including formal verification, model-based diagnosis and probabilistic reasoning.
Introduction
Many areas of computer science have shown a great interest in tractable and canonical representations of propositional knowledge bases (aka, Boolean functions). The ordered binary decision diagram (OBDD) is one such representation that received much attention and proved quite influential in a variety of areas [13]. Within AI, the study of tractable representations has also had a long tradition (e.g., [61, 30, 31, 49, 62, 14, 28, 19, 13, 52, 66, 50]). This area of research, which is also known as knowledge compilation, has become more systematic since [28], which showed that many known and useful representations are subsets of negation normal form (NNF) and correspond to imposing specific properties on NNF. The most fundamental of these properties turned out to be decomposability and determinism, giving rise to the corresponding language of DNNF and its subset, d-DNNF. This chapter is dedicated to DNNF and its subsets, which also include the influential language of OBDDs, and the more recently introduced sentential decision diagrams (SDDs).
Preprocessing or data reduction means reducing a problem to something simpler by solving an easy part of the input. This type of algorithm is used in almost every application. In spite of wide practical applications of preprocessing, a systematic theoretical study of such algorithms remains elusive. The framework of parameterized complexity can be used as an approach to analysing preprocessing algorithms. In this framework, the algorithms have, in the addition to the input, an extra parameter that is likely to be small. This has resulted in a study of preprocessing algorithms that reduce the size of the input to a pure function of the parameter (independent of the input size). Such types of preprocessing algorithms are called kernelization algorithms. In this survey we give an overview of some classical and new techniques in the design of such algorithms.
Introduction
Preprocessing (data reduction or kernelization) as a strategy for coping with hard problems is used in many situations. The history of this approach can be traced back to the 1950s [34], where truth functions were simplified using reduction rules. A natural question arises: how can we measure the quality of preprocessing rules proposed for a specific problem? For a long time the mathematical analysis of polynomial time preprocessing algorithms was neglected. The basic reason for this oversight was the following impossibility result: if, starting with an instance I of an NP-hard problem, we could compute in polynomial time an instance I′ equivalent to I and with |I′| < |I|, then it would follow that P=NP, thereby contradicting classical complexity assumptions.
In mathematics and computer science, optimization is the process of finding the best solution from a set of alternatives that satisfy some constraints. Many applications in allied fields of computer science like machine learning, computer vision, bioinformatics, involve the solution of an optimization problem. For instance, optimization is used to schedule trains and airplanes, allocate the advertisements we see on television or in connection with internet search results, ind the optimal placement of sensors to detect and neutralize security threats, or even to make decisions on what is the best way to perform medical surgery on a patient.
Optimization problems are generally hard to solve – their solution may involve exhaustively searching over a set of solutions whose size could increase exponentially with the number of variables whose values we may want to infer. That said, in practice, many of these problems can often be solved with remarkable efficiency. This is usually done by dedicated techniques, developed in each and every application domain, that exploit the “properties” of the problems encountered in practice.
Over the last few decades, researchers working in a number of different disciplines have tried to solve optimization problems that are encountered in their respective ields by exploiting some structure or properties inherent in the problems. In some cases, they have been able to isolate classes of optimization problems that can be solved optimally in time polynomial in the number of variables, while in other cases, they have been able to develop efficient algorithms that can produce solutions that, although not optimal, are good enough.
Classical computer science textbooks tell us that some problems are 'hard'. Yet many areas, from machine learning and computer vision to theorem proving and software verification, have defined their own set of tools for effectively solving complex problems. Tractability provides an overview of these different techniques, and of the fundamental concepts and properties used to tame intractability. This book will help you understand what to do when facing a hard computational problem. Can the problem be modelled by convex, or submodular functions? Will the instances arising in practice be of low treewidth, or exhibit another specific graph structure that makes them easy? Is it acceptable to use scalable, but approximate algorithms? A wide range of approaches is presented through self-contained chapters written by authoritative researchers on each topic. As a reference on a core problem in computer science, this book will appeal to theoreticians and practitioners alike.
In general, traditional production-inventory systems are based on a number of simplifying– but somewhat unrealistic – assumptions, including constant demand rate, constant holdingcost, and instantaneous order replenishment. These assumptions have been individuallychallenged in numerous variations of production-inventory models. Finite production ratemodels, such as economic production quantity (EPQ) systems consider gradual orderreplenishment. Stock-dependent demand models assume the demand rate to be an elasticfunction of the inventory level. Variable holding cost models assume the holding cost perunit per time period to be a function of the time spent in storage. In this paper, thethree simplifying assumptions are simultaneously relaxed in a new production-inventorysystem with a finite production rate, stock-level dependent demand rate, and variableholding cost. Mathematical models and optimum solution procedures, including nonlinearprogramming, are presented for two functional forms of holding cost variability. The maincontribution of this paper is the formulation and solution of a new production-inventorymodel that more closely represents real-world situations. The realistic assumptions andefficient solution algorithms should make the model practical and useful for industrialapplications.
In this paper, we develop the concept of almost stochastic dominance for higher orderpreferences and investigate the related properties of this concept.
Dynamic Cell Formation Problem (DCFP) seeks to cope with variation in part mix anddemands using machine relocation, replication, and removing; whilst from practical pointof view it is too hard to move machines between cells or invest on machine replication. Tocope with this deficiency, this paper addresses Reconfigurable Dynamic Cell FormationProblem (RDCFP) in which machine modification is conducted instead of their relocation orreplication in order to enhance machine capabilities to process wider range of productiontasks. In this regard, a mixed integer nonlinear mathematical model is proposed, which isNP-hard. To cope with the proposed model’s intractability, an Imperialist CompetitiveAlgorithm (ICA) is developed, whose obtained results are compared with those of GeneticAlgorithm’s (GA’s), showing superiority and outperformance of the developed ICA.