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

Documentos relacionados
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. Prof.ª Danielle Casillo

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

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)

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

Teoria da Computação. Máquinas, Computações e Funções Computadas

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

EQUIVALÊNCIA DE PROGRAMAS E MÁQUINAS

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

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 6. Programas, Máquinas e Computações

Resolução Exe 2.12 Monolítico Recursivo

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

Introdução Maquinas de Turing universais O problema da parada. Indecidibilidade. Rodrigo Gabriel Ferreira Soares DEINFO - UFRPE.

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

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

distância list ranking

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

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Marcos Castilho. DInf/UFPR. 16 de maio de 2019

Capítulo 2: Procedimentos e algoritmos

Linguagens Regulares. Prof. Daniel Oliveira

Modelos de Computação Folha de trabalho n. 10

Problemas Computáveis

Fundamentos de Programação

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma

Teoria da Computação. Máquinas Universais Máquina com Pilhas

Linguagens Formais e Autômatos P. Blauth Menezes

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

Teoria dos Conjuntos. (Aula 6) Ruy de Queiroz. O Teorema da. (Aula 6) Ruy J. G. B. de Queiroz. Centro de Informática, UFPE

Teoria da Computação. Unidade 2 Programas, máquinas e computação: Equivalência de programas. Referência Teoria da Computação (Divério, 2000)

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens

Um alfabeto é um conjunto de símbolos indivisíveis de qualquer natureza. Um alfabeto é geralmente denotado pela letra grega Σ.

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

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução.

Computabilidade e Complexidade (ENG10014)

Primeira Lista de Exercícios 2005/1... Exercício 1 Desenhe Diagrama de Estados para Máquinas que Decidem as Linguagens:

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

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

I.2 Introdução a Teoria da Computação

Aula 10: Decidibilidade

Modelos Universais de Computação

Aula 10: Decidibilidade

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

IME, UFF 7 de novembro de 2013

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior.

1 INTRODUÇÃO E CONCEITOS BÁSICOS

Noções de algoritmos - Aula 1

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD)

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 18. Cap O Problema da Parada

Teoria da Computação

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

INE5317 Linguagens Formais e Compiladores AULA 3: Introdução a Teoria da Computação

Teoria da Computação. Máquinas Universais Máquina de Turing

Teoria da Computação

Centro Universitário do Triângulo

Teoria da Computação: Máquinas, Programas e suas Equivalências

O Teorema de Peano. f : D R n. uma função contínua. Vamos considerar o seguinte problema: Encontrar um intervalo I R e uma função ϕ : I R n tais que

Complexidade de Algoritmos

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Lógica e Matemática Discreta

Análise e Projeto de Algoritmos

Métodos para determinação de propriedades semânticas de fórmulas da Lógica Proposicional(Capítulo 4)

Aulas 10 e 11 / 18 e 20 de abril

Capítulo 2: Máquinas de Estados Finitos. Modelagem do problema. Quebra-cabeças. Newton José Vieira, Isabel Gomes Barbosa. 19 de agosto de 2010

A DEFINIÇÃO AXIOMÁTICA DO CONJUNTO DOS NÚMEROS NATURAIS.

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento

Linguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de

Linguagens Formais e Autômatos P. Blauth Menezes

Já falamos que, na Matemática, tudo se baseia em axiomas. Já estudamos os números inteiros partindo dos seus axiomas.

1 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?

Programação Aplicada à Engenharia

Noção de Computabilidade

Teoria da Computação. Computabilidade e complexidade computacional

Programação Aplicada à Engenharia

Linguagens Formais e Autômatos P. Blauth Menezes

Draft-v0.1. Máquinas de Turing Máquinas de Turing

Linguagens Formais e Autômatos Decidibilidade

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

Teoria da Computação. Expressões Regulares e Autômatos Finitos. Thiago Alves

Turma A - Segundas e Quartas das 8h30min - 10h10min Turma B - Segundas e Quartas das 10h30min - 12h10min

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Teoria da Computação. Computabilidade

UMA PROVA DE CONSISTÊNCIA

Máquinas de Turing 3

Matemática Discreta para Ciência da Computação

Lista de Exercícios sobre Conjuntos

LFA. Aula 04. Sintaxe e Semântica. Conceitos Básicos Alfabeto Palavra Linguagem

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral

Linguagens e Autômatos

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

Linguagens Formais e Autômatos P. Blauth Menezes

Aprendizado de Máquina

Transcrição:

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 Os teoremas citados na aula anterior, podem dar a falsa impressão de que o poder computacional da classe dos programas recursivos é maior que a dos monolíticos que, por sua vez, é maior que a dos iterativos. É importante constatar que as três classes de formalismos possuem o mesmo poder computacional. Teoria da Computação - Aula 08 2

Poder computacional dos diversos tipos de programas 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. Para efeito de análise de poder computacional, pode-se considerar máquinas distintas para programas distintos e não necessariamente existe uma relação entre as operações e testes (e a ordem de execução) dos programas. Teoria da Computação - Aula 08 3

Equivalência de programas Eventualmente, pode ser desejado analisar a equivalência de programas em uma dada máquina, caracterizando uma noção de equivalência mais fraca que a apresentada até o momento. Teoria da Computação - Aula 08 4

Equivalência de programas Relação de Equivalência de Programas em uma Máquina: Sejam P e Q dois programas arbitrários, não necessariamente do mesmo tipo e uma máquina M qualquer. Então o par (P, Q) está na Relação Equivalência de Programas na Máquina M, denotado por: P M Q se, e somente se, as correspondentes funções parciais computadas são iguais, ou seja: P, M = Q, M Teoria da Computação - Aula 08 5

Equivalência de programas Neste caso, P e Q são ditos Programas Equivalentes na Máquina M, ou simplesmente Programas M-Equivalentes. Existem máquinas nas quais não se pode provar a existência de um algoritmo para determinar se, dados dois programas, eles são ou não M-equivalentes. Teoria da Computação - Aula 08 6

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. Teoria da Computação - Aula 08 7

Equivalência de máquinas Simulação Forte de Máquinas: Sejam M = (V M, X, Y, πx M, πy M, ПF M, ПT M ) e N = (V N, X, Y, πx N, πy N, ПF N, ПT N ) duas máquinas arbitrárias. N Simula Fortemente M se, e somente se, para qualquer programa P para M, existe um programa Q para N, tal que as correspondentes funções parciais computadas coincidem, ou seja: P, M = Q, N Teoria da Computação - Aula 08 8

Equivalência de máquinas É importante observar que a igualdade de funções exige que os conjuntos de domínio e contra-domínio sejam iguais. É necessário que as duas máquinas possuam os mesmos conjuntos de valores de entrada e saída. Teoria da Computação - Aula 08 9

Equivalência de máquinas Simulação de Máquinas: Sejam M = (V M, X M, Y M, πx M, πy M, ПF M, ПT M ) e N = (V N, X N, Y N, πx N, πy N, ПF N, ПT N ) duas máquinas arbitrárias. N Simula M se, e somente se, para qualquer programa P para M, existe um programa Q para N e existem Função de Codificação c: X M X N Função de Decodificação d: Y N Y M tais que: P, M = d Q, N c Teoria da Computação - Aula 08 10

Equivalência de máquinas Relação Equivalência de Máquinas Sejam M e N duas máquinas arbitrárias. Então o par (M, N) está na Relação Equivalência de Máquinas, se, e somente se: M simula N e N simula M. Teoria da Computação - Aula 08 11

Verificação da equivalência forte de programas São descritas formas de se determinar se dois programas, sob determinadas condições, são ou não equivalentes fortemente. Mostra-se que existe um algoritmo para decidir a equivalência forte entre programas monolíticos. Todo programa iterativo possui um programa monolítico equivalente fortemente. Teoria da Computação - Aula 08 12

Verificação da equivalência forte de programas A verificação de que dois programas monolíticos são equivalentes fortemente usa os seguintes conceitos: Máquina de Traços: Produz um rastro ou histórico (denominado traço) da ocorrência das operações do programa. Neste contexto, dois programas são equivalentes fortemente se são equivalentes em qualquer máquina de traços. Teoria da Computação - Aula 08 13

Verificação da equivalência forte de programas Programa Monolítico com Instruções Rotuladas Compostas: Instruções rotuladas compostas constituem uma forma alternativa de definir programas monolíticos. Basicamente, uma instrução rotulada composta é um teste da seguinte forma : r 1 : se T então faça F vá_para r 2 senão faça G vá_para r 3 Teoria da Computação - Aula 08 14

Verificação da equivalência forte de programas De fato, usando máquinas de traços, é fácil verificar que, para um dado fluxograma, é possível construir um programa equivalente fortemente, usando instruções rotuladas compostas. Instruções rotuladas compostas induzem a noção de rótulos equivalentes fortemente, a qual é usada para determinar se dois programas são ou não equivalentes fortemente. Teoria da Computação - Aula 08 15

Máquina de Traços Uma máquina de traços não executa as operações propriamente ditas, mas apenas produz um histórico ou rastro da ocorrência destas, denominado de traço. Teoria da Computação - Aula 08 16

Máquina de Traços Essas máquinas são de grande importância para o estudo da equivalência de programas pois, se dois programas são equivalentes em qualquer máquina de traços, então são equivalentes fortemente. Teoria da Computação - Aula 08 17

Máquina de Traços - Definição Uma Máquina de traços é uma máquina M = (Op*, Op*, Op*, id Op *, id Op *, П F, П T ) onde: Op*: conjunto de palavras de operações em que Op = {F, G,...} o qual corresponde, simultaneamente, aos conjuntos de valores de memória, de entrada e de saída; id Op *: função identidade em Op*, a qual corresponde, simultaneamente, às funções de entrada e saída; Teoria da Computação - Aula 08 18

Máquina de Traços - Definição П F : conjunto de interpretações de operações onde, para cada identificador de operação F de Op, a interpretação π F : Op* Op* é tal que, para qualquer w Op*, π F (w) resulta na concatenação do identificador F à direita de w, ou seja: π F (w) = wf П T : conjunto de interpretações de testes, tal que, para cada identificador de teste T: π T : Op* {verdadeiro, falso} é função de П T Teoria da Computação - Aula 08 19

Máquina de Traços - Definição O efeito de cada operação interpretada por uma máquina de traços é simplesmente o de acrescentar o identificador da operação à direita do valor atual da memória. Resumindo, para definir uma máquina de traços, precisa-se apenas especificar as interpretações dos testes, pois as operações são predeterminadas. Teoria da Computação - Aula 08 20

Função induzida por um traço em uma máquina Sejam M = (V, X, Y, π X, π Y, П F, П T ) uma máquina, Op = {F, G, H,...} o conjunto de operações interpretadas em П F e w = FG...H um traço possível de M, ou seja, w Op*. A Função Induzida pelo Traço w na Máquina M, denotada por: [w, M]: X V é a função (total): [w, M] = π H... π G π F π X Teoria da Computação - Aula 08 21

Função induzida por um traço em uma máquina A função [w, M] aplicada a uma entrada x X é denotada por: [w x, M] = π H... π G π F π X (x) Portanto, a função induzida por um traço nada mais é do que a função resultante da composição das interpretações das diversas operações que constituem o traço. Teoria da Computação - Aula 08 22

Equivalência forte de programas Equivalência de programas em máquinas de traços. Sejam P e Q dois programas arbitrários, não necessariamente do mesmo tipo. Então: P Q se, e somente se, para qualquer máquina de traços M, P M Q. Teoria da Computação - Aula 08 23

Instruções rotuladas compostas Instruções rotuladas compostas possuem somente um formato, ao contrário das instruções rotuladas, as quais podem ter dois formatos: de operação e de teste. Uma instrução rotulada composta combina ambas em uma única forma. Teoria da Computação - Aula 08 24

Instruções rotuladas compostas Definição: Uma Instrução Rotulada Composta é uma sequência de símbolos da seguinte forma (suponha que F e G são identificadores de operação e que T é um identificador de teste): r 1 : se T então faça F vá_para r 2 senão faça G vá_para r 3 r 2 e r 3 são ditos rótulos sucessores de r 1 ; r 1 é dito rótulo antecessor de r 2 e r 3. Teoria da Computação - Aula 08 25

Instruções rotuladas compostas Definição: Programa Monolítico com Instruções Rotuladas Compostas Um Programa Monolítico com Instruções Rotuladas Compostas P é um par ordenado P = (I, r) onde: I Conjunto de Instruções Rotuladas Compostas, o qual é finito; R Rótulo Inicial o qual distingue a instrução rotulada inicial em I. Teoria da Computação - Aula 08 26

Instruções rotuladas compostas Adicionalmente, relativamente ao conjunto I, tem-se que: não existem duas instruções diferentes com um mesmo rótulo; um rótulo referenciado por alguma instrução o qual não é associado a qualquer instrução rotulada é dito um Rótulo Final. Para simplificar o entendimento da determinação da equivalência forte de programas monolíticos, é considerado somente o caso particular em que os programas possuem um único identificador de teste, denotado por T. Teoria da Computação - Aula 08 27

Instruções rotuladas compostas Considerando-se um único identificador de teste, uma instrução rotulada composta da forma: r 1 : se T então faça F vá_para r 2 senão faça G vá_para r 3 pode ser abreviada simplesmente por: r 1 : (F, r 2 ), (G, r 3 ) Agora vamos apresentar um algoritmo para traduzir fluxogramas em instruções rotuladas compostas. Teoria da Computação - Aula 08 28

Instruções rotuladas compostas algoritmo fluxograma rotuladas compostas Nós - componentes elementares de partida, parada e operação de um fluxograma Algoritmo para traduzir um fluxograma P para um programa monolítico P' constituído por instruções rotuladas compostas, é como segue: Teoria da Computação - Aula 08 29

Instruções rotuladas compostas algoritmo fluxograma rotuladas compostas a) Rotulação de Nós: Rotula-se cada nó do fluxograma. Suponha que existe um único componente elementar de parada, ao qual é associado o identificador ε (palavra vazia). O rótulo correspondente ao nó partida é o Rótulo Inicial do programa P'. Teoria da Computação - Aula 08 30

Instruções rotuladas compostas algoritmo fluxograma rotuladas compostas b) Instruções Rotuladas Compostas: A construção de uma instrução rotulada composta parte do nó partida e segue o caminho do fluxograma. Teoria da Computação - Aula 08 31

Instruções rotuladas compostas algoritmo fluxograma rotuladas compostas Teste: Para um teste, a correspondente instrução rotulada composta é: r 1 : (F, r 2 ), (G, r 3 ) Teoria da Computação - Aula 08 32

Instruções rotuladas compostas algoritmo fluxograma rotuladas compostas Operação: Para uma operação, a correspondente instrução rotulada composta é: r 1 : (F, r 2 ), (F, r 2 ) Teoria da Computação - Aula 08 33

Instruções rotuladas compostas algoritmo fluxograma rotuladas compostas Parada: Para uma parada, a correspondente instrução rotulada composta é como segue: r: (parada, ε), (parada, ε) Teoria da Computação - Aula 08 34

Instruções rotuladas compostas algoritmo fluxograma rotuladas compostas Testes Encadeados: No caso de testes encadeados, segue-se o fluxo até que seja encontrado um nó, resultando na seguinte instrução rotulada composta: r 1 : (F, r 2 ), (G, r 3 ) Teoria da Computação - Aula 08 35

Instruções rotuladas compostas Algoritmo Fluxograma Rotuladas Compostas Testes Encadeados em Ciclo Infinito: Para um ciclo infinito determinado por testes encadeados, a correspondente instrução rotulada composta é: r 1 : (F, r 2 ), (ciclo, ω) Teoria da Computação - Aula 08 36

Instruções rotuladas compostas Algoritmo Fluxograma Rotuladas Compostas Neste caso, deve ser incluída, adicionalmente, uma instrução rotulada composta correspondente ao ciclo infinito: ω : (ciclo, ω), (ciclo, ω) Teoria da Computação - Aula 08 37

Instruções rotuladas compostas Fluxograma Rotuladas Compostas Considere o programa monolítico especificado na forma de fluxograma cujos nós já estão rotulados: 1 partida v f 2 G T F 3 v f 4 F T G 5 7 G 6 f F T v v T v f T f Programa com Instruções Rotuladas Compostas: 1: (G, 2), (F, 3) 2: (G, 2), (F, 3) 3: (F, 4), (G, 5) 4: (F, 4), (G, 5) 5: (F, 6), (ciclo, ω) 6: (parada, ε), (G, 7) 7: (G, 7), (G, 7) ω: (ciclo, ω), (ciclo, ω) ε parada Teoria da Computação - Aula 08 38

Exercícios Mostre que os programas P e Q representados abaixo são equivalentes: Programa Iterativo P até T faça ( ) ; (se T então F; enquanto T faça (até T faça F; G) senão ( )) Programa Monolítico Q 1: se T então vá_para 2 senão vá_para 1 2: faça F vá_para 3 3: se T então vá_para 4 senão vá_para 7 4: se T então vá_para 3 senão vá_para 5 5: faça F vá_para 6 6: faça G vá_para 4 Teoria da Computação - Aula 08 39

Exercícios Partida 1 Programa P Programa Iterativo P até T faça ( ) ; (se T então F; enquanto T faça (até T faça F; G) senão ( )) v f T f v 2 3 4 v v f T F T T F G Parada f Programa P instruções rotuladas compostas : 1: (F, 2) (Ciclo, ω) 2: (ciclo, ω) (Parada, ε) 3: (G, 4) (G, 4) 4: (Ciclo, ω) (F, 3) ω : (Ciclo, ω) (Ciclo, ω) Teoria da Computação - Aula 08 40

Programa Q Programa Monolítico Q 1: se T então vá_para 2 senão vá_para 1 2: faça F vá_para 3 3: se T então vá_para 4 senão vá_para 7 4: se T então vá_para 3 senão vá_para 5 5: faça F vá_para 6 6: faça G vá_para 4 Exercícios Programa Q instruções rotuladas compostas : 1: (F, 2) (Ciclo, ω) 2: (Ciclo, ω) (Parada, ε) 3: (G, 4) (G, 4) 4: (Ciclo, ω) (F, 3) ω : (Ciclo, ω) (Ciclo, ω) Teoria da Computação - Aula 08 41

Exercícios Verificação de equivalência: Programa P instruções rotuladas compostas : 1: (F, 2) (Ciclo, ω) 2: (ciclo, ω) (Parada, ε) 3: (G, 4) (G, 4) 4: (Ciclo, ω) (F, 3) ω : (Ciclo, ω) (Ciclo, ω) Programa Q instruções rotuladas compostas : 1: (F, 2) (Ciclo, ω) 2: (Ciclo, ω) (Parada, ε) 3: (G, 4) (G, 4) 4: (Ciclo, ω) (F, 3) ω : (Ciclo, ω) (Ciclo, ω) União dos conjuntos de Instruções Rotuladas Compostas: 1: (F, 2) (Ciclo, ω) 2: (ciclo, ω) (Parada, ε) 3: (G, 4) (G, 4) 4: (Ciclo, ω) (F, 3) 1: (F, 2) (Ciclo, ω) 2: (Ciclo, ω) (Parada, ε) 3: (G, 4) (G, 4) 4: (Ciclo, ω) (F, 3) ω : (Ciclo, ω) (Ciclo, ω) Teoria da Computação - Aula 08 42