Directed Graphs (Digraphs)

Total Page:16

File Type:pdf, Size:1020Kb

Directed Graphs (Digraphs) Directed Graphs (Digraphs) BOS ORD JFK SFO DFW LAX MIA Outline and Reading Reachability (6.4.1) • Directed DFS • Strong connectivity Transitive closure (6.4.2) • The Floyd-Warshall Algorithm Directed Acyclic Graphs (DAGs) (6.4.4) • Topological Sorting Digraphs 2 Digraphs A digraph (short for “directed graph”) is a graph whose edges are all directeD • Ex: Edge (a,b) goes from a to b, but not b to a. Properties: E • If G is simple, m ≤ n(n-1). D • If we keep in-edges and out-edges in separate adjacency lists, we can perform listing of the sets of in-edges and out-edges in time C proportional to their siZe. B A Applications include one-way streets, flights, and task scheduling. Digraphs 3 Digraph Application Scheduling: edge (a,b) means task a must be completed before b can be started. Computer Calc I CSIA CSIB Architecture Discrete CSII OS Calc II Structures Algorithms CSIII Digraphs 4 Directed DFS • We can specialiZe the traversal algorithms (DFS and BFS) to digraphs by traversing edges only along their D direction E • In the directed DFS algorithm, we have four types of edges – discovery edges B – back edges C – forwarD edges – cross edges A • A directed DFS starting at a vertex s determines the vertices reachable from s Digraphs 5 Reachability DFS tree rooted at v: vertices reachable from v via directed paths Applications: • Dead code detection/elimination • Garbage collection E D Reachable from C C E D A C F E D Reachable from B A B C F A B Digraphs 6 Strong Connectivity Each vertex can reach all other vertices • How can we test if G is strongly connected? a g c D e b f Digraphs 7 Strong Connectivity Algorithm Determine if G is strongly connecteD a • Pick a vertex v in G G: g c • Perform a DFS from v in G – If there’s a w not visited, print “no” D e • Let G’ be G with edges reverseD f b • Perform a DFS from v in G’ – If there’s a w not visited, print “no” a g – Else, print “yes” G’: c D e Running time: O(n+m). f b Digraphs 8 Strongly Connected Components A strongly connected component is a maximal subgraph such that each vertex can reach all other vertices in the subgraph • Can also be done in O(n+m) time using DFS, but is more complicated (similar to biconnectivity). a { a , c , g } g c D e { f , d , e , b } b f Digraphs 9 Transitive Closure Given a digraph G, the transitive D E closure of G is the digraph G* such that • G* has the same vertices as G B G • if G has a directed path from u to v C (u ¹ v), G* has a directed edge from u to v A The transitive closure provides reachability information about a D E digraph. B C A G* Digraphs 10 Computing the Transitive Closure • One idea: perform DFS starting at each vertex – This is O(n(n+m)) time – Recall that m is O(n2) • Second idea: use dynamic programming – Observe that if there’s a way to get from A to B and from B to C, then there’s a way to get from A to C. – This becomes part of our subproblem characteriZation – This is known as Floyd-Warshall’s algorithm, which runs in O(n3) time using an adjacency matrix Digraphs 11 Floyd-Warshall Transitive Closure • Number the vertices 1, 2, …, n. • Consider paths that use only vertices numbered 1, 2, …, k, as intermediate vertices: Uses only vertices numbered 1, …, k (add this edge if it’s not already in) i Uses only vertices j numbered 1,…, k-1 Uses only vertices k numbered 1,…, k-1 Digraphs 12 Floyd-Warshall’s Algorithm • Numbers the vertices of G as v1 , Algorithm FloydWarshall(G) …, vn and computes a series of digraphs G , …, G Input digraph G 0 n Output transitive closure G* of G – G0=G i ¬ 1 – Gk has a directed edge (vi, vj) for all v Î G.vertices() if G has a directed path from denote v as vi vi to vj with intermediate i ¬ i + 1 vertices in the set {v1 , …, vk} G0 ¬ G for k ¬ 1 to n do • We have that Gn = G* Gk ¬ Gk - 1 • In phase k, digraph Gk is for i ¬ 1 to n (i ¹ k) do computed from Gk - 1 for j ¬ 1 to n (j ¹ i, k) do 3 • Running time: O(n ), assuming if Gk - 1.areAdjacent(vi, vk) Ù areAdjacent is O(1) (e.g., Gk - 1.areAdjacent(vk, vj) adjacency matrix) if ¬Gk.areAdjacent(vi, vj) Gk.insertDirectedEdge(vi, vj , k) return Gn Digraphs 13 Floyd-Warshall Example v7 BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v v 3 1 MIA v 5 Digraphs 14 Floyd-Warshall, Iteration 1 v7 BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v v 3 1 MIA v 5 Digraphs 15 Floyd-Warshall, Iteration 2 v7 BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v v 3 1 MIA v 5 Digraphs 16 Floyd-Warshall, Iteration 3 v7 BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v v 3 1 MIA v 5 Digraphs 17 Floyd-Warshall, Iteration 4 v7 BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v v 3 1 MIA v 5 Digraphs 18 Floyd-Warshall, Iteration 5 v7 BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v v 3 1 MIA v 5 Digraphs 19 Floyd-Warshall, Iteration 6 v7 BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v v 3 1 MIA v 5 Digraphs 20 Floyd-Warshall, Conclusion v7 BOS v ORD 4 JFK v 2 v 6 SFO DFW LAX v v 3 1 MIA v 5 Digraphs 21 DAGs and Topological Ordering • A directed acyclic graph (DAG) is a digraph that has no directed cycles D E • A topological ordering of a digraph is a numbering v1 , …, vn of the vertices such B that for every edge (vi , vj), we have i < j C • Ex: in a task scheduling digraph, a topological order is a task sequence that A DAG G satisfies the precedence constraints v4 v5 D E Theorem v2 A digraph admits a topological ordering if B and only if it is a DAG v3 v1 C A Topological ordering of G Digraphs 22 xkcD #754 Topological Sorting Number vertices, so that (u,v) in E implies u < v 1 wake up A typical student day 2 3 eat study computer sci. 4 5 nap more CS 7 play 8 write program 6 9 work out make cookies for professors 10 sleep 11 dream about graphs Digraphs 23 Algorithm for Topological Sorting • Note: This algorithm is different than the one in Goodrich-Tamassia Method TopologicalSort(G) H ¬ G // Temporary copy of G n ¬ G.numVertices() while H is not empty do Let v be a vertex with no outgoing edges Label v ¬ n n ¬ n - 1 Remove v from H • Running time: O(n + m). How…? Digraphs 24 Topological Sorting Algorithm using DFS Simulate the algorithm by using DFS Algorithm topologicalDFS(G, v) Input graph G and a start vertex v of G Algorithm topologicalDFS(G) Output labeling of the vertices of G in the connected component of v Input dag G setLabel(v, VISITED) Output topological ordering of G n ¬ G.numVertices() for all e Î G.outgoingIncidentEdges(v) for all u Î G.vertices() if getLabel(e) = UNEXPLORED setLabel(u, UNEXPLORED) w ¬ opposite(v,e) for all e Î G.edges() if getLabel(w) = UNEXPLORED setLabel(e, UNEXPLORED) setLabel(e, DISCOVERY) for all v Î G.vertices() topologicalDFS(G, w) if getLabel(v) = UNEXPLORED else topologicalDFS(G, v) {e is a forward or cross edge} Label v with topological number n n ¬ n - 1 • O(n+m) time. Digraphs 25 Topological Sorting Example Digraphs 26 Topological Sorting Example 9 Digraphs 27 Topological Sorting Example 8 9 Digraphs 28 Topological Sorting Example 7 8 9 Digraphs 29 Topological Sorting Example 6 7 8 9 Digraphs 30 Topological Sorting Example 6 5 7 8 9 Digraphs 31 Topological Sorting Example 4 6 5 7 8 9 Digraphs 32 Topological Sorting Example 3 4 6 5 7 8 9 Digraphs 33 Topological Sorting Example 2 3 4 6 5 7 8 9 Digraphs 34 Topological Sorting Example 2 1 3 4 6 5 7 8 9 Digraphs 35.
Recommended publications
  • Masters Thesis: an Approach to the Automatic Synthesis of Controllers with Mixed Qualitative/Quantitative Specifications
    An approach to the automatic synthesis of controllers with mixed qualitative/quantitative specifications. Athanasios Tasoglou Master of Science Thesis Delft Center for Systems and Control An approach to the automatic synthesis of controllers with mixed qualitative/quantitative specifications. Master of Science Thesis For the degree of Master of Science in Embedded Systems at Delft University of Technology Athanasios Tasoglou October 11, 2013 Faculty of Electrical Engineering, Mathematics and Computer Science (EWI) · Delft University of Technology *Cover by Orestis Gartaganis Copyright c Delft Center for Systems and Control (DCSC) All rights reserved. Abstract The world of systems and control guides more of our lives than most of us realize. Most of the products we rely on today are actually systems comprised of mechanical, electrical or electronic components. Engineering these complex systems is a challenge, as their ever growing complexity has made the analysis and the design of such systems an ambitious task. This urged the need to explore new methods to mitigate the complexity and to create sim- plified models. The answer to these new challenges? Abstractions. An abstraction of the the continuous dynamics is a symbolic model, where each “symbol” corresponds to an “aggregate” of states in the continuous model. Symbolic models enable the correct-by-design synthesis of controllers and the synthesis of controllers for classes of specifications that traditionally have not been considered in the context of continuous control systems. These include qualitative specifications formalized using temporal logics, such as Linear Temporal Logic (LTL). Be- sides addressing qualitative specifications, we are also interested in synthesizing controllers with quantitative specifications, in order to solve optimal control problems.
    [Show full text]
  • Efficient Graph Reachability Query Answering Using Tree Decomposition
    Efficient Graph Reachability Query Answering using Tree Decomposition Fang Wei Computer Science Department, University of Freiburg, Germany Abstract. Efficient reachability query answering in large directed graphs has been intensively investigated because of its fundamental importance in many application fields such as XML data processing, ontology rea- soning and bioinformatics. In this paper, we present a novel indexing method based on the concept of tree decomposition. We show analytically that this intuitive approach is both time and space efficient. We demonstrate empirically the efficiency and the effectiveness of our method. 1 Introduction Querying and manipulating large scale graph-like data has attracted much atten- tion in the database community, due to the wide application areas of graph data, such as GIS, XML databases, bioinformatics, social network, and ontologies. The problem of reachability test in a directed graph is among the fundamental operations on the graph data. Given a digraph G = (V; E) and u; v 2 V , a reachability query, denoted as u ! v, ask: is there a path from u to v? One of the fundamental queries on biological networks is for instance, to find all genes whose expressions are directly or indirectly influenced by a given molecule [15]. Given the graph representation of the genes and regulation events, the question can also be reduced to the reachability query in a directed graph. Recently, tree decomposition methodologies have been successfully applied to solving shortest path query answering over undirected graphs [17]. Briefly stated, the vertices in a graph G are decomposed into a tree in which each node contains a set of vertices in G.
    [Show full text]
  • Depth-First Search & Directed Graphs
    Depth-first Search and Directed Graphs Story So Far • Breadth-first search • Using breadth-first search for connectivity • Using bread-first search for testing bipartiteness BFS (G, s): Put s in the queue Q While Q is not empty Extract v from Q If v is unmarked Mark v For each edge (v, w): Put w into the queue Q The BFS Tree • Can remember parent nodes (the node at level i that lead us to a given node at level i + 1) BFS-Tree(G, s): Put (∅, s) in the queue Q While Q is not empty Extract (p, v) from Q If v is unmarked Mark v parent(v) = p For each edge (v, w): Put (v, w) into the queue Q Spanning Trees • Definition. A spanning tree of an undirected graph G is a connected acyclic subgraph of G that contains every node of G . • The tree produced by the BFS algorithm (with (( u, parent(u)) as edges) is a spanning tree of the component containing s . • The BFS spanning tree gives the shortest path from s to every other vertex in its component (we will revisit shortest path in a couple of lectures) • BFS trees in general are short and bushy Spanning Trees • Definition. A spanning tree of an undirected graph G is a connected acyclic subgraph of G that contains every node of G . • The tree produced by the BFS algorithm (with (( u, parent(u)) as edges) is a spanning tree of the component containing s . • The BFS spanning tree gives the shortest path from s to every other vertex in its component (we will revisit shortest path in a couple of lectures) • BFS trees in general are short and bushy Generalizing BFS: Whatever-First If we change how we store
    [Show full text]
  • An Efficient Reachability Indexing Scheme for Large Directed Graphs
    1 Path-Tree: An Efficient Reachability Indexing Scheme for Large Directed Graphs RUOMING JIN, Kent State University NING RUAN, Kent State University YANG XIANG, The Ohio State University HAIXUN WANG, Microsoft Research Asia Reachability query is one of the fundamental queries in graph database. The main idea behind answering reachability queries is to assign vertices with certain labels such that the reachability between any two vertices can be determined by the labeling information. Though several approaches have been proposed for building these reachability labels, it remains open issues on how to handle increasingly large number of vertices in real world graphs, and how to find the best tradeoff among the labeling size, the query answering time, and the construction time. In this paper, we introduce a novel graph structure, referred to as path- tree, to help labeling very large graphs. The path-tree cover is a spanning subgraph of G in a tree shape. We show path-tree can be generalized to chain-tree which theoretically can has smaller labeling cost. On top of path-tree and chain-tree index, we also introduce a new compression scheme which groups vertices with similar labels together to further reduce the labeling size. In addition, we also propose an efficient incremental update algorithm for dynamic index maintenance. Finally, we demonstrate both analytically and empirically the effectiveness and efficiency of our new approaches. Categories and Subject Descriptors: H.2.8 [Database management]: Database Applications—graph index- ing and querying General Terms: Performance Additional Key Words and Phrases: Graph indexing, reachability queries, transitive closure, path-tree cover, maximal directed spanning tree ACM Reference Format: Jin, R., Ruan, N., Xiang, Y., and Wang, H.
    [Show full text]
  • The Surprizing Complexity of Generalized Reachability Games Nathanaël Fijalkow, Florian Horn
    The surprizing complexity of generalized reachability games Nathanaël Fijalkow, Florian Horn To cite this version: Nathanaël Fijalkow, Florian Horn. The surprizing complexity of generalized reachability games. 2010. hal-00525762v2 HAL Id: hal-00525762 https://hal.archives-ouvertes.fr/hal-00525762v2 Preprint submitted on 2 Feb 2012 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. The surprising complexity of generalized reachability games Nathanaël Fijalkow1,2 and Florian Horn1 1 LIAFA CNRS & Université Denis Diderot - Paris 7, France {nath,florian.horn}@liafa.jussieu.fr 2 ÉNS Cachan École Normale Supérieure de Cachan, France Abstract. Games on graphs provide a natural and powerful model for reactive systems. In this paper, we consider generalized reachability objectives, defined as conjunctions of reachability objectives. We first prove that deciding the winner in such games is PSPACE-complete, although it is fixed-parameter tractable with the number of reachability objectives as parameter. Moreover, we consider the memory requirements for both players and give matching upper and lower bounds on the size of winning strategies. In order to allow more efficient algorithms, we consider subclasses of generalized reachability games. We show that bounding the size of the reachability sets gives two natural subclasses where deciding the winner can be done efficiently.
    [Show full text]
  • Lecture 16: Directed Graphs
    Lecture 16: Directed Graphs BOS ORD JFK SFO DFW LAX MIA Courtesy of Goodrich, Tamassia and Olga Veksler Instructor: Yuzhen Xie Outline Directed Graphs Properties Algorithms for Directed Graphs DFS and BFS Strong Connectivity Transitive Closure DAG and Toppgological Ordering 2 Digraphs A digraph is a ggpraph whose E edges are all directed D Short for “directed graph” C Applications B one-way streets A flights task scheduling 3 Digraph Properties E D A graph G=(V,E) such that Each edge goes in one direction: C Ed(dge (A,B) goes from A to B, Edge (B,A) goes from B to A, B If G is simple, m < n*(n-1). A If we keep in-edges and out-edges in separate adjacency lists, we can perform listing of in-edges and out-edges in time proportional to their size OutgoingEdges(A): (A,C), (A,D), (A,B) IngoingEdges(A): (E,A),(B,A) We say that vertex w is reachable from vertex v if there is a directed path from v to w EiseahablefomAE is reachable from A E is not reachable from D 4 Algorithm DFS(G, v) Directed DFS Input digraph G and a start vertex v of G Output traverses vertices in G reachable from v We can specialize the setLabel(v, VISITED) traversal algorithms (DFS and for all e ∈ G.outgoingEdges(v) BFS) to digraphs by traversing edges only along w ← opposite(v,e) their direction if getLabel(w) = UNEXPLORED DFS(G, w) In the directed DFS algorithm, we have 3 four types of edges E discovery edges 4 bkdback edges D forward edges cross edges A directed DFS starting at a C 2 vertex s visits all the vertices reachable from s B 5
    [Show full text]
  • An Efficient Strongly Connected Components Algorithm In
    An Efficient Strongly Connected Components Algorithm in the Fault Tolerant Model∗† Surender Baswana1, Keerti Choudhary2, and Liam Roditty3 1 Department of Computer Science and Engineering, IIT Kanpur, Kanpur, India [email protected] 2 Department of Computer Science and Engineering, IIT Kanpur, Kanpur, India [email protected] 3 Department of Computer Science, Bar Ilan University, Ramat Gan, Israel [email protected] Abstract In this paper we study the problem of maintaining the strongly connected components of a graph in the presence of failures. In particular, we show that given a directed graph G = (V, E) with n = |V | and m = |E|, and an integer value k ≥ 1, there is an algorithm that computes in O(2kn log2 n) time for any set F of size at most k the strongly connected components of the graph G \ F . The running time of our algorithm is almost optimal since the time for outputting the SCCs of G \ F is at least Ω(n). The algorithm uses a data structure that is computed in a preprocessing phase in polynomial time and is of size O(2kn2). Our result is obtained using a new observation on the relation between strongly connected components (SCCs) and reachability. More specifically, one of the main building blocks in our result is a restricted variant of the problem in which we only compute strongly connected com- ponents that intersect a certain path. Restricting our attention to a path allows us to implicitly compute reachability between the path vertices and the rest of the graph in time that depends logarithmically rather than linearly in the size of the path.
    [Show full text]
  • Arxiv:1908.08911V1 [Cs.DS] 23 Aug 2019
    Parameterized Algorithms for Book Embedding Problems? Sujoy Bhore1, Robert Ganian1, Fabrizio Montecchiani2, and Martin N¨ollenburg1 1 Algorithms and Complexity Group, TU Wien, Vienna, Austria fsujoy,rganian,[email protected] 2 Engineering Department, University of Perugia, Perugia, Italy [email protected] Abstract. A k-page book embedding of a graph G draws the vertices of G on a line and the edges on k half-planes (called pages) bounded by this line, such that no two edges on the same page cross. We study the problem of determining whether G admits a k-page book embedding both when the linear order of the vertices is fixed, called Fixed-Order Book Thickness, or not fixed, called Book Thickness. Both problems are known to be NP-complete in general. We show that Fixed-Order Book Thickness and Book Thickness are fixed-parameter tractable parameterized by the vertex cover number of the graph and that Fixed- Order Book Thickness is fixed-parameter tractable parameterized by the pathwidth of the vertex order. 1 Introduction A k-page book embedding of a graph G is a drawing that maps the vertices of G to distinct points on a line, called spine, and each edge to a simple curve drawn inside one of k half-planes bounded by the spine, called pages, such that no two edges on the same page cross [20,25]; see Fig.1 for an illustration. This kind of layout can be alternatively defined in combinatorial terms as follows. A k-page book embedding of G is a linear order ≺ of its vertices and a coloring of its edges which guarantee that no two edges uv, wx of the same color have their vertices ordered as u ≺ w ≺ v ≺ x.
    [Show full text]
  • GRAIL: Scalable Reachability Index for Large Graphs
    Problem Definition & Motivation Background Our Approach : GRAIL Experiments Conclusion & Future Work GRAIL: Scalable Reachability Index for Large Graphs Hilmi Yıldırım1 Vineet Chaoji2 Mohammed J.Zaki1 1Rensselaer Polytechnic Institute Troy, NY 2Yahoo! Labs Bangalore, India 14 September VLDB 2010 Problem Definition & Motivation Background Our Approach : GRAIL Experiments Conclusion & Future Work Outline Problem Definition & Motivation Background Related Work Interval Labeling Our Approach : GRAIL Index Construction Querying Experiments Experimental Setup & Datasets Results and Comparison with Other Methods Sensitivity to Different Graph Types and Parameters Conclusion & Future Work Problem Definition & Motivation Background Our Approach : GRAIL Experiments Conclusion & Future Work Problem Definition Reachability Query : Given two vertices u and v in a directed acyclic graph G, is there a path between u and v? Simple in undirected graphs • Any directed graph can be transformed into a dag • A Query(B,I) B C D • Reachable E F G HI Query(D,B) • Not Reachable J Problem Definition & Motivation Background Our Approach : GRAIL Experiments Conclusion & Future Work Motivation Traditional Applications Class Hierarchies, GIS, • dependency graphs Trending Applications Semantic Web • Biological networks • Citation graphs • Motivation Existing methods do not • scale for large and dense graphs Motivation Problem Definition & Motivation Background Our Approach : GRAIL Experiments Conclusion & Future Work Related Work Construction Time Query Time Index Size Opt. Tree Cover (Agrawal et al. 89) O(nm) O(n) O(n2) GRIPP (Trissl et al. 07) O(m + n) O(m n) O(m + n) − Dual Labeling (Wang et al. 06) O(n + m + t3) O(1) O(n + t2) PathTree (Jin et al. 08) O(mk) O(mk)/O(mn) O(nk) 2HOP (Cohen et al.
    [Show full text]
  • Grid Graph Reachability Problems
    Electronic Colloquium on Computational Complexity, Revision 1 of Report No. 149 (2005) Grid Graph Reachability Problems Eric Allender∗ David A. Mix Barrington† Tanmoy Chakraborty‡ Samir Datta§ Sambuddha Roy¶ Abstract graphs logspace reduces to single-source-single-sink acyclic grid graphs. We show that reachability on such We study the complexity of restricted versions of st- grid graphs AC0 reduces to undirected GGR. connectivity, which is the standard complete problem for NL. Grid graphs are a useful tool in this regard, since • We build on this to show that reachability for single- source multiple-sink planar dags is solvable in L. • reachability on grid graphs is logspace-equivalent to reachability in general planar digraphs, and • reachability on certain classes of grid graphs gives 1. Introduction natural examples of problems that are hard for NC1 0 under AC reductions but are not known to be hard for Graph reachability problems have long played a fun- L; they thus give insight into the structure of L. damental role in complexity theory. The general st- connectivity problem in directed graphs is the standard In addition to explicating the structure of L, another of our complete problem for NL, while the st-connectivity prob- goals is to expand the class of digraphs for which connec- lems for directed graphs of outdegree 1 [7, 12, 9] and undi- tivity can be solved in logspace, by building on the work of rected graphs [17] are complete for L. It follows from [3] Jakoby et al. [15], who showed that reachability in series- that reachability in directed graphs of width O(1) (or even parallel digraphs is solvable in L.
    [Show full text]
  • The Power of Reachability Testing for Timed Automata
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector Theoretical Computer Science 300 (2003) 411–475 www.elsevier.com/locate/tcs The power ofreachability testing for timed automata Luca Acetoa;1 , Patricia Bouyerb;∗ , Augusto Burgue˜noc;2 , Kim G. Larsena aBRICS (Basic Research in Computer Science), Department of Computer Science, Aalborg University, Fredrik Bajers Vej 7-E, DK-9220 Aalborg +, Denmark bLaboratoire Speciÿcationà et Veriÿcation,à CNRS UMR 8643, Ecole Normale Superieureà de Cachan, 61, avenue du Presidentà Wilson, F-94235 Cachan Cedex, France cEuropean Commission, Research Directorate-General, Rue de la Loi 200, B-1049 Brussels, Belgium Received 6 September 2001; received in revised form 18 March 2002; accepted 20 March 2002 Communicated by R. Gorrieri Abstract The computational engine ofthe veriÿcation tool U PPAAL consists ofa collection ofe4cient algorithms forthe analysis ofreachability properties ofsystems. Model-checking ofproperties other than plain reachability ones may currently be carried out in such a tool as follows. Given a property to model-check, the user must provide a test automaton T for it. This test automaton must be such that the original system S has the property expressed by precisely when none ofthe distinguished reject states of T can be reached in the synchronized parallel composition of S with T. This raises the question ofwhich properties may be analysed by U PPAAL in such a way. This paper gives an answer to this question by providing a complete characterization of the class ofproperties forwhich model-checking can be reduced to reachability testing in the sense outlined above.
    [Show full text]
  • An Efficient Strongly Connected Components
    Algorithmica https://doi.org/10.1007/s00453-018-0452-3 An Efficient Strongly Connected Components Algorithm in the Fault Tolerant Model Surender Baswana1 · Keerti Choudhary1 · Liam Roditty2 Received: 11 September 2017 / Accepted: 3 May 2018 © Springer Science+Business Media, LLC, part of Springer Nature 2018 Abstract In this paper we study the problem of maintaining the strongly connected components of a graph in the presence of failures. In particular, we show that given a directed graph G = (V, E) with n =|V | and m =|E|, and an integer value k ≥ 1, there is an algorithm that computes in O(2kn log2 n) time for any set F of size at most k the strongly connected components of the graph G\F. The running time of our algorithm is almost optimal since the time for outputting the SCCs of G\F is at least Ω(n). The algorithm uses a data structure that is computed in a preprocessing phase in polynomial time and is of size O(2kn2). Our result is obtained using a new observation on the relation between strongly connected components (SCCs) and reachability. More specifically, one of the main building blocks in our result is a restricted variant of the problem in which we only compute strongly connected components that intersect a certain path. Restricting our attention to a path allows us to implicitly compute reachability between the path vertices and the rest of the graph in time that depends A preliminary version of this paper appeared in the proceedings of ICALP 2017. This research was partially supported by Israel Science Foundation (ISF) and University Grants Commission (UGC) of India.
    [Show full text]