polynomial branched cover of the sphere with specified monodromy We know by the Riemann Existence Theorem that any Riemann surface can arise holmorphically as the branched cover of a sphere:


*

*Which Riemann surfaces arise from the Riemann existence theorem?
Do there exist ways to compute these Riemann surfaces explicitly?  
For example, I might ask for 4-sheeted cover of $\hat{\mathbb{C}}$ -- essentially a polynomial of degree 4 -- with monodromy $(12)(34),(13)(24),(14)(23)$ at the branch points.
 A: Easy in your example : the covering curve must be $\Bbb{P}^1$ (by Hurwitz formula), with an action of $(\Bbb{Z}/2)^2$. Up to conjugacy there is no choice for such an action, it must be given by the involutions $z\mapsto -z$ and $z\mapsto \frac{1}{z} $. So your covering is the map $\Bbb{P}^1\rightarrow \Bbb{P}^1$ given by $z\mapsto z^2+\frac{1}{z^2}\,\cdot $
In general,  there is no algorithm, otherwise you could write explicitly the general curve of genus $g$ ...
A: For small degrees or especially "easy" monodromy groups, there are tricks for doing this, especially due to Couveignes and Elkies.  But there is no known general method.  Such a method would likely yield an algebraic proof of Riemann's Existence Theorem, which in turn would probably yield much new information about the existence of coverings of curves with specified ramification in positive characteristic.  Harbater has done much work in this direction, for instance see his paper "Patching and Galois theory".
Added later: finding algebraic information about the coverings produced from Riemann's Existence Theorem is also the standard approach to the Inverse Galois Problem: if there is a covering defined over $\mathbf{Q}$ having monodromy group $G$, then by Hilbert's Irreducbility Theorem there is an extension of $\mathbf{Q}$ having Galois group $G$.  So one can dream that if one could write down the Riemann surfaces in Riemann's existence theorem, then one could answer the Inverse Galois Problem.
A: An algorithm exists in principle, at least when the genus is $0$. But it is very difficult unless the degree is small. For example, if the function is supposed to be a polynomial, as in your example, you write the derivative of your polynomial with indefinite coefficients. Then you choose critical values consistent with your data and otherwise arbitrary, and
solve the resulting system. You obtain finitely many polynomials. For each of them you
compute the monodromy of the inverse, this requires only numerical (approximate)
computation, and see which of these finitely many polynomials fits your data. All this assumes that you can solve polynomial systems. But this is the case.
In principle. Such computations have been actually performed for small degrees, and for very special sets of data.
By the way, this does not prove the uniformization theorem, even in the special case
that we consider. The algorithm I described actually uses the uniformization theorem. We know in advance for which sets
of data a polynomial exists. And we know that if it exists than critical values can be
arbitrarily assigned. All this follows from the uniformization theorem.
