máquinas de turing, procedimentos, algoritmos e tese de church alcides calsavara

24
Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Upload: internet

Post on 17-Apr-2015

118 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Máquinas de Turing, Procedimentos, Algoritmos eTese de Church

Alcides Calsavara

Page 2: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Referências Bibliográficas

Cláudio L. Lucchesi, Imre Simon, Istvan Simon, Janos Simon, Tomasz Kowaltowski. Aspectos Teóricos da Computação. Rio de Janeiro: Instituto de Matemática Pura e Aplicada, 1979.

A. M. Turing. On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math. Soc. Series 2, 42 (1936-37), 230-265 e 43 (1937) 544-546.

Page 3: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Alan Turing

Alan Mathison Turing23 de junho de 1912 – 7 de junho de 1954Inglaterra, LondresFundador da Ciência da ComputaçãoMatemáticoFilósofoDecifrador de código (decifrou o Enigma em 1939)Pioneiro da Inteligência Artificialhttp://www.turing.org.uk/turing/

Page 4: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Máquinas de Turing: Contextualização Modelo formal de algoritmos Permite a representação de qualquer algoritmo Permite provar qualquer asserção matemática Facilita o estudo da complexidade

computacional dos algoritmos Máquina teórica Base teórica para a arquitetura dos

computadores atuais (von Neumann)

Page 5: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Componentes de umaMáquina de Turing Determinística

Fita de entrada/trabalho/saída Subdividida em cédulas Cada cédula contém um símbolo de um alfabeto ∑ Por exemplo, ∑ ═ { ├, 1, 0, ٱ } Primeira célula à esquerda contém o símbolo ├ O símbolo ٱ representa o branco

Controle central Possui uma cabeça móvel de leitura e gravação Em cada instante, a cabeça encontra-se sobre uma

célula da fita

Page 6: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Esquema de umaMáquina de Turing Determinística

├ٱ 0 1 0 0 0 0 0 0 01 1 1 1 1 1 1 ٱ ٱ ...

Fita de entrada/saída/trabalho

Controle central

Cabeça móvelde leitura egravação

Page 7: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Função de umaMáquina de Turing Determinística

Reconhece um conjunto A de palavras de um certo alfabeto se, para toda palavra de entrada x, pára e aceita x se, e somente se, x pertence a A.

Calcula uma função que transforma uma palavra em outra, sobre um mesmo alfabeto.

Page 8: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Estados de umaMáquina de Turing Determinística

Em cada instante, o controle central está em um estado q, de um conjunto finito de estados Q

O estado inicial é chamado de q0: Cabeça sobre a célula mais à esquerda, a qual

contém o símbolo├ As n células seguintes contêm uma palavra x,

chamada de entrada Uma palavra é uma seqüência finita de

símbolos de ∑, excluindo os símbolos ├ e ٱ As demais células da fita contêm o símbolo ٱ

Page 9: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Passo de umaMáquina de Turing Determinística

1. Ler o símbolo σ sob a cabeça;

2. Escrever o símbolo σ′ no lugar de σ;

3. Reposicionar a cabeça, que pode ser movida uma célula à direita ou à esquerda, ou deixada no mesmo lugar;

4. Mudar o contole central para um novo estado q′.

Page 10: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Passo de umaMáquina de Turing Determinística

As operações (2), (3) e (4) dependem apenas do símbolo σ, lido na operação (1) e do estado q do controle central antes do passo corrente.

O símbolo σ′ é necessariamente diferente de ├ sempre que σ for diferente de ├.

A máquina pára após uma seqüência de passos quando o controle central alcança um dos seguintes estados finais: qA : a máquina aceita a entrada x qR : a máquina rejeita a entrada x

É possível que a máquina nunca pare. A saída da máquina, definida apenas se a máquina

parar, é uma palavra (nova ou idêntica à entrada x).

Page 11: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Função de transferência de umaMáquina de Turing Determinística

Determina como se dão as transições de estados e as suas conseqüências com relação à fita de entrada/saída/trabalho

δ( q, σ ) = ( q′, σ′, Δ ) q : estado atual da máquina σ : símbolo lido da célula sobre a cabeça q′ : novo estado da máquina σ′ : símbolo escrito na célula sobre a cabeça Δ : deslocamento da cabeça

Δ = +1 : cabeça move uma célula para a direita Δ = -1 : cabeça move uma célula para a esquerda Δ = 0 : cabeça não move

Page 12: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Exemplo de umaMáquina de Turing Determinística

1, 0, ٱ ,├ } ═ ∑ , A, B } Reconhece toda e qualquer palavra formada

por n símbolos 0 seguidos por n símbolos 1, tal que n ≥ 1

Substitui alternadamente um 0 por um A e um 1 por um B. Exemplo: entrada = 0011 saída = AABB passos: A011, A0B1, AAB1, AABB

Q = { q0, q1, q2, q3, q4, qA, qR } Função de transferência: tabela

Page 13: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Função de transferência (δ)para o exemplo: tabela

q σ q′ σ ′ ∆

q0 ├ q0 ├ +1

q0 0 q1 A +1

q1 0 q1 0 +1

q1 B q1 B +1

q1 1 q2 B -1

q2 B q2 B -1

q2 0 q3 0 -1

q2 A q4 A +1

q3 0 q3 0 -1

q3 A q0 A +1

q4 B q4 B +1

q4 ٱ qA ٱ 0

qA σ qA σ 0

qR σ qR σ 0

* Para todo (q, σ) não especificado na tabela acima, δ ( q, σ ) = ( qR, σ, 0 )

Page 14: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Função de transferência (δ)para o exemplo: diagrama

q0

q1 qAq4q2

q3 qR

0 / ( A, +1 )

1 / ( B, -1 ) A / ( A, +1 )

0 / ( 0, -1 )

A / ( A, +1 )

)0, ٱ / ( ٱ

├ / ( ├, +1 )

0 / ( 0, +1 )

0 / ( 0, -1 )

B / ( B, +1 ) B / ( B, -1 ) B / ( B, +1 ) σ / ( σ, 0 )

σ / ( σ, 0 )

( Não estão representadas as transições para o estado qR. )

Page 15: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Execução da máquina exemplo para a entrada 01

├ 0 1 ٱ

├ 0 1 ٱ

├ A 1 ٱ

├ A B ٱ

├ A B ٱ

├ A B ٱ

├ A B ٱ

├ A B ٱ

q0

q0

q1

q2

q4

q4

qA

qA

Portanto, a máquina aceita a entrada 01 e pára a sua execução.

Page 16: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Execução da máquina exemplo para a entrada 001

├ 0 1 q0ٱ

q0

q1

q1

Portanto, a máquina rejeita a entrada 001 e pára a sua execução.

0

├ 0 1 0ٱ

├ A 1 0ٱ

├ A 1 0ٱ

q2 ├ A B 0ٱ

q3 ├ A B 0ٱ

q0 ├ A B 0ٱ

q1 ├ A B Aٱ

q1 ├ A B Aٱ

qR ├ A B Aٱ

qR ├ A B Aٱ

Page 17: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Execução da máquina exemplo para a entrada 0011

q0 ▼

ٱ 1 1 0 0 ├

q0 ▼

ٱ 1 1 0 0 ├

q1 ▼

├ A 0 1 1 ٱ

q1 ▼

├ A 0 1 1 ٱ

q2 ▼

├ A 0 B 1 ٱ

q3 ▼

├ A 0 B 1 ٱ

q0 ▼

├ A 0 B 1 ٱ

q1 ▼

├ A A B 1 ٱ

Portanto, a máquina aceita a entrada 0011 e pára a sua execução.

q1 ▼

├ A A B 1 ٱ

q2 ▼

├ A A B B ٱ

q2 ▼

├ A A B B ٱ

q4 ▼

├ A A B B ٱ

q4 ▼

├ A A B B ٱ

q4 ▼

├ A A B B ٱ

qA ▼

├ A A B B ٱ

qA ▼

├ A A B B ٱ

Page 18: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Máquina de TuringNão Determinística

Contém uma fita adicional: fita de sugestões.

O controle central não pode escrever na fita de sugestões.

A função de transferência da máquina depende não só do estado q do controle central e do símbolo σ lido da fita de entrada/saída/trabalho, mas também do símbolo lido da fita de sugestões.

Page 19: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Procedimento Efetivo

1. A descrição do procedimento deve ser finita.2. Deve partir de um certo número de dados e deve

produzir um certo número de resultados que mantêm uma relação específica com os dados.

3. Deve existir um agente computacional (humano, mecânico, eletrônico, etc) que execute as instruções do procedimento.

4. Cada instrução especificada pelo procedimento deve estar bem definida, não deixando dúvidas quanto ao seu resultado.

5. As instruções do procedimento devem ser efetivas, isto é, devem ser tão simples que poderiam ser executadas, em princípio, por uma pessoa usando lápis e papel, num espaço de tempo finito.

Page 20: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Algoritmo

Um procedimento que termina para quaisquer valores dos dados.

Page 21: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Exemplo de procedimento efetivo: Algoritmo de Euclides

Cálculo do máximo divisor comum (mdc) de dois inteiros positivos m e n:

Passo 1: Adote como valores iniciais de x e y os valores m e n, respectivamente.

Passo 2: Adote como valor de r o resto da divisão do valor de x pelo valor de y.

Passo 3: Adote como o novo valor de x o valor de y,e como novo valor de y o valor de r.

Passo 4: Se o valor de r é nulo, então o valor de x é o mdc procurado,e o cálculo termina; caso contrário, volte a executar as instruçõesdo procedimento a partir do passo 2.

Page 22: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Tese de Church

Qualquer procedimento efetivo pode ser realizado por uma máquina de Turing.

Para cada programa em um certa linguagem existe uma máquina de Turing que calcula a mesma função.

Passível de demonstração, pois afirma a equivalência de um conceito informal (procedimento efetivo) e um conceito formal (máquina de Turing).

Evidência empírica: cada um dos algoritmos e procedimentos efetivos usados em matemática pode ser descrito por meio de uma máquina de Turing.

Page 23: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Medidas de complexidade de máquinas de Turing

Eficiência de um algoritmo: função que dá o tempo de execução de acordo com a entrada.

“tempo” é dado pelo número de passos tomados pela máquina até parar.

“memória” utilizada é dada pelo número de células da fita visitadas pela cabeça de leitura/gravação da máquina até parar.

Page 24: Máquinas de Turing, Procedimentos, Algoritmos e Tese de Church Alcides Calsavara

Exercícios

Mostre os passos da máquina de Turing vista acima para as seguintes entradas: 010 011 000111 10