Projeto de máquina de Turing com múltiplas fitas reconhecedora de número primo

Tamanho: px
Começar a partir da página:

Download "Projeto de máquina de Turing com múltiplas fitas reconhecedora de número primo"

Transcrição

1 Projeto de máquina de Turing com múltiplas fitas reconhecedora de número primo CCO 410 Aspectos Formais da Computação Prof.º Wanderley Lopes de Souza Universidade Federal de São Carlos Diego Luiz Cavalca RA INTRODUÇÃO Este trabalho visa construir um projeto de máquina de Turing (MT) que, dado um número inteiro maior que 2 em representação binária, delimitado pelos símbolos e $, reconheça se este pertence à classe de números primos. Segundo Peruzzo (2012), número primo é todo número maior do que 1 é divisível somente por si mesmo e por 1. Alguns exemplos são os números 2, que tem apenas os divisores 1 e 2, e 17 que possui apenas os divisores 1 e 17, portanto sendo estes números primos. Um dos processos de reconhecimento de um número ser primo consiste em dividir esse número pelos números primos 2, 3, 5, 7, 11 etc. até que se obtenha ou uma divisão com resto zero e neste caso o número não é primo ou uma divisão com quociente menor que o divisor e o resto diferente de zero; neste caso o número é primo. Assim, fica fácil identificar o comportamento de computação contínua até atingir um resultado pré-determinado. Portanto, tal processo pode ser simulado através da máquina de Turing. A máquina de Turing (MT) é um poderoso - porém simples - modelo matemático que possui capacidade de solucionar determinados problemas de reconhecimento de palavras de uma linguagem e também computação de funções de inteiros. Hopcroft et. al (2002), ao definir MT, afirma que este dispositivo matemático é, em sua essência, um autômato finito que utiliza uma estrutura de fita de comprimento infinito com capacidade de leitura e gravação de dados. Formalmente, essa máquina consiste em um controle finito, que pode se encontrar em um estado qualquer de um conjunto finito de estados. Como citado, a memória auxiliar se baseia em uma fita dividida em quadrados, ou células, nos quais podem conter qualquer símbolo de um alfabeto pré-definido contendo um número finito de símbolos. Pode-se visualizar uma máquina de Turing como na figura abaixo: Controle finito... B B X1 X2 Xi Xn B B Figura 1: Uma máquina de Turing...

2 DESENVOLVIMENTO Para resolver o problema proposto neste trabalho, o seguinte algoritmo é projetado, definindo o comportamento da MT nesta tarefa: 1. Inicialmente a MT lê na 1ª fita um número (N) 2 > (2) 10, delimitado pelos símbolos e $. 2. Escrever o divisor (2) 10 = (10) 2 na 2ª fita; 3. Repetir o número da 1ª fita na 3ª fita; 4. Subtrair tantas vezes quanto possível o número da 2ª fita do número da 3ª fita, guardando os resultados intermediários nesta última; a. Se o resultado na 3ª fita for igual a 0: i. Se o número da 1ª fita = número da 2ª fita, então a entrada representa um número primo; ii. Senão, o número original não é primo; b. Senão: i. Incrementar o divisor e retornar para o processo (2). Logo, com base no algoritmo definido e nas regras fundamentais da máquina de Turing com múltiplas fitas, o projeto em questão pode ser desenvolvido, modelando os seguintes componentes: 1. Inicialmente a fita 1 contém N$, onde N é a representação binária do número no qual a MT irá verificar se é primo ou não. Exemplos de entradas válidas: 10$, 101$, 110$, 111$, etc. 2. O passo base para a verificação se um número é primo - ou não - consiste em dividi-lo por 2, uma vez que apenas um número par é primo (no caso, o número 2). a. Uma vez que estamos trabalhando com sistema binário, inicialmente iremos representar o divisor (2) 10, sendo (10) 2, na segunda fita. Como o controle está posicionado na extremidade esquerda das fitas, é necessário movê-lo para o último dígito de N, a fim de que o divisor fique alinhado a este, permitindo manipular as operações posteriores. Sendo assim, esse comportamento inicial pode ser definido através das movimentações. (q0, (a, B, B)) = (q0, (a, B, B), D), onde a = {, 0, 1} (q0, ($, B, B)) = (q1, ($,B,B), $) b. Com o controle posicionado, a MT escreve o divisor (10) 2 na segunda fita, através das movimentações: (q1, (a, B, B)) = (q2, (a, 0, B), E), onde a = {0, 1}; (q2, (a, B, B)) = (q3, (a, 1, B), E), onde a = {0, 1}; Neste momento, após gravar o divisor na segunda fita, a MT move o controle para o início do número N, a fim de iniciar o próximo processo:

3 (q3, (a, B, B)) = (q3, (a, B, B), E), onde a = {0, 1} (q3, (, B, B)) = (qcopyn, (, B, B), D), onde a = {, 0, 1} 3. Como anteriormente mencionado, a ideia central da validação de um número N ser primo consiste em realizar a verificação do divisor deste, já que para se classificar como tal, este número deve ser divisível apenas por 1 e pelo próprio valor de N. Assim, a MT utilizará uma terceira fita, que será responsável por realizar essa verificação a partir do número N. a. Primeiro, a MT irá repetir o número da primeira trilha (N) na terceira trilha. Este processo será modelado através das movimentações a seguir: (qcopyn, (0, a, b)) = (qcopyn, (0, a, 0), D), onde a = {0, 1, B} (qcopyn, (1, a, b)) = (qcopyn, (1, a, 1), D), onde a = {0, 1, B} (qcopyn, ($, B, B)) = (qsub, ($, B, B), E); 4. O resultado da operação de divisão de um número M (dividendo) por um outro número N (divisor) consiste na quantidade de vezes que N cabe em M. Com base neste princípio, a MT irá simular esta operação, onde irá subtrair tantas vezes quanto possível o número presente na segunda trilha (divisor) do número na terceira trilha (dividendo). Tal operação na MT se faz através das movimentações: Assumindo a e b = {0, 1 }, a. Seguindo as regras da subtração de números binários, b vazio = b, b 0 = b e 1 1 = 0: (qsub, (a, B, b)) = (qsub, (a, B, b), E); (qsub, (a, 0, b)) = (qsub, (a, 0, b), E); (qsub, (a, 1, 1)) = (qsub, (a, 1, 0), E); b. 0 1 = 1, emprestando 1 do dígito à esquerda: (qsub, (a, 1, 0)) = (qsubex, (a, 1, 1), E); i. Uma vez que houve esse empréstimo, é necessário compensar no dígito à esquerda, acrescendo o dígito 1 (quando dígito da 3ª fita = 2ª fita) ou o dígito 0 (quando dígito da 3ª fita > ou < que o dígito da 2º fita): (qsubex, (a, 0, 0)) = (qsubex, (a, 0, 1), E); (qsubex, (a, B, 0)) = (qsubex, (a, B, 1), E); (qsubex, (a, 1, 1)) = (qsubex, (a, 1, 1), E); (qsubex, (a, 1, 0)) = (qsubex, (a, 1, 0), E);

4 (qsubex, (a, 0, 1)) = (qsub, (a, 0, 0), E); (qsubex, (a, B, 1)) = (qsub, (a, B, 0), E); c. Ao subtrair o último dígito à esquerda da 3ª trilha, MT posiciona o controle no início de N para iniciar o próximo processo: (qsub, (, B, B)) = (qcompare, (, B, B), D); Em tempo, vale salientar que esta é uma operação fundamental no processo de validação de um número primo, condicionado ao resto resultante do dividendo, como abordaremos em um comportamento adiante. 5. Após realizar uma subtração entre o dígito da 2ª fita e o da 3ª fita, é necessário verificar se há mais uma subtração possível, ou seja, é necessário verificar se o dígito da 3ª é maior ou igual ao da 2ª: Assumindo a = {0, 1}, (qcompare, (a, b, 0)) = (qcompare, (a, b, 0), D), onde b = {0, B} (qcompare, (a, 1, 1)) = (qcompare, (a, 1, 1), D), onde b = {0, B} (qcompare, (a, b, 1)) = (q3greater, (a, b, 1), D), onde b = {0, B} (q3greater, (a, b, c)) = (q3greater, (a, b, c), D), onde b = {0, 1, B} e c = {0, 1} Ao se atingir o final das fitas, a MT posiciona o controle no dígito mais à direita (último) das 3ª e 2ª fita e realiza a subtração entre ambas novamente (processo 4): (qcompare, ($, B, B)) = (qsub, (a, b, c), E); (q3greater, ($, B, B)) = (qsub, (a, b, c), E); 6. Em outro caso, outra validação importante é verificar se o dígito presente na 2ª fita é maior que o presente na 3ª, pois neste caso, não há mais subtração possível e a MT pode avançar para outro processo: Assumindo a = {0, 1}, (qcompare, (a, B, 0)) = (qcompare, (a, B, 0), D); (qcompare, (a, 1, 0)) = (q2greater, (a, 1, 0), D); Caso a MT verifique esta hipótese, o controle retorna para o dígito mais à esquerda destas fitas para realizar outra validação (processo 7):

5 (q2greater, (a, b, c)) = (q2greater, (a, b, c), E), onde a = c = {0, 1} e b = {0, 1, B} (q2greater, (, B, B)) = (qequal0, (, B, B), D); 7. Um processo importante desta MT é verificar, após a sucessiva aplicação de subtrações do dígito da 2ª fita na 3ª fita, se o este último é igual ou diferente de 0, pois este resultado indica como a máquina deve evoluir no processo de validação de N: a. Validando se o dígito da 3ª fita é igual a 0: (qequal0, (a, b, 0)) = (qequal0, (a, b, c), D), onde a = {0, 1} e b = {0, 1, B} (qequal0, ($, B, B)) = (qvalidateprime, ($, B, B), E); b. Validando se este dígito é diferente de 0: (qequal0, (a, b, 1)) = (qdiff0, (a, b, 1), D), onde a = {0, 1} e b = {0, 1, B} (qdiff0, (a, b, c)) = (qdiff0, (a, b, c), D), onde a = c = {0, 1} e b = {0, 1, B} (qdiff0, ($, B, B)) = (qinc, ($, B, B), E); 8. Uma vez que o valor expresso na 3ª fita for diferente de 0, a MT incrementa o divisor na 2ª fita e volta para o processo 3 (cópia do dígito da 1ª trilha, representada por N, na terceira fita), a fim de tentar obter um divisor que resulte em resto 0 para a divisão, assim habilitando a MT a validar se N é primo ou não (próximo processo): Assumindo a = c = {0, 1}, (qinc, (a, 0, b)) = (qincaux, (a, 1, b), E), onde b = {0, 1}; (qinc, (a, 1, b)) = (qincex, (a, 0, b), E), onde b = {0, 1}; (qincex, (a, 0, b)) = (qincaux, (a, 1, b), E), onde b = {0, 1}; (qincex, (a, 1, b)) = (qincex, (a, 0, b), E), onde b = {0, 1}; (qincex, (a, B, b)) = (qincaux, (a, 1, b), E), onde b = {0, 1}; (qincaux, (a, b, c)) = (qincaux, (a, 0, b), E), onde b = {0, 1, B}; (qincaux, (, B, B)) = (qcopyn, (, B, B), D); 9. A ideia central desta MT é responder a pergunta O número N é primo?. Para isto, a MT para em um estado aceitável ( ϵ F) caso valide que o número N é primo, onde esta validação consiste em comparar o dígito N da primeira trilha com o dígito presente na 2ª trilha, evidenciando assim que existe apenas 1 divisor, além do número um, para N. Esse processo pode ser modelado na MT através das seguintes movimentações: Assumindo a = {0, 1},

6 (qvalidateprime, (0, 0, a)) = (qvalidateprime, (0, 0, a), E); (qvalidateprime, (1, 1, a)) = (qvalidateprime, (1, 1, a), E); (qvalidateprime, (, B, B)) = (qisprime, (, B, B), D); Desta maneira, com base neste projeto e suas componentes movimentações matematicamente definidas, a MT resultante pode ser definida formalmente da seguinte maneira: MT = (Q, Σ, Γ, δ, q 0, B, F), onde Q = {q 0, q 1, q 2, q 3, q 4, qcopyn, qsub, qsubex, qcompare, q2greater, q3greater, qequal0, qdiff0, qinc, qincex, qincaux, qvalidateprime, qisprime} Σ = {0, 1} Γ = {0, 1, B} δ conforme definido no projeto q 0 ϵ Q é o estado inicial B ϵ Γ é o símbolo branco F = {qisprime} RESULTADO O projeto de MT deste trabalho foi implementado no simulador online Turing Machine Simulator 1 a fim de validar a corretude do algoritmo proposto e o comportamento resultante da máquina em questão. Uma vez desenvolvida e compilada, seguindo as orientações do simulador, a MT foi submetida para reconhecer o número (3) 10 (entrada C11$), afirmando que o número é primo após 39 passos (movimentações do controle sobre as fitas). Já para o número (5) 10 (C101$), a MT confirmou que este é primo após 103 passos, e 439 passos para reconhecer o número (13) 10 (C1101$) como primo, atingindo o estado qisprime. Em contrapartida, após 39 passos a máquina não evolui sua execução durante o reconhecimento do número (4) 10 (C100$) e também para após 85 passos quando recebe o número (12) 10 (C1100$), não validando estes números como primos. Portanto, o projeto da MT com múltiplas fitas se mostra eficiente para o objetivo de reconhecimento de um número primo em representação binária, validando com precisão quando este pertence a esta classe numérica, atingindo um estado final, ou não, parando sua execução repentinamente. 1 Disponível para acesso em

7 REFERÊNCIAS PERUZZO, Jucimar. O Fascínio dos Números Primos. Irani (SC): Jucimar Peruzzo, STEWART, Ian. Os Maiores Problemas Matemáticos Em Todos Os Tempos; tradução da 1.ed. original de George Schlesinger. Rio de Janeiro: Editora Zahar, HOPCROFT, John E.; ULLMAN, Jeffrey D.; MOTWANI, Rajeev. Introdução à Teoria de Autômatos, Linguages e Computação; tradução da 2.ed. original de Vandenberg D. de Souza. Rio de Janeiro: Elsevier, 2002.

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

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000) Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q

Leia mais

MT como calculadoras de funções parciais

MT como calculadoras de funções parciais MT como calculadoras de funções parciais Uma máquina de Turing pode ser vista como uma calculadora de funções parciais dos inteiros nos inteiros: f : N k p N Suponhamos que os inteiros estão codificados

Leia mais

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 Diferencia-se das máquinas de Turing e Post principalmente pelo fato de possuir a memória de entrada separada

Leia mais

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

Máquinas Universais. Máquina de Turing. Celso Olivete Júnior. Máquinas Universais Máquina de Celso Olivete Júnior olivete@fct.unesp.br http://www2.fct.unesp.br/docentes/dmec/olivete/ Roteiro Hipótese de Church - Máquinas Universais: Máquina de Máquina de : Noção

Leia mais

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

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação

Leia mais

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato? Computação efectiva Que linguagens podem ser reconhecidas por algum tipo de autómato? O que é ser computável? Que linguagens são computáveis? Existem linguagens que não são computáveis? Isto é, existem

Leia mais

Linguaguens recursivamente enumeráveis e recursivas

Linguaguens recursivamente enumeráveis e recursivas Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente

Leia mais

Autómatos determísticos de k-pilhas

Autómatos determísticos de k-pilhas Autómatos determísticos de k-pilhas dados de entrada a a a3 an controlo finito (S, Σ, Γ, δ, Z, s 0, F ) δ (S Σ Γ k ) (S, (Γ ) k ) Departamento de Ciência de Computadores da FCUP MC Aula 3 Dados um estado

Leia mais

Linguaguens recursivamente enumeráveis

Linguaguens recursivamente enumeráveis Linguaguens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário,

Leia mais

Linguagens recursivamente enumeráveis

Linguagens recursivamente enumeráveis Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M

Leia mais

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 Proposta por Alan Turing em 1936; É universalmente conhecida e aceita como formalização de algoritmo; Teoria

Leia mais

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

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma

Leia mais

Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc.

Teoria da Computação. Capítulo 1. Máquina de Turing. Prof. Wanderley de Souza Alencar, MSc. Teoria da Computação Capítulo 1 Máquina de Turing Prof. Wanderley de Souza Alencar, MSc. Pauta 1. Introdução 2. Definição de Máquina de Turing 3. Variações de Máquina de Turing 4. A Tese de Church-Turing

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Teoria da Computação Ciência da Computação

Leia mais

Teoria da Computação

Teoria da Computação Ciência da Computação Teoria da Computação (ENG10395) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Máquinas Universais Máquinas Universais podem ser entendidas de duas formas: Se é capaz

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 15 Máquinas de Turing (parte 2) humberto@bcc.unifal-mg.edu.br Última Aula Uma Máquina de Turing (MT) possui: uma fita infinita para representar

Leia mais

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375 Capítulo 9 Máquinas de Turing 9.1. A máquina de Turing (TM) padrão 9.2. Combinações de máquinas de Turing 9.3. A Tese de Turing ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 375 Linguagens regulares Autómatos finitos

Leia mais

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

Teoria da Computação. Máquinas Universais Máquina com Pilhas Máquinas Universais Máquina com Pilhas Cristiano Lehrer Introdução A Máquina com Pilhas diferencia-se das Máquinas de Turing e de Post principalmente pelo fato de possuir uma memória de entrada separada

Leia mais

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing

GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing GBC015: INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO Teoria de Algoritmos: Computabilidade e Máquina de Turing Ilmério Reis da Silva ilmerio@ufu.br www.facom.ufu.br/~ilmerio/icc UFU/FACOM/BCC Funções Def. Função

Leia mais

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

Linguagens Formais e Autômatos. Autômatos Finitos Determinísticos (AFD) Linguagens Formais e Autômatos Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Linguagens Regulares A teoria da computação começa com uma pergunta: O que é um computador? É, talvez, uma

Leia mais

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

Modelos de Computação Folha de trabalho n. 10 Modelos de Computação Folha de trabalho n. 10 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada

Leia mais

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1 Máquinas Universais Um modelo de computação diz-se universal se todo o problema efectivamente computável o for nesse modelo. Um modelo universal é suficientemente poderoso para se aceitar a si próprio:

Leia mais

Resolução Exe 2.12 Monolítico Recursivo

Resolução Exe 2.12 Monolítico Recursivo Resolução Exe 2.12 Monolítico Recursivo Recursivo P R é R 1 onde R 1 def (se T1 então R 2 senão R 3 ) R 2 def F; R 3 R 3 def (se T2 então R 4 senão R 7 ) R 4 def G; R 5 R 5 def (se T1 então R 7 senão R

Leia mais

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

Teoria da Computação. Máquinas Universais Máquina de Turing Máquinas Universais Máquina de Turing Cristiano Lehrer Máquina de Turing Proposta por Alan Turing, em 1936. Universalmente conhecida e aceita como formalização de algoritmo. Trata-se de um mecanismo simples

Leia mais

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios 1. Escreva a expressão regular para as seguintes linguagens sobre o alfabeto {0, 1}: strings começando

Leia mais

Modelos Universais de Computação

Modelos Universais de Computação Modelos Universais de Computação 1 Equivalência entre Variantes de TM TM s definem naturalmente uma classe. Toda variante razoável de TM define a mesma classe de linguagens. (reforça a Tese Church-Turing)

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Teoria da Computação. Máquinas de Turing: variações

Teoria da Computação. Máquinas de Turing: variações Teoria da Computação Máquinas de Turing: variações 1 Máquina de Turing Modelo mais completo, feito com circuitos digitais http://aturingmachine.com 2 Máquina de Turing Modelo mais simplificado, feito com

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

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

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior. LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas

Leia mais

Aula 9: Máquinas de Turing

Aula 9: Máquinas de Turing Teoria da Computação Aula 9: Máquinas de Turing DAINF-UTFPR Prof. Ricardo Dutra da Silva Uma máquina de Turing é uma máquina de estados finitos que pode mover o cabeçote em qualquer direção, ler e manipular

Leia mais

Variações de Máquinas de Turing

Variações de Máquinas de Turing Linguagens Formais e Autômatos Variações de Máquinas de Turing Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hdp://dcc.ufmg.br/~nvieira) Sumário Variações de Máquinas

Leia mais

Noções de grafos (dirigidos)

Noções de grafos (dirigidos) Noções de grafos (dirigidos) Grafo G = (V, E) é um conjunto de vértices (ou nós) V e um conjunto de arcos E V V. 1 2 5 3 4 G = ({1, 2, 3, 4, 5}, {(1, 2), (2, 3), (2, 4), (3, 2), (3, 4), (4, 4)}) Um arco

Leia mais

Máquina de Turing e máquina de Turing universal

Máquina de Turing e máquina de Turing universal Máquina de Turing e máquina de Turing universal Rodrigo Santos de Souza 1 Universidade Católica de Pelotas - UCPel Mestrado em Ciência da Computação Disciplina de Teoria da Computação Prof. Antônio Carlos

Leia mais

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

Draft-v0.1. Máquinas de Turing Máquinas de Turing 13 Máquinas de Turing A necessidade de formalizar os processos algorítmicos levou, nas décadas 20 e 30 do século XX, a diversos estudos, entre os quais os de Post, Church e Turing, com vista a estudo formal

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 14 Máquinas de Turing humberto@bcc.unifal-mg.edu.br Última aula Autômatos com Pilha Controle de estado a b a a b X Y Y X O que já vimos...

Leia mais

Alfabeto, Cadeias, Operações e Linguagens

Alfabeto, Cadeias, Operações e Linguagens Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais

Leia mais

Teoria da Computação. Computabilidade e complexidade computacional

Teoria da Computação. Computabilidade e complexidade computacional Teoria da Computação Computabilidade e complexidade computacional 1 Computabilidade e Complexidade Computabilidade: verifica a existência de algoritmos que resolva uma classe de linguagens trata a possibilidade

Leia mais

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

Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre Máquina de Turing e Máquina Norma 4ª Jornada Científica e Tecnológica e 1º Simpósio de Pós-Graduação do IFSULDEMINAS 16, 17 e 18 de outubro de 2012, Muzambinho MG Turing to Norma, uma ferramenta para auxiliar o estudo da equivalência entre

Leia mais

Máquinas de Turing: uma introdução

Máquinas de Turing: uma introdução Máquinas de Turing: uma introdução Nelma Moreira Armando Matos Departamento de Ciência de Computadores Faculdade de Ciências, Universidade do Porto email: {nam,acm}@ncc.up.pt 1996 Revisão: Maio 2001 1

Leia mais

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis

Leia mais

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018 22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Teoria da Computação Ciência da Computação

Leia mais

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias - Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções 1 Um algoritmo pode ser visto como uma sequência de ações executáveis para a obtenção de uma solução para um determinado tipo de problema.

Leia mais

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior. LFA Aula 04 Autômatos Finitos 16/11/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato

Leia mais

Variáveis e instruções de repetição

Variáveis e instruções de repetição Variáveis e instruções de repetição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual

Leia mais

Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo.

Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015. (a) Descreva o programa da MT usando um pseudocódigo. Teoria da Computação Prof. Lucília Figueiredo Prova 03 - ENTREGA DIA 24/06/2015 DECOM ICEB - UFOP Nome legível: Matrícula: As questões podem devem ser respondidas na própria prova, a caneta ou a lápis.

Leia mais

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto

Leia mais

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada. Autómatos de Pilha Um autómato de pilha (não determinístico) (AP) é um autómato finito não determinístico com transições ɛ, acrescido de uma memória infinita a pilha mas em que o modo de acesso à informação

Leia mais

Teoria da Computação Aula 02 Introdução

Teoria da Computação Aula 02 Introdução Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:

Leia mais

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136 Melhores momentos AULA PASSADA Complexidade Computacional p. 136 Configurações controle q 7 cabeça 1 0 1 1 0 1 1 1 fita de leitura e escrita Configuração 1 0 1q 7 1 0 1 1 1 Complexidade Computacional p.

Leia mais

Lema do Bombeamento. Aplicação para Linguagens Regulares e Livres de Contexto. Maria Adriana Vidigal de Lima. Abril

Lema do Bombeamento. Aplicação para Linguagens Regulares e Livres de Contexto. Maria Adriana Vidigal de Lima. Abril Aplicação para Linguagens Regulares e Livres de Contexto Abril - 2009 1 Linguagens Não-Regulares 2 Propriedades das Linguagens Regulares Todas as linguagens finitas (com um número finito de palavras) são

Leia mais

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior. LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos

Leia mais

Linguagem (formal) de alfabeto Σ

Linguagem (formal) de alfabeto Σ Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou

Leia mais

Aula 7: Autômatos com Pilha

Aula 7: Autômatos com Pilha Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar

Leia mais

Linguagens Formais e Problemas de Decisão

Linguagens Formais e Problemas de Decisão Linguagens Formais e Problemas de Decisão Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Linguagens Formais e Problemas

Leia mais

Linguagens Livres de Contexto

Linguagens Livres de Contexto Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 4 Linguagens Livres de Contexto Prof. Luiz A M Palazzo Maio de 2011

Leia mais

Máquinas de Turing 3

Máquinas de Turing 3 Máquinas de Turing 3 Exercícios Máquinas de Turing com Múltiplas Fitas Máquinas de Turing Não-deterministicas A Tese/Hipótese de Church-Turing Linguagens decidíveis por Máquinas de Turing (Recursivas)

Leia mais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

Leia mais

1. Uma linguagem de uma máquina de Turing

1. Uma linguagem de uma máquina de Turing Linguagem de uma Máquina de Turing 1. Uma linguagem de uma máquina de Turing, é. 2. Linguagens aceitas por uma MT são chamdas recursivamente enumeráveis. O recursivo nesta caso significa decidível, ou

Leia mais

SISTEMA DECIMAL. No sistema decimal o símbolo 0 (zero) posicionado à direita implica em multiplicar a grandeza pela base, ou seja, por 10 (dez).

SISTEMA DECIMAL. No sistema decimal o símbolo 0 (zero) posicionado à direita implica em multiplicar a grandeza pela base, ou seja, por 10 (dez). SISTEMA DECIMAL 1. Classificação dos números decimais O sistema decimal é um sistema de numeração de posição que utiliza a base dez. Os dez algarismos indo-arábicos - 0 1 2 3 4 5 6 7 8 9 - servem para

Leia mais

SCC Teoria da Computação e Linguagens Formais

SCC Teoria da Computação e Linguagens Formais SCC-0205 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br

Leia mais

SCC-5832 Teoria da Computação

SCC-5832 Teoria da Computação Teoria da Computação SCC-5832 Teoria da Computação João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos

Leia mais

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC-0505 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Lista de Exercícios do Capítulo 3 Gramáticas

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um

Leia mais

Máquina de Turing. Controle finito

Máquina de Turing. Controle finito Máquinas de Turing Máquinas de Turing podem fazer tudo o que um computador real faz. Porém, mesmo uma Máquina de Turing não pode resolver certos problemas. Estes problemas estão além dos limites teóricos

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 6: Autômatos Finitos Com S aída

INE5317 Linguagens Formais e Compiladores AULA 6: Autômatos Finitos Com S aída INE5317 Linguagens Formais e Compiladores AULA 6: Autômatos Finitos Com S aída baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira

Leia mais

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

Linguagem Universal. assim como a entrada ser processada por a. (b) A segunda fita de representa a fita de Linguagem Universal 1. Uma máquina de Turing representa um PC? Ou representa um possível problema que um PC pode resolver? 2. Uma máquina de Turing pode ser utilizada para simular uma de Turing máquina.

Leia mais

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

Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar

Leia mais

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade

Apostila 06. Objetivos: Estudar a Computabilidade Estudar a Decidibilidade Estudar a Redutibilidade Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos Site:

ECO026 TEORIA DA COMPUTAÇÃO. Prof: Rafael Santos   Site: ECO026 TEORIA DA COMPUTAÇÃO Prof: Rafael Santos Email: rafafic@gmail.com Site: http://sites.google.com/site/rafafic Máquinas de Turing Uma linguagem Turing-reconhecível (Linguagem recursivamente enumeravel),

Leia mais

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR

Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Aula 7: Portas Lógicas: AND, OR, NOT, XOR, NAND e NOR Conforme discutido na última aula, cada operação lógica possui sua própria tabela verdade. A seguir será apresentado o conjunto básico de portas lógicas

Leia mais

Máquinas de Turing para construção: Foram encontrados dois modelos que se destacaram em nossas pesquisas.

Máquinas de Turing para construção: Foram encontrados dois modelos que se destacaram em nossas pesquisas. Máquina de Turing É um dispositivo imaginário que formou a estrutura para fundamentar a ciência da computação moderna. Seu inventor, o matemático Alan Mathison Turing, mostrou que a computação das operações

Leia mais

Turing e Complexidade

Turing e Complexidade (baseado em material da disciplina PCS2214) PMR2300 Escola Politécnica da Universidade de São Paulo Máquina de Turing Máquina de Turing: modelo mais poderoso de computador, proposto pelo inglês Alan M.

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

I - CONCEITOS INICIAIS

I - CONCEITOS INICIAIS Sumário I - CONCEITOS INICIAIS... 2 Lógica de programação... 2 Algoritmo... 2 Instrução... 3 Programa de Computador... 3 Fases... 4 Diagrama de Blocos... 4 II - VARIÁVEIS... 5 Numéricas... 5 Cadeia ou

Leia mais

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Máquina de Turing Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Teoria da Computação Ciência da Computação

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

Autómatos de pilha e Gramáticas independentes de contexto

Autómatos de pilha e Gramáticas independentes de contexto Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja

Leia mais

Matemática Discreta. SLIDE 3 Professor Júlio Cesar da Silva. site:

Matemática Discreta. SLIDE 3 Professor Júlio Cesar da Silva. site: Matemática Discreta SLIDE 3 Professor Júlio Cesar da Silva juliocesar@eloquium.com.br site: http://eloquium.com.br/ twitter: @profjuliocsilva Números Primos: são os números naturais que têm apenas dois

Leia mais

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos Modelos Matemáticos Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. Ressalta-se contudo que é muito importante

Leia mais

Teoria da Computação Aula 01 Revisão de Conjuntos

Teoria da Computação Aula 01 Revisão de Conjuntos Teoria da Computação Aula 01 Revisão de Conjuntos Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Conjuntos Conjunto e uma estrutura que agrupa objetos e constitui uma base para construir estruturas

Leia mais

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.

Leia mais

Base: número de símbolos empregados no sistema numérico.

Base: número de símbolos empregados no sistema numérico. Instituto Federal Catarinense IFC Campus - Sombrio Curso Técnico em Informática Integrado ao Ensino Médio Disciplina: Introdução a Informática e Sistemas Operacionais Professor: Alexssandro C. Antunes

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Computabilidade e Complexidade (ENG10014)

Computabilidade e Complexidade (ENG10014) Sistemas de Informação Computabilidade e Complexidade (ENG10014) Profa. Juliana Pinheiro Campos E-mail: jupcampos@gmail.com Modelo de computação poderoso concebido pelo matemático britânico Alan Turing

Leia mais

Engenharia de resolução de problemas

Engenharia de resolução de problemas Engenharia de resolução de problemas O processo de resolução de um problema pode ser visto como uma seqüência de passos que devem ser definidos e aprimorados, até que o modelo escolhido para sua representação

Leia mais

Autômatos Finitos Determinís3cos (AFD)

Autômatos Finitos Determinís3cos (AFD) Linguagens Formais e Autômatos Autômatos Finitos Determinís3cos (AFD) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Introdução Exemplos Sumário

Leia mais

Variedades Adicionais das Máquinas de Turing

Variedades Adicionais das Máquinas de Turing LFA - PARTE 5 Variedades Adicionais das Máquinas de Turing 1 Máquinas de Turing com uma Fita Infinita de um Sentido A fita da máquina é infinita apenas à direita O quadrado da fita mais à esquerda contém

Leia mais

BCC242. Auômato Finito Determinístico

BCC242. Auômato Finito Determinístico BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas

Leia mais

Modelos de Computação

Modelos de Computação Modelos de Computação 2.ano LCC e LERSI URL: http://www.ncc.up.pt/~nam/aulas/0405/mc Escolaridade: 3.5T e 1P Frequência:Semanalmente serão propostos trabalhos aos alunos, que serão entregues nas caixas

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 16 Decidibilidade humberto@bcc.unifal-mg.edu.br Últimas Aulas Uma Máquina de Turing (MT) possui: uma fita infinita para representar a

Leia mais

Máquina de Turing. Controle finito

Máquina de Turing. Controle finito Máquinas de Turing Máquinas de Turing podem fazer tudo o que um computador real faz. Porém, mesmo uma Máquina de Turing não pode resolver certos problemas. Estes problemas estão além dos limites teóricos

Leia mais

O espião que me amava

O espião que me amava Reforço escolar M ate mática O espião que me amava Dinâmica 2 3ª Série 4º Bimestre DISCIPLINA Série CAMPO CONCEITO Matemática Ensino Médio 3ª Algébrico-Simbólico. Polinômios e Equações Algébricas. Aluno

Leia mais

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

Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel Introdução. Capítulo 8: O problema da parada. Decidibilidade e computabilidade. José Lucas Rangel 8.1 - Introdução. Como observado no capítulo anterior, podemos substituir a definição informal de procedimento pela

Leia mais

Multiplicação Divisão

Multiplicação Divisão Multiplicação Divisão 1 Introdução Nesta aula iremos analisar como podemos usar o Sistema Numérico para calcular operações básicas usando a Aritmética Decimal na: Multiplicação; Divisão. 2 MULTIPLICAÇÃO

Leia mais