Análise e Projeto de Algoritmos

Tamanho: px
Começar a partir da página:

Download "Análise e Projeto de Algoritmos"

Transcrição

1 Análise e Projeto de Algoritmos

2 Classes P e NP P São os problemas que podem ser resolvidos em tempo polinomial por uma Máquina de Turing Determinística. NP São os problemas que podem ser decididos em tempo polinomial por uma Máquina de Turing Não-Determinística.

3 Classes NP NP-difícil Os problemas em NP-difícil são os problemas mais difíceis conhecidos, eles são tão ou mais difíceis que os problemas em NP. Um problema é NP-difícil se todos os problemas NP podem ser reduzidos a ele em tempo polinomial. NP-completo Os problemas em NP-completo são os problemas que estão em NP e são NP-difíceis.

4 Classes NP

5 Redução Se o Problema A é NP-difícil, então o Problema B também é.

6 Problema da Satisfatibilidade Booleana (SAT) Determinar se para um conjunto de n variáveis existe um conjunto de valores booleanos que resulte em verdadeiro para uma determinada fórmula. Existem n variáveis: x 1, x 2,, x n A fórmula booleana possui somente as operações AND ( ), OR ( ) e NOT ( ). Uma fórmula é dita satisfazível se é possível fazer com que ela seja verdadeira. (x 1 x 2 ) ( x 1 x 2 ) (x 3 x 4 ) x 1

7 Problema da Satisfatibilidade Booleana SAT Determinar se para um conjunto de n variáveis existe um conjunto de valores booleanos que resulte em verdadeiro para uma determinada fórmula. x 1 x 2 é satisfazível x 1 = 0 x 2 = 1 x 1 x 1 não é satisfazível

8 Circuíto SAT csat A fórmula SAT representada como um circuito lógico.

9 Forma Normal Conjuntiva SAT CNF SAT A fórmula SAT como uma conjunção (AND) de cláusulas, onde uma cláusula é uma disjunção (OR) de literais. (x 1 x 2 ) ( x 1 x 2 ) ( x 3 x 4 ) ( x 1 ) (x 5 x 6 x 7 x 8 )

10 3-SAT 3-SAT A fórmula SAT é CNF e cada cláusula possui 3 literais. (x 1 x 2 x 7 ) ( x 1 x 2 x 5 ) ( x 3 x 4 x 6 ) (x 5 x 6 x 7 )

11 Teorema de Cook O problema csat é NP-completo. Por redução, CNF SAT e 3-SAT também são NP-completo. Problemas SAT em P: 2-SAT: cada cláusula possui 2 literais Horn SAT: cada cláusula possui no máximo uma variável sem o NOT DNF: é uma disjunção (OR) de cláusulas, onde uma cláusula é uma conjunção (AND) de literais.

12 CNF vs DNF CNF SAT Conjunção (AND) de cláusulas, onde uma cláusula é uma disjunção (OR) de literais. DNF SAT Disjunção (OR) de cláusulas, onde uma cláusula é uma conjunção (AND) de literais.

13 CNF vs DNF CNF SAT Conjunção (AND) de cláusulas, onde uma cláusula é uma disjunção (OR) de literais. DNF SAT Disjunção (OR) de cláusulas, onde uma cláusula é uma conjunção (AND) de literais. Qualquer SAT pode ser representado em CNF em tempo polinomial CNF NP-completo

14 CNF vs DNF CNF SAT Conjunção (AND) de cláusulas, onde uma cláusula é uma disjunção (OR) de literais. DNF SAT Disjunção (OR) de cláusulas, onde uma cláusula é uma conjunção (AND) de literais. Qualquer SAT pode ser representado em CNF em tempo polinomial CNF NP-completo Qualquer SAT pode ser representado em DNF em tempo exponencial DNF P

15 csat para SAT Cada operador possui uma variável de saída. Comece com o último operador. Substitua ele pelas variáveis que o geram e seu operador. Continue a substituição até que todas as variáveis sejam as variáveis iniciais.

16 csat para SAT x 10

17 csat para SAT x 9 x 8 x 7

18 csat para SAT x 9 (x 5 x 6 ) x 7

19 csat para SAT (x 6 x 7 ) (x 5 x 6 ) x 7

20 csat para SAT (x 6 x 7 ) ((x 1 x 2 ) x 6 ) x 7

21 csat para SAT (x 6 (x 1 x 4 x 2 )) ((x 1 x 2 ) x 6 ) (x 1 x 4 x 2 )

22 csat para SAT ( x 4 (x 1 x 4 x 2 )) ((x 1 x 2 ) x 4 ) (x 1 x 4 x 2 )

23 csat para SAT (x 3 (x 1 x 3 x 2 )) ((x 1 x 2 ) x 3 ) (x 1 x 3 x 2 )

24 csat para CNF-SAT Cada operador possui uma variável de saída. Comece com o último operador. Substitua ele pela equivalência de seu operador. Continue a substituição para todos operadores. Substitua cada equivalência de acordo com o operador. A B A B

25 csat para CNF-SAT Cada operador possui uma variável de saída. Comece com o último operador. Substitua ele pela equivalência de seu operador. Continue a substituição para todos operadores. Substitua cada equivalência de acordo com o operador. A B A B A B = ( A B) (A B)

26 csat para CNF-SAT A B = ( A B) (A B)

27 csat para CNF-SAT NOT A B = ( A B) (A B) A B = ( A B) (A B) A B = ( A B) (A B)

28 csat para CNF-SAT NOT A B = ( A B) (A B) A B = ( A B) (A B) A B = ( A B) (A B) AND A B C = ( A (B C)) (A (B C)) A B C = ( A (B C)) (A B C) A B C = ( A B) ( A C) (A B C)

29 csat para CNF-SAT NOT A B = ( A B) (A B) A B = ( A B) (A B) A B = ( A B) (A B) AND A B C = ( A (B C)) (A (B C)) A B C = ( A (B C)) (A B C) A B C = ( A B) ( A C) (A B C) OR A B C = ( A (B C)) (A (B C)) A B C = ( A B C) (A B C)) A B C = ( A B C) (A B) (A C)

30 csat para CNF-SAT x 10

31 csat para CNF-SAT x 10 (x 10 x 8 x 9 x 7 )

32 csat para CNF-SAT x 10 (x 10 x 8 x 9 x 7 ) (x 8 x 5 x 6 )

33 csat para CNF-SAT x 10 (x 10 x 8 x 9 x 7 ) (x 8 x 5 x 6 ) (x 9 x 6 x 7 )

34 csat para CNF-SAT x 10 (x 10 x 8 x 9 x 7 ) (x 8 x 5 x 6 ) (x 9 x 6 x 7 ) (x 6 x 4 )

35 csat para CNF-SAT x 10 (x 10 x 8 x 9 x 7 ) (x 8 x 5 x 6 ) (x 9 x 6 x 7 ) (x 6 x 4 ) (x 7 x 1 x 2 x 4 )

36 csat para CNF-SAT x 10 (x 10 x 8 x 9 x 7 ) (x 8 x 5 x 6 ) (x 9 x 6 x 7 ) (x 6 x 4 ) (x 7 x 1 x 2 x 4 ) (x 5 x 1 x 2 )

37 csat para CNF-SAT x 10 (x 10 x 8 x 9 x 7 ) (x 8 x 5 x 6 ) (x 9 x 6 x 7 ) (x 6 x 4 ) (x 7 x 1 x 2 x 4 ) (x 5 x 1 x 2 ) (x 4 x 3 )

38 csat para CNF-SAT A B = ( A B) (A B) NOT A B = ( A B) (A B) AND A B C = ( A B) ( A C) (A B C) OR A B C = ( A B C) (A B) (A C) x 10 (x 10 x 8 x 9 x 7 ) (x 8 x 5 x 6 ) (x 9 x 6 x 7 ) (x 6 x 4 ) (x 7 x 1 x 2 x 4 ) (x 5 x 1 x 2 ) (x 4 x 3 )

39 CNF-SAT para 3-CNF-SAT Uma fórmula é dada por uma conjunção (AND) de cláusulas, onde uma cláusula é uma disjunção (OR) de literais. Caso 1: a cláusula tem 1 literal Troque x i por (x i x i x i )

40 CNF-SAT para 3-CNF-SAT Uma fórmula é dada por uma conjunção (AND) de cláusulas, onde uma cláusula é uma disjunção (OR) de literais. Caso 2: a cláusula tem 2 literais Troque (x i x j ) por (x i x j x i )

41 CNF-SAT para 3-CNF-SAT Uma fórmula é dada por uma conjunção (AND) de cláusulas, onde uma cláusula é uma disjunção (OR) de literais. Caso 3: a cláusula tem 3 literais Já está na forma correta

42 CNF-SAT para 3-CNF-SAT Uma fórmula é dada por uma conjunção (AND) de cláusulas, onde uma cláusula é uma disjunção (OR) de literais. Caso 4: a cláusula tem mais de 3 literais Troque (x 1 x 2 x m ) por (x 1 x 2 y 1 ) ( y 1 x 3 y 2 ) ( y 2 x 4 y 3 ) ( y m 4 x m 2 y m 3 ) ( y m 3 x m 1 x m )

43 Reduções a partir de SAT

44 Reduções a partir de SAT

45 Exercício Diga se você acha que é possível fazer as seguintes reduções em tempo polinomial e explique. 2-SAT para 3-SAT 3-SAT para 2-SAT CNF-SAT para DNF-SAT DNF-SAT para CNF-SAT

46 Exercício: Solução Diga se você acha que é possível fazer as seguintes reduções em tempo polinomial: 2-SAT para 3-SAT: sim, o problema 3-SAT é muito mais difícil que 2-SAT 3-SAT para 2-SAT: somente se P=NP CNF-SAT para DNF-SAT: somente se P=NP DNF-SAT para CNF-SAT: sim, o problema CNF-SAT é muito mais difícil que DNF-SAT

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos 2018.2 Classes P e NP P São os problemas que podem ser resolvidos em tempo polinomial por uma Máquina de Turing Determinística. NP São os problemas que podem ser decididos

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade 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 mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes A classe P consiste nos problemas que podem ser resolvidos em tempo Polinomial (Problemas tratáveis) A classe NP consiste nos problemas que podem ser verificados em tempo polinomial (Problemas

Leia mais

Agenda. Complexidade Não Determinista A classe NP. A classe Co-NP Reduções de tempo polinomial. Definida por. Exemplos em:

Agenda. Complexidade Não Determinista A classe NP. A classe Co-NP Reduções de tempo polinomial. Definida por. Exemplos em: A Classe NP Agenda Complexidade Não Determinista A classe NP Definida por aceitação em tempo polinomial por NTM s instâncias positivas com provas de tamanho polinomial aceitação por verificadores em tempo

Leia mais

Análise de Algoritmos. Slides de Paulo Feofiloff

Análise de Algoritmos. Slides de Paulo Feofiloff Análise de Algoritmos Slides de Paulo Feofiloff [com erros do coelho e agora também da cris] Algoritmos p. 1 Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução

Leia mais

Problemas NP-completos

Problemas NP-completos Problemas NP-completos Marina Andretta ICMC-USP 15 de setembro de 2015 Marina Andretta (ICMC-USP) sme0216 e 5826 15 de setembro de 2015 1 / 26 Sat é NP-completo Já vimos que o primeiro problema que se

Leia mais

TEORIA DE COMPLEXIDADE

TEORIA DE COMPLEXIDADE TEORIA DE COMPLEXIDADE Fundamentos: classes P e N P Mauricio Ayala-Rincón Grupo de Teoria da Computaç~ao http://ayala.mat.unb.br/tcgroup Instituto de Ciências Exatas Universidade de Brasília, Brasília

Leia mais

Complexidade de Algoritmos

Complexidade 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 mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - 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 mais

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes.

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes. Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução de um problema Π a um problema Π é um algoritmo ALG que resolve Π usando uma subrotina hipotética ALG que

Leia mais

Ló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 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 mais

Busca e Decisão. Problemas de Otimização. Kakuro. P e NP. Pode-se resolver o Kakuro somente resolvendo problemas de decisão?

Busca e Decisão. Problemas de Otimização. Kakuro. P e NP. Pode-se resolver o Kakuro somente resolvendo problemas de decisão? Busca e Decisão Universidade Federal de Ouro Preto Departamento de Computação P e NP Decisão: Respostas SIM ou NÃO Eiste uma clique de tamanho k no grafo? Eiste um preenchimento da mochila com lucro z?

Leia mais

RESOLVENDO O PROBLEMA PSAT COM O AUXÍLIO DA FERRAMENTA DE SOFTWARE LIVRE MINISAT. Aluno: Mikail Campos Freitas Orientador: Prof.

RESOLVENDO O PROBLEMA PSAT COM O AUXÍLIO DA FERRAMENTA DE SOFTWARE LIVRE MINISAT. Aluno: Mikail Campos Freitas Orientador: Prof. RESOLVENDO O PROBLEMA PSAT COM O AUXÍLIO DA FERRAMENTA DE SOFTWARE LIVRE MINISAT Aluno: Mikail Campos Freitas Orientador: Prof. Marcelo Finger INTRODUÇÃO PSAT SOLUÇÕES MODIFICAÇÕES RESULTADOS INTRODUÇÃO

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

Problemas NP-Completos Bolas Mágicas

Problemas NP-Completos Bolas Mágicas NP-Completo 1 Problemas NP-Completos Bolas Mágicas Já vimos antes alguns problemas NP-completos. Um deles é o jogo de cartões perfurados. Quem encontrar uma solução polinomial para o problema geral desse

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Tempo polinomial Verificação de tempo polinomial Diane Castonguay diane@inf.ufg.br Instituto de Informática Universidade Federal de Goiás Tempo polinomial Um algoritmo é

Leia mais

Ló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, 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 mais

Lógica Computacional Aula 4

Ló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 mais

Provadores de Teoremas baseados em contagem

Provadores de Teoremas baseados em contagem Provadores de Teoremas baseados em contagem Eduardo Menezes de Morais lenin@linux.ime.usp.br Orientador: Marcelo Finger Instituto de Matemática e Estatística - USP 16 de novembro de 2008 Eduardo Menezes

Leia mais

P, NP e NP-Completo. André Vignatti DINF- UFPR

P, NP e NP-Completo. André Vignatti DINF- UFPR P, NP e NP-Completo André Vignatti DINF- UFPR Problemas Difíceis, Problemas Fáceis O mundo está cheio de problemas de busca. Alguns podem ser resolvidos eficientemente, outros parecem ser muito difíceis.

Leia mais

Reduções de Problemas Difíceis

Reduções de Problemas Difíceis Reduções de Problemas Difíceis André Vignatti DINF- UFPR Reduções de Problemas Difíceis Na figura abaixo, esquema das reduções que vamos (tentar) ver. Todos problemas NP CIRCUIT SAT SAT 3SAT INDEPENDENT

Leia mais

Agentes Lógicos. Capítulo 7 (online)

Agentes 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 mais

INTRATABILIDADE e NP-COMPLETUDE

INTRATABILIDADE e NP-COMPLETUDE INTRATABILIDADE e NP-COMPLETUDE Sandro Santos Andrade Doutorado Multiinstitucional em Ciência da Computação UFBA/UNIFACS/UEFS Junho/2008 Grafos e Análise de Algoritmos Introdução Para alguns problemas

Leia mais

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Parte 2 Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.2 Última aula

Leia mais

Problemas Intratáveis ou computação eficiente X computação ineficiente

Problemas Intratáveis ou computação eficiente X computação ineficiente Problemas Intratáveis ou computação eficiente X computação ineficiente Problemas Tratáveis Os problemas que podem ser resolvidos em tempo polinomial em um computador típico são exatamente os mesmos problemas

Leia mais

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional 25 de novembro de 2011 Enquanto a teoria de análise de algoritmos estuda a análise de complexidade de algoritmos, a teoria da complexidade estuda a classificação de

Leia mais

Melhores momentos AULA 24. Algoritmos p.906/953

Melhores momentos AULA 24. Algoritmos p.906/953 Melhores momentos AULA 24 Algoritmos p.906/953 Problemas polinomiais Analise de um algoritmo em um determinado modelo de computação estima o seu consumo de tempo e quantidade de espaço como uma função

Leia mais

DIM Resolução e método tableaux DIM / 37

DIM Resolução e método tableaux DIM / 37 DIM0436 21. Resolução e método tableaux 20141014 DIM0436 20141014 1 / 37 Sumário 1 Demostração automática de fórmulas 2 Resolução 3 O método tableaux DIM0436 20141014 2 / 37 1 Demostração automática de

Leia mais

Como saber se um problema está em NP e não está em P?

Como saber se um problema está em NP e não está em P? ? P = NP Uma das principais questões em aberto é se P = NP, isto é, se de fato tudo o que pode ser feito em tempo polinomial por uma MTND poderia ser feito por uma MTD em tempo polinomial, talvez com um

Leia mais

Por que não encontramos algoritmos polinomiais para muitos problemas?

Por que não encontramos algoritmos polinomiais para muitos problemas? Por que não encontramos algoritmos polinomiais para muitos problemas? Talvez não tenhamos AINDA encontrado ou talvez eles sejam MESMO intrinsicamente difíceis 1 Objetivos: Introdução Apresentar o conceito

Leia mais

Por que não encontramos algoritmos polinomiais para muitos problemas?

Por que não encontramos algoritmos polinomiais para muitos problemas? Por que não encontramos algoritmos polinomiais para muitos problemas? Talvez não tenhamos AINDA encontrado ou talvez eles sejam MESMO intrinsicamente difíceis 1 Objetivos: Introdução Apresentar o conceito

Leia mais

Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5)

Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5) Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Conjunto de conectivos completo 2. na

Leia mais

Complexidade Parametrizada - Intratabilidade Uéverton S. Souza - UFF

Complexidade Parametrizada - Intratabilidade Uéverton S. Souza - UFF Uéverton S. Souza - UFF ueverton@ic.uff.br 1 o Workshop Paulista em Otimização, Combinatória e Algoritmos Junho 2017 Intratabilidade - Comlexidade Computacional Teoria da NP-completude Classe P Solucionáveis

Leia mais

Lógica para computação - Propriedades Semânticas da Lógica Proposicional (parte 2/2) Alfabeto Simplificado e Formas Normais

Lógica para computação - Propriedades Semânticas da Lógica Proposicional (parte 2/2) Alfabeto Simplificado e Formas Normais DAINF - Departamento de Informática Lógica para computação - Propriedades Semânticas da Lógica Proposicional (parte 2/2) Alfabeto Simplificado e Formas Normais Prof. Alex Kutzke (http://alex.kutzke.com.br/courses)

Leia mais

Redução de Cook-Levin e Considerações Finais

Redução de Cook-Levin e Considerações Finais Redução de Cook-Levin e Considerações Finais André Vignatti DINF- UFPR Fechando o Ciclo de Reduções Nós reduzimos o SAT para diversos problemas de busca, como mostra a figura: Todos problemas NP CIRCUIT

Leia mais

Lógica para Computação. Álgebra de Boole

Lógica para Computação. Álgebra de Boole Lógica para Computação Álgebra de Boole Formas Normais Definição: diz-se que uma proposição está na forma normal (FN) se e somente se, quando muito, contém os conectivos ~, ^ e v. - Toda proposição pode

Leia mais

Ló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 Lógica Computacional Normalização e Formas Normais Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF Algoritmos de Conversão 30 Setembro 2013 Lógica Computacional 1 Forma Normal Negativa -

Leia mais

FERNANDA AKL FARIA LASMAR ANÁLISE DE DESEMPENHO DE ALGORITMOS PARA O PROBLEMA DA SATISFATIBILIDADE BOOLEANA

FERNANDA AKL FARIA LASMAR ANÁLISE DE DESEMPENHO DE ALGORITMOS PARA O PROBLEMA DA SATISFATIBILIDADE BOOLEANA FERNANDA AKL FARIA LASMAR ANÁLISE DE DESEMPENHO DE ALGORITMOS PARA O PROBLEMA DA SATISFATIBILIDADE BOOLEANA LAVRAS MG 2010 FERNANDA AKL FARIA LASMAR ANÁLISE DE DESEMPENHO DE ALGORITMOS PARA O PROBLEMA

Leia mais

Lógica para Programação

Lógica para Programação Licenciatura Engenharia Informática e de Computadores Lógica para rogramação rimeiro Teste 8 de Maio de 2010 11:00 12:30 Nome: Número: 1. (2.0) Escolha a única resposta correcta para as seguintes questões.

Leia mais

Conhecimento e Raciocínio Lógica Proposicional

Conhecimento e Raciocínio Lógica Proposicional Conhecimento e Raciocínio Lógica Proposicional Agente Baseado em Conhecimento ou Sistema Baseado em Conhecimento Representa conhecimento sobre o mundo em uma linguagem formal (KB) Raciocina sobre o mundo

Leia mais

2.6 O ALGORITMO DPLL. Preliminares

2.6 O ALGORITMO DPLL. Preliminares Preliminares 2.6 O ALGORITMO DPLL Newton José Vieira 05 de agosto de 2007 Base da grande maioria dos algoritmos para o problema da satisfabilidade. Leva esse nome graças a Davis, Putnam, Logemann e Loveland,

Leia mais

2.3.4 Algoritmos de SAT

2.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 mais

Lógica para Computação

Lógica para Computação Aula 07 - Lógica Proposicional 1 Faculdade de Informática - PUCRS August 27, 2015 1 Este material não pode ser reproduzido ou utilizado de forma parcial sem a permissão dos autores. Sinopse Nesta aula,

Leia mais

Paulo Eduardo Rauber. Análise da Solução do Problema do Caminho Hamiltoniano Através de Redução para Problema da Satisfazibilidade Booleana

Paulo Eduardo Rauber. Análise da Solução do Problema do Caminho Hamiltoniano Através de Redução para Problema da Satisfazibilidade Booleana Paulo Eduardo Rauber Análise da Solução do Problema do Caminho Hamiltoniano Através de Redução para Problema da Satisfazibilidade Booleana Florianópolis - SC, Brasil 17 de outubro 2011 Paulo Eduardo Rauber

Leia mais

Provadores de teoremas baseados em contagem

Provadores de teoremas baseados em contagem Provadores de teoremas baseados em contagem Eduardo Menezes de Morais lenin@linux.ime.usp.br Orientador: Marcelo Finger 1 de dezembro de 2008 1 Sumário 1 Introdução 4 2 Conceitos e tecnologias estudadas

Leia mais

2 Preliminares. (ii) α é uma subfórmula de α; (iii) Se γ β é uma subfórmula de α então também são γ, β para =,,.

2 Preliminares. (ii) α é uma subfórmula de α; (iii) Se γ β é uma subfórmula de α então também são γ, β para =,,. 2 Preliminares Com intuito de fixar a notação, apresentaremos, neste capítulo, resultados e definições essenciais que serão utilizados ao longo da tese. Para indicar identidade de duas expressões, usaremos.

Leia mais

Análise e Síntese de Algoritmos

Aná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 mais

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú 5/5/2014 Ruy Luiz Milidiú 1 A Classe NPC 5/5/2014 Ruy Luiz Milidiú 2 Resumo Objetivo Apresentar Classe de Problemas NPC Sumário P, NP, NP-difícil,

Leia mais

Aná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 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 mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Estudo da Tratabilidade de Problemas

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema

Leia mais

Provadores de teoremas baseados em contagem

Provadores de teoremas baseados em contagem Provadores de teoremas baseados em contagem Eduardo Menezes de Morais lenin@linux.ime.usp.br Orientador: Marcelo Finger 2 de fevereiro de 2009 1 Sumário 1 Introdução 4 2 Conceitos e tecnologias estudadas

Leia mais

Lógica Proposicional

Lógica Proposicional Slides da disciplina Lógica para Computação, ministrada pelo Prof. Celso Antônio Alves Kaestner, Dr. Eng. (kaestner@dainf.ct.utfpr.edu.br) entre 2007 e 2008. Alterações feitas em 2009 pelo Prof. Adolfo

Leia mais

Formas Normais para Lógicas Modais

Formas Normais para Lógicas Modais GoBack Formas Normais para Lógicas Modais Cláudia Nalon http://www.cic.unb.br/docentes/nalon nalon@{cic.unb.br, unb.br} Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da

Leia mais

LÓGICA I ANDRÉ PONTES

LÓGICA I ANDRÉ PONTES LÓGICA I ANDRÉ PONTES 4. Lógica Proposicional A Linguagem da Lógica Proposicional Letras Proposicionais: P, Q, R, S, T,... Conectivos Lógicos: Símbolos auxiliares: (, ), = Conectivo Leitura Símbolo Símbolos

Leia mais

Inteligência Artificial Taguspark

Inteligê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 mais

Complexidade computacional

Complexidade computacional Complexidade computacional Marina Andretta ICMC-USP 15 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli, R. Dahab, P. Feofiloff,

Leia mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - 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 5 de dezembro de 2017 Marco Antonio

Leia mais

Jhonatan Alves. Desenvolvimento de um Sistema de Planejamento Automático baseado na redução ao problema SAT

Jhonatan Alves. Desenvolvimento de um Sistema de Planejamento Automático baseado na redução ao problema SAT Jhonatan Alves Desenvolvimento de um Sistema de Planejamento Automático baseado na redução ao problema SAT FLORIANÓPOLIS SC, Brasil Julho de 2013 Jhonatan Alves Desenvolvimento de um Sistema de Planejamento

Leia mais

Complexidade computacional

Complexidade computacional Complexidade computacional CLRS sec 34.1 e 34.2 Algoritmos p. 1 Algumas questões Por que alguns problemas parecem ser (computacionalmente) mais difíceis do que outros? Algoritmos p. 2 Algumas questões

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Operadores Lógicos; Estruturas de Controle (Decisão) Professor: Charles Leite Fluxo de Controle A ordem com que as instruções são executadas em um programa é chamada

Leia mais

Agentes Lógicos. Os agentes baseados no conhecimento:

Agentes Lógicos. Os agentes baseados no conhecimento: Agentes Lógicos A inteligência dos seres humanos é alcançada, não somente por mecanismos puramente reflexos, mas, por processos de raciocínio que operam em representações internas do conhecimento. Em IA,

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Classes de Complexidades de Problemas Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Tempo polinomial Um algoritmo A, com entrada

Leia mais

Teoria dos problemas completos em NP algumas notas

Teoria dos problemas completos em NP algumas notas Teoria dos problemas completos em NP algumas notas 2006/07 Armando B. Matos Índice Conceitos fundamentais (a estudar)......................................................... 2 Problemas de decisão e linguagens

Leia mais

Nelma Moreira. Aula 17

Nelma 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 mais

Lógica Proposicional-2

Lógica Proposicional-2 Lógica Proposicional-2 Conetivas Booleanas Provas informais e formais com conetivas Booleanas Referência: Language, Proof and Logic Dave Barker-Plummer, Jon Barwise e John Etchemendy, 2011 Capítulos: 3-4-5-6

Leia mais

Algoritmos de aproximação

Algoritmos de aproximação Algoritmos de aproximação prof Marcio Delamaro ICC II Um pouco de teoria Existem algoritmos que podem ser executados em tempo polinomial Dado problema de tamanho n, temo O(n k ) A maioria dos algoritmos

Leia mais

Lógica Computacional (CC2003)

Ló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 mais

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.

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. Agenda Análise e Técnicas de Algoritmos Jorge Figueiredo Conceitos básicos Classes de de Complexidade P NP Redução Problemas NPC NP-Completude Introdução Existem alguns problemas computacionais que são

Leia mais

TEORIA DE COMPLEXIDADE

TEORIA DE COMPLEXIDADE UFMG/ICEX/DCC PROJETO E ANÁLISE DE ALGORITMOS TEORIA DE COMPLEXIDADE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 1 O SEMESTRE DE 2008 Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro

Leia mais

Lógica Computacional

Ló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 mais

Polinomial: função de complexidade é O(p(n)), onde p(n) é um polinômio.

Polinomial: função de complexidade é O(p(n)), onde p(n) é um polinômio. UFMG/ICEX/DCC PROJETO E ANÁLISE DE ALGORITMOS Introdução TEORIA DE COMPLEXIDADE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 1 O SEMESTRE DE 2008 Problemas intratáveis ou difíceis são comuns na natureza e nas

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 25

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 25 ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Aula 25 Cap 7.2 A classe P Profa. Ariane Machado Lima ariane.machado@usp.br 1 Cap 7.2 A classe P 2 Tempo polinomial e exponencial Ex: Máquina de tempo n 3 (tempo

Leia mais

Uma Variável Booleana é uma variável com domínio {0,1} (ou, equivalentemente, {falso, verdadeiro}).

Uma Variável Booleana é uma variável com domínio {0,1} (ou, equivalentemente, {falso, verdadeiro}). Ua Variável Booleana é ua variável co doínio {0,1} (ou, equivalenteente, {falso, verdadeiro}). Ua Fórula é ua ligação de variáveis através de conectivos lógicos, ou operadores. ex: F= x3 /\ (( x1/\ x2)

Leia mais

Algoritmia e Programação APROG. Algoritmia 1. Lógica Proposicional (Noções Básicas) Nelson Freire (ISEP DEI-APROG 2013/14) 1/12

Algoritmia e Programação APROG. Algoritmia 1. Lógica Proposicional (Noções Básicas) Nelson Freire (ISEP DEI-APROG 2013/14) 1/12 APROG Algoritmia e Programação Algoritmia 1 Lógica (Noções Básicas) Nelson Freire (ISEP DEI-APROG 2013/14) 1/12 Sumário Lógica Qual é o interesse para a algoritmia? O que é? Cálculo (Noções Básicas) Operações

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Duração: 1h Época de 2018 / 19 1º Teste de Avaliação (sem Consulta) Nome: nº: 1. (2.5 val) Considere os mundos e a linguagem do Mundo de Tarski (com um tabuleiro de 3 3 casas) a) Desenhe

Leia mais

Lógica Computacional

Lógica Computacional Aula Teórica 10: António Ravara Simão Melo de Sousa Departamento de Informática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa Departamento de Informática, Faculdade Engenharia, LISP

Leia mais

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú 5/5/2014 Ruy Luiz Milidiú 1 O Teorema de Cook 5/5/2014 Ruy Luiz Milidiú 2 Resumo Objetivo Apresentar os conceitos básicos necessários ao enunciado

Leia mais

Complexidade computacional

Complexidade computacional Complexidade computacional O Teorema de Nash garante a existência de um equilíbrio em qualquer jogo finito. Mas como encontrar um tal equilíbrio? Teoria dos Jogos p. 1 Complexidade computacional O Teorema

Leia mais

impossível conclusão falso premissas verdadeiro

impossí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 mais

Lógica para Programação

Lógica para Programação Licenciatura Engenharia Informática e de Computadores Lógica para rogramação epescagem do rimeiro Teste 13 de Julho de 2010 09:00 10:30 Nome: Número: Esta prova, individual e sem consulta, tem 9 páginas

Leia mais

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22

Introdução ao Curso. Área de Teoria DCC/UFMG 2019/01. Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG /01 1 / 22 Introdução ao Curso Área de Teoria DCC/UFMG Introdução à Lógica Computacional 2019/01 Introdução à Lógica Computacional Introdução ao Curso Área de Teoria DCC/UFMG - 2019/01 1 / 22 Introdução: O que é

Leia mais

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014 Teoria da Computação 2013/2014 Exercícios 1 Máquinas de Registos Ilimitados 1. Construa programas URM sem módulos que calculem as seguintes funções (a) quatro(x) = 4 (b) sg(x) retorna 0 se x > 0, 1 no

Leia mais

Os Fundamentos: Lógica Proposicional

Os Fundamentos: Lógica Proposicional Os Fundamentos: Lógica Proposicional Área de Teoria DCC/UFMG Introdução à Lógica Computacional 2019/01 Introdução à Lógica Computacional Os Fundamentos: Lógica Proposicional Área de Teoria DCC/UFMG - 2019/01

Leia mais

Definição e avaliação de métricas para solucionadores SAT

Definição e avaliação de métricas para solucionadores SAT Definição e avaliação de métricas para solucionadores SAT Fernando Augusto Fernandes Braz Orientador: Mark Alan Junho Song Departamento de Ciência da Computação PUC Minas 9 de dezembro de 2009 Sumário

Leia mais

Disciplina: Lógica Matemática Prof. Etelvira Leite

Disciplina: Lógica Matemática Prof. Etelvira Leite Disciplina: Prof. Etelvira Leite A álgebra de Boole é um conjunto de postulados e operações lógicas com variáveis binárias desenvolvido pelo matemático e filósofo inglês George Boole (1815-1864). O inglês

Leia mais

MAC Trabalho de Formatura Supervisionado Proposta de Trabalho de Conclusão de Curso

MAC Trabalho de Formatura Supervisionado Proposta de Trabalho de Conclusão de Curso MAC0499 - Trabalho de Formatura Supervisionado Proposta de Trabalho de Conclusão de Curso July 3, 2006 Aluno: Fabio Alexandre Campos Tisovec Supervisor: Marcelo Finger Tema do trabalho: Um provador automático

Leia mais

Aula 4: Álgebra booleana

Aula 4: Álgebra booleana Aula 4: Álgebra booleana Circuitos Digitais Rodrigo Hausen CMCC UFABC 01 de fevereiro de 2013 http://compscinet.org/circuitos Rodrigo Hausen (CMCC UFABC) Aula 4: Álgebra booleana 01 de fevereiro de 2013

Leia mais

Lógica Computacional

Ló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 mais

PCC104 - Projeto e Análise de Algoritmos

PCC104 - 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 17 de fevereiro de 2017 Marco

Leia mais

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional Teoria da Complexidade Computacional Letícia Rodrigues Bueno UFABC Motivação Motivação I can t find an efficient algorithm, I guess I m just too dumb. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and

Leia mais

2.5 FORMAS NORMAIS. Forma normal da negação

2.5 FORMAS NORMAIS. Forma normal da negação Forma normal da negação 2.5 FORMAS NORMAIS Newton José Vieira 05 de agosto de 2007 Definições preliminares: literal: variável proposicional (literal positivo) ou negação de variável proposicional (literal

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Completude de Operadores Booleanos Formas Normais a partir de Tabelas de Verdade Frases Condicionais Operador de Implicação (material) 14 Outubro 2013 Lógica Computacional 1 Completude

Leia mais

01/09/2014. Capítulo 3. Propriedades semânticas da Lógica Proposicional

01/09/2014. Capítulo 3. Propriedades semânticas da Lógica Proposicional Capítulo 3 Propriedades semânticas da Lógica Proposicional 1 Introdução Propriedades Definição 3.1 (propriedades semânticas básicas da Lógica Proposicional) Sejam H, G, H 1, H 2,...,H n, fórmulas da Lógica

Leia mais

Sumário. Capítulo 1 - Conhecendo os Vários Tipos de Problema... 1

Sumário. Capítulo 1 - Conhecendo os Vários Tipos de Problema... 1 Sumário Capítulo 1 - Conhecendo os Vários Tipos de Problema... 1 Capítulo 2 - Problemas sobre Correlacionamento... 7 2.1. Problemas Envolvendo Correlação entre Elementos...7 2.2. Considerações Finais sobre

Leia mais

REDES NEURAIS / INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS 6

REDES NEURAIS / INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS 6 REDES NEURAIS / INTELIGÊNCIA ARTIFICIAL LISTA DE EXERCÍCIOS 6 Aluno: 1. Defina o problema de busca (espaço de estados, estado inicial, estado final, ações possíveis, custo) para o seguinte caso: uma pessoa,

Leia mais

Métodos de Verificação

Mé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 mais

Lógica Computacional

Lógica Computacional Aula Teórica 8: Forma Normal Conjuntiva António Ravara Simão Melo de Sousa Departamento de Informática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa Departamento de Informática, Faculdade

Leia mais

Classes de Complexidade e NP-Completude

Classes de Complexidade e NP-Completude Classes de Complexidade e NP-Completude E. C. Xavier e F. K. Miyazawa Instituto de Computação/Unicamp 8 de outubro de 2009 E. C. Xavier e F. K. Miyazawa (IC/Unicamp) Classes de Complexidade e NP-Completude

Leia mais