Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Algorytm]A* Algorytm
daniel1302
post
Post #1





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Witam, prosze o ocene algorytmu pod wszelkimi punktami.
Narazie jest to wersja testowa. Sam algorytm działa wg. mnie nieźle, jednak muszę ujednolicić system przestrzeni.
Krótka instrukcja:
Żółte pola: Puste
Czerwone: Mur
Niebieskie: Alternatywny wątek poszukiwań
Zielone: Możliwe do przeszukania dla odpowiedniego wątku.
Fioletowe: Wygenerowana ścieżka.


Prezentacja: http://damnedland.pl/astar/class.php

Kody(użycia i algorytmu)
http://damnedland.pl/explorer/index.php?dir=Algorytmy
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Algorytm Dikstra rozważałem lecz on przeszukuje większy obszar co jest automatycznie wolniejsze(I wykorzystuje się go gdy nie znamy położenia celu, wtedy np zbieracz może przeszukać mapę żeby zebrać surowiec).
Algorytm ten podałem jako jakikolwiek inny pracujący na grafie. A by taka praca była wygodna potrzebna jest odseparowanie struktury grafu od algorytmu i jego konkretnego wykorzystania.
Cytat
Co do tych wyjątkow to się zastanowie bo zawsze zwracałem false w przypadku niepowodzenia, ale wyjątki mogę zastosować.
W przypadku niepowodzenia można co najwyżej zwrócić null. Wartość logiczna true/false jest już zarezerwowana dla funkcji mających zwrócić jedną z tych dwóch wartości. Oczywiście przez niepowodzenie nie mamy tutaj na myśli błędu - wtedy jedynym dopuszczalnym rozwiązaniem jest wyjątek.

Cytat
Crozin możesz mnie nakierować na jakieś informacje dokładniejsze o tym:
Cytat
2. Sam graf i jego wierzchołki powinny być raczej reprezentowane przez osobne obiekty - uprościłoby to i podniosło czytelność kodu.
W chwili obecnej wykorzystujesz tablice jako struktury danych. Jest to złe ponieważ jest to zbyt dynamiczna struktura danych. Nie ma ona określonych konkretnych elementów, a co gorsza powoduje odseparowanie struktury danych od konkretnych metod operacji na nich - co jest głównym założeniem i zaletą OOP. Jedyny ich plus w PHP to to, że jednak w wielu przypadkach szybsze niż rozwiązania obiektowe, ponieważ są wbudowane w samo PHP.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 09:02