He aprendido sobre A *, BFS, DFS y puedo implementarlas bastante bien. Sin embargo, surgen algunos problemas cuando trato de hacer eso para resolver el problema de búsqueda de ruta de pacman. Supongamos que solo hay dos tipos de laberintos: uno tiene elementos completos, como en ningún cuadrado en blanco, todo es pacman o item-to-collect o wall; y uno solo tiene algunos artículos (4 o menos).Algunas preguntas con pacman path finding
¿Cómo se implementan exactamente BFS y DFS si hay más de un artículo para recolectar? En tal caso, ¿todavía producen un resultado óptimo?
¿Cuál es el mejor algoritmo/heurística para el mapa del artículo completo? Lo que he encontrado hasta ahora es algo así como una heurística codiciosa, pero es bastante aleatorio debido a que el mapa tiene demasiados elementos para recopilar y, por lo tanto, no es una buena idea para resolver ese laberinto.
Usando A *, en el mapa de pocos artículos, ¿hay alguna manera de determinar qué elemento se debe tomar primero? Pensé en intentar usar la distancia de Manhattan como una estimación aproximada, pero eso no suena bien, especialmente en algunas situaciones difíciles.
La pregunta 2 parece algo trivial ... pacman solo quiere comer todos los dulces así que tiene que visitar todos los nodos en el gráfico, y cualquier cruce de gráficos lo hará hacer. Es decir, a menos que haya algún tipo de restricción (tal vez se coma un fantasma después de que X se mueva), ¿y las golosinas tienen valores diferentes? Las otras dos preguntas son excelentes y voy a tratar de resolverlas por falta de algo mejor que hacer ... no es posible que hayas escrito un pequeño marco de pacman que podría ahorrarme algo de tiempo, ¿o sí? ;) – jjm
Acerca de la pregunta 2: la única restricción es que la ruta que encuentra Pacman debe ser una buena (u óptima) en términos de recuento de pasos. Si dejo que pacman se mueva sin pensar, visitando cada cuadrado abierto una vez, entonces eso no funcionará ¿no? En cuanto al marco, realmente lo siento pero no tengo ninguno :( – IcySnow