1 / 22

Inteligência Artificial

Inteligência Artificial. Aula 3. Subida de Encosta. Variação do procedimento gerar-e-testar; muito utilizado quando há disponibilidade de uma boa função heurística para avaliar estados e nenhum outro conhecimento útil está disponível; Subida de encosta simples:

Download Presentation

Inteligência Artificial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inteligência Artificial Aula 3

  2. Subida de Encosta • Variação do procedimento gerar-e-testar; • muito utilizado quando há disponibilidade de uma boa função heurística para avaliar estados e nenhum outro conhecimento útil está disponível; • Subida de encosta simples: 1.avalie o estado inicial, se ele for um estado- meta, retorne-o e encerre-o, caso contrário continue com o estado-inicial como o estado corrente; 2.repita a operação (loop) até que uma solução seja encontrada ou até não haver nenhum operador a ser aplicado ao estado corrente:

  3. a) escolha um operador que ainda não tenha sido aplicado ao estado corrente e aplique-o para produzir um novo estado; • b) avalie o novo estado: • se for um estado-meta, então retorne-o e encerre. • Se não for um estado-meta, mas for melhor que o estado corrente então transforme-o em estado corrente; • se não for melhor que o estado corrente, então continue no loop. • Diferença entre este algoritmo e o gerar-e-testar, neste caso o algoritmo possui um função de avaliação como meio de injetar ao processo controle dos conhecimentos específicos a respeito da tarefa (busca heurística);

  4. Pergunta-se ao longo da heurística : “Este estado é melhor que o outro?”; • para o algoritmo funcionar precisamos definir o que significa “melhor”; • exemplo:quebra-cabeça dos quatro cubos coloridos; • para solucionar o problema necessita-se definir uma função heurística que descreva o quão perto esta uma determinada situação da solução (estado-meta); • necessita-se escrever um conjunto de regras que irão transformar uma configuração em outra (conhecimento do problema, espaço de estados); • gera-se um estado inicial aleatório; • busca-se a solução através da função heurística; • se o estado resultante for melhor , será mantido, senão voltaremos ao estado anterior e buscaremos uma heurística diferente;

  5. Subida de Encosta pela trilha mais íngreme • Considera todos os movimento já feitos a partir do estado corrente selecionando o melhor como próximo estado; • algoritmo: 1. Avalie o estado inicial. Se ele também for um estado meta, retorne-o e encerre, caso contrário, continue com o estado inicial como estado corrente; 2. Repita o processo até encontrar uma solução ou até que uma iteração completa não produza nenhuma mudança no estado corrente:

  6. a) atribua a sucessor um estado; • b) para cada operador que se aplique ao estado corrente faça o seguinte: • aplique o operador e gere um estado novo; • avalie o novo estado. Se for um estado-meta, retorne-o e encerre. Senão, compare-o a sucessor, se for melhor, então atribua-o a sucessor, caso contrário deixe o sucessor como está. • Exemplo: • cubos coloridos neste método, precisamos considerar todas as alterações do estado inicial e escolher a melhor; • neste problema isto é difícil pois temos muitos movimentos possíveis (explosão combinatória); • sempre há perdas e ganhos entre o tempo exigido para escolher um movimento e o número de movimentos necessários para chegar a uma solução;

  7. Os métodos vistos até então podem não encontrar uma solução, qualquer um dos algoritmos pode terminar, não porque o estado-meta foi encontrado, mas porque chegou-se a um estado que não há nenhum estado melhor que ele, isto ocorre quando um programa tiver alcançado o máximo local, um platô ou uma cordilheira; • máximo local: estado melhor que todos os seus vizinhos, mas não melhor que estados mais distantes; • platô:área dentro do espaço de busca onde o grupo de estados vizinhos tem o mesmo valor, não sendo possível determinar a melhor direção através de comparações locais;

  8. cume:um tipo de máximo local. Área do espaço de busca mais alta que seus vizinhos que não permite atravessar a cordilheira num único movimento; • modos para lidar com estes problemas: • volte a um nó anterior e siga uma heurística diferente (máximos locais); • de um salto grande em alguma direção para tentar chegar a uma nova seção do espaço de busca (platôs); • aplique duas ou mais regras, move-se em várias direções ao mesmo tempo (cordilheiras); • apesar de todos estas estratégias a subida de encosta não é muito eficiente

  9. Têmpera Simulada • Variação da subida de encosta; • no início do processo podem ser feitos movimentos descendentes (morro abaixo) explorando suficientemente o espaço do problema, para que a solução final não fique presa a um máximo local, platô ou cordilheira; • utilizada em processos físicos de recozimento, onde substâncias físicas como os metais são fundidas ( altos níveis de energia) e depois gradualmente resfriados até alcançar um estado sólido;

  10. Objetivo: produzir um estado final com um mínimo de energia (estado-meta); • função-objetivo (função heurística) é o nível de energia; • a velocidade com que o sistema é resfriado é chamado de cronograma de têmpera; • algoritmo: 1. Avalie o estado inicial. Se for também um estado-meta, então retorne-o e encerre. Caso contrário, continue com o estado inicial como estdo corrente; 2. Inicialize melhor-até-o´momento como igual ao estado corrente;

  11. 3. Inicialize T de acordo com o cronograma de têmpera; 4. Repita o processo até ser encontrada uma solução ou até não haver mais nenhum operador que possa ser aplicado no estado corrente: • a) selecione um operador que ainda não tenha sido aplicado ao estado corrente e aplique-o para produzir um estado novo; • b) avalie o estado novo. Calcule • E = valor do estado corrente - valor do estado novo (mudança de energia) • se o estado novo for um estado meta, retorne-o e encerre;

  12. Busca pela melhor escolha • se não for um estado meta, mas for melhore que o estado corrente, então torne-o o estado corrente com a probabilidade p´ ( definido aleatoriamente um número entre [0,1] se for menor que p´então o movimento é aceito, senão , não faz nada; • c) retorne melhor-até-o-momento como resposta; • até agora utilizamos duas estratégias sistemáticas de controle de busca , busca em profundidade e em amplitude (diversos tipos); • best-first search: busca pela melhor escolha combinando a busca em amplitude e em profundidade;

  13. Grafos ou: • A busca em profundidade é interessante pois permite que uma solução seja encontrada sem que todas as ramificações concorrentes tenham de ser expandidas e também porque não fica presa em caminhos sem saída; • uma maneira de combinar os dois métodos é seguir um único caminha de cada vez, mas mudar de caminho toda vez que algum caminho concorrente parecer mais promissor do que o caminho corrente; • grafos:

  14. Na subida de encosta, um movimento é selecionado e todos os outros rejeitados, e nunca mais voltam a ser reconsiderados; • na busca pela melhor escolha, um movimento já selecionado fica disponível, caso o valor do estado corrente seja menor que o valor do selecionado; • para a pesquisa de grafos precisamos usar duas listas de nós: • abertos: nós que forma gerados e sofreram a aplicação da função heurística, mas que ainda não foram examinados (seus sucessores não foram gerados); • fechados:nós que já foram examinados, precisamos mantê-los na memória para efetuar a busca no grafo;

  15. precisamos de uma função heurística que diga quais são os caminhos mais promissores; • algoritmo: 1. Comece com abertos contendo apenas o estado inicial; 2. Até ser encontrado um estado-meta ou até não haver mais nenhum nó em abertos, faça o que segue: a) pegue o melhor nó de abertos; b) gere seus sucessores; c) para cada sucessor faça: • se ele ainda não tiver sido gerado antes, avalie-o, acrescente-o a Abertos e registre seu pai;

  16. se ele já tiver sido gerado antes, mude o pai se este novo caminho for melhor que o anterior; Neste caso, atualize o custo de chegar a este nó e a qualquer um dos sucessores que este nó possa ter; • Algoritmo A*: • o algoritmo que foi anteriormente apresentado é uma generalização deste algoritmo A* apresentado por HART em 1968, para resolução de busca pela melhor escolha; • Agendas: • nos grafos OU assumimos que seria possível avaliar vários caminhos para o mesmo nó, ou seja, chagariamos ao estado-meta por diferentes caminhos;

  17. não possuí nenhuma função heurística que distigua a distância entre um dado nó e uma meta (a espera a se chegar ao caminho meta pode ser maior ou menor (árdua de acordo com o caminho); • agenda é uma lista de tarefas que um sistema pode realizar: • justificativas = lista de razoes pela qual a tarefa está sendo proposta; • classificação = representa o peso total das evidências que sugerem que a tarefa será útil; • algoritmo:

  18. 1. Até chegar o estado-meta ou até a agenda ficar vazia: a) escolha a tarefa mais promissora da agenda. Note que essa tarefa pode ser representada em qualquer formato desejado (pode ser uma declaração explícita do que deve ser feito a seguir ou simplesmente, uma indicação do próximo a ser expandido; b) execute a tarefa dedicando a ela a quantidade de recursos determinada por sua importância. Os recursos importantes são o tempo e o espaço. A execução da tarefa gerará tarefas adicionais (nós sucessores): • veja se ela já existe a agenda. Em caso positivo, veja se esta mesma razão para executá-la já está na lista de justificativas. Em caso positivo, ignore esta evidência atual. Se a justificativa ainda não estiver presente, acrescente à lista. Se a tarefa não estiver na agenda, insira-a;

  19. Calcule a classificação da nova tarefa, combinando as evidências de todas as suas justificativas. Nem todas justificativas tem peso igual. Em geral, é util associar a cada justificativa uma medida de sua força. Estas medidas são então combinadas na próxima etapa para produzir uma classificação global da tarefa; • no método agenda o problema é encontrar a tarefa mais promissora a cada ciclo, para isso mantém-se a agenda organizada por classificação, ou seja,quando uma nova tarefa é criada, insira-a na agenda em local apropriado; • quando uma tarefa tem suas justificativas alteradas, recalcule sua classificação e mova-a para o local correto da lista; • este método gasta muito tempo para manter a agenda em ordem;

  20. Redução de Problemas • Considerando estratégias de busca para o grafo OU pretende-se encontrar um único caminho para o objetivo; • utiliza-se outra estratégia, grafo E-OU, que representa a solução de problemas através da decomposição do problema em um conjunto de problemas menores que precisam ser resolvidos também (arco); • como num arco ou, vários arcos podem surgir de um único nó, indicando uma série de maneiras de chegar ao estado-meta;

  21. Algoritmo AO*: • algoritmo de redução de problemas proposto por Martelli e Montari (1973); • Satisfação de Restrições: • muitos problemas de IA podem ser vistos como problemas de satisfação de restrições, sendo que o objetivo é descobrir algum estado problema que satisfaça a um determinado conjunto de restrições; • utilizada em problemas de interpretação da percepção do mundo real; • propagação para trás; • soluções parcialmente especificadas;

  22. Análise meios-fins: • Raciocínio para frente e para trás (mistura): • chega-se ao estado-meta resolvendo-se primeiramente os problemas mais difíceis , deixando para depois a resolução dos subproblemas (entre linhas da solução-conhecer as heurísticas);

More Related