Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introdução
A Ciência da Computação é uma área abrangente que possui diversas aplicações em outras
áreas, como matemática, biologia, eletrônica, fı́sica e entre outros. Como base para toda a área
da computação, está a Teoria da Computação, que define a área como uma ciência.
Teoria da Computação é um campo de estudos abstrato, porém seus estudos levam para
aplicações práticas, definindo os princı́pios fundamentais da computação, como máquinas, pro-
gramas e funções computáveis.
O presente trabalho irá abordar alguns aspectos desse campo de estudo, como equi-
valência de programas e máquinas e definições recursivas.
3.1.1. Definição
Seja a máquina de traços M = (Op*, Op*, Op*, idOp* , idOp* , IIF , IIT ) e o conjunto de operações
Op = {F, G, H,...} interpretadas em IIF e w=F G ...H um traço possı́vel de M. A função induzida
pelo traço em M pode ser definida por:
[w, M]:X→V
e a sua função:
Dessa forma, pode se dizer que a função induzida por um traço se trata de uma função
resultante da composição das interpretações das várias operações que constituem aquele traço.
A verificação da equivalência forte de dois programas monolı́ticos pode ser mais facil-
mente usando uma forma equivalente (fortemente) de representação baseada em conjuntos de
instruções rotuladas compostas.
Instruções rotuladas compostas possuem somente uma única forma, ao contrário das
instruções rotuladas as quais podem ser de duas formas: operação ou teste. De fato, uma
instrução rotulada composta combina ambas em uma única forma.
3.2.1. Definição: Instrução Rotulada Composta
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):
r1: se T então faça F vá para r2 senão faça G vá para r3
Adicionalmente:
• r2 e r3 são ditos rótulos sucessores de r1
• r1 é dito rótulo antecessor de r2 e r3
b.4) Testes Encadeados. segue-se o fluxo até que seja encontrado um nó, resultando na
seguinte instrução rotulada composta:
Neste caso, deve ser incluı́da, adicionalmente, uma instrução rotulada composta correspondente
ao ciclo infinito, ou seja:
No texto que segue, a rotulação dos nós de um fluxograma usa números naturais, fixando o
número 1 para o nó de partida.
Figura 1. Instruções Rotuladas Compostas
• existem dois caminhos no fluxograma que atingem nó parada. Entretanto, somente um
é representado no conjunto de instruções rotuladas compostas. O segundo caminho é
impossı́vel, pois trata-se de uma contradição de T;
• na instrução rotulada por 7, ocorre um ciclo infinito (compare com o caso de ciclo
infinito determinado por testes encadeados na instrução rotulada por ω).
Figura 2. Fluxograma com os nós rotulados
No exemplo, o indice é usado para assegurar que as identificações dos elementos são distintas.
Por simplicidade, quando a identificação for única, o ı́ndice pode ser omitido. Assim, o conjunto
resultante do exemplo acima fica como segue:
6. Hipótese de Church
Trata-se de uma hipótese que afirma que qualquer outra forma de expressar algoritmos, que não
seja o modelo abstrato da máquina de Turing, terá no máximo a mesma capacidade de poder
computacional da Máquina de Turing, no entanto, como funções computáveis e algoritmos são
temas intuitivos, a Hipótese de Church não pode ser demonstrada.[Diverio and Menezes 2011]
Mesmo não sendo demonstrável, é possı́vel tirar algumas conclusões através dos traba-
lhos já realizados como Máquina de Norma, Máquina de Post e Autômatos com Pilhas, são
exemplos de conceitos que se equivalem da Máquina de Turing.
A importância dessa tese é que ela fornece percepções sobre as capacidade e limitações
das máquinas de computação, especificamente sobre as Máquinas de Turing no qual outros
sistemas computacionais podem ser comparados.[Brookshear and Piveta 2013]
9. Computabilidade
Nesta seção será visto o estudo da solucionabilidade de problemas , que se trata de investigar
a existência ou não de algoritmos que solucionem determinada classe de problemas, ou seja,
investigar os limites da computabilidade e o limites do que pode efetivamente ser implementado
em um computador.
Porém existem alguns problemas que não pode ser solucionados:
• Equivalência de Compiladores
• Detector Universal de Loops
Se w ∈ LA , então R(w) ∈ LB Se w ∈
/ LA , então R(w) ∈
/ LB
Uma solução para o Sistema de Post é uma sequência não-vazia de números naturais com
valores em {1, 2, ..., n}. Dessa forma o Problema da Correspondecia de Post é a investigação
da existência de um algoritmo que analise qualquer Sistema de Post e determina se ele tem pelo
menos uma solução.[Diverio and Menezes 2011]