úÎOoK˜H      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG<Sean Burton 2015 CBSD3 @burton.seanr@gmail.com Aexperimental ?unknown None:MoThe main data structure for this module; it describes a search space and an associated exploration strategy.3This type is an instance of the following classes: H which does the obvious thing.I^, which allows us to combine multiple search spaces and optimize over them simultaneously.JO, which allows us to optimize over the disjoint union of two search spaces.The initial search space.[A function to partition a given search space and remove its representative from contentionÿYTry to choose a 'representative element' from the search space. For example, if the search space were the interval [0, 10), a suitable representative might be the midpoint 5. After the initial search space has been recursively partitioned as deeply as possible, every possible element should be the representative of exactly one subspace.Ogenerate a partition function to be use in the construction of custom Probes. ˆUses inverse transform sampling to draw from a probability distribution given the associated inverse cumulative distribution function. ƒSample from the exponential distribution with given mean. Useful for constants which are potentially unbounded but probably small. LSample from the normal distribution with given mean and standard deviation +Sample uniformly from the interval [a, b). éApproximately sample from a probability distribution over the range [a, b). Relies on splitting the range into regions of approximately equal probability so will be less accurate for small ranges or highly unequal distributions.œSample from an approximate normal distribution with given mean and standard deviation. May fail if a very large mean and/or standard deviation is given.*Sample uniformly from the interval [a, b).7Choose from a list of constants with equal probability.'Samples uniformly from permutations of xsq. Makes the assumption that permutations which are lexicographically close are likely to have similar fitness.Samples sublists of xs of size k. The order of elements in xs is irrelevant.Samples sublists of xs of size k. with replacement. The order of elements in xs is irrelevant.)Samples progressively larger sublists of xs. More  important} elements (those which are likely to affect the fitness of a sample more) should ideally be placed closest to the start of xs.)Samples progressively larger sublists of xs- with replacement. The order of elements in xs is irrelevant.    Sean Burton 2015BSD3burton.seanr@gmail.com experimentalunknownNone ;9Fairly self-explanatory. Maximize the objective function eval over the given ProbeŠ. Keeps lazily generating samples until it explores the whole search space so you almost certainly want to apply some cut-off criterion. <The opposite of maximize. <minimize eval = map (fmap negate) . maximize (negate . eval)>Maximize in the given monad. The underlying bind operator must be lazy if you want to generate the result list incrementally. ?The opposite of maximizeM@\The equivalent of maximize, but running in the IO Monad. Generates the output list lazily.AThe opposite of maximizeIODPreserves only those elements (_, b) for which bc is higher than for all previous previous values in the list. Designed for use with maximizationEPreserves only those elements (_, b) for which bX is lower than for all previous values in the list. Designed for use with minimization. BlowestYet xs == map (fmap negate) . highestYet . map (fmap negate)GTake the largest prefix of xs which can be evaluated within dt microseconds.* !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG* !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG*+,-./012'()*345678 !"#$%&9:;<=>?@ABCDEFG !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGASean Burton 2015 CBSD3 @burton.seanr@gmail.com Aexperimental ?unknown None ;<>?@ADEG ;<>?@ADEGK      !""#$%&'())*+,,-./0123456789:;<=>?@ABCDEFGHIJHKLHKMNspaceprobe-0.2.0!Control.SpaceProbe.Internal.Probe$Control.SpaceProbe.Internal.OptimizeControl.SpaceProbeProbe_initial _partition_draw newPartition tipConcatMapavefloatAveintAve distribution exponentialnormaluniformbisectintDistributionexponentialInt normalInt uniformInt constants permutationpermute extractElem sizedSublistsizedWithReplacementsublistwithReplacement$fAlternativeProbe$fApplicativeProbe$fFunctorProbe OptimizeM PlayoutResult_tree_input_eval_min_max_fullyExplored SearchTree_node _children SearchNode_value_mean_maximum _playouts _numchildren_exploredChildren searchTreei2fupdateucbinsertOninsertplayoutM maximize_maximizeminimizeinvert maximizeM minimizeM maximizeIO minimizeIO highestYet_ lowestYet_ highestYet lowestYetgetTimeInUsecsevaluateForusecsbaseGHC.BaseFunctorControl.Applicative Applicative Alternative