Autómatos determísticos de k-pilhas

Documentos relacionados
Linguagens recursivamente enumeráveis

Linguaguens recursivamente enumeráveis e recursivas

Linguaguens recursivamente enumeráveis

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.

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

MT como calculadoras de funções parciais

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

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

Autómatos de pilha e GIC

Máquinas de Turing: uma introdução

Noções de grafos (dirigidos)

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1

Computabilidade: uma introdução

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

Gramáticas ( [HMU00], Cap. 5.1)

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.

SIMULAÇÃO DE MÁQUINA DE REGISTRADORES COM MÁQUINA DE TURING MULTIFITA

Exercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )

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

Linguagem (formal) de alfabeto Σ

Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma

Revisões de Conjuntos

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

1. Uma linguagem de uma máquina de Turing

Universidade Federal de Alfenas

Autómatos finitos não determinísticos (AFND)

Problemas decidíveis para LICs

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.

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Problemas decidíveis para LICs

Computabilidade: uma introdução

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

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

Modelos Universais de Computação

SCC-5832 Teoria da Computação

Aula 9: Máquinas de Turing

Análise e Projeto de Algoritmos

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

Variações de Máquinas de Turing

SCC Teoria da Computação e Linguagens Formais

Teoria da Computação. Computabilidade e complexidade computacional

Modelos de Computação

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

Melhores momentos AULA PASSADA. Complexidade Computacional p. 136

Máquinas de Turing 3

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

Computação. Sob uma perspectiva teórica. Elloá B. Guedes. IQuanta. 22 de setembro de 2008

SCC Introdução à Teoria da Computação

Aula 7: Autômatos com Pilha

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

Teoria da Computação

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

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

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

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

Variedades Adicionais das Máquinas de Turing

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Resolução Exe 2.12 Monolítico Recursivo

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)

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

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

Complexidade de Algoritmos. Edson Prestes

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

Autômatos de Pilha (AP)

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

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

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

2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30

UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

PLANO DE ENSINO. CURSO: Bacharelado em Sistemas de Informação MODALIDADE: PRESENCIAL ( X ) OBRIGATÓRIA ( ) OPTATIVA DEPARTAMENTO: DEINFO

Universidade Federal de Uberlândia Mestrado em Ciência da Computação

Linguagens Livres de Contexto

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.

Técnicas de Extensão de MT

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

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

Autômatos com Pilha: Reconhecedores de LLCs

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

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

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

INTRATABILIDADE e NP-COMPLETUDE

Máquinas de Turing (MT)

Teoria da Computação

Gerência de Memória Memória Virtual e Paginação

Aula 1: Introdução 3/3/2015

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

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

ção de Computadores I

Exemplos de autómatos finitos

SSC510 Arquitetura de Computadores 1ª AULA

INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA

Máquinas de Turing - Computabilidade

UFCG IQuanta DSC. Cheyenne R. G. Isidro Bernardo Lula Júnior

Autômato com pilha. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz

Turing e Complexidade

Alfabeto, Cadeias, Operações e Linguagens

Variantes de Máquinas de Turing

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

Unidade Central de Processamento 2. Registradores

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)

Transcrição:

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 do controlo finito, s um símbolo lido ou, alternativamente, ɛ (é determinístico!) os símbolos que se encontram no topo de cada uma das k pilhas num movimento Muda para um novo estado, s substituí o símbolo de topo de cada pilha, por uma sequência de símbolos de pilha δ(s, a, X,..., X k ) = (s, γ,..., γ k ) O autómato de k-pilhas aceita se depois de consumir os dados entra num estado final. Departamento de Ciência de Computadores da FCUP MC Aula 3

Autómatos de -pilhas e MTs Proposição 3.. Se uma linguagem L é aceite por uma máquina de Turing, então L é aceite por um autómato determinístico de -pilhas. Dem. As pilhas vão simular cada um dos pedaços da fita da MT, já visitada, à esquerda e à direita do símbolo onde está a cabeça. X Para simplificar supomos que os dados são da forma x$ onde $ / Σ. Seja M uma máquina de Turing tal que L = L(M). Construímos um -APD, P tal que Departamento de Ciência de Computadores da FCUP MC Aula 3 3

. Cada pilha tem o símbolo inicial Z 0, que não aparece noutras posições. P copia os dados x para a primeira pilha.o marcador $ permite indicar o fim de dados.as restantes transições são por ɛ. 3. P passa os dados para a segunda pilha (de modo a que o símbolo inicial dos dados fique no topo da pilha) 4. P passa para o estado inicial de M 5. P simula o funcionamento de M (a) dado o estado s de M, estando a cabeça em X (topo da a pilha), P muda para o estado s de acordo com M (b) se M substituí X por Y e move para a direita: P coloca Y da a pilha e retira X (c) se M substituí X por Y e move para a esquerda: P retira o topo da.a pilha, Z, e substitui X por ZY na a pilha. Departamento de Ciência de Computadores da FCUP MC Aula 3 4

Z X Z Y Z Y move para a direita move para a esquerda Excepções apropriadas ocorrem quando X, Y e Z são brancos...quais? 6. P aceita se o novo estado de M for de aceitação. Caso contrário simula outro movimento Departamento de Ciência de Computadores da FCUP MC Aula 3 5

Máquinas de Turing não determinísticas Uma máquina de Turing é não determinística (MTND) se dado um estado e um símbolo lido, existirem várias hipóteses para o movimento seguinte, δ (S Γ) (S Γ {, }) Uma MT não determinística aceita a sequência de entrada se existe uma sequência de escolhas de movimentos que conduza a um estado de aceitação (final). Uma MT ND não aceita os dados se nenhuma sequência de escolhas conduz a um estado final ou se não pára. Analogamente, definem-se os conceitos de função calculada ou linguagem reconhecida. Em contraste, as MT definidas anteriormente denominam-se determinísticas (MTD) Departamento de Ciência de Computadores da FCUP MC Aula 3 6

Passos de computação não-determinística Departamento de Ciência de Computadores da FCUP MC Aula 3 7

Equivalência entre MTND e MTD Proposição 3.. Se L é aceite por uma máquina de Turing não determinística, M, então L é aceite por alguma máquina de Turing determinística, M. Dem. Para cada estado e símbolo de fita de M, existe um número finito de escolhas para o movimento seguinte. Estas escolhas podem ser numeradas,,... Seja r o número máximo de escolhas de um par estado-símbolo. Então qualquer sequência finita de escolhas pode ser representado por uma sequência de dígitos de a r. Construímos M com 3 fitas.. contém a sequência de entrada.. gera sequências de dígitos de a r dum modo sistemático, as mais curtas primeiro e entre de igual tamanho por ordem numérica:,...,r,,...r,...,,...,r,...,,...,rrr,... Departamento de Ciência de Computadores da FCUP MC Aula 3 8

3. Para cada sequência gerada na segunda fita, M copia a sequência de entrada para a terceira fita e simula M nessa fita, usando a sequência da segunda fita para decidir os movimentos de M. Nota que cada sequência de escolhas corresponde a uma sequência de configurações de M. Deste modo M simula sucessivamente todas as sequências de k movimentos de M, k =,,... 3 3,,,,,,,3,,,,,3,,... Departamento de Ciência de Computadores da FCUP MC Aula 3 9

M explora a árvore de configurações de M em largura. 4. Se M atinge um estado de aceitação, então M aceita.se nenhuma sequência de escolhas conduz a M aceitar, M também não aceita. Nota que: é essencial a ordem porque são geradas a possíveis sequências de escolhas (em largura e não em profundidade) de modo a evitar a simulação de um conjunto de escolhas infinito... A máquina determínstica executa num tempo exponencialmente maior do que a máquina não-determística. não se sabe se existe uma simulação polinomial de MTND em MTD.. Departamento de Ciência de Computadores da FCUP MC Aula 3 0

Máquinas de Turing e Computadores Como já viram, um computador pode simular uma máquina de Turing. Mas, uma máquina de Turing tem uma fita infinita... OK, podemos sempre comprar mais discos e usar o swap... Para simular um computador numa máquina de Turing (mesmo informalmente) consideramos um modelo abstracto de computador:ram (random access machine): CPU: unidade lógica e aritmética, unidade lógica de controlo e registos Memória: um conjunto infinito de posições de memória com endereços 0,,,... cujo contéudo pode ser qualquer inteiro Linguagem máquina: conjunto de instruções O programa a executar é guardado em posições de memória Departamento de Ciência de Computadores da FCUP MC Aula 3

Exemplo de instruções duma RAM Operação Código Operando Significado LDA 000 X Carrega para o AC o conteúdo da posição de memória de endereço X LDI 000 X Carrega para o AC o conteúdo da posição de memória cujo o endereço é o conteúdo da posição de memória de endereço X STA 00 X Guarda o conteúdo do AC na posição de memória de endereço X STI 000 X Guarda o conteúdo do AC na posição de memória cujo o endereço é o conteúdo da posição de memória de endereço X ADD 00 X Adiciona o conteúdo da posição de memória de endereço X ao conteúdo do AC SUB 00 X Subtrai o conteúdo da posição de memória de endereço X do conteúdo do AC JMP 0 X Salta para a instrução cujo endereço é X Departamento de Ciência de Computadores da FCUP MC Aula 3

Máquina de Turing que simule uma RAM Vamos sugerir como construir uma MT com várias fitas, que representam:. A memória. Os símbolos * e # indicam para cada célula o fim do endereço e do contéudo. O símbolo $ indica o ínicio dos dados.. O contador de sequência de programa. 3. O endereço/conteúdo de posição memória da instrução a executar 4. Uma ou mais fitas de trabalho Departamento de Ciência de Computadores da FCUP MC Aula 3 3

Controlo finito Memoria Reg. sequencia de programa Endereco de Memoria $0*w0# *w#0*w#*w3#00*w4... 00 00 Fita de trabalho Simulação do ciclo duma instrução:. Procura na fita o endereço da instrução que está na e obtém contéudo.. Descodificar a instrução: os primeiros bits são o código (LDA, ADD,... ) e os restantes o endereço do operando 3. se a instrução contém o endereço do operando, esse é copiado para a fita 3. O contéudo dessa posição é procurado na fita e copiado para a fita 3. 4. executa a instrução consoante a função: copiar, adicionar, modificar o PC,... 5. Senão for JMP ou JMZ, incrementar ao valor da fita e recomeçar Departamento de Ciência de Computadores da FCUP MC Aula 3 4

Complexidade temporal duma MT O tempo de execução duma máquina de Turing M com dados w é o número de passos efectuados por M até parar. A complexidade temporal de M é a função T (n) = max { p } p é o número de passos efectuados por M até parar com dados w e w = n Claro que poderá ser T (n) =, para alguns valores de n! Especialmente importantes são: a classe de máquinas de Turing (determinísticas) para as quais T (n) é polinomial: os problemas correspondentes podem ser eficientemente resolvidos por computador (classe P) Departamento de Ciência de Computadores da FCUP MC Aula 3 5

classe de máquinas de Turing não-determinísticas para as quais T (n) é polinomial:os problemas correspondentes podem pelo menos ser resolvidos em tempo exponêncial por computador (classe NP) Modelo de computação Simulação de n passos numa MTD fita MTD k-fitas O(n ) MTND O(c n ), c > RAM O(n 3 ) Não se sabe se as MTNDs têm de ser exponencialmente mais lentas que as MTD, em particular se P NP! Mais pormenores na disciplina de Complexidade... Departamento de Ciência de Computadores da FCUP MC Aula 3 6

Leituras [HMU00] (Cap 8.4.4,8.5.,8.6) Referências [HMU00] John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison Wesley, nd edition, 000. Departamento de Ciência de Computadores da FCUP MC Aula 3 7