next up previous
Next: Compatibility Up: Parsimony Previous: Branch and Bound

Local Search

Another general class of optimization methods is local search. The basic idea is to define a neighborhood relation for the search-space, and given such a relation, traverse points in the search space by moving from one point to its neighbors. One can thus use several well-known heuristic algorithms - such as the greedy algorithm, simulated annealing, etc. - to find a local optimum, which will hopefully be also the global optimum. There are many ways to define neighborhood among trees. For instance - we can use the notion of quartets -trees with four leaves. We can say that two unrooted 3 trees are neighbors, if they can be presented as quartets joining the same four subtrees, only with a different pairing within the quartet (see figure 8.5). This relation is called Nearest Neighbor Interchange. For trees of 5 species, its neighborhhod graph is known as Peterson's graph.


  
Figure 8.5: The left tree is an unrooted tree with 4 subtrees and the two other trees are its neighbors. The subtrees A, B, C, and D are common to all three trees.
\includegraphics{lec08_figs/smalltree1.ps} \includegraphics{lec08_figs/smalltree2.ps}

Another possibility to define neighborhood relation states the neighbors of a tree to be those trees created by detaching any subtree and attaching it in some place other than its original location.


next up previous
Next: Compatibility Up: Parsimony Previous: Branch and Bound
Peer Itsik
2001-01-01