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

Documentos relacionados
Supervisor: Prof. Dr. Marcelo Finger Aluno: Fabio Alexandre Campos Tisovec Tipo do trabalho: Projeto

Lógica Computacional

Dedução Natural LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Fundamentos de Lógica Matemática

Conhecimento e Raciocínio Lógica Proposicional

Formas Normais para Lógicas Modais

Análise e Projeto de Algoritmos

Lógica para Computação

Das aplicações da lógica na Computação

Página 1 de 7 PRÓ-REITORIA DE GRADUAÇÃO ANEXO "F" ESCOLA POLITÉCNICA CURRÍCULO IDEAL (EC3-2018) Curso: Engenharia Elétrica - Ênfase em Computação

Lógica. Fernando Fontes. Universidade do Minho. Fernando Fontes (Universidade do Minho) Lógica 1 / 65

Cálculo proposicional

Aula 7: Dedução Natural 2

Afirmações Matemáticas

Aula 3: Linguagem Proposicional

Introdução. Matemática Discreta. Prof Marcelo Maraschin de Souza

Capítulo 3. Álgebra de Bool

(A1) As operações + e são comutativas, ou seja, para todo x e y em A, x + y = y + x e x y = y x

1º PERÍODO Carga horária Teórica Prática Total

PROJETO PARA O CICLO AVANÇADO TÉCNICAS MODERNAS EM COMBINATÓRIA

Obrigatórias diurnas dos grupos. Outras obrigatórias BCC. Carga Didática Planilha COMPADI Sigla Nome Semestre Professor

MAC0499 Trabalho de formatura supervisionado. Proposta de monografia

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

3 Cálculo Proposicional

Matemática para Ciência de Computadores

UNIP Ciência da Computação Prof. Gerson Pastre de Oliveira

LÓGICA APLICADA A COMPUTAÇÃO

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

MAC425/5739 Inteligência Artificial 6. Agentes lógicos

Lógica Computacional

Lógica Computacional

Lógica Computacional DCC/FCUP 2017/18

Capítulo 3 Lógica de Primeira Ordem

Dedução Natural e Sistema Axiomático Pa(Capítulo 6)

Lógica Computacional DCC/FCUP 2017/18

aula 01 (Lógica) Ementa Professor: Renê Furtado Felix Site:

ANEXO I SEQÜÊNCIA ACONSELHADA DE DISCIPLINAS Ciência da Computação

Exemplo 7 1 I. p q: Se o time joga bem, então o time ganha o campeonato. q s: Se o time ganha o campeonato então. s: Os torcedores não estão felizes.

BDD's. (Diagramas de Decisão Binária) Universidade Federal do Rio Grande do Sul UFRGS Lógica para Computação - INF05508

BACHARELADO EM SISTEMAS DE INFORMAÇÃO MATEMÁTICA DISCRETA Aula 1 - Apresentação da disciplina

Figura 4.2: Matriz Curricular

Lógica Computacional

Lógica Computacional Aula 1

3 Provadores de Teoremas

Lógica Proposicional e Dedução Natural 1/48. Douglas O. Cardoso docardoso.github.io

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

UFMT. Ministério da Educação UNIVERSIDADE FEDERAL DE MATO GROSSO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO PLANO DE ENSINO

Técnicas de Demonstração. Raquel de Souza Francisco Bravo 17 de novembro de 2016

Página 1 de 5 PRÓ-REITORIA DE GRADUAÇÃO ANEXO "F" ESCOLA POLITÉCNICA CURRÍCULO IDEAL (EC3-2018) Curso: Engenharia de Computação.

Lógica proposicional

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

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

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

NHI Lógica Básica (Lógica Clássica de Primeira Ordem)

Complexidade de Algoritmos. Edson Prestes

INF 1771 Inteligência Artificial

Plano de Ensino IDENTIFICAÇÃO. SEMESTRE ou ANO DA TURMA: 5º Semestre EMENTA

Lógica Proposicional Métodos de Validação de Fórmulas. José Gustavo de Souza Paiva. Introdução

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

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Apostila de Sistemas Digitais e Computadores MÓDULOS I & II: REVISÃO ÁLGEBRA DE BOOLE.

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

A Matemática como Serviço a Ciência da Computação. Prof. Dr. Carlos Eduardo de Barros Paes Coordenador do Curso de Ciência da Computação

Métodos de Verificação

3.3 Cálculo proposicional clássico

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

CURRÍCULO DO CURSO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO (noturno) [Campus Araranguá] 20171

Grade Curricular do Curso de Graduação em Engenharia de Computação

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO

Lógica Computacional

Alfabeto da Lógica Proposicional

PRÓ-REITORIA DE GRADUAÇÃO

PLANO DE CURSO 1. DADOS DE IDENTIFICAÇÃO:

Matemática discreta e Lógica Matemática

Lógica Matemática. Prof. Gerson Pastre de Oliveira

Unidade II. A notação de que a proposição P (p, q, r,...) implica a proposição Q (p, q, r,...) por:

Lógica Computacional

3 AULA. Valorações e Tabelas de Verdade LIVRO. META: Apresentar tabelas de verdade para classificar proposições lógicas.

Introdução à Logica Computacional. Aula: Lógica Proposicional -Sintaxe e Representação

Introdução à Programação I

Lógica Computacional

Provadores de Teoremas baseados em contagem

Lógica. Cálculo Proposicional. Introdução

Operadores. Gustavo Queiroz Fernandes

PCC104 - Projeto e Análise de Algoritmos

Conceitos de Linguagens de Programação

Sumário. Os Enigmas de Sherazade I Ele fala a verdade ou mente? I I Um truque com os números... 14

CONTEÚDO LÓGICA FUZZY LÓGICA FUZZY LÓGICA FUZZY. Um dos componentes mais importantes de um sistema fuzzy é o Módulo de Regras.

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO. Escola Básica e Secundária Dr. Vieira de Carvalho. Departamento de Matemática e Ciências Experimentais

Mário S. Alvim Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/01)

CONTEÚDO LÓGICA FUZZY LÓGICA FUZZY. Proposições Fuzzy. Regras são implicações lógicas. Introdução Introdução, Objetivo e Histórico

UNIDADE ACADÊMICA: Faculdade de

1º Semestre. Algoritmos e Programação Orientada a Objetos I. Fundamentos de Teoria da Computação. Introdução à Administração

Organização e Arquitetura de Computadores I

Currículos dos Cursos UFV CIÊNCIA DA COMPUTAÇÃO. COORDENADOR José Augusto Miranda Nacif

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Cálculo proposicional

ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN

UMA PROVA DE CONSISTÊNCIA

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas

Transcrição:

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 de teoremas para a lógica modal baseado em anéis booleanos Tipo do trabalho: Projeto 1 Introdução Não é difícil notar a enorme capacidade que os computares tem para realizar cálculos, um dos grandes motivos de admiração dos seres humanos para com estas máquinas. Naturalmente surge o interesse em converter esta capacidade de cálculo para atividades cada vez mais diversas. Sendo a lógica parte da matemática, é razoável supor que é possível usar o computador para verificar sem erro a validade de teoremas. Prova automática de teoremas é um sub-campo do que se entende por inteligência artificial. Essencialmente, para um provador identificar um seqüente como sendo uma tautologia é necessário demonstrar que este é verdadeiro para qualquer valoração de suas variáveis. Este problema é reconhecidamente NP-difícil, mas uma implementação simplória pode consumir tempo desnecessário em casos que seria possível aplicar simplificações. Note que para analisar um seqüente, o programa precisa trabalhar com um conjunto de axiomas. É a escolha dos axiomas deste conjunto que determina em que lógica o provador opera. 2 Objetivos do Trabalho O objetivo principal deste trabalho é o desenvolvimento de um provador automático de teoremas, almejando-se atingir um bom grau de eficiência deste. 1

Pode-se destacar várias razões para a importância deste produto do trabalho como, por exemplo, a notória quantidade de usos de tal ferramenta. Com relação ao papel que este projeto desempenha na disciplina de trabalho de formatura nota-se como este está relacionado a áreas de grande interesse do aluno, a saber, desenvolvimento de software, inteligência artificial complexidade de algorítmos e estrutura de dados. Como parte da disciplina de trabalho de formatura supervisionado, será confeccionada uma monografia a respeito do projeto realizado. Esta prática tem como principais objetivos apresentar os resultados obtidos com o projeto, reforçar no aluno os pontos aprendidos com este, criar no aluno uma maior familiaridade com o trabalho acadêmico, sendo também indispensável no contexto da disciplina já citada. Além destes dois objetivos concretos, pode-se citar a preocupação em criar no aluno um amadurecimento e um aprofundamento em todos os tópicos relacionados com o projeto, tendo os principais já sido citados. 3 Estrutura Esperada da Monografia A monografia será composta de duas partes. A primeira parte fará uma descrição objetiva sobre o tema proposto, de uma forma técnica, e será dividida nos seguintes itens: Introdução. Conceitos e tecnologias estudadas. caracterizando um provador automático de teoremas. uma introdução à lógica modal princípios básicos de anéis booleanos algoritmos usados para o cálculo de satisfabilidade principais estruturas de dados utilizadas Atividades realizadas. Resultados a produtos obtidos. A segunda parte da monografia trata dos aspectos subjetivos do trabalho realizado, sendo apresentados os seguintes itens: desafios e frustrações encontrados. lista das disciplinas cursadas no BCC mais relevantes para o trabalho. interação com o supervisor. Por fim, será apresentada a conclusão do trabalho e a bibliografia utilizada. 2

4 Resumo da Monografia a ser Desenvolvida Será necessário caracterizar na parte técnica o contexto em que se insere o projeto. Atualmente existem vários tipos de provadores de teoremas, sendo os principais: verificadores de tautologias - dada um seqüente, procuram inferir se este é uma tautologia, verificando a exstência de valorações que o tornam inválido. verificadores de provas - o programa lê uma seqüência de fórmulas lógicas e verifica se cada uma pode ser derivada da anterior, dado seu conjunto de axiomas. focados em um único teorema - o programa é projetado para verificar um determinado teorema. Em geral, trata-se de teoremas notoriamente difíceis e busca-se por simplificações que tornem a verificação possível. O provador criado neste projeto será do primeiro tipo mencionado e irá trabalhar com a lógica modal, uma pequena ampliação sobre a lógica proposicional. Além dos quatro operadores básicos (negação, conjunção, disjunção e implicação), há os operadores suficiente e necessário. Há algumas variações de lógica modal, dependendo de quais axiomas são incluídos no conjunto de axiomas básicos (da lógica proposicional). Anéis booleanos respeitam as seguintes propriedades: 1. x.x = x 2. x.0 = 0 3. x.1 = x 4. x + x = 0 5. x + 0 = x 6. x.y = y.x 7. (x.y).z = x.(y.z) 8. x + y = y + x 9. (x + y) + z = x + (y + z) 10. x.(y + z) = x.y + x.z Desta forma, a operação. é análoga à conjunção e a operação + é análoga ao ou-exclusivo, o que permite o uso de anéis booleanos para o cálculo de satisfabilidade de seqüentes. 3

Como há a preocupação com eficiência, foi decidido pelo uso da linguagem C++ para a implementação do programa deste projeto. Também é necessário um cuidado com a organização e compartimentação do código, fatores que também influenciam na eficiência do provador. Todos estas considerações devem constar na monografia. 5 Atividades Já Realizadas É recente o uso de anéis booleanos em provadores de teoremas, motivo pelo qual existe pouco material disponível a respeito. Só foi possível ao aluno encontrar até a presente data um artigo a respeito, citando um possível método de otimização. Também não foi possível encontrar nenhuma referência auxiliando na construção e estruturação do provador de teoremas (a maioria dos textos relacionados cita programas baseados em sistemas já contruídos, como o modula-3). Com isso, todo o planejamento do projeto tornou-se mais difícil. Foi definida a seguinte estrutura para o programa: modelo de representaç~ao: módulo responsável por manter uma representação interna dos objetos sendo analisados. manipulador do modelo: módulo responsável pelas transformações nos objetos, de forma a concluir a validade do seqüente sendo analisado. analisador sintático: converte a entrada do programa em objetos do modelo. coordenador: integra os outros módulos e é responsável pela saída do programa. Durante o segundo trimestre deste ano foi iniciada a implementação do módulo coordenador, do modelo, e uma parte do módulo manipulador. 6 Cronograma de Atividades para o Segundo Semestre Pretende-se seguir o seguinte cronograma para as atividades do segundo semestre: Início de agosto: Término de uma primeira versão funcional do provador para a lógica proposicional, mesmo que não apresente o desempenho esperado. Meados de agosto: Ampliar o provador feito para que este possa lidar com a lógica modal. Meados de outubro: Término do período para pesquisa de possíveis otimizações, e implementação destas. 4

Final de outubro: Preparação da apresentação do trabalho realizado. Final de novembro: Conclusão da monografia sobre o projeto. 7 Referências 1. Dershowitz, N., Hsiang, J., and Kaiss, D.: Boolean Ring Satisfability (2004) 2. Huth, M., and Ryan, M.D.: Logic in Computer Science 3. Blackburn, P., Rijke, M. De, and Venema, Y.: Modal logic 4. Burris, S., and Sankappanavar, H.: A Course in Universal Algebra 5