We consider the problem of reconstructing near-perfect phylogenetic trees using binary character states (referred to as
BNPP). A perfect phylogeny assumes that every character mutates at most once in the evolutionary tree, yielding an algorithm for
binary character states that is computationally efficient but not robust to imperfections in real data. A near-perfect phylogeny relaxes
the perfect phylogeny assumption by allowing at most a constant number of additional mutations. We develop two algorithms for
constructing optimal near-perfect phylogenies and provide empirical evidence of their performance. The first simple algorithm is fixedparameter
tractable when the number of additional mutations and the number of characters that share four gametes with some other
character are constants. The second, more involved, algorithm for the problem is fixed-parameter tractable when only the number of
additional mutations is fixed. We have implemented both algorithms and have shown them to be extremely efficient in practice on
biologically significant data sets. This work proves that the BNPP problem is fixed-parameter tractable and provides the first practical
phylogenetic tree reconstruction algorithms that find guaranteed optimal solutions while being easily implemented and computationally
feasible for data sets of biologically meaningful size and complexity