Improving Bounds for the Crossing Numbers on Surfaces of Genus g

We give drawings of the complete graph on orientable and nonorientable surfaces of genus g and improve the best known upper bounds on the crossing number of a complete graph on these surfaces by a factor O(log g). Morover, we give a polynomial time algorithm that produces drawings of arbitrary graphs using the drawings of complete graphs. Using our algorithm we establish an upper bound of O(m2log2g/g) on the crossing number of any graph with n vertices and m edges on an orientable or non-orientable surface of genus g. This upper bound is within a factor of O(log2g) from the optimal for many classes of graphs.