Alternative node selection methods in Clojush

December 8, 2010
by Lee Spector (lspector)

Clojush now supports alternative node selection methods for mutation and crossover. In addition to the :unbiased method (which was all that was previously available) there is now also :leaf-probability (which allows for Koza-style selection of 90% internal nodes / 10% leaves, or any other percentages) and a novel method, :size-tournament (see below). Brian Martin drafted these changes, which I subsequently tweaked with input also from Kyle Harrington.

Available as usual from: https://github.com/lspector/Clojush

20101208: - Added alternative methods for node selection, used in mutation
            and crossover (drafted by Brian Martin, with suggestions
            from Kyle Harrington). This introduced three new globals:
            global-node-selection-method, global-node-selection-leaf-probability,
            and global-node-selection-tournament-size, each of which holds
            an atom, and three new parameters to pushgp: node-selection-method,
            node-selection-leaf-probability, and node-selection-tournament-size.
            The node-selection-method can be :unbiased (in which case nodes
            are selected using the uniform distribution that was previously
            used -- this is the default), :leaf-probability (in which case
            the value of the node-selection-leaf-probability argument,
            which defaults to 0.1, specifies the probability that leaves,
            as opposed to internal nodes, will be selected -- this is the
            method used by Koza and others in tree-based GP), or
            :size-tournament (in which case the value of the
            node-selection-tournament-size argument, which defaults to 2,
            determines the tournament size for node tournaments, with the
            largest subtree in the tournament set being selected).


Leave a Reply

You must be logged in to post a comment.