Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.

Slides:



Advertisements
Similar presentations
Problem solving with graph search
Advertisements

Great Theoretical Ideas in Computer Science
Chapter 9 (Layered drawings of digraphs) By: Waldo & Ludo uv.
NP-Hard Nattee Niparnan.
Planar graphs Algorithms and Networks. Planar graphs2 Can be drawn on the plane without crossings Plane graph: planar graph, given together with an embedding.
Bart Jansen 1.  Problem definition  Instance: Connected graph G, positive integer k  Question: Is there a spanning tree for G with at least k leaves?
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Divide and Conquer. Subject Series-Parallel Digraphs Planarity testing.
Greedy Algorithms Greed is good. (Some of the time)
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
Label Placement and graph drawing Imo Lieberwerth.
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
Great Theoretical Ideas in Computer Science.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Localized Techniques for Power Minimization and Information Gathering in Sensor Networks EE249 Final Presentation David Tong Nguyen Abhijit Davare Mentor:
Rectangle Visibility Graphs: Characterization, Construction, Compaction Ileana Streinu (Smith) Sue Whitesides (McGill U.)
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
NP-Complete Problems Problems in Computer Science are classified into
The Rectilinear Steiner Arborescence Problem is NP-Complete
Analysis of Algorithms CS 477/677
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Chapter 4: Straight Line Drawing Ronald Kieft. Contents Introduction Algorithm 1: Shift Method Algorithm 2: Realizer Method Other parts of chapter 4 Questions?
On The Achromatic Number Problem Guy Kortsarz Rutgers University, Camden.
Drawing of G. Planar Embedding of G Proposition Proof. 1. Consider a drawing of K 5 or K 3,3 in the plane. Let C be a spanning cycle. 2. If the.
Automated Drawing of 2D chemical structures Kees Visser.
Hardness Results for Problems
Approximation Algorithms
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
Graph Theory Ch6 Planar Graphs. Basic Definitions  curve, polygon curve, drawing  crossing, planar, planar embedding, and plane graph  open set  region,
Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.
Flow and Upward Planarity
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
Paradigms for Graph Drawing Graph Drawing: Algorithms for the Visualization of Graphs - Chapter 2 Presented by Liana Diesendruck.
Data Structures & Algorithms Graphs
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Chap. 11 Graph Theory and Applications 1. Directed Graph 2.
The full Steiner tree problem Theoretical Computer Science 306 (2003) C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28.
Graph Concepts and Algorithms Using LEDA By Caroline Moore and Carmen Frerichs (252a-at and 252a-ao) each graph in the presentation was created using gw_basic_graph_algorithms.
CSC 252: Algorithms October 28, 2000 Homework #5: Graphs Victoria Manfredi (252a-ad) notes: -Definitions for each of the graph concepts are those presented.
CSC 213 – Large Scale Programming Lecture 31: Graph Traversals.
On the Ability of Graph Coloring Heuristics to Find Substructures in Social Networks David Chalupa By, Tejaswini Nallagatla.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Leda Demos By: Kelley Louie Credits: definitions from Algorithms Lectures and Discrete Mathematics with Algorithms by Albertson and Hutchinson graphics.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Algorithms and Networks
Outline 1 Properties of Planar Graphs 5/4/2018.
Chapter 5.
Proof technique (pigeonhole principle)
Graph theory Definitions Trees, cycles, directed graphs.
Algorithms and Networks
Hamiltonian cycle part
Great Theoretical Ideas in Computer Science
Algorithms and networks
Drawing a Planar Graph on a Grid
Algorithms and Complexity
Greedy Algorithms / Interval Scheduling Yin Tat Lee
Discrete Mathematics for Computer Science
CSE 421: Introduction to Algorithms
ICS 353: Design and Analysis of Algorithms
Quiz Review.
Graph.
Algorithms and networks
Richard Anderson Winter 2019 Lecture 5
Concepts of Computation
Presentation transcript:

Crossing Minimisation (1) Ronald Kieft

Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation survey Before the break

Contents Introduction 2-layer Crossing Minimisation K-layer Crossing Minimisation Crossing Minimisation for arbitrary graphs Other Crossing Minimisation fields

Introduction What is Crossing Minimisation? When is it needed? Graph drawings are used to give insight into systems and processes The better the graph drawing  the more insight Most important: edge crossings Edge crossings make graph drawings “hard to get” Planar vs. Non-planar

Example

Introduction (cont’d) Different types of graph drawings Type has influence on the # edge crossings Crossing Number of a graph Minimal # edge crossings in any graph drawing NP-hard problem Over 40 years of research Only few results (for special types of graphs) We consider: Straight line graph drawings Proper layered graphs Not a big restriction

Proper Layered Graph Layered graph G = (V, E) Partition V into k layers: V 1, V 2, …, V k With V i ‘intersection’ V j = empty (for i ≠ j) Vertices of layer V i drawn on line y = i (or -i) All edges in E connect vertices of different layers Proper layered graph G = (V, E) All edges in E connect vertices of neighboring layers Property: Order of vertices within each layer determines the number of edge crossings

2-layer Crossing Minimisation Layered graphs with only 2 layers Bipartite graphs Two variants: Vertices of only one layer are repositioned (1-sided) Vertices of both layers are repositioned (2-sided) 1-sided 2-layer Crossing Minimisation Problem: Given a bipartite graph G = (V 1, V 2, E) and an ordering x 1 of vertices V 1, find an ordering x 2 of vertices V 2, such that the number of edge crossings of G is minimized 2-sided 2-layer Crossing Minimisation Problem: Given a bipartite graph G = (V 1, V 2, E), find orderings x 1 and x 2 of vertices V 1 and V 2, such that the number of edge crossings of G is minimized

Example

2-layer Crossing Minimisation 1-sided variant is NP-hard Proof: after the break by Johan As a result, the problem can be solved using heuristics Several heuristics will be described by Johan What is left for me? Extension from 2 to k layers Transform arbitrary graphs to layered graphs Briefly discuss other Crossing Minimisation fields

K-layer Crossing Minimisation k-layer Crossing Minimisation Problem: Given a proper k-layered graph G = (V 1,…, V k, E), find orderings x 1,…, x k of vertices V 1,…, V k, such that the number of edge crossings of G is minimized General way to solve: Choose a heuristic for the 1-sided 2-layer Crossing Minimisation problem Use this heuristic in a so-called Layer-by-layer sweep

K-layer Crossing Minimisation Layer-by-layer sweep Converts an instance of the k-layer problem to multiple instances of the 1- sided 2-layer problem Each instance is solved using the selected heuristic The result of solving one instance, is used to solve other instances

K-layer Crossing Minimisation Layer-by-layer sweep algorithm:

Example

K-layer Crossing Minimisation When do you stop sweeping? When no more improvements are made No good Fixed amount of iterations Using a forgiveness number

Crossing Minimisation for arbitrary graphs Two types of graphs: Undirected graphs Directed graphs Directed Acyclic graphs (DAG’s) Assumption: graphs are connected Undirected graphs and DAG’s can be transformed into layered graphs Unfortunately, cyclic directed graphs can not General idea: assign a rank to each vertex Layered graphs can be made proper

Directed acyclic to layered Length of the longest incoming path determines the rank Can not be used for graphs with cycles Certain edges will point upwards

Undirected to layered Definitions: Distance d(x, y): shortest path between x and y Number e(x): max d(x, y) over all y Center: the vertex which has the lowest value for e(x), this value is r (radius of the graph) Based on the definitions, a rank can be assigned: Rank(x) = r – e(x)

Example

Undirected to layered Problem: Technique gives a Hierarchical graph Hierarchical graph can have flat edges Problem can be solved by iteratively inserting new layers, and shifting vertices down

Example

Layered to proper layered Both techniques give layered graphs Still have to be made proper Recall So, long edges have to be made short Can be done by inserting dummy vertices

Further optimizing the drawing Crossing Minimisation tries to optimise the graph Reducing edge crossings is not the only important aspect Dummy vertices make results worse Therefore, horizontal coordinate assignment Post-processing strategy Another minimisation problem

Examples

Other Crossing Minimisation fields General approach: Reduce edge crossings because they are bad Try to minimise the number of edge crossings Discussed version: only allow straight edges Variant: allow curved edges Multiple edge crossings can convert into a single one Less edge crossings Another approach: Edges causing edge crossings are bad Try to minimise the number of edges causing edge crossings Planarization approach

Justification of this motivation

Planarization approach Justification of the motivation (a): 34 edge crossings (b): 24 edge crossings

Planarization approach Definitions, using G = (V, E): Planar graph: can be drawn without edge crossings Maximal planar subgraph of G: Partitioning of E into sets M and N V together with M induces a planar subgraph Adding any edge of N will make the subgraph non-planar Maximum planar subgraph of G: Over all possible maximal planar subgraphs of G, the one with the highest cardinality of set M

Planarization approach Finding a Maximum planar subgraph is NP-hard Again, need for heuristics Planarization approach consists out of two steps: Step 1: compute maximal planar subgraph Step 2: re-insert “left-out” edges

Planarization approach Step 1: Compute maximal planar subgraph Many heuristics exists Incremental heuristic Local optimisation can be used Improves the result of most heuristics

Planarization approach Step 2: re-insert edges Order of insertion does not matter Embedding maximal planar subgraph does matter Polynomial time algorithm exists to find the “best” embedding Select an edge Find the “best” embedding Insert edge and make subgraph planar again

Summary Crossing Minimisation is NP-hard Many variants and many approaches Applied to obtain “nice” graph drawings After the break: Proof that Crossing Minimisation is NP-hard Heuristics for 1-sided 2-layer Crossing Minimisation Performance comparison of the heuristics

Questions