PiGra- A Tool for Pixelated Graph Representations

At GD 2013 Biedl et al. presented a simple and versatile formulation of grid-based graph representation problems as integer linear programs (ILPs) and corresponding SAT-instances [1]. In a grid-based representation each vertex and each edge of a graph is represented by a set of grid cells, which we also call pixels. Biedl et al. described a general ILP model, where each object (vertex or edge) corresponds to a set of variables that determine which pixels represent the object. They introduced constraints that restrict the shapes of objects (e.g., requiring the pixels of a vertex to form a 2D box) and how the representations of different objects can intersect. In this way, one can solve a variety of NP-hard graph problems, including pathwidth, bandwidth, optimum st-orientation, area-minimal (bar-k) visibility representation, boxicity-k graphs and others. For example, in a grid-based drawing of a visibility representation, each vertex is represented by a horizontal box of height 1 and each edge is represented by a vertical box of width 1. Moreover, two boxes overlap if and only if they represent a vertex and an incident edge. Biedl et al. [1] implemented and evaluated the ILP-models for the above problems. The experiments showed that their models successfully solve NP-hard problems within few minutes on small to medium-size graphs. They further provided their C++ implementation as the framework GDSAT1, which can be freely downloaded and adapted. With GDSAT it requires little effort to solve problems that are already modeled within GDSAT for a given graph. However, adapting the models to solve different gridbased graph drawing problems requires deeper insights and adaptions. Moreover, there is no graphical output of the result. Hence, it is not an easy-to-use tool for tasks like running initial experiments to explore new grid-based graph drawing problems. To make the framework of Biedl et al. [1] more widely accessible and useful to the community, we developed the GUI-based tool PIGRA (pixelated graphs) that allows to easily combine pre-defined general constraints in order to model the above mentioned problems as well as other grid-based layout problems. Additionally, in case the pre-defined constraints are not sufficient, the user may adapt existing or define new constraints using the simple, mathematically-oriented language PGL (pixelated graphs language), which we have introduced for this purpose. In PIGRA the typical workflow consists of the following three steps; see Fig. 1. 1. The user defines the problem as a generic ILP-formulation in PIGRA, using combinations of pre-defined and custom constraints formulated in PGL. 2. PIGRA instantiates the ILP-formulation for a user-specified graph and solves it with GUROBI2 (an automatic conversion to an equivalent SAT-instance is planned). 3. The resulting grid-based representation is graphically displayed and can be interactively explored.