5

Próbuję zaimplementować Wspinaczkę Stoachastic Hill w Javie. Rozumiem, że ten algortim tworzy nowe rozwiązanie, które jest wybierane losowo, a następnie akceptuje rozwiązanie oparte na tym, jak złe/dobre jest. Na przykład, jeśli jest bardzo zły, to będzie miał niewielką szansę i jeśli będzie źle z nim związany, będzie miał większe szanse na wybranie, ale nie jestem pewien, jak zaimplementować to prawdopodobieństwo w Javie.Wspinaczka górska Stochastic

Podczas przeglądania w Google natknąłem się na to równanie, gdzie;

  • f respresent staremu Fitness
  • f”respresent nowy biznesowe
  • T jest parametrem

enter image description here

nie jestem pewien, jak interpretować tego równania.

Czy ktoś może mi pomóc, jak mogę to zaimplementować w Javie?

+0

'Pr()' jest prawdopodobieństwo. Zatem 'Pr (akceptuj)' jest prawdopodobieństwem przyjęcia rozwiązania dla danego 'f',' f'' i 'T'. –

+0

Aby Ci pomóc, potrzebujemy więcej informacji o kodzie, który wypróbowałeś i dlaczego nie odpowiada Twoim potrzebom. Przykład byłby bardzo doceniany. –

+0

Cześć Alex, próbuję zrozumieć ten algorytm. Nie jestem naprawdę pewien, jak zaimplementować go w Javie. – Mikey

Odpowiedz

4

Lewa strona równania p będzie podwójna między 0 a 1, włącznie. oldFitness, newFitness i T może również podwajać.

Trzeba będzie coś podobnego do tego w kodzie:

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

Możesz znaleźć dobry zaniżenie algorytmu skoczni w tej książce Artificial Intelligence a Modern Approach. Ta książka ma również repozytorium kodu, here możesz to znaleźć. Jest to implementacja HillClimbing (HillclimbingSearch.java) w języku Java. Ale ten plik Java wymaga zaimportowania innego pliku źródłowego. Lepiej Jeśli spojrzysz na repozytorium kodu. W tej klasie masz wyszukiwanie publiczne Metoda() -

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

od podpisania metody można zobaczyć ta metoda wymaga Problem p i zwraca List z Action. Aby je uzyskać, musisz użyć architektury aima.

można znaleźć trochę więcej wyjaśnień o stochastycznym wzgórzu wspinaczki here

Mam nadzieję, że to pomoże.
Wielkie dzięki.