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



Documentos relacionados
IA: Busca Competitiva. Ricardo Britto DIE-UFPI

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

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

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

CAP. I ERROS EM CÁLCULO NUMÉRICO

Jogos vs. Problemas de Procura

Busca em Espaço de Estados

Processamento e Otimização de Consultas

Problema de Otimização Combinatória

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

Prof. Daniela Barreiro Claro

Resolução de Problemas

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

Solução da prova da 1 a fase OBMEP 2015 Nível 1. QUESTÃO 1 ALTERNATIVA E Como 2 x 100,00 126,80 = 200,00 126,80 = 73,20, o troco foi de R$ 73,20.

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 11 Problemas com Satisfação de Vínculos

Pesquisa Digital. Árvorie. Árvorie. Árvorie. Árvorie. Árvorie: : Estrutura

Trabalho de Implementação Jogo Reversi

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

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Contagem I. Figura 1: Abrindo uma Porta.

Problemas de Satisfação de Restrições

1 se n = 0 n (n 1)! se n 1

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Aula 03 - Modelagem em PPLIM

Projeto e Análise de Algoritmos

Sistemas Distribuídos: Princípios e Algoritmos Introdução à Análise de Complexidade de Algoritmos

Problemas de Jogos e Tabuleiros

MASTER IN PROJECT MANAGEMENT

Manejo Florestal Sustentável: Dificuldade Computacional e Otimização de Processos

Complexidade de Algoritmos. Edson Prestes

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

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

Disciplina: Suprimentos e Logística II Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

Método Simplex - Variantes V 1.1, V.Lobo, EN / ISEGI, 2008

Princípio da Casa dos Pombos II

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

Variantes sobre o método Simplex: Método do grande M

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

INSTRUMENTOS DE PLANEJAMENTO: PLANOS, PROGRAMAS E PROJETOS

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

Princípio da Casa dos Pombos I

Problemas de Satisfação de Restrições

Análise e Projeto de Algoritmos

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Complexidade de Algoritmos. Edson Prestes

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

PROJETO DE PESQUISA. Antonio Joaquim Severino 1. Um projeto de bem elaborado desempenha várias funções:

O conceito de Affordance como estratégia generativa no design de produtos orientado a versatilidade.

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Segurança e Higiene no Trabalho

Análise e Complexidade de Algoritmos

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Matemática - UEL Compilada em 18 de Março de Prof. Ulysses Sodré Matemática Essencial:

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

OIT DESENVOLVIMENTO DE EMPRESA SOCIAL: UMA LISTA DE FERRAMENTAS E RECURSOS

Desenvolvimento de Interfaces Prototipação

F.1 Gerenciamento da integração do projeto

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

Gerenciamento de projetos.

Balanceamento de uma Linha de Produção

PRIMAVERA RISK ANALYSIS

Processos de gerenciamento de projetos em um projeto

a) Teste das funções do sistema com outros sistemas b) Teste de componentes que em conjunto compõem a função do sistema

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

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

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Contagem II. Neste material vamos aprender novas técnicas relacionadas a problemas de contagem. 1. Separando em casos

Rastros Autor: Bill Taylor, 1992

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

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

Nome: Lucas da Silva Oliveira. Professor: Ricardo Fabbri

Estrutura de Dados Básica

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

Geração de código intermediário. Novembro 2006

Inteligência Artificial. Metodologias de Busca

Engenharia de Software II

PMBOK 4ª Edição III. O padrão de gerenciamento de projetos de um projeto

QUESTÃO 1 ALTERNATIVA B

BCC202 - Estrutura de Dados I

Armazenamento de Dados. Prof. Antonio Almeida de Barros Junior

Microsoft Project 2003

Curva ABC. Tecinco Informática Ltda. Av. Brasil, º Andar Centro Cascavel PR

Análise Combinatória. Prof. Thiago Figueiredo

Governança de TI. ITIL v.2&3. parte 1

CAPÍTULO 1 - CONTABILIDADE E GESTÃO EMPRESARIAL A CONTROLADORIA

CCEE - Metodologia de Gestão de Risco. InfoPLD ao vivo 28/4/2014

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Planejamento Estratégico de TI. Prof.: Fernando Ascani

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.

Pesquisa e organização de informação

Faculdade Pitágoras 24/10/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

6 Modelo proposto: projeto de serviços dos sites de compras coletivas

Avaliação de Expressões

Unidade III GERENCIAMENTO DE. Profa. Celia Corigliano

ESTRUTURAS DE DADOS II

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

EDITORA FERREIRA MP/RJ_EXERCÍCIOS 01

Transcrição:

genda nálise e Técnicas de lgoritmos Jorge Figueiredo onceitos ásicos O Problema das Rainhas Template Genérico Mochila inária acktracking and ranch-and-ound Jogo da Troca de olas Jogo da Troca de olas n bolas vermelhas e n bolas pretas Tabuleiro (uma linha) com n n + posições olas com a mesma cor em extremidades diferentes, e um espaço vazio separando o conjunto de de bolas diferentes. Movimentos possíveis: ola vermelha para a esquerda e preta para a direita Mover um espaço se se o espaço está vazio Pular sobre exatamente uma bola de de cor diferente, se se o espaço logo após a bola estiver vazio Problema do Labirinto Problema do Labirinto

Jogo do Resta Um O Que Estes Problemas Têm em omum? Tomar uma série de de decisões entre várias opções. ada decisão leva a um novo conjunto de de decisões. lguma(s) seqüência(s) de de decisões pode(m) conduzir a solução do do problema. Encontrar solução:.. Fazer uma lista com todos os os candidatos possíveis... Examinar todas as as respostas ou ou alguma delas... Retornar a solução. Problemas de de otimização omo Resolver? acktracking Estratégia para sistematicamente a lista de de possíveis soluções, eliminando (explicitamente) a verificação de de uma boa parte dos possíveis candidatos. Pode ser considerado como uma variação de de FS. Usa uma árvore implícita. andidatos Restrições Força bruta: na na prática esta abordagem não é muito eficiente porque a lista de de candidatos é grande. Lixo Idéia Geral: Usando o Espaço de Solução Soluções representadas por n-tuplas ou ou vetores de de solução: <v <v,, v,,...,..., v n > ada v i i é escolhido a partir de de um conjunto finito de de opções S i. i. Inicia com um vetor vazio. Em cada etapa o vetor é extendido com um novo valor. O novo vetor é então avaliado. Se Se não for for solução parcial, o último valor do do vetor é eliminado e outro candidato é considerado. Restrições Restrições Explícitas: correspondem às àsregras que restringem cada v i i em tomar valores de de um determinado conjunto. Está relacionado com a representação do do problema e as as escolhas possíveis. Restrições Implícitas: determinam como os osv i s i sse se relacionam entre si. si.

O Problema das Rainhas olocar rainhas em um tabuleiro de de xadrez de de modo que nenhuma rainha ataque uma outra. Solução: uma -tupla <v <v,, v,,, v > em que v i i indica a coluna da darainha i. i. Restrições Explícitas: S i i = {, {,,,,,, }, }, i i n. n. Restrições implícitas: Nenhum v i i pode ser igual ao aooutro. uas rainhas não podem estar na namesma diagonal. Tamanho do do espaço solução: Força ruta:.6.65.6 om R.E.:.. om R.I.:!.!. Soma de Subconjuntos Sejam n números positivos (W i, i, i i n) n) e um valor positivo M, M, achar todos os ossubconjuntos de de W i i cuja soma é M. M. Solução: uma k-tupla com os osíndices dos números escolhidos. Restrições Explícitas: v i i = {j {j j j é inteiro, j j n}. n}. Restrições Implícitas: v i i v j, j, i i j. j. Σ = M. M. v i i < v i+ i+,, i i < n. n. Geração da Árvore Exemplo: Problema das rainhas Para criar a árvore que representa o espaço solução fazemos:.. omeçar da da raiz e gerar outros nós... Um nó nó que foi foi gerado e que não foi foi totalmente explorado é dito nó nó vivo... Um nó nó cujos filhos estão sendo gerados é dito em expansão... Usar função de de poda para detonar a geração de de alguns filhos, se se for for o caso. 5. 5. Um nó nó morto é aquele que foi foi podado ou ou todos os os filhos já já foram gerados. lgoritmo Genérico Mochila inária acktrack(v[..k]) v é um vetor promissor de tamanho k if v é solução then escreva v for cada vetor promissor w de tamanho k+ em que w[..k] = v[..k] do acktrack(w[..k+]) onsiderar n tipos de de objetos (um número adequado de de cada objeto) ada objeto iitem: valor (v (v i ) i ) e peso (w (w i ) i ) Mochila com capacidade W Para concretizar: W = o ::(w=, v=) o ::(, (, 5) 5) o ::(, (, 6) 6) o ::(5, (5, )

Mochila inária: lgoritmo Mochila inária (Variação) ackpack(i, r) maior lucro usando objetos de tipos i até n e que não exceda r b for k i to n do if w[k] r then b max(b, v[k]+ ackpack(k, r w[k])) return b Um objeto de de cada tipo. Usar uma função extra que limita poda: Usar a estratégia gulosa para mochila fracionária para computar um limite superior de de lucro. Ordenar os os objetos por valor/peso. uas possibilidades de de backtracking: Limite de de peso. Se Se não existe possibilidade da da melhor estimativa de de lucro ser maior do do que o melhor lucro já já encontrado. Mochila inária (Variação) Mochila inária (Variação) onsidere W= 6 6 e os os seguintes objetos: ii v ii w ii v i /w i /w ii R$5 R$5 R$ 5 R$ 6 R$5 9 R$ 5 R$ 5 R$ Valor = R$5 Peso = E.L = R$ 5 Valor = R$ Peso = E.L = R$ 5 Valor = R$ Peso = E.L = R$ 79 Mochila inária (Variação) ranch-and-ound R$ 5 R$5 R$ 5 R$ R$ 5 R$5 R$ R$ 79 Variação de de backtracking. Necessidade de de função de de poda. Em alguns problemas, poda pode ser realizada mais cedo se se usarmos FS em vez de de FS. n = acktracking + Função de de poda FS + FS + PQ R$ R$5 R$ 5 R$ 5 R$ 75 max R$ R$9 R$9 R$ 9 R$5 R$ R$ R$ 555

Mochila inária (Variação) Mochila inária (n) onsidere W= 6 6 e os os seguintes objetos: R$ R$ 5 ii v ii w ii v i /w i /w ii R$5 R$5 R$ 5 R$ 6 R$5 9 R$ 5 R$ 5 R$ R$ R$ 5 R$ 5 R$5 R$ 5 max R$ R$9 R$5 R$9 R$ 9 R$5 R$ R$ R$ 555 R$ R$ 79 n nagentes para n tarefas. ada agente deve executar exatamente uma única tarefa. Se ao ao agente iié atribuída a tarefa j, j, um custo i,j i,j é identificado. Problema é atribuir tarefas aos agentes para minimizar o custo total de de executar as as n tarefas. 5 Usar n. Identificar função de de poda. Guiar FS (est-first Search) 5 9 7 9 7 [..7] 5 9 [..7] 5 9 [..7] 6 6 65 65 7 7 5

5 9 [..7] 5 9 [..7] 6 ; 6 6 ; 6 ; 59 ; 59 65 ; 6 65 ; 6 7 7 5 9 [..7] 5 9 [..6] 6 ; 6 ; ; c ; d 6 ; 6 ; ; c ; d ; 59 6 ; 59 6 65 ; 6 ; ; c ; d 65 ; 6 ; ; c ; d 65 65 7 7 Eficiência de acktracking e n Exercício: O Problema do aixeiro Viajante Fatores que afetam a eficiência: tempo para gerar o próximo v k k ;; ardinalidade de de S kk satisfazendo as as restrições; tempo de de execução da da função de de poda; ardinalidade de de S kk satisfazendo a função de de poda. Uma boa função de de poda reduz substancialmente o número de de nodos considerados. Existe um tradeoff: uma boa função de de poda versus o tempo de de avaliá-la. Para estimar o número de de nodos gerados, podemos usar nálise Monte-arlo (simulação estatística). 6

Exercício: O Problema do aixeiro Viajante 7