3nfa

2
FEUP / LEIC TEORIA DA COMPUTAÇÃO GABRIEL DAVID/CRISTINA RIBEIRO NFA - 1/2 EXERCÍCIOS DE AUTÓMATOS FINITOS NÃO DETERMINISTAS 1 Obtenha NFAs para as seguintes linguagens, tentando tirar o máximo partido do não determinismo: a) O conjunto de todas as cadeias sobre o alfabeto {0, …, 9} tal que o último dígito não apareceu antes. b) O conjunto de todas as cadeias de 0’s e 1’s tais que existem dois 0 separados por um número de posições que é um múltiplo de 4. Zero é considerado múltiplo de 4. 2 Converta o NFA seguinte para um DFA. 0 1 -> p {q,s} {q} *q {r} {q,r} r {s} {p} *s {p} 3 Considere o autómato da figura: Figura 1. a) Como o classifica, entre os tipos de autómatos estudados? b) Converta-o para autómato finito determinista. c) Sendo L a linguagem do autómato da figura 1, obtenha um autómato para reconhecer o complemento de L. Justifique. 4 Desenhe um ε-NFA para cada uma das linguagens abaixo: a) O conjunto das cadeias que consistem ou de 01 repetido uma ou mais vezes ou de 010 repetido uma ou mais vezes. b) O conjunto das cadeias binárias tais que pelo menos uma das últimas dez posições é um 1. b a Start 1 b 2 3 a

description

3nfa

Transcript of 3nfa

Page 1: 3nfa

FEUP / LEIC TEORIA DA COMPUTAÇÃO

GABRIEL DAVID/CRISTINA RIBEIRO NFA - 1/2

EXERCÍCIOS DE AUTÓMATOS FINITOS NÃO DETERMINISTAS

1 Obtenha NFAs para as seguintes linguagens, tentando tirar o máximo partido do não determinismo:

a) O conjunto de todas as cadeias sobre o alfabeto {0, …, 9} tal que o último dígito não apareceu antes.

b) O conjunto de todas as cadeias de 0’s e 1’s tais que existem dois 0 separados por um número de posições que é um múltiplo de 4. Zero é considerado múltiplo de 4.

2 Converta o NFA seguinte para um DFA.

0 1

-> p {q,s} {q}

*q {r} {q,r}

r {s} {p}

*s ∅ {p}

3 Considere o autómato da figura:

Figura 1.

a) Como o classifica, entre os tipos de autómatos estudados?

b) Converta-o para autómato finito determinista. c) Sendo L a linguagem do autómato da figura 1, obtenha um autómato para reconhecer o

complemento de L. Justifique. 4 Desenhe um ε-NFA para cada uma das linguagens abaixo:

a) O conjunto das cadeias que consistem ou de 01 repetido uma ou mais vezes ou de 010 repetido uma ou mais vezes.

b) O conjunto das cadeias binárias tais que pelo menos uma das últimas dez posições é um 1.

b

a

Start 1

b

2

3

a

Page 2: 3nfa

FEUP / LEIC TEORIA DA COMPUTAÇÃO

GABRIEL DAVID/CRISTINA RIBEIRO NFA - 2/2

5 Afirma-se que, se N é um NFA em que para cada estado e símbolo da entrada há no máximo um estado, então o DFA obtido de N pela construção de subconjuntos tem exactamente os estados e as transições de N mais transições para um novo estado morto sempre que em N faltar uma transição para um dado estado e símbolo de entrada. Prove esta afirmação.

6 Considere o ε-NFA seguinte:

ε a b c

→p {q,r} ∅ {q} {r}

Q ∅ {p} {r} {p,q}

*r ∅ ∅ ∅ {p}

a) Calcule o fecho-ε de cada estado.

b) Indique todas as cadeias de comprimento até 3 aceites pelo autómato.

c) Converta o autómato para um DFA.

7 Relativamente às frases seguintes, indique se são verdadeiras ou falsas: a) É sempre possível passar de um autómato finito não determinista para um determinista

que lhe é equivalente. b) Um DFA com n estados só consegue reconhecer cadeias de comprimento ≤ n.

8 Construa ε-NFAs que aceitem os conjuntos expressos pelas seguintes descrições

informais: a) As cadeias sobre {a,b} em que não haja mais de 3 a's seguidos.

b) As cadeias sobre {a,b,c} de comprimento par que contenham um número par de c's.

9 Considere o seguinte NFA (ver Exercício 2)

0 1

-> p {q,s} {q}

*q {r} {q,r}

r {s} {p}

*s ∅ {p}

Obtenha o autómato para o complemento da linguagem definida pelo autómato.