mÁquinas de turing acadêmicos: karen juliani tosta tomaz ra – 47566 clauan castro ra – 47857...

15
MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg RA – 48909 Carlos Alexandre Fontana RA – 47664 Bruna Ritieli RA – 47650

Upload: angelica-veiga-lameira

Post on 07-Apr-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING

Acadêmicos:Karen Juliani Tosta Tomaz RA – 47566

Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg RA – 48909 Carlos Alexandre Fontana RA – 47664

Bruna Ritieli RA – 47650

Page 2: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING

• Proposto por Alan Turing em 1936, a máquina de Turing é semelhante a um autômato finito, mas com uma memória ilimitada e irrestrita, uma máquina de Turing é um modelo muito mais acurado de um computador de propósito geral. Uma máquina de Turing pode fazer tudo que um computador real pode fazer, entretanto, uma máquina de Turing não pode resolver certos problemas.

Page 3: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING• O modelo da máquina de Turing usa uma fita infinita como sua

memória ilimitada. Possui uma cabeça de fita que pode ler e escrever símbolos e mover-se sobre a fita. Inicialmente, a fita contém apenas a cadeia de entrada e está em branco em todo o restante. Se a máquina precisa armazenar informação, ela pode escrevê-la sobre a fita. Para ler a informação que ela escreveu, a máquina pode mover sua cabeça de volta para a posição onde a informação foi escrita. A máquina continua a computar até que ela decida produzir uma saída. As saídas: aceite e rejeite são obtidas entrando em estados designados de aceitação e de rejeição. Se não entrar em um estado de aceitação ou de rejeição, ela continuará para sempre, nunca parando.

Page 4: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING

• A parte mais importante da definição de uma máquina de Turing é a função de transição , pois ela informa como a máquina vai de um passo para o próximo. Para uma máquina de Turing, toma a forma: Q Q {E, D}. Ou seja, quando a máquina está em certo estado q e a cabeça está sobre uma célula da fita contendo um símbolo a e se (q, a) = (r, b, E), a máquina escreve o símbolo b substituindo o a e vai para o estado r. O terceiro componente é o E ou D e indica se a cabeça move para a esquerda ou direita após escrever.

Page 5: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING• Uma máquina de Turing é uma 7-upla, (Q, Ʃ, , , q0, qaceita,

qrejeita), onde Q, Ʃ, são todos conjuntos finitos e; • Q é o conjunto de estados.• Ʃ é o alfabeto de entrada não contendo o símbolo em branco

|_|.• é o alfabeto de fita, onde |_| e Ʃ .• : Q Q {E, D} é a função de transição.• q0 Q é o estado inicial.• qaceita Q é o estado de aceitação.• qrejeita Q é o estado de rejeição, onde qrejeita q aceita.

Page 6: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING• Uma máquina de Turing é uma 7-upla, (Q, Ʃ, , , q0, qaceita,

qrejeita), onde Q, Ʃ, são todos conjuntos finitos e; • Q é o conjunto de estados.• Ʃ é o alfabeto de entrada não contendo o símbolo em branco

|_|.• é o alfabeto de fita, onde |_| e Ʃ .• : Q Q {E, D} é a função de transição.• q0 Q é o estado inicial.• qaceita Q é o estado de aceitação.• qrejeita Q é o estado de rejeição, onde qrejeita q aceita.

Page 7: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURINGExemplo 1:• O esquema da máquina de Turing é bastante simples,

conforme a Figura01: uma fita que pode se mover de passo em passo para a direita ou para a esquerda.

• Cada passo (também chamado de célula) pode estar cheio (representado por *) ou vazio. No exemplo da figura, em a existe um passo vazio e em b, dois passos vazios adjacentes.

• Para simplificar, supõe-se que uma célula cheia só pode ter um único símbolo (*), mas pode ter vários símbolos diferentes.

Page 8: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING

• O cabeçote C pode ler o conteúdo do passo e nele escrever, deixando-o cheio ou vazio. Por exemplo, na posição do cabeçote da figura e dependendo da instrução, o cabeçote poderá deixar a marca * ou removê-la, tornando vazia a posição.

• Numa construção prática, não seria viável uma do tipo fita perfurada, pois seria muito complicado recompor um local furado, mas seria perfeitamente possível o uso de fita magnética como em alguns equipamentos atuais.

Page 9: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING

• O próximo componente é um conjunto de instruções específico para cada função a resolver, conforme exemplo a seguir, que é simples, apenas para demonstração. Existem muitos outros que podem ser apresentados, inclusive programas de computador que simulam a máquina de Turing.• Na descrição anterior foi comentado que a fita se move e o

cabeçote é fixo, similar a um gravador atual. Entretanto, para facilitar a representação em tabela, considera-se agora que o cabeçote se move e a fita é fixa, o que é apenas uma questão de referência.

Page 10: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING• O exemplo considerado é uma operação matemática elementar: Somar dois números

inteiros. Supõe-se que se deseja somar os números 3 e 4.• A entrada dos dados seria uma fita com a disposição: *** ****, ou seja,

representando os números 3 e 4.• A saída dos dados seria a seguinte informação na fita: *******, ou seja

representando o número 7 (3 + 4).

Tabela 01

EstadoAção se a célula estiver cheia (*)

Ação se a célula estiver vazia

0Mover para direita, continuar no estado 0

Escrever *, mover para direita, ir para estado 1

1Mover para direita, continuar no estado 1

Mover para esquerda, ir para estado 2

2 Apagar, parar

Page 11: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING• A tabela anterior, também denominada tabela de ações, instrui a máquina para

adicionar dois números consecutivos e apresentar o resultado conforme estabelecido.• Abaixo a operação passo a passo da máquina (a posição do cabeçote é indicada pelo

fundo cinza).

Page 12: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING• Os estados que a máquina pode assumir podem ser vistos

como variáveis auxiliares para a tomada de decisões. Tudo isso lembra um pouco o software das máquinas de hoje.

• O procedimento poderia somar qualquer par de números inteiros, independente dos valores. Entretanto, o número de células necessárias deve acompanhar. Assim, por exemplo, para somar 40000 com 60000 seriam, no mínimo, 100000 células. Na realidade, uma máquina de Turing universal, isto é, capaz de efetuar qualquer operação matemática e com quaisquer valores, deveria ter uma fita de comprimento infinito.

Page 13: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING• Exemplo 2:• • Seja a linguagem L1= { anbn | n ≥ 0}. • • A Máquina de Turing M = ({a, b}, {q0, q1, q2, q3, q4}, δ1, q0,

{q4}, {A, B}, β), onde δ1 é como na tabela a seguir é tal que:• (1) ACEITA(M) = L1, (2) REJEITA(M) = Σ* - L1 e (3) LOOP(M)

= ∅

Page 14: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING

Page 15: MÁQUINAS DE TURING Acadêmicos: Karen Juliani Tosta Tomaz RA – 47566 Clauan Castro RA – 47857 Mayara Oliveira dos Santos RA – 48891 Andressa Rautenberg

MÁQUINAS DE TURING