Grafos em planeamento
|
|
- Zaira Martini Borja
- 6 Há anos
- Visualizações:
Transcrição
1 Planeamento Enquadramento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento
2 Grafos de planeamento Estrutura de dados usada para obter estimativas mais precisas para as heurísticas Solução também pode ser directamente extraída usando o algoritmo GRAPHPLAN
3 Grafos de planeamento S 0 A 0 Consiste numa sequência de níveis que correspondem a instantes de tempo no plano S 0 é o estado inicial Cada nível (S i + A i ) consiste num conjunto de literais e num conjunto de acções S i = Literais ( ) = todos os literais que podem ser verdadeiros nesse instante de tempo, dependendo das acções executadas no instante de tempo anterior A i = Acções ( ) = todas as acções que podem ter as suas précondições satisfeitas nesse instante de tempo, dependendo dos literais verdadeiros nesse instante
4 Grafos de planeamento Significado de podem? Registo de apenas um sub-conjunto restrito de possíveis interacções negativas entre acções Funciona apenas para problemas proposicionais Exemplo em STRIPS: Init(Have(Cake)) Goal(Have(Cake) Eaten(Cake)) Action(Eat(Cake), PRECOND: Have(Cake) EFFECT: Have(Cake) Eaten(Cake)) Action(Bake(Cake), PRECOND: Have(Cake) EFFECT: Have(Cake))
5 Exemplo do bolo Início em S 0 Representa o estado inicial A 0 contém as acções cujas pré-condições são satisfeitas por S 0 Inacção é representada pela persistência de acções () (para cada literal C é adicionado ao grafo uma acção C com pré-condições C e efeito C) Conflitos entre acções são representadas por relações mutex Representadas pelas linhas curvas a cinzento Representam exclusividade mútua: neste caso acção Eat(Cake) tem como efeitos Have(Cake) Eaten(Cake)
6 Exemplo do bolo S 1 contém todos os literais resultantes de qualquer subconjunto de acções em A 0 S 1 contém também relações mutex Contradições: Have(Cake) e Have(Cake), Eaten(Cake) e Eaten(Cake) Outros casos: Have(Cake) e Eaten(Cake) (dependendo da escolha de acções em A0, um ou outro, mas não os dois, pode ser o resultado), Have(Cake) e Eaten(Cake) Consequência de só poder ser escolhida uma acção em A 0
7 Exemplo do bolo Em A1 podem ter lugar as duas acções Relações mutex em A1 Contradições: Have(Cake) e Have(Cake), Eaten(Cake) e Eaten(Cake) Outros casos: Bake(Cake) e Have(Cake), Bake(Cake) e Eat(Cake) (por causa das pré-condições, uma ou outra, mas não as duas, é possível), Eaten(Cake) e Eat(Cake)
8 Exemplo do bolo Continuar até que dois níveis consecutivos tenham os mesmos literais: grafo está leveled off Significa que expansão adicional é desnecessária
9 Exemplo do bolo Uma relação mutex é estabelecida entre duas acções quando: Inconsistência: uma acção nega o efeito da outra e.g. acções Eat(Cake) e Have(Cake) (Have(Cake) pode ser vista como uma acção que tem como pré-condição Have(Cake) e como efeito Have(Cake)) Interferência: um dos efeitos de uma acção é a negação da pré-condição de outra e.g. acções Eat(Cake) e Have(Cake) Competição: uma das pré-condições de uma acção é mutuamente exclusiva em relação à pré-condição de outra e.g. acções Eat(Cake) e Bake(Cake)
10 Exemplo do bolo Relação mutex entre dois literais (suporte inconsistente) quando: Um é a negação do outro Cada par de acções possível que podia produzir esses literais é mutex Em S 1 : literais Have(Cake) e Eaten(Cake) não são possíveis porque a única forma de obter Have(Cake) (acção Have(Cake) ) é incompatível com a única forma de obter Eaten(Cake) (acção Eat(Cake)) Em S 2 : literais Have(Cake) e Eaten(Cake) já são possíveis porque podem ser adquiridos por duas acções compatíveis (Eaten(Cake) e Bake(Cake))
11 Relações mutex: resumo Inconsistência: uma acção nega o efeito da outra
12 Relações mutex: resumo Interferência: um dos efeitos de uma acção é a negação da pré-condição de outra
13 Relações mutex: resumo Competição: uma das pré-condições de uma acção é mutuamente exclusiva em relação à pré-condição de outra
14 Relações mutex: resumo Suporte Inconsistente: Um é a negação do outro Cada par de acções possível que podia produzir esses literais é mutex
15 Grafos de planeamento e heurísticas Planeamento com grafos disponibiliza informação sobre o problema Um literal que não aparece no nível final do grafo não pode ser alcançado por nenhum plano Útil para procura por retrocesso (custo = inf) Nível pode ser usado como estimativa do custo de alcançar literais objectivo = custo de nível Problema: podem ocorrer várias acções em cada nível Restrição a uma acção usando grafos em série (adicionar ligações de exclusividade mútua entre cada par de acções, excepto para acções persistentes) Heurísticas: máximo nível (usa o sub-objectivo com mais nº de níveis), soma de níveis (soma os custos de nível de cada sub-objectivo),
16 Problema relaxado Planeamento com grafos pode ser visto como um problema relaxado que é eficientemente resolvido
17 Obter plano a partir de grafo Um plano válido é obtido a partir de um grafo de planeamento nas seguintes condições: Objectivos são satisfeitos Acções num mesmo nível não interferem uma com as outras (não têm ligações mutex) As pré-condições de cada acção são satisfeitas pelo plano
18 Algoritmo GraphPlan: intuição Gerar o grafo de planeamento até que todos os objectivos sejam alcançados e não se excluam mutuamente Se entretanto o grafo fica levelled off sem que tal aconteça significa que não há solução Procurar um plano válido a partir do grafo Se não for encontrado, adicionar mais um nível ao grafo
19 Algoritmo GraphPlan Como extrair uma solução directamente de um grafo? função GRAPHPLAN(problema) devolve solução ou falha grafo GRAFO-INICIAL-PLANEAMENTO(problema) objectivos OBJECTIVOS[problema] loop se objectivos são todos não mutex no último nível do grafo então solução EXTRAI-SOLUÇÃO(grafo,objectivos,COMPRIMENTO(grafo)) se solução falha então devolve solução senão se NÃO-HÁ-SOLUÇÃO-POSSÍVEL(grafo) então devolve falha grafo EXPANDE-GRAFO(grafo, problema)
20 Procura no grafo Objectivos presentes e não mutex: Escolher acção para alcançar cada objectivo Adicionar pré-condições das acções ao conjunto de objectivos
21 Exemplo: Pneu sobresselente Init(At(Flat, Axle) At(Spare,Trunk)) Goal(At(Spare,Axle)) Action(Remove(Spare,Trunk) PRECOND: At(Spare,Trunk) EFFECT: At(Spare,Trunk) At(Spare,Ground)) Action(Remove(Flat,Axle) PRECOND: At(Flat,Axle) EFFECT: At(Flat,Axle) At(Flat,Ground)) Action(PutOn(Spare,Axle) PRECOND: At(Spare,Ground) At(Flat,Axle) EFFECT: At(Spare,Axle) Ar(Spare,Ground)) Action(LeaveOvernight PRECOND: EFFECT: At(Spare,Ground) At(Spare,Axle) At(Spare,Trunk) At(Flat,Ground) At(Flat,Axle) )
22 Exemplo GRAPHPLAN Inicialmente o plano consiste em 5 literais obtidos a partir do estado inicial (assumindo que o mundo é fechado) Adicionar acções cujas pré-condições sejam satisfeitas por EXPANDE- GRAFO (A 0 ) Adicionar acções de persistência e relações mutex Adicionar os efeitos no nível S 1 Repetir até que o objectivo esteja no nível S i
23 Exemplo GRAPHPLAN Em S 2, o literal objectivo existe e é não mutex em relação a qualquer outro literal Solução pode existir e EXTRAI-SOLUÇÃO tentará encontrá-la EXTRAI-SOLUÇÃO usa um algoritmo de procura: Estado inicial = último nível do grafo e objectivos do problema de planeamento Acções = qualquer selecção de acções não conflituosas que cubram os objectivos nesse estado Objectivo = alcançar o nível S 0 tal que os objectivos sejam satisfeitos Custo = 1 por cada acção
24 Exemplo GRAPHPLAN EXPANDE-GRAFO também procura relações mutex Efeitos inconsistentes E.g. Remove(Sobresselente,Bagageira) e DeixarDuranteANoite Interferência E.g. Remover(Furado,Eixo) e DeixarDuranteANoite Competição E.g. Colocar(Sobresselente,Eixo) e Remover(Furado,Eixo) Suporte inconsistente E.g. em S2, Em(Sobresselente,Eixo) e Em(Furado,Eixo)
25 GRAPHPLAN: solução
26 Observações Será que se pode garantir que se um problema não tem solução, não vai ficar em loop eterno? Como evoluem em número ao longo do grafo? Número de literais Número de acções Número de ligações mutex entre literais Número de ligações mutex entre acções Estas observações são importantes para garantir que se pode obter sempre uma solução recorrendo a grafos de planeamento (ideias para uma prova)
27 Observação 1 p p p p q A q A q A q r q r B q r B q r r r Número de literais aumenta monotonicamente literal que aparece uma vez aparece sempre daí para a frente por causa das acções de persistência ( aumentar monotonicamente significa que literais do nível i são subconjunto dos literais do nível i+1)
28 Observação 2 p p p p q A q A q A q r q r B q r B q r r r Número de acções aumenta monotonicamente uma acção que aparece uma vez aparece sempre daí para a frente como consequência dos literais aumentarem monotonicamente
29 Observação 3 p p p q r A q r q r Ligações mutex entre literais diminuem monotonicamente (considerando que acções/literais que não aparecem são mutex) porque número de literais e acções aumenta monotonicamente
30 Exemplo do bolo Note-se que em S1 há um mutex entre Have(Cake) e Eaten(Cake) e em S2 já não há. Isto deve-se a: Em S1, dependendo da escolha de acções em A0, um ou outro, mas não os dois, pode ser o resultado Em S2, podem vir de acções que não são incompatíveis (Bake(Cake) e Eaten(Cake))
31 Observação 4 p q B p q r s p q r s A C B C A p q r s B C A Ligações mutex entre acções diminuem monotonicamente (considerando que acções/literais que não aparecem são mutex) porque número de literais e acções aumenta monotonicamente
32 Observação 5 Grafo de planeamento levels off /nivela Após a expansão de alguns níveis os últimos níveis são todos iguais Como o espaço é finito (lógica proposicional!), o o número de literais nunca dimuniu e o número de relações mutex nunca aumenta
33 Exemplo GRAPHPLAN Portanto: Termina? SIM Grafos de planeamento são monotonamente crescentes ou decrescentes: Literais aumentam monotonamente: um literal que apareça num estado aparece em todos os estados seguintes Acções aumentam monotonamente Mutexes diminuem monotonamente Devido a estas propriedades e ao facto de existir um número limitado de acções e literais, qualquer procura em grafo termina
34 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento
35 Planeamento com lógica proposicional (SAT): intuição Traduzir um problema de planeamento para lógica proposicional e aplicar um algoritmo para SAT para encontrar um modelo que corresponde a um plano válido
36 Planeamento com lógica proposicional (SAT) Planeamento com SAT: testar a satisfação de uma frase em lógica proposicional (na forma normal conjuntiva CNF): Frase contém proposições para a ocorrência de qualquer acção initial state " all possible action descriptions " goal Um modelo atribui verdadeiro às acções que fazem parte do plano correcto e falso às outras Uma atribuição que corresponde a uma plano incorrecto não será um modelo porque entrará em conflito com a necessidade do objectivo ser verdadeiro Se não existir nenhum plano possível então a frase será não satisfazível (não há nenhuma solução possível)
37 Algoritmo SATPLAN: intuição Objectivo é encontrar um plano exequível no menor espaço de tempo Em que cada acção ou conjunto de acções realizadas em paralelo corresponde a uma unidade de tempo Começar com T=0 e codificar em CNF o estado inicial, o objectivo e as acções para T=0 Ir incrementando o valor de T até encontrar uma solução usando um algoritmo SAT A partir da solução obter plano
38 SATPlan: arquitectura
39 Algoritmo SATPLAN função SATPLAN(problema, T max ) devolve solução ou falha inputs: problema, um problema de planeamento T max, um limite superior para o comprimento do plano para T = 0 T max cnf, mapeamento TRADUZ-PARA_SAT(problema, T) atribuição SAT-SOLVER(cnf) se atribuição não é vazia então devolve falha devolve EXTRAI-SOLUÇÃO(atribuição, mapeamento)
40 cnf,mapeamento TRADUZ-PARA_SAT(problema,T) Proposições diferentes para factos em cada instante de tempo Cada proposição tem um instante de tempo associado Em(A1,SFO) 0 Em(A2,JFK) 0 Não podemos assumir que o mundo é fechado logo temos que especificar que proposições não são verdadeiras Em(A1,JFK) 0 Em(A2,SFO) 0 Proposições desconhecidas não são especificadas Estado inicial está associado ao instante 0 Objectivo está associado ao instante T (comprimento do plano)
41 cnf,mapeamento TRADUZ-PARA_SAT(problema,T) Como determinar o instante de tempo T em que o objectivo será alcançado? Começar em T=0 Verificar Em(A1,JFK) 0 Em(A2,SFO) 0 Se falha... Tentar T=1 Verificar Em(A1,JFK) 1 Em(A2,SFO) 1 Repetir este processo até que um caminho de comprimento mínimo seja alcançado Terminação é assegurada por T max
42 cnf,mapeamento TRADUZ-PARA_SAT(problema,T) Como codificar acções em lógica proposicional? Versão proposicional dos axiomas de estado sucessor Em(A1,JFK) 1 (Em(A1,JFK) 0 (Voa(A1,JFK,SFO) 0 Em(A1,JFK) 0 )) (Voa(A1,SFO,JFK) 0 Em(A1,SFO) 0 ) Este tipo de axiomas é necessário para cada avião, aeroporto e instante de tempo Se tivermos mais aeroportos temos de acrescentar mais informação Uma vez construídos estes axiomas, um algoritmo para lógica proposicional (SAT) pode começar a procurar um plano
43 atribuição SAT-SOLVER(cnf) MAS... com esta codificação podem ser encontrados vários modelos que NÃO são satisfatórios: (para T=1) Voa(A1,SFO,JFK) 0 Voa(A1,JFK,SFO) 0 Voa(A2,JFK,SFO) 0 A segunda acção não é possível Ainda que o plano seja um modelo da frase initial state " all possible action descriptions " goal Evitar acções impossíveis através de axiomas de précondição Voa(A1,SFO,JFK) 0 Em(A1,JFK) 0 Agora existe apenas um modelo que satisfaz todos os axiomas e para o qual o objectivo é alcançado em T=1
44 atribuição SAT-SOLVER(cnf) E se se acrescentar um terceiro aeroporto? Não devia ser possível um avião voar para dois destinos ao mesmo tempo! Voa(A1,SFO,JFK) 0 Voa(A2,JFK,SFO) 0 Voa(A2,JFK,LAX) 0 A terceira acção não é possível Ainda que um plano possa conter acções irrelevantes Evitar acções irrelevantes: axiomas de exclusividade de acções (Voa(A2,JFK,SFO) 0 Voa(A2,JFK,LAX) 0 ) Evita acções simultâneas Perca de flexibilidade porque o plano tem de ser totalmente ordenado: não podem ocorrer acções no mesmo instante de tempo Usar exclusões parciais limitadas a pré-condições: duas acções não podem ocorrer simultaneamente se uma delas nega a précondição ou efeito da outra
45 Planeamento O problema de planeamento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens para planeamento
46 Análise das abordagens de planeamento Planeamento é uma área de grande interesse em IA Procurar uma solução Provar construtivamente a existência de uma solução O maior problema é a possibilidade de uma explosão combinatória no número de estados
Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento. Capítulo 11 (disponível online)
Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento Capítulo 11 (disponível online) O que é o planeamento? Um sistema de planeamento consiste num algoritmo
Leia maisBaseado nos slides de Tom Lenarts (IRIDIA) Planeamento. Capítulo 11 Online
Baseado nos slides de Tom Lenarts (IRIDIA) Planeamento Capítulo 11 Online Planeamento O problema de planeamento: linguagens Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos
Leia maisGrafos de Planejamento
Grafos de Planejamento O planejador Graphplan Grafo de Planejamento [Blum&Furst 1997] Grafo de níveis: seqüência de níveis que correspondem a passos de tempo no plano. Nível 0 é o estado inicial. níveli:
Leia maisBaseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento. Capítulo 11 (disponível online)
Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento Capítulo 11 (disponível online) O que é o planeamento? Um sistema de planeamento consiste num algoritmo
Leia maisPlaneamento com procura em espaço de estados
Planeamento Enquadramento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento de ordem parcial Grafos em planeamento Planeamento com lógica proposicional Análise das abordagens
Leia maisPlaneamento Clássico
Planeamento Clássico Sumário O que é Planeamento (clássico) Linguagens Representação para Planeamento Planeamento com Procura em Espaço de Estados Procura para a frente Procura para trás Heurísticas para
Leia maisSituações como resultados de ações no mundo. Wumpus
Situation Calculus planejamento como dedução em lógica de primeira ordem Estado inicial é uma situação; Result(s, a) é uma situação, para o estado s e a ação a; Estados são situações uma situação é gerada
Leia maisPlanejamento em IA. Blackbox Graphplan + SATplan. Leliane Nunes de Barros
Planejamento em IA Blackbox Graphplan + SATplan Introdução SATplan métodos para compilar problemas de planejamento em fórmulas proposicionais (CNF) resolvidas por algoritmos SAT sistemáticos e estocásticos.
Leia maisGrafos de Planejamento. iane Nunes de Barros. Adaptado de Lectures Slides of Automated Planning: theory and practice (
Grafos de Planejamento Grafo de Planejamento: motivação Uma das razões da ineficiência dos algoritmos de busca é o fator de ramificação da árvore de busca, isto é, o número de filhos de cada nó Por exemplo:
Leia maisPlanejamento & Escalonamento O algoritmo FF-métrico. Aldebaran Perseke 3 de abril de 2003
Planejamento & Escalonamento O algoritmo FF-métrico Aldebaran Perseke aldeba@ime.usp.br 3 de abril de 2003 Planejamento & Escalonamento Problemas de planejamento e escalonamento envolvem os seguintes aspectos:
Leia maisBaseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity) Capítulo 11
Baseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity) Planeamento Capítulo 11 Planeamento Enquadramento Linguagens para planeamento Planeamento com procura em espaço de estados Planeamento
Leia maisPROCURA E PLANEAMENTO
PROCURA E PLANEAMENTO Primeiro Exame 10 de Janeiro de 2012 9:00-11:30 Este exame é composto por 16 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.
Leia maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Algoritmos em Grafos Estruturas de Dados para Conjuntos Disjuntos Programação Linear Programação Dinâmica Algoritmos Greedy
Leia maisLógica Computacional Aula 4
Lógica Computacional Aula 4 DCC/FCUP 2017/18 Conteúdo 1 Lógica proposicional 1 1.1 Fórmulas de Horn.......................................... 1 1.2 Satisfazibilidade............................................
Leia maisInteligência Artificial Alameda e Taguspark
Inteligência Artificial Alameda e Taguspark Repescagem do Segundo Teste 13 de Feveiro de 2009 17H00-17H30 Nome: Número: Este teste tem 8 perguntas e 7 páginas. Escreva o número em todas as páginas. Deve
Leia maisINF 1771 Inteligência Artificial
INF 1771 Inteligência Artificial Aula 12 Planejamento Edirlei Soares de Lima Introdução Agentes vistos anteriormente: Agentes baseados em busca. Busca cega; Busca heurística; Busca
Leia maisPROCURA E PLANEAMENTO
PROCURA E PLANEAMENTO Primeiro Exame 20 de Janeiro de 2009 17:00-19:30 Este exame é composto por 14 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.
Leia maisMétodos de Verificação
Método de Na construção de derivações no sistema de cálculo de sequentes: Na aplicação de cada regra, só a manipulação referente à fórmula principal é informativa. A cópia dos contextos revela-se assim
Leia maisAnálise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34
Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais
Leia maisComplexidade de Algoritmos
Compleidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Reduções de Problemas X NP-Completo
Leia maisInteligência Artificial 2008/09 E z D
/Jan/009 9h-h Inteligência Artificial 008/09 DI/FCT/UNL, Duração: 3h Exame: Época Normal GRUP I I.) Considere o seguinte grafo de estados de um problema de procura. s valores apresentados nos arcos correspondem
Leia maisCAL ( ) MIEIC/FEUP Técnicas de Concepção de Algoritmos, CAL MIEIC/FEUP, Fev. de Técnicas de Concepção de Algoritmos. .
1 Técnicas de Concepção de Algoritmos (1ª parte): algoritmos gananciosos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Fevereiro de 2011 2 Algoritmos gananciosos (greedy
Leia maisPROCURA E PLANEAMENTO
PROCURA E PLANEAMENTO Primeiro Exame 13 de Janeiro de 2007 11:00-13:30 Este exame é composto por 13 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.
Leia maisInteligência Artificial Alameda e Taguspark
Inteligência Artificial Alameda e Taguspark Segundo Teste 05 de Janeiro de 2009 9H00-10H30 Nome: Número: Este teste tem 8 perguntas e 6 páginas. Escreva o número em todas as páginas. Deve ter na mesa apenas
Leia maisLógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur
Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo
Leia maisAlgoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40
Algoritmos Greedy Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/2015 1 / 40 Algoritmos Greedy Vamos falar de algoritmos greedy. Em português são conhecidos como: Algoritmos
Leia maisPCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 1 de novembro de 2018 Marco Antonio
Leia maisFundamentos de Programação
Fundamentos de Programação Solução do Segundo Teste 23 de Janeiro de 2012 09:00 10:30 Nome: Número: 1. (1.0) Explique em que consiste a abstracção de dados, usando os termos barreiras de abstracção, encapsulação
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/26 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
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 maisInteligência Artificial - IA. Resolução de problemas por meio de busca
Resolução de problemas por meio de busca 1 Agente reativo - definido por ação reação Agente de resolução de problemas (ou baseado em objetivos) encontra sequencias de ações que leva ao estado desejável.
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, do Inglês Constraint Satisfaction Problems ) Procura com Retrocesso para CSPs Procura Local
Leia maisistemas Inteligentes,
istemas Inteligentes, 12-13 1 Cap. 11: PLANNING Uma vez tendo estabelecido um conjunto de estados e construído um modelo completo e correto, precisamos traçar um plano de ação de forma que o agente possa
Leia maisLógica Proposicional
Lógica Proposicional Lógica Computacional Carlos Bacelar Almeida Departmento de Informática Universidade do Minho 2007/2008 Carlos Bacelar Almeida, DIUM LÓGICA PROPOSICIONAL- LÓGICA COMPUTACIONAL 1/28
Leia mais1 Lógica de primeira ordem
1 Lógica de primeira ordem 1.1 Sintaxe Para definir uma linguagem de primeira ordem é necessário dispor de um alfabeto. Este alfabeto introduz os símbolos à custa dos quais são construídos os termos e
Leia maisLógica Computacional
Lógica Computacional DCC/FCUP 2018/19 Conteúdo 1 Introdução à Programação em Lógica 1 1.1 Fórmulas de Horn.......................................... 1 1.2 Satisfazibilidade de Cláusulas....................................
Leia maisInteligência Artificial Taguspark
Inteligência Artificial Taguspark Repescagem do Segundo Teste 22 de Julho de 2006 9H00-10H30 Nome: Número: Este teste tem 10 perguntas e 10 páginas. Escreva o número em todas as páginas. Deve ter na mesa
Leia maisBusca com informação e exploração. Inteligência Artificial
Busca com informação e exploração (Capítulo 4 - Russell) Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura Busca pela melhor escolha Busca gulosa pela melhor escolha Busca
Leia maisCIC 111 Análise e Projeto de Algoritmos II
CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 19 Paths and circuits Eulerian paths Hamiltonian paths De Bruijn sequences Knight s
Leia maisUsar a implementação Prolog do A*
Usar a implementação Prolog do A* 2018/09/16 O algoritmo A* serve para resolver problemas. Basicamente, descobre a sequência de passos necessários para converter um estado inicial num estado final (ou
Leia maisCEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01
. CEFET/RJ Disciplina: Inteligência Artificial Professor: Eduardo Bezerra Lista de exercícios 01 Créditos: alguns itens desta lista são adaptados do material da disciplina CS188 - Artificial Intelligence
Leia maisAgentes Lógicos. Capítulo 7 (online)
Agentes Lógicos Capítulo 7 (online) Sumário Agentes baseados em conhecimento O mundo do Wumpus Lógica em geral Lógica proposicional (Booleana) Equivalência, validade, satisfação Regras de inferência e
Leia maisLógica Computacional (CC2003)
Lógica Computacional (CC2003) Nelma Moreira Lógica Computacional 21 Conteúdo 1 Mais Teorias (decidíveis) 1 1.1 Resolução para a lógica proposicional................ 4 1.2 Cláusulas...............................
Leia maisAula 8: Tableaux Analíticos
Lógica para Computação Segundo Semestre, 2014 Aula 8: Tableaux Analíticos DAINF-UTFPR Prof. Ricardo Dutra da Silva O métodos de Dedução Natural não permite inferir a falsidade de um sequente, ou seja,
Leia maisLinguagens Não-Regulares
Linguagens Não-Regulares Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Linguagens Não-Regulares DCC-UFMG (2018/02)
Leia maisAula 1: Introdução ao curso
Aula 1: Introdução ao curso MCTA027-17 - Teoria dos Grafos Profa. Carla Negri Lintzmayer carla.negri@ufabc.edu.br Centro de Matemática, Computação e Cognição Universidade Federal do ABC 1 Grafos Grafos
Leia maisExercícios de Procura e Planeamento 2013/2014
Exercícios de Procura e Planeamento 203/204 Fausto lmeida ula Prática de PP apítulo 2 apítulo 2 Estratégias ásicas de Procura Heurística Exercício onsidere o seguinte espaço de estados, com estado inicial,
Leia maisProblemas de Fluxo em Redes
CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação
Leia maisProcura Informada. Capítulo 4
Procura Informada Capítulo 4 Sumário Procura Melhor Primeiro Procura Gananciosa Procura A * Heurísticas Procura local Árvore de Procura Uma estratégia de procura determina a ordem de expansão dos nós As
Leia mais4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos
46 4 Modelos Propostos para Otimização de Planejamentos com Restrições de Precedência 4.1 Representação com Algoritmos Genéticos Para definir a representação de um modelo para problemas de planejamento
Leia mais6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES?
6. QUAIS AS TÉCNICAS E RESPECTIVOS CRITÉRIOS DE TESTE EXISTENTES? Atualmente existem muitas maneiras de se testar um software. Mesmo assim, existem as técnicas que sempre foram muito utilizadas em sistemas
Leia maisAlgoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I Conceitos Básicos Profa. Márcia Cristina Moraes Profa.Milene Selbach Silveira Material para estudo: Forbellone, A. e Eberspächer, H. (2005) capítulos 1 e 2 (até atribuição)
Leia maisLógica para Computação Segundo Semestre, Aula 10: SAT. Prof. Ricardo Dutra da Silva. ( p (q ( q r))) ( p r) ( p q) ( p q r) p r.
Lógica para Computação Segundo Semestre, 2014 Aula 10: SAT DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. SAT é o problema de decidir se existe uma valoração que satisfaça uma fórmula proposicional.
Leia maisPlanejamento em Inteligência Artificial
Planejamento em Inteligência Artificial Anderson Amorim Lucas Leal Maíra Freitas Ricardo Igor Thiago Bomfim Túlio Miranda Departamento de Ciência da Computação Universidade Federal da Bahia (UFBA) Introdução
Leia maismétodo de solução aproximada
método de solução aproximada Definir - Representação - Objectivo - Função de avaliação 73 Representação do problema - Definição das variáveis de decisão do modelo escolhido para o problema real. Importante
Leia maisProblema do Caminho Mínimo
Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.
Leia mais2.3.4 Algoritmos de SAT
114 CAÍTULO 2. LÓGICA ROOSICIONAL 2.3.4 Algoritmos de SAT Os algoritmos de SAT (do inglês satisfiability ) têm o objectivo de determinar se uma dada fbf α é satisfazível ou não; em caso afirmativo, devolvem
Leia maisLinguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da
istemas de Apoio à Decisão Clínica, 09-1 1 Linguagem com sintaxe e semântica precisas: lógica. Mecanismo de inferência: derivado da sintaxe e da semântica. Importante: distinguir entre os fatos e sua representação
Leia maisProcessos e Concorrência
Processos e Concorrência Exercícios 14 de Setembro de 2007 1. Considere a seguinte rede de petri elementar que modela um protocolo de conversa cruzada. stop1 wait1 ack1 echo2 start1 idle1 sent1 sent2 idle2
Leia maisLógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur
Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo
Leia maisO grau de saída d + (v) de um vértice v é o número de arcos que tem
Grafos Direcionados Definição (Grau de Entrada) O grau de entrada d (v) de um vértice v é o número de arcos que tem v como cabeça. Definição (Grau de Saída) O grau de saída d + (v) de um vértice v é o
Leia maisMatemática para Ciência de Computadores
Matemática para Ciência de Computadores 1 o Ano - LCC & ERSI Luís Antunes lfa@ncc.up.pt DCC-FCUP Complexidade 2002/03 1 Teoria de Conjuntos Um conjunto é uma colecção de objectos/elementos/membros. (Cantor
Leia maisArquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Requisitos de uma Secção Crítica Requisitos de uma Secção Crítica Antes de analisarmos as várias soluções para assegurar que um bloco
Leia maisPlaneamento em Robótica
PLANEAMENTO AUTOMÁTICO - Em Inteligência Artificial, Geração Automática de Planos estuda a resolução de um problema original através da decomposição em subproblemas mais elementares, propondo uma resolução
Leia maisPROCURA E PLANEAMENTO
PROCURA E PLANEAMENTO Primeiro Exame 31 de Janeiro de 2006 17:00-19:00 Este exame é composto por 12 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.
Leia maisEspaços Euclidianos. Espaços R n. O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais:
Espaços Euclidianos Espaços R n O conjunto R n é definido como o conjunto de todas as n-uplas ordenadas de números reais: R n = {(x 1,..., x n ) : x 1,..., x n R}. R 1 é simplesmente o conjunto R dos números
Leia mais(Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina
Verificação de Modelos (Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina Cîrstea Agenda Lógica Temporal Lógica de Árvore de Computação (CTL) Verificação de Modelo do CTL Caminhos
Leia maisBusca Cega (Exaustiva) e Heurística. Busca Aula 2
Busca Cega (Exaustiva) e Heurística Busca Aula 2 Ao final desta aula a gente deve saber: Conhecer as várias estratégias de realizar Busca não-informada (Busca Cega) Determinar que estratégia se aplica
Leia maisINE Fundamentos de Matemática Discreta para a Computação
INE5403 - Fundamentos de Matemática Discreta para a Computação ) Fundamentos.1) Conjuntos e Sub-conjuntos.) Números Inteiros.3) Funções.4) Seqüências e Somas.5) Crescimento de Funções Seqüências Uma seqüência
Leia maisInteligência Artificial
Inteligência Artificial Primeiro Teste 29 de Outubro de 2014 18:00-19:30 Este teste é composto por 8 páginas contendo 7 grupos de perguntas. Para perguntas com resposta de escolha múltipla, respostas erradas
Leia maisÉ neste ponto que entra o conceito de lógica de programação.
AULA 01 OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO A lógica é a ciência do pensamento correto. Esta declaração não implica, contudo, em afirmar que ela seja a ciência da verdade.
Leia maisimpossível conclusão falso premissas verdadeiro
Argumento Definição: Um argumento é uma sequência de enunciados(proposições) na qual um dos enunciados é a conclusão e os demais são premissas, as quais servem para provar ou, pelo menos, fornecer alguma
Leia maisSEBENTA INTRODUÇÃO Á ALGORITMIA
SEBENTA INTRODUÇÃO Á ALGORITMIA O desenvolvimento de programas para computador está sempre baseado na tarefa de programar um computador para seja resolvido um problema ou executada uma função e assim dar
Leia maislnteligência Artificial
lnteligência Artificial Busca Heurística - Informada Estratégias de Busca Heurística Usam conhecimento específico do problema na busca da solução Mais eficientes que busca não informada Busca Informada
Leia maisEstruturas de Controlo Repetitivo. APROG (Civil) Aula 8
Estruturas de Controlo Repetitivo APROG () Aula 8 Estruturas de Controlo Condicional As linguagens de programação, como o VBA, têm estruturas que permitem repetir blocos de instruções. Uma dessas estruturas
Leia maisComunicação. Capítulo 22 (Secções 1-3)
Comunicação Capítulo 22 (Secções 1-3) Sumário Comunicação Gramática Análise sintáctica (Parsing) Comunicação Perspectiva clássica (anterior a 1953) Linguagem consiste em frases que são V/F Wittgenstein
Leia maisComplexidade de Algoritmos. Edson Prestes
Edson Prestes O limite superior de complexidade de um problema refere-se ao melhor algoritmo que o resolve. nlog 2 n é um limite superior para o problema de classificação. O limite inferior de um problema
Leia maisEngenharia de Software 2006/2007
Instituto Superior Técnico Engenharia de Software 2006/2007 Segundo Teste (perguntas 5-10, 70 minutos) Primeiro Exame (perguntas 1-10, 120 minutos) 29/6/2007 Nome: Número: Escreva o seu número em todas
Leia maisLógica Computacional
Aula Teórica 9: Forma Normal Conjuntiva Departamento de Informática 21 de Março de 2011 O problema Como determinar eficazmente a validade de uma fórmula? Objectivo Determinar a validade de raciocínios
Leia maisNelma Moreira. Aula 17
Lógica e Programação Nelma Moreira Aula 17 Conteúdo 1 Programação em Lógica 1 1.1 Resolução para a lógica proposicional................ 1 1.2 Cláusulas............................... 3 1.3 Conversão para
Leia maisAlguns comentários. Segunda prova. Programação dinâmica em grafos. Guloso em grafos. Algoritmos p. 1
Alguns comentários Segunda prova Programação dinâmica em grafos Guloso em grafos Algoritmos p. 1 Problema dos intervalos disjuntos Problema: Dados intervalos [s[1],f[1]),...,[s[n],f[n]), encontrar coleção
Leia maisINTELIGÊNCIA ARTIFICIAL
INTELIGÊNCIA ARTIFICIAL Segundo Exame 11 de Julho de 2006 9:00-11:00 Este exame é composto por 11 páginas contendo 8 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.
Leia maisInteligência Artificial
Inteligência Artificial Segundo Teste 15 de Janeiro de 2014 9:00-10:30 Este teste é composto por 11 páginas contendo 7 grupos de perguntas. Para perguntas com resposta de escolha mu ltipla, respostas erradas
Leia maisTeoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE
Ruy J. G. B. de Centro de Informática, UFPE 2007.1 Conteúdo 1 Seqüências Definição Uma seqüência é uma função cujo domíno é um número natural ou N. Uma seqüência cujo domínio é algum número natural n N
Leia maisWeb Presentation Patterns - Controllers
Instituto Superior Técnico 29 de Novembro de 2004 1 2 3 Page Controller Front Controller 4 5 Porquê Usar Web Applications Não necessita instalar software no cliente. Acesso universal fácil. Interface comum
Leia maisInformática para Ciências e Engenharias 2013/14. Teórica 7
Informática para Ciências e Engenharias 2013/14 Teórica 7 Na aula de hoje... Controlo de execução ciclos condicionais while end Exemplos raiz quadrada histograma fórmula química while while e matrizes
Leia maisLógica Computacional
Lógica Computacional Frases Quantificadas Quantificadores e Variáveis Fórmulas Bem Formadas: Sintaxe e Semântica Formas Aristotélicas 21 Outubro 2013 Lógica Computacional 1 Frases Quantificadas - Existem
Leia maisInteligência Artificial
UFRGS 2 Inteligência Artificial Técnicas de Mineração de Dados Árvores de Decisão Regras de Associação Árvores de Decisão As árvores de decisão (AD) são ferramentas poderosas para classificação cuja maior
Leia maisDefinição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.
1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa
Leia maisMARCOS ANTONIO SCHREINER PLANEJAMENTO POR SATISFATIBILIDADE CLAUSAL E NÃO-CLAUSAL BASEADO NA REDE DE PLANOS
MARCOS ANTONIO SCHREINER PLANEJAMENTO POR SATISFATIBILIDADE CLAUSAL E NÃO-CLAUSAL BASEADO NA REDE DE PLANOS Dissertação apresentada como requisito parcial à obtenção do grau de Mestre. Programa de Pós-Graduação
Leia maisanti-simétrica, com elemento mínimo e tal que, dados n, n, n N, se
1 Sistema dedutivo T 1.1 Árvores e árvores etiquetadas Informalmente, uma árvore é uma estrutura constituída por um conjunto de elementos, designados nós, ordenados de um modo particular. Quando se faz
Leia maisMC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016
MC102 Aula 26 Recursão Instituto de Computação Unicamp 17 de Novembro de 2016 Roteiro 1 Recursão Indução 2 Recursão 3 Fatorial 4 O que acontece na memória 5 Recursão Iteração 6 Soma em um Vetor 7 Números
Leia maisPROCURA E PLANEAMENTO
PROCURA E PLANEAMENTO Primeiro Exame 12 de Janeiro de 2006 17:00-19:00 Este exame é composto por 13 páginas contendo 6 grupos de perguntas. Identifique já todas as folhas do exame com o seu nome e número.
Leia maisBCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova 2 Na aula de hoje Técnicas básicas de contagem; Tentativa e Erro; Recursividade.
Leia maisTarefa Orientada 7 Consultas de selecção
Tarefa Orientada 7 Consultas de selecção Objectivos: Consultas de selecção O Sistema de Gestão de Bases de Dados MS Access Consultas As consultas (queries) permitem interrogar a base de dados, de acordo
Leia maisIntrodução à Programação. João Manuel R. S. Tavares
Introdução à Programação João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de
Leia maisINTRODUÇÃO LINGUAGEM C
INTRODUÇÃO LINGUAGEM C Aula 1 TECNOLOGIA EM JOGOS DIGITAIS LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios
Leia maisLógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão
Lógica Computacional Normalização e Formas Normais Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF Algoritmos de Conversão 2 Outubro 2014 Lógica Computacional 1 Forma Normal Negativa - NNF
Leia maisIntrodução à Programação
Introdução à Program João Manuel R. S. Tavares Sumário 1. Ciclo de desenvolvimento de um programa; 2. Descrição de algoritmos; 3. Desenvolvimento modular de programas; 4. Estruturas de controlo de um programa.
Leia mais