Resolução de Problemas Com Procura. Capítulo 3
|
|
- Ayrton Bentes Molinari
- 8 Há anos
- Visualizações:
Transcrição
1 Resolução de Problemas Com Procura Capítulo 3
2 Sumário Agentes que resolvem problemas Tipos de problemas Formulação de problemas Exemplos de problemas Algoritmos de procura básicos Eliminação de estados repetidos Procura com informação parcial
3 Exemplo: Roménia Férias na Roménia; actualmente em Arad Voo parte amanhã de Bucareste Formulação do objectivo: Estar em Bucareste Formulação do problema: Estados: várias cidades Acções: conduzir entre cidades Encontrar solução: Sequência de cidades E.g., Arad, Sibiu, Fagaras, Bucareste
4 Roménia: Arad
5 Roménia: Bucareste
6 Exemplo: Roménia
7 Exemplo: Roménia
8 Exemplo: Roménia Inexistência de mapa Escolhas aleatórias Existência de mapa Possibilidade de considerar sequência de estados Uma vez encontrada uma solução, basta executar uma sequência de acções para atingir o objectivo Procura = encontrar uma solução Execução = sequência de acções que permitem alcançar o objectivo Agente = Formular + Procurar + Executar
9 Agentes que resolvem problemas Função AgenteResolveProblemas (percep) devolve acção Argumento: percep, uma percepção Estático: seq, sequência de acções inicialmente vazia estado, descrição do estado actual obj, objectivo inicialmente vazio prob, formulação do problema estado ActualizaEstado(estado,percep) se seq vazia então obj FormulaObjectivo(estado) prob FormulaProblema(estado,obj) seq Procura(prob) acção FIRST(seq) seq REST(seq) devolve acção
10 Tipo de ambiente/problema Estático (vs. dinâmico) Ambiente não é alterado enquanto agente efectua formulação e resolução do problema Observável (vs. parcialmente observável) Sensores dão acesso ao estado completo do ambiente Discreto (vs. contínuo) Número limitado de percepções e acções distintas claramente definidas Determinístico (vs. estocástico) Estado seguinte é determinado em função do estado actual e da acção executada pelo agente; fase de execução independente das percepções!
11 Formulação do Problema (1/2) Estado inicial em que se encontra o agente Em(Arad) Descrição das acções possíveis Função sucessor-fn: estado <acção,sucessor>* sucessor-fn(em(arad)) = {<Ir(Sibiu),Em(Sibiu)>, <Ir(Timisoara),Em(Timisoara)>, <Ir(Zerind),Em(Zerind)>} Estado inicial e sucessor-fn definem implicitamente o espaço de estados do problema (mapa pode ser interpretado como espaço de estados) Um caminho num espaço de estados é uma sequência de estados resultantes de uma sequência de acções
12 Formulação do Problema (2/2) Teste objectivo que determina se um estado é um estado objectivo Os estados objectivo podem ser explícitos (Em(Bucareste)) ou implícitos (checkmate) Função de custo que atribui um custo numérico a cada caminho Escolhida em função do desempenho pretendido para o agente (rapidez km) Formulação do Problema = estado inicial + acções/ sucessor-fn + teste objectivo + função de custo Solução = sequência de acções que permitem ir desde o estado inicial até um estado objectivo
13 Mundo do aspirador: estados
14 Espaço de Estados: grafo estados? sujidade e localização do robot acções? Esquerda, Direita, Aspirar teste objectivo? não haver sujidade em nenhuma posição função de custo? 1 por acção
15 Exemplo: 8-puzzle estados? Localização das peças acções? Mover espaço esq, dir, cima, baixo teste objectivo? = estado objectivo (dado) função de custo? 1 por movimento [Nota: solução óptima para a família n-puzzle é NP-difícil]
16 Exemplo: montagem estados?: coordenadas das posições chave do robot e do objecto a ser montado acções?: movimentos do robot teste objectivo?: montagem completa função de custo?: tempo de execução
17 Exercício: 8-rainhas Colocar 8 rainhas num tabuleiro 8x8 tal que nenhuma rainha ataca outra rainha (uma rainha ataca outra rainha se estiver na mesma linha, na mesma coluna ou na mesma diagonal)
18 Solução: 8-rainhas Estados: qualquer tabuleiro de 8x8 com 8 rainhas Acções: movimentar uma rainha para uma posição vazia Teste objectivo: 8 rainhas no tabuleiro, nenhuma atacada Função de custo: 1 por movimento
19 Árvores de Procura (1/2) Algoritmo: Simulação da expansão do espaço de procura a partir da geração dos sucessores dos estados já gerados (expansão de estados) Vs. espaço de estados O mesmo estado pode estar em nós diferentes Caminho bem definido
20 Árvores de Procura (2/2) Função ArvoreDeProcura (problema, estratégia) devolve solução ou nãohásolução InicializaArvoreDeProcuraComEstadoInicial(problema) loop se não há candidatos para expansão então devolve nãohásolução EscolheNóFolhaDaArvoreParaExpansao(estratégia) se o nó contém um estado objectivo então devolve solução senão expande o nó e adiciona novos nós à árvore de procura
21 Exemplo: Roménia
22 Árvore de Procura: exemplo Estado inicial Espaço de estados
23 Árvore de Procura: exemplo Existe um único nó folha que pode ser expandido: Arad Nós resultantes da expansão do nó Arad: Sibiu, Timisoara, Zerind
24 Árvore de Procura: exemplo Existem três nós folha que podem ser expandidos: Sibiu, Timisoara, Zerind Nó Sibiu é escolhido pela estratégia de procura como o próximo nó a ser expandido Nós resultantes da expansão do nó Sibiu são adicionados ao conjunto de nós folha
25 Implementação: estados vs. nós Um estado é a representação de uma configuração física Um nó é uma estrutura de dados que constitui parte de uma árvore de procura e que inclui estado, nó pai, acção, custo do caminho g(x), profundidade A função Expande cria novos nós, preenche os vários campos da estrutura nó e usa a função successor-fn do problema para criar os estados correspondentes.
26 Implementação (1/4) Considerem-se definidos os seguintes campos para o tipo NÓ: Estado PaiNó Acção CustoCaminho Profundidade
27 Implementação (2/4) Considerem-se definidas as seguintes funções para o tipo FILA: CriaFila(elemento, ) Vazia?(fila) RemovePrimeiro(fila) Insere(elemento,fila) InsereTodos(elementos,fila)
28 Implementação (3/4) Função ArvoreDeProcura (problema, filafolhas) devolve solução ou nãohásolução filafolhas Insere(CriaNó(EstadoInicial[problema]),filafolhas) loop se Vazia?(filafolhas) então devolve nãohásolução nó RemovePrimeiro(filafolhas) se TesteObjectivo[problema](nó) então devolve solução(nó) filafolhas InsereTodos(Expande(nó,problema),filafolhas)
29 Implementação (4/4) Função Expande (nó, problema) devolve sucessores (conjunto de nós) sucessores conjunto vazio paracada <acção,resultado> em sucessor-fn[problema](estado(nó)) s novo Nó Estado(s) resultado PaiNó(s) nó Acção(s) acção CustoCaminho(s) CustoCaminho(nó) + CustoRamo(Estado(nó), acção, resultado) Profundidade(s) Profundidade(nó) +1 adiciona s aos sucessores devolve sucessores
30 Estratégias de Procura Uma estratégia de procura é caracterizada por escolher a ordem de expansão dos nós Ou em alternativa a ordem de inserção dos nós na fila de folhas
31 Estratégias de Procura As estratégias são avaliadas de acordo com 4 aspectos: Completude: encontra sempre uma solução caso exista (se não existir diz que não há solução) Complexidade temporal: número de nós gerados Complexidade espacial: número máximo de nós em memória Optimalidade: encontra a solução de menor custo Complexidade temporal e espacial são medidas em termos de: r: máximo factor de ramificação da árvore de procura p: profundidade da solução de menor custo (nó com estado inicial tem profundidade 0) m: máxima profundidade do espaço de estados (pode ser )
32 Procura Não Informada Estratégias de procura não informada usam apenas a informação disponível na definição do problema Largura Primeiro Custo Uniforme Profundidade Primeiro Profundidade Limitada Profundidade Iterativa Bi-Direccional Também chamadas estratégias de procura cega
33 Largura Primeiro Expande nó folha de menor profundidade Implementação: folhas colocadas numa fila (FIFO), i.e., novos sucessores são colocadas no fim da lista
34 Largura Primeiro Nó A é expandido: novos nós B e C B está no início da fila: próximo nó a expandir A ordem é irrelevante para nós com a mesma profundidade (pode usar-se ordem alfabética para desempate)
35 Largura Primeiro Nó B é expandido: novos nós D e E C está no início da fila; os outros nós folha (D e E) têm maior profundidade
36 Largura Primeiro Estado actual Fila nós folha: D, E, F, G nós abertos Nós gerados mas ainda não expandidos Nós expandidos: A, B, C nós fechados
37 Largura Primeiro: propriedades Completa? Sim (se r é finito) Tempo? 1+r+r 2 +r 3 + +r p + (r p+1 -r) = O(r p+1 ), i.e. exponencial em p Espaço? O(r p+1 ) (todos os nós por expandir em memória) Óptima? Sim (se custo = 1 por acção); logo não é óptima no caso geral r: máximo factor de ramificação da árvore de procura p: profundidade da solução de menor custo Espaço é o maior problema (mais do que tempo) Se forem gerados nós a 100MB/s então 24h = 8640GB 8.4TB
38 Complexidade: exemplo p=0 A Estado objectivo G Factor de ramificação r=2 Profundidade da solução p=2 p=1 B C Tempo (2 3-2) p=2 D E F G O(2 3 ), i.e, O(r p+1 ) Espaço p=3 H I J L M N O(2 3 ) i.e, O(r p+1 )
39 Exemplo: Roménia Profundidade da Solução? Nº mínimo de nós expandidos até solução? Obs: teste objectivo é feito antes da expansão do nó!
40 Exemplo: solução Profundidade da solução: 3 Nº mínimo de nós expandidos: 12 Obs: estados iguais correspondem a nós diferentes (Arad, Oradea, )
41 Custo Uniforme Expandir nó folha n que tem menor custo g(n) Implementação: folhas = fila ordenada por custo do caminho Equivalente à procura por largura primeiro se todos os ramos tiverem o mesmo custo Completa? Sim, se custo do ramo ε ε é uma constante > 0, para evitar ciclos em ramos com custo 0 Custo do caminho aumenta sempre com a profundidade Tempo? # de nós com g custo da solução óptima, O(r 1+ C*/ε ) onde C * é o custo da solução óptima Todos os ramos com o mesmo custo O(r 1+ C*/ε ) = O(r p+1 ) Espaço? # de nós com g custo da solução óptima, O(r 1+ C*/ε ) Óptima? Sim nós expandidos por ordem crescente de g
42 Custo Uniforme: exemplo D 5 B 2 1 E A 3 F 1 C 2 G Custo associado a cada ramo Ordem de expansão dos nós? Desempate: ordem alfabética Solução encontrada? J L M N
43 Custo Uniforme: exemplo 7 D 2 B 3 E 0 A 4 F 3 C 5 G Ordem de expansão dos nós? A(0), B(2), C(3), E(3), F(4), J(4) Nós folha: G(5), L(5), N(5), D(7), M(7) Solução encontrada? J (custo 4) J L M N
44 Complexidade: exemplo p=0 A 2.1 ε Todos os ramos com custo ε, com excepção do ramo assinalado p=1 B C Objectivo G (C*=3.1ε) Factor de ramificação r=2 p=2 D E F G Tempo e Espaço (2 3-2)+(2 4-4) p=3 O(2 4 ), i.e, O(r 1+ C*/ε ) H I J L M N p=4
45 Profundidade Primeiro Expandir nó folha com a maior profundidade Implementação: listafolhas = fila LIFO (pilha), i.e., sucessores colocados no início da fila
46 Profundidade Primeiro
47 Profundidade Primeiro: propriedades Completa? Não: não encontra a solução em espaços de estados com profundidade infinita/com ciclos Modificação para evitar estados repetidos ao longo do caminho completa em espaços finitos Tempo? O(r m ): problemático se máxima profundidade do espaço de estados m é muito maior do que profundidade da solução de menor custo p Espaço? O(r*m) - espaço linear (só um caminho) Óptima? Não
48 Profundidade Primeiro Implementação: habitualmente recursiva Nós deixam de ser guardados em memória quando todos os seus sucessores são gerados Variante: procura por retrocesso Usa ainda menos memória: O(m) vs. O(r*m) Só é gerado um sucessor de cada vez
49 Profundidade Limitada Profundidade primeiro com limite de profundidade l, i.e., nós com profundidade l não têm sucessores Resolve problema da profundidade infinita Limite pode ser determinado em função do tipo de problema Diâmetro do espaço de estados define máxima profundidade da solução Se p > l não é encontrada solução Complexidade temporal O(r l ) Complexidade espacial O(rl)
50 Exemplo: diâmetro? 9 Distância minima de 9 troços entre quaisquer duas cidades
51 Implementação Recursiva Função ProcuraProfundidadeLimitada (prob,limite) devolve solução ou nãohásolução/corta devolve PPLrecursiva (CriaNó(EstadoInicial[problema]),prob,limite) Função PPLrecursiva (nó,prob,limite) devolve solução ou nãohásolução/corta atingiu_limite? falso se TesteObjectivo[problema](nó) então devolve solução(nó) senão se Profundidade(nó)=limite então devolve corta senão para cada sucessor em Expande(nó,prob) resultado PPLrecursiva (sucessor,prob,limite) se resultado = corta então atingiu_limite verdadeiro senão se resultado corta então devolve resultado se atingiu_limite? então devolve corta senão devolve nãohásolução
52 Implementação Recursiva Algoritmo ProcuraProfundidadeLimitada tem 3 outputs possíveis: Solução: se encontra solução Corta: se não encontra solução mas não chegou a expandir toda a árvore devido ao limite de profundidade Não há solução: se não encontrou solução e expandiu toda a árvore
53 Profundidade Limitada: exemplo A Solução encontrada? Profundidade Primeiro Profundidade Limitada B C l =1 l =2 D E F G J L M N
54 Profundidade Iterativa Profundidade limitada com limite incremental: l=0, l=1, l=2, l=3,, l=p Combina vantagens da largura primeiro e da profundidade primeiro Função ProcuraProfundidadeIterativa (prob) devolve solução ou nãohásolução ciclo limite 0 até resultado ProcuraProfundidadeLimitada(prob,limite) se resultado corta então devolve resultado
55 Profundidade Iterativa l=0
56 Profundidade Iterativa l=1
57 Profundidade Iterativa l=2
58 Profundidade Iterativa l=3
59 Profundidade Iterativa Número de nós gerados na procura em profundidade limitada com profundidade p e factor de ramificação r: N PPL = r 0 + r 1 + r r p-2 + r p-1 + r p Número de nós gerados na procura em profundidade iterativa com profundidade p e factor de ramificação r: N PPI =(p+1)r 0 + pr^1 + (p-1)r^ r p-2 +2r p-1 + 1r p Para r = 10, p = 5, N PPL = , , ,000 = 111,111 N PPI = , , ,000 = 123,456 Esforço adicional = (123, ,111)/111,111 = 11%
60 Profundidade Iterativa: propriedades Completa? Sim Tempo? (p+1)r 0 + pr 1 + (p-1)r r p = O(r p ) Espaço? O(r*p) Óptima? Sim, se custo de cada ramo = 1
61 Procura Bi-Direccional Executar duas procuras em largura em simultâneo Uma a partir do estado inicial (forward, para a frente) Outra a partir do estado final (backward, para trás) Procura termina quando as duas procuras se encontram (têm um estado em comum) Motivação: r p/2 + r p/2 << r p Necessidade de calcular eficientemente os predecessores de um nó Problemática quando estados objectivos são descritos implicitamente (por exº, checkmate)
62 Procura Bi-Direccional: propriedades Completa? Sim, se p é finito e se executa procura em largura primeiro em ambas as direcções Tempo? O(r p/2 ) Espaço? O(r p/2 ) Óptima? Sim, se custo de cada ramo = 1 e se executa procura em largura primeiro em ambas as direcções
63 Resumo dos algoritmos Largura Primeiro Custo Uniforme Profund. Primeiro Profund. Limitada Profund. Iterativa Bi-direccional Completa? Sim a Sim a,b Não Não Sim a Sim a,d Tempo O(r p+1 ) O(r 1+ C*/ε ) O(r m ) O(r l ) O(r p ) O(r p/2 ) Espaço O(r p+1 ) O(r 1+ C*/ε ) O(rm) O(r l) O(rp) O(r p/2 ) Óptima? Sim c Sim Não Não Sim c Sim c,d a completa se r é finito b completa se custo de cada ramo > 0 c óptima se todos os ramos têm o mesmo custo d se ambas as direcções executam procura em largura primeiro
64 Eliminação de Estados Repetidos Não detecção de estados repetidos pode transformar um problema linear em exponencial! Alterar procura em árvore para procura em grafo com análise de nós fechados Optimalidade pode ser afectada se usarmos nós abertos
65 Procura em grafo Função GrafoDeProcura (problema, filafolhas) devolve solução ou nãohásolução fechados conjunto vazio filafolhas Insere(CriaNó(EstadoInicial[problema]),filafolhas) loop se Vazia?(filafolhas) então devolve nãohásolução nó RemovePrimeiro(filafolhas) se TesteObjectivo[problema](nó) então devolve solução(nó) se nó não está em fechados então adiciona Estado(nó) a fechados nó InsereTodos(Expande(nó,problema),filafolhas)
66 Procura com Informação Parcial Problemas nos sensores O estado actual consiste num conjunto de estados acreditados O resultado das acções é conhecido transição entre conjuntos de estados acreditados Problemas de contingência Ambiente parcialmente observável ou resultado das acções é incerto nova informação depois de cada acção Solução dada ao agente é um plano de contingência: acções dependem de condições Problemas de exploração Estados e acções do ambiente são desconhecidos Caso extremo de problema de contingência
Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.1, 3.2 e 3.3
Resolução de problemas por meio de busca Capítulo 3 Russell & Norvig Seções 3.1, 3.2 e 3.3 Agentes de resolução de problemas Agentes reagvos não funcionam em ambientes para quais o número de regras condição-
Leia maisCTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro pauloac@ita.br
CTC-17 Inteligência Artificial Problemas de Busca Prof. Paulo André Castro pauloac@ita.br www.comp.ita.br/~pauloac Sala 110, IEC-ITA Sumário Agentes que buscam soluções para problemas: Exemplo Tipos de
Leia maisSolução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com
Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio http://lmarti.com Python e AI (Re)-introdução ao Python. Problemas de busca e principais abordagens. Exemplos em Python Por que
Leia maisRespostas dos Exercícios Cap. 2 Russell & Norvig
Respostas dos Exercícios Cap. 2 Russell & Norvig 1. (2.2) Uma medida de desempenho e utilizada por um observador externo para avaliar o sucesso de um agente. Uma função de utilidade e utilizada por um
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 10 Distâncias Mínimas Edirlei Soares de Lima Distâncias Mínimas Dado um grafo ponderado G = (V, E), um vértice s e um vértice g, obter o caminho
Leia maisJogos vs. Problemas de Procura
Jogos Capítulo 6 Jogos vs. Problemas de Procura Adversário imprevisível" necessidade de tomar em consideração todas os movimentos que podem ser tomados pelo adversário Pontuação com sinais opostos O que
Leia maisBusca em Espaço de Estados
Busca em Espaço de Estados Jomi Fred Hübner jomi@inf.furb.br FURB / BCC Introdução 2 Agente orientado a meta O projetista não determina um mapeamento entre percepções e ações, mas determina que objetivo
Leia maisFaculdade Alagoana de Administração FAA Ciência da Computação. (Resolução de Problemas em) Espaço de Estados
Faculdade Alagoana de Administração FAA Ciência da Computação (Resolução de Problemas em) Espaço de Estados (Adaptado de O.B. Coelho & G. Bittencourt & C. Moraes) Maria Aparecida Amorim Sibaldo maasibaldo@gmail.com
Leia maisBest-first search. Pesquisa informada. Best-first search Pesquisa gananciosa (greedy) Best-first search
Pesquisa informada Dispomos de informação especifica sobre o problema. Esta informação pode ser disponibilizada por uma função de avaliação que indica o quão desejável é expandir um determinado nó. Best-first
Leia maisResolução de Problemas Com Procura
Resolução de Problemas Com Procura Capítulo 3 (3.1,3.2,3.3,3.4) Relação com o livro Sumário Agentes que resolvem problemas Formulação de problemas Exemplos de problemas Algoritmos de procura básicos Eliminação
Leia maisSatisfação de Restrições. Capítulo 5 (disponível online)
Satisfação de Restrições Capítulo 5 (disponível online) Sumário Problemas de Satisfação de Restrições (CSPs) Procura com Retrocesso para CSPs Procura Local para CSPs Estrutura dos CSPs Problemas de Satisfação
Leia maisMÉ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
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
Leia maisÁrvores. Algoritmos e Estruturas de Dados 2005/2006
Árvores Algoritmos e Estruturas de Dados 2005/2006 Árvores Conjunto de nós e conjunto de arestas que ligam pares de nós Um nó é a raiz Com excepção da raiz, todo o nó está ligado por uma aresta a 1 e 1
Leia maisIA: Busca Competitiva. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br
IA: Busca Competitiva Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Sumário Introdução Árvores de Jogos Minimax Antecipação Limitada Poda Alfa-beta Introdução Jogos têm sido continuamente uma importante
Leia maisIA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br
IA: Problemas de Satisfação de Restrições Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Introdução Um PSR é definido por um conjunto de variáveis X 1, X 2,..., X n, e por um conjunto de restrições,
Leia maisAvaliação de Desempenho
Avaliação de Desempenho Aulas passadas Modelagem de sistemas via cadeias de Markov Aula de hoje Introdução à simulação Gerando números pseudo-aleatórios 1 O Ciclo de Modelagem Sistema real Criação do Modelo
Leia maisProgramação de Sistemas
Programação de Sistemas Introdução à gestão de memória Programação de Sistemas Gestão de memória : 1/16 Introdução (1) A memória central de um computador é escassa. [1981] IBM PC lançado com 64KB na motherboard,
Leia maisJorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.
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
Leia maisAlgoritmos de pesquisa. Tabelas de dispersão/hash
Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor (array). Se o vetor não está ordenado, a pesquisa requer O(n) de
Leia maisBUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES
BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é
Leia maisMeta-heurísticas. Métodos Heurísticos José António Oliveira zan@dps.uminho.pt. meta-heurísticas
Meta-heurísticas 105 meta-heurísticas Propriedades e Características: são estratégias que guiam o processo de pesquisa; - o objectivo a atingir é a exploração eficiente do espaço de pesquisa de modo a
Leia mais6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto
Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para
Leia maisBusca. Pesquisa sequencial
Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes
Leia maisComputação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.
Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia
Leia maisFACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2
FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade
Leia maisGeoMafra SIG Municipal
GeoMafra SIG Municipal Nova versão do site GeoMafra Toda a informação municipal... à distância de um clique! O projecto GeoMafra constitui uma ferramenta de trabalho que visa melhorar e homogeneizar a
Leia maisÁRVORES BINÁRIAS DE PESQUISA
ÁRVORES BINÁRIAS DE PESQUISA Árvores binárias de pesquisa são uma estrutura alternativa do tipo árvore binária, para guardar valores de tal forma que a recuperação dos mesmos pode ser efectuada de forma
Leia maisProjeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br
Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Laboratório de Pesquisa e Desenvolvimento Universidade Federal de Alfenas versão
Leia maisEstruturas de Dados Pilhas, Filas e Deques
Estruturas de Dados Pilhas, Filas e Deques Prof. Eduardo Alchieri Estruturas de Dados Pilhas Pilhas Lista LIFO (Last In, First Out) Os elementos são colocados na estrutura (pilha) e retirados em ordem
Leia maisSimulação Transiente
Tópicos Avançados em Avaliação de Desempenho de Sistemas Professores: Paulo Maciel Ricardo Massa Alunos: Jackson Nunes Marco Eugênio Araújo Dezembro de 2014 1 Sumário O que é Simulação? Áreas de Aplicação
Leia maisFUNDAÇÃO EDUCACIONAL DE ITUIUTABA
FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@yahoo.com
Leia maisPesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) R. P. António Viera, 23. R. Carlos Seixas, 9, 6º
Pesquisa Pesquisa: localização de um Registo num Ficheiro (para aceder ao registo: ler/alterar informação) Ficheiro (ou tabela) Campos Nome Endereço Telefone Antunes, João A. R. P. António Viera, 23 720456
Leia maisInteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF
Inteligência Artificial Prof. Marcos Quinet Pólo Universitário de Rio das Ostras PURO Universidade Federal Fluminense UFF No capítulo anterior... Estratégias de busca auxiliadas por heurísticas (A*, BRPM)
Leia maisJogo de Tabuleiro - Mancala Relatório Final
Jogo de Tabuleiro - Mancala Relatório Final Inteligência Artificial 3º ano do Mestrado Integrado em Engenharia Informática e Computação Elementos do Grupo: Bruno Lima 080509068 bruno.lima@fe.up.pt Pedro
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com
Leia maisIntrodução aos critérios de consulta. Um critério é semelhante a uma fórmula é uma cadeia de caracteres que pode consistir em
Material retirado do site Office online. Introdução aos critérios de consulta Um critério é semelhante a uma fórmula é uma cadeia de caracteres que pode consistir em referências de campo, operadores e
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda
Leia maisDiagrama de transição de Estados (DTE)
Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das
Leia maisEAD Árvore árvore binária
EAD Árvore árvore binária - Uma árvore binária é um conjunto finito de elementos (nodos) que pode ser vazio ou particionado em três subconjuntos: - raiz da árvore (elemento inicial, que é único); - subárvore
Leia maisInteligência Artificial. Prof. Tiago A. E. Ferreira Aula 11 Problemas com Satisfação de Vínculos
Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 11 Problemas com Satisfação de Vínculos 1 Constraint Satisfaction Problems (CSP) Conceitos básicos Busca cega simples e refinada Busca heurística
Leia mais5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação
36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas
Leia maisJavascript 101. Parte 2
Javascript 101 Parte 2 Recapitulando O Javascript é uma linguagem de programação funcional Os nossos scripts são executados linha a linha à medida que são carregados. O código que está dentro de uma função
Leia maisProgramação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1
Conteúdo Página Operações Lógicas Binárias: AND, OR...2 Operações Lógicas Binárias: OR Exclusivo (XOR)...3 Contatos Normalmente Abertos e Normalmente Fechados. Sensores e Símbolos... 4 Exercício...5 Resultado
Leia maisx0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?
Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões
Leia maisCAP. I ERROS EM CÁLCULO NUMÉRICO
CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção
Leia mais28/9/2010. Paralelismo no nível de instruções Processadores superescalares
Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados
Leia maisSistemas Inteligentes Lista de Exercícios sobre Busca
Sistemas Inteligentes Lista de Exercícios sobre Busca 1) A* - Problema do metrô de Paris Suponha que queremos construir um sistema para auxiliar um usuário do metrô de Paris a saber o trajeto mais rápido
Leia maisALGORITMOS DE ORDENAÇÃO. Algoritmos de comparação-e-troca. Bubble Sort Merge Sort Quick Sort
ALGORITMOS DE ORDENAÇÃO ALGORITMOS DE ORDENAÇÃO Algoritmos de comparação-e-troca Bubble Sort Merge Sort Quick Sort 1 BUBBLE SORT Usa a estratégia de comparação-e-troca É constituído por várias fases Cada
Leia maisMúltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II
O seguinte exercício contempla um processo com três estágios. Baseia-se no Inquérito de Satisfação Fase II, sendo, por isso, essencial compreender primeiro o problema antes de começar o tutorial. 1 1.
Leia maisProblemas de Satisfação de Restrições
Computação Inteligente Problemas de Satisfação de Restrições Lucas Augusto Carvalho Mestrado em Ciência da Computação 2011.1 DCOMP - Universidade Federal de Sergipe 1 Conteúdo Problemas de Satisfação de
Leia maisGESTÃO de PROJECTOS. Gestor de Projectos Informáticos. Luís Manuel Borges Gouveia 1
GESTÃO de PROJECTOS Gestor de Projectos Informáticos Luís Manuel Borges Gouveia 1 Iniciar o projecto estabelecer objectivos definir alvos estabelecer a estratégia conceber a estrutura de base do trabalho
Leia maisSolução da prova da 1 a fase OBMEP 2008 Nível 1
OBMEP 00 Nível 1 1 QUESTÃO 1 Como Leonardo da Vinci nasceu 91 anos antes de Pedro Américo, ele nasceu no ano 14 91 = 145. Por outro lado, Portinari nasceu 451 anos depois de Leonardo da Vinci, ou seja,
Leia maisTarefa Orientada 12 Junção Externa, Auto-Junção e União
Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa
Leia maisAMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
Leia maisMicrosoft Office FrontPage 2003
Instituto Politécnico de Tomar Escola Superior de Gestão Área Interdepartamental de Tecnologias de Informação e Comunicação Microsoft Office FrontPage 2003 1 Microsoft Office FrontPage 2003 O Microsoft
Leia maisAutómatos Finitos Determinísticos
Ficha 2 Autómatos Finitos Determinísticos 2.1 Introdução Se olharmos, de forma simplificada, para um computador encontramos três componentes principais: a) A unidade de processamento central b) As unidades
Leia maisÍNDICE... 2 INTRODUÇÃO... 4
Mic crosoft Excel 201 0 ÍNDICE ÍNDICE... 2 INTRODUÇÃO... 4 Interface... 4 Guias de Planilha... 5 Movimentação na planilha... 6 Entrada de textos e números... 7 Congelando painéis... 8 Comentários nas Células...
Leia maisRESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig)
RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig) 1 Tópicos 1. Agentes para resolução de problemas 2. Formulação de problemas 3. Exemplos de problemas 4. Soluções aos problemas
Leia maisAnálise de Algoritmos: Melhor caso, pior caso, caso médio
Análise de Algoritmos: Melhor caso, pior caso, caso médio Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 25 Sumário Rever um problema e um algoritmo que já conhecem. Descrevê-lo em pseudo-código
Leia maisDEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS
DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS Planificação Anual da Disciplina de TIC Módulos 1,2,3-10.ºD CURSO PROFISSIONAL DE TÉCNICO DE APOIO À GESTÃO DESPORTIVA Ano Letivo 2015-2016 Manual adotado:
Leia maisTarefa Orientada 16 Vistas
Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um
Leia maisPossui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.
3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisSumário. Comunicação Multicast. Soluções. Multicast. Application-Level Multicast. October 20, 2008 Algoritmos Epidémicos
Sumário Comunicação Multicast Multicast Application-Level Multicast October 20, 2008 Algoritmos Epidémicos Comunicação Multicast Soluções Multicast designa o envio duma mensagem para múltiplos destinatários.
Leia maisMANUAL DO UTILIZADOR
MANUAL DO UTILIZADOR Versão 1.6 PÁGINA DE PESQUISA A página principal do PacWeb permite a realização de um número muito variado de pesquisas, simples, ou pelo contrário extremamente complexas, dependendo
Leia maisEstabilidade. Carlos Alexandre Mello. Carlos Alexandre Mello cabm@cin.ufpe.br 1
Estabilidade Carlos Alexandre Mello 1 Introdução Já vimos que existem três requisitos fundamentais para projetar um sistema de controle: Resposta Transiente Estabilidade Erros de Estado Estacionário Estabilidade
Leia maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números
Leia maisO Manual do Konquest. Nicholas Robbins Tradução: José Pires
Nicholas Robbins Tradução: José Pires 2 Conteúdo 1 Introdução 5 2 Como Jogar 6 3 Regras do Jogo, Estratégias e Sugestões 9 3.1 Regras............................................ 9 3.2 Estratégias e Dicas.....................................
Leia maisGeoMafra Portal Geográfico
GeoMafra Portal Geográfico Nova versão do site GeoMafra Toda a informação municipal... à distância de um clique! O projecto GeoMafra constitui uma ferramenta de trabalho que visa melhorar e homogeneizar
Leia maisModule Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada
5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 4 Algoritmos e Estruturada Module Introduction Algoritmos e Estruturada Objectivos:
Leia maisProgramação Concorrente em java - Exercícios Práticos Abril 2004
Programação Concorrente em java - Exercícios Práticos Abril 2004 1. Introdução As threads correspondem a linhas de controlo independentes no âmbito de um mesmo processo. No caso da linguagem JAVA, é precisamente
Leia maisProgramação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO
Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO Problemas & Algoritmos Para resolver um problema através dum computador é necessário encontrar em primeiro lugar uma maneira de descrevê-lo
Leia maisUtilização do SOLVER do EXCEL
Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisCapítulo Tabelas e Gráficos
Capítulo O menu de tabelas e gráficos torna possível criar tabelas numéricas de funções guardadas na memória. Poderá também utilizar funções múltiplas para criar tabelas. Como utiliza a mesma lista de
Leia maisMódulo III. Folhas de Cálculo
Módulo III Ferramentas do Office Folhas de Cálculo Ferramentas de produtividade 1 Folhas de Cálculo O que é: Uma Folha de Cálculo é, por tradição, um conjunto de células que formam uma grelha ou tabela
Leia maisÁrvores de Suporte de Custo Mínimo
Árvores de Suporte de Custo Mínimo Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Árvores de Suporte de Custo Mínimo 2014/2015 1 / 28 Árvore de Suporte Uma árvore de suporte ou árvore de extensão
Leia maisCT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches
CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-234 4) Árvores balanceadas AVL, Rubro-Negras, B-Trees Operações em árvores binárias de busca
Leia maisAnálise de complexidade
Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura
Leia maisRegras dos Jogos da Exposição Matemática em Jogo. Alquerque
Regras dos Jogos da Exposição Matemática em Jogo Alquerque (Regras de Afonso X) Colocam-se as peças no tabuleiro (em número de 7 ou 12 para cada jogador), como na figura. Os jogadores jogam alternadamente,
Leia maisPlaneamento de um Posto de Abastecimento de Combustível
Introdução aos Computadores e à Programação 2007/2008, 2º Semestre 1º Trabalho de OCTAVE Planeamento de um Posto de Abastecimento de Combustível 1. Introdução Pretende-se instalar um posto de abastecimento
Leia maisCopyright 1999-2001 Restinfor, Lda
WinREST FrontOffice A Restauração do Séc. XXI Manual de Transição para uro Copyright 1999-2001 Restinfor, Lda Índice Pag. Transição para o Euro... 3 1. Módulo de conversão de valores... 3 2. Interface
Leia mais2. Método de Monte Carlo
2. Método de Monte Carlo O método de Monte Carlo é uma denominação genérica tendo em comum o uso de variáveis aleatórias para resolver, via simulação numérica, uma variada gama de problemas matemáticos.
Leia maisEstrutura de Dados. Unidade VI. -Tabela Hash -Grafos. Prof. Ms. Amilton Souza Martha
Estrutura de Dados Unidade VI -Tabela Hash -Grafos Prof. Ms. Amilton Souza Martha Tabela Hash - Conceitos Um dos maiores problemas encontrados, quando se estuda a alocação de estruturas de dados, é o tempo
Leia maisResolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação
Resolução de problemas por meio de busca Capítulo 3 Inteligência Artificial Sistemas de Informação Conteúdo Um exemplo Resolução de problemas por meio de busca Exemplos de problemas Em busca de soluções
Leia maisInteligência Artificial Taguspark
Inteligência Artificial Taguspark Segundo Teste/ Exame Época Normal 7 de Julho de 2005 Esta prova tem 12 páginas. Preencha cuidadosamente o nome e número de cada página desta prova. Este teste/exame tem
Leia mais01/05/2016. Danillo Tourinho Sancho da Silva, MSc ROTEIRIZAÇÃO TEORIA DOS GRAFOS MOTIVAÇÃO
ROTEIRIZAÇÃO Danillo Tourinho Sancho da Silva, MSc TEORIA DOS GRAFOS MOTIVAÇÃO 1 MOTIVAÇÃO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas do conhecimento Utilizados
Leia maisESTRUTURAS DE DADOS II
ESTRUTURAS DE DADOS II Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Conteúdo Programático 1. Introdução
Leia maisModelo Cascata ou Clássico
Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação
Leia maisAula 2 Modelagem de Sistemas. Introdução Modelo de Base Lógica de 1ª Ordem. Concorrentes
Aula 2 Modelagem de Sistemas Introdução Modelo de Base Lógica de 1ª Ordem Concorrentes 1 Aula 2 Modelagem de Sistemas Introdução Modelo de Base Lógica de 1ª Ordem Concorrentes 2 Constituição dos Sistemas
Leia maisOficina de Construção de Páginas Web
COMPETÊNCIAS BÁSICAS EM TIC NAS EB1 Oficina de Construção de Páginas Web Criação e Publicação Guião Páginas WWW com o editor do Microsoft Office Word 2003 1. Introdução. 2. Abrir uma página Web. 3. Guardar
Leia maisAplicações de Escritório Electrónico
Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Microsoft Word Folha
Leia maisIniciação à Informática
Meu computador e Windows Explorer Justificativa Toda informação ou dado trabalhado no computador, quando armazenado em uma unidade de disco, transforma-se em um arquivo. Saber manipular os arquivos através
Leia maisTrabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores
Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação
Leia maisFluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos
Este procedimento corresponde ao fluxo de trabalho de Indexação de código de barras e de separação de documentos no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se
Leia mais