Teoria da Computação EQUIVALÊNCIA DE PROGRAMAS E MÁQUINA Fabrício Dias

Slides:



Advertisements
Apresentações semelhantes
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Advertisements

Amintas engenharia.
Linguagem Fabrício Dias
REVISÃO– FUNÇÕES Fabrício Dias
Exemplo.
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
Teoria da Computação VERIFICAÇÃO DE EQUIVALÊNCIA FORTE DE PROGRAMAS
REVISÃO– CONJUNTOS E FUNÇÕES Fabrício Dias
MÁQUINAS UNIVERSAIS Fabrício Dias
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Máquina de.
Capítulo 2 - Derivadas No final do capítulo 1, já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando.
Derivadas Já definimos o coeficiente angular de uma curva y = f(x) no ponto onde x = x0. Chamamos esse limite, quando ele existia, de derivada de f em.
LIMITE DE UMA FUNÇÃO II Nice Maria Americano Costa Pinto.
Nice Maria Americano da Costa
MÉTODOS MATEMÁTICOS EM BIOLOGIA
Complexidade de Linguagens Influência do Modelo de Computação
INE Fundamentos de Matemática Discreta para a Computação
1.1. CONTROLE DIGITAL SISTEMAS DE CONTROLE DIGITAL podem executar duas funções: SUPERVISÃO (externa à malha de realimentação): sincronismo de tarefas,
Medida do Tempo de Execução de um Programa
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
SIMULAÇÃO EM COMPUTADOR: O PENSAMENTO COMO PROCESSAMENTO DE INFORMÇÕES
Lógica para Computação
Linguagem de 1ª ordem da teoria de conjuntos
Matrizes Definição Mat Fis Qui João 7,0 5,0 6,0 Maria 9,0 4,0
G R U P O S - III.
Prof. Roberto Cristóvão
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE MATEMÁTICA
Números Complexos Definição: Um número complexo z pode ser definido como um par ordenado (x, y) de números reais x e y, z = (x, y) (1) sujeito.
Aula 2: Limite e continuidade
Introdução a Computação e Cálculo Numérico
Teoria dos Grafos Planaridade
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
TEORIA AXIOMÁTICA DOS CONJUNTOS
Expressões fracionárias
Aula 07 – Limite e Continuidade
Teorema de Rolle e Teorema do Valor Médio
AULA 2 Função Afim Função Inversa Função Composta.
Integração Numérica Integração Numérica
Aulas 9,10 Fábio Nakano.
Teoria das Relações Uma relação binária é um conjunto de pares ordenados. Uma relação entre dois conjuntos X e Y é um subconjunto do produto cartesiano.
Indução Matemática Recursão
Teoria da Computação Aula 5 Prof. Fabiano Sabha.
Teoria da Computação Aula 3 Prof. Fabiano Sabha.
Amintas engenharia.
Processamento de dados na UCP e memória UCP
Complexidade computacional
Transformação Linear Definição: Sejam dois espaços vetoriais reais. Uma função T (ou aplicação) é denominada Transformação Linear de se:
1 TEORIA DA COMPUTAÇÃO Motivação Licenciatura em Ciência e Tecnologia da Computação Licenciatura em Engenharia Informática e de Computadores (Prep.)
LFA: Unidade 03 – Parte B Engenharia/Ciência da Computação
Isomorfismo Definição: Dados dois espaços vetoriais reais e uma transformação linear de entre eles. Dizemos que a transformação linear é um isomorfismo.
Redução.
DERIVADAS E DIFERENCIAIS II
Decidibilidade, Corretude, Completude, Consistência
INE Fundamentos de Matemática Discreta para a Computação
Matemática Discreta I BCC101
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Decidibilidade, Corretude, Completude, Consistência, Monotonicidade
Prática de Ensino em Matemática II Aula 1

Introdução a Lógica Matemática
ESPAÇOS VETORIAIS PROPRIEDADES: Seja
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Solução Numérica de Equações
Álgebra Booleana e Circuitos Lógicos Em 1854, George Boole introduziu o formalismo que até hoje se usa para o tratamento sistemático da lógica, que é.
INTRODUÇÃO AO CÁLCULO CONJUNTOS NUMERICOS.
Informática Teórica Engenharia da Computação. Autômatos Com Pilha São como autômatos finitos não-determinísticos mas com uma pilha. São como autômatos.
Informática Teórica Engenharia da Computação. REDUTIBILIDADE Uma redução é uma maneira de converter um problema em outro Uma redução é uma maneira de.
Transcrição da apresentação:

Teoria da Computação EQUIVALÊNCIA DE PROGRAMAS E MÁQUINA Fabrício Dias UNIPÊ – Centro Universitário de João Pessoa Curso de Ciências da Computação Teoria da Computação EQUIVALÊNCIA DE PROGRAMAS E MÁQUINA Fabrício Dias fabriciounipe@ig.com.br

Agenda Programas, máquinas e computações Equivalências de programas e máquinas Programas equivalentes Função parcial Equivalência forte de programas Equivalência de máquinas.

Relembrando: Programas, máquinas e computações Programa – é um conjunto de operações e testes compostos de acordo com uma estrutura de controle; Tipos de Programas: Monolítico Iterativo Recursivo

Máquina Uma máquina é capaz de interpretar os programas de acordo com os dados fornecidos Deve possuir uma interpretação para cada operação ou teste que constitui o programa.

Computação e função computada Computação é um histórico do funcionamento da máquina para o programa, considerando um valor inicial Função computada é uma função (parcial) induzida a partir da máquina e do programa dados.

Equivalência de Programas e Máquinas

Programas Equivalentes Funções computadas permitem introduzir algumas importantes noções de equivalências de programas e máquinas Programas equivalentes fortemente Programas equivalentes Máquinas equivalentes.

Programas Equivalentes Programas equivalentes fortemente Quando as correspondentes funções computadas coincidem para qualquer máquina Programas equivalentes Quando as correspondentes funções computadas coincidem para uma dada máquina Máquinas equivalentes Quando as máquinas podem simular umas às outras

Importância A relação equivalência forte de programas é importante, porque ao agrupar diferentes programas em classes de equivalências de programas cujas funções coincidem, fornece subsídios para analisar propriedades de programas como complexidades.

Programas monolíticos Diagrama Um importante resultado é que programas recursivos são mais gerais que os monolíticos, os quais, por sua vez, são mais gerais que os iterativos. Programas recursivos Programas monolíticos Programas iterativos

Função Parcial Definição: É uma função que só está definida em parte do seu domínio. Igualdade de funções parciais Duas funções parciais f,g: X → Y são ditas iguais, ou seja, f = g, se e somente se, para cada x  X: f(x) e g(x) são definidas e f(x) = g(x)

Equivalência Forte de Programas Definição: Sejam P e Q dois programas, não necessariamente do mesmo tipo: Então o par (P,Q) está na Relação Equivalência Forte de Programas, P ≡ Q , se e somente se, para qualquer máquina M, as correspondentes funções parciais computadas são iguais, <P,M> = <Q,M>.

Equivalência Forte de Programas Para todo programa iterativo, existe uma programa monolítico fortemente equivalente; Para todo programa monolítico, existe um programa recursivo fortemente equivalente; Obs.: A inversa não é verdadeira necessariamente.

Equivalência Forte de Programas Teorema 1: Iterativo → Monolítico Para qualquer programa iterativo Pi , existe um programa monolítico Pm, tal que Pi ≡ Pm

Equivalência Forte de Programas Teorema 2: Monolítico → Recursivo Para qualquer programa monolítico Pm , existe um programa recursivo Pr, tal que Pm ≡ Pr .

Equivalência Forte de Programas Corolário 1: Iterativo → Recursivo Para qualquer programa iterativo Pi , existe um programa recursivo Pr, tal que Pi ≡ Pr

Equivalência Forte de Programas Teorema 3: Dado um programa recursivo Pr qualquer, não necessariamente existe programa monolítico Pm, tal que Pr ≡ Pm.

Equivalência Forte de Programas Teorema 4: Dado um programa monolítico Pm qualquer, não necessariamente existe programa iterativo Pi, tal que Pm ≡ Pi

Equivalência Forte de Programas É importante notar que as 3 classes de formalismos possuem o mesmo poder computacional, isto é: para qualquer programa recursivo e para qualquer máquina, existe um programa monolítico e existe uma máquina tal que as correspondentes funções computadas coincidem.

Equivalência Forte de Programas existe um algoritmo para determinar se dois programas monolíticos (respectivamente, iterativos) são ou não equivalentes fortemente até o momento, não é conhecido se existe ou não um algoritmo para mostrar equivalência forte de dois programas recursivos.

Equivalência de Máquinas Analogamente às equivalências de programas, pode-se estabelecer noções de equivalência de máquinas Afirma-se que duas máquinas são equivalentes se uma pode simular a outra e vice-versa.

Dúvidas????