Explore with OSE

Suggest edits
Documentation > Explore

OSE description 🔗

The Origin Space Exploration (OSE) method is used to explore the multiples antecedents of a pattern. Input parameter values which produce a given pattern are selected. OSE optimize the fitness and when it founds solutions that are good enough it keep them and blacklist the part of the inputs space containing these solution. The optimization process keep going in order to find multiple solution producing the pattern. The hook arguments for the OSEEvolution are:
  • output: the file in which to store the result,
  • keepHistory: optional, Boolean, keep the history of the results for future analysis,
  • frequency: optional, Long, the frequency in generations where the result should be saved, it is generally set to avoid using too much disk space,
  • keepAll: optional, Boolean, save all the individuals of the population not only the optimal ones.

Example 🔗

Here is a use example of the OSE method in an OpenMOLE script:

// Seed declaration for random number generation
val myseed = Val[Int]

val param1 = Val[Double]
val param2 = Val[Double]
val output1 = Val[Double]
val output2 = Val[Double]

// PSE method
OSEEvolution(
  evaluation = modelTask,
  parallelism = 10,
  termination = 100,
  origin = Seq(
    param1  in (0.0 to 1.0 by 0.1),
    param2 in (-10.0 to 10.0 by 1.0)),
  objective = Seq(
    output1 under 5.0,
    output2 under 50.0),
  stochastic = Stochastic(seed = myseed)
) hook (workDirectory / "results.omr", frequency = 100)
origin describes the discrete space of possible origins. Each cell is considered a potential origin. objective describe the pattern to reach with inequalities. The sought patten is considered as reached when all the objective are under their threshold value. In this example OSE computes a maximal diversity of inputs for which all the outputs are under their respective threshold values.