SlideShare uma empresa Scribd logo
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?
Problemas de IA (II) 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?
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 ?
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;
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)
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)
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.
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.
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).
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
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
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
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.
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.
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);
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?
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.
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.
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?
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:
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
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
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);
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.
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.
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?
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.
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.
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).
Problema do Mapa (I) 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
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):
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.
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).
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
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.
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 .
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).
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!!!
Problema das 8 Rainhas - Dica 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;
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.
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?
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?
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.
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
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.
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).

Mais conteúdo relacionado

PDF
Introdução ao Teste de Software - Uma abordagem prática
PPT
Software Testing
DOCX
Algoritmos - Aula 06 B - Tomada de Decisao - Exercicios - Resolucao
PDF
Aula 6 - Estruturas de seleção encadeada - parte 1
PPT
Software Testing - Tool support for testing (CAST) - Mazenet Solution
PDF
Aprendizado de Máquina e Grandes Conjuntos de Dados
PPTX
Cognição Social
PPT
Resolução de problemas: Uma Abordagem na educação Matemática
Introdução ao Teste de Software - Uma abordagem prática
Software Testing
Algoritmos - Aula 06 B - Tomada de Decisao - Exercicios - Resolucao
Aula 6 - Estruturas de seleção encadeada - parte 1
Software Testing - Tool support for testing (CAST) - Mazenet Solution
Aprendizado de Máquina e Grandes Conjuntos de Dados
Cognição Social
Resolução de problemas: Uma Abordagem na educação Matemática

Destaque (11)

PPTX
Gerenciamento de integração
PDF
FGV Bauru GPJ7 - Plano de Gerenciamento de Escopo v2 - Disciplina Concorrênci...
PDF
Gerenciamento de Integracao - Aula 4
PDF
Gesto de projetos_-_mba_-_fgv_management-_abril-09
PDF
Gerenciamento de integração de projetos
PPTX
Gerenciamento de Escopo - 20 Questões Exame Simulado - Projetizado Training
PPTX
Métodos Heurísticos
PDF
Gerenciamento de escopo em projetos
TXT
Resposta do curso bradesco j2me
PDF
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
PDF
Gestao de projetos_-_exercicio_1._com_gabarito_doc
Gerenciamento de integração
FGV Bauru GPJ7 - Plano de Gerenciamento de Escopo v2 - Disciplina Concorrênci...
Gerenciamento de Integracao - Aula 4
Gesto de projetos_-_mba_-_fgv_management-_abril-09
Gerenciamento de integração de projetos
Gerenciamento de Escopo - 20 Questões Exame Simulado - Projetizado Training
Métodos Heurísticos
Gerenciamento de escopo em projetos
Resposta do curso bradesco j2me
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gestao de projetos_-_exercicio_1._com_gabarito_doc
Anúncio

Semelhante a IA Problemas & Heuristicas (20)

PDF
Ia un01 busca_qualquer_caminho
DOCX
Inteligência Artificial - Busca com informação
PDF
Introducao a metaheuristicas: aula sobre metaheuristicas
ODP
Inteligência Artificial - Aula2 - Busca em Grafos
PDF
Aula2_Busca.pdf
PPTX
Trabalho de inteligência artificial
PDF
15-aula15.pdf
PDF
Inteligencia artificial 2
PDF
Ia aula 2
PPTX
Aprendizagem Automática
PDF
Busca tabu
PDF
59 algoritmosgeneticos(1)
PDF
Aulas 11-guloso Algoritmos
PDF
Resolução de problemas por meio de busca
PPTX
Metaheurística Simulated Annealing
PDF
QAP: Metodos construtivos, 2-opt, Busca tabu
PDF
Aula 02 - Agentes e problemas de busca
PDF
(ACH2044) Inteligência Artificial - Aula 03
PPT
IA-Aula4.ppt
Ia un01 busca_qualquer_caminho
Inteligência Artificial - Busca com informação
Introducao a metaheuristicas: aula sobre metaheuristicas
Inteligência Artificial - Aula2 - Busca em Grafos
Aula2_Busca.pdf
Trabalho de inteligência artificial
15-aula15.pdf
Inteligencia artificial 2
Ia aula 2
Aprendizagem Automática
Busca tabu
59 algoritmosgeneticos(1)
Aulas 11-guloso Algoritmos
Resolução de problemas por meio de busca
Metaheurística Simulated Annealing
QAP: Metodos construtivos, 2-opt, Busca tabu
Aula 02 - Agentes e problemas de busca
(ACH2044) Inteligência Artificial - Aula 03
IA-Aula4.ppt
Anúncio

Último (9)

PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Eng. Software - pontos essenciais para o início
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Utilizando code blockes por andre backes
PPTX
Tipos de servidor em redes de computador.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
Eng. Software - pontos essenciais para o início
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Utilizando code blockes por andre backes
Tipos de servidor em redes de computador.pptx

IA Problemas & Heuristicas

  • 1. I nteligência Artificial Problemas e Heurísticas (versão final) Rafael Rosario [email_address] [email_address]
  • 2. 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?
  • 3. Problemas de IA (II) E jogar um Jogo da Velha, também é a solução de um problema de IA?
  • 4. 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?
  • 5. 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 ?
  • 6. 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;
  • 7. 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
  • 8. 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)
  • 9. 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)
  • 10. 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.
  • 11. 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.
  • 12. 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).
  • 13. 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
  • 14. TSP - Exemplo JOINVILLE FLORIPA BLUMENAU LAGES 180 km 90 km 250 km 230 km 140 km 330 km
  • 15. 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
  • 16. 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
  • 17. 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.
  • 18. 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.
  • 19. 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);
  • 20. 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?
  • 21. 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.
  • 22. 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.
  • 23. 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?
  • 24. 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:
  • 25. 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
  • 26. 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
  • 27. 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.
  • 28. Resposta – Blocos Alfabéticos (III)
  • 29. 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);
  • 30. 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.
  • 31. 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.
  • 32. 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?
  • 33. 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.
  • 34. 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.
  • 35. 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).
  • 36. Problema do Mapa (I) Qualquer mapa pode ser pintado com 4 cores, sem que duas áreas contíguas sejam coloridas com a mesma cor.
  • 37. 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
  • 38. 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
  • 39. 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):
  • 40. 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 ? ? ? ? ? ? ?
  • 41. 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.
  • 42. 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).
  • 43. 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} ? ? ? ? ? ? ?
  • 44. É 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
  • 45. 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}
  • 46. 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}
  • 47. 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}
  • 48. 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}
  • 49. 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
  • 50. 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
  • 51. 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}
  • 52. 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
  • 53. 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
  • 54. 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
  • 55. 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
  • 56. 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
  • 57. 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.
  • 58. 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 .
  • 59. 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).
  • 60. 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!!!
  • 61. Problema das 8 Rainhas - Dica Tente resolver utilizando sua heurística de Minimização de Conflitos, primeiro para um número menor de rainhas:
  • 62. Exercícios de Fixação Para serem feitos e entregues na aula de 20/03/2008!!
  • 63. 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;
  • 64. 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.
  • 65. 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?
  • 66. 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?
  • 67. 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.
  • 68. 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
  • 69. 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.
  • 70. 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).