Este es un problema que puedo resolver fácilmente de una manera no funcional.Encontrar la ruta más corta entre dos puntos en una cuadrícula, usando Haskell
Pero solucionarlo en Haskell me está causando grandes problemas. Mi inexperiencia en lo que respecta a la programación funcional es seguramente una razón.
El problema:
que tiene un campo 2D dividido en rectángulos de igual tamaño. Una grilla simple Algunos rectángulos son espacios vacíos (y se pueden pasar) mientras que otros son intransitables. Dado un rectángulo inicial A y un rectángulo de destino B, ¿cómo calcularía la ruta más corta entre los dos? El movimiento es posible solo vertical y horizontalmente, en pasos un solo rectángulo grande.
¿Cómo podría lograr esto en Haskell? Los fragmentos de código ciertamente son bienvenidos, pero tampoco necesariamente necesarios. ¡Y los enlaces a otros recursos también son bienvenidos!
Gracias!
Esto definitivamente suena el algoritmo de Dijkstra, o al menos una variación de él. – MatrixFrog
Suena como el algoritmo A *. (Parece que no puedo publicar el enlace de wikipedia correctamente). – CiscoIPPhone