9 research outputs found

    A Simple Deterministic Distributed MST Algorithm, with Near-Optimal Time and Message Complexities

    Full text link
    Distributed minimum spanning tree (MST) problem is one of the most central and fundamental problems in distributed graph algorithms. Garay et al. \cite{GKP98,KP98} devised an algorithm with running time O(D+n⋅log⁡∗n)O(D + \sqrt{n} \cdot \log^* n), where DD is the hop-diameter of the input nn-vertex mm-edge graph, and with message complexity O(m+n3/2)O(m + n^{3/2}). Peleg and Rubinovich \cite{PR99} showed that the running time of the algorithm of \cite{KP98} is essentially tight, and asked if one can achieve near-optimal running time **together with near-optimal message complexity**. In a recent breakthrough, Pandurangan et al. \cite{PRS16} answered this question in the affirmative, and devised a **randomized** algorithm with time O~(D+n)\tilde{O}(D+ \sqrt{n}) and message complexity O~(m)\tilde{O}(m). They asked if such a simultaneous time- and message-optimality can be achieved by a **deterministic** algorithm. In this paper, building upon the work of \cite{PRS16}, we answer this question in the affirmative, and devise a **deterministic** algorithm that computes MST in time O((D+n)⋅log⁡n)O((D + \sqrt{n}) \cdot \log n), using O(m⋅log⁡n+nlog⁡n⋅log⁡∗n)O(m \cdot \log n + n \log n \cdot \log^* n) messages. The polylogarithmic factors in the time and message complexities of our algorithm are significantly smaller than the respective factors in the result of \cite{PRS16}. Also, our algorithm and its analysis are very **simple** and self-contained, as opposed to rather complicated previous sublinear-time algorithms \cite{GKP98,KP98,E04b,PRS16}

    Max flow vitality in general and stst-planar graphs

    Full text link
    The \emph{vitality} of an arc/node of a graph with respect to the maximum flow between two fixed nodes ss and tt is defined as the reduction of the maximum flow caused by the removal of that arc/node. In this paper we address the issue of determining the vitality of arcs and/or nodes for the maximum flow problem. We show how to compute the vitality of all arcs in a general undirected graph by solving only 2(n−1)2(n-1) max flow instances and, In stst-planar graphs (directed or undirected) we show how to compute the vitality of all arcs and all nodes in O(n)O(n) worst-case time. Moreover, after determining the vitality of arcs and/or nodes, and given a planar embedding of the graph, we can determine the vitality of a `contiguous' set of arcs/nodes in time proportional to the size of the set.Comment: 12 pages, 3 figure

    Near-Quadratic Lower Bounds for Two-Pass Graph Streaming Algorithms

    Full text link
    We prove that any two-pass graph streaming algorithm for the ss-tt reachability problem in nn-vertex directed graphs requires near-quadratic space of n2−o(1)n^{2-o(1)} bits. As a corollary, we also obtain near-quadratic space lower bounds for several other fundamental problems including maximum bipartite matching and (approximate) shortest path in undirected graphs. Our results collectively imply that a wide range of graph problems admit essentially no non-trivial streaming algorithm even when two passes over the input is allowed. Prior to our work, such impossibility results were only known for single-pass streaming algorithms, and the best two-pass lower bounds only ruled out o(n7/6)o(n^{7/6}) space algorithms, leaving open a large gap between (trivial) upper bounds and lower bounds

    Theoretical runtime bounds for information spreading and a new vehicle routing algorithm

    Get PDF

    Synthesizing stream control

    Get PDF
    For the management of reactive systems, controllers must coordinate time, data streams, and data transformations, all joint by the high level perspective of their control flow. This control flow is required to drive the system correctly and continuously, which turns the development into a challenge. The process is error-prone, time consuming, unintuitive, and costly. An attractive alternative is to synthesize the system instead, where the developer only needs to specify the desired behavior. The synthesis engine then automatically takes care of all the technical details. However, while current algorithms for the synthesis of reactive systems are well-suited to handle control, they fail on complex data transformations due to the complexity of the comparably large data space. Thus, to overcome the challenge of explicitly handling the data we must separate data and control. We introduce Temporal Stream Logic (TSL), a logic which exclusively argues about the control of the controller, while treating data and functional transformations as interchangeable black-boxes. In TSL it is possible to specify control flow properties independently of the complexity of the handled data. Furthermore, with TSL at hand a synthesis engine can check for realizability, even without a concrete implementation of the data transformations. We present a modular development framework that first uses synthesis to identify the high level control flow of a program. If successful, the created control flow then is extended with concrete data transformations in order to be compiled into a final executable. Our results also show that the current synthesis approaches cannot replace existing manual development work flows immediately. During the development of a reactive system, the developer still may use incomplete or faulty specifications at first, that need the be refined after a subsequent inspection. In the worst case, constraints are contradictory or miss important assumptions, which leads to unrealizable specifications. In both scenarios, the developer needs additional feedback from the synthesis engine to debug errors for finally improving the system specification. To this end, we explore two further possible improvements. On the one hand, we consider output sensitive synthesis metrics, which allow to synthesize simple and well structured solutions that help the developer to understand and verify the underlying behavior quickly. On the other hand, we consider the extension of delay, whose requirement is a frequent reason for unrealizability. With both methods at hand, we resolve the aforementioned problems and therefore help the developer in the development phase with the effective creation of a safe and correct reactive system.Um reaktive Systeme zu regeln mĂŒssen SteuergerĂ€te Zeit, Datenströme und Datentransformationen koordinieren, die durch den ĂŒbergeordneten Kontrollfluss zusammengefasst werden. Die Aufgabe des Kontrollflusses ist es das System korrekt und dauerhaft zu betreiben. Die Entwicklung solcher Systeme wird dadurch zu einer Herausforderung, denn der Prozess ist fehleranfĂ€llig, zeitraubend, unintuitiv und kostspielig. Eine attraktive Alternative ist es stattdessen das System zu synthetisieren, wobei der Entwickler nur das gewĂŒnschte Verhalten des Systems festlegt. Der Syntheseapparat kĂŒmmert sich dann automatisch um alle technischen Details. WĂ€hrend aktuelle Algorithmen fĂŒr die Synthese von reaktiven Systemen erfolgreich mit dem Kontrollanteil umgehen können, versagen sie jedoch, sobald komplexe Datentransformationen hinzukommen, aufgrund der KomplexitĂ€t des vergleichsweise großen Datenraums. Daten und Kontrolle mĂŒssen demnach getrennt behandelt werden, um auch große DatenrĂ€umen effizient handhaben zu können. Wir prĂ€sentieren Temporal Stream Logic (TSL), eine Logik die ausschließlich die Kontrolle einer Steuerung betrachtet, wohingegen Daten und funktionale Datentransformationen als austauschbare Blackboxen gehandhabt werden. In TSL ist es möglich Kontrollflusseigenschaften unabhĂ€ngig von der KomplexitĂ€t der zugrunde liegenden Daten zu beschreiben. Des Weiteren kann ein auf TSL beruhender Syntheseapparat die Realisierbarkeit einer Spezifikation prĂŒfen, selbst ohne die konkreten Implementierungen der Datentransformationen zu kennen. Wir prĂ€sentieren ein modulares GrundgerĂŒst fĂŒr die Entwicklung. Es verwendet zunĂ€chst den Syntheseapparat um den ĂŒbergeordneten Kontrollfluss zu erzeugen. Ist dies erfolgreich, so wird der resultierende Kontrollfluss um die konkreten Implementierungen der Datentransformationen erweitert und anschließend zu einer ausfĂŒhrbare Anwendung kompiliert. Wir zeigen auch auf, dass bisherige Syntheseverfahren bereits existierende manuelle Entwicklungsprozesse noch nicht instantan ersetzen können. Im Verlauf der Entwicklung ist es auch weiterhin möglich, dass der Entwickler zunĂ€chst unvollstĂ€ndige oder fehlerhafte Spezifikationen erstellt, welche dann erst nach genauerer Betrachtung des synthetisierten Systems weiter verbessert werden können. Im schlimmsten Fall sind Anforderungen inkonsistent oder wichtige Annahmen ĂŒber das Verhalten fehlen, was zu unrealisierbaren Spezifikationen fĂŒhrt. In beiden FĂ€llen benötigt der Entwickler zusĂ€tzliche RĂŒckmeldungen vom Syntheseapparat, um Fehler zu identifizieren und die Spezifikation schlussendlich zu verbessern. In diesem Zusammenhang untersuchen wir zwei mögliche Erweiterungen. Zum einen betrachten wir ausgabeabhĂ€ngige Metriken, die es dem Entwickler erlauben einfache und wohlstrukturierte Lösungen zu synthetisieren die verstĂ€ndlich sind und deren Verhalten einfach zu verifizieren ist. Zum anderen betrachten wir die Erweiterung um Verzögerungen, welche eine der Hauptursachen fĂŒr Unrealisierbarkeit darstellen. Mit beiden Methoden beheben wir die jeweils zuvor genannten Probleme und helfen damit dem Entwickler wĂ€hrend der Entwicklungsphase auch wirklich das reaktive System zu kreieren, dass er sich auch tatsĂ€chlich vorstellt

    The simple, little and slow things count : on parameterized counting complexity

    Get PDF
    In this thesis, we study the parameterized complexity of counting problems, as introduced by Flum and Grohe. This area mainly involves questions of the following kind: On inputs x with a parameter k, can we solve a given counting problem in time f(k)*|x|^c for a function f that depends only on k? In the positive case, we call the problem fixed-parameter tractable (fpt). Otherwise, we try to prove its #W[1]-hardness, which is the parameterized analogue of #P-hardness. We introduce a general technique that bridges parameterized counting complexity and the so-called Holant framework. We then apply this technique to the problem of counting perfect matchings (or equivalently, the permanent) subject to structural parameters of the input graph G: On the algorithmic side, we introduce a new tractable structural parameter, namely, the minimal size of an excluded single-crossing minor of G. We complement this by showing that counting perfect matchings is #W[1]-hard when parameterized by the size of an arbitrary excluded minor. Then we turn our attention to counting general subgraphs H other than perfect matchings in a host graph G. Instead of imposing structural parameters on G, we parameterize by the size of H, giving rise to the problems #Sub(C) for fixed graph classes C: For inputs H and G with H in C, we wish to count H-copies in G. Here, C could be the class of matchings, cycles, paths, or any other recursively enumerable class. We give a full dichotomy for these problems: Either #Sub(C) has a polynomial-time algorithm or it is #W[1]-complete. Assuming that FPT and #W[1] do not coincide, we can thus precisely identify the graph classes C for which the subgraph counting problem #Sub(C) admits polynomial-time algorithms. Furthermore, we obtain an unexpected application of our extensions to the Holant framework: We show that, given two unweighted graphs, it is C=P-complete to decide whether they have the same number of perfect matchings. Finally, we prove conditional lower bounds for counting problems under the counting exponential-time hypothesis #ETH. This hypothesis, introduced by Dell et al., asserts that the satisfying assignments to n-variable formulas in 3-CNF cannot be counted in time 2^o(n). Building upon this, we introduce a general technique that allows to derive tight lower bounds for other counting problems, such as counting perfect matchings, the Tutte polynomial, and the matching polynomial.Die vorliegende Arbeit befasst sich mit der parametrisierten KomplexitĂ€t von ZĂ€hlproblemen, einem von Flum und Grohe gegrĂŒndeten Gebiet, in welchem Fragen der folgenden Art betrachtet werden: Können gegebene Probleme auf Eingaben x mit Parameter k in Zeit f(k)*|x|^c gelöst werden, wobei f eine Funktion ist, die nur von k abhĂ€ngt? Im positiven Falle bezeichnen wir das Problem als parametrisierbar (FPT). Andernfalls versuchen wir typischerweise, dessen #W[1]-HĂ€rte zu beweisen - diese lĂ€sst sich vereinfachend als ein parametrisiertes Äquivalent der #P-HĂ€rte auffassen. Wir fĂŒhren zunĂ€chst eine allgemeine Technik ein, welche die parametrisierte ZĂ€hlkomplexitĂ€t mit dem sogenannten Holant-Rahmenwerk verbindet. Anschließend setzen wir diese zum ZĂ€hlen perfekter Paarungen (oder Ă€quivalent, zur Auswertung der Permanente) unter strukturellen Parametern des Eingabegraphens G ein: Wir zeigen, dass das ZĂ€hlen perfekter Paarungen parametrisierbar ist durch die minimale GrĂ¶ĂŸe eines ausgeschlossenen Minors von G, der höchstens eine Kreuzung besitzt. Dieses algorithmische Resultat komplementieren wir durch die #W[1]-HĂ€rte des ZĂ€hlens perfekter Paarungen, wenn die minimale GrĂ¶ĂŸe eines beliebigen ausgeschlossenen Minors als Parameter betrachtet wird. Anschließend widmen wir uns dem ZĂ€hlen beliebiger Subgraphen H in Graphen G. Anstelle von strukturellen Parametern betrachten wir die GrĂ¶ĂŸe von H als Parameter und erhalten hierdurch die Probleme #Sub(C) fĂŒr feste Graphklassen C: Auf Eingaben H und G mit H in C gilt es, die H-Kopien in G zu zĂ€hlen. Hierbei kann C die Klasse der Paarungen, Zyklen, Pfade, oder eine beliebige andere Klasse von Graphen darstellen. Wir zeigen eine vollstĂ€ndige Dichotomie fĂŒr diese Probleme: Das Problem #Sub(C) ist entweder in P oder #W[1]-hart. Unter der gĂ€ngigen Annahme, dass FPT und #W[1] nicht zusammenfallen, erhalten wir somit eine vollstĂ€ndige Klassifikation der Polynomialzeit-lösbaren Probleme #Sub(C). Weiterhin erhalten wir eine unerwartete Anwendung unserer Erweiterungen des Holant-Rahmenwerks: Wir zeigen die C=P-VollstĂ€ndigkeit der Frage, ob die Anzahlen perfekter Paarungen in zwei gegebenen ungewichteten Graphen ĂŒbereinstimmen. Schlussendlich zeigen wir bedingte untere Schranken fĂŒr ZĂ€hlprobleme unter der ZĂ€hlversion der Exponentialzeithypothese #ETH, eingefĂŒhrt durch Dell et al. Diese postuliert, dass die erfĂŒllenden Belegungen in 3-KNF-Formeln mit n Variablen nicht in Zeit 2^o(n) gezĂ€hlt werden können. Darauf aufbauend fĂŒhren wir eine allgemeine Technik ein, die es ermöglicht, scharfe untere Schranken fĂŒr andere ZĂ€hlprobleme zu erhalten: Dies umfasst das ZĂ€hlen perfekter Paarungen, das Tutte-Polynom und das Paarungs-Polynom

    27th Annual European Symposium on Algorithms: ESA 2019, September 9-11, 2019, Munich/Garching, Germany

    Get PDF
    corecore