We present a general algorithm, pre-determinization, that makes an arbitrary weighted transducer over the tropical semiring or an arbitrary unambiguous weighted transducer over
a cancellative commutative semiring determinizable by inserting in it transitions labeled with special symbols. After determinization,
the special symbols can be removed or replaced with ε-transitions. The resulting transducer can be significantly more efficient to use. We report empirical results showing that
our algorithm leads to a substantial speed-up in large-vocabulary speech recognition. Our pre-determinization algorithm makes
use of an efficient algorithm for testing a general twins property, a sufficient condition for the determinizability of all weighted transducers over the tropical semiring and unambiguous
weighted transducers over cancellative commutative semirings. It inserts new transitions just when needed to guarantee that
the resulting transducer has the twins property and thus is determinizable. It also uses a single-source shortest-paths algorithm
over the min-max semiring for carefully selecting the positions for insertion of new transitions to benefit from the subsequent
application of determinization. These positions are proved to be optimal in a sense that we describe.