Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


ASPECTOS TEORICOS DA COMPUTACAO - ATC, Esquemas de Teoria da Computação

ASPECTOS TEORICOS DA COMPUTACAO - ATC

Tipologia: Esquemas

2023

Compartilhado em 08/05/2023

thiago-barbosa-alves-1
thiago-barbosa-alves-1 🇧🇷

1 documento

1 / 6

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Módulo 4 - Máquinas de Turing Universais - O Problema da Parada -
Problemas Não Solucionáveis sobre as Máquinas de Turing e sobre as
Gramáticas.
Máquina Universal
Uma máquina de Turing Universal é uma máquina de Turing capaz de simular qualquer
outra apropriadamente codificada.
“Processa programas que são codificações de máquinas de Turing.” (Ramos, Vega e
Neto, 2009).
Simula a máquina descrita e produz como resultado o mesmo resultado que a máquina
simulada produziria.
É universal, pois é capaz de executar qualquer algoritmo.
Ordenação lexicográfica
É possível especificar uma máquina de Turing através de uma descrição passível de ser a
entrada de outra Máquina de Turing. A seguinte convenção pode ser adotada:
Cada estado distinto da máquina de Turing é nomeado por uma cadeia constituída do
símbolo q, que deve ser sucedido por uma cadeia de símbolos do alfabeto binário.
Cada símbolo da cadeia de entrada é nomeado por uma cadeia constituída
do símbolo “a” e sucedido por uma cadeia de símbolos do alfabeto binário
Os estados e os símbolos da cadeia de entrada devem ser ordenados. Pode-se, por
convenção, ordená-los em ordem lexicográfica crescente de tal forma que:
o estado inicial é o primeiro e os estados de aceitação são os últimos;
os símbolos especiais são os primeiros na seguinte ordem: (branco, início de fita (·),
movimento à esquerda (E) e movimento à direita (D));
“M” é um conjunto de quádruplas, obtidas a partir da função de transição g de M e deve
ser ordenada em ordem lexicográfica crescente.
Os estados e os símbolos da cadeia de entrada devem ser ordenados. Pode-se, por
convenção, ordená-los em ordem lexicográfica crescente de tal forma que:
o o estado inicial é o primeiro e os estados de aceitação são os últimos;
o os símbolos especiais são os primeiros na seguinte ordem: (branco, início de fita
(·), movimento à esquerda (E) e movimento à direita (D));
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe ASPECTOS TEORICOS DA COMPUTACAO - ATC e outras Esquemas em PDF para Teoria da Computação, somente na Docsity!

Módulo 4 - Máquinas de Turing Universais - O Problema da Parada -

Problemas Não Solucionáveis sobre as Máquinas de Turing e sobre as

Gramáticas.

Máquina Universal

Uma máquina de Turing Universal é uma máquina de Turing capaz de simular qualquer outra apropriadamente codificada.

“Processa programas que são codificações de máquinas de Turing.” (Ramos, Vega e

Neto, 2009).

Simula a máquina descrita e produz como resultado o mesmo resultado que a máquina simulada produziria.

É universal, pois é capaz de executar qualquer algoritmo.

Ordenação lexicográfica

É possível especificar uma máquina de Turing através de uma descrição passível de ser a

entrada de outra Máquina de Turing. A seguinte convenção pode ser adotada:

Cada estado distinto da máquina de Turing é nomeado por uma cadeia constituída do símbolo q, que deve ser sucedido por uma cadeia de símbolos do alfabeto binário.

Cada símbolo da cadeia de entrada é nomeado por uma cadeia constituída

do símbolo “a” e sucedido por uma cadeia de símbolos do alfabeto binário

Os estados e os símbolos da cadeia de entrada devem ser ordenados. Pode-se, por

convenção, ordená-los em ordem lexicográfica crescente de tal forma que:

o estado inicial é o primeiro e os estados de aceitação são os últimos;

os símbolos especiais são os primeiros na seguinte ordem: (branco, início de fita (·),

movimento à esquerda (E) e movimento à direita (D));

“M” é um conjunto de quádruplas, obtidas a partir da função de transição g de M e deve

ser ordenada em ordem lexicográfica crescente.

Os estados e os símbolos da cadeia de entrada devem ser ordenados. Pode-se, por

convenção, ordená-los em ordem lexicográfica crescente de tal forma que:

o o estado inicial é o primeiro e os estados de aceitação são os últimos;

o os símbolos especiais são os primeiros na seguinte ordem: (branco, início de fita (·), movimento à esquerda (E) e movimento à direita (D));

o “M” é um conjunto de quádruplas, obtidas a partir da função de transição g de M e deve ser ordenada emordem lexicográfica crescente.

Exemplo: seja uma MT M, tal que:

Q = {q0, q1, qf}

A = {b, >, x}

F = {qf}

q0 é o estado inicial;

b representa “branco”.

A função de transição é dada como se segue:

estado Símbolo de entrada g

q0 x (q1, b)

q0 b (qf, b)

q0 > (q0, D)

q1 x (q0, x)

q1 b (q0, D)

q1 > (q1, D)

Tem-se que “ a Máquina de Turing M pode ser descrita pela tabela acima ou seja pela sua ordenação lexicográfica.

M ” = (q00, a100, q01, a000), (q00, a000, q11, a000), (q00, a001, q00, a011), (q01, a100, q00, a011), (q01, a000, q00, a011), (q01, a001, q01, a011).

Problema Solucionável (ou decidível)

Um problema é dito Solucionável ou Totalmente Solucionável se eixste um algoritmo que solucione o problema tal que sempre para para qualquer entrada, com uma resposta afirmativa (aceita) ou negativa (rejeita).

Problema Não-Solucionável (Não decidível)

Um problema é dito Não-Solucionável se não existe um algoritmo que solucione o problema tal que sempre para, qualquer que seja a entrada.

Para uma dada gramática geral G e uma palavra w, determinar se a palavra w  L(G) (L(G) significa: Linguagem gerada pela gramática G).

Para uma dada gramática G, determinar se a palavra vazia  pertence à Linguagem gerada por G, ou seja, L(G).

Dadas duas gramáticas gerais arbitrárias G1 e G2, determinar se as Linguagens geradas pro G1 e G2 são iguais;

Para uma gramática geral arbitrária G determinar se a Linguagem gerada é um conjunto vazio (ou seja, não existem palavras);

Propriedades das Linguagens Recursivas

Diz-se que uma máquina de Turing M enumera a Linguagem L, se e somente se, para um determinado estado q de M, ao analisar uma fita de entrada com apenas um símbolo branco, passa periodicamente por um determinado estado q (q não pode ser estado de parada), insere na fita de entrada a palavra w que pertence à linguagem L.

Se as palavras forem enumeradas lexicograficamente por M, diz-se que a linguagem L é recursiva.

Teorema: Uma Linguagem é recursiva se e somente se for Turing-enumerável lexicograficamente.

Linguagens Não Recursivamente Enumeráveis

É provado que existem linguagens que não são recursivamente enumeráveis.

Seja o alfabeto A = {a, b}

É possível codificar todas as máquinas de Turing como uma palavra sobre o alfabeto A, de tal forma que cada código represente uma única máquina de Turing Ti.

A linguagem: L = {Xi | Xi não é aceita por Ti} não é recursivamente enumerável.

Exercício Resolvido 1: Considere a seguinte definição do problema da Parada:

Definição (GERSTING, 2000): “existe um algoritmo para decidir, dadas uma máquina

de Turing T qualquer e uma cadeia  , se T, começando com uma fita contendo  , vai

parar?”

Teorema sobre o problema da parada: o problema da parada é insolúvel.

Pede-se argumentos que mostrem que o problema da Parada é insolúvel. (Observação: não se trata de uma demonstração formal, apenas uma argumentação)

Tem-se que:

Considere uma máquina de Turing X capaz de analisar qualquer máquina de Turing T. As duas únicas possibilidades de X parar são descritas a seguir:

I - A Máquina de Turing X deve parar com a fita contendo apenas um algarismo 1, se e somente se, T aceitar uma cadeia α.

II - A Máquina de Turing X deve parar com a fita contendo apenas um algarismo 0, se e somente se T, nunca parar ao processar a cadeia α.

Considere-se por absurdo que a máquina de Turing. X possa ser projetada. Uma vez que seja possível o projeto de X, é possível modificar X e obter uma máquina de Turing Y com as seguintes características:

I - A Máquina de Turing Y não para se e somente se, T parar ao processar a cadeia α. (basta acrescentar a X um loop infinito).

II - A Máquina de Turing Y deve parar com a fita contendo apenas um algarismo 0, se e somente se T, nunca parar ao processar a cadeia α.

É portanto possível criar uma máquina de Turing Z que copie a cadeia de entrada α e em seguida submeta à máquina de Turing Y, a cadeia α α

Sabe-se que é possível obter-se uma cadeia “M” que represente a máquina de Turing M, qualquer que seja.

Assim sendo, considere-se a situação em que Z processa sua própria representação “Z”.

O desdobramento imediato é o seguinte paradoxo:

Z para,ao processar “Z” porque Y (que faz parte de Z) não para ao processar (“Z”, “Z”).

Ou ainda, Z não para ao processar “Z”, porque Y para ao processar (“Z”, “Z”).

Exercício Resolvido 2 : É um exemplo de problema não solucionável:

a) Não existem problemas não solucionáveis. b) Minimização de um autômato finito. c) Detector universal de loops. d) Reconhecimento de linguagens recursivas. e) Tratamento de não determinismos em linguagens regulares.

Resposta: a alternativa correta é a c). O detector universal de loops, diz respeito ao Problema da Parada.