Documentation > Explore
OSE description 🔗
The Origin Space Exploration (OSE) method is used to explore the multiple antecedents of a pattern. It generates input parameter values that match a given pattern described by a set of constraints on the objectives (i.e., objectives should be below given thresholds). OSE optimizes the fitness and, when it finds solutions that are good enough, keeps them and blacklists the region of the input space containing these solutions. The optimization process continues in order to find other solutions producing the pattern in the remaining of the input space. The hook arguments for theOSEEvolution are:
output: the file in which to store the results,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:val myseed = Val[Long]
val param1 = Val[Double]
val param2 = Val[Double]
val output1 = Val[Double]
val output2 = Val[Double]
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 describes the pattern to reach with inequalities. The pattern is considered as reached when all objectives are below their threshold values. In this example, OSE finds the maximum diversity of inputs for which all outputs are below their respective threshold values.