Dowiedziałem się o A *, BFS, DFS i mogę je całkiem dobrze zastosować. Jednak niektóre problemy pojawiają się, gdy próbuję to zrobić, rozwiązując problem ze znalezieniem ścieżki pacmana. Przyjmijmy, że istnieją tylko dwa typy labiryntów: jeden ma pełne przedmioty, ponieważ w pustym polu wszystko jest albo pacmanem, albo przedmiotem do zebrania albo ścianą; a jeden ma tylko kilka przedmiotów (4 lub mniej).Kilka pytań dotyczących odnajdywania ścieżek pacman
Jak dokładnie są BFS i DFS realizowane, jeśli nie masz więcej niż jeden element, aby zbierać? W takim razie czy nadal dają optymalny wynik?
Jaki jest najlepszy algorytm/heurystyka dla mapy całego przedmiotu? To, co do tej pory wymyśliłem, jest czymś w rodzaju chciwej heurystyki, ale jest całkiem przypadkowe, ponieważ mapa ma zbyt wiele przedmiotów do zebrania i dlatego nie jest dobrym pomysłem na rozwiązanie tego labiryntu.
Korzystanie z A *, na mapie z kilkoma pozycjami, czy istnieje dobry sposób na określenie, który przedmiot powinien zostać pobrany jako pierwszy? Pomyślałem o próbie wykorzystania odległości Mahattan jako przybliżonej oceny, ale to nie brzmi dobrze, szczególnie w niektórych trudnych sytuacjach.
Pytanie 2 wydaje się dość trywialne ... pacman po prostu chce zjeść wszystkie gadżety, więc musi odwiedzić każdy węzeł na wykresie, a każde przesunięcie wykresu będzie zrobić. Oznacza to, że jeśli nie ma jakiegoś rodzaju przymusu (może zostać zjedzonym przez ducha po ruchach X), a cukierki mają różne wartości? Te dwa pytania są doskonałe i mam zamiar spróbować je rozgryźć z braku czegoś lepszego do zrobienia ... nie napisałbyś trochę ramek pacmana, które mogłyby zaoszczędzić mi trochę czasu, prawda? ;) – jjm
O pytaniu 2: jedynym ograniczeniem jest to, że ścieżka pacman wyszukuje powinna być dobra (lub optymalna) pod względem liczby kroków. Jeśli po prostu pozwolę pacmanowi bezmyślnie poruszać się po każdym otwartym placu, to to nie zadziała poprawnie? Jeśli chodzi o framework, naprawdę przepraszam, ale nie mam żadnych :( – IcySnow