IA Problemas & Heuristicas

33 %
67 %
Information about IA Problemas & Heuristicas

Published on April 3, 2008

Author: rafael.joi

Source: slideshare.net

Description

Apresentação sobre Heurísticas para solução de problemas relacionados a inteligência artificial

I nteligência Artificial Problemas e Heurísticas (versão final) Rafael Rosario [email_address] [email_address]

Problemas de IA (I) Objetivos de IA : simular o comportamento inteligente humano; Jogar Xadrez a ponto de vencer um supercampeão humano, é a solução de um problema de IA?

Objetivos de IA : simular o comportamento inteligente humano;

Jogar Xadrez a ponto de vencer um supercampeão humano, é a solução de um problema de IA?

Problemas de IA (II) E jogar um Jogo da Velha, também é a solução de um problema de IA?

E jogar um Jogo da Velha, também é a solução de um problema de IA?

Jogo da Velha Vamos desafiar os humanos com dois algoritmos de jogo da velha: Gerar e Testar; Algoritmo com 3 sub-procedimentos; Alguém teria outra lógica melhor que as anteriores?

Vamos desafiar os humanos com dois algoritmos de jogo da velha:

Gerar e Testar;

Algoritmo com 3 sub-procedimentos;

Alguém teria outra lógica melhor que as anteriores?

Problema das Jarras Temos 2 Jarras, com capacidade para 4 e 3 litros ; As jarras não possuem marcação parcial de litros; Possuímos uma bomba para encher as jarras; Como deixar a jarra de 4 litros com exatamente 2 litros ?

Temos 2 Jarras, com capacidade para 4 e 3 litros ;

As jarras não possuem marcação parcial de litros;

Possuímos uma bomba para encher as jarras;

Como deixar a jarra de 4 litros com exatamente 2 litros ?

Estratégia de Solução de Problemas Estado Inicial : qual o posição inicial do problema? Estado Meta : quando considerar o objetivo alcançado? Estratégia de controle: Causar movimento : encher sempre a jarra de 4 litros não funcionaria; Sistemática : aleatoriamente poderíamos demorar ou nunca chegar a uma solução;

Estado Inicial : qual o posição inicial do problema?

Estado Meta : quando considerar o objetivo alcançado?

Estratégia de controle:

Causar movimento : encher sempre a jarra de 4 litros não funcionaria;

Sistemática : aleatoriamente poderíamos

demorar ou nunca chegar a uma solução;

Solução – Problema das Jarras ESTADO JARRA 4 LITROS JARRA 3 LITROS INICIAL 0 0 PASSO 1 0 3 PASSO 2 3 0 PASSO 3 3 3 PASSO 4 4 2 PASS0 5 0 2 PASSO 6 2 0 META 2 0 ESTADO JARRA 4 LITROS JARRA 3 LITROS INICIAL 0 0 META 2 0

Estratégias de Busca (I) Busca em Amplitude: construa uma árvore com o estado inicial na raiz, e gere todas as ramificações. Em cada nó-folha, gere todos os sucessores. (0,0) (4,0) (3,0) (4,3) (0,0) (1,3) (4,3) (0,0) (3,0)

Busca em Amplitude: construa uma árvore com o estado inicial na raiz, e gere todas as ramificações.

Em cada nó-folha, gere todos os sucessores.

Estratégias de Busca (II) Busca em profundidade: gere um sucessor, se ele for o estado meta – OK. Se não for, gere seu sucessor. Se não puder gerar sucessor, retorne ao estado anterior. (0,0) (4,0) (4,3)

Busca em profundidade: gere um sucessor, se ele for o estado meta – OK.

Se não for, gere seu sucessor. Se não puder gerar sucessor, retorne ao estado anterior.

Heurística (I) Processo de novos desenvolvimentos teóricos ou descobertas empíricas ; Método de aproximação das soluções dos problemas; Não segue um percurso claro, mas se baseia na intuição e nas circunstâncias a fim de gerar conhecimento novo.

Processo de novos desenvolvimentos teóricos ou descobertas empíricas ;

Método de aproximação das soluções dos problemas;

Não segue um percurso claro, mas se baseia na intuição e nas circunstâncias a fim de gerar conhecimento novo.

Heurística (II) Melhora a eficiência de um processo de busca, com possibilidade de sacrificar sua completeza; É como um guia turistico: aponta direções geralmente interessantes, mas pode deixar de fora alguns pontos de interesse para alguns indivíduos.

Melhora a eficiência de um processo de busca, com possibilidade de sacrificar sua completeza;

É como um guia turistico: aponta direções geralmente interessantes, mas pode deixar de fora alguns pontos de interesse para alguns indivíduos.

George Pólya - How to solve it Se n ã o puder compreender um problema, monte um esquema (quer que eu desenhe??); Se n ã o puder encontrar a solu çã o, tente fazer um mecanismo inverso para tentar chegar à solução; Se o problema for abstrato, tente propor o mesmo problema num exemplo concreto; Tente abordar primeiro um problema mais geral (o paradoxo do inventor: o propósito mais ambicioso é o que tem mais possibilidade de sucesso).

Se n ã o puder compreender um problema, monte um esquema (quer que eu desenhe??);

Se n ã o puder encontrar a solu çã o, tente fazer um mecanismo inverso para tentar chegar à solução;

Se o problema for abstrato, tente propor o mesmo problema num exemplo concreto;

Tente abordar primeiro um problema mais geral (o paradoxo do inventor: o propósito mais ambicioso é o que tem mais possibilidade de sucesso).

Problema: Caixeiro Viajante Um caixeiro viajante deseja visitar N cidades e entre cada par de cidades existe uma rota; Cada rota possui uma distância (ou o custo necessário) para percorrê-la; O caixeiro viajante deseja encontrar um caminho que passe por cada cidade apenas uma vez, e além disso que tenha um custo menor que certo valor. Traveling Salesman Problem - TSP

Um caixeiro viajante deseja visitar N cidades e entre cada par de cidades existe uma rota;

Cada rota possui uma distância (ou o custo necessário) para percorrê-la;

O caixeiro viajante deseja encontrar um caminho que passe por cada cidade apenas uma vez, e além disso que tenha um custo menor que certo valor.

TSP - Exemplo JOINVILLE FLORIPA BLUMENAU LAGES 180 km 90 km 250 km 230 km 140 km 330 km

TSP - Classificação Caso típico de otimização combinatória, freqüentemente utilizado em computação para demonstrar problemas de difícil resolução; Possui NP difícil, e o problema de decisão (dado o problema TSP e um número x, decida se existe uma rota com menor custo que x) é NP-completo. NP (Non-Deterministic Polynomial time) : Tempo polinomial não determinístico N Rotas por Segundo ( n - 1 )! Cálculo Total 5 250 milhões 24 Insignificante 10 110 milhões 362 880 0.003 seg 15 71 milhões 87 bilhoes 20 min 20 53 milhões 1.2 x 10 17 73 anos 25 42 milhões 6.2 x 10 23 470 milhões de anos

Caso típico de otimização combinatória, freqüentemente utilizado em computação para demonstrar problemas de difícil resolução;

Possui NP difícil, e o problema de decisão (dado o problema TSP e um número x, decida se existe uma rota com menor custo que x) é NP-completo.

NP (Non-Deterministic Polynomial time) : Tempo polinomial não determinístico

Vizinho mais próximo 1 - Selecione arbitrariamente uma cidade inicial 2 - Selecione a menor rota até qquer cidade . Repita até todas as cidades terem sido visitadas. TSP – Uma Heurística para Solução JOINVILLE FLORIPA BLUMENAU LAGES 180 km 90 km 250 km 230 km 140 km 330 km

Vizinho mais próximo

1 - Selecione arbitrariamente uma cidade inicial

2 - Selecione a menor rota até qquer cidade . Repita até todas as cidades terem sido visitadas.

Por que as Heurísticas funcionam? Não precisamos sempre de soluções ótimas : uma boa aproximação normalmente é aceita. Há evidência que as pessoas não são otimizadoras; Embora as aproximações produzidas possam não ser muito boas, as piores hipóteses raramente surgem no mundo real; Tentar entender por que uma heurística funciona (ou não funciona) resulta em uma compreensão mais profunda do problema analisado.

Não precisamos sempre de soluções ótimas : uma boa aproximação normalmente é aceita. Há evidência que as pessoas não são otimizadoras;

Embora as aproximações produzidas possam não ser muito boas, as piores hipóteses raramente surgem no mundo real;

Tentar entender por que uma heurística funciona (ou não funciona) resulta em uma compreensão mais profunda do problema analisado.

Subida da Encosta (Hill Climbing) Idéia: a partir de um estado inicial, cria-se um novo estado (usando os operadores / ações disponíveis); Se alcançar o estado meta – resolvido. Se não for o meta, mas for melhor que o anterior, assume como o estado corrente, e repete a operação; É um método local, no sentido de que a cada momento o algoritmo considera somente os estados imediatamente acessíveis a partir do estado atual.

Idéia: a partir de um estado inicial, cria-se um novo estado (usando os operadores / ações disponíveis);

Se alcançar o estado meta – resolvido. Se não for o meta, mas for melhor que o anterior, assume como o estado corrente, e repete a operação;

É um método local, no sentido de que a cada momento o algoritmo considera somente os estados imediatamente acessíveis a partir do estado atual.

Problema dos Cubos Coloridos (I) Temos 8 cubos coloridos iguais. Cada um dos 6 lados dos cubos é pintado de uma cor diferente; Agrupamos os 8 cubos em 2 linhas e duas colunas, como nas figuras abaixo; O estado meta é deixar cada lado desse novo agrupamento com apenas uma cor (figura da direita);

Temos 8 cubos coloridos iguais. Cada um dos 6 lados dos cubos é pintado de uma cor diferente;

Agrupamos os 8 cubos em 2 linhas e duas colunas, como nas figuras abaixo;

O estado meta é deixar cada lado desse novo agrupamento com apenas uma cor (figura da direita);

Problema dos Cubos Coloridos (II) Usando o método de subida da encosta, e tendo como operação girar um cubo em 90 graus, qual seria o algoritmo para alcançarmos o estado meta? Como comparar se um estado gerado é melhor que o estado corrente?

Usando o método de subida da encosta, e tendo como operação girar um cubo em 90 graus, qual seria o algoritmo para alcançarmos o estado meta?

Como comparar se um estado gerado é melhor que o estado corrente?

Resposta: Cubos Coloridos Para cada lado com 2 cores iguais, some 2 pontos; 3 cores iguais – 3 pontos, 4 cores – iguais – 4 pontos; Estado meta: alcançar 4 pontos x 6 lados = 24 pontos; Restrição: se um lado tiver 2 faces de uma cor e 2 de outro, não pode somar 4 (soma somente 2); Gire um cubo de cada vez, e verifique se o estado gerado soma mais pontos que o estado corrente. Repita até alcançar 24 pontos.

Para cada lado com 2 cores iguais, some 2 pontos; 3 cores iguais – 3 pontos, 4 cores – iguais – 4 pontos;

Estado meta: alcançar 4 pontos x 6 lados = 24 pontos;

Restrição: se um lado tiver 2 faces de uma cor e 2 de outro, não pode somar 4 (soma somente 2);

Gire um cubo de cada vez, e verifique se o estado gerado soma mais pontos que o estado corrente. Repita até alcançar 24 pontos.

Subida da Encosta pela Trilha mais Íngreme (I) Variação que considera todos os movimentos possíveis a partir do estado corrente e seleciona o melhor deles para ser o próximo estado; Ou seja, examina TODOS os sucessores do estado atual e escolhe entre estes sucessores qual é o que está mais próximo da solução.

Variação que considera todos os movimentos possíveis a partir do estado corrente e seleciona o melhor deles para ser o próximo estado;

Ou seja, examina TODOS os sucessores do estado atual e escolhe entre estes sucessores qual é o que está mais próximo da solução.

Subida da Encosta pela Trilha mais Íngreme (II) Há sempre perdas e ganhos entre o tempo exigido para escolher um movimento (maior na trilha mais íngreme) e o tempo para chegar numa solução (maior na subida de encosta básica); No problemas dos cubos coloridos, qual dos dois métodos acharia uma solução mais rapidamente?

Há sempre perdas e ganhos entre o tempo exigido para escolher um movimento (maior na trilha mais íngreme) e o tempo para chegar numa solução (maior na subida de encosta básica);

No problemas dos cubos coloridos, qual dos dois métodos acharia uma solução mais rapidamente?

Problema - Blocos Alfabéticos (I) Temos blocos com as letras de A, B, C e D, e o objetivo é deixá-los como no estado meta; Pode-se mover um bloco por vez, criando quantas colunas auxiliares forem necessárias; Estado Início: Estado Meta:

Temos blocos com as letras de A, B, C e D, e o objetivo é deixá-los como no estado meta;

Pode-se mover um bloco por vez, criando quantas colunas auxiliares forem necessárias;

Problema - Blocos Alfabéticos (II) Sugestão: +1 para cada cubo sobre o cubo certo, -1 para cada cubo não posicionado sobre o cubo certo

Sugestão: +1 para cada cubo sobre o cubo certo,

-1 para cada cubo não posicionado sobre o cubo certo

Resposta – Blocos Alfabéticos(I) A Heurística sugerida anteriormente não é apropriada, pois faria a SDEPTMI* chegar a um ótimo local e não obter a resposta desejada; Se usarmos uma heurística mais apropriada ao problema, alcançaremos o estado meta: Quando o bloco tem a estrutura de apoio correta, some um ponto para cada bloco da estrutura; Quando o bloco tem a estrutura errada, subtraia um ponto para cada bloco da estrutura; *SDEPTMI = Subida da Encosta pela Trilha mais Íngreme

A Heurística sugerida anteriormente não é apropriada, pois faria a SDEPTMI* chegar a um ótimo local e não obter a resposta desejada;

Se usarmos uma heurística mais apropriada ao problema, alcançaremos o estado meta:

Quando o bloco tem a estrutura de apoio correta, some um ponto para cada bloco da estrutura; Quando o bloco tem a estrutura errada, subtraia um ponto para cada bloco da estrutura;

*SDEPTMI = Subida da Encosta pela Trilha mais Íngreme

Resposta – Blocos Alfabéticos (II) Estado Início: B = 0, C = -1, D = -2, A = -3 Total = -6 pontos; Estado Meta: A = 0, B = 1, C = 2, D = 3 Total = 6 pontos; Estado “exemplo”: B = 0, D = 0, A = -1, C = -1. Total = -2.

Resposta – Blocos Alfabéticos (III)

Problemas de Heurísticas Locais (I) Nos métodos locais avaliados (Busca em Profundidade, Vizinho mais próximo, Subida da Encosta) há o risco de alçarmos um estado intermediário não satisfatório : Máximo local; Platô; Cordilheira (ou cume);

Nos métodos locais avaliados (Busca em Profundidade, Vizinho mais próximo, Subida da Encosta) há o risco de alçarmos um estado intermediário não satisfatório :

Máximo local;

Platô;

Cordilheira (ou cume);

Problemas de Heurísticas Locais (II) Máximo local : estado melhor que todos os seus vizinhos, mas não melhor que outros estados mais distantes; Platô : área plana no espaço de busca em que todos os vizinhos tem o mesmo valor. Cordilheira (ou cume): quando o máximo global está fora dos alcance dos movimentos disponíveis.

Máximo local : estado melhor que todos os seus vizinhos, mas não melhor que outros estados mais distantes;

Platô : área plana no espaço de busca em que todos os vizinhos tem o mesmo valor.

Cordilheira (ou cume): quando o máximo global está fora dos alcance dos movimentos disponíveis.

Têmpera Simulada (I) Variação da Subida da Encosta, que permite movimentos descendentes (global); É adequado a problemas nos quais a subida de encosta encontra muitos platôs e máximos locais; É inspirado no processo de têmpera do aço. Temperaturas são gradativamente baixadas, até que a estrutura molecular se torne suficientemente uniforme.

Variação da Subida da Encosta, que permite movimentos descendentes (global);

É adequado a problemas nos quais a subida de encosta encontra muitos platôs e máximos locais;

É inspirado no processo de têmpera do aço. Temperaturas são gradativamente baixadas, até que a estrutura molecular se torne suficientemente uniforme.

Têmpera Simulada (II) Movimentos piores podem ser aceitos. A probabilidade de aceitar isso diminui conforme o processo avança; Mantêm além do estado corrente, o melhor estado encontrado até o momento (evita perder o melhor); Como explicar a têmpera simulada pela figura deste slide?

Movimentos piores podem ser aceitos. A probabilidade de aceitar isso diminui conforme o processo avança;

Mantêm além do estado corrente, o melhor estado encontrado até o momento (evita perder o melhor);

Como explicar a têmpera simulada pela figura deste slide?

Outros Métodos de Busca Existem ainda vários outros métodos de busca, muitos deles utilizando grafos: Melhor escolha(best-first): combina as vantagens da busca em profundidade e em amplitude; Algoritmo A*: calcula o custo atual (f) somando: Caminho percorrido do estado inicial até estado atual – g; Estima o custo do estado atual até o estado meta – h.

Existem ainda vários outros métodos de busca, muitos deles utilizando grafos:

Melhor escolha(best-first): combina as vantagens da busca em profundidade e em amplitude;

Algoritmo A*: calcula o custo atual (f) somando:

Caminho percorrido do estado inicial até estado atual – g;

Estima o custo do estado atual até o estado meta – h.

Satisfação de Restrições Objetivo: descobrir algum estado de problema que satisfaça a um determinado conjunto de restrições; Reduz a quantidade de busca, e em alguns casos qualquer solução que respeite as restrições é aceito; Exemplos: Criptografia, Projeto com limites de tempo e custos, Alocação de recursos p/ executar tarefas, etc.

Objetivo: descobrir algum estado de problema que satisfaça a um determinado conjunto de restrições;

Reduz a quantidade de busca, e em alguns casos qualquer solução que respeite as restrições é aceito;

Exemplos: Criptografia, Projeto com limites de tempo e custos, Alocação de recursos p/ executar tarefas, etc.

Tipo de Restrições Restrições por Equação / Inequação : Exemplos: X = 4; X <= Y; Z <> 0; Restrições por Procedimentos: Exemplo: se X e Y representam pessoas, e queremos que elas sejam de sexos diferentes (em PROLOG): sexo_dif(X,Y):- mulher(X), homem(Y). sexo_dif(X,Y):- mulher(Y), homem(X).

Restrições por Equação / Inequação :

Exemplos: X = 4; X <= Y; Z <> 0;

Restrições por Procedimentos:

Exemplo: se X e Y representam pessoas, e queremos que elas sejam de sexos diferentes (em PROLOG):

sexo_dif(X,Y):- mulher(X), homem(Y).

sexo_dif(X,Y):- mulher(Y), homem(X).

Problema do Mapa (I) Qualquer mapa pode ser pintado com 4 cores, sem que duas áreas contíguas sejam coloridas com a mesma cor.

Qualquer mapa pode ser pintado com 4 cores, sem que duas áreas contíguas sejam coloridas com a mesma cor.

Problema do Mapa (II) Para o mapa abaixo, quais são as restrições a serem respeitadas? A <> B A <> C A <> E B <> E B <> F C <> E C <> F E <> F D <> F

Para o mapa abaixo, quais são as restrições a serem respeitadas?

A <> B A <> C A <> E B <> E

B <> F C <> E C <> F E <> F D <> F

Problema do Mapa (III) Com um domínio de 3 cores e usando um algoritmo Gera-e-Testa, quantos passos serão necessários? SEQ A B C D E F 1 AZUL AZUL AZUL AZUL AZUL AZUL SEQ A B C D E F 1 AZUL AZUL AZUL AZUL AZUL AZUL 2 AZUL AZUL AZUL AZUL AZUL ROXO 3 AZUL AZUL AZUL AZUL AZUL VERM 4 AZUL AZUL AZUL AZUL VERM AZUL 5 AZUL AZUL AZUL AZUL VERM VERM SEQ A B C D E F 1 AZUL AZUL AZUL AZUL AZUL AZUL 2 AZUL AZUL AZUL AZUL AZUL ROXO 3 AZUL AZUL AZUL AZUL AZUL VERM 4 AZUL AZUL AZUL AZUL VERM AZUL 5 AZUL AZUL AZUL AZUL VERM VERM ... ... ... ... ... ... ... 124 AZUL VERM VERM VERM ROXO AZUL

Deficiência do modelo proposto O principal problema é que verificamos as restrições somente quando todas as variáveis são instanciadas; Mas na maioria dos casos, podemos detectar conflitos antes mesmo de terminar as instanciações. (ex.: na linha 1 não é preciso continuar depois de ter atribuído a cor azul para A e B, pois já temos uma restrição violada):

O principal problema é que verificamos as restrições somente quando todas as variáveis são instanciadas;

Mas na maioria dos casos, podemos detectar conflitos antes mesmo de terminar as instanciações. (ex.: na linha 1 não é preciso continuar depois de ter atribuído a cor azul para A e B, pois já temos uma restrição violada):

Novo modelo: uso do Backtrack(I) TENTE COMPLETAR A TABELA AO LADO  BACKTRACKING... BACKTRACKING... SEQ A B C D E F 1 AZUL 2 AZUL AZUL 3 AZUL VERM 4 AZUL VERM AZUL 5 AZUL VERM VERM ? ? ? ? ? ? ?

Vantagens do Backtrack Apesar do custo para testar as restrições a cada instanciação, isso é compensado pelo fato de obter uma busca muito mais limitada; A cada instanciação, não é preciso testar TODAS as restrições. É suficiente testar unicamente as que contêm a variável instanciada.

Apesar do custo para testar as restrições a cada instanciação, isso é compensado pelo fato de obter uma busca muito mais limitada;

A cada instanciação, não é preciso testar TODAS as restrições. É suficiente testar unicamente as que contêm a variável instanciada.

Forward-Checking (I) Temos com melhorar mais ainda a busca? A idéia é de olhar, considerando os valores já atribuídos e as restrições, se é possível reduzir o domínio das outras variáveis não instanciadas; Exemplo: assim que a cor azul for escolhida para A, podemos excluir essa cor dos conjuntos de B, C e E (para respeitar A <> B, A <> C e A <> E).

Temos com melhorar mais ainda a busca?

A idéia é de olhar, considerando os valores já atribuídos e as restrições, se é possível reduzir o domínio das outras variáveis não instanciadas;

Exemplo: assim que a cor azul for escolhida para A, podemos excluir essa cor dos conjuntos de B, C e E (para respeitar A <> B, A <> C e A <> E).

Forward-Checking (II) SEQ A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 a {v,r} {v,r} {a,v,r} {v,r} {a,v,r} 2 a v {v,r} {a,v,r} {r} {a,r} ? ? ? ? ? ? ?

É possível melhorar ainda mais o Forward-Checking? Existe uma maneira de determinar a ordem de instanciação das variáveis para otimizar a busca? Escolher a variável mais restrita (a que contém o menor domínio – menos cores disponíveis); Escolher a variável implicada em mais restrições (que contém mais vizinhos). Forward-Checking Otimizada

É possível melhorar ainda mais o Forward-Checking?

Existe uma maneira de determinar a ordem de instanciação das variáveis para otimizar a busca?

Escolher a variável mais restrita (a que contém o menor domínio – menos cores disponíveis);

Escolher a variável implicada em mais restrições (que contém mais vizinhos).

FC - Variável mais restrita A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 a {v,r} {v,r} {a,v,r} {v,r} {a,v,r}

FC - Variável mais restrita A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 a {v,r} {v,r} {a,v,r} {v,r} {a,v,r} 2 a v {v,r} {a,v,r} {r} {a,r}

FC - Variável mais restrita A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 a {v,r} {v,r} {a,v,r} {v,r} {a,v,r} 2 a v {v,r} {a,v,r} {r} {a,r} 3 a v {v} {a,v,r} r {a}

FC - Variável mais restrita A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 a {v,r} {v,r} {a,v,r} {v,r} {a,v,r} 2 a v {v,r} {a,v,r} {r} {a,r} 3 a v {v} {a,v,r} r {a} 4 a v v {a,v,r} r {a}

FC - Variável mais restrita A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 a {v,r} {v,r} {a,v,r} {v,r} {a,v,r} 2 a v {v,r} {a,v,r} {r} {a,r} 3 a v {v} {a,v,r} r {a} 4 a v v {a,v,r} r {a} 5 a v v {v,r} r a

FC - Variável mais restrita A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 a {v,r} {v,r} {a,v,r} {v,r} {a,v,r} 2 a v {v,r} {a,v,r} {r} {a,r} 3 a v {v} {a,v,r} r {a} 4 a v v {a,v,r} r {a} 5 a v v {v,r} r a 6 a v v v r a

FC - a variável implicada em mais restrições A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 {v,r} {v,r} {v,r} {a,v,r} a {v,r}

FC - a variável implicada em mais restrições A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 {v,r} {v,r} {v,r} {a,v,r} a {v,r} 2 {v,r} {r} {r} {a,r} a v

FC - a variável implicada em mais restrições A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 {v,r} {v,r} {v,r} {a,v,r} a {v,r} 2 {v,r} {r} {r} {a,r} a v 3 v {r} {r} {a,r} a v

FC - a variável implicada em mais restrições A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 {v,r} {v,r} {v,r} {a,v,r} a {v,r} 2 {v,r} {r} {r} {a,r} a v 3 v {r} {r} {a,r} a v 4 v r {r} {a,r} a v

FC - a variável implicada em mais restrições A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 {v,r} {v,r} {v,r} {a,v,r} a {v,r} 2 {v,r} {r} {r} {a,r} a v 3 v {r} {r} {a,r} a v 4 v r {r} {a,r} a v 5 v r r {a,r} a v

FC - a variável implicada em mais restrições A B C D E F 0 {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} {a,v,r} 1 {v,r} {v,r} {v,r} {a,v,r} a {v,r} 2 {v,r} {r} {r} {a,r} a v 3 v {r} {r} {a,r} a v 4 v r {r} {a,r} a v 5 v r r {a,r} a v 6 v r r a a v

Minimizando Conflitos (I) Combinação dos métodos de Subida da Encosta e Satisfação de Restrições: Da Subida da Encosta usa a idéia de escolher o melhor estado sucessor ; Da Satisfação de Restrições usa o princípio de representar o problema por um conjunto de variáveis e restrições sobre essas variáveis.

Combinação dos métodos de Subida da Encosta e Satisfação de Restrições:

Da Subida da Encosta usa a idéia de escolher o melhor estado sucessor ;

Da Satisfação de Restrições usa o princípio de representar o problema por um conjunto de variáveis e restrições sobre essas variáveis.

Minimizando Conflitos (II) Primeiro, identificamos as variáveis envolvidas em conflitos - variáveis cujo valor viola uma restrição; Para cada uma delas, consideramos os outros valores que pode receber e calculamos o número de conflitos que ele causaria; Escolhemos a variável e o valor que causam o menor número de conflitos .

Primeiro, identificamos as variáveis envolvidas em conflitos - variáveis cujo valor viola uma restrição;

Para cada uma delas, consideramos os outros valores que pode receber e calculamos o número de conflitos que ele causaria;

Escolhemos a variável e o valor que causam o menor número de conflitos .

Problema das 8 Rainhas (I) O objetivo é colocar 8 rainhas num tabuleiro de xadrez, de forma que uma rainha não ataque a outra; Dica: a rainha ataca para cima, para baixo, para os lados e para as diagonais (como na figura abaixo).

O objetivo é colocar 8 rainhas num tabuleiro de xadrez, de forma que uma rainha não ataque a outra;

Dica: a rainha ataca para cima, para baixo, para os lados e para as diagonais (como na figura abaixo).

Problema das 8 Rainhas (II) Possibilidades: 64 * 63 * 62 * 61 * 60 * 59 * 58 * 57 = apenas 178.462.987.637.760 ; Sabendo que cada rainha deverá ficar numa linha diferente, são 8·7·...·2·1 = 40.320 ; Existem 92 respostas para o problema; Seis rainhas é fácil.. Quero ver 8!!!

Possibilidades: 64 * 63 * 62 * 61 * 60 * 59 * 58 * 57 = apenas 178.462.987.637.760 ;

Sabendo que cada rainha deverá ficar numa linha diferente, são 8·7·...·2·1 = 40.320 ;

Existem 92 respostas para o problema;

Problema das 8 Rainhas - Dica Tente resolver utilizando sua heurística de Minimização de Conflitos, primeiro para um número menor de rainhas:

Tente resolver utilizando sua heurística de Minimização de Conflitos, primeiro para um número menor de rainhas:

Exercícios de Fixação Para serem feitos e entregues na aula de 20/03/2008!!

Responda Defina o que é heurística. Para que ela serve? Qual a diferença entre os métodos: Busca em Amplitude e Busca em Profundidade; Subida de Encosta e Subida da Encosta pela Trilha mais Íngrime; Solução por Restrições usando Backtrack e Forward-Checking;

Defina o que é heurística. Para que ela serve?

Qual a diferença entre os métodos:

Busca em Amplitude e Busca em Profundidade;

Subida de Encosta e Subida da Encosta pela Trilha mais Íngrime;

Solução por Restrições usando Backtrack e Forward-Checking;

Criptoaritmética (I) FORTY 29786 + TEN + 850 + TEN + 850 ------- ------ SIXTY 31486 Considere um problema aritmético representado por letras, conforme mostram os exemplos acima. Atribua um dígito decimal a cada uma das letras, de forma a obter a resposta correta (como no exemplo acima). Se a mesma letra aparecer mais de uma vez, ela deve ser atribuída ao mesmo dígito todas as vezes. Duas letras diferentes não podem ser atribuídas ao mesmo dígito.

FORTY 29786

+ TEN + 850

+ TEN + 850

------- ------

SIXTY 31486



Considere um problema aritmético representado por letras, conforme mostram os exemplos acima.

Atribua um dígito decimal a cada uma das letras, de forma a obter a resposta correta (como no exemplo acima).

Se a mesma letra aparecer mais de uma vez, ela deve ser atribuída ao mesmo dígito todas as vezes.

Duas letras diferentes não podem ser atribuídas ao mesmo dígito.

Criptoaritmética (II) SEND DONALD CROSS +MORE +GERALD +ROADS ----- ------ ------ MONEY ROBERT DANGER Resolva os 3 problemas acima (cada problema independente do outro); Certamente existe mais de uma resposta possível para cada problema. Alguma é melhor que a outra? Por que? Qual o método mais recomendável para esse tipo de problema?

SEND DONALD CROSS

+MORE +GERALD +ROADS

----- ------ ------

MONEY ROBERT DANGER

Resolva os 3 problemas acima (cada problema independente do outro);

Certamente existe mais de uma resposta possível para cada problema. Alguma é melhor que a outra? Por que?

Qual o método mais recomendável para esse tipo de problema?

Quebra-Cabeça com Subida da Encosta Tente solucionar o quebra-cabeça (figura da esquerda) usando o método de subida de encosta. É possível encontrar uma função heurística usando subida da encosta que funcione? Por que? Qual outro método você recomendaria?

Tente solucionar o quebra-cabeça (figura da esquerda) usando o método de subida de encosta.

É possível encontrar uma função heurística usando subida da encosta que funcione? Por que?

Qual outro método você recomendaria?

Pegando o Zarco Eu quero pagar a minha passagem de ônibus, que custa 90 centavos (faz tempo essa tarifa...). Para pagá-la, eu quero utilizar ao menos 5 moedas. O cobrador quer que eu lhe dê uma moeda de 25 centavos ou duas de 10 centavos. Represente isso como um problema de satisfação de restrições e mostre como as heurísticas de forward-checking, variável mais restrita e/ou variável mais restringente agilizam a resolução. Eu tenho 4 moedas de 5 centavos, 3 moedas de 10, 2 de 25 cents e uma moeda de 50 centavos.

Eu quero pagar a minha passagem de ônibus, que custa 90 centavos (faz tempo essa tarifa...).

Para pagá-la, eu quero utilizar ao menos 5 moedas. O cobrador quer que eu lhe dê uma moeda de 25 centavos ou duas de 10 centavos.

Represente isso como um problema de satisfação de restrições e mostre como as heurísticas de forward-checking, variável mais restrita e/ou variável mais restringente agilizam a resolução.

Eu tenho 4 moedas de 5 centavos, 3 moedas de 10, 2 de 25 cents e uma moeda de 50 centavos.

Referências http://pt.wikipedia.org/wiki/Deep_Blue Inteligência Artificial – Elaine Rich e Kevin Knight – 2ª edição http://pt.wikipedia.org/wiki/Problema_do_caixeiro_viajante mc102.unicamp.googlepages.com br.geocities.com/xadrezvirtual/noticias/ http://pt.wikipedia.org/wiki/NP_%28complexidade%29 < http://www.dcc.fc.up.pt/~jpp/cia/node54.html > http://www.citi.pt/educacao_final/trab_final_inteligencia_artificial/heuristicas.html > http://pt.wikipedia.org/wiki/Heur%C3%ADstica http://www.tsp.gatech.edu/ http://www.professeurs.polymtl.ca/michel.gagnon/Disciplinas/Bac/IA/ResolProb/resproblema.html#NocPrel http://paginas.unisul.br/max/aula03_IA.pdf http://ampedrosas.vilabol.uol.com.br/index.html

http://pt.wikipedia.org/wiki/Deep_Blue

Inteligência Artificial – Elaine Rich e Kevin Knight – 2ª edição

http://pt.wikipedia.org/wiki/Problema_do_caixeiro_viajante

mc102.unicamp.googlepages.com

br.geocities.com/xadrezvirtual/noticias/

http://pt.wikipedia.org/wiki/NP_%28complexidade%29

< http://www.dcc.fc.up.pt/~jpp/cia/node54.html >

http://www.citi.pt/educacao_final/trab_final_inteligencia_artificial/heuristicas.html >

http://pt.wikipedia.org/wiki/Heur%C3%ADstica

http://www.tsp.gatech.edu/

http://www.professeurs.polymtl.ca/michel.gagnon/Disciplinas/Bac/IA/ResolProb/resproblema.html#NocPrel

http://paginas.unisul.br/max/aula03_IA.pdf

http://ampedrosas.vilabol.uol.com.br/index.html

Desafios - Marcos ainda vive? (I) Marcos era um homem Marcos nasceu em Pompéia Marcos nasceu em 40 d.C. Todos os homens são mortais Todos os habitantes de Pompéia morreram quando o vulcão entrou em erupção em 79 d.C. Nenhum mortal vive mais de 150 anos. Estamos em 2008 d.C.

Marcos era um homem

Marcos nasceu em Pompéia

Marcos nasceu em 40 d.C.

Todos os homens são mortais

Todos os habitantes de Pompéia morreram quando o vulcão entrou em erupção em 79 d.C.

Nenhum mortal vive mais de 150 anos.

Estamos em 2008 d.C.

Desafios - Marcos ainda vive? (II) Crie 2 Justificativas, através de axiomas, que provam que Marcos está morto. Axioma: Um axioma é uma sentença ou proposição ( que não é provada ou demonstrada) e é considerada como óbvia ou como um consenso inicial necessário para a construção ou aceitação de uma teoria . Por essa razão, é aceito como verdade e serve como ponto inicial para dedução e inferências de outras verdades (dependentes de teoria).

Crie 2 Justificativas, através de axiomas, que provam que Marcos está morto.

Axioma: Um axioma é uma sentença ou proposição ( que não é provada ou demonstrada) e é considerada como óbvia ou como um consenso inicial necessário para a construção ou aceitação de uma teoria . Por essa razão, é aceito como verdade e serve como ponto inicial para dedução e inferências de outras verdades (dependentes de teoria).

Add a comment

Related presentations

Related pages

IA Problemas & Heuristicas - Technology

Apresentação sobre Heurísticas para solução de problemas relacionados a inteligência artificial
Read more

PROBLEMAS SOBRE HEURÍSTICAS 1. - infor.uva.es

PROBLEMAS SOBRE HEURÍSTICAS 1.- Un grupo de montañeros decide subir a la cima de una montaña pero al consultar el plano se encuentran con muchas ...
Read more

Heurística - Scribd

... este apartado es de una importancia vital para la IA interna en los juegos de ordenador. ... En problemas de rutas destacan las aportaciones de ...
Read more

Heurística - Inteligencia Artificial

Personalidades del campo de la IA. El futuro de la ... La base de la heurística surge de la experiencia de resolver problemas y ver cómo otros lo ...
Read more

HEURISTICA - citi.pt

... aproximam-se mais da forma como o ser humano raciocina e chega às resoluções dos problemas, ... Voltar aplicações de IA ...
Read more

Métodos Heurísticos en Inteligencia ArtificialInteligencia ...

Métodos Heurísticos en Inteligencia Artificial Los problemas de Inteligencia Artificial (IA) generalmente usan un término común llamado estado.
Read more

IA- INTELIGENT: HEURÍSTICA, EL PROBLEMA DEL AGENTE VIAJERO

IA- INTELIGENT. viernes, 21 de marzo de 2014. HEURÍSTICA, EL PROBLEMA DEL AGENTE VIAJERO ... Un ejemplo de éste tipo de problemas para seis ciudades.
Read more

IA Busqueda Heuristica - YouTube

Concepto basico de busqueda heuristica y algunos de los metodos que se ... IA Busqueda Heuristica ... Problemas de Heurística ...
Read more

Problemas de Heurística - YouTube

Solución de problemas usando métodos y tácticas de la Heurística. ... Problemas de Heurística ... Las 10 heuristicas de Nielsen ...
Read more