5

Я пытаюсь реализовать Stoachastic Hill Climbing в Java. Я понимаю, что это algorthim создает новое решение, которое выбирается случайным образом, а затем принимает решение на основе того, насколько он плох/хорош. Например, если это очень плохо, тогда у него будет небольшой шанс, и если его плохой результат будет иметь больший эффект, у него будет больше шансов быть выбранным, но я не уверен, как реализовать эту вероятность в java.Stochastic Hill Climbing

В то время как набросился на Google, я столкнулся с этим уравнением, где;

  • е старому клиенты отражают ПРИГОДНОСТЯМ
  • F»новых клиентов отражают фитнес
  • T является параметром

enter image description here

Я не совсем уверен, как интерпретировать это уравнение.

Может кто-нибудь, пожалуйста, помогите мне в том, как я могу реализовать это на Java?

+0

'Pr()' есть вероятность. Поэтому 'Pr (accept)' - это вероятность принятия решения для заданных 'f',' f'' и 'T'. –

+0

Для того, чтобы помочь вам, нам понадобится дополнительная информация о коде, который вы пробовали, и почему он не подходит для ваших нужд. Пример был бы очень признателен. –

+0

Привет, Алекс, я пытаюсь понять этот алгоритм. Я не уверен, как реализовать его на Java. – Mikey

ответ

4

Левая часть уравнения p будет двойной между 0 и 1 включительно. oldFitness, newFitness и T также могут быть двухместными.

Вы будете иметь что-то похожее на это в коде:

double p = 1/(1 + Math.exp((oldFitness - newFitness)/T)); 
if (Math.random() < p) { 
    // accept the new solution 
0

В этой книге Artificial Intelligence a Modern Approach вы можете найти хорошее представление о алгоритме альпинизма. В этой книге также есть репозиторий кода, here вы можете найти это.

И вот реализация HillClimbing (HillclimbingSearch.java) в java. Но для этого java-файла требуется импортировать другой исходный файл. Лучше Если вы посмотрите на репозиторий кода. В этом классе есть поиск общественного метода() -

public List<Action> search(Problem p){} 

Из подписи методы вы можете увидеть этот метод требует Problem р и возвращает List из Action. Чтобы получить эти Problem и Action, вы должны использовать рамку aima.

Вы можете нашли еще какое-то объяснение о стохастической холме восхождения here

Надеются, что это поможет.
Большое спасибо.

Смежные вопросы