- Aprender
- Computação e TI
- Ciência da computação
- Inteligência artificial
- Busca não informada e informada
Busca não informada e informada
IntermediárioAula 2 de 10 do curso Curso de Inteligência artificial
O que você vai aprender
- Transforme um problema em um espaço de estados que um algoritmo possa explorar, acompanhe como o procedimento geral de busca expande uma árvore de busca e compare algoritmos por completude, otimalidade de custo, tempo e memória.
- Descreva um problema de busca e seu espaço de estadosNomeie os componentes de um problema de busca, visualize seu espaço de estados como um grafo, escolha um nível útil de abstração e estime o tamanho do espaço.
- Expanda uma árvore de busca com o algoritmo geral de buscaUse nós, a fronteira e o conjunto de estados alcançados para explicar como um algoritmo de busca expande uma árvore de busca, evita trabalho repetido e recupera o caminho da solução.
- Meça e compare algoritmos de buscaAvalie qualquer algoritmo de busca por completude, otimalidade de custo, tempo e espaço, expresse seu custo com os parâmetros b, d, m, C* e ε e veja por que o crescimento exponencial limita a busca não informada.
- Descreva um problema de busca e seu espaço de estados
- Execute à mão as buscas em largura, de custo uniforme, em profundidade e com aprofundamento iterativo, explique as garantias e os custos de cada uma e escolha a estratégia adequada para um problema.
- Execute a busca em larguraExplore um espaço de estados camada por camada com uma fila FIFO, acompanhe a execução em um pequeno mapa e indique quando a busca é completa e ótima em custo.
- Encontre o caminho de menor custo com a busca de custo uniformeExpanda nós em ordem de custo do caminho com uma fila de prioridade, acompanhe a execução do algoritmo e explique por que ele é ótimo em custo e qual é seu custo.
- Economize memória com a busca em profundidade e a busca com aprofundamento iterativoAcompanhe a execução da busca em profundidade, use um limite de profundidade e explique como o aprofundamento iterativo combina o uso de memória da busca em profundidade com as garantias da busca em largura.
- Compare estratégias de busca não informada e escolha umaCompare as estratégias de busca não informada lado a lado, acrescente a busca bidirecional e escolha uma estratégia adequada para um problema.
- Execute a busca em largura
- Use uma estimativa heurística para orientar a busca, acompanhe a busca gulosa pela melhor escolha e A*, demonstre quando A* é ótimo e use variantes que equilibram otimalidade com velocidade ou memória.
- Use uma heurística na busca gulosa pela melhor escolhaDefina uma função heurística, acompanhe a busca gulosa pela melhor escolha e explique por que ela é rápida, mas pode retornar uma solução ruim.
- Encontre caminhos ótimos com a busca A*Acompanhe A* com f = g + h, explique por que uma heurística admissível a torna ótima em custo e veja como uma heurística melhor reduz a busca.
- Equilibre a otimalidade com a velocidade ou o uso de memóriaUse A* ponderado, busca em feixe e versões de A* com memória limitada, como IDA*, quando o A* convencional for lento demais ou precisar de memória demais, e indique do que cada método abre mão.
- Use uma heurística na busca gulosa pela melhor escolha
- Teste a admissibilidade e a consistência de uma heurística, crie heurísticas admissíveis a partir de problemas relaxados e subproblemas e compare heurísticas pela dominância e pelo fator de ramificação efetivo.
- Teste a admissibilidade e a consistência de heurísticasVerifique se uma heurística nunca superestima e obedece à desigualdade triangular, e explique por que cada propriedade importa para A*.
- Crie heurísticas admissíveis a partir de problemas relaxadosDerive heurísticas removendo restrições de um problema, calcule-as para o quebra-cabeça de 8 peças e construa heurísticas mais fortes a partir de subproblemas e da combinação de heurísticas.
- Compare heurísticas pela dominância e pelo fator de ramificação efetivoDecida qual de duas heurísticas é melhor usando a dominância, meça uma heurística com o fator de ramificação efetivo e pondere a precisão em relação ao custo de calculá-la.
- Teste a admissibilidade e a consistência de heurísticas
- Resolva problemas de otimização movendo-se por uma paisagem de estados completos, use subida de encosta e suas variantes e escape de ótimos locais com recozimento simulado e métodos populacionais.
- Descreva a busca local e a paisagem do espaço de estadosExplique quando o caminho não importa, formule um problema com estados completos e descreva as características da paisagem que dificultam a busca local.
- Avance para estados melhores com a subida de encostaExecute a subida de encosta pela ascensão mais íngreme, reconheça onde ela fica presa e melhore-a com movimentos laterais, escolhas aleatórias, reinícios aleatórios e busca local em feixe.
- Escape de ótimos locais com recozimento simulado e algoritmos genéticosAceite alguns movimentos piores com uma probabilidade que diminui conforme a temperatura cai, elabore um cronograma de resfriamento e use populações com cruzamento e mutação.
- Descreva a busca local e a paisagem do espaço de estados
Guia de estudo de Busca não informada e informada
1Formule problemas como busca e avalie algoritmos de busca
Um algoritmo de busca precisa de uma descrição precisa do que pode acontecer e do que conta como sucesso. Um mapa de rotas e um quebra-cabeça deslizante parecem diferentes, mas ambos podem ser descritos com estados, ações, objetivos e custos. A busca então constrói caminhos por esse espaço. Distinguir um estado de um nó de busca esclarece o tratamento de duplicatas; distinguir completude de otimalidade de custo torna significativas as comparações entre algoritmos.
1.1 Descreva um problema de busca e seu espaço de estados
Um problema de busca descreve as escolhas antes de um algoritmo começar a fazê-las. Sua formulação determina tanto o significado de uma solução quanto o número de possibilidades que o algoritmo deve considerar.
Defina o problema
Há seis componentes:
- Estados descrevem as situações possíveis.
- O estado inicial é onde a busca começa.
- Ações são as escolhas disponíveis em um estado.
- O modelo de transição, , fornece o estado após a ação .
- O teste de objetivo reconhece um estado aceitável.
- A função de custo da ação, , atribui um custo a cada passo.
Todos os custos de ação aqui são positivos. Uma solução para um problema de busca de caminhos é uma sequência de ações que leva a um objetivo. Some os custos de suas ações para obter seu custo do caminho. Uma solução ótima em custo minimiza essa soma. Apenas nomear o destino não informa a um agente como alcançá-lo.
Formule o quebra-cabeça de 8 peças
Um tabuleiro contém oito peças numeradas e um espaço vazio. Registre as nove posições como o estado. O estado inicial é a disposição fornecida; o objetivo é “1 2 3 / 4 5 6 / 7 8 vazio”. Uma ação move o espaço vazio para a esquerda, direita, cima ou baixo quando esse movimento permanece no tabuleiro. A transição troca o espaço vazio com a peça vizinha, e cada movimento custa 1. Um canto permite duas ações; o centro permite quatro.
Uma solução é uma sequência como “Esquerda, Cima, Direita”, se esses movimentos forem permitidos e alcançarem o objetivo. Como cada movimento tem o mesmo custo, minimizar o custo significa minimizar o número de movimentos.
Escolha o espaço de estados
Pense nos estados como vértices de um grafo direcionado e nas ações como arestas identificadas por custos. Uma estrada de mão dupla produz duas arestas direcionadas. Para a busca de rotas, um estado pode ser o local atual e o custo de um passo pode ser a distância da estrada em quilômetros.
A abstração deixa de fora detalhes irrelevantes. A música tocando em um carro não precisa fazer parte de um estado de rota. Uma solução abstrata ainda deve poder ser executada. Remover um detalhe que altera quais ações são permitidas mudaria o problema, não apenas simplificaria sua descrição.
A formulação pode economizar mais trabalho que uma fila mais rápida. Colocar oito rainhas em quaisquer casas vazias permite sequências ordenadas de posicionamento possíveis. Colocar cada próxima rainha na coluna vazia mais à esquerda, em uma casa não atacada, deixa 2.057 estados alcançáveis. Essas são construções diferentes da mesma condição de objetivo.
Gere possibilidades conforme necessário
O quebra-cabeça de 8 peças tem estados alcançáveis a partir de um início fixo. O quebra-cabeça de 15 peças tem . Uma representação completa das 8 rainhas com uma rainha por coluna tem estados.
Esses espaços geralmente são fornecidos implicitamente: a busca recebe um estado inicial e procedimentos para ações e transições. Ela gera a parte relevante durante a execução. Para um problema de caminho, mantenha a sequência de ações. Para um problema de otimização como o posicionamento de rainhas, a própria disposição final pode ser a resposta.
Principais conclusões
- Um problema de busca especifica estados, um início, ações, transições, um teste de objetivo e custos de ação.
- Uma solução de caminho é uma sequência de ações; seu custo é a soma dos custos de seus passos.
- Uma abstração deve preservar a possibilidade de executar suas soluções.
- Um espaço de estados implícito é gerado a partir de ações e transições conforme necessário.
- A formulação pode reduzir muito o número de estados ou caminhos considerados.
1.2 Expanda uma árvore de busca com o algoritmo geral de busca
O espaço de estados descreve o que é possível. A árvore de busca registra os caminhos que o algoritmo tentou. Vários nós podem descrever o mesmo estado porque chegaram a ele por caminhos diferentes.
Armazene um caminho em um nó
Um nó armazena um estado, seu nó pai, a ação a partir desse pai e o custo do caminho . A profundidade também pode ser armazenada. A raiz não tem pai e tem custo do caminho 0. Expandir um nó aplica todas as ações permitidas a seu estado e gera seus filhos.
Em um mapa de mão dupla, os caminhos “S, A” e “S, B, C, A” terminam no mesmo estado, mas produzem nós diferentes. Mesmo um mapa finito pode gerar uma árvore de busca infinita: “S, A, S, A, …” continua produzindo caminhos cada vez mais longos.
A fronteira, também chamada de borda, contém nós gerados que aguardam expansão. O conjunto de estados alcançados registra os estados gerados e o melhor nó encontrado para cada um. Ele inclui estados que ainda estão na fronteira e estados já expandidos. Um conjunto fechado ou explorado geralmente se refere apenas aos estados expandidos.
Execute o procedimento geral de busca pela melhor escolha
- Coloque a raiz na fronteira e na tabela de estados alcançados.
- Se a fronteira estiver vazia, retorne falha.
- Remova o nó com o menor valor de avaliação .
- Se seu estado for um objetivo, retorne esse nó.
- Expanda-o. Adicione cada novo estado; para um estado alcançado anteriormente, substitua seu nó armazenado apenas quando o novo caminho for mais barato.
- Repita a partir do passo 2.
Um caminho mais barato até um estado já expandido pode exigir sua reabertura. Retornos de mesmo custo não trazem melhora. Com um heap, uma entrada antiga pode permanecer fisicamente presente; ela deve ser reconhecida como desatualizada e ignorada quando removida.
A regra da fronteira determina a estratégia. Uma fila FIFO seleciona nós de menor profundidade para a BFS. Uma pilha LIFO seleciona nós mais profundos para a DFS. Filas de prioridade ordenadas por , e produzem as buscas de custo uniforme, gulosa pela melhor escolha e A*.
Acompanhe os nós do mapa rodoviário
Use estas estradas de mão dupla, com distâncias em quilômetros: S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 e D–G 2. Comece em S e busque G. Desfaça empates em ordem alfabética.
Expandir S gera A com custo 2, B com custo 3 e D com custo 9. Cada um tem S como pai. A fronteira contém A, B e D; a tabela de estados alcançados também contém S. Mais tarde, C pode ser alcançado por A com custo 6 ou por B com custo 4. São dois nós para um estado, e o mais barato deve representar C.
Para recuperar uma solução, siga os vínculos de pai do nó objetivo retornado para trás e inverta as ações. Atualizar o custo sem atualizar o pai deixaria um caminho que não corresponde ao custo informado.
Decida o que guardar
A busca em grafo guarda os estados alcançados para evitar trabalho repetido. A busca em árvore não tem uma tabela global de estados alcançados; ela pode apenas rejeitar ciclos no caminho atual. Ela economiza memória, mas pode gerar o mesmo estado por muitos caminhos.
O procedimento geral testa objetivos na remoção. A BFS pode testar na geração porque ela segue a ordem de profundidade. A busca baseada em custo deve esperar a remoção: o primeiro objetivo gerado pode ter um caminho mais caro que um objetivo encontrado depois.
Principais conclusões
- Um estado é uma situação; um nó representa um caminho até um estado.
- A fronteira contém nós gerados e não expandidos; a tabela de estados alcançados também guarda os estados expandidos.
- Mantenha um caminho mais barato até um estado, incluindo seu vínculo de pai correspondente.
- A busca em grafo evita trabalho repetido; a busca em árvore economiza memória.
- A UCS e A* testam um objetivo quando ele é removido da fronteira.
- Os vínculos de pai recuperam a sequência de ações a partir do nó objetivo retornado.
1.3 Meça e compare algoritmos de busca
Um algoritmo pode ser confiável e ainda assim ser caro demais para executar. Avalie suas garantias separadamente do uso de recursos e verifique se essas garantias correspondem ao problema que você realmente precisa resolver.
Faça quatro perguntas diferentes
Completude significa encontrar uma solução sempre que uma existe. Em um espaço alcançável finito, esgotar todas as possibilidades também pode comprovar a falha. Um espaço infinito sem solução pode ser explorado para sempre, mesmo por um algoritmo completo.
Otimalidade de custo significa retornar uma solução com o menor custo do caminho. Ela não diz nada sobre a velocidade de execução do algoritmo. Um método pode encontrar uma solução de forma confiável e ainda retornar uma rota cara.
Complexidade temporal conta os nós gerados ou expandidos. Indique qual contagem está sendo usada ao comparar medições. Complexidade espacial mede o número máximo de nós mantidos ao mesmo tempo, incluindo a fronteira e as informações de busca armazenadas.
Identifique os parâmetros
Para um espaço de busca implícito, use:
| Símbolo | Significado |
|---|---|
| Fator de ramificação máximo: sucessores por nó | |
| Profundidade de uma solução de menor profundidade | |
| Profundidade máxima de caminho, possivelmente infinita | |
| Custo de uma solução ótima | |
| Limite inferior positivo para o custo de ação |
Para um grafo explícito já na memória, as contagens de vértices e arestas geralmente são mais úteis. Um limite de percurso em e responde a uma pergunta diferente de um limite para gerar uma árvore ainda não observada.
Veja por que a profundidade é cara
Uma árvore completa até a profundidade contém
nós para . Com fator de ramificação 10 e profundidade 5, são 111.111 nós, incluindo a raiz. Aumentar a profundidade em um acrescenta uma camada com dez vezes mais nós que a camada anterior.
A um milhão de nós por segundo e 1 quilobyte por nó, a escala muda rapidamente:
| Profundidade | Nós aproximados | Tempo | Memória |
|---|---|---|---|
| 6 | 1,1 milhão | 1 segundo | 1,1 GB |
| 8 | 111 milhões | 2 minutos | 111 GB |
| 10 | 11 bilhões | 3 horas | 11 TB |
| 12 | 1,1 trilhão | 13 dias | 1,1 PB |
Essas são unidades decimais de armazenamento: 1 GB equivale a bytes. A memória pode inviabilizar uma busca muito antes de seu tempo de execução parecer excessivo.
Leia as garantias com suas condições
A BFS acaba alcançando toda profundidade finita quando a ramificação é finita. A DFS pode passar uma eternidade em um ramo infinito e nunca tentar um objetivo próximo. Essa diferença explica seus resultados de completude.
A BFS encontra um caminho com o menor número de ações. Se uma rota de dois passos custa 11 km e uma rota de três passos custa 9 km, a rota de menor profundidade não é ótima em custo. Custos de passo iguais fazem profundidade e custo concordarem; custos diferentes podem separá-los.
Um limite O grande de pior caso não prevê toda execução. Dois métodos com o mesmo limite podem diferir nas constantes, no tratamento de duplicatas e no número de ramos úteis. Uma heurística pode melhorar muito uma execução típica sem eliminar o pior caso exponencial.
Principais conclusões
- Completude diz respeito a encontrar uma solução; otimalidade de custo diz respeito ao custo da solução retornada.
- Um espaço infinito sem solução não precisa levar a um encerramento com aviso de falha.
- O fator de ramificação e a profundidade explicam o crescimento exponencial de árvores de busca implícitas.
- Meça o pico de memória além da contagem de nós; o armazenamento costuma ser o primeiro limite.
2Faça buscas sem conhecimento do domínio
Sem uma heurística, uma busca deve escolher o que explorar usando a profundidade ou o custo já pago. Uma fila, uma pilha e uma fila de prioridade ordenada por custo podem, portanto, produzir rotas muito diferentes no mesmo mapa. Acompanhe as mudanças em suas fronteiras para entender por que suas garantias diferem. O aprofundamento iterativo economiza memória repetindo trabalho nas camadas mais rasas, enquanto a busca bidirecional pode reduzir a profundidade quando o objetivo e as ações inversas estão disponíveis.
2.1 Execute a busca em largura
A busca em largura explora em camadas. Sua próxima expansão é o nó de menor profundidade que ainda aguarda, então todo caminho de uma ação é considerado antes que qualquer caminho de duas ações seja expandido.
Mantenha a ordem da fila
A fronteira funciona por primeiro a entrar, primeiro a sair: remova da frente e acrescente os filhos ao fim. Registre os estados quando forem gerados. Se o estado de um filho já tiver sido alcançado, ignore-o; caso contrário, dois pais diferentes poderiam colocar o mesmo estado na fila.
Teste o estado inicial antes de iniciar a busca. Para os nós posteriores, a BFS pode usar um teste de objetivo na geração. O primeiro objetivo gerado tem profundidade mínima porque o algoritmo gera filhos camada por camada. A ordem dentro de uma camada pode escolher entre soluções de mesma profundidade, mas não pode fazer uma solução mais profunda aparecer primeiro.
Acompanhe a execução no mapa de exemplo
As estradas de mão dupla são S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 e D–G 2 km. Comece em S, busque G e gere vizinhos em ordem alfabética. Na tabela, o próximo nó a remover está à esquerda.
| Nó expandido | Estados recém-alcançados | Fila após a expansão |
|---|---|---|
| S | A, B, D | A, B, D |
| A | C | B, D, C |
| B | Nenhum | D, C |
| D | G, que passa no teste de objetivo | A busca para |
Quando B é expandido, C e D já foram alcançados. Eles não mudam para novas posições na fila. Quando D gera G, sua cadeia de pais é G–D–S. Inverta-a para recuperar S–D–G, com duas estradas e distância total km.
C já foi gerado, mas ainda não foi expandido. Sua rota até G teria três estradas. A BFS pode parar sem explorá-lo porque três estradas não podem melhorar o número de ações de uma solução com duas estradas.
Saiba o que o resultado minimiza
A BFS é completa para ramificação finita, mesmo se o espaço for infinito: cada camada finita é processada antes da próxima. Ela é ótima em custo quando todas as ações custam o mesmo. Em um quebra-cabeça deslizante com custo 1 por movimento, uma solução de menor profundidade também é uma solução de menor custo.
Nesse mapa rodoviário, S–B–C–G custa km. A BFS retorna a rota de 11 km porque a distância não é sua regra de ordenação. “Caminho mais curto”, portanto, precisa de uma unidade: menor número de estradas e menor número de quilômetros são objetivos diferentes.
Considere a memória
Com o teste de objetivo na geração, a BFS usa tempo e espaço . Ela pode gerar quase todos os nós até a profundidade do objetivo e manter a fronteira e as informações de estados alcançados. Se os objetivos forem testados apenas na remoção, expandir outros nós na profundidade pode gerar a profundidade , produzindo o limite usual para essa versão.
Com fator de ramificação 10 e 1 quilobyte por nó, armazenar uma árvore até a profundidade 10 leva cerca de 11 TB. A BFS é útil para problemas de pouca profundidade e custos iguais quando há memória suficiente, como caminhos de rede com o menor número de saltos ou quebra-cabeças com o menor número de movimentos. Uma fila FIFO não usa os custos numéricos das arestas, mesmo quando eles estão escritos no grafo.
Principais conclusões
- A BFS expande o nó de menor profundidade usando uma fila FIFO.
- Registre os estados alcançados na geração para evitar entradas duplicadas na fila.
- O primeiro objetivo gerado tem o menor número de ações.
- Custos de ação iguais tornam a BFS ótima em custo.
- Com o teste de objetivo na geração, tempo e espaço são .
2.2 Encontre o caminho de menor custo com a busca de custo uniforme
A busca de custo uniforme ordena caminhos pelo custo já pago. Ela pode deixar de lado um destino próximo, mas caro, enquanto investiga rotas mais longas compostas de passos baratos.
Remova o caminho mais barato
Defina e use uma fila de prioridade. Quando uma expansão encontrar um caminho mais barato até um estado alcançado, atualize tanto seu custo quanto seu pai. Um caminho de mesmo custo não melhora o registro. A UCS é a forma de busca do algoritmo de Dijkstra, que para quando remove um objetivo.
O teste de objetivo na remoção da fronteira é essencial. Gerar um objetivo prova que uma rota existe. Remover esse objetivo como o nó mais barato da fronteira prova que nenhuma rota inacabada mais barata pode superá-lo, considerando custos de ação positivos.
Acompanhe a execução no mapa de exemplo
Use as estradas de mão dupla S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 e D–G 2 km. Desfaça empates de custo em ordem alfabética. As entradas da fronteira abaixo mostram o estado e o custo do caminho.
| Nó removido | Atualização | Fronteira após a remoção |
|---|---|---|
| S, 0 | Alcança A, B, D | A 2; B 3; D 9 |
| A, 2 | Alcança C via A | B 3; C 6; D 9 |
| B, 3 | Melhora C por B | C 4; D 9 |
| C, 4 | Alcança G | D 9; G 9 |
| D, 9 | G via D custa 11; mantém 9 | G 9 |
| G, 9 | Passa no teste de objetivo | Retorna |
A substituição de C é decisiva: é melhor que . O pai de G é C, o pai de C é B e o pai de B é S. A rota retornada S–B–C–G custa 9 km. D é removido antes de G apenas porque a regra de desempate é alfabética.
Se uma estrada direta S–G de 12 km fosse acrescentada, S geraria um objetivo imediatamente. Um teste na geração retornaria 12 km antes de descobrir a rota de 9 km. A fila de prioridade não pode proteger a otimalidade se a regra de parada a contornar.
Explique a garantia
Com ramificação finita e todo custo de ação de pelo menos algum , apenas um número finito de passos de caminho pode caber abaixo de qualquer limite de custo fixo. A UCS, portanto, acaba removendo um objetivo sempre que um existe. Custos positivos garantem que estender um caminho não possa torná-lo mais barato, o que fundamenta a demonstração de otimalidade.
Custos zero exigem cuidado. A busca em árvore pode continuar percorrendo um ciclo de custo zero. A busca em grafo rejeita retornos de mesmo custo ao mesmo estado, mas uma cadeia infinita de estados distintos com custo acumulado limitado ainda pode atrasar um objetivo para sempre. Custos de passo negativos invalidam o argumento usual de otimalidade da UCS.
Entenda o custo
O limite padrão de pior caso para tempo e espaço é . Nesse mapa, e , resultando em . Esse é um limite pouco restritivo, não o número real de nós expandidos no mapa de seis estados.
Muitos caminhos baratos sem saída podem obrigar a UCS a realizar trabalho considerável antes de executar uma ação útil e cara. Quando todos os custos de passo são iguais, seu teste de objetivo na remoção fornece o conhecido limite . A* com faz exatamente as mesmas comparações de prioridade que a UCS.
Principais conclusões
- A UCS ordena a fronteira pelo custo acumulado do caminho .
- Retorne um objetivo na remoção, quando ele for o caminho pendente mais barato.
- Substitua uma rota mais cara até um estado alcançado, incluindo seu pai.
- Ramificação finita e um limite inferior positivo para os custos de passo garantem completude.
- A UCS é ótima em custo sob o modelo de custos positivos.
2.3 Economize memória com a busca em profundidade e a busca com aprofundamento iterativo
A busca em profundidade segue um ramo antes de tentar suas alternativas. Essa escolha pode reduzir muito o uso de memória, mas permite que um ramo desfavorável atrase todas as outras possibilidades.
Siga um ramo profundo
A DFS usa uma pilha em que o último a entrar é o primeiro a sair. Em uma versão de busca em árvore, rejeite estados que já estejam no caminho atual para evitar ciclos imediatos. Armazene o caminho atual e os irmãos não expandidos ao longo dele. Para tentar sucessores em ordem alfabética com uma pilha, empilhe-os em ordem alfabética inversa.
No mapa de mão dupla S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 e D–G 2 km, comece em S e busque G. Tentar vizinhos em ordem alfabética e testar objetivos na remoção produz S, A, C, B, D, G. Em C, B é o primeiro vizinho que ainda não está no caminho. A rota retornada S–A–C–B–D–G custa km.
A DFS não é ótima em custo. Ela é completa em um espaço finito com verificação de ciclos no caminho, mas pode seguir um ramo infinito para sempre. Seu tempo de pior caso é , e os caminhos e irmãos armazenados precisam de espaço . O retrocesso que gera um filho por vez reduz o armazenamento para . Com ramificação 10 e profundidade máxima 12, o armazenamento de caminho e irmãos é de cerca de 120 nós, contra aproximadamente um trilhão para a BFS até a profundidade 12. Uma tabela global de estados alcançados usaria memória adicional.
Limite a profundidade
A busca em profundidade limitada para de expandir na profundidade . Um objetivo nessa profundidade ainda pode ser reconhecido. Ela distingue três resultados:
- Uma solução foi encontrada.
- Corte: o limite de profundidade impediu uma busca completa.
- Falha: as possibilidades relevantes foram esgotadas sem objetivo ou corte.
Um corte não prova que não existe solução. Se o objetivo de menor profundidade estiver na profundidade 7, um limite de 5 não poderá alcançá-lo. Tempo e espaço de pior caso são e .
Aumente o limite gradualmente
A busca com aprofundamento iterativo, ou IDS, executa buscas em profundidade limitada com limites 0, 1, 2 e assim por diante. Ela encontra uma solução de menor profundidade sem armazenar uma fronteira de busca em largura. Com ramificação finita, é completa; com custos de ação iguais, é ótima em custo. O tempo é e o espaço é .
A maioria dos nós de uma árvore larga está na última camada, então repetir as camadas superiores costuma ser pouco custoso. Para e , conte os nós gerados abaixo da raiz:
A BFS gera 111.110 desses nós até a profundidade 5. A IDS gera cerca de 11% mais nós, mantendo apenas o armazenamento da busca em profundidade. As visitas repetidas à raiz são excluídas dessas duas contagens específicas.
Para fatores de ramificação maiores que 1, o trabalho adicional em uma árvore larga se aproxima do fator . Essa vantagem é menor em uma cadeia estreita, na qual os prefixos repetidos predominam. A IDS é uma escolha não informada útil quando a profundidade da solução é desconhecida e uma fronteira completa não cabe na memória. Em espaços com muitas rotas até o mesmo estado, a ausência de um conjunto global de estados alcançados pode causar uma regeneração considerável.
Principais conclusões
- A DFS usa pouco armazenamento para caminhos, mas pode deixar de encontrar um objetivo para sempre em um ramo infinito.
- A verificação de ciclos no caminho impede retornos a ancestrais sem uma tabela global de estados alcançados.
- Um corte de profundidade significa que o limite bloqueou a continuação da busca, não que o problema não tenha solução.
- A IDS aumenta o limite de profundidade até encontrar uma solução de menor profundidade.
- A IDS é completa para ramificação finita e ótima em custo para custos de passo iguais.
- A IDS troca geração repetida por espaço .
2.4 Compare estratégias de busca não informada e escolha uma
Uma estratégia útil corresponde ao resultado desejado e aos recursos disponíveis. A busca não informada usa a definição do problema sem uma estimativa da distância restante. Ainda assim, ela pode ser sistemática e cuidadosamente ordenada.
Compare nas mesmas condições
Suponha ramificação finita e as condições de custo positivo para a UCS. A linha da BFS usa o teste de objetivo na geração; a linha da DFS usa verificação de ciclos no caminho e não usa uma tabela global de estados alcançados.
| Estratégia | Completa? | Ótima em custo? | Tempo | Espaço |
|---|---|---|---|---|
| BFS | Sim | Custos de passo iguais | ||
| UCS | Sim, custos limitados inferiormente por positivo | Sim | Igual ao tempo | |
| DFS | Em espaços finitos | Não | ||
| Profundidade limitada | Se o limite alcançar uma profundidade com objetivo | Não | ||
| IDS | Sim | Custos de passo iguais |
A BFS e a IDS também minimizam o custo quando ele é uma função não decrescente apenas da profundidade. A palavra “apenas” importa: todos os caminhos de uma dada profundidade devem ter o mesmo custo para satisfazer essa condição mais ampla. Arestas positivas, por si só, não tornam a BFS ótima em custo.
Busque a partir das duas extremidades
A busca bidirecional avança a partir do início e retrocede a partir do objetivo. Se as buscas se encontrarem perto do meio, cada uma alcançará aproximadamente a profundidade . O trabalho será então aproximadamente em vez de . Com fator de ramificação 10 e profundidade da solução 6, a comparação das camadas mais profundas é de cerca de 2.000 nós contra 1.000.000.
Ela precisa de um estado objetivo explícito e de uma forma de gerar predecessores. Estradas reversíveis de mão dupla facilitam a expansão para trás. Uma propriedade de objetivo como “todas as rainhas estão seguras” pode descrever estados objetivo demais para fornecer um ponto de partida inverso conveniente.
Com buscas em largura ou baseadas em custo, regras adequadas de encontro e término podem preservar a completude e a otimalidade. Em um mapa com pesos, pare apenas quando nenhuma conexão mais barata ainda for possível. A primeira sobreposição entre as duas buscas não precisa ser a conexão mais barata.
Escolha conforme o problema
Para o menor número de movimentos em um pequeno quebra-cabeça deslizante, custos de movimento iguais tornam a BFS adequada se houver bastante memória. Para percorrer a menor distância com estradas de comprimentos diferentes e sem heurística, escolha a UCS. Para um quebra-cabeça enorme de custo igual e profundidade da solução desconhecida, a IDS evita uma fronteira enorme. Em um espaço finito com muitos objetivos profundos, no qual qualquer solução é aceitável, a DFS pode ser prática. Um início e um objetivo conhecidos, com ações reversíveis, tornam a busca bidirecional uma opção a considerar.
O uso de memória deve incluir o que a versão escolhida armazena. A DFS com uma tabela global de estados alcançados deixa de ter o mesmo perfil de armazenamento da DFS em árvore. Uma execução da BFS com teste de objetivo na remoção não deve ser comparada a um limite de complexidade com teste na geração como se as versões fossem idênticas.
Mesmo a melhor escolha não informada pode enfrentar crescimento exponencial. Quando há conhecimento útil do domínio, uma heurística pode reduzir a exploração irrelevante. Quando apenas a configuração final importa, a busca local pode evitar manter uma árvore de busca.
Principais conclusões
- Escolha uma estratégia considerando o objetivo desejado, a estrutura de custos, a memória e a profundidade da solução.
- A busca bidirecional precisa de um objetivo como ponto de partida e de uma forma de gerar predecessores.
- Um encontro inicial não é uma regra de parada segura para buscas com pesos.
- O menor número de ações e o caminho mais barato coincidem quando os custos de ação são iguais.
3Faça buscas com heurísticas: busca gulosa pela melhor escolha e A*
Uma heurística estima o trabalho que ainda falta para alcançar um objetivo. A busca gulosa segue diretamente essa estimativa; A* combina-a com o custo já pago. Comparar suas execuções mostra por que a orientação pode economizar expansões e por que uma estimativa inadequada pode ocultar uma rota barata. Quando A* convencional precisa de tempo ou memória demais, suas variantes fazem diferentes escolhas entre qualidade da solução, armazenamento e trabalho repetido.
3.1 Use uma heurística na busca gulosa pela melhor escolha
Uma heurística atribui a um estado uma estimativa do menor custo restante até um objetivo. Escreva-a como para o estado no nó . Ela depende do estado, não do caminho usado para alcançá-lo, e é zero em um objetivo.
Estime o que falta
A distância em linha reta estima a distância restante por estrada. Em uma grade com movimentos unitários horizontais e verticais, a distância de Manhattan soma as diferenças entre as coordenadas:
Da célula (1,1) a (4,5), isso fornece movimentos. A distância em linha reta entre as mesmas coordenadas é . As estimativas respondem a perguntas diferentes sobre movimentos em problemas relaxados. Uma heurística deve usar as mesmas unidades do custo que estima; quilômetros não estimam diretamente o tempo de viagem sem um modelo de conversão adequado.
A busca informada usa uma estimativa para orientar a expansão. A estimativa não precisa dizer ao algoritmo qual ação executar. Ela avalia os estados produzidos pelas ações permitidas, e a regra da fronteira decide qual caminho pendente investigar em seguida.
Siga a menor estimativa
A busca gulosa pela melhor escolha define . Sua fila de prioridade remove o estado que parece mais próximo do objetivo, ignorando o custo já pago.
Use as estradas de mão dupla S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 e D–G 2 km. As estimativas heurísticas até G são S 8, A 7, B 5, C 4, D 2 e G 0 km.
- Expanda S. A fronteira tem A com estimativa 7, B com 5 e D com 2.
- Remova D porque 2 é o menor valor. Expandir D gera G com estimativa 0. O custo do caminho até G é km.
- Remova G e retorne S–D–G.
Apenas S e D foram expandidos. A rota S–B–C–G de 9 km estava disponível, mas a estimativa 5 de B parecia pior que a estimativa 2 de D. A busca gulosa nunca incluiu em sua comparação os 9 km já percorridos para alcançar D.
Separe orientação de garantias
Mesmo uma heurística que nunca superestima não torna a busca gulosa ótima em custo. As estimativas do exemplo são admissíveis, mas a rota retornada é cara demais. A busca gulosa usa apenas a estimativa restante, então pode pagar demais antes de alcançar um estado promissor.
A busca em grafo é completa em um espaço de estados finito quando trata duplicatas adequadamente. A busca gulosa em árvore pode entrar em ciclos em estados repetidos que parecem promissores, e um espaço infinito pode continuar oferecendo estimativas baixas e enganosas. Tempo e espaço de pior caso são , embora uma estimativa útil possa tornar curta uma execução real.
Um lugar pode estar próximo de um destino em linha reta, mas exigir um longo desvio em torno de um rio. Valores heurísticos pequenos não garantem boas rotas totais. Calcular a heurística também leva tempo: reduzir expansões só ajuda se a avaliação dessas estimativas não consumir a economia obtida.
Principais conclusões
- Uma heurística estima o custo restante e depende do estado.
- A busca gulosa pela melhor escolha ordena por e ignora o custo acumulado.
- Mesmo uma heurística admissível não torna a busca gulosa ótima em custo.
- A busca em grafo finito trata duplicatas; a busca gulosa em árvore pode entrar em ciclos.
3.2 Encontre caminhos ótimos com a busca A*
A* avalia toda a jornada proposta: o custo já pago mais uma estimativa do que resta. Sua prioridade é
Use uma fila de prioridade, substitua caminhos mais caros e teste um objetivo quando ele for removido. Em um objetivo, , então sua prioridade é o custo real de seu caminho.
Acompanhe a regra de custo mais estimativa
As estradas de mão dupla são S–A 2, S–B 3, S–D 9, A–C 4, B–C 1, B–D 6, C–G 5 e D–G 2 km. As estimativas heurísticas até G são S 8, A 7, B 5, C 4, D 2 e G 0. Desfaça empates em ordem alfabética.
| Nó removido | O que muda |
|---|---|
| S, | Adiciona B com , A com e D com |
| B, | Adiciona C com ; D via B não é mais barato |
| C, | Adiciona G com |
| A, | C via A custa 6, pior que seu valor armazenado de 4 |
| G, | Retorna S–B–C–G, custo 9 km |
A é removido antes de G por causa da regra de desempate. A* expande quatro nós que não são objetivos e nunca expande D. A UCS no mesmo mapa também expande D. Definir todas as estimativas heurísticas como zero eliminaria essa orientação e reproduziria a UCS.
Explique por que uma estimativa otimista funciona
Uma heurística admissível nunca excede o custo restante real . Para A* com reabertura, a admissibilidade garante otimalidade de custo; A* em árvore tem a mesma garantia sob as condições de busca com custos positivos.
Suponha que um objetivo pior de custo estivesse prestes a ser removido. Algum nó em um caminho ótimo ainda deve estar pendente. Para seu prefixo no caminho ótimo,
A fila deve escolher esse nó antes do objetivo pior. Isso contradiz o ponto de parada proposto. A reabertura importa porque um prefixo mais barato descoberto depois deve poder continuar por um estado já expandido.
Uma heurística consistente faz ser não decrescente ao longo dos caminhos. Ela garante que a primeira expansão de um estado use um caminho de menor custo até ele. A* pode então fechar permanentemente os estados expandidos. Apenas com admissibilidade, um conjunto permanentemente fechado pode descartar uma melhora essencial.
Entenda a poda e seus limites
Com consistência, A* expande todo nó relevante cujo , pode expandir nós empatados em e não expande nenhum acima desse valor antes de retornar. A prioridade 11 de D excede o custo da solução 9, então ele permanece sem expansão. Na classe de algoritmos que constroem caminhos para frente e usam as mesmas informações heurísticas, A* é otimamente eficiente, exceto em empates. Essa é uma comparação das expansões necessárias, não uma afirmação de que seu código sempre é executado mais rápido.
A superestimativa pode invalidar o argumento. Altere a estimativa de B para 9, embora seu custo restante real seja 6. B agora tem prioridade 12. A*, seguindo S, A, C e D, retorna S–A–C–G com custo 11 enquanto B ainda espera.
A* ainda tem um pior caso exponencial e armazena informações de busca geradas.
Principais conclusões
- A* ordena caminhos por e testa objetivos na remoção.
- A admissibilidade garante otimalidade de custo para A* que reabre estados melhorados.
- A consistência permite o fechamento permanente após a primeira expansão de um estado.
- A superestimativa pode atrasar a rota ótima até depois que um objetivo pior seja retornado.
- Empates no custo ótimo podem afetar a contagem de expansões.
- A* com heurística zero é UCS; A* convencional pode exigir muita memória.
3.3 Equilibre a otimalidade com a velocidade ou o uso de memória
Quando a fronteira deixa de caber na memória ou uma resposta demora demais, escolha qual recurso ou garantia negociar. Variantes voltadas à velocidade mudam prioridades ou descartam candidatos. Variantes voltadas à memória geram novamente caminhos que não puderam manter.
Dê mais peso à estimativa
O A ponderado* usa com . Ele geralmente favorece mais o progresso em direção a um objetivo. Com uma heurística admissível e as atualizações do melhor caminho e reaberturas do procedimento geral, o custo retornado é no máximo . Esse limite permite uma solução pior, mas não exige que ela seja pior.
No mapa rodoviário de referência, use as estimativas S 8, A 7, B 5, C 4, D 2 e G 0, e peso 2. A partir de S, as prioridades são B 13, D 13 e A 16. O desempate alfabético seleciona B. Seu filho C tem ; C então gera G com prioridade 9. A rota de custo 9 é retornada após três expansões de nós que não são objetivos. A garantia permite até 18 km, embora essa execução encontre a solução ótima.
Na mesma fórmula, peso 0 produz UCS e peso 1 produz A*. À medida que o peso cresce, a estimativa domina cada vez mais as comparações, aproximando-se do comportamento guloso.
A busca em feixe mantém apenas os melhores nós pendentes e descarta os demais. A fronteira mantida é limitada, mas um candidato descartado pode conter a única solução. Portanto, ela não oferece garantia de completude nem de otimalidade.
Aprofunde por um limite de custo estimado
O IDA* executa busca em profundidade com um corte em . O primeiro limite de corte é o valor da raiz. Pode qualquer nó acima dele, registrando o menor valor excedente. Esse valor se torna o próximo limite de corte; ele não é necessariamente o limite anterior mais 1. Use verificação de ciclos no caminho.
Para o mapa de exemplo, o primeiro limite de corte é 8. A em 9 e D em 11 são podados; B e C em 8 são explorados, mas G em 9 é podado. O próximo limite de corte é 9. Nessa iteração, o caminho por A produz C em 10, que é podado. O caminho S–B–C–G permanece dentro de 9 e tem sucesso.
Com admissibilidade, IDA* preserva a otimalidade de custo e precisa apenas do armazenamento de caminho da busca em profundidade. Suas passagens repetidas podem ser caras quando os custos produzem muitos limites distintos. Custos inteiros pequenos muitas vezes tornam o número de limites mais administrável.
Use a memória limitada de forma mais seletiva
A busca recursiva pela melhor escolha (RBFS) armazena a melhor prioridade alternativa em cada nível. Ela segue o ramo mais promissor até que essa alternativa se torne melhor e então retrocede. Usa memória linear, mas pode gerar novamente ramos esquecidos.
O SMA* usa a memória disponível, descarta a pior folha da fronteira quando ela está cheia e propaga seu valor para o pai. Esse registro permite regenerá-la depois. Com uma heurística admissível, ele é ótimo em custo se um caminho de solução ótima couber na memória. Caso contrário, pode retornar uma solução pior ou falhar se nenhum caminho de solução couber.
Escolha A* para uma resposta ótima quando o armazenamento for suficiente. Escolha IDA* ou uma variante adequada com memória limitada quando a otimalidade importar, mas a fronteira não couber. A* ponderado oferece um limite numérico de qualidade; a busca em feixe oferece poda agressiva sem esse limite.
Principais conclusões
- A* ponderado usa e pode retornar uma solução com custo de até sob sua garantia com heurística admissível.
- A busca em feixe descarta candidatos e pode perder a única solução.
- IDA* eleva seu limite de corte ao menor valor de que o excedeu.
- RBFS e SMA* podem refazer trabalho esquecido para limitar o uso de memória.
- SMA* precisa de memória suficiente para um caminho de solução ótima para garantir otimalidade.
4Elabore e avalie heurísticas
Uma heurística útil deve ser adequada tanto ao problema quanto à garantia necessária. A admissibilidade compara sua estimativa com o custo restante real; a consistência compara estimativas vizinhas em cada ação. Relaxar restrições oferece uma maneira prática de demonstrar essas propriedades sem resolver o problema original. A dominância e o fator de ramificação efetivo ajudam a comparar a orientação fornecida, enquanto a medição de tempo revela o custo de calculá-la.
4.1 Teste a admissibilidade e a consistência de heurísticas
Uma heurística pode ser otimista no conjunto e ainda assim variar abruptamente demais entre estados vizinhos. Admissibilidade e consistência representam essas verificações diferentes, e cada uma fundamenta uma versão diferente de A*.
Compare estimativas com custos reais
Uma heurística admissível satisfaz em todo estado. Em um objetivo, o custo restante real é zero, então sua estimativa também deve ser zero. Admissível não significa precisa: zero em todos os estados é seguro, mas não fornece orientação.
No mapa rodoviário de referência, as estimativas e as distâncias restantes exatas de menor custo até G são:
| Estado | Estimativa | Custo restante real |
|---|---|---|
| S | 8 | 9 |
| A | 7 | 9 |
| B | 5 | 6 |
| C | 4 | 5 |
| D | 2 | 2 |
| G | 0 | 0 |
Toda estimativa é no máximo igual a seu custo real. Em um problema grande, calcular esses custos exatos pode ser tão difícil quanto a busca original. Uma demonstração a partir da estrutura do problema é então mais útil que uma tabela exaustiva.
Verifique cada ação
A consistência, também chamada de monotonicidade, exige para toda ação, além de zero nos objetivos. A estimativa atual não pode exceder o custo de um passo mais a estimativa do sucessor.
No mapa rodoviário, A→C fornece , C→B fornece e D→G fornece . Estradas de mão dupla exigem ambas as direções. Todas as 16 verificações direcionadas são satisfeitas para essas estimativas.
Somar as desigualdades ao longo de um caminho até um objetivo cancela as estimativas intermediárias. Isso fornece em um caminho ótimo, então a consistência implica admissibilidade. Também fornece
As prioridades não podem diminuir ao longo de um caminho. A primeira expansão de um estado ocorre, portanto, por um caminho de menor custo, mesmo que sua primeira geração tenha sido mais cara.
Veja por que a admissibilidade sozinha exige reabertura
Considere as estradas de mão dupla S–A 1, A–C 1, S–B 1, B–C 2 e C–G 3. Sejam as estimativas S 0, A 4, B 1, C 1 e G 0. Elas não excedem os custos reais S 5, A 4, B 5, C 3 e G 0, então são admissíveis. Mas A→C viola a consistência: .
A* expande S, depois B com prioridade 2 e depois C alcançado com custo 3 e prioridade 4. Em seguida, expande A com prioridade 5 e descobre um caminho mais barato até C, de custo 2. Rejeitar C permanentemente porque está fechado deixa um objetivo de custo 6. Reabrir C propaga a melhora e produz a solução ótima, de custo 5.
Considere o modelo de movimento
A distância de Manhattan é admissível e consistente para movimentos unitários horizontais e verticais. Se movimentos diagonais também custarem 1, ir de (0,0) a (3,3) leva apenas três movimentos, enquanto a distância de Manhattan indica 6. Para esse modelo de movimento, fornece a distância sem obstáculos. A garantia de uma heurística pertence a um modelo de ações específico.
Principais conclusões
- A admissibilidade limita uma estimativa pelo custo restante real.
- A consistência verifica cada ação direcionada e exige zero nos objetivos.
- Consistência implica admissibilidade; admissibilidade não implica consistência.
- Heurísticas consistentes tornam não decrescente ao longo de um caminho.
- Heurísticas admissíveis, mas inconsistentes, exigem reabertura para a garantia geral de A*.
- Alterar os movimentos permitidos pode invalidar uma heurística.
4.2 Crie heurísticas admissíveis a partir de problemas relaxados
Para elaborar uma estimativa segura, resolva uma versão mais fácil do problema. Um problema relaxado remove restrições de ação, então toda solução original continua disponível. Seu menor custo não pode exceder o menor custo original.
Remova restrições deliberadamente
Um custo relaxado exato é uma heurística admissível. Ele também é consistente quando as ações originais continuam disponíveis com seus custos: executar um passo original e depois uma rota relaxada ótima é uma rota relaxada possível, então o ótimo relaxado não pode custar mais.
No quebra-cabeça de 8 peças, uma peça só pode se mover para uma casa adjacente quando essa casa está vazia. Remova a exigência de que esteja vazia e as peças poderão passar por casas ocupadas. Cada peça numerada precisa então percorrer pelo menos sua distância horizontal mais a vertical até seu destino. A soma fornece a distância de Manhattan, .
Remova também a adjacência e cada peça fora do lugar poderá saltar diretamente para seu destino em um movimento. O custo resultante é a contagem de peças fora do lugar, . Ambas são fáceis de calcular sem buscar no quebra-cabeça original.
Calcule as duas estimativas
Para o objetivo “1 2 3 / 4 5 6 / 7 8 vazio”, considere “5 1 3 / 4 vazio 2 / 7 8 6”. Numere linhas e colunas a partir de 1.
| Peça | Posição atual | Posição objetivo | Distância |
|---|---|---|---|
| 5 | (1,1) | (2,2) | 2 |
| 1 | (1,2) | (1,1) | 1 |
| 2 | (2,3) | (1,2) | 2 |
| 6 | (3,3) | (2,3) | 1 |
As outras peças numeradas já estão corretas. Quatro estão fora do lugar, então . Suas distâncias somam , então . A solução ótima leva 12 movimentos; os relaxamentos ignoram interações que criam trabalho adicional.
Não conte o espaço vazio. A um movimento do objetivo, uma peça numerada e o espaço vazio estão deslocados. Contar ambos produziria 2 quando o custo real é 1. O espaço vazio permite movimentos; ele não é uma peça adicional a ser cobrada.
Armazene subproblemas resolvidos
Um banco de dados de padrões registra custos exatos de um subproblema selecionado, como posicionar corretamente as peças 1 a 4 tratando as demais como intercambiáveis. Construa a tabela uma vez por busca para trás a partir do objetivo. Durante uma nova busca, use uma consulta em vez de resolver o subproblema novamente.
O subproblema não exige mais trabalho que o problema completo, fornecendo um limite inferior. No entanto, somar dois custos comuns de padrões pode cobrar o mesmo movimento real duas vezes. A soma é segura para padrões disjuntos quando cada banco conta apenas movimentos de suas próprias peças. Nomes de peças disjuntos, por si só, não estabelecem essa regra de contabilização de custos.
Combine estimativas seguras
O máximo de estimativas admissíveis é admissível:
Todo candidato permanece abaixo do custo restante real, então seu máximo também permanece. Ele é pelo menos tão informativo quanto cada estimativa individual. Uma soma simples não tem essa proteção.
Uma heurística aprendida a partir de exemplos resolvidos pode prever bem o custo restante em média. A precisão média não estabelece um limite inferior para todo estado. Ela mantém a garantia de A* com heurística admissível apenas quando se demonstra que suas estimativas nunca superestimam.
Principais conclusões
- Um custo exato de problema relaxado é um limite inferior para o custo original.
- Peças fora do lugar e distância de Manhattan vêm de relaxamentos diferentes do quebra-cabeça de 8 peças.
- Exclua o espaço vazio ao calcular qualquer uma das duas heurísticas do quebra-cabeça.
- Bancos de dados de padrões trocam pré-computação e armazenamento de tabelas por consultas rápidas.
- Some custos de padrões apenas com uma contabilização que evite contar movimentos duas vezes.
- O máximo de heurísticas admissíveis é admissível.
- Aprender uma heurística não prova, por si só, sua admissibilidade.
4.3 Compare heurísticas pela dominância e pelo fator de ramificação efetivo
Uma estimativa mais próxima pode reduzir a exploração, mas uma estimativa custosa ainda pode tornar a busca mais lenta. Compare tanto as informações fornecidas quanto a computação total necessária.
Estabeleça a dominância em todo estado
Uma heurística admissível domina a heurística admissível se em todos os estados. Um tabuleiro favorável não é suficiente para demonstrar essa relação.
A distância de Manhattan domina a contagem de peças fora do lugar no quebra-cabeça de 8 peças. Cada peça fora do lugar deve percorrer pelo menos uma casa, então sua contribuição para a distância de Manhattan é pelo menos o 1 contado pela heurística mais fraca. Uma peça posicionada corretamente contribui com zero para ambas.
Com estimativas consistentes, A* deve expandir caminhos com . Aumentar uma estimativa segura remove alguns caminhos dessa região obrigatória. Uma heurística consistente dominante não expande mais nós, exceto por diferenças em empates. Uma estimativa inadmissível pode ser ainda maior, mas perde a garantia de otimalidade e não se qualifica para essa comparação de dominância.
Resuma o esforço de busca
O fator de ramificação efetivo, , descreve a largura de uma árvore uniforme equivalente. Conte nós gerados abaixo da raiz e seja a profundidade da solução. Resolva
O 1 adicional corresponde à raiz. Contar de forma consistente importa: se uma medição já inclui a raiz, não a adicione duas vezes.
Para 52 nós gerados abaixo da raiz e profundidade da solução 5, o total é 53 e . Para 1.000 nós gerados e profundidade 8, . Encontre esses valores numericamente, aumentando ou diminuindo um valor de teste até que sua soma geométrica corresponda ao total de nós.
Um valor próximo de 1 indica uma busca estreita. Compare resultados entre instâncias representativas, com a mesma regra de contagem e profundidades de solução comparáveis. O fator de ramificação efetivo pode ajudar a estimar o comportamento em escala maior, mas uma instância excepcionalmente fácil não é uma previsão confiável para toda uma família de problemas.
Meça o tempo de toda a computação
Suponha que um nó leve 10 microssegundos, incluindo 1 microssegundo para avaliar a heurística antiga. Uma substituta reduz a contagem de nós pela metade, mas leva 100 microssegundos por avaliação. O trabalho não heurístico ainda custa 9 microssegundos, então o novo total por nó é 109. A razão entre os tempos totais é
A busca fica cerca de 5,5 vezes mais lenta, apesar de visitar menos nós. Se a nova avaliação levar apenas 2 microssegundos, o total por nó passa a 11 e a razão entre os tempos é . Isso é cerca de 1,8 vez mais rápido.
Um banco de dados de padrões também tem custo de construção. Muitas buscas com o mesmo objetivo podem compartilhar esse investimento; uma busca pequena pode não compensá-lo. Meça separadamente o pré-processamento, o tempo de consulta, os nós gerados e a memória para que menos expansões não sejam confundidas com uma melhoria automática de velocidade.
Principais conclusões
- A dominância exige duas heurísticas admissíveis e uma desigualdade válida em todo estado.
- Uma heurística consistente dominante reduz as expansões necessárias de A*, exceto em empates.
- O fator de ramificação efetivo ajusta uma árvore uniforme à contagem de nós e à profundidade da solução.
- Conte a raiz uma vez ao usar a equação da soma geométrica.
- O tempo total de execução inclui a avaliação da heurística e toda pré-computação.
5Use a busca local em espaços muito grandes
Alguns problemas pedem uma boa disposição, não uma rota até ela. A busca local trabalha diretamente com candidatos completos e armazena muito pouco histórico de busca. O desafio passa de gerenciar uma fronteira para mover-se por uma paisagem com ótimos locais, regiões planas e cristas. Subida de encosta, reinícios, recozimento simulado e métodos populacionais diferem na maneira como continuam avançando quando não há uma melhora imediata disponível.
5.1 Descreva a busca local e a paisagem do espaço de estados
A busca local altera repetidamente uma resposta candidata completa. Ela é adequada a tarefas nas quais a configuração final importa e a sequência usada para encontrá-la pode ser descartada.
Represente um candidato completo
Para as 8 rainhas, coloque uma rainha em cada coluna. Represente o estado pelos oito números de linha, lendo as colunas da esquerda para a direita. Todo estado tem as oito rainhas, inclusive os estados com conflitos. Um vizinho move uma rainha para outra linha em sua própria coluna.
Há estados e vizinhos por estado. Um número fixo de estados atuais substitui a grande fronteira e os registros de pais da busca de caminhos. O armazenamento ainda depende do tamanho de um estado; manter uma tupla de oito entradas ocupa menos espaço que manter um enorme quadro de horários.
Elaborar horários, organizar componentes em chips e escolher um percurso completo por cidades seguem o mesmo padrão geral: cada estado é uma proposta completa. Um percurso é, por si só, uma disposição candidata, embora seu conteúdo descreva uma viagem. A busca local não precisa preservar a sequência de alterações usada para melhorar esse percurso.
Defina o que significa melhor
Uma função objetivo fornece a cada estado uma pontuação a maximizar. De modo equivalente, defina um custo a minimizar. Para as n rainhas, faça contar os pares de rainhas que se atacam. Conte cada par uma vez, incluindo ataques em linhas ou diagonais mesmo quando outra rainha estiver entre elas. Uma solução tem .
Para quatro colunas, a tupla (1,2,3,4) coloca todas as rainhas em uma diagonal. Todos os seus pares se atacam. A tupla (2,1,3,4) tem dois pares que se atacam, enquanto (2,4,1,3) não tem nenhum. Aqui valores menores são melhores; a letra é um custo objetivo, não uma estimativa do custo restante do caminho usada por A*.
Interprete a paisagem
Imagine a qualidade do estado como altura. Para maximização:
- Um máximo global tem o melhor valor em todo o espaço.
- Um máximo local é melhor que seus vizinhos, mas pode ser pior que um estado distante.
- Um platô é uma região plana e conectada. Pode ser um máximo local plano sem saída ascendente ou um patamar do qual movimentos laterais podem alcançar uma saída ascendente.
- Uma crista pode subir em uma direção que os movimentos isolados disponíveis não conseguem seguir. Toda escolha imediata pode parecer pior.
Para minimizar o custo, inverta a altura: a busca procura mínimos e vales. Um mínimo local não prova que não exista um estado de custo menor em outro lugar. A vizinhança determina quais estados podem ser comparados em um passo, então alterar a modificação permitida pode mudar onde a busca fica presa.
Verifique se o caminho pode ser ignorado
Um agente de busca de rotas deve retornar ações permitidas a partir de seu início real. Um bom destino, sozinho, é insuficiente. A busca local geralmente retorna apenas o estado candidato, sem uma cadeia de pais que passe por todas as alterações anteriores.
Um método completo de busca local encontraria um objetivo sempre que um existisse; um método ótimo encontraria o melhor global. Métodos locais básicos não oferecem nenhuma das duas garantias gerais. Sua vantagem é que podem alcançar bons candidatos rapidamente quando armazenar uma árvore de busca sistemática é impraticável.
Principais conclusões
- A busca local altera estados candidatos completos e geralmente descarta o caminho de alterações.
- Uma função objetivo define quais estados vizinhos são melhores.
- Um ótimo local pode ser pior que um ótimo global distante.
- Um patamar tem uma saída ascendente alcançável por movimentos de mesmo valor.
- A vizinhança afeta tanto a paisagem de busca quanto o ponto em que o progresso para.
5.2 Avance para estados melhores com a subida de encosta
A subida de encosta faz a melhor melhora imediata que consegue encontrar. Para uma pontuação a maximizar, a ascensão mais íngreme escolhe o vizinho com maior pontuação. Para um custo a minimizar, escolhe o vizinho com menor custo. Ela para quando não existe melhora estrita.
Acompanhe uma execução com quatro rainhas
Faça um estado listar a linha da rainha em cada coluna e faça contar os pares que se atacam. Comece com (1,2,3,4), cujo custo é 6.
- Avalie os movimentos de uma rainha. Um dos melhores vizinhos é (2,2,3,4), com custo 4.
- A partir daí, um dos melhores vizinhos é (2,1,3,4), com custo 2.
- Nenhum vizinho obtido pelo movimento de uma rainha tem custo abaixo de 2. A subida de encosta estrita para.
A disposição de custo zero (2,4,1,3) existe, mas não pode ser alcançada por um movimento de melhora imediata a partir do estado em que a busca parou. Isso é consequência da regra local, não evidência de que o programa contou os conflitos incorretamente.
Permita movimentos laterais úteis
Um movimento lateral mantém a mesma pontuação. Ele pode atravessar um patamar até uma saída que melhore o valor, mas também pode vaguear em um ótimo local plano. Limite os movimentos laterais consecutivos para evitar ciclos intermináveis.
No experimento com 8 rainhas relatado por Russell e Norvig, a ascensão mais íngreme a partir de inícios aleatórios tem sucesso em cerca de 14% das vezes, levando cerca de 4 passos no sucesso e 3 quando fica presa. Permitir até 100 movimentos laterais consecutivos eleva o sucesso relatado para cerca de 94%, com cerca de 21 passos por sucesso e 64 por falha. Esses são resultados desse experimento, não taxas universais de sucesso para a subida de encosta.
Mude a forma de escolher um vizinho
A subida de encosta estocástica seleciona aleatoriamente um vizinho que ofereça melhora, possivelmente favorecendo melhoras maiores. A subida de encosta por primeira escolha amostra vizinhos um por vez e escolhe a primeira melhora. Ela evita avaliar uma vizinhança enorme antes de cada movimento. Ambas continuam recusando movimentos piores.
A subida de encosta com reinícios aleatórios começa uma nova execução a partir de um estado recém-amostrado após uma execução malsucedida. Com execuções independentes de probabilidade de sucesso , o número esperado de execuções até o primeiro sucesso é . Para , são cerca de 7 execuções. Usando as contagens de passos relatadas, o total esperado de passos é
As execuções malsucedidas também contribuem com trabalho. Com probabilidade positiva de sucesso e reinícios independentes, a probabilidade de acabar tendo sucesso se aproxima de 1 à medida que o número de execuções cresce.
Permita que vários candidatos compartilhem descobertas
A busca local em feixe mantém estados, gera seus vizinhos em conjunto e retém os melhores desse conjunto reunido. Um pai promissor pode contribuir com vários sobreviventes, enquanto outro não contribui com nenhum. Esse compartilhamento a distingue de reinícios independentes.
A reunião também pode fazer todos os candidatos se concentrarem em uma região. A busca em feixe estocástica amostra sobreviventes com probabilidade crescente conforme a qualidade para preservar mais variedade. A escolha entre movimentos laterais, reinícios e diversidade populacional depende do motivo pelo qual o progresso está falhando: uma passagem próxima de mesmo valor, uma região inicial ruim ou candidatos demais explorando a mesma área.
Principais conclusões
- A subida de encosta pela ascensão mais íngreme aceita a melhor melhora estrita e, caso contrário, para.
- Movimentos laterais podem atravessar patamares, mas precisam de um limite em regiões planas.
- A subida de encosta por primeira escolha amostra até encontrar uma melhora.
- Reinícios independentes com probabilidade de sucesso levam, em média, execuções.
- A busca local em feixe seleciona entre vizinhos reunidos, então os candidatos compartilham o progresso.
- A concentração da população pode reduzir a exploração mesmo quando vários estados são mantidos.
5.3 Escape de ótimos locais com recozimento simulado e algoritmos genéticos
Algumas paisagens exigem uma perda temporária antes que um estado melhor se torne alcançável. O recozimento simulado permite esses movimentos com uma probabilidade controlada. Os algoritmos genéticos, por sua vez, exploram selecionando e combinando candidatos completos.
Aceite um movimento pior às vezes
O recozimento simulado amostra um vizinho aleatório. Aceite um movimento que melhore o resultado. Para uma função objetivo maximizada, escreva sua variação como . Se , aceite o movimento pior com probabilidade
Para minimização de custo, seja o aumento do custo. Um movimento pior tem então e probabilidade de aceitação . Movimentos de valor igual têm probabilidade 1 em ambas as fórmulas. A temperatura e as variações da função objetivo devem usar uma escala numérica compatível.
Uma queda de 2 na pontuação é aceita com probabilidade de cerca de 0,819 na temperatura 10, 0,135 na temperatura 1 e 0,018 na temperatura 0,5. Na temperatura 10, uma queda maior, de 5, tem probabilidade de cerca de 0,607. Assim, a temperatura controla a tolerância, enquanto o tamanho da perda ainda importa para uma mesma temperatura.
Reduza a temperatura
Um cronograma de resfriamento define a temperatura ao longo do tempo. O resfriamento geométrico usa com um fator próximo de 1, como 0,95. Em temperatura alta, muitos movimentos piores são aceitos e a exploração se assemelha a um passeio aleatório. Perto de zero, movimentos piores se tornam raros e o comportamento se assemelha ao da subida de encosta.
Resfriar rápido demais pode prender a busca antes que ela escape de uma região ruim. Resfriar muito devagar aumenta a computação. O resultado assintótico de ótimo global exige resfriamento suficientemente lento e a possibilidade usual de alcançar estados pela vizinhança; uma execução geométrica finita comum não garante sucesso global. Usado para organização de componentes em chips e programação de tarefas desde a década de 1980, o método recebe seu nome do aquecimento e resfriamento lento de metal para que ele se acomode em uma estrutura de menor energia.
Construa uma nova população
Um algoritmo genético representa candidatos como sequências. Cada geração avalia sua aptidão, seleciona pais com preferência pelos de maior aptidão, cria filhos por cruzamento e aplica mutações ocasionais.
Para as 8 rainhas, oito dígitos de linha descrevem uma rainha por coluna. A aptidão pode contar pares que não se atacam, com 28 como máximo. Corte as sequências dos pais “64751517” e “64278273” após o quarto dígito. Combinar metades opostas produz “64758273” e “64271517”.
Os pais têm aptidão 23 e 24; os filhos têm aptidão 27 e 21. Um filho melhora em relação a ambos os pais, enquanto o outro é pior. O cruzamento oferece novas combinações, não uma garantia de melhora. Ele é útil quando bons blocos tendem a manter seu valor ao serem combinados. A mutação altera ocasionalmente uma posição e ajuda a introduzir variedade além dessas combinações.
Seleção, cruzamento e mutação têm papéis diferentes: a seleção favorece candidatos úteis, o cruzamento os recombina e a mutação altera posições individuais. Como a busca em feixe estocástica, o método mantém uma população, mas novos candidatos podem reunir material de dois pais. Nem um pai de alta aptidão nem uma temperatura final baixa, por si só, provam que o ótimo global foi encontrado.
Principais conclusões
- O recozimento simulado amostra um vizinho e aceita movimentos piores com uma probabilidade que depende da temperatura.
- Para um aumento de custo , a probabilidade de aceitação é .
- O resfriamento reduz a exploração; resfriar rápido demais pode deixar a busca em um ótimo local.
- Algoritmos genéticos combinam seleção baseada em aptidão, cruzamento e mutação.
- O cruzamento pode produzir filhos melhores e piores.
Exercícios resolvidos de Busca não informada e informada
1Transforme um problema em uma busca
13 passos
- 1IntroduçãoDas escolhas a uma solução
Um algoritmo de busca não recebe uma instrução como “resolva isto de algum jeito”. Ele recebe um modelo de situações possíveis (estados) e ações permitidas.
Use um quebra-cabeça deslizante para construir esse modelo e depois acompanhe os registros de busca produzidos por ele, chamados nós. O modelo descreve o mundo; os registros descrevem os caminhos considerados. Essa distinção explicará por que dois nós podem terminar em um mesmo estado e por que armazenar todos os caminhos possíveis pode se tornar custoso.
- 2ExemploEspecifique o quebra-cabeça
Para o quebra-cabeça de 8 peças, um estado lista as posições de oito peças numeradas e do espaço vazio. O estado inicial é o tabuleiro fornecido.
A disposição objetivo é “1 2 3 / 4 5 6 / 7 8 vazio”. As ações permitidas movem o espaço vazio para a esquerda, direita, cima ou baixo sem sair do tabuleiro. A transição troca-o com uma peça vizinha. Cada ação custa 1. Essas escolhas especificam o problema antes de qualquer busca começar.
- 3ExplicaçãoRetorne ações, não apenas um destino
O teste de objetivo reconhece um tabuleiro que satisfaz o objetivo. Uma solução de caminho ainda precisa dos movimentos permitidos que o alcançam a partir do tabuleiro inicial.
Se cada movimento custa 1, um caminho de seis movimentos custa 6. Com custos de estrada diferentes, some os custos das arestas em vez de contar ações. Um estado objetivo diz onde você quer terminar; a solução diz como chegar lá, e o custo do caminho diz quanto custa essa jornada.
- 4DesafioMantenha o detalhe que altera as ações
Um planejador de rotas modela um robô por sua sala atual. Algumas portas exigem uma chave que o robô pode carregar. O planejador pode omitir com segurança se o robô tem a chave?
---reveal---
Não. A posse da chave altera as ações permitidas a partir da mesma sala. O estado deve registrá-la, ou uma rota abstrata pode incluir a passagem por uma porta que o robô não consegue atravessar. A cor da pintura do robô pode ser omitida se não alterar ações nem custos.
- 5Ideia-chaveGere um espaço grande conforme necessário
Um espaço implícito é uma receita para gerar sucessores, não uma lista armazenada de todos os estados. Isso importa mesmo para quebra-cabeças que parecem pequenos: o de 8 peças tem 181.440 estados alcançáveis, enquanto o de 15 peças tem cerca de .
A busca gera a parte de que precisa. Escolher uma representação melhor também pode reduzir essa parte: colocar cada rainha apenas na próxima coluna vazia elimina muitas ordens de posicionamento redundantes.
- 6ExplicaçãoArmazene um caminho em cada nó
Um estado é uma situação. Um nó é um registro de caminho que contém esse estado, seu pai, a ação que o produziu e o custo acumulado .
As rotas “S, A, C” e “S, B, C” produzem nós diferentes que terminam em C. O mapa contém um C, mas a árvore de busca pode conter ambas as chegadas. Seguir os vínculos de pai a partir de um objetivo retornado e inverter as ações recupera sua rota específica.
- 7ExemploSepare registros pendentes e alcançados
No mapa de mão dupla, S tem estradas até A por 2 km, B por 3 km e D por 9 km. Expandir S gera três nós com pai S.
A fronteira agora contém A, B e D, aguardando seleção. A tabela de estados alcançados contém S e esses três estados. Ela guarda estados gerados, não apenas os expandidos, de modo que outra rota não possa adicionar silenciosamente uma duplicata desnecessária de um estado pendente.
- 8ExplicaçãoPropague uma melhora
Suponha que C seja alcançado primeiro por A com custo 6. Mais tarde, B oferece uma rota até C que custa 4. Substitua o melhor registro de C, incluindo seu pai, para que rotas posteriores herdem o prefixo mais barato.
Se C já tiver sido expandido, alguns algoritmos devem reabri-lo para transmitir a melhora adiante. Se um heap ainda contiver a entrada antiga de custo 6, ignore essa entrada desatualizada quando ela for removida; ela não representa mais o melhor caminho até C.
- 9DesafioRecupere a rota correta
Um nó objetivo Z tem pai M. O melhor nó de M tem pai K, e o pai de K é a raiz R. Um nó mais antigo de M tinha pai P. Qual rota deve ser retornada?
---reveal---
Retorne R–K–M–Z seguindo para trás a cadeia de pais real do nó retornado e depois invertendo-a. O nó mais antigo de M descreve um caminho diferente. Misturar seu pai com o custo melhorado faria a rota informada discordar de seu próprio registro de busca.
- 10ExplicaçãoFaça quatro perguntas separadas
Completo significa encontrar uma solução sempre que uma existe. Ótimo em custo significa retornar a solução mais barata. Um espaço infinito sem solução não precisa produzir um aviso de falha que encerre a busca.
O tempo mede nós gerados ou expandidos; o espaço mede o pico de informações mantidas. Um método pode ser completo e ainda retornar uma rota cara, ou retornar a rota mais barata enquanto usa memória demais para ser prático em uma instância maior.
- 11ExemploObserve o crescimento das camadas
Para fator de ramificação 10, as camadas até a profundidade 5 contêm 1, 10, 100, 1.000, 10.000 e 100.000 nós. Juntas, contêm 111.111 nós.
A maioria está na última camada. Por isso, um nível adicional de profundidade importa tanto: ele acrescenta mais 1.000.000 de caminhos antes da verificação de duplicatas. A 1 quilobyte por nó, uma exploração larga pode atingir um limite de armazenamento mesmo quando a geração dos nós é rápida.
- 12DesafioNão confunda um caminho curto com um barato
Um algoritmo completo sempre retorna uma rota de duas ações que custa 17 unidades, embora uma rota de quatro ações custe 10. Ele é ótimo em custo, e sua completude resolve essa questão?
---reveal---
Ele não é ótimo em custo porque existe uma solução mais barata. A completude estabelece que ele encontra uma solução, não qual solução escolhe. As ações adicionais não tornam a rota de quatro ações pior quando o objetivo é o custo total.
- 13RecapitulaçãoInterprete uma execução de busca com um objetivo
Mantenha três camadas distintas: os estados e ações do problema, os caminhos armazenados como nós e a regra que seleciona o próximo nó da fronteira. Depois, pergunte se o caminho retornado atende ao objetivo desejado.
Para comparar recursos, identifique o fator de ramificação, a profundidade da solução e a profundidade máxima. Verifique o que é armazenado e o que é expandido; duas estratégias podem buscar o mesmo objetivo com necessidades de memória muito diferentes.
2Acompanhe a busca não informada em um mapa
16 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoUm mapa, várias ordens de busca
- 2ExemploInicie a fila da busca em largura
- 3ExemploDeixe o primeiro objetivo aparecer
- 4DesafioInterprete o resultado da BFS
- 5DicaUse o limite correspondente da BFS
- 6ExemploOrdene pelo custo já pago
- 7ExemploRemova o objetivo com custo mínimo
- 8DesafioEspere pela rota inacabada mais barata
- 9Ideia-chaveLimite o custo de uma profundidade infinita
- 10ExemploSiga o ramo da busca em profundidade
- 11ExplicaçãoDiferencie um limite de uma falha
- 12ExemploPague um pequeno preço por menos memória
- 13DesafioEscolha uma estratégia de profundidade
- 14ExplicaçãoEncontre uma busca a partir do objetivo
- 15DesafioEscolha conforme os custos e o acesso inverso
- 16RecapitulaçãoAdequar a garantia à tarefa
3Oriente uma busca com estimativas
15 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoEstime a jornada restante
- 2ExplicaçãoDê significado à estimativa
- 3ExemploDeixe a proximidade aparente escolher
- 4DesafioEscolha entre um prefixo barato e uma estimativa pequena
- 5ExemploSome os dois custos
- 6ExemploResolva o empate final
- 7Ideia-chaveMantenha uma rota ótima competitiva
- 8ExplicaçãoSaiba quando um estado fechado permanece fechado
- 9DesafioDiagnostique uma melhora descartada
- 10ExemploDê mais ênfase ao progresso até o objetivo
- 11ExplicaçãoEleve um contorno de custo em vez de manter uma fronteira
- 12ExemploMude o limite de corte de oito para nove
- 13DicaDecida se caminhos esquecidos podem voltar
- 14DesafioEscolha uma garantia com memória limitada
- 15RecapitulaçãoSepare ordenação, parada e memória
4Construa e verifique uma heurística segura
15 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoDemonstre que a estimativa é segura
- 2ExplicaçãoVerifique o limite do custo real
- 3ExemploVerifique um passo direcionado
- 4DesafioDiferencie uma estimativa otimista de uma consistente
- 5ConexãoDeixe os movimentos determinarem a distância
- 6ExplicaçãoCrie deliberadamente um problema mais fácil
- 7ExemploRelaxe duas restrições do quebra-cabeça
- 8ExemploConte as peças numeradas deslocadas
- 9DesafioEvite contar um movimento duas vezes
- 10ExplicaçãoPré-compute e combine limites inferiores
- 11ExplicaçãoCompare estimativas em todos os estados
- 12ExemploAjuste uma árvore equivalente
- 13ExemploConsidere o custo do cálculo da heurística
- 14DesafioUse duas estimativas sem afirmar dominância
- 15RecapitulaçãoAvalie segurança e utilidade separadamente
5Melhore candidatos completos
16 passos
Salve esta aula para seguir cada Lição Interativa passo a passo.
- 1IntroduçãoBusque uma disposição
- 2ExemploColoque todas as rainhas no estado
- 3ExemploConte os pares que se atacam
- 4ExplicaçãoVisualize as armadilhas
- 5DesafioDecida se o histórico de alterações importa
- 6ExemploSiga os melhores movimentos imediatos
- 7ExplicaçãoTente movimento lateral ou um novo início
- 8DesafioInclua a execução bem-sucedida
- 9ConexãoCompartilhe o progresso sem perder todas as alternativas
- 10ExplicaçãoAceite uma perda temporária
- 11ExemploMantenha a perda fixa e reduza a temperatura
- 12DesafioMantenha os sinais consistentes
- 13DicaResfrie em um ritmo útil
- 14ExemploCombine duas sequências de pais
- 15DesafioDiagnostique uma população estagnada
- 16RecapitulaçãoEscolha uma maneira de superar o obstáculo
Questões de Busca não informada e informada
Conjunto 1: Heurísticas, A* e limites de memória10 Questões de Prática
Questão 1 de 10
Mostrar respostaOcultar resposta
Questão 2 de 10
Mostrar respostaOcultar resposta
Questão 3 de 10
Mostrar respostaOcultar resposta
Questão 4 de 10
Mostrar respostaOcultar resposta
Questão 5 de 10
Mostrar respostaOcultar resposta
Questão 6 de 10
Mostrar respostaOcultar resposta
Questão 7 de 10
Mostrar respostaOcultar resposta
Questão 8 de 10
Mostrar respostaOcultar resposta
Questão 9 de 10
Mostrar respostaOcultar resposta
Questão 10 de 10
Mostrar respostaOcultar resposta
Conjunto 2: Estados, fronteiras e busca não informada10 Questões de Prática
Salve esta aula para ver todas as respostas e praticar cada conjunto.
Questão 1 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 2 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 3 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 4 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Conjunto 3: Verifique, construa e compare heurísticas10 Questões de Prática
Salve esta aula para ver todas as respostas e praticar cada conjunto.
Questão 1 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 2 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 3 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 4 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Conjunto 4: Paisagens, reinícios e busca populacional10 Questões de Prática
Salve esta aula para ver todas as respostas e praticar cada conjunto.
Questão 1 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 2 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 3 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 4 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Conjunto 5: Escolha e diagnostique métodos de busca10 Questões de Prática
Salve esta aula para ver todas as respostas e praticar cada conjunto.
Questão 1 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 2 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 3 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 4 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 5 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 6 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 7 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 8 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 9 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Questão 10 de 10
Mostrar respostaOcultar resposta
Salve esta aula para ver esta resposta.
Travou em uma questão sua? Ajuda com Tarefas
Termos-Chave
A
A* ponderado
Abstração
Algoritmo genético
B
Banco de dados de padrões
Busca A*
Busca bidirecional
Busca com aprofundamento iterativo
Busca com retrocesso
Busca de custo uniforme
Busca em árvore
Busca em feixe
Busca em grafo
Busca em largura
Busca em profundidade
Busca em profundidade limitada
Busca gulosa pela melhor escolha
Busca local
Busca local em feixe
Busca não informada
Busca recursiva pela melhor escolha
C
Completude
Complexidade espacial
Conjunto de estados alcançados
Contorno de custo ótimo
Corte
Crista
Cronograma de resfriamento
Cruzamento
Custo da ação
Custo de avaliação da heurística
Custo do caminho
Custo restante real
D
Desigualdade triangular
Distância de Manhattan
Distância em linha reta
Dominância
E
Eficiência ótima
Espaço de estados implícito
Estado
Estado inicial
Expansão
F
Fator de ramificação
Fator de ramificação efetivo
Fila de prioridade
Fila FIFO
Formulação de estado completo
Fronteira
Função de aptidão
Função de avaliação
Função heurística
Função objetivo
H
Heurística aditiva de padrões
Heurística admissível
Heurística consistente
Heurística das peças fora do lugar
I
IDA*
L
Limite de custo
Limite inferior positivo para o custo
M
Modelo de transição
Movimento lateral
Mutação
N
Nó de busca
O
Otimalidade de custo
Ó
Ótimo local
P
Pilha LIFO
Platô
Pré-computação
Predecessor
Problema relaxado
Profundidade da solução
R
Reabertura
Recozimento simulado
Reinício aleatório
S
SMA*
Solução de menor profundidade
Subida de encosta
Subida de encosta estocástica
Subida de encosta por primeira escolha
T
Temperatura
Teste de objetivo
Teste de objetivo na geração
Teste de objetivo na remoção da fronteira
V
Verificação de ciclos no caminho
Vizinhança
Sobre esta aula
Crie seus próprios Materiais de Estudo
Transforme suas anotações, slides e documentos em Guias de Estudo, Questões de Prática, Flashcards e mais 6 ferramentas.