ablation function

Performs ablation between two configurations (from source to target).

Performs ablation between two configurations (from source to target).

Ablation is a method for analyzing the differences between two configurations.

ablation( iraceResults, src = 1L, target = NULL, ab_params = NULL, type = c("full", "racing"), nrep = 1L, seed = 1234567L, ablationLogFile = "log-ablation.Rdata", instancesFile = "train", ... )

Arguments

  • iraceResults: list()|character(1)

    Object created by irace and typically saved in the log file irace.Rdata. If a character string is given, then it is interpreted as the path to the log file from which the iraceResults object will be loaded.

  • src, target: integer(1)|character(1)

    Source and target configuration IDs. By default, the first configuration ever evaluated (ID 1) is used as src and the best configuration found by irace is used as target. If the argument is a string, it is interpreted as the path to a file, with the format specified by readConfigurationsFile(), that contains the configuration.

  • ab_params: character()

    Specific parameter names to be used for the ablation. They must be in parameters$names. By default, use all parameters.

  • type: "full"|"racing"

    Type of ablation to perform: "full" will execute each configuration on all n_instances to determine the best-performing one; "racing" will apply racing to find the best configurations.

  • nrep: integer(1)

    Number of replications per instance used in "full" ablation. When nrep > 1, each configuration will be executed nrep times on each instance with different random seeds.

  • seed: integer(1)

    Integer value to use as seed for the random number generation.

  • ablationLogFile: character(1)

    Log file to save the ablation log. If NULL, the results are not saved to a file.

  • instancesFile: character(1)

    Instances file used for ablation: 'train', 'test' or a filename containing the list of instances.

  • ...: Further arguments to override scenario settings, e.g., debugLevel, parallel, etc.

Returns

A list containing the following elements:

  • allConfigurations: Configurations tested in the ablation.
  • state: State of the ablation process.
  • experiments: A matrix with the results of the experiments (columns are configurations, rows are instances).
  • scenario: Scenario object with the settings used for the experiments.
  • trajectory: IDs of the best configurations at each step of the ablation.
  • best: Best configuration found in the experiments.
  • complete: TRUE if the ablation process was completed.

Examples

logfile <- system.file(package="irace", "exdata", "sann.rda") # Execute ablation between the first and the best configuration found by irace. ablog <- ablation(logfile, ablationLogFile = NULL) plotAblation(ablog) # Execute ablation between two selected configurations, and selecting only a # subset of parameters, directly reading the setup from the irace log file. ablog <- ablation(logfile, src = 1, target = 10, ab_params = c("temp"), ablationLogFile = NULL) plotAblation(ablog)

References

C. Fawcett and H. H. Hoos. Analysing differences between algorithm configurations through ablation. Journal of Heuristics, 22(4):431–458, 2016.

See Also

plotAblation() ablation_cmdline()

Author(s)

Leslie Pérez Cáceres and Manuel López-Ibáñez