How about this:
(After figuring out the pairwise win/lose matrix) draw a ballot at random. Let N1 > N2 > ... > Nk, be the order of the candidates on the random ballot (with ties broken at random).
For each i start a transitive chain with Ni and go through the other candidates in order, passing over the candidates that beat Ni, and passing over the candidates that would not fit into the chain without violating transitivity.
If no candidate beats all of the candidates in the resulting chain, then Ni is the winner, else go on to N(i+1).
In other words, the winner is the highest ranking candidate on the randomly drawn ballot that ends up being the head of a maximal chain.
Forest ---- Election-methods mailing list - see http://electorama.com/em for list info