372 research outputs found

    Combining Boolean Networks and Ordinary Differential Equations for Analysis and Comparison of Gene Regulatory Networks

    Get PDF
    This thesis is concerned with different groups of qualitative models of gene regulatory networks. Four types of models will be considered: interaction graphs, Boolean networks, models based on differential equations and discrete abstractions of differential equations. We will investigate the relations between these modeling frameworks and how they can be used in the analysis of individual models. The focus lies on the mathematical analysis of these models. This thesis makes several contributions in relating these different modeling frameworks. The first approach concerns individual Boolean models and parametrized families of ordinary differential equations (ODEs). To construct ODE models systematically from Boolean models several automatic conversion algorithms have been proposed. In Chapter 2 several such closely related algorithms will be considered. It will be proven that certain invariant sets are preserved during the conversion from a Boolean network to a model based on ODEs. In the second approach the idea of abstracting the dynamics of individual models to relate structure and dynamics will be introduced. This approach will be applied to Boolean models and models based on differential equations. This allows to compare groups of models in these modeling frameworks which have the same structure. We demonstrate that this constitutes an approach to link the interaction graph to the dynamics of certain sets of Boolean networks and models based on differential equations. The abstracted dynamics – or more precisely the restrictions on the abstracted behavior – of such sets of Boolean networks or models based on differential equations will be represented as Boolean state transitions graphs themselves. We will show that these state transition graphs can be considered as asynchronous Boolean networks. Despite the rather theoretical question this thesis tries to answer there are many potential applications of the results. The results in Chapter 2 can be applied to network reduction of ODE models based on Hill kinetics. The results of the second approach in Chapter 4 can be applied to network inference and analysis of Boolean model sets. Furthermore, in the last chapter of this thesis several ideas for applications with respect to experiment design will be considered. This leads to the question how different asynchronous Boolean networks or different behaviours of a single asynchronous Boolean network can be distinguishedDiese Arbeit beschäftigt sich mit unterschiedlichen Typen von qualitativen Modellen genregulatorischer Netzwerke. Vier Typen von Modellen werden betrachtet: Interaktionsgraphen, Boolesche Netzwerke, Modelle, die auf Differentialgleichungen basieren und diskrete Abstraktionen von Differentialgleichungen. Wir werden mehr über die Beziehungen zwischen diesen Modellgruppen lernen und wie diese Beziehungen genutzt werden können, um einzelne Modelle zu analysieren. Der Schwerpunkt liegt hierbei auf der mathematischen Analyse dieser Modellgruppen. In dieser Hinsicht leistet diese Arbeit mehrere Beiträge. Zunächst betrachten wir Boolesche Netzwerke und parametrisierte Familien von gewöhnlichen Differentialgleichungen (ODEs). Um solche ODE-Modelle systematisch aus Booleschen Modellen abzuleiten, wurden in der Vergangenheit verschiedene automatische Konvertierungsalgorithmen vorgeschlagen. In Kapitel 2 werden einige dieser Algorithmen näher untersucht. Wir werden beweisen, dass bestimmte invariante Mengen bei der Konvertierung eines Booleschen Modells in ein ODE-Modell erhalten bleiben. Der zweite Ansatz, der in dieser Arbeit verfolgt wird, beschäftigt sich mit diskreten Abstraktionen der Dynamik von Modellen. Mit Hilfe dieser Abstraktionen ist es möglich, die Struktur – den Interaktionsgraphen – und die Dynamik der zugehörigen Modelle in Bezug zu setzen. Diese Methode wird sowohl auf Boolesche Modelle als auch auf ODE-Modelle angewandt. Gleichzeitig erlaubt dieser Ansatz Mengen von Modellen in unterschiedlichen Modellgruppen zu vergleichen, die dieselbe Struktur haben. Die abstrahierten Dynamiken (genauer die Einschränkungen der abstrahierten Dynamiken) der Booleschen Modellmengen oder ODE-Modellmengen können als Boolesche Zustandsübergangsgraphen repräsentiert werden. Wir werden zeigen, dass diese Zustandsübergangsgraphen wiederum selber als (asynchrone) Boolesche Netzwerke aufgefasst werden können. Trotz der theoretischen Ausgangsfrage werden in dieser Arbeit zahlreiche Anwendungen aufgezeigt. Die Ergebnisse aus Kapitel 2 können zur Modellreduktion benutzt werden, indem die Dynamik der ODE-Modelle auf den zu den Booleschen Netzwerken gehörigen “trap spaces” betrachtet wird. Die Resultate aus Kapitel 4 können zur Netzwerkinferenz oder zur Analyse von Modellmengen genutzt werden. Weiterhin werden im letzten Kapitel dieser Arbeit einige Anwendungsideen im Bezug auf Experimentdesign eingeführt. Dies führt zu der Fragestellung, wie verschiedene asynchrone Boolesche Netzwerke oder unterschiedliche Dynamiken, die mit einem einzelnen Modell vereinbar sind, unterschieden werden können

    What is answer set programming to propositional satisfiability

    Get PDF
    Propositional satisfiability (or satisfiability) and answer set programming are two closely related subareas of Artificial Intelligence that are used to model and solve difficult combinatorial search problems. Satisfiability solvers and answer set solvers are the software systems that find satisfying interpretations and answer sets for given propositional formulas and logic programs, respectively. These systems are closely related in their common design patterns. In satisfiability, a propositional formula is used to encode problem specifications in a way that its satisfying interpretations correspond to the solutions of the problem. To find solutions to a problem it is then sufficient to use a satisfiability solver on a corresponding formula. Niemelä, Marek, and Truszczyński coined answer set programming paradigm in 1999: in this paradigm a logic program encodes problem specifications in a way that the answer sets of a logic program represent the solutions of the problem. As a result, to find solutions to a problem it is sufficient to use an answer set solver on a corresponding program. These parallels that we just draw between paradigms naturally bring up a question: what is a fundamental difference between the two? This paper takes a close look at this question

    Modern techniques for constraint solving the CASPER experience

    Get PDF
    Dissertação apresentada para obtenção do Grau de Doutor em Engenharia Informática, pela Universidade Nova de Lisboa, Faculdade de Ciências e TecnologiaConstraint programming is a well known paradigm for addressing combinatorial problems which has enjoyed considerable success for solving many relevant industrial and academic problems. At the heart of constraint programming lies the constraint solver, a computer program which attempts to find a solution to the problem, i.e. an assignment of all the variables in the problemsuch that all the constraints are satisfied. This dissertation describes a set of techniques to be used in the implementation of a constraint solver. These techniques aim at making a constraint solver more extensible and efficient,two properties which are hard to integrate in general, and in particular within a constraint solver. Specifically, this dissertation addresses two major problems: generic incremental propagation and propagation of arbitrary decomposable constraints. For both problemswe present a set of techniques which are novel, correct, and directly concerned with extensibility and efficiency. All the material in this dissertation emerged from our work in designing and implementing a generic constraint solver. The CASPER (Constraint Solving Platformfor Engineering and Research)solver does not only act as a proof-of-concept for the presented techniques, but also served as the common test platform for the many discussed theoretical models. Besides the work related to the design and implementation of a constraint solver, this dissertation also presents the first successful application of the resulting platform for addressing an open research problem, namely finding good heuristics for efficiently directing search towards a solution

    Optimal Dorfman Group Testing For Symmetric Distributions

    Full text link
    We study Dorfman's classical group testing protocol in a novel setting where individual specimen statuses are modeled as exchangeable random variables. We are motivated by infectious disease screening. In that case, specimens which arrive together for testing often originate from the same community and so their statuses may exhibit positive correlation. Dorfman's protocol screens a population of n specimens for a binary trait by partitioning it into nonoverlapping groups, testing these, and only individually retesting the specimens of each positive group. The partition is chosen to minimize the expected number of tests under a probabilistic model of specimen statuses. We relax the typical assumption that these are independent and indentically distributed and instead model them as exchangeable random variables. In this case, their joint distribution is symmetric in the sense that it is invariant under permutations. We give a characterization of such distributions in terms of a function q where q(h) is the marginal probability that any group of size h tests negative. We use this interpretable representation to show that the set partitioning problem arising in Dorfman's protocol can be reduced to an integer partitioning problem and efficiently solved. We apply these tools to an empirical dataset from the COVID-19 pandemic. The methodology helps explain the unexpectedly high empirical efficiency reported by the original investigators.Comment: 20 pages w/o references, 2 figure

    Denotational Fixed-Point Semantics for Constructive Scheduling of Synchronous Concurrency

    Get PDF
    The synchronous model of concurrent computation (SMoCC) is well established for programming languages in the domain of safety-critical reactive and embedded systems. Translated into mainstream C/Java programming, the SMoCC corresponds to a cyclic execution model in which concurrent threads are synchronised on a logical clock that cuts system computation into a sequence of macro-steps. A causality analysis verifies the existence of a schedule on memory accesses to ensure each macro-step is deadlock-free and determinate. We introduce an abstract semantic domain I(D, P) and an associated denotational fixed point semantics for reasoning about concurrent and sequential variable accesses within a synchronous cycle-based model of computation. We use this domain for a new and extended behavioural definition of Berry’s causality analysis in terms of approximation intervals. The domain I(D, P) extends the domain I(D) from our previous work and fixes a mistake in the treatment of initialisations. Based on this fixed point semantics the notion of Input Berry-constructiveness (IBC) for synchronous programs is proposed. This new IBC class lies properly between strong (SBC) and normal Berry-constructiveness (BC) defined in previous work. SBC and BC are two ways to interpret the standard constructive semantics of synchronous programming, as exemplified by imperative SMoCC languages such as Esterel or Quartz. SBC is often too restrictive as it requires all variables to be initialised by the program. BC can be too permissive because it initialises all variables to a fixed value, by default. Where the initialisation happens through the memory, e.g., when carrying values from one synchronous tick to the next, then IBC is more appropriate. IBC links two levels of execution, the macro-step level and the micro-step level. We prove that the denotational fixed point analysis for IBC, and hence Berry’s causality analysis, is sound with respect to operational micro-level scheduling. The denotational model can thus be viewed as a compositional presentation of a synchronous scheduling strategy that ensures reactiveness and determinacy for imperative concurrent programming

    Hybrid eager and lazy evaluation for efficient compilation of Haskell

    Get PDF
    Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2002.Includes bibliographical references (p. 208-220).This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.The advantage of a non-strict, purely functional language such as Haskell lies in its clean equational semantics. However, lazy implementations of Haskell fall short: they cannot express tail recursion gracefully without annotation. We describe resource-bounded hybrid evaluation, a mixture of strict and lazy evaluation, and its realization in Eager Haskell. From the programmer's perspective, Eager Haskell is simply another implementation of Haskell with the same clean equational semantics. Iteration can be expressed using tail recursion, without the need to resort to program annotations. Under hybrid evaluation, computations are ordinarily executed in program order just as in a strict functional language. When particular stack, heap, or time bounds are exceeded, suspensions are generated for all outstanding computations. These suspensions are re-started in a demand-driven fashion from the root. The Eager Haskell compiler translates Ac, the compiler's intermediate representation, to efficient C code. We use an equational semantics for Ac to develop simple correctness proofs for program transformations, and connect actions in the run-time system to steps in the hybrid evaluation strategy.(cont.) The focus of compilation is efficiency in the common case of straight-line execution; the handling of non-strictness and suspension are left to the run-time system. Several additional contributions have resulted from the implementation of hybrid evaluation. Eager Haskell is the first eager compiler to use a call stack. Our generational garbage collector uses this stack as an additional predictor of object lifetime. Objects above a stack watermark are assumed to be likely to die; we avoid promoting them. Those below are likely to remain untouched and therefore are good candidates for promotion. To avoid eagerly evaluating error checks, they are compiled into special bottom thunks, which are treated specially by the run-time system. The compiler identifies error handling code using a mixture of strictness and type information. This information is also used to avoid inlining error handlers, and to enable aggressive program transformation in the presence of error handling.by Jan-Willem Maessen.Ph.D
    • …
    corecore