MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA. Busca em espaço de estados. Estados e Operadores. Jogo dos 8. Sumário. Exemplo: jogo dos 8



Documentos relacionados
Faculdade Alagoana de Administração FAA Ciência da Computação. (Resolução de Problemas em) Espaço de Estados

Sistemas Inteligentes Lista de Exercícios sobre Busca

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.1, 3.2 e 3.3

Busca em Espaço de Estados

Respostas dos Exercícios Cap. 2 Russell & Norvig

Pesquisa Operacional Programação em Redes

Análise e Projeto de Algoritmos

ARQUITETURA DE COMPUTADORES

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro

Fluxo de Potência em sistemas de distribuição

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Estudaremos aqui como essa transformação pode ser entendida a partir do teorema do trabalho-energia.

4000 litros. 9min = 2400 litros 15 min. 80%. 200 litros = 160 litros. A quantidade total de água necessária, após a redução é de litros.

Arquitetura de Rede de Computadores

Árvores Binárias Balanceadas

Programação Estruturada

Sistemas Operacionais

Problemas de Satisfação de Restrições

Resolução de Problemas Com Procura. Capítulo 3

Fundamentos de Hardware

Lista de Controle Supervisório de SEDs

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI

Jogo de Tabuleiro - Mancala Relatório Final

Lista de Exercícios. Vetores

Resolução de Problemas

OBI2007 Caderno de Tarefas

BC-0506: Comunicação e Redes Algoritmos em Grafos

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Arquitetura de Computadores. Tipos de Instruções

Jogos - aula 2. Xadrez chinês. Exemplo de função de avaliação:

Balanceamento de uma Linha de Produção

Título: Professor: Turma: 2ª Lista de Física II Tadeu 2ª Ano. Questão 1. Questão 4

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

Programação de Sistemas

Regras dos Jogos da Exposição Matemática em Jogo. Alquerque

3ª Lista de Exercícios Representação de dados com agregados: Arrays e Matrizes

Lista 2 - Modelos determinísticos

Árvores Binárias de Busca

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE

Rastros Autor: Bill Taylor, 1992

Instalações Máquinas Equipamentos Pessoal de produção

Análise e Complexidade de Algoritmos

Algoritmos e Estrutura de Dados III. Árvores

36ª OLIMPÍADA BRASILEIRA DE MATEMÁTICA Primeira Fase Nível 3 Ensino Médio

3 Sistemas de Numeração:

Orientação a Objetos

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

EAD Árvore árvore binária

Caso já seja usuário do SCAW siga as instruções a partir da página X.

Análise de Links e Busca na Web

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Projeto e Análise de Algoritmos

1. Sistemas de numeração

João Manuel R. S. Tavares / JOF

FATECIENS. Relatório Gerencial sobre o Sistema de Compras. Prefeitura de Sorocaba

Curso de Hardware Aula 01 Tema: Sistema de Medidas Por: Edmilson de Oliveira Reis Revisado em: 02/03/2012

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos

IV JOGOS MUNICIPAIS DA TERCEIRA IDADE DE PORTO ALEGRE 1, 2 e 3 de julho de Ginásio Tesourinha REGULAMENTO ESPECÍFICO. Módulo Competitivo

Contagem I. Figura 1: Abrindo uma Porta.

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

AULA 6 - Operações Espaciais

6. Geometria, Primitivas e Transformações 3D

ANÁLISE DE CIRCUITOS RESISTIVO DC (03/12/2013)

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

Jogos Olímpicos de Verão - Londres 2012

Placa Acessório Modem Impacta

Utilização do SOLVER do EXCEL

Física. Resolução das atividades complementares. F1 Introdução à Física

CIÊNCIA DA COMPUTAÇÃO I Excel. Núm1, núm2,... são argumentos de 1 a 255 cuja soma ou valor total você deseja obter.

Diagrama de Precedências

Orientação a Objetos

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Fundamentos da Matemática

Logística e a Gestão da Cadeia de Suprimentos. "Uma arma verdadeiramente competitiva"

Plataforma Sentinela

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

Probabilidade. Distribuição Exponencial

Geração e Otimização de Código

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

a 1 x a n x n = b,

Jogos - aula 2. Prof. Luis Otavio Alvares II / UFRGS

Árvores Balanceadas. Árvore binária completamente balanceada. Ocorre quando a árvore está cheia ou quase cheia com o nível n-1 completo

REDUZINDO AS QUEBRAS ATRAVÉS DA MANUTENÇÃO PROFISSIONAL

Word 1 - Introdução Principais recursos do word A janela de documento Tela principal

Dadas a base e a altura de um triangulo, determinar sua área.

JOGO DA VIDA DICA AOS ADULTOS: LEIA AS INSTRUÇÕES A SEGUIR COM ATENÇÃO E AO MESMO TEMPO VÁ JOGANDO COM A CRIANÇA

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

Movimento Retilíneo Uniforme (MRU) Equação Horária do MRU

ULA Sinais de Controle enviados pela UC

ÍNDICE... 2 INTRODUÇÃO... 4

11. Problemas de Otimização

Transcrição:

MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA Sumário busca em espaço de estados redução de problemas Busca em espaço de estados Exemplo: jogo dos 8 2 8 3 1 6 4 7 5 Jogo dos 8 Estados e Operadores Estado: uma configuração particular das peças Operador: transforma um estado em outro A configuração inicial e o objetivo do jogo são os estados inicial e final.

Jogo dos 8: operadores mover a peça 1 para cima, baixo, direita, esquerda mover a peça 2 para cima, baixo, direita, esquerda mover a peça 3 para cima, baixo, direita, esquerda... mover a peça 8 para cima, baixo, direita, esquerda total de 32 operadores Jogo dos 8: operadores branco para cima branco para baixo branco para a direita branco para a esquerda total de 4 operadores Jogo dos 8: operadores Representação do problema A representação de um problema deve conter: forma de representar os estados descrição dos estados inicial e objetivo descrição dos operadores

Exemplo de representação: listas Exemplo de representação: matrizes Estado inicial: [2,8,3,1,6,4,7,0,5] Estado objetivo: [1,2,3,8,0,4,7,6,5] exemplos de operadores [a,b,c,d,e,f,g,h,0] --> [a,b,c,d,e,f,g,0,h] p/ esquerda [a,b,c,d,e,f,g,h,0] --> [a,b,c,d,e,0,g,h,f] p/ cima total de 24 casos possíveis 2 8 3 1 2 3 1 0 4 8 0 4 7 6 5 7 6 5 Estado Inicial Estado Objetivo Exemplo de operador: a b 0 a 0 b c d e c d e esquerda f g h f g h Grafo de estados Grafo de estados: exemplo nó: representa um estado arco: representa um operador

Exercício Temos 2 recipientes, um de 5 litros que está inicialmente cheio de água e outro de 2 litros que está vazio. O problema é obter exatamente 1 litro de água no recipiente de 2 litros, sendo que apenas duas ações são possíveis: passar a água de um recipiente para o outro e jogar a água de um recipiente fora. Somente os 5 litros iniciais estão disponíveis. Representar o grafo de estados do problema Solução do exercício (5,0) (0,0) (3,2) (0,2) (3,0) (0,0) (2,0) (0,0) (1,2) (0,0) (0,2) (1,0) (0,0) (2,0) (0,0) (0,1) Métodos de busca em grafos de estado Percorre-se o grafo até encontrar o estado objetivo Busca em largura ou amplitude Para cada estado são aplicados todos os operadores possíveis - busca por nível Tipos de busca: busca cega (sistemática) busca heurística Ordem: operadores 1, 2, 3, 4, 5, 6, 7, 8, 9

Exemplo profund. nós tempo memória 1 10 0,001s 10Kb 3 1110 0,11s 1megabyte 5 111.110 11s 106 MB 7 10 7 19min 10GB Busca em Profundidade Examina-se os nós sempre em direção às folhas, afastando-se da raiz. 9 10 9 31horas 1 terabyte 11 10 11 129 dias 101 terabytes 13 10 13 35 anos 10 petabytes os número pressupõem um fator de ramificação =10, 10.000 nós/segundo e 1000 bytes/nó Ordem: operadores 1, 3, 7, 8, 4, 9, 2, 5, 6 Busca em profundidade: considerações Vantagem: exige muito menos memória 10 bilhões de vezes menos no caso do exemplo anterior, para profundidade 13 Desvantagem: não garante solução ótima Outras formas sistemáticas Busca em profundidade limitada Busca bidirecional

Busca heurística o processo de busca é dirigido através de informações que auxiliam a seleção dos operadores função de avaliação Função de avaliação: exemplo do jogo dos 8 Exemplo 1: soma das diferenças entre os números das peças Exemplo 2: número de peças que está fora de seu lugar Exemplo 3: soma das distâncias entre cada peça e sua posição objetivo Busca heurística - exemplo exemplo: jogo dos 8 Estado inicial: [2,8,3,1,0,4,7,6,5] Estado objetivo: [1,2,3,8,0,4,7,6,5] Soma das diferenças: 1+6+0+7+0+0+0+0+0 = 14 é escolhido o operador que gerar a menor diferença depois de aplicado O objetivo é alcançado quando a soma das diferenças for igual a zero. Busca heurística - exemplo Estado inicial: [2,8,3,1,0,4,7,6,5] Estado objetivo: [1,2,3,8,0,4,7,6,5] sucessores possíveis soma das diferenças a) [2,0,3,1,8,4,7,6,5] 1+2+0+7+8+0+0+0+0=18 b) [2,8,3,0,1,4,7,6,5] 1+6+0+8+1+0+0+0+0=16 c) [2,8,3,1,4,0,7,6,5] 1+6+0+7+4+4+0+0+0=22 d) [2,8,3,1,6,4,7,0,5] 1+6+0+7+6+0+0+6+0=26 Seria escolhida a jogada b)

Busca pela melhor escolha Exemplo busca heurística em cada etapa escolhemos o nó mais promissor gerado até o momento utiliza uma função de avaliação que retorna o custo de se chegar a uma solução (quanto menor melhor) o método A* é derivado deste, combinando o custo de chegar ao nó atual com o custo estimado até o objetivo Passo 1: (3) A B C D (5) (2) Exemplo (cont.) Exemplo (cont.) Passo 1: (3) A B C D (5) (2) Passo 2: (3) A B C D (5) E (4) F (5) Passo 2: (3) A B C D (5) Passo 3: A B C D (5) E (4) F (5) G (3) H (6) E (4) F (5)

Algoritmo geral de busca em grafos 1- Crie uma árvore de busca consistindo só do nodo inicial, n 0. Coloque n 0 numa lista chamada ABERTOS 2- Crie uma lista chamada FECHADOS, inicialmente vazia. 3- Se ABERTOS está vazio, termine com falha. 4- Selecione o primeiro nodo de ABERTOS. Remova-o de ABERTOS e coloque-o em FECHADOS. Chame o nodo de n. 5- Se n é um nodo objetivo, termine com sucesso, com a solução sendo o caminho inverso, de n a n 0. 6- Expanda o nodo n, gerando um conjunto M de sucessores. Coloque-os em ABERTOS. 7- Reordene a lista ABERTOS. 8- Volte para o passo 3. g=distância percorrida h=custo estimado para solução minimizar g+h Exemplo 0+3 1+4 1+4 1+5 2+4 2+5 2+3 2+5 3+2 4+0 1+5 Uma aplicação real: layout de VLSI O projeto de chips é muito complexo Um VLSI típico tem milhões de portas A posição e as conexões de cada porta são cruciais Duas tarefas difíceis: layout das células e a rota para as conexões Outras aplicações Encontrar melhores rotas Trajetórias de robôs Seqüência de montagem de peças

Redução de problema Resolução por redução do problema O método de resolução por redução de problemas raciocina a partir do problema a ser resolvido, dividindo-o em subproblemas e estes em sub-subproblemas até que o problema original seja reduzido a um conjunto de problemas primitivos de solução imediata. Exemplo: torres de Hanói Exemplo: torres de Hanói Um número n qualquer de argolas de tamanhos diferentes são colocadas em três pinos. O objetivo é transferir todas as argolas do primeiro para o último pino, respeitando as restrições: o único movimento possível é movimentar uma única argola de um pino para outro apenas a argola de cima pode ser movimentada uma argola de maior tamanho não pode ser colocada sobre uma argola menor

Exemplo: torres de Hanói pode ser resolvido por busca em espaço de estados considera-se cada configuração de pinos e argolas como um estado mas a solução só será aplicável a um número fixo de argolas Torres de Hanói Através de redução de problemas, têm-se uma solução válida para qualquer número de argolas, com 3 subproblemas: 1- mover n-1 argolas do pino onde estão para o pino não-objetivo 2- mover uma argola do pino inicial para o pino objetivo 3- mover n-1 argolas do pino onde estão para o pino objetivo Torres de Hanói Subp.1: passar A e B p/ pino 2 subp.2: passar C p/ pino 3 Subp.3: passar A e B p/ pino 3 Torres de Hanói Subp.1: passar A e B p/ pino 2 subp.1: passar A p/ pino 3 subp.2: passar B p/ pino 2 subp.3: passar A p/ pino 2 subp.2: passar C p/ pino 3 Subp.3: passar A e B p/ pino 3 subp.1: passar A p/ pino 1 subp.2: passar B p/ pino 3 subp.3: passar A p/ pino 3

Representação para solução por redução de problemas descrição do problema inicial operadores de transformação - reduzem um problema a outro(s) mais simples descrição dos problemas primitivos - de solução imediata Exemplo de representação (i j k) para descrever um estado do jogo, onde i representa o pino da argola C (a maior) j representa o pino da argola B (a intermediária) k representa o pino da argola A (a menor) O estado (3 3 1), por exemplo, representa a argola C no pino 3, B no pino 3 (acima de C) e A no pino 1. Exemplo de representação descrição do problema: (111) (333) os três subproblemas: 1. (111) (122) 2. (122) (322) 3. (322) (333) problemas primitivos: movimentação de uma argola livre Grafos E/OU Podemos representar a redução de problemas através de árvores onde cada nó representa um subproblema. ganhar carro possuir carro obter dinheiro adquirir carro comprar carro

Grafos E/OU Exercício Um tabuleiro com cinco casas está organizado conforme abaixo. O objetivo é inverter as posições das fichas E e D, isto é, as duas fichas E devem ocupar as casas inicialmente ocupadas pelas D e vice-versa. D D E E As peças E só andam para a esquerda e as D só para a direita As operações possíveis são: mover uma peça para uma casa vazia adjacente saltar uma peça adjacente, se houver uma casa vazia após a peça adjacente Represente a solução do problema através de um grafo de estados Exercício Uma pessoa, um lobo, um carneiro e um cesto de alface estão à beira de um rio. Dispondo de um barco onde pode carregar apenas um dos outros três, a pessoa deve transportar tudo para a outra margem. Determine uma série de travessias que respeitem a seguinte condição: em nenhum momento devem ser deixados juntos o lobo e o cordeiro, ou o cordeiro e o cesto de alface, sem a pessoa. Represente a solução do problema através de um grafo de estados