A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 1 Inteligência Artificial Aula 3

2 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 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 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 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 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 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 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 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 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 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 12 –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; Busca pela melhor escolha

13 13 Grafos ou: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 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 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 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*: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: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 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 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 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 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 21 Algoritmo AO*: –algoritmo de redução de problemas proposto por Martelli e Montari (1973); Satisfação de Restrições: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 22 Análise meios-fins: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);


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google