Partition Refinement

Total Page:16

File Type:pdf, Size:1020Kb

Partition Refinement Partition Refinement: a meaningful technique for Graphs ∗ Qinna Wang [email protected] ABSTRACT final partition is the ordering elements. Note the complex- The partition refinement is a meaningful technique for ity of Quick Sort which is really considerable. Therefore, a applications in graphs. Currently, the applications in aim similar conceptual technique is then generated for develop- of the graph problems like chordal graphs [7], permutation ing algorithms, which is the partition refinement. graphs [6] and modular decomposition [3] focus on increasing the efficiency. In those propositions, the partition refinement In the domain of the graph, the partition refinement is de- plays an important role for the resolutions. Therefore, we veloped to split a class of partition vertices into disjoint sub- describe this efficient technique which overcomes the con- classes according to the adjacencies between vertices. In this straints such as the unreasonable complexity and ambigu- way, the underlying information of graphs is able to mined ous understanding of certain applications that are used for and particular graph problems can be resolved. For example, graph problems in this paper. Through the illustration with there are several proposed partition refinement applications various examples, we will show how efficient the algorithm for twin vertex calculation [6], chordal graphs recognition [7] become according to the partition refinement. and permutation graphs recognition [6]. For the valuable contributions of the partition refinement, Keywords we introduce it in this paper which is organized as: in section graph theory, partition refinement 2, we present the partition refinement in detail; in section 3, we describe several classical partition refinement appli- 1. INTRODUCTION cations based on the ordering of elements; we then list the The graph theory has been developed for several decades. categories of the partition refinement applications according Since the first graph theory paper [1] was written by Leon- to different citations in section 4; we finally provide the dis- hard Euler on the Seven Bridges of Konigsberg and pub- cussion on the partition refinement and give a conclusion of lished in 1736, the graph theory has been used for resolving this paper. multiple problems in different domains such as computation science, for example, [5] has shown that the hyper graph 2. THE PARTITION REFINEMENT partition is considerable for parallel scientific computing. Explicitly, all applications referred to the partition refine- ment can be described in a general framework which is shown Generally, a good graph algorithm should be efficient and in this section. simple to understand while it is used to resolve complicated problems. The focus of this paper is the partition refinement which is a meaningful technique to simplify and optimize the 2.1 definition and notation applications in several domains such as in graphs. Firstly, we introduce the basic definitions and notations re- lated with the partition refinement. In traditional, pivots are used to split the classes. The most classical algorithm with respect to the pivot rule is Quick Sort which is used for sorting integers. In this case, the definition 1. The partition P of a set E is the collec- tion of disjoint subsets fχ1; χ2; :::; χkg where [16i6kχi = E. ∗ENS Lyon, Laboratoire de l'information du Paral- We call the subset collection as classes. lAl'lisme,69364~ Lyon cedex, France definition 2. The set S intersects strictly with the 0 0 0 0 set S if and only if S \S 6= ; and S * S . Note that S ⊆ S is possible when the set S intersects strictly with the set S0. definition 3. The refined partition P0 = refine(P;S) where P = fχ1; χ2; :::; χkg and S is the subset of E, is ob- tainned by replacing the classes χi with χia and χib where χia = χi \ S and χib = χi n S. definition 4. The partition P is stable for the subset Therefore, the procedure of InitPartition (P) is impor- S, if and only if any class χi doesn't intersect strictly with tant. Note that some applications arrives their strategy the set S. i.e,P = refine(P;S). only by executing InitPartition (P) one time such as twin vertex calculation. definition 5. In case of an ordering partition P = • ClassPivot (E) is a procedure to produce the subset S according to the pivot p which is implied by the ele- fχ1; χ2; :::; χkg, elements in each class χi are ordered. ment E. It is related with the strategy of the applica- tion. Hence, there are two versions of the procedure definition 6. The ordering partition Q is compatible ClassPivot: only one pivot p is used for the procedure with another ordering partition P if and only if Q P which refine(P;S) or several pivots are used for refine(P;S). means that for each class χ in Q there exists another class For the first version of ClassPivot, the operation of γ in P and χ ⊆ γ and the order of elements in χ respects refine(P;S) is executed several times. However, the for the order in γ. refine(P;S) is only run one time. Therefore, we con- sider that the first version of ClassPivot saves the space for pivots. We then introduce the data structure in the partition refine- ment: the double chain list L(E) is used to store the element We then discuss the procedure of ClassPivot according its in the set E = fx1; x2; :::; xkg. Each element x has a pointer two versions: to its partition class χ and each class χ has two pointers to its minimal and maximal elements in L(E). Hence, the Input: an element E in Pivots insetting and deleting operations are easy to realize in the Output: the stable partition for the subsets S which are partition refinement algorithms. Therefore, the partition re- generated by E T finement which deletes the class χa = χ S and inserts it to for each element x 2 E do the right of the class χ has reasonable computational time p (x; E) with the pointer structure. Further, marque the ordering of S PivotSet(p) the list L(E) which is related with the ordering of the par- refine(P;S) tition classes and the compatibility of the classes. Hence, end the partition refinement is useful for applications concern- Algorithm 2: ClassP ivot(E) ing with the ordering of elements. 2.2 the partition refinement Input: an element E in Pivots Secondly, we show the total algorithm of the partition refine- Output: the stable partition for the subset S which is ment. In order to well understand it, we present a general generated by E algorithm at the beginning. Then we describe its basic pro- begin cedures with explications. At end, we provide the algorithm S ; of the partition refinement in global view. for each element x 2 E do p (x; E) Input: the partition P = fχ1; χ2; :::; χkg S S [ PivotSet(p) 0 0 0 0 end Output: the refined partition P = fχ1; χ2; :::; χmg begin refine(P;S) pivots = ; end while the InitPartition (P) doesn't stop the loop do Algorithm 3: ClassPivot (E) InitPartition (P) while the Pivots 6= ; do select an element E from the Pivots In the procedure ClassP ivot(E), p is the pivot to produce ClassPivot (E) the subset S where S ⊆ E and one element x 2 E is used to produce an unique pivot p. end end Now, we observe the Algorithm 2 and Algorithm 3: the end Algorithm 2 executes the operation refine(P;S) with one Algorithm 1: a general algorithm for the partition refine- subset S. Distinct from it, the other Algorithm 3 runs the ment operation refine(P;S) with several subsets S. The second version of ClassPivot (E) is used to minimize the determined Now, we illustrate the general algorithm which is shown in determined automate. Algorithm 1. Next, we present the key algorithm refine(P;S) which is used to refine the current partition with the set S. • InitPartition (P) is essential for the total algorithm. It is used to start the following procedures and indi- cates the end of the total algorithm. One of its im- • The operation refine(P;S) is to split the partition class T portant contribution is used to add the known pivots χ into the class χa and χb, where χa=χ S and χb = into P ivots. Additionally, the InitPartition (P) can χnS. Then we insert the new class χa next to the be considered as the beginning of the recursive process. partition class χ, where the current class χ = χb. Note Input: the partition P = fχ1; χ2; ...χkg for the set E and subset S, where the class χi intersect strictly with S 0 0 0 0 Output: the partition P = fχ1; χ2; ...χmg,which is stable for S for each class χ do T χa=χ S if χa 6= ; and χnS 6= ; then remove χa from χ if InsertRight(χ, χa; p) then insert χa to the right of χ end else insert χa to the left of χ end Input: a partition P = fχ ; χ ; :::; χ g for the set E AddPivot(χ, χ ) 1 2 k a Output: the refined partition P0 = fχ0 ; χ0 ; :::; χ0 g end 1 2 m begin end Pivots ; Algorithm 4: refine(P;S) while the InitPartition (P) doesn't stop the loop do InitPartition (P) while Pivots 6= ; do that the class χa implies the ordering of the list L(E) select an element E from the Pivots and the position of the new class χa depends on the ClassPivot (E) strategy of applications. for each element x 2 E do p (x; E) • InsertRight(χ, χa; p) is used to determine whether in- S PivotSet(p) sert the class χa in the right of χ.
Recommended publications
  • Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs by Marc Tedd
    Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs by Marc Tedder A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Computer Science University of Toronto Copyright c 2011 by Marc Tedder Abstract Applications of Lexicographic Breadth-First Search to Modular Decomposition, Split Decomposition, and Circle Graphs Marc Tedder Doctor of Philosophy Graduate Department of Computer Science University of Toronto 2011 This thesis presents the first sub-quadratic circle graph recognition algorithm, and develops im- proved algorithms for two important hierarchical decomposition schemes: modular decomposition and split decomposition. The modular decomposition algorithm results from unifying two dif- ferent approaches previously employed to solve the problem: divide-and-conquer and factorizing permutations. It runs in linear-time, and is straightforward in its understanding, correctness, and implementation. It merely requires a collection of trees and simple traversals of these trees. The split-decomposition algorithm is similar in being straightforward in its understanding and correctness. An efficient implementation of the algorithm is described that uses the union-find data-structure. A novel charging argument is used to prove the running-time. The algorithm is the first to use the recent reformulation of split decomposition in terms of graph-labelled trees. This facilitates its extension to circle graph recognition. In particular, it allows us to efficiently apply a new lexicographic breadth-first search characterization of circle graphs developed in the thesis. Lexicographic breadth-first search is additionally responsible for the efficiency of the split decom- position algorithm, and contributes to the simplicity of the modular decomposition algorithm.
    [Show full text]
  • The Wonderful World of Chordal Graphs
    The Wonderful World of Chordal Graphs Martin Charles Golumbic University of Haifa, Israel The 32nd European Conference on Combinatorial Optimization, ECCO XXXII, Malta, 2019 Preamble In 1970, Claude Berge published the original French version his fundamental and perhaps most important book, Graphes et Hypergraphes. To many graph theorists, its chapters were saplings ready to be cultivated into the vast forest that we know today. As we enter this 50th (Jubilee) anniversary year, we celebrate Le Bois de Berge with its mathematical palms, pines and poplars, firs, fruit and ficuses, oaks, maples and cacti. One of those sapling chapters was on Perfect Graphs. Berge challenged us with his Perfect Graph Conjecture, and surveyed its core subclasses: comparability graphs, interval graphs, and triangulated (chordal) graphs. —citing Fulkerson, Gallai, Ghouila-Houri, Gilmore, Hoffman, Hojós, Lovász. By the time the English version appeared in 1973, more sprouts could have been added to the blossoming family —Benzer, Dirac, Fishburn, Gavril, Roberts, Rose, Trotter. However, these and others would wait until 1980, when my own book Algorithmic Graph Theory and Perfect Graphs first appeared. —a direct outgrowth of Berge’s inspiring chapter. Triangulated graphs – also known as rigid circuit graphs (Dirac), acyclic graphs (Lekkerkerker and Boland) But it was Fanica Gavril who coined the term chordal graphs. A graph G is a chordal graph, if every cycle in G of length greater than or equal to 4 has a chord, that is, an edge connecting two vertices that are not consecutive on the cycle. NOT a chordal graph This IS a It has many copies of C4 chordal graph Fanica Gavril: “I knew that these graphs occurred before as triangulated graphs, but the term triangulated was also used for maximal planar graphs, implying the statement, ‘some planar triangulated graphs are not triangulated graphs’ (like the complete wheels).
    [Show full text]
  • Perfect Graphs Chinh T
    University of Dayton eCommons Computer Science Faculty Publications Department of Computer Science 2015 Perfect Graphs Chinh T. Hoang Wilfrid Laurier University R. Sritharan University of Dayton Follow this and additional works at: http://ecommons.udayton.edu/cps_fac_pub Part of the Graphics and Human Computer Interfaces Commons, and the Other Computer Sciences Commons eCommons Citation Hoang, Chinh T. and Sritharan, R., "Perfect Graphs" (2015). Computer Science Faculty Publications. 87. http://ecommons.udayton.edu/cps_fac_pub/87 This Book Chapter is brought to you for free and open access by the Department of Computer Science at eCommons. It has been accepted for inclusion in Computer Science Faculty Publications by an authorized administrator of eCommons. For more information, please contact [email protected], [email protected]. CHAPTE R 28 Perfect Graphs Chinh T. Hoang* R. Sritharan t CO NTENTS 28.1 Introd uction ... .. ..... ............. ............................... .. ........ .. 708 28.2 Notation ............................. .. ..................... .................... 710 28.3 Chordal Graphs ....................... ................. ....... ............. 710 28.3.1 Characterization ............ ........................... .... .. ... 710 28.3.2 Recognition .................... ..................... ... .. ........ .. ... 712 28.3.3 Optimization ................................................ .. ......... 715 28.4 Comparability Graphs ............................................... ..... .. 715 28.4.1 Characterization
    [Show full text]
  • Graph Algorithms
    Graph Algorithms PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Wed, 29 Aug 2012 18:41:05 UTC Contents Articles Introduction 1 Graph theory 1 Glossary of graph theory 8 Undirected graphs 19 Directed graphs 26 Directed acyclic graphs 28 Computer representations of graphs 32 Adjacency list 35 Adjacency matrix 37 Implicit graph 40 Graph exploration and vertex ordering 44 Depth-first search 44 Breadth-first search 49 Lexicographic breadth-first search 52 Iterative deepening depth-first search 54 Topological sorting 57 Application: Dependency graphs 60 Connectivity of undirected graphs 62 Connected components 62 Edge connectivity 64 Vertex connectivity 65 Menger's theorems on edge and vertex connectivity 66 Ear decomposition 67 Algorithms for 2-edge-connected components 70 Algorithms for 2-vertex-connected components 72 Algorithms for 3-vertex-connected components 73 Karger's algorithm for general vertex connectivity 76 Connectivity of directed graphs 82 Strongly connected components 82 Tarjan's strongly connected components algorithm 83 Path-based strong component algorithm 86 Kosaraju's strongly connected components algorithm 87 Application: 2-satisfiability 88 Shortest paths 101 Shortest path problem 101 Dijkstra's algorithm for single-source shortest paths with positive edge lengths 106 Bellman–Ford algorithm for single-source shortest paths allowing negative edge lengths 112 Johnson's algorithm for all-pairs shortest paths in sparse graphs 115 Floyd–Warshall algorithm
    [Show full text]
  • Fundamental Data Structures Zuyd Hogeschool, ICT Contents
    Fundamental Data Structures Zuyd Hogeschool, ICT Contents 1 Introduction 1 1.1 Abstract data type ........................................... 1 1.1.1 Examples ........................................... 1 1.1.2 Introduction .......................................... 2 1.1.3 Defining an abstract data type ................................. 2 1.1.4 Advantages of abstract data typing .............................. 5 1.1.5 Typical operations ...................................... 5 1.1.6 Examples ........................................... 6 1.1.7 Implementation ........................................ 7 1.1.8 See also ............................................ 8 1.1.9 Notes ............................................. 8 1.1.10 References .......................................... 8 1.1.11 Further ............................................ 9 1.1.12 External links ......................................... 9 1.2 Data structure ............................................. 9 1.2.1 Overview ........................................... 10 1.2.2 Examples ........................................... 10 1.2.3 Language support ....................................... 11 1.2.4 See also ............................................ 11 1.2.5 References .......................................... 11 1.2.6 Further reading ........................................ 11 1.2.7 External links ......................................... 12 2 Sequences 13 2.1 Array data type ............................................ 13 2.1.1 History ...........................................
    [Show full text]
  • Fundamental Data Structures
    Fundamental Data Structures PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Thu, 17 Nov 2011 21:36:24 UTC Contents Articles Introduction 1 Abstract data type 1 Data structure 9 Analysis of algorithms 11 Amortized analysis 16 Accounting method 18 Potential method 20 Sequences 22 Array data type 22 Array data structure 26 Dynamic array 31 Linked list 34 Doubly linked list 50 Stack (abstract data type) 54 Queue (abstract data type) 82 Double-ended queue 85 Circular buffer 88 Dictionaries 103 Associative array 103 Association list 106 Hash table 107 Linear probing 120 Quadratic probing 121 Double hashing 125 Cuckoo hashing 126 Hopscotch hashing 130 Hash function 131 Perfect hash function 140 Universal hashing 141 K-independent hashing 146 Tabulation hashing 147 Cryptographic hash function 150 Sets 157 Set (abstract data type) 157 Bit array 161 Bloom filter 166 MinHash 176 Disjoint-set data structure 179 Partition refinement 183 Priority queues 185 Priority queue 185 Heap (data structure) 190 Binary heap 192 d-ary heap 198 Binomial heap 200 Fibonacci heap 205 Pairing heap 210 Double-ended priority queue 213 Soft heap 218 Successors and neighbors 221 Binary search algorithm 221 Binary search tree 228 Random binary tree 238 Tree rotation 241 Self-balancing binary search tree 244 Treap 246 AVL tree 249 Red–black tree 253 Scapegoat tree 268 Splay tree 272 Tango tree 286 Skip list 308 B-tree 314 B+ tree 325 Integer and string searching 330 Trie 330 Radix tree 337 Directed acyclic word graph 339 Suffix tree 341 Suffix array 346 van Emde Boas tree 349 Fusion tree 353 References Article Sources and Contributors 354 Image Sources, Licenses and Contributors 359 Article Licenses License 362 1 Introduction Abstract data type In computing, an abstract data type (ADT) is a mathematical model for a certain class of data structures that have similar behavior; or for certain data types of one or more programming languages that have similar semantics.
    [Show full text]