Como medir se estamos chegando no objetivo
no contexto do 8-puzzle?
Como medir se estamos chegando no objetivo
no contexto do 8-puzzle?

Distância de Manhattam (em vermelho) e distância Euclideana (em azul). Fonte: Machine Learning with Swift.

Distância de Manhattam (em azul) e distância Euclideana (em verde). Fonte: DataCamp.
A distância de Manhattan mede o número total de movimentos horizontais e verticais necessários para levar cada peça de sua posição atual até a posição correta.
onde:
Estado inicial:
2 8 3
1 6 4
7 5
Objetivo:
1 2 3
8 4
7 6 5

Fonte da imagem: https://8-puzzle.readthedocs.io/en/latest/
Uma heurística é admissível se
nunca superestima o custo real até o objetivo.
A Distância de Manhattan é considerada uma heurística mais eficaz que apenas contar peças fora do lugar?
Seja
Considere encontrar o melhor caminho entre as cidades de Arad (estado inicial) e Bucharest (estado objetivo).

Qual heurística você usaria para encontrar um bom (ou o melhor) caminho entre
Arad e Bucharest?
A tabela à direita da imagem mostra distância em linha reta estimada de cada cidade presente no mapa até à capital do país, Bucharest.

A cada passo escolhe a ação que parece mais promissora no presente.
Greedy Best-First: Voltamos ao exemplo anterior. Vamos encontrar o caminho mais curto:
(A) de Arad a Bucharest. (B) de Iasi para Fagaras.

1. Inserir nó inicial na fila aberta (open).
2. Enquanto open não vazio:
3. Selecionar n = node com menor f(n).
4. Se n é objetivo: reconstruir caminho e terminar.
5. Expandir n → gerar filhos {n'}.
6. Para cada filho n':
7. g' = g(n) + custo(n, n')
8. h' = heurística(n')
9. f' = g' + h'
10. Se n' já em closed com menor f: ignorar
11. Caso contrário, inserir/atualizar open.
12. Inserir n em closed.
A*: Voltamos (de novo!?) ao exemplo anterior. Vamos encontrar o caminho mais curto de Arad a Bucharest.

| Domínio | Uso de A* |
|---|---|
| Robótica móvel | Planejamento de trajeto em malha 2‑D/3‑D. |
| Jogos | Pathfinding em mapas com obstáculos (ex.: RTS, RPG). |
Complexidade:
A* para encontrar o caminho mínimo entre dois pontos em uma grade (matriz) 5 × 5, onde alguns quadrados são obstáculos.
S - Estado inicial (posição (0, 0)).G - Meta (posição (3, 4)).# - Obstáculos (não podem ser atravessados).. - Células livres.| 0 | 1 | 2 | 3 | 4 | |
|---|---|---|---|---|---|
| 0 | S | . | . | # | . |
| 1 | . | # | . | # | . |
| 2 | . | # | . | . | . |
| 3 | . | . | . | # | G |
| 4 | . | # | . | . | . |
Como avaliar a qualidade de uma heurística?

Atividade recomendada: Leitura do capítulo 3.