As operações de fechamento, ou operações de fecho, sob linguagens regulares, podem ser definidas como aquelas que, quando aplicadas a elas, produzem uma nova linguagem também regular. Considere as informações a seguir: Dada uma linguagem regular L = {00, 01, 11, 011} sob Σ = {0, 1}. Analise as cadeias a seguir e informe quais fazem parte da linguagem L*: 1- 00011100011 2- 00111010000 3- 11010001111 4- 01101000100 5- 11011110111 Selecione a resposta:
Questão
As operações de fechamento, ou operações de fecho, sob linguagens regulares, podem ser definidas como aquelas que, quando aplicadas a elas, produzem uma nova linguagem também regular.
Considere as informações a seguir:
Dada uma linguagem regular L = {00, 01, 11, 011} sob Σ = {0, 1}.
Analise as cadeias a seguir e informe quais fazem parte da linguagem L*:
1- 00011100011
2- 00111010000
3- 11010001111
4- 01101000100
5- 11011110111
Selecione a resposta:
Alternativas
a) Fazem parte de L* as opções 1, 2 e 4.
b) Fazem parte de L* as opções 1, 3 e 5.
c) Fazem parte de L* as opções 3, 4 e 5.
d) Fazem parte de L* as opções 1, 4 e 5.
e) Fazem parte de L* as opções 1, 3, 4 e 5.
Explicação
Em , uma cadeia pertence à linguagem se puder ser decomposta (concatenada) em zero ou mais “blocos” que pertençam a .
Vamos testar cada cadeia, tentando segmentar apenas com esses blocos.
1) 00011100011 Uma decomposição possível é:
- Todos os blocos estão em . Logo, 1 ∈ L*.
2) 00111010000 Começando por (ok), sobra 111010000.
- Podemos fazer (ok), sobra 1010000. Agora a sobra começa com 10, e não existe bloco em que comece com 10 (os possíveis começos são 00, 01, 11, ou 011 que também começa com 01). Logo, não há como continuar a decomposição. Portanto, 2 ∉ L*.
3) 11010001111 A cadeia começa com (ok), sobra 010001111. A sobra começa com 010....
- Se tentarmos (ok), sobra 0001111.
- (ok) sobra 01111.
- (ok) sobra 11.
- (ok) sobra ε. Até aqui parece dar certo, mas note que após a cadeia original fica: ; e o trecho 000 não pode ser gerado por blocos de tamanho 2 ou 3 sem sobrar 0 isolado (as possibilidades são ou ), e a tentativa acima força uma leitura que não preserva a ordem correta dos bits (ao encaixar e depois há conflito na fronteira do terceiro 0 com o início do 011 em algumas segmentações possíveis). Testando sistematicamente: após , o prefixo restante é 010... e as únicas escolhas iniciais são (sobra começando com 0) ou (mas não casa, pois seria 011 e temos 010). Então obrigatoriamente . Após , resta 0001111.
- Se pegar , resta 01111.
- Pode pegar , resta 11 (ok, fecha com ). Isso daria que concatena: 11 01 00 011 11 = 11010001111 (confere). Então 3 ∈ L*.
(Observação: a decomposição acima confere exatamente com a cadeia, logo pertence.)
4) 01101000100 Podemos decompor como:
- Concatenação: 011 01 00 01 00 = 01101000100. Todos os blocos em . Logo, 4 ∈ L*.
5) 11011110111 Uma decomposição possível é:
- Concatenação: 11 011 11 01 11 = 11011110111. Todos os blocos em . Logo, 5 ∈ L*.
Assim, pertencem a as cadeias 1, 3, 4 e 5.
Alternativa correta: (e).