Shortest two-sided cycle

There is a simple polynomial-time algorithm for finding a shortest two-sided cycle of an embedded graph. Note that this problem does not use the embedding except for the signatures. So, this is also an algorithm for finding a shortest even cycle in a signed graph.

Let n = |G|. Subdivide the edges with positive signature 2n+1 times, so each of them is now composed of an even number of new edges. Next, subdivide the edges with negative signature 2n times, so they have now an odd number of pieces. Let G' be the resulting graph after the subdivisions. It is easy to see that a shortest even cycle in G' corresponds to a shortest cycle in G with positive signature.

For finding the shortest even cycle in G', there are algorithms that take polynomial time. An early reference is [1], see also [2]. Another old polynomial-time algorithm for finding a shortest even cycle is based on finding a maximum matching and can be found in [3].

A more complicated solution for this problem (correctness not verified by B.M.) can be found on the arXiv [4].

References:
[1] B. Monien, The complexity of determining a shortest cycle of even length, Computing 31 (1983) 355-369.
[2] R. Yuster, U. Zwick, Finding even cycles even faster. SIAM J. Discrete Math. 10 (1997) 209-222.
[3] M. Grötschel, W.R. Pulleyblank, Weakly bipartite graphs and the max-cut problem.
[4] arxiv.org/pdf/0807.1620