build (1) swap ()You are guaranteed to end with one tree in memory. What about other trees of the same cost that could be found during the search? In order to increase the number of trees held in memory, after swap, you can use the trees argument:
use ("initial") select (best:1) report (treestats) swap (trees:10)Did you get more than one tree at the end?
use ("initial") select (best:1) swap (threshold:20, trees:10) report (treestats)How many trees did you get? What are the minimum and maximum lengths?
use ("initial") select (best:3) swap (timeout:60) report (treestats) select () report ("graphic_trees.ps", graphtrees)The argument timeout will stop the search on each tree after 60 seconds, and the result will be the best tree found in that short amount of search. Finally we have the best tree in a file to prepare the slide.
use ("initial") select (best:3) report (treestats) swap (recover) (* Now let it swap for a little bit so that POY finds some better trees. Then interrupt it with <C-c>. *) recover () report (treestats) select ()
use ("initial") select (best:3) swap (constraint)
use ("initial") select (best:3) report ("constraint.txt", consensus)Now open the constraint.txt file and delete the title at the beginning. We are ready to proceed with the swap:
swap (constraint:("constraint.txt"), timeout:10)Notice that this time we have also added a timeout of 10 minutes. The main difference between using the constraint file in this way with the automated constraint in the previous item is that the reported consensus tree collapse zero length branches.
use ("initial") swap (trajectory)
use ("initial") swap (trajectory:"trees_of_swap.txt") (* Let it run for few minutes and then cancel with <C-c> *) read ("trees_of_swap.txt") report (treestats) (* We have all the trees of the trajectory plus the initial trees before the swap *) select ()
use ("initial") swap (visited) (* Wow! many trees on screen! Cancel it with <C-c> *) swap (visited:"visited_trees.txt") (* Let it run for few _seconds_ and then cancel it with <C-c> *) read ("visited_trees.txt") report (treestats)Observe that we have lots of trees in memory now. visited collect every tested tree during the search. This is a lot! If you let it run long enough, visited will produce file of several Gigabytes. So beware, don't try to read one of those files directly into POY, either it will take a long time to finish, or it will just run out of memory and it is not really the program's fault.