Maybe nit-picking ... but shouldn't a very sophisticated algorithm precisely incorporate the reliability/speed of the various exchanges (maybe based on past and current latency or downtime which weighs the risk of a transaction not clearing at a given exchange). The smartest algorithm should be able to win such a battle on average.