EQUIVALÊNCIA DE PROGRAMAS E MÁQUINAS
|
|
- Betty Brás
- 5 Há anos
- Visualizações:
Transcrição
1 EQUIVALÊNCIA DE PROGRAMAS E MÁQUINAS Édson Wenning¹, Elias Lampert², Gustavo Claudy³, Pedro E. Camera 4. ¹Discente do Curso Ciência da Computação - Universidade de Cruz Alta ²Discente do Curso Ciência da Computação - Universidade de Cruz Alta ³Discente do Curso Ciência da Computação - Universidade de Cruz Alta 4 Discente do Curso Ciência da Computação - Universidade de Cruz Alta (edsonwenning2012@hotmail.com, eliaslampert@hotmail.com, guga.claudy@hotmail.com, pedro@triway.net.br) Resumo: Este trabalho apresenta conceitos sobre a equivalencia entre máquinas, máquina de traços e programas fortemente equivalentes. Esses conceitos são de suma importancia no estudo da teoria da computação, isso justifica-se porque através da percepção da equivalência forte de programas podemos adquirir subsídios para analisar a complexidade estrutural dos mesmos. Para o entendimento deste conceito, devemos primeiramente ter conhecimento da equivalencia de programas, para esta verificação utiliza-se a máquina de traço. A qual define que programas quando equivalentes retornam o mesmo traço. Abstract: This paper presents concepts about an equivalence between machines, dashboards and strongly equivalent programs. These concepts are of paramount importance no study of the theory of computation, this is justified because through the perception of the strong equivalence of programs we can acquire subsidies to analyze their structural complexity. For the understanding of the concept, we must first be aware of the equivalence of programs, for this verification, use the dash machine. Which defines that as many as the equivalents return the same trait. 1. INTRODUÇÃO A teoria da computação aborda conteúdos diversos de informações para a área da tecnologia de informação dentre eles, a computabilidade, complexidade de problemas computacionais e autômatos são assuntos presntes em alguns livros e artigos sobre o tema. Segundo Queiroz (1997) a complexidade avalia o grau de dificuldade de resolução de um determinado
2 programa para realizar um certo problema computacional, diferente da computabilidade que analisa todo o problema e indica se o mesmo pode ser ou não computado. Queiroz (1997) aponta ainda autômatos como modelos de computação para o processamento de texto, compiladores e projetos de hardware, permitindo assim definições formais para obter um certo resultado de programas dentre a computação. Além destes conceitos a teoria da computação explora outros assuntos. A relação existente entre os resultados obtidos na computação de programas, são abordadas com o intuito de verficar as chamadas equivalencias de programas. Para que um programa possa ser considerado equivalente as funções computadas dos mesmos devem ser iguais. Adotando alguns conceitos de equivalência percebe-se uma relação existente entre os programas, caracterizando uma hierarquia existente. Partindo da ideia que um programa é equivalente podemos verificar a existencia forte entre os programas. 2. FUNDAMENTAÇÃO TEÓRICA 2.1.Equivalência de programas Um programa pode ser definido como um conjunto de instruções que capacitam a uma dada máquina a aplicar certas operações básicas e testes sobre os dados fornecidos, com o objetivo de transformar estes dados numa forma desejável conforme Campos (2000). Equivalência de programas segundo Diverio (2000), pode se definir quando uma máquina pode simular outra máquina, sendo assim equivalência de programas pode estabelecer noções com equivalência de máquinas. Uma equivalência de programas será analisada em uma certa máquina quando estiver uma caracterização de equivalência mais fraca do que uma equivalência já apresentada. Casillo (2017), diz que um par de programas pertence a relação, apenas se as correspondentes funções computadas coincidirem para uma dada máquina. Ex1 conforme Diverio (2000): Temos dois programas arbitrários, não necessariamente do mesmo tipo, e uma máquina (M) qualquer. O par (P, Q) estão na relação de equivalência de programas na máquina M denotado assim por: P Q Se essas duas correspondentes funções computadas são iguais, ou seja:
3 <P, M> = <Q, M> Neste caso então, P e Q são programas equivalentes na máquina M ou simplesmente serão programas M-Equivalentes. Existem máquinas nas quais não se pode provar sua existência de um algoritmo, ou seja, se dados dois programas, se eles serão ou não M-Equivalentes. Assim sendo, de fato, existem maquinas muito simples para as quais prova-se que, o problema é não- solucionável Equivalência de Máquinas Segundo o autor Diverio (2000), a teoria de equivalência de programas, pode-se estabelecer noções de equivalências de máquinas. Afirma-se que duas máquinas são equivalentes se uma pode simular a outra e vice-versa. Inicialmente é introduzido o conceito de simulação forte de máquina. Esse conceito pode ser feito usando diferentes tipos de programas, para que o mesmo ocorra, deverá ser observado se existe igualdade entre os conjuntos de dominio e contradominio, os mesmos deveram ter igualdade nas funções, os mesmos conjuntos de valores de entrada e tambem o mesmo valor de saida. 2.3.Equivalência Forte de Programas Segundo o autor Diverio (2000),para que ocorra Equivalência Forte de Programas, é necessário que para qualquer máquina M, as funções parciais computadas sejam iguais, ou seja, um par de programas pertence à relação se as correspondentes funções computadas coincidem para qualquer máquina. Portando: <P,M>=<Q,M> Através da Relação Equivalência Forte de Programas, podemos: Identificar diferentes programas cujas funções computadas coincidem, para qualquer máquina; Nas funções computadas por programas equivalentes fortemente são efetuadas na mesma ordem independente do significado dos mesmos; Fornece subsídios para analisar a complexidade estrutural de programas. Por exemplo, analisando os programas equivalentes P1 e P2 pode-se concluir que P1 é estruturalmente mais otimizado que P2, pois possui um teste a menos. Os programas P1 e P2 estão representados no quadro abaixo.
4 Quadro 1 - Programas Equivalentes Fonte: Os autores embasado Diverio (2000) Conforme Cassillo (2017), podemos observar todo programa iterativo, tem um programas monolítico equivalente fortemente, todo monolítico, possui um recursivo equivalente fortemente. 2.4.Equivalência Forte de Programas: Iterativo -> Monolítico Diverio e Menezes (2009) definem que para qualquer Pi, existe um Pm, tal que Pi Pm. A obtenção de um programa monolítico a partir de um iterativo é direta, a partir do mapeamento das construções elementares de um programa iterativo em sequencias de construções equivalentes em um programa monolítico. Em virtude de que as mesmas operações são executadas em ordem idêntica em ambos os programas, as funções computadas são as mesmas. Exemplo: Fazer o mapeamento do programa iterativo para um programa monolítico, a Figura 1 é o exemplo do fluxuograma.
5 Até a_zero faça (subtrai_a;adiciona_b) Instruções rotuladas: 1: se a_zero então vá_para 4 senão vá_para 2 2: faça subtraia_a vá_para 3 3: faça adiciona_b vá_para 1 Fluxograma: Figura 1 Fluxograma Fonte: Os autores embasado Diverio (2000) 2.5.Equivalência Forte de Programas: Monolítico -> Recursivo Para qualquer programa monolítico Pm, existe um programa recursivo Pr, tal que Pm Pr. Exemplo: No Quadro 2, está o mapeamento de um programa monolítico (instruções rotuladas) para recursivo. 1: se a_zero então vá_para 4 senão vá_para 2 2: faça subtraia_a vá_para 3 3: faça adiciona_b vá_para 1 Recursivo: R é R1 onde R1 def (se a_zero então R4 senão R2) R2 def (faça subtraia_a;r3) R3 def (adiciona_b,r1)
6 R4 def Quadro 2: Mapeamento Monolítico -> Recursivo Fonte: Os autores (embasado Diverio(2000)) 2.6.Equivalência Forte de Programas: Iterativo -> Recursivo Para qualquer programa iterativo Pi, existe um programa recursivo Pr, tal que Pi Pr. 2.7.Equivalência Forte de Programas: Recursivo -> Monolítico Para um programa recursivo, não necessariamente existe um programa monolítico fortemente equivalente. Para um programa ser considerado fortemente equivalente, a função computada deve conter as operações executadas na mesma ordem. O ciclo de operações não pode ser executado indefinidamente. Portanto com um registrador, não é possível fazer o controle do ciclo e, ainda, utilizá-lo como acumulador, pois o controlador é subtraído uma unidade e como o acumulador é somado duas unidades, resulta em ciclo executado indefinidamente. Exemplo: Caso exista um programa recursivo e uma máquina de um_reg, que possua como função computada <duplica, um_reg>:n -> N é tal que, para qualquer n N: <duplica, um_reg>(n) = 2n Suponha que existe um programa monolítico Pm que computa a mesma função, ou seja, que <Pm,um_reg>: N -> N e: <duplica, um_reg> = <Pm, um_reg> Pm é constiruído de K operações ad. Suponha n N tal que n >= k. Então para que <Pm, um_reg>(n), é necessário que Pm execute n vezes a operação ad. Mas, com n >= K, então pelo menos uma das ocorrências de ad será executada indefinidamente. Não configurando um programa fortemente equivalente. 2.8.Equivalência Forte de Programas: Monolítico -> Iterativo Dado um programa monolítico, não necessariamente existe um programa iterativo. Exemplo: Considere o programa monolítico, representado pela Figura 3.
7 Figura 2 - Programa Monolítico Fonte: os autores embasado Diverio(2000) Onde existe um maquina de um_reg, onde a função computada seja <par, um_reg>:n-> N é tal que, para qualquer n N: <par, um_reg>(n) = 1, se n é par; <par, um_reg>(n) = 0, se n é impar. Suponha que existe um programa iterativo que compute a mesma função, ou seja, <Pi, um_reg>: N-> N e: <par, um_reg> = <Pi, um_reg> Suponha que Pi é constiuido de K operações sub. Suponha n N tal que n<=k. É necessário que Pi execute n vezes operações sub. Mas, como n<=k, então pelo menos uma das ocorrências sub será executada mais de uma vez, ou seja, existe um ciclo iterativo (enquanto ou até) em Pi. Em qualquer caso, o ciclo terminará sempre na mesma condição, independente se o valor for par ou ímpar. Portanto, a computação resultante é incapaz de distinguir entre os dois casos. Portanto não existe um Pi equivalente fortemente ao programa monolítico par Máquina de Traço A Máquina de Traço tem grande importância para a verificação de equivalência entre programas. Quando dois programas são semelhantes em qualquer máquina de traço, podemos dizer que nesse caso os programas são equivalentes fortemente. Casillo (2017) Essa máquina não realiza as funções dos programas, não executa os cálculos nem a operação
8 do programa que foi programado, ela apenas cria um histórico do rastro das chamadas do programa, assim denominando a máquina de traço. Casillo (2017). A Máquina de traços é representado pelo seguinte conjunto de elementos: M = (Op*, Op*, Op*,idOp*, idop*, IIF, IIT ) Op* é o conjunto de palavras operações e também pode ser todos os valores da memória de entrada e de saída do programa. idop* são as funções de entrada e saída. IIF são conjuntos de interpretações de operações. IIT conjuntos de interpretações de testes. Casillo (2017) Os efeitos das operações verificada por uma máquina de traços e acrescentar um identificar depois do valor atual da memória, especificando as interpretações dos testes. Pois todas as operações são determinadas antes. Casillo (2017) Um exemplo simples é o programa V que é monolítico, que vai passar pela máquina de traços: 1: faça X vá_para 2 2: faça X vá_para 3 3: faça F vá_para 4 4: se T1 vá_para 5 senão vá_para 1 Todo o histórico de cada interação vai sendo concatenado na memória. Ao passar a programa V na Máquina de Traços M, com uma interação falsa na decisão vai produzir o histórico abaixo: (1, Vazio)(2, X)(3, X X)(4, X XF)(1, X XF)(2, X XFX)(3, X XF XX)(4, X XF XXF)(5, X XF XX). Assim a máquina da como resultado o histórico de alteração: X XF XX pois a linha 5 não existe no sistema significando o final. Campos (2000). 3. RESULTADOS E DISCUSSÕES Foi realizada uma pesquisa teórica sobre os assuntos mencionados acima, que comportou o conhecimento em geral sobre os conceitos e suas funções distintas em cada equivalência supracitada. E ainda, levantaram-se fluxogramas de cada item explanado para demonstrar o funcionamento de cada uma. Concluímos que a equivalência de máquinas, equivalência de programas, equivalência fortemente de programa, máquinas de traços, obtém dependência uma da outra. ressaltando que, equivalência de máquinas, é representada quando uma simula a outra, mesmo sendo distintas. Por outro lado, a equivalência de programa é definida pela analise do resultado da equivalência de máquinas.
9 REFERÊNCIAS BIBLIOGRAFICAS CASILLO, Danielle. Teoria da Computação - Equivalência de Programas e Máquinas. Mossoró: Danielle Casillo, slides, P&B. CAMPOS, Profa. Juliana Pinheiro. Teoria da Computação Disponível em: <file:///d:/nova pasta (7)/Ciencia da computação/7º Semestre/Teoria da Computação/2_ProgramasMaquinasComputacoes.pdf>. Acesso em: 09 maio DIVERIO, Tiaraju Asmuz; MENEZES, Paulo Blauth. Teoria da Computação - Equivalência de Programas e Máquinas. Porto Alegre: Bookman Editora, p. DIVERIO, Tiaraju Asmuz. Teoria da Computação: Máquinas Universais e Computabilidade. 2. ed. Rio Grande: Luzzato, p. QUEIROZ, Ruy J. Guerra B.. Introduction to the Theory of Computation (PWS Publishing Company 1997).
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 08 Equivalência de programas Parte 2 Prof.ª Danielle Casillo Poder computacional dos diversos tipos de programas
Leia maisUNIVERSIDADE 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 Os teoremas citados na aula anterior, podem dar a falsa impressão de que o poder computacional da classe dos
Leia maisUNIVERSIDADE 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 05 Computações Prof.ª Danielle Casillo Computação Será visto como as definições de programas e máquinas caminham
Leia maisUNIVERSIDADE 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 Interpreta os programas de acordo com os dados fornecidos. É capaz de interpretar um programa desde que possua
Leia maisUNIVERSIDADE 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 03 Programas (Monolítico e Iterativo) Prof.ª Danielle Casillo Programas, Máquinas e Computações Diferentes
Leia maisTeoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)
Unidade 1 Conceitos Básicos Referência (Divério, 2000) Conceitos Básicos Linguagem Conceito fundamental Forma precisa de expressar problemas Permite um desenvolvimento formal adequado ao estudo da computabilidade
Leia maisUNIVERSIDADE 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 Diferentes computadores podem ter diferentes arquiteturas e os diversos tipos de linguagem de programação.
Leia maisCurso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 6. Programas, Máquinas e Computações
Curso: Ciência da Computação Turma: 6ª Série Aula 6 Programas, Máquinas e Computações Avisos Hoje tem dúvidas sobre a segunda etapa da ATPS. Somente 28 alunos/alunas entregaram a ATPS etapa 1. Ainda dá
Leia maisResolução Exe 2.12 Monolítico Recursivo
Resolução Exe 2.12 Monolítico Recursivo Recursivo P R é R 1 onde R 1 def (se T1 então R 2 senão R 3 ) R 2 def F; R 3 R 3 def (se T2 então R 4 senão R 7 ) R 4 def G; R 5 R 5 def (se T1 então R 7 senão R
Leia maisUNIVERSIDADE 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 maisTeoria da Computação. Máquinas, Computações e Funções Computadas
Cristiano Lehrer Introdução (1/2) O objetivo de uma máquina é suprir todas as informações necessárias para que a computação de um programa possa ser descrita. Portanto, cabe à máquina suprir o significado
Leia maisTeoria da Computação
Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz
Leia maisTurma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min
UNIVERSIDADE DEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA TEÓRICA 2 Semestre 2008 04/08/2008 a 12/12/2008 DISCIPLINA: TEORIA DA COMPUTAÇÃO N CÓDIGO: INF05501. Horário:
Leia maisUNIVERSIDADE 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 04 Programa Recursivo e Máquinas Prof.ª Danielle Casillo Funções recursivas Alguma função é recursiva quando
Leia maisTeoria da Computação. Aula 01
Teoria da Computação Aula 01 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/tc 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado
Leia maisTuring to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma
4ª Jornada Científica e Tecnológica e 1º Simpósio de Pós-Graduação do IFSULDEMINAS 16, 17 e 18 de outubro de 2012, Muzambinho MG Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre
Leia maisUNIVERSIDADE 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 NORMA (NumberTheOreticRegisterMAchine) Possui como memória um conjunto infinito de registradores naturais e
Leia maisComputabilidade e Complexidade (ENG10014)
Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Decidibilidade O estudo da decidibilidade objetiva determinar a solucionabilidade
Leia maisTeoria da Computação. Computabilidade
Cristiano Lehrer Introdução O objetivo do estudo da solucionabilidade de problemas é investigar a existência ou não de algoritmos que solucionem determinada classe de problemas. Ou seja, investigar os
Leia maisTeoria da Computação. Computabilidade e complexidade computacional
Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade
Leia maisUNIVERSIDADE 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 Nome: Teoria da Computação Créditos: 4 60 horas Período: 2010.2 Horário: segundas e quintas das 20:40 às 22:20
Leia mais1 INTRODUÇÃO E CONCEITOS BÁSICOS
1 INTRODUÇÃO E CONCEITOS BÁSICOS Inicia com uma breve história do surgimento e do desenvolvimento dos conceitos, resultados e formalismos nos quais a Teoria da Computação é baseada. Formalização dos conceitos
Leia maisSCC-5832 Teoria da Computação
Teoria da Computação SCC-5832 Teoria da Computação João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos
Leia maisNoção de Computabilidade
Noção de Computabilidade 1 Procedimento X Algoritmo Procedimento: sequência finita de instruções, que são operações claramente descritas, e que podem ser executadas mecanicamente, em tempo finito. claramente
Leia maisI.2 Introdução a Teoria da Computação
I.2 Introdução a Teoria da Computação O que é? Fundamento da Ciência da Computação Tratamento Matemático da Ciência da Computação Estudo Matemático da Transformação da Informação Qual sua importância?
Leia maisTeoria da Computação (BBC244)
Teoria da Computação (BBC244) Professor: Anderson Almeida Ferreira anderson.ferreira@gmail.com http://www.decom.ufop.br/anderson Sala COM 10 DECOM-UFOP Ementa Gramáticas. Linguagens. Operações com Linguagens.
Leia maisTeoria da Computação Aula 01 Revisão de Conjuntos
Teoria da Computação Aula 01 Revisão de Conjuntos Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Conjuntos Conjunto e uma estrutura que agrupa objetos e constitui uma base para construir estruturas
Leia maisLinguagens Formais e Autômatos. Tiago Alves de Oliveira
Linguagens Formais e Autômatos Tiago Alves de Oliveira Ementa Linguagens Regulares; Máquinas de Turing; O Problema da Parada da Máquina de Turing; Autômatos Finitos; Linguagens Livres de Contexto; Autômatos
Leia maisINE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação
INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br
Leia maisSEMÂNTICA 02/09/2013. Conceitos de LPs - Semântica
UNIVERSIDADE ESTADUAL DE SANTA CRUZ CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO DOCENTE: ROGÉRIO VARGAS DISCENTE: MARIANNA NOVAES Semântica SEMÂNTICA Semântica é a área
Leia maisPLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Pró-Reitoria de Ensino de Graduação Coordenação do Curso de Bacharelado em Sistemas de Informação Site: http://www.bsi.ufrpe.br E-mail: coordenacao@bsi.ufrpe.br
Leia maisJuliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação
Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação
Leia maisTeoria da Computação Aula 8 Noções de Complexidade
Teoria da Computação Aula 8 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Motivação: Por que estudar algoritmos? Perguntas: - Por que estudar algoritmos se os computadores
Leia maisTeoria da Computação: Máquinas, Programas e suas Equivalências
Teoria da Computação: Máquinas, Programas e suas Equivalências Douglas Rodrigues Almeida 1, Daniel Dessbesell 1, Daniel Padilha 1, Thielyon Pinheiro 1, Laércio Castro 1,Vanderlei Cardoso 1,Álvaro Hauenstein
Leia maisProf. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018
22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria
Leia maisLinguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP
Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP Ementa Gramáticas. Linguagens Regulares, Livres-de-Contexto e Sensíveis-ao- Contexto. Tipos de Reconhecedores. Operações
Leia maisSCC Teoria da Computação e Linguagens Formais
SCC-0205 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia maisSCC Introdução à Teoria da Computação
SCC-0505 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia maisTeoria da Computação. Unidade 2 Programas, máquinas e computação: Equivalência de programas. Referência Teoria da Computação (Divério, 2000)
Unidade 2 Programas, máquinas e computação: Equialência de programas Reerência (Diério, 2000) Programas, Máquinas e Computações a Programas, Máquinas e Computações Exercício - Fazer a computação e eriicar
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/14 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
Leia maisUNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUAÇÃO EORIA DA COMPUAÇÃO Aula 09 Equialência Forte de Programas Monolíticos Pro.ª Danielle Casillo Equialência orte de programas monolíticos
Leia maisINE5317 Linguagens Formais e Compiladores. Ricardo Azambuja Silveira INE-CTC-UFSC URL:
INE5317 Linguagens Formais e Compiladores Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira Plano de Ensino OBJETIVO GERAL: Estudar a teoria das linguagens
Leia maisMatemática Discreta - 04
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta - 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisBacharelado em Ciência da Computação Matemática Discreta
Bacharelado em Ciência da Computação Matemática Discreta Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 27 de fevereiro de 2013 diego.silva@ifmg.edu.br (IFMG) Matemática
Leia mais2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30
Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC3106 - LINGUAGENS FORMAIS E
Leia maisTeoria da Computação Aula 02 Introdução
Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:
Leia maisIBM1088 Linguagens Formais e Teoria da Computação
IBM1088 Linguagens Formais e Teoria da Computação Apresentação da disciplina Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 16 IBM1088 Objetivos Fornecer
Leia maisApostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade
Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e
Leia maisMatemática Discreta para Ciência da Computação
Matemática Discreta para Ciência da Computação P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação
Leia maisTeoria da Computação
Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Funções recursivas Os formalismos usados para especificar algoritmos podem ser classificados
Leia maisIntrodução a Computação
O que é um computador? Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados. (F. K. Miyazawa) Um computador é composto por: Introdução
Leia maisPLANO DE APRENDIZAGEM
PLANO DE APRENDIZAGEM 1. DADOS DE IDENTIFICAÇÃO Curso: Bacharelado em Sistemas de Informação Disciplina: Linguagens Formais e Compiladores Código: SIF5N191 Professor: Jamilson Ramalho Dantas e-mail: jamilson.dantas@fasete.edu.br
Leia maisSIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA
SIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA Neste trabalho você deverá construir e testar, com a ferramenta JFLAP, uma MT multifita que simula o funcionamento de um computador
Leia maisUNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Teoria da Computação Ciência da Computação
Leia maisIntrodução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.
DEINFO - UFRPE Julho, 2014 Motivação Introdução O que pode ser computado? E mais intrigantemente, o que não pode ser computado? Motivação Introdução O que pode ser computado? E mais intrigantemente, o
Leia maisTeoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)
Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q
Leia maisLinguagens recursivamente enumeráveis
Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes
Leia maisTeste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo
Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos
Leia maisCapítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.
Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma
Leia maisCapítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.
Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela
Leia maisMáquinas Universais. Máquina de Turing. Celso Olivete Júnior.
Máquinas Universais Máquina de Celso Olivete Júnior olivete@fct.unesp.br http://www2.fct.unesp.br/docentes/dmec/olivete/ Roteiro Hipótese de Church - Máquinas Universais: Máquina de Máquina de : Noção
Leia maisUNIDADE UNIVERSITÁRIA:
UNIDADE UNIVERSITÁRIA: Faculdade de Ciências e Tecnologia/UNESP CURSO: Ciência da Computação Vespertino-Noturno HABILITAÇÃO: Bacharelado OPÇÃO: DEPARTAMENTO RESPONSÁVEL: Departamento de Matemática e Computação
Leia maisEstruturas de Repetição Parte I ENQUANTO-FAÇA
Estruturas de Repetição Parte I ENQUANTO-FAÇA Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Reconhecer a necessidade do uso de estruturas de repetição Aprender a sintaxe
Leia maisSintaxe e Semântica. George Darmiton da Cunha Cavalcanti.
Sintaxe e Semântica George Darmiton da Cunha Cavalcanti (gdcc@cin.ufpe.br) Tópicos Introdução O problema de descrever a sintaxe Métodos formais para descrever a sintaxe Gramáticas de atributos Descrevendo
Leia maisAutómatos determísticos de k-pilhas
Autómatos determísticos de k-pilhas dados de entrada a a a3 an controlo finito (S, Σ, Γ, δ, Z, s 0, F ) δ (S Σ Γ k ) (S, (Γ ) k ) Departamento de Ciência de Computadores da FCUP MC Aula 3 Dados um estado
Leia maisMáquinas de Turing 3
Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens decidíveis por Máquinas de Turing (Recursivas)
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Instituto de Informática Departamento de Informática Teórica
Área: Ciência da Computação Teoria da Computação - Linguagem Formais e Autômatos DISPOSIÇÕES GERAIS O processo seletivo para Professor Substituto do do Instituto de Informática constará de 3 provas, nas
Leia maisUNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 4 a Lista de Exercícios Gabarito de algumas questões.
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 4 a Lista de Exercícios Gabarito de algumas questões. Este gabarito foi feito direto no computador
Leia maisMáquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1
Máquinas Universais Um modelo de computação diz-se universal se todo o problema efectivamente computável o for nesse modelo. Um modelo universal é suficientemente poderoso para se aceitar a si próprio:
Leia mais4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.
Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas
Leia maisSCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente
SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis
Leia maisTeoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.
Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015 DECOM ICEB - UFOP Nome legível: Matrícula: As questões podem devem ser respondidas na própria prova, a caneta ou a lápis.
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 maisINFORMÁTICA APLICADA AULA 02 ALGORITMOS
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo ALGORITMOS Um algoritmo é uma sequência de instruções
Leia maisPCS3616. Programação de Sistemas (Sistemas de Programação) Máquinas de Turing
PCS3616 Programação de Sistemas (Sistemas de Programação) Máquinas de Turing Escola Politécnica da Universidade de São Paulo Objetivos Familiarização com o funcionamento global de software de sistema computacional
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisLinguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
Leia maisProcedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar
Leia maisCurso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 1
Curso: Ciência da Computação Turma: 6ª Série Teoria da Computação Aula 1 Apresentação da Disciplina e Metodologia de Trabalho. Introdução a Teoria da Computação. Apresentação do Professor André Luís Bordignon
Leia maisSemântica Operacional
Semântica Conceitos Semântica é o estudo do significado. Incide sobre a relação entre significantes, tais como palavras, frases, sinais e símbolos, e o que eles representam, a sua denotação. Semântica
Leia mais1 Postulado de Church-Turing 1
1 Postulado de Church-Turing 1 Alguns modelos alternativos no estudo da computabilidade Turing: Máquina de Turing Gödel-Kleene: Funções recursivas Church: Cáluculo λ (funções definidas por termos λ) Post:
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 maisProblemas Computáveis
Indecidibilidade Problemas Computáveis Máquinas de Turing ou Problemas Computáveis ou Linguagens Recursivamente Enumeráveis LER (*) podem ser divididas em 2 classes: as MT que sempre param (Algoritmos),
Leia maisIntrodução a Programação
Introdução a Programação Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 01 Informática e a Programação Roteiro Informática Pensar e Programar Atividades
Leia mais1 introdução. capítulo. O que é uma solução computável? Quais são os limites do que pode ser computado? Existem problemas sem solução computacional?
capítulo 1 introdução A ciência da computação é o conhecimento sistematizado da computação. Sua origem é milenar, tendo se desenvolvido em diferentes regiões e épocas. A teoria da computação é a base fundamental
Leia maisAlgoritmos - 5. Alexandre Diehl. Departamento de Física - UFPel
Algoritmos - 5 Alexandre Diehl Departamento de Física - UFPel Estruturas usadas num algoritmo Estrutura sequencial Estrutura condicional Estrutura de repetição PCF2017 2 Estruturas usadas num algoritmo
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS
LINGUGENS FORMIS E UTÔMTOS Introdução reve Histórico Em 1936, lan Turing (matemático) propôs a possibilidade de se construir um computador digital através da formalização de um procedimento em tempo finito.
Leia maisNOME: RA: TURMA: DATA: 26/04/2019. (Questões)
AVALIAÇÃO ITERMEDIÁRIA DICIPLIA (ALGORITMO E PROGRAMAÇÃO) CURO DE TECOLOGIA EM AÁLIE E DEEVOLVIMETO DE ITEMA E REDE DE COMPUTADORE PROFEO Wagner antos C. de Jesus OTA: OME: RA: TURMA: DATA: 26/04/2019
Leia maisformais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas
Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto
Leia maisprinting problem: dado um programa e um valor arbitrários, o problema de determinar se sim ou não se vai obter como output do programa esse valor;
1 Introdução 1 No texto que se segue vão ser apresentados resultados sobre não decidibilidade de alguns predicados (sobre os naturais). Para certos predicados vai ser apresentada uma prova de que não é
Leia maisProgramação II. Introdução a Funções. Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Introdução a Funções Bruno Feijó Dept. de Informática, PUC-Rio Funções Matemáticas função é uma relação de um ou vários valores de argumentos de entrada em um ÚNICO resultado de saída. y
Leia maisEstruturas de Repetição Parte I ENQUANTO-FAÇA
Estruturas de Repetição Parte I ENQUANTO-FAÇA Prof. João Henrique Kleinschmidt Material elaborado pelos professores de PI Objetivos Reconhecer a necessidade do uso de estruturas de repetição Aprender a
Leia maisAula 3: Algoritmos: Formalização e Construção
Aula 3: Algoritmos: Formalização e Construção Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Algoritmos: Formalização e Pseudo-Código Programação de
Leia maisThe Game-Playing Technique
Universidade do Vale do Rio dos Sinos Teoria da Informação Prof. Ernesto Lindstaedt 14 de junho de 2007 1 2 O que é? 3 Como funciona? 4 Provando o lema 4 Executando um jogo Cálculo da Probabilidade Lema
Leia maisParadigmas de Programação
Paradigmas de Programação Fabrício Olivetti de França 14 de Junho de 2018 1 λ-cálculo 2 Computabilidade Computabilidade é uma área de estudo central da Ciência da Computação. Ela estuda a possibilidade
Leia maisSSC510 Arquitetura de Computadores 1ª AULA
SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura
Leia mais