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

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

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

Transcrição

1 1 Das aplicações da lógica na Computação Bruno Silva Guedes 1 Leonardo Roveda Faganello 2 Matheus de Carvalho Proença 3 Thiago Caberlon Santini 4 (artigo escrito para trabalho da disciplina INF05508 Lógica para Computação) Resumo A lógica possui aplicações inesperadas em diversas áreas da Ciência da Computação. São sobre essas aplicações que o artigo On the Unusual Effectiveness of Logic in Computer Science versa. A lógica, que teoricamente é considerada derivada da Matemática, encontra muito mais aplicações práticas na Ciência da Computação, e baseado nos exemplos citados pelo artigo em inglês, resumimos aqui a idéia básica destas aplicações. 1 Graduando em Engenharia de Computação Universidade Federal do Rio Grande do Sul [email protected] 2 Graduando em Engenharia de Computação Universidade Federal do Rio Grande do Sul [email protected] 3 Graduando em Engenharia de Computação Universidade Federal do Rio Grande do Sul [email protected] 4 Graduando em Engenharia de Computação Universidade Federal do Rio Grande do Sul [email protected] Abril de 2008 INF05508 Lógica para Computação

2 2 INTRODUÇÃO Considerada o Cálculo da Ciência da Computação, a lógica desempenhou um papel fundamental no desenvolvimento dessa área do conhecimento. Desenvolvida fortemente no início do século XX, com o objetivo de formalizar e reunir todo o conhecimento matemático até então desenvolvido, a lógica acabou perdendo espaço entre os matemáticos, após Gödel demonstrar que a lógica de primeira ordem não era suficiente para demonstrar a completude da Matemática. Após a metade do século XX, a lógica se desvinculou da matemática tradicional e seu desenvolvimento está concentrado na sua potencialidade de aplicações. Do mesmo modo que a matemática encontrou aplicações em áreas inesperadas nas Ciências Naturais, como Física, Biologia, Química, a Lógica encontrou amparo na Ciência da Computação, em aplicações como Complexidade de Algoritmos e Banco de Dados, bases da Teoria da Computação, Teoria dos Tipos, Circuitos Digitais e Lógica Epistêmica, outros tópicos fundamentais na Computação. Os tópicos a seguir são baseados no artigo On the Unusual Effectiveness of Logic in Computer Science, escrito por Joseph Halpern, Robert Harper, Neil Immerman, Phokion Kolaitis, Moshe Vardo e Victor Vianu. O artigo foi publicado no The Bulletin of Symbolic Logic, Volume sete, Número 2, em junho de 2001.

3 3 APLICAÇÕES NA TEORIA DE COMPLEXIDADE A computação nos auxilia na resolução de milhares de tipos de problemas. A forma como um computador resolve problemas se baseia na execução de um algoritmo previamente pensado por algum ser humano. Como o computador é limitado fisicamente, faz sentido prever que um computador leva mais tempo para resolver problemas mais difíceis. A medida de dificuldade de um problema está diretamente relacionada com a complexidade do algoritmo que o resolve. Encontrar melhores algoritmos para resolução de certos problemas sempre foi uma tarefa primordial para o desenvolvimento da Teoria da Computação. A lógica está intimamente ligada à criação e desenvolvimento destes algoritmos mais robustos. A aplicação que o artigo cita são os problemas P e NP. Em complexidade, problemas do tipo P são aqueles que podem ser resolvidos em tempo polinomial O(f(n)), onde f(n) é uma função do tipo a n x n + a n-1 x n a 0 (polinômio). Já os problemas NP são problemas cujos algoritmos trabalham em tempo superior ao polinomial, geralmente exponencial (algo como O(a n ), a > 0 por exemplo). Dentro da classe de problemas NP, temos os chamados problemas NP- Completos, que não podem ser reduzidos a problemas do tipo P. Porém, existem certos problemas em NP que podem ser reduzidos a P com alguma manipulação lógica-algébrica. Com o uso da Complexidade descritiva e as Lógicas de Primeira e Segunda Ordem, chega-se ao seguinte corolário: Corolário. (P = NP) FO(LFP) = SO, onde LFP é um operador de mínimo ponto fixo e FO e SO se referem às lógicas de primeira e segunda ordem, respectivamente. Os problemas que podem ser manipulados dessa maneira podem ser transformados em tempo polinomial em problemas NP-completos. Caso se descubra uma maneira de resolver problemas NP completo em tempo polinomial, então finalmente teríamos uma maneira de resolver todos os problemas em NP em tempo polinomial. Esta questão ainda continua em aberto, e é um dos maiores problemas não resolvidos da Ciência da Computação. LÓGICA EM BANCO DE DADOS O impacto da lógica nos bancos de dados é um dos melhores exemplos da efetividade da mesma sobre a ciência da computação. A lógica de primeira ordem

4 4 reside no núcleo dos bancos de dados atuais, sendo utilizada desde as linguagens mais básicas como SQL até algumas mais complexas onde são utilizadas extensões da lógica de primeira ordem junto com a recursão. Há três motivos principais para sua utilização: 1) - A lógica de primeira ordem possui variáveis sintáticas de fácil utilização. 2) - Pode ser implementada usando relações algébricas, o que representa uma vantagem crucial quando tratamos de uma grande quantidade de dados. 3) - Suas buscas podem demorar tempos constantes para qualquer tamanho do banco de dados se houver paralelismo suficiente. Uma busca que pode ser expressa em uma lógica de primeira ordem pode ser aberta em uma série de buscas menores, formando assim blocos fundamentais que podem ser usados na busca. Porém está abordagem não é satisfatória, pois pode ser muito lenta com o aumento do banco de dados. A abordagem utilizada na prática envolve relações algébricas. Em resumo, a lógica de primeira ordem e a relação algébrica expressam a mesma busca. O uso da álgebra de relações para realizar buscas pode ser implementada usando estruturas de dados chamadas de indexes que permitem acesso rápido aos dados, somando isso a algumas regras de reescrita, a mesma busca, após reescrita, pode levar apenas n log(n) em vez de n². Como citado antes, buscas usando a lógica de primeira ordem podem ser realizadas com tempo constante independente do tamanho do banco de dados, isto só pode ser realizado graças ao processamento em paralelo, onde mais uma vez a álgebra de relações nos permite tal feito. Porém é necessário o uso de muitos processadores tornando, por enquanto, inviável o uso de seu potencial máximo. Contudo há algoritmos que são capazes de tirar o máximo de proveito de um grupo de processadores e os processadores usados para realizar operações algébricas não precisam ser poderosos. Finalizando, a lógica é uma ferramenta muito efetiva na área de banco de dados. A lógica de primeira ordem é uma ótima base para as linguagens de busca padrão devido à sua implementação eficiente e seu fácil uso.

5 5 TEORIA DOS TIPOS NAS LINGUAGENS DE PROGRAMAÇÃO Nas décadas de 80 e 90, o estudo das linguagens de programação foi revolucionado por uma confluência de idéias da lógica matemática e filosófica e da teoria da computação: a Teoria dos Tipos. A Teoria dos Tipos, aplicada a um sistema de tipos, impõe restrições aos programas, prevenindo que ocorram vários erros, decorridos de falhas na interpretação dos valores, como, por exemplo, aplicar uma função a um número inteiro utilizando valores lógicos. Um sistema de tipo é definido da seguinte forma: Γ e : τ, onde e é uma expressão, τ é seu tipo e Γ representa tipos das variáveis globais que podem ocorrer em e. Segundo o princípio das proposições como tipos há um isomorfismo entre proposições e tipos, com a propriedade que a dedução natural prova que uma proposição corresponde aos elementos de seu tipo associado. Esse princípio se estende aos conetivos lógicos e quantificadores, incluindo os de segunda ordem ou de ordem maior. Organizar linguagens de programação por estrutura de tipos possui vários benefícios, como evitar confusões de conceitos distintos, ocorrência de erros de interpretação, e aperfeiçoar a eficiência e a integridade do compilador. LÓGICA EPISTÊMICA Os estudos da lógica epistêmica se iniciaram nos anos 50, mas seu interesse só floresceu mais recentemente, para a implementação em vários campos da computação, como teoria dos jogos e IA. A chave dessa lógica é a conexão entre conhecimento e ação. O que um agente precisa saber sobre a operação de outro agente para realizar sua própria operação? Um modelo utilizado para isso é o seguinte: - Possuímos um conjunto Φ de proposições primitivas, onde uma proposição p pertencente a Φ, representa um fato básico, como por exemplo Está chovendo na Espanha, e um conjunto {1... n} de agentes. - Utilizamos apenas conjunções e negações, como na lógica proposicional, e operadores modais K 1,...K n, E e C. Dessa forma, K i φ é lido como Agente i conhece

6 6 φ, Eφ é lido como Todos conhecem φ, e Cφ é lido como φ é de conhecimento comum. A semântica dessa lógica, como a de outras lógicas modais, é baseada em mundos possíveis. VERIFICAÇÃO AUTOMATIZADA DE DESIGNS DE SEMICONDUTORES Os circuitos integrados construídos sobre semicondutores estão presentes praticamente na totalidade das interações tomadas em nosso dia-a-dia. Além disso, eles passaram a facilitar nossa vida cada vez mais, tornando-se capazes de executar tarefas cada vez mais complexas. Tal capacidade implica no aumento da complexidade do projeto de tais circuitos, que por sua vez acarreta numa cada vez maior dificuldade de desenhá-los, fazendo com que os projetistas não sejam capazes de usufruir o total potencial que a tecnologia é capaz de oferecer devido à grande possibilidade de erro. Para contornar esses problemas, os profissionais da área implementaram uma série de métodos de validação do circuito, que seriam capazes de verificar se o mesmo executa a função para qual foi projetado, concluindo assim se há erros no projeto ou não. Infelizmente, esse tipo de processo se tornou também complexo demais, atingindo o ponto em que a indústria passou a se referir ao problema como crise da validação quando o processo de validação atingiu metade dos recursos para a produção do circuito. Verificação formal é um processo matemático utilizado para verificar o comportamento de um modelo, dado uma especificação inicial. Recentemente, tal tipo de ferramenta era de interesse somente acadêmico, mas com a evolução do problema, passou a ser amplamente utilizado industrialmente. Um dos métodos mais utilizados a fim de tal prática é a lógica temporal linear (LTL Linear Temporal Logic, em inglês), onde os momentos no tempo são tratados como se houvesse um único futuro possível. Em LTL as fórmulas são construídas com proposições atômicas, os operadores booleanos usuais e os operadores temporais unários X (próximo), F (eventualmente) e G (sempre), e o operador temporal binário U (enquanto). Esses operadores são capazes de modelar uma computação sobre a especificação dada, sendo possível verificar seu comportamento.

7 7 Ferramentas para modelagem e verificação do comportamento dos semicondutores não param em LTL. Há muitas outras abordagens lógicas possíveis para a resolução do problema, tendo, todas juntas, mostrado sua capacidade para auxiliar na continuidade da evolução da área, resolvendo problemas fundamentais para a computação.

8 8 CONCLUSÃO Os efeitos e aplicações da lógica sobre a computação se estendem sobre as mais diversas áreas da mesma, dos mais altos níveis, como inteligência artificial, aos mais baixos, como na produção dos circuitos integrados. Assim, fornece não somente uma base sólida para a fundamentação do ramo, mas também uma poderosa ferramenta para o desenvolvimento do mesmo.

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 [email protected] Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR MATUTINO Fase N.

CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR MATUTINO Fase N. CURSO DE GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR MATUTINO Fase N. Ordem Código COMPONENTE CURRICULAR Créditos Horas Prérequisitos 01 Introdução à informática 04 60 02 Matemática instrumental

Leia mais

CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR CURRÍCULO PLENO SEMESTRALIZADO 10 SEMESTRES

CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR CURRÍCULO PLENO SEMESTRALIZADO 10 SEMESTRES CURSO DE CIÊNCIA DA COMPUTAÇÃO MATRIZ CURRICULAR CURRÍCULO PLENO SEMESTRALIZADO 10 SEMESTRES Situação Legal: Reconhecido Integralização: Mínimo 5 anos / Máximo 8 anos Carga Horária: 2.820h (188 créditos)

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional 3.ano LCC e LERSI URL: http://www.ncc.up.pt/~nam/aulas/0304/lc Escolaridade: 3.5T e 1P Frequência:Semanalmente serão propostos trabalhos aos alunos, que serão entregues até hora e

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

Leia mais

DOCUMENTO DE ADEQUAÇÃO MESTRADO EM ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE NOVA DE LISBOA PEÇA B

DOCUMENTO DE ADEQUAÇÃO MESTRADO EM ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE NOVA DE LISBOA PEÇA B DOCUMENTO DE ADEQUAÇÃO DO MESTRADO EM ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE NOVA DE LISBOA (ESTRUTURA CURRICULAR E PLANO DE ESTUDOS) B2 FORMULÁRIO 1. Estabelecimento de

Leia mais

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

Grade Curricular do Curso de Graduação em Engenharia de Computação Grade Curricular do Curso de Graduação em Engenharia de Computação Currículo 6 Aprovado pelo CDI em 30/05/16 - Carga Horária - Carga Horária Núcleo Básico 1.280h Carga Horária Núcleo Profissionalizante

Leia mais

Linguagens de Programação

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.

Leia mais

CRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2

CRÉDITOS DO CURSO. Carga Horária Créditos IN1030 Seminários 30 2 UNIVERSIDADE FEDERAL DE PERNAMBUCO PRÓ-REITORIA PARA ASSUNTOS DE PESQUISA E PÓS-GRADUAÇÃO ESTRUTURA CURRICULAR STRICTO SENSU (baseada na Res. 10/2008 do CCEPE) NOME DO CURSO: Pós-Graduação em Ciência da

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Nelma Moreira Departamento de Ciência de Computadores da FCUP Lógica Computacional Aula 1 http://www.dcc.fc.up.pt/~nam/web/teaching/lc2015/ index.html Cursos: LCC, MIERSI e (como Lógica

Leia mais

Lógica Computacional DCC/FCUP 2017/18

Lógica Computacional DCC/FCUP 2017/18 2017/18 Funcionamento da disciplina Docentes: Teóricas: Sandra Alves Práticas: Sandra Alves e Nelma Moreira Página web http://www.dcc.fc.up.pt/~sandra/home/lc1718.html (slides de aulas e folhas de exercícios,

Leia mais

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

Mecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas Arquitetura de Computadores, Arquitetura de Computadores Organização de Computadores, Conjunto de Instruções, Sistemas Operacionais, Sistemas Operacionais, Sistemas Mecanismos de Interrupção e de Exceção,

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG LEI Nº.9, DE 9//00, PUBLICADA NO DOU DE 0//00, SEÇÃO I, PAGS. I - Rua São Luiz Gonzaga, s/n - São Luiz - Formiga - MG - CEP: 0-000 Tel: ()-09 - Site: www.formiga.ifmg.edu.br Matriz Curricular FGGCOMP -

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG LEI Nº.9, DE 9//00, PUBLICADA NO DOU DE 0//00, SEÇÃO I, PAGS. I - Rua São Luiz Gonzaga, s/n - São Luiz - Formiga - MG - CEP: 70-000 Tel: (7)-09 - Site: www.formiga.ifmg.edu.br Matriz Curricular FGGCOMP

Leia mais

Introdução à Ciência da Computação II

Introdução à Ciência da Computação II Introdução à Ciência da Computação II 2semestre/200 Prof Alneu de Andrade Lopes Apresentação com material gentilmente cedido pelas profas Renata Pontin Mattos Fortes http://wwwicmcuspbr/~renata e Graça

Leia mais

COORDENAÇÃO DO CURSO DE ENGENHARIA ELÉTRICA DATAS DAS AVALIAÇÕES DO PERÍODO LETIVO 2017/1

COORDENAÇÃO DO CURSO DE ENGENHARIA ELÉTRICA DATAS DAS AVALIAÇÕES DO PERÍODO LETIVO 2017/1 I 1 PERÍODO Química Geral I 05/04/2017 07/06/2017 21/06/2017 28/06/2017 Cálculo I 06/04/2017 08/06/2017 22/06/2017 29/06/2017 Vetores e Geometria Analítica 11/04/2017 13/06/2017 20/06/2017 27/06/2017 Sociologia

Leia mais

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

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 01 Apresentação da Disciplina Prof.ª Danielle Casillo PLANO DE ENSINO Nome: Teoria da Computação Créditos:

Leia mais

Lógica Computacional Aula 1

Lógica Computacional Aula 1 Lógica Computacional Aula 1 DCC/FCUP 2017/18 Funcionamento da disciplina Docentes: Teóricas: Sandra Alves Práticas: Sandra Alves e Nelma Moreira Página web http://www.dcc.fc.up.pt/~sandra/home/lc1718.html

Leia mais

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

CURRÍCULO DO CURSO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO (noturno) [Campus Araranguá] 20171 Documentação: Objetivo: Titulação: Diplomado em: Reconhecimento do Curso - Port.nº 122, de 05/07/2012/MEC Autorizado Portaria nº 322/SESU/2011, de 02/08/2011. Resolução nº 022/CEG/2008 de 10/12/2008,(Criação

Leia mais

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO 1º Período Código Disciplina CHT 1 CHP 2 CH Total Pré-requisitos Dados I 40 40 80 - Cálculo I 80-80 - Fundamentos da Computação 40-40 - Fundamentos

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 29/08/2011 Currículo de Cursos Hora: 16:19:21

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 29/08/2011 Currículo de Cursos Hora: 16:19:21 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 29/08/2011 Currículo de Cursos Hora: 16:19:21 Curso: Engenharia de Computacao Nível: Ensino Superior Grau Conferido: Engenheiro de Computação Turno: Diurno

Leia mais

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

UFMT. Ministério da Educação UNIVERSIDADE FEDERAL DE MATO GROSSO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO PLANO DE ENSINO UFMT 1) IDENTIFICAÇÃO: Disciplina: Lógica Matemática e Elementos de Lógica Digital Ministério da Educação UNIVERSIDADE FEDERAL DE MATO GROSSO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO PLANO DE ENSINO Curso:

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar - Aula 1 - O NÍVEL DA LÓGICA DIGITAL 1. INTRODUÇÃO Na parte inferior da hierarquia da figura abaixo encontramos o nível da lógica digital, o verdadeiro hardware do computador. Este nível situa-se na fronteira

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 23/09/2015 Currículo de Cursos Hora: 07:48:26

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 23/09/2015 Currículo de Cursos Hora: 07:48:26 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 23/09/2015 Currículo de Cursos Hora: 07:48:26 Curso: Engenharia da Computação Nível: Ensino Superior Grau Conferido: Engenheiro de Computação Turno: Integral

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 05/07/2017 Currículo de Cursos Hora: 17:30:22

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 05/07/2017 Currículo de Cursos Hora: 17:30:22 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Data: 05/07/2017 Currículo de Cursos Hora: 17:30:22 Curso: Nível: Grau Conferido: Turno: Tipo: Modalidade: Funcionamento: Documento de Autorização: Engenharia da

Leia mais

Ementário das disciplinas do curso de Engenharia da Computação. - Núcleo Básico -

Ementário das disciplinas do curso de Engenharia da Computação. - Núcleo Básico - Ementário das disciplinas do curso de Engenharia da Computação Currículo 6 Criado pelo CDI em 30/05/2016 - Núcleo Básico - NB 019 - Cálculo I CH Teórica 160 CH Prática 00 CH Total 160 cr 8 Funções. Limites.

Leia mais

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES Adão de Melo Neto 1 INTRODUÇÃO Desde 1950, houveram poucas inovações significativas nas áreas de arquitetura e organização de computadores. As principais

Leia mais

PERÍODO LETIVO ENGENHARIA DE COMPUTAÇÃO

PERÍODO LETIVO ENGENHARIA DE COMPUTAÇÃO 2 O SEMESTRE DE 2019 2 o PERÍODO LETIVO SMA0354 Cálculo II 760006 Física II SQM0405 Química Geral e Experimental 760006 Física II SMA0354 Cálculo II 7600110 Laboratório de Física Geral II Turmas aulas

Leia mais

FACULDADE DE COMPUTAÇÃO E INFORMÁTICA CURSO: CIÊNCIA DA COMPUTAÇÃO HORÁRIOS DO 1º SEM/2018

FACULDADE DE COMPUTAÇÃO E INFORMÁTICA CURSO: CIÊNCIA DA COMPUTAÇÃO HORÁRIOS DO 1º SEM/2018 AGRUPADOR: 01D (D11/D12) - MATUTINO ENEC51394 CIENCIA, TECN SOCIEDADE MATEMATICA E COMPUTACAO 2 2 01D ENEX50421 FUNDAMENTOS DE CIENCIA DA COMPUTACAO 4 4 01D ENEX50652 MATEMATICA DISCRETA I 4 4 01D ENUN51118

Leia mais

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

Introdução. Matemática Discreta. Prof Marcelo Maraschin de Souza Introdução Matemática Discreta Prof Marcelo Maraschin de Souza Disciplina Aulas: Segunda-feira e terça-feira: 8:00 até 9:50 Avaliações: listas de exercícios e três provas; Livros disponíveis na biblioteca

Leia mais

Curso de Engenharia Formação Geral 1º e 2º anos

Curso de Engenharia Formação Geral 1º e 2º anos Curso de Engenharia Formação Geral 1º e 2º anos DISCIPLINA 1º Bimestre Introdução à Engenharia 40 Informática 40 Matemática 80 Produção de Textos 40 2º Bimestre Cálculo I 80 Física I 80 Inglês 20 Metodologia

Leia mais

Fundamentos de Lógica Matemática

Fundamentos de Lógica Matemática Webconferência 5-22/03/2012 Prova por resolução Prof. L. M. Levada http://www.dc.ufscar.br/ alexandre Departamento de Computação (DC) Universidade Federal de São Carlos (UFSCar) 2012/1 Introdução É possível

Leia mais

MATRIZ DE EQUIVALÊNCIA DO CURSO DE SISTEMAS DE INFORMAÇÃO

MATRIZ DE EQUIVALÊNCIA DO CURSO DE SISTEMAS DE INFORMAÇÃO MATRIZ DE EQUIVALÊNCIA DO CURSO DE SISTEMAS DE 1 DISCIPLINAS DO PPC DE 2009-1 PASSÍVEIS DE APROVEITAMENTO NO PPC DE 2017-1 DISCIPLINA DO PPC DE 2009-1 CH NATUREZA CÓDIGO APROVEITA COMO NO PPC DE 2017-1

Leia mais

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

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 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 A Matemática e Ciência da Computação A Matemática faz parte do DNA

Leia mais

a complexidade no desempenho de algoritmos

a complexidade no desempenho de algoritmos capítulo 1 introdução Os algoritmos são o cerne da computação. Este capítulo introdutório procura ressaltar a importância da complexidade e dos métodos de projeto e análise de algoritmos. Partindo da ideia

Leia mais

CENTRO UNIVERSITÁRIO DO NORTE - UNINORTE / GRADE CURRICULAR

CENTRO UNIVERSITÁRIO DO NORTE - UNINORTE / GRADE CURRICULAR Ciclo: 1 Série: PRIMEIRO Página: 15 de 19 U14B066 ALGORITMOS E PROGRAMAÇÃO 3 66 O97A066 CIRCUITOS DIGITAIS 3 66 J89D088 COMUNICAÇÃO 4 88 N35D066 FUNDAMENTOS PARA COMPUTAÇÃO 3 66 B55C066 MATEMÁTICA 3 66

Leia mais

Análise de complexidade

Análise de complexidade Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura

Leia mais

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

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO ESW200 Introdução à Engenharia de Software 2 36 30 - ESW201 Prática de Programação I

Leia mais

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta...

sumário 1 introdução e conceitos básicos 1 2 noções de lógica e técnicas de demonstração introdução à matemática discreta... sumário 1 introdução e conceitos básicos 1 1.1 introdução à matemática discreta... 2 1.2 conceitos básicos de teoria dos conjuntos... 3 1.2.1 conjuntos...3 1.2.2 pertinência...5 1.2.3 alguns conjuntos

Leia mais

3. CAPÍTULO LÓGICAS DIGITAIS

3. CAPÍTULO LÓGICAS DIGITAIS 3. CAPÍTULO LÓGICAS DIGITAIS 3.1. Introdução A Lógica é um conjunto de regras para raciocínio sobre um determinado assunto, ela é muito utilizada no ramo da Filosofia e da Matemática. 3.2. Portas lógicas

Leia mais

CURSO DE CIÊNCIA DA COMPUTAÇÂO (65C) HABILITAÇÃO: BACHARELADO TURNO: DIURNO (a partir de 2014)

CURSO DE CIÊNCIA DA COMPUTAÇÂO (65C) HABILITAÇÃO: BACHARELADO TURNO: DIURNO (a partir de 2014) CURSO DE CIÊNCIA DA COMPUTAÇÂO (65C) HABILITAÇÃO: BACHARELADO TURNO: DIURNO (a partir de 2014) Equivalência 1 o Período 24 créditos 360 horas MAT154 Cálculo I 04 60 ------- MAT154E MAT155 Geometria Analítica

Leia mais

2. Complexidade de Algoritmos

2. Complexidade de Algoritmos Introdução à Computação II 5952011 2. Complexidade de Algoritmos Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 2.1. Introdução 2.1.1. Revisão de Pseudo-Código 2.1.2.

Leia mais

UFV Catálogo de Graduação SISTEMAS DE INFORMAÇÃO. COORDENADORA Liziane Santos Soares

UFV Catálogo de Graduação SISTEMAS DE INFORMAÇÃO. COORDENADORA Liziane Santos Soares UFV Catálogo de Graduação 2014 103 SISTEMAS DE INFORMAÇÃO COORDENADORA Liziane Santos Soares [email protected] 104 Currículos dos Cursos UFV Bacharelado ATUAÇÃO Sistemas de Informação é um curso da

Leia mais

Lógica proposicional

Lógica proposicional Lógica proposicional Sintaxe Proposição: afirmação que pode ser verdadeira ou falsa Proposições podem ser expressas como fórmulas Fórmulas são construídas a partir de símbolos: De verdade: true (verdadeiro),

Leia mais

ESTRUTURA DE DADOS I AULA I

ESTRUTURA DE DADOS I AULA I ESTRUTURA DE DADOS I AULA I PROF. ME. HÉLIO ESPERIDIÃO O que é um dado? Dado pode ser definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa de coleta). o que é a informação A

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

Inteligência Artificial. Sistemas Baseados em Conhecimento. Representação de Conhecimento (continuação)

Inteligência Artificial. Sistemas Baseados em Conhecimento. Representação de Conhecimento (continuação) Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação http://www.inf.unioeste.br/~claudia/ia2018.html Inteligência Artificial Sistemas Baseados em Conhecimento Representação

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr [email protected] 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

Computação na Biologia Molecular e Bionanotecnologia: Computação Biológica

Computação na Biologia Molecular e Bionanotecnologia: Computação Biológica Computação na Biologia Molecular e Bionanotecnologia: Computação Biológica Leila Ribeiro Instituto de Informática -UFRGS Roteiro Minhas áreas de interesse... Evolução da Ciência da Computação Biologia

Leia mais

Currículos dos Cursos UFV CIÊNCIA DA COMPUTAÇÃO. COORDENADOR Alcione de Paiva Oliveira

Currículos dos Cursos UFV CIÊNCIA DA COMPUTAÇÃO. COORDENADOR Alcione de Paiva Oliveira 82 Currículos dos Cursos UFV CIÊNCIA DA COMPUTAÇÃO COORDENADOR Alcione de Paiva Oliveira [email protected] UFV Catálogo de Graduação 2013 83 Bacharelado ATUAÇÃO A Ciência da Computação caracteriza-se

Leia mais

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

Leia mais

HORÁRIO ESCOLAR - CIÊNCIA DA COMPUTAÇÃO 2017 Atualizado 02/02/2017 INGRESSANTES A PARTIR DE 2010

HORÁRIO ESCOLAR - CIÊNCIA DA COMPUTAÇÃO 2017 Atualizado 02/02/2017 INGRESSANTES A PARTIR DE 2010 HORÁRIO ESCOLAR - CIÊNCIA DA COMPUTAÇÃO 2017 Atualizado 02/02/2017 INGRESSANTES A PARTIR DE 2010 1 0 ANO - 1 0. SEMESTRE (Grade Curricular Nova) Cálculo Diferencial e Lógica Matemática Discreta Integral

Leia mais

Lógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Lógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Lógica Proposicional Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação aculdade de Tecnologia de São Paulo Motivação IA IA estuda estuda como como simular simular comportamento

Leia mais

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente Inteligência Artificial Prof. Tiago A. E. Ferreira Aula 15 Agentes que Raciocinam Logicamente 1 Bem-vindos ao Mundo do Wumpus Wumpus Agente caçador de tesouros 2 Codificação do Mundo do Wumpus 4 3 fedor

Leia mais

5. Expressões aritméticas

5. Expressões aritméticas 5. Expressões aritméticas 5.1. Conceito de Expressão O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis

Leia mais

DCC011 Introdução a Banco de Dados. Construindo o Esquema. 1. Propriedades de Modelos ER. Construindo Esquema Conceitual

DCC011 Introdução a Banco de Dados. Construindo o Esquema. 1. Propriedades de Modelos ER. Construindo Esquema Conceitual DCC011 Introdução a Banco de Dados Projeto de Bancos de Dados Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais [email protected] Construindo o Esquema Conceitual

Leia mais

Sistemas de Computação Algébrica (SCA)

Sistemas de Computação Algébrica (SCA) Sistemas de Computação Algébrica (SCA) Ferramentas Informáticas para a Matemática ou Ferramentas Matemáticas para a Informática? Delfim F. Marado Torres Departamento de Matemática Universidade de Aveiro

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

Métodos para a construção de algoritmo

Métodos para a construção de algoritmo Métodos para a construção de algoritmo Compreender o problema Identificar os dados de entrada e objetos desse cenário-problema Definir o processamento Identificar/definir os dados de saída Construir o

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

Introdução à Engenharia de Sistemas

Introdução à Engenharia de Sistemas Introdução à Engenharia de Sistemas O CURSO DE ENGENHARIA DE SISTEMAS DA UNIMONTES Renato Dourado Maia Universidade Estadual de de Montes Claros Engenharia de Sistemas APRESENTAÇÃO DO CURSO 24/02/14 Introdução

Leia mais

RESOLUÇÃO CONSEPE 46/99 ALTERA O PLANO CURRICULAR E O REGIME DO CURSO DE ENGENHARIA DE COMPUTAÇÃO, DO CÂMPUS DE ITATIBA.

RESOLUÇÃO CONSEPE 46/99 ALTERA O PLANO CURRICULAR E O REGIME DO CURSO DE ENGENHARIA DE COMPUTAÇÃO, DO CÂMPUS DE ITATIBA. RESOLUÇÃO CONSEPE 46/99 ALTERA O PLANO CURRICULAR E O REGIME DO CURSO DE ENGENHARIA DE COMPUTAÇÃO, DO CÂMPUS DE ITATIBA. O Presidente do Conselho de Ensino, Pesquisa e Extensão - CONSEPE, no uso da atribuição

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Nelma Moreira: T, PL02,PL03 Rogério Reis: PL01,PL04 Departamento de Ciência de Computadores da FCUP Lógica Computacional Aula 1 www.dcc.fc.up.pt/~nam/web/teaching/lc16/index.html Cursos:

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino

Linguagens Formais e Autômatos. Apresentação do Plano de Ensino Linguagens Formais e Autômatos Apresentação do Plano de Ensino Linguagens Formais e Autômatos LFA Código - CMP4145 Turma A01 Engenharia da Computação e Ciência da Computação Horário: Segunda, Terça e Quinta.

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO

BACHARELADO EM SISTEMAS DE INFORMAÇÃO BACHARELADO EM SISTEMAS DE INFORMAÇÃO 2009 1. Resumo do Curso Disciplinas Disciplinas Obrigatórias N. de Créditos Carga horária Disciplinas do CB/CTC 30 450 Obrigatórias Religiosas 12 180 Obrigatórias

Leia mais