Learn R Programming

miesmuschel (version 0.0.4-3)

dict_selectors_random: Random Selector

Description

Random selector that disregards fitness and individual values and selects individuals randomly. Depending on the configuration parameter replace, it samples with or without replacement.

Arguments

Configuration Parameters

  • sample_unique :: character(1)
    Whether to sample individuals globally unique ("global"), unique within groups ("groups"), or not unique at all ("no", sample with replacement). This is done with best effort; if group_size (when sample_unique is "groups") or n_select (when sample_unique is "global") is greater than nrow(values), then individuals are selected with as few repeats as possible. Initialized to "groups".

Supported Operand Types

Supported Domain classes are: p_lgl ('ParamLgl'), p_int ('ParamInt'), p_dbl ('ParamDbl'), p_fct ('ParamFct')

Dictionary

This Selector can be created with the short access form sel() (sels() to get a list), or through the the dictionary dict_selectors in the following way:

# preferred:
sel("random")
sels("random")  # takes vector IDs, returns list of Selectors

# long form: dict_selectors$get("random")

Super classes

miesmuschel::MiesOperator -> miesmuschel::Selector -> SelectorRandom

Methods

Inherited methods


Method new()

Initialize the SelectorRandom object.

Usage

SelectorRandom$new()


Method clone()

The objects of this class are cloneable with this method.

Usage

SelectorRandom$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

See Also

Other selectors: Selector, SelectorScalar, dict_selectors_best, dict_selectors_maybe, dict_selectors_null, dict_selectors_proxy, dict_selectors_sequential, dict_selectors_tournament

Examples

Run this code
set.seed(1)
sr = sel("random")
p = ps(x = p_dbl(-5, 5))
# dummy data; note that SelectorRandom does not depend on data content
data = data.frame(x = rep(0, 5))
fitnesses = c(1, 5, 2, 3, 0)

sr$prime(p)

sr$operate(data, fitnesses, 2)
sr$operate(data, fitnesses, 2)
sr$operate(data, fitnesses, 2)

sr$operate(data, fitnesses, 4)
sr$operate(data, fitnesses, 4)
sr$operate(data, fitnesses, 4)

Run the code above in your browser using DataLab