| dummyalgo | R Documentation |
This is a dummy algorithm routine to test the sampling procedures, in
combination with dummyinstance().
dummyalgo() receives two parameters that determine the distribution of
performances it will exhibit on a hypothetical problem class:
distribution.fun (with the name of a random number generation function,
e.g. rnorm, runif, rexp etc.); and distribution.pars, a named list of
parameters to be passed on to distribution.fun.
The third parameter is an instance object (see calc_nreps() for details),
which is a named list with the following fields:
FUN = "dummyinstance" - must always be "dummyinstance" (will
be ignored otherwise).
distr - the name of a random number generation function.
... - other named fields with parameters to be passed down
to the function in distr.
dummyalgo( distribution.fun = "rnorm", distribution.pars = list(mean = 0, sd = 1), instance = list(FUN = "dummyinstance", distr = "rnorm", mean = 0, sd = 1) )
distribution.fun |
name of a function that generates random values according to a given distribution, e.g., "rnorm", "runif", "rexp" etc. |
distribution.pars |
list of named parameters required by the function
in |
instance |
instance parameters (see |
distribution.fun and distribution.pars regulate the mean performance of
the dummy algorithm on a given (hypothetical) problem class, and the
between-instances variance of performance. The instance specification in
instance regulates the within-instance variability of results. Ideally the
distribution parameters passed to the instance should result in a
within-instance distribution of values with zero mean, so that the mean of
the values returned by dummyalgo is regulated only by distribution.fun
and distribution.pars.
The value returned by dummyalgo is sampled as follows:
offset <- do.call(distribution.fun, args = distribution.pars)
y <- offset + do.call("dummyinstance", args = instance)
a list object with a single field $value, containing a scalar
numerical value distributed as described at the end of Details.
Felipe Campelo (fcampelo@ufmg.br, f.campelo@aston.ac.uk)
dummyinstance()
# Make a dummy instance with a centered (zero-mean) exponential distribution:
instance = list(FUN = "dummyinstance", distr = "rexp", rate = 5, bias = -1/5)
# Simulate a dummy algorithm that has a uniform distribution of expected
# performance values, between -25 and 50.
dummyalgo(distribution.fun = "runif",
distribution.pars = list(min = -25, max = 50),
instance = instance)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.