SMA*
Last updated
Last updated
A* com memória limitada simplificado (simplified memory- bounded A*).
Usa a memória disponível
Contraste com IDA* e RBFS: estes foram desenhados para poupar memória, independentemente de ela existir de sobra ou não.
Quando a memória chega ao limite, esquece (remove) o nó n com maior custo f(n)=g(n)+h(n), actualizando em cada um dos nós ascendentes o “custo do melhor nó esquecido”
Só volta a gerar o nó n quando o custo do melhor nó esquecido registado no antecessor de n for inferior aos custos dos restantes nós.
Em cada iteração, é gerado apenas um nó sucessor.
Existindo já um ou mais filhos de um nó, apenas se gera ainda outro se o custo do nó pai for menor do que qualquer dos custos dos filhos.
Quando se gerou todos os filhos de um nó, o custo do nó pai é actualizado como no RBFS.
Neste exemplo: memória = 3 nós.
Melhores custos de nós esquecidos anotados entre parêntesis.