How can we build starting trees?: At first, we can take a random generated tree. Other possibility is to start with some sequence, and then iterative build the three, step by step. Third possibility is to build a starting tree with some distance-based algorithm, such a Neighbour Joining or UPGMA. We have to use different starting three, to avoid the landing in local optima.

How can we change a given comprehensive topology to find a better tree?: There are three types of topological moves. NNI moves, SPR moves and TBR moves. We can swap the subtrees, remove some branches and try to instert them in the other places, and we can break the connection between some parts of the three and then reconnect them.