User Guide
32. case 0:
33. path[path_length - 3] = ‘S’;
34. break;
35. case 90:
3] = ‘R’; 36. path[path_length -
37. break;
38. case 180:
39. path[path_length - 3] = ‘B’;
40. break;
41. case 270:
42. path[path_length - 3] = ‘L’;
43. break;
44. }
45. // The path is now two steps shorter.
2;
y algunas secuencias que nunca se encontrarán
del robot, como ‘RBR’, ya que son reemplazadas por ‘S’ según lo
ble que desee realizar un seguimiento de las
ue indican que alguna vez este tipo de problema podría causar
n círculo
if
os llegado a un callejón sin
os
l
to
L => LB (recortado)
> S (recortado)
46. path_length -=
47. }
Un punto interesante de este código es que ha
con un giro a izquierda
acordado. En muchos programa
as de este tipo, ya q
s avanzados es posi
incoherenci
que el robot pierda el control.
Ahora vamos a mostrar como a través de un laberinto un
poco más complicado cómo podemos simplificar el camino a
medida que lo exploramos de la siguiente manera:
Explorar el laberinto con la estrategia de la mano izquierda en la pared.
Esta lista de acciones es la suma de pasos que hacemos al
explorar el laberinto hasta el final, marcado con u
negro. Nuestro reto ahora es reducir esta lista para optimizar
el trayecto. Una solución es
realizar este recorte al finalizar
es trabajar antes de que crezca la
icarlo.
Cuando nos encontramos con el primer cruce después de nuestra
primera retrocesión, sabemos que hem
el laberinto, pero el mejor enfoque
lista y nos quedemos sin memoria.
Recorte de un callejón sin salida al ident
salida que puede ser recortado de nuestra lista de acciones.
ecuencia “SBL”, quedarían
a la derecha ‘R’.
En este caso, las acciones de la s
simplificadas con una sola vuelta
Recorte del resto de esta rama sin salida como marcha atrás.
En la siguiente secuencia ‘RBL’ puede quedar reducida a
un atrás ‘B’ y combinada con la acción siguiente quedaría
como ‘LBL’ que se reduce a un simple ‘S’.
deja el camino más corto desde el principio hasta el final.
tipo ‘SBL’ que podemos reducir a una ‘R’. Nuestra última
de ha reducido de forma considerable del principio al final.
Recorte del tramo sin salida final lo que n
El último trozo es una secuencia de
acción queda en una ‘R’ y el trayec
La lista de acciones quedará de esta manera:
1. L
2. LS
3. LSB
4. LSBL => LR (recortado)
5. LRB
6. LRB
7. LBL =
8. SB
9. SBL => R (recortado)










