Efficient Incremental Character Optimization

Phylogenetic computer programs work by examining sequences of tree topologies, searching for those trees which yield minimal length. Rather than optimizing each tree from scratch, programs can use computational shortcuts to reduce the work required to compute each new tree's length; however, at least some of the techniques currently in use are approximate, and can miscalculate tree lengths. I describe a new incremental character optimization algorithm which is exact, correct, and comparable in speed to current methods.