Capítulo 12 Os limites da computação algorítmica 12.1. Problemas que não podem ser resolvidos pelas MT. 12.2. Problemas indecidíveis para LRE 12.3. Problema da correspondência de Post 12.4. Problemas indecidíveis para CFL 480
12.1. Alguns problemas que não podem ser resolvidos por máquinas de Turing Decidibilidade Se o resultado de uma computação é apenas sim ou não, trata-se de um problema de decidibilidade : o problema ou é decidível ou é indecidível. Computabilidade d Uma função off écomputável num dado dodomínio ose e só se existir uma MT que calcula o valor de f para todos os argumentos do seu domínio 481
12.1.1. Alguns problemas indecidíveis (i) O problema da paragem de uma MT (histórico) Problema: dada a descrição de uma MT M (codificada numa cadeia de 0 s e 1 s) dada uma cadeia de entrada w Se M iii iniciar uma computação em q 0 w será que pára (halt)? Domínio do problema: conjunto de todas as MT e conjunto de todas as w. 482
Resposta ao problema: procura-se uma única MT que dê uma resposta correcta em todos os casos possíveis M e w a MT procurada deve dar uma resposta analisando a descrição de M e w através de algum algoritmo (e não através de uma simulação para cada caso, por ex. pela MT universal, que pode entrar em ciclo para uma dada w, e nesse caso nunca mais se sabe a resposta). não existe um tal algoritmo, não existe uma tal MT. 483
Definição 12.1. A paragem de uma MT. Seja w M a cadeia (0 s e 1 s) que descreve a máquina de Turing M. Sj Seja w uma cadeia (codificada d em 0 s e 1 s) no alfabeto de M. Uma MT H é uma solução para o problema da paragem de M se H : q 0 w M w x 1 q y x 2 Se M pára com w y 1 q n y 2 Estados finais Se M não pára com w 484
Teorema 12.1. Não existe qualquer MT capaz de se comportar como H. Este problema (da paragem) é indecidível. 485
Teorema 12.2 Se o problema de paragem da MT fosse decidível toda a linguagem recursivamente enumerável seria recursiva (a paragem da MT seria um algoritmo de pertença) Por isso é natural que o problema da paragem seja indecidível (dado que há linguagens recursivamente enumeráveis que não são recursivas). 486
(ii) O problema da entrada num estado Dada uma MT M = ( Q,,,, q 0,, F) qualquer q Q qualquer w +, M entra alguma vez no estado q quando se lhe aplica w??? Este problema é indecidível. idí 487
12.1.2. Exemplo de função não computável Seja uma MT com = {0, 1, }. Seja f (n) = máximo número de movidas de um MT com n estados que pára quando inicializada com um fita em branco. Esta função não é computável. 488
12.2. 2 Problemas indecidíveis para linguagens recursivamente enumeráveis as linguagens recursivamente enumeráveis (REL) têm um elevado grau de generalidade muitas questões que sobre elas se podem colocar são indecidíveis o problema da paragem da MT pode ser reduzido a essas questões de decidibilidade da REL. 489
Teorema 12.3. Seja G uma gramática não restringida L (G ) =??? é indecidível 490
Teorema 12.4 Sj Seja M uma MT L (M ) é finita??? é indecidível 491
Teorema de Rice Qualquer propriedade d não trivial i lde uma linguagem recursivamente enumerável é indecidível. Uma propriedade não-trivial de uma LRE é toda aquela que é possuída por algumas mas não por todas as linguagens recursivamente enumeráveis. Uma propriedade trivial de uma LRE é possuída por nenhuma ou por todas as linguagens RE. 492
12.4. Problemas indecidíveis eis para linguagens livres de contexto (CFL) Usa-se o problema da correspondência de Post (PC) Teorema 12.8. Ambiguidade de CFG Não existe um algoritmo para decidir se qualquer CFG é ambígua. 493
Teorema 12.9. Considerem-se duas CFG s arbitrárias i G 1 e G 2. L (G 1 ) L(G 2 ) =??? Indecidível 494
Os teoremas sobre (in)decidibilidade não significam ifi que não se possa obter respostas para casos específicos. Referem- se à existência de algoritmos que sejam completamente gerais. Pode haver um algoritmo que funcione num número muito elevado de casos, mas se há casos (mesmo que só um) para os quais falhe, o problema é indecidível. 495
Bibliografia An Introduction to Formal Languages and Automata, Peter Linz, 3rd Ed., Jones and Bartelett Computer Science, 2001. Models of Computation and Formal Languages, R. Gregory Taylor, Oxford University Press, 1998. Introduction to Automata Theory, Languages and Computation, 2nd Ed., John Hopcroft, Rajeev Motwani, Jeffrey Ullman, Addison Wesley, 2001. Elements for the Theory of Computation, Harry Lewis and Christos Papadimitriou, 2nd Ed., Prentice Hall, 1998. Introduction th the Theory of Computation, Michael Sipser, PWS Publishing Co, 1997. 496