SMA usa la memoria que tenga disponible para evitar repetir estados, y es completo si su memoria es suficientemente grande para almacenar el camino de solución más corto.
Las extensiones sobre MA son: una estructura de datos más eficiente, usa sólo 2 valores de costo (en lugar de 4), elimina sólo lo estrictamente necesario, y usa ``pathmax'' como valores propagados hacia atrás (la contribución principal).