Ich schreibe Java-Code, um ein Problem mit Simulated Annealing-Methode zu lösen. Ich brauche eine Methode, um eine zufällige true
nur mit Wahrscheinlichkeit exp (a/b) zu generieren, wobei a
und b
Parameter gegeben sind.Generieren Sie einen zufälligen Boolean mit gegebener Wahrscheinlichkeit
Danke.
Haben Sie bedeuten, dass die Verteilung gemäß 'f = exp sein muss (a/b)', mit f die Dichte funcion zu sein, oder dass 'f = exp (a/b)' die tatsächliche Verteilung ist? –
Siehe [mein Quellcode] (https://github.com/droolsjbpm/optaplanner/blob/master/optaplanner-core/src/main/java/org/optaplanner/core/impl/localsearch/decider/acceptor/simulatedannealing/ SimulatedAnnealingAcceptor.java # L88): 'double acceptChance = Math.exp (-moveScoreDifference/temperature); if (random.nextDouble()