Exercícios de Exame
Nenhum exercício corresponde a esta pesquisa.
Autómatos finitos e expressões regulares
Expressão de um DFA mínimo e equivalênciaAutoavaliação
Exame de Época Normal, 2021/22
Um ε-NFA foi convertido num DFA e depois minimizado; a expressão regular do DFA mínimo obtida é . Pode concluir-se que a expressão regular obtida pelo método de eliminação de estados para o mesmo autómato é equivalente a ? Justifique.
Solução
Sim. A expressão regular que representa o DFA mínimo é . Como o DFA mínimo se obtém por técnicas provadas que transformam qualquer ε-NFA num DFA equivalente e depois num DFA mínimo, e a expressão regular foi obtida por outra técnica provada (eliminação de estados), as duas expressões são equivalentes, isto é, representam a mesma linguagem.
Dois procedimentos correctos aplicados à mesma linguagem não podem dar resultados diferentes: ambos preservam a linguagem reconhecida. Assim, se o DFA mínimo gera , a expressão por eliminação de estados tem de gerar a mesma linguagem.
Confere a tua resposta:
- A resposta é sim (as duas expressões são equivalentes).
- A justificação recorre ao facto de ambos os métodos (eliminação de estados e minimização) serem técnicas provadas que produzem autómatos/expressões para a mesma linguagem.
Prova por indução de um subconjunto de (01)*Autoavaliação
Exame de Época Normal, 2021/22
Prove por indução que todas as palavras representadas pela expressão regular , isto é, da forma com , pertencem à linguagem .
Solução
Hipótese: : as palavras dadas por , com , pertencem a . Caso de base: a palavra mais curta é , que pertence a . Passo indutivo: ; por hipótese, , e como é fechada para a concatenação, a concatenação com continua em . Logo todas as palavras pertencem a .
Como , cada palavra é , claramente uma palavra de . A prova por indução formaliza este facto: o caso de base cobre e o passo mostra que acrescentar um bloco preserva a pertença.
Confere a tua resposta:
- A hipótese de indução é : as palavras , com , pertencem a .
- O caso de base trata a palavra mais curta, .
- No passo indutivo usa-se e a hipótese para concluir que a palavra seguinte também pertence a .
Equivalência de duas expressões regulares de um autómato generalizadoAutoavaliação
Exame de Época de Recurso, 2021/22
Nas aulas sugeriu-se a expressão regular para converter um autómato finito generalizado numa expressão regular. Alguém propõe antes , com , , e expressões regulares. Acha que esta expressão é equivalente a ? Se sim, descreva como o poderia provar.
Solução
Sim, são equivalentes. Pode provar-se convertendo num DFA (expressão ε-NFA DFA) e comparando-o com o DFA do autómato generalizado: se os estados iniciais forem equivalentes (indistinguíveis pela tabela de estados distinguíveis), as duas expressões são equivalentes. Alternativamente, constrói-se o produto cartesiano dos dois DFA e verifica-se que ambas as subtrações dão a linguagem vazia, ou prova-se por indução que é a linguagem do autómato.
Ambas as expressões descrevem percursos no mesmo autómato generalizado: ciclos no estado inicial (), um avanço seguido de ciclos , e repetições do bloco . A equivalência prova-se pelos métodos padrão de equivalência de autómatos, que são completos.
Confere a tua resposta:
- A resposta indica um método de prova válido (converter ambas para DFA e testar equivalência, ou provar por indução).
- A justificação explica que dois autómatos são equivalentes se os estados iniciais forem indistinguíveis (ou se ambas as subtrações produzirem a linguagem vazia).
Gramáticas livres de contexto e autómatos de pilha
Linguagem de uma gramática com dois blocosAutoavaliação
Exame de Época Normal, 2021/22
Considere a gramática livre de contexto com produções e . Defina formalmente o conjunto das palavras da linguagem de .
Solução
.
A produção de gera letras à esquerda e letras à direita, com um bloco no meio. Por sua vez, gera letras à esquerda e letras à direita. No total, o número de é , pelo que a linguagem é exatamente .
Confere a tua resposta:
- A resposta apresenta .
- A justificação separa o papel de (acrescenta um à esquerda e um à direita) do de (acrescenta um à esquerda e um à direita, ou termina com ).
Uma gramática é ambígua?Autoavaliação
Exame de Época Normal, 2021/22
Considere ainda a gramática com produções e . A gramática é ambígua? Justifique a sua resposta.
Solução
A gramática não é ambígua, pois não é possível derivar duas árvores sintáticas diferentes para a mesma palavra de .
A primeira produção do símbolo inicial deriva recursivamente um à esquerda e um à direita, e deriva para o substring do meio; em , a primeira produção deriva um à esquerda e um à direita, ou termina com . Como só há uma maneira de acrescentar o par e depois o par , não há mais do que uma árvore sintática por palavra.
Confere a tua resposta:
- A resposta diz que a gramática não é ambígua.
- A justificação mostra que não existe nenhuma palavra de com duas árvores sintáticas distintas.
Gramática para a^k b^l a^m com m=k+lAutoavaliação
Exame de Época de Recurso, 2021/22
Considere a linguagem . Defina uma gramática livre de contexto para .
Solução
Uma gramática para é , .
A regra acrescenta um no início e um no fim (contribuindo de cada lado), e acrescenta um no início e um no fim (contribuindo e finais). No total, o número de finais é , como se pretende.
Confere a tua resposta:
- A gramática apresentada tem produções equivalentes a e .
- A justificação relaciona cada inicial com um final e cada com um final, garantindo .
Prova por indução de que uma gramática gera L2Autoavaliação
Exame de Época de Recurso, 2021/22
Considere a linguagem e a gramática (sendo o símbolo inicial) com produções e . Prove por indução que as palavras de são reconhecidas pela gramática .
Solução
Prova por indução no tamanho de , para todo . Caso de base: , logo , e . Passo indutivo: seja com derivação em e ; a palavra seguinte , de tamanho , pode formar-se de duas maneiras: (i) só com e (ou ), e , pois ; (ii) , pois . Assim, as palavras de são reconhecidas por .
Cada palavra de obtém-se a partir de aplicando repetidamente um par exterior (regra de ) ou um par interior (regra de ). A indução cobre exatamente estas duas possibilidades de crescimento.
Confere a tua resposta:
- A prova faz indução no comprimento de , com caso de base ().
- O passo indutivo considera as duas formas de aumentar a palavra: (via ) e (via ).
- A conclusão afirma que todas as palavras de têm derivação em .
Máquinas de Turing
Máquina de Turing para a^3m b c^2nAutoavaliação
Exame de Época de Recurso, 2021/22
Pretende-se implementar uma máquina de Turing (MT) que aceite a linguagem . Por exemplo, e são aceites; é rejeitado. Descreva uma possível MT para , apresentando a tabela de transições.
Solução
Uma possível MT é , com dada pela tabela: : em , em ; : em ; : em ; : em , em ; : em , em ; : em ; : em , em ; : sem transições.
Os estados varrem os em ciclo de três (), garantindo que o número de é múltiplo de 3; o leva a . Depois, varrem os em ciclo de dois (), garantindo que o número de é par. Se a fita chegar ao branco nesse padrão, a máquina aceita em ; caso contrário (como , com um único ) não há transição e rejeita.
Confere a tua resposta:
- A MT proposta tem estados distintos para contar os (múltiplo de 3) e os (múltiplo de 2).
- A tabela de transições cobre as leituras de , , e do branco , com o estado final .
- A justificação mostra que e são aceites e é rejeitado.
Traço de computação para a entrada aaabAutoavaliação
Exame de Época de Recurso, 2021/22
Usando a máquina de Turing da questão anterior (cuja tabela de transições foi dada), indique os primeiros 6 passos do traço de computação quando a entrada é .
Solução
.
Aplicando a tabela: com escreve e vai para (); com (); com (); com (); com (). A máquina aceita, pois atinge o estado final.
Confere a tua resposta:
- O traço começa em .
- O traço apresenta as configurações intermédias até .
- O número de passos indicado é 5 (ou 6 incluindo a configuração final).
Modificar a MT para a^2m b c^2nAutoavaliação
Exame de Época de Recurso, 2021/22
Reutilizando a MT da questão anterior com o menor número possível de alterações, descreva uma possível MT que aceite a linguagem .
Solução
Altera-se para e remove-se o estado . Assim, os são varridos em ciclo de dois (), o que corresponde a .
Na MT original, o ciclo conta os de três em três. Para passar a contar de dois em dois, basta que volte diretamente a , eliminando ; o resto da máquina (o e os pares) permanece inalterado.
Confere a tua resposta:
- A resposta altera a transição para .
- A resposta remove o estado .
- A justificação explica que o ciclo de passa a ser de dois em vez de três.
Afirmações sobre linguagens
Subtração de uma linguagem regular por uma não regularAutoavaliação
Exame de Época Normal, 2021/22
Indique, justificando sucintamente (com um par de frases ou um contraexemplo), se a seguinte afirmação é Verdadeira (V) ou Falsa (F): a linguagem obtida pela subtração de uma linguagem regular (LR) por uma linguagem não regular (LNR) que inclua palavras da LR é sempre uma LNR.
Solução
Falsa. Contraexemplo: se a LR for uma linguagem finita, a subtração resulta noutra linguagem finita, e toda a linguagem finita é regular. Outro contraexemplo: com (regular) e (não regular), tem-se , que é regular.
A subtração não preserva a não-regularidade. Se a LR tem um número finito de palavras em comum com a LNR, o resultado pode ser finito (logo regular), e mesmo que haja sobreposição infinita o resultado pode continuar regular.
Confere a tua resposta:
- A resposta classifica a afirmação como Falsa.
- A justificação apresenta um contraexemplo (por exemplo, LR finita, ou e , com ).
Duas derivações diferentes implicam gramática ambígua?Autoavaliação
Exame de Época Normal, 2021/22
Indique, justificando sucintamente, se a seguinte afirmação é Verdadeira (V) ou Falsa (F): dada uma gramática livre de contexto , se for possível definir duas derivações diferentes para a mesma palavra, podemos dizer que é ambígua.
Solução
Falsa. Para uma gramática ser ambígua, as duas derivações diferentes têm de ser ambas à esquerda ou ambas à direita. Numa gramática não ambígua podem existir duas derivações diferentes, uma à esquerda e outra à direita, que conduzem à mesma árvore sintática.
A ambiguidade mede a existência de duas árvores sintáticas distintas, e duas árvores distintas equivalem a duas derivações à esquerda diferentes (ou, equivalentemente, duas à direita). Duas derivações genéricas diferentes não bastam.
Confere a tua resposta:
- A resposta classifica a afirmação como Falsa.
- A justificação explica que, para a gramática ser ambígua, as duas derivações têm de ser ambas à esquerda (ou ambas à direita), não bastando serem diferentes.
Interseção decidível implica linguagens decidíveis?Autoavaliação
Exame de Época Normal, 2021/22
Indique, justificando sucintamente, se a seguinte afirmação é Verdadeira (V) ou Falsa (F): se é decidível (recursiva), então e são ambas decidíveis.
Solução
Falsa. e/ou podem ser linguagens recursivamente enumeráveis (não decidíveis) cuja interseção é decidível; por exemplo, se a interseção for o conjunto vazio, que é uma linguagem decidível.
A decidibilidade não é hereditária para os operandos de uma interseção. O conjunto vazio é decidível, pelo que duas linguagens não decidíveis podem ter interseção vazia e, ainda assim, a interseção ser decidível.
Confere a tua resposta:
- A resposta classifica a afirmação como Falsa.
- A justificação dá um contraexemplo: e/ou podem ser apenas recursivamente enumeráveis e a interseção ser vazia (decidível).
A linguagem w^(2^n) é regular?Autoavaliação
Exame de Época de Recurso, 2021/22
Indique, justificando sucintamente, se a seguinte afirmação é Verdadeira (V) ou Falsa (F): a linguagem é uma linguagem regular (LR).
Solução
Verdadeira. Como representa qualquer palavra sobre e pode ser 1 (quando ), é a linguagem de todas as palavras sobre , que se representa pela expressão regular , sendo assim uma LR.
O expoente percorre 1, 2, 4, 8, ..., incluindo o valor 1. Para , , com arbitrário em . Logo , que é regular.
Confere a tua resposta:
- A resposta classifica a afirmação como Verdadeira.
- A justificação nota que pode ser 1 (para ), pelo que contém todas as palavras de , sendo representada por .
Interseção de duas CFL é sempre uma CFL?Autoavaliação
Exame de Época de Recurso, 2021/22
Indique, justificando sucintamente, se a seguinte afirmação é Verdadeira (V) ou Falsa (F): a interseção de duas linguagens, cada uma representada por uma gramática livre de contexto (GLC), resulta sempre numa linguagem que pode ser representada por uma GLC.
Solução
Falsa. Se as linguagens são represented por GLC, são ambas livres de contexto. A interseção de duas CFL não é uma propriedade de fecho das CFL. Exemplo: e ; então , que não é uma CFL e, portanto, não pode ser representada por uma GLC.
As CFL são fechadas para a unión, a concatenação e a estrela, mas não para a interseção nem para o complemento. O exemplo clássico mostra que a interseção de duas CFL pode cair fora da classe.
Confere a tua resposta:
- A resposta classifica a afirmação como Falsa.
- A justificação usa o contraexemplo e , cuja interseção não é livre de contexto.
L* decidível implica L decidível?Autoavaliação
Exame de Época de Recurso, 2021/22
Indique, justificando sucintamente, se a seguinte afirmação é Verdadeira (V) ou Falsa (F): se é decidível (linguagem recursiva), então é decidível.
Solução
Falsa. Contraexemplo: seja uma linguagem não decidível sobre e . continua não decidível, mas , que é decidível. Logo decidível não implica decidível.
A operação estrela pode "absorver" a parte não decidível: se já contém todos os símbolos do alfabeto, é todo o , que é decidível, independentemente de ser ou não decidível.
Confere a tua resposta:
- A resposta classifica a afirmação como Falsa.
- A justificação apresenta um contraexemplo: , com não decidível, tem decidível mas não decidível.