Я пишу код Java для решения проблемы с имитацией метода отжига. Мне нужен метод для генерации случайного true
только с вероятностью exp(a/b), где a
и b
заданы параметры.
Спасибо.
Я пишу код Java для решения проблемы с имитацией метода отжига. Мне нужен метод для генерации случайного true
только с вероятностью exp(a/b), где a
и b
заданы параметры.
Спасибо.
Предполагая, что a/b
- это процентная вероятность возврата true:
public boolean exp(double probabilityTrue)
{
return Math.random() >= 1.0 - probabilityTrue;
}
probability_true
, вы можете удалить параметр метода probability_false
, а также оператор return может быть сокращен до return (Math.Random() * 100) > probability_true;
, так как оценка этого оператора в любом случае приводит к возврату true или false.
- person kstandell; 16.03.2015
f = exp(a/b)
, где f — функция плотности, или чтоf = exp(a/b)
является фактическим распределением? - person fps   schedule 16.03.2015double acceptChance = Math.exp(-moveScoreDifference / temperature); if (random.nextDouble() < acceptChance) {...}
- person Geoffrey De Smet   schedule 17.03.2015