Results 1  10
of
20
GUESS: a language and interface for graph exploration
 IN CHI ’06: PROCEEDINGS OF THE SIGCHI CONFERENCE ON HUMAN FACTORS IN
, 2006
"... As graph models are applied to more widely varying fields, researchers struggle with tools for exploring and analyzing these structures. We describe GUESS, a novel system for graph exploration that combines an interpreted language with a graphical front end that allows researchers to rapidly prototy ..."
Abstract

Cited by 73 (1 self)
 Add to MetaCart
As graph models are applied to more widely varying fields, researchers struggle with tools for exploring and analyzing these structures. We describe GUESS, a novel system for graph exploration that combines an interpreted language with a graphical front end that allows researchers to rapidly prototype and deploy new visualizations. GUESS also contains a novel, interactive interpreter that connects the language and interface in a way that facilities exploratory visualization tasks. Our language, Gython, is a domainspecific embedded language which provides all the advantages of Python with new, graph specific operators, primitives, and shortcuts. We highlight key aspects of the system in the context of a large user survey and specific, realworld, case studies ranging from social and knowledge networks to distributed computer network analysis.
Polygon Decomposition for Efficient Construction of Minkowski Sums
, 2000
"... Several algorithms for computing the Minkowski sum of two polygons in the plane begin by decomposing each polygon into convex subpolygons. We examine different methods for decomposing polygons by their suitability for efficient construction of Minkowski sums. We study and experiment with various ..."
Abstract

Cited by 40 (7 self)
 Add to MetaCart
Several algorithms for computing the Minkowski sum of two polygons in the plane begin by decomposing each polygon into convex subpolygons. We examine different methods for decomposing polygons by their suitability for efficient construction of Minkowski sums. We study and experiment with various wellknown decompositions as well as with several new decomposition schemes. We report on our experiments with various decompositions and different input polygons. Among our findings are that in general: (i) triangulations are too costly (ii) what constitutes a good decomposition for one of the input polygons depends on the other input polygon  consequently, we develop a procedure for simultaneously decomposing the two polygons such that a "mixed" objective function is minimized, (iii) there are optimal decomposition algorithms that significantly expedite the Minkowskisum computation, but the decomposition itself is expensive to compute  in such cases simple heuristics that approximate the optimal decomposition perform very well.
The Design and Implementation of Planar Maps in CGAL
 Special Issue, selected papers of the Workshop on Algorithm Engineering (WAE
, 1999
"... this paper has been supported in part by ESPRIT IV LTR Projects No. 21957 (CGAL) and No. 28155 (GALIA), by the USAIsrael Binational Science Foundation, by The Israel Science Foundation founded by the Israel Academy of Sciences and Humanities (Center for Geometric Computing and its Applications), by ..."
Abstract

Cited by 39 (17 self)
 Add to MetaCart
this paper has been supported in part by ESPRIT IV LTR Projects No. 21957 (CGAL) and No. 28155 (GALIA), by the USAIsrael Binational Science Foundation, by The Israel Science Foundation founded by the Israel Academy of Sciences and Humanities (Center for Geometric Computing and its Applications), by a FrancoIsraeli research grant "factory of the future" (monitored by AFIRST/France and The Israeli Ministry of Science), and by the Hermann Minkowski  Minerva Center for Geometry at Tel Aviv University
Robust Geometric Computing in Motion
, 2000
"... In this paper we discuss the gap between the theory and practice of geometric algorithms. We then describe effors to settle this gap and facilitate the successful implementation of geometric algorithms in general and of algorithms for geometric arrangements and motion planning in particular. ..."
Abstract

Cited by 24 (2 self)
 Add to MetaCart
In this paper we discuss the gap between the theory and practice of geometric algorithms. We then describe effors to settle this gap and facilitate the successful implementation of geometric algorithms in general and of algorithms for geometric arrangements and motion planning in particular.
Robust and efficient construction of planar Minkowski sums
, 2000
"... The Minkowski sum (also known as the vector sum) of two sets P and Q in IR 2 is the set fp + q j p 2 P; q 2 Qg. Minkowski sums are useful in robot motion planning, computeraided design and manufacturing (CAD/CAM) and many other areas. We present a software package for robust and efficient construct ..."
Abstract

Cited by 23 (2 self)
 Add to MetaCart
The Minkowski sum (also known as the vector sum) of two sets P and Q in IR 2 is the set fp + q j p 2 P; q 2 Qg. Minkowski sums are useful in robot motion planning, computeraided design and manufacturing (CAD/CAM) and many other areas. We present a software package for robust and efficient construction of Minkowski sums of planar polygonal sets. We describe the different algorithms that we implemented and an experimental comparison between them. A distinctive feature of our implementation is that it can accurately handle degenerate input and in particular it can identify degenerate "holes" in the
HighPerformance Algorithm Engineering for Computational Phylogenetics
 J. Supercomputing
, 2002
"... A phylogeny is the evolutionary history of a group of organisms; systematists (and other biologists) attempt to reconstruct this history from various forms of data about contemporary organisms. Phylogeny reconstruction is a crucial step in the understanding of evolution as well as an important tool ..."
Abstract

Cited by 21 (7 self)
 Add to MetaCart
A phylogeny is the evolutionary history of a group of organisms; systematists (and other biologists) attempt to reconstruct this history from various forms of data about contemporary organisms. Phylogeny reconstruction is a crucial step in the understanding of evolution as well as an important tool in biological, pharmaceutical, and medical research. Phylogeny reconstruction from molecular data is very difficult: almost all optimization models give rise to NPhard (and thus computationally intractable) problems. Yet approximations must be of very high quality in order to avoid outright biological nonsense. Thus many biologists have been willing to run farms of processors for many months in order to analyze just one dataset. Highperformance algorithm engineering offers a battery of tools that can reduce, sometimes spectacularly, the running time of existing phylogenetic algorithms, as well as help designers produce better algorithms. We present an overview of algorithm engineering techniques, illustrating them with an application to the "breakpoint analysis" method of Sankoff et al., which resulted in the GRAPPA software suite. GRAPPA demonstrated a speedup in running time by over eight orders of magnitude over the original implementation on a variety of real and simulated datasets. We show how these algorithmic engineering techniques are directly applicable to a large variety of challenging combinatorial problems in computational biology.
TwoDimensional Arrangements in CGAL and Adaptive Point Location for Parametric Curves
 In Proc. of the 4th Workshop of Algorithm Engineering
, 2000
"... . Given a collection C of curves in the plane, the arrangement of C is the subdivision of the plane into vertices, edges and faces induced by the curves in C. Constructing arrangements of curves in the plane is a basic problem in computational geometry. Applications relying on arrangements arise ..."
Abstract

Cited by 14 (9 self)
 Add to MetaCart
. Given a collection C of curves in the plane, the arrangement of C is the subdivision of the plane into vertices, edges and faces induced by the curves in C. Constructing arrangements of curves in the plane is a basic problem in computational geometry. Applications relying on arrangements arise in fields such as robotics, computer vision and computer graphics. Many algorithms for constructing and maintaining arrangements under various conditions have been published in papers. However, there are not many implementations of (general) arrangements packages available. We present an implementation of a generic and robust package for arrangements of curves that is part of the CGAL 1 library. We also present an application based on this package for adaptive point location in arrangements of parametric curves. 1
Semimatchings for bipartite graphs and load balancing
 In Proc. 8th WADS
, 2003
"... We consider the problem of fairly matching the lefthand vertices of a bipartite graph to the righthand vertices. We refer to this problem as the optimal semimatching problem; it is a relaxation of the known bipartite matching problem. We present a way to evaluate the quality of a given semimatchi ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
We consider the problem of fairly matching the lefthand vertices of a bipartite graph to the righthand vertices. We refer to this problem as the optimal semimatching problem; it is a relaxation of the known bipartite matching problem. We present a way to evaluate the quality of a given semimatching and show that, under this measure, an optimal semimatching balances the load on the right hand vertices with respect to any Lpnorm. In particular, when modeling a job assignment system, an optimal semimatching achieves the minimal makespan and the minimal flow time for the system. The problem of finding optimal semimatchings is a special case of certain scheduling problems for which known solutions exist. However, these known solutions are based on general network optimization algorithms, and are not the most efficient way to solve the optimal semimatching problem. To compute optimal semimatchings efficiently, we present and analyze two new algorithms. The first algorithm generalizes the Hungarian method for computing maximum bipartite matchings, while the second, more efficient algorithm is based on a new notion of costreducing paths. Our experimental results demonstrate that the second algorithm is vastly superior to using known network optimization algorithms to solve the optimal semimatching problem. Furthermore, this same algorithm can also be used to find maximum bipartite matchings and is shown to be roughly as efficient as the best known algorithms for this goal. Key words: bipartite graphs, loadbalancing, matching algorithms, optimal algorithms, semimatching
The Design and Implementation of Planar Arrangements of Curves in CGAL
, 2000
"... Contents Acknowledgments iii 1 Introduction 3 2 Preliminaries and Related Work 9 2.1 CGAL and Generic Programming . . . . . . . . . . . . . . . . 9 2.2 Robustness in Geometric Computation . . . . . . . . . . . . . 11 2.2.1 Exact Arithmetic . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Floating ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
Contents Acknowledgments iii 1 Introduction 3 2 Preliminaries and Related Work 9 2.1 CGAL and Generic Programming . . . . . . . . . . . . . . . . 9 2.2 Robustness in Geometric Computation . . . . . . . . . . . . . 11 2.2.1 Exact Arithmetic . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Floating Point Filters . . . . . . . . . . . . . . . . . . . 13 2.3 Planar Maps in CGAL . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1 Geometric Traits . . . . . . . . . . . . . . . . . . . . . 16 2.3.2 Point Location Strategies . . . . . . . . . . . . . . . . . 17 2.4 Computing the Combinatorial Structure of an Arrangement . 18 2.4.1 Conditions for Curves . . . . . . . . . . . . . . . . . . 18 2.4.2 Isolation of Intersection Points . . . . . . . . . . . . . . 21 3 Arrangements in CGAL 23 3.1 Hierarchy Tree . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2 Design and Implementation Details . . . . . . . . . . . . . . . 26 3.2.1 General Design . . . . . . .
Algorithms and Experiments: The New (and Old) Methodology
 J. Univ. Comput. Sci
, 2001
"... The last twenty years have seen enormous progress in the design of algorithms, but little of it has been put into practice. Because many recently developed algorithms are hard to characterize theoretically and have large runningtime coefficients, the gap between theory and practice has widened over ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
The last twenty years have seen enormous progress in the design of algorithms, but little of it has been put into practice. Because many recently developed algorithms are hard to characterize theoretically and have large runningtime coefficients, the gap between theory and practice has widened over these years. Experimentation is indispensable in the assessment of heuristics for hard problems, in the characterization of asymptotic behavior of complex algorithms, and in the comparison of competing designs for tractable problems. Implementation, although perhaps not rigorous experimentation, was characteristic of early work in algorithms and data structures. Donald Knuth has throughout insisted on testing every algorithm and conducting analyses that can predict behavior on actual data; more recently, Jon Bentley has vividly illustrated the difficulty of implementation and the value of testing. Numerical analysts have long understood the need for standardized test suites to ensure robustness, precision and efficiency of numerical libraries. It is only recently, however, that the algorithms community has shown signs of returning to implementation and testing as an integral part of algorithm development. The emerging disciplines of experimental algorithmics and algorithm engineering have revived and are extending many of the approaches used by computing pioneers such as Floyd and Knuth and are placing on a formal basis many of Bentley's observations. We reflect on these issues, looking back at the last thirty years of algorithm development and forward to new challenges: designing cacheaware algorithms, algorithms for mixed models of computation, algorithms for external memory, and algorithms for scientific research.