Dimitrios Michail
Max Planck Society
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Dimitrios Michail.
Computer Science Review | 2009
Telikepalli Kavitha; Christian Liebchen; Kurt Mehlhorn; Dimitrios Michail; Romeo Rizzi; Torsten Ueckerdt; Katharina Anna Zweig
Cycles in graphs play an important role in many applications, e.g., analysis of electrical networks, analysis of chemical and biological pathways, periodic scheduling, and graph drawing. From a mathematical point of view, cycles in graphs have a rich structure. Cycle bases are a compact description of the set of all cycles of a graph. In this paper, we survey the state of knowledge on cycle bases and also derive some new results. We introduce different kinds of cycle bases, characterize them in terms of their cycle matrix, and prove structural results and a priori length bounds. We provide polynomial algorithms for the minimum cycle basis problem for some of the classes and prove APX-hardness for others. We also discuss three applications and show that they require different kinds of cycle bases.
international colloquium on automata languages and programming | 2004
Telikepalli Kavitha; Kurt Mehlhorn; Dimitrios Michail; Katarzyna E. Paluch
In this paper we consider the problem of computing a minimum cycle basis in a graph G with m edges and n vertices. The edges of G have non-negative weights on them. The previous best result for this problem was an O(m ω n) algorithm, where ω is the best exponent of matrix multiplication. It is presently known that ω 0, we also design a 1+e approximation algorithm to compute a cycle basis which is at most 1+e times the weight of a minimum cycle basis. The running time of this algorithm is \(O(\frac{m^{\omega}}{\epsilon}\log(W/{\epsilon}))\) for reasonably dense graphs, where W is the largest edge weight.
ACM Journal of Experimental Algorithms | 2007
Kurt Mehlhorn; Dimitrios Michail
In this paper, we consider the problem of computing a minimum cycle basis of an undirected graph <i>G</i> = (<i>V</i>,<i>E</i>) with <i>n</i> vertices and <i>m</i> edges. We describe an efficient implementation of an <i>O</i>(<i>m</i><sup>3</sup> + <i>mn</i><sup>2</sup> log <i>n</i>) algorithm. For sparse graphs, this is the currently best-known algorithm. This algorithms running time can be partitioned into two parts with time <i>O</i>(<i>m</i><sup>3</sup>) and <i>O</i>(<i>m</i><sup>2</sup><i>n</i> + <i>mn</i><sup>2</sup> log <i>n</i>), respectively. Our experimental findings imply that for random graphs the true bottleneck of a sophisticated implementation is the <i>O</i>(<i>m</i><sup>2</sup> <i>n</i> + <i>mn</i><sup>2</sup> log <i>n</i>) part. A straightforward implementation would require Ω(<i>nm</i>) shortest-path computations. Thus, we develop several heuristics in order to get a practical algorithm. Our experiments show that in random graphs our techniques result in a significant speed-up. Based on our experimental observations, we combine the two fundamentally different approaches to compute a minimum cycle basis to obtain a new hybrid algorithm with running time <i>O</i>(<i>m</i><sup>2</sup><i>n</i><sup>2</sup>). The hybrid algorithm is very efficient, in practice, for random dense unweighted graphs. Finally, we compare these two algorithms with a number of previous implementations for finding a minimum cycle basis of an undirected graph.
ACM Transactions on Algorithms | 2009
Kurt Mehlhorn; Dimitrios Michail
We consider the problem of computing exact or approximate minimum cycle bases of an undirected (or directed) graph <i>G</i> with <i>m</i> edges, <i>n</i> vertices and nonnegative edge weights. In this problem, a {0, 1} (−1,0,1}) incidence vector is associated with each cycle and the vector space over F<sub>2</sub> (Q) generated by these vectors is the cycle space of <i>G</i>. A set of cycles is called a cycle basis of <i>G</i> if it forms a basis for its cycle space. A cycle basis where the sum of the weights of the cycles is minimum is called a minimum cycle basis of <i>G</i>. Cycle bases of low weight are useful in a number of contexts, for example, the analysis of electrical networks, structural engineering, chemistry, and surface reconstruction. There exists a set of Θ(<i>mn</i>) cycles which is guaranteed to contain a minimum cycle basis. A minimum basis can be extracted by Gaussian elimination. The resulting algorithm [Horton 1987] was the first polynomial-time algorithm. Faster and more complicated algorithms have been found since then. We present a very simple method for extracting a minimum cycle basis from the candidate set with running time <i>O</i>(<i>m</i><sup>2</sup> <i>n</i>), which improves the running time for sparse graphs. Furthermore, in the undirected case by using bit-packing we improve the running time also in the case of dense graphs. For undirected graphs we derive an <i>O</i>(<i>m</i><sup>2</sup> <i>n</i>/log <i>n</i> + <i>n</i><sup>2</sup> <i>m</i>) algorithm. For directed graphs we get an <i>O</i>(<i>m</i><sup>3</sup> <i>n</i>) deterministic and an <i>O</i>(<i>m</i><sup>2</sup> <i>n</i>) randomized algorithm. Our results improve the running times of both exact and approximate algorithms. Finally, we derive a smaller candidate set with size in Ω(<i>m</i>) ∩ <i>O</i>(<i>mn</i>).
scandinavian workshop on algorithm theory | 2008
Chien-Chung Huang; Telikepalli Kavitha; Dimitrios Michail; Meghana Nasre
We investigate the following problem: given a set of jobs and a set of people with preferences over the jobs, what is the optimal way of matching people to jobs? Here we consider the notion of popularity. A matching Mis popular if there is no matching Mi¾? such that more people prefer Mi¾? to Mthan the other way around. Determining whether a given instance admits a popular matching and, if so, finding one, was studied in [2]. If there is no popular matching, a reasonable substitute is a matching whose unpopularityis bounded. We consider two measures of unpopularity - unpopularity factordenoted by u(M) and unpopularity margindenoted by g(M). McCutchen recently showed that computing a matching Mwith the minimum value of u(M) or g(M) is NP-hard, and that if Gdoes not admit a popular matching, then we have u(M) i¾? 2 for all matchings Min G. Here we show that a matching Mthat achieves u(M) = 2 can be computed in
symposium on theoretical aspects of computer science | 2007
Telikepalli Kavitha; Kurt Mehlhorn; Dimitrios Michail
O(m\sqrt{n})
Journal of Web Semantics | 2014
Kostis Kyzirakos; Manos Karpathiotakis; George Garbis; Charalampos Nikolaou; Konstantina Bereta; Ioannis Papoutsis; Themistoklis Herekakis; Dimitrios Michail; Manolis Koubarakis; Charalambos Kontoes
time (where mis the number of edges in Gand nis the number of nodes) provided a certain graph Hadmits a matching that matches all people. We also describe a sequence of graphs: H= H 2 , H 3 ,...,H k such that if H k admits a matching that matches all people, then we can compute in
Computer Aided Geometric Design | 2007
Craig Gotsman; Kanela Kaligosi; Kurt Mehlhorn; Dimitrios Michail; Evangelia Pyrga
O(km\sqrt{n})
ACM Transactions on Algorithms | 2007
Telikepalli Kavitha; Kurt Mehlhorn; Dimitrios Michail; Katarzyna E. Paluch
time a matching Msuch that u(M) ≤ ki¾? 1 and
ACM Journal of Experimental Algorithms | 2011
Dimitrios Michail
g(M) \le n(1-\frac{2}{k})