Grammatica lineare per l'espressione: R = b* + (ab)* , ho svolto correttamente?

Messaggioda s.capone7 » 29/06/2020, 12:20

Salve ragazzi, vorrei chiedervi se ho svolto bene il seguente esercizio:

Scrivere una grammatica lineare destra per l'espressione regolare R = b* + (ab)*

Posto questa domanda perchè il mio prof ha utilizzato un metodo molto lungo, mentre rifacendo l'esercizio da solo mi viene molto più breve.

Inanzitutto osservo che l'espressione data equivale a ${b}^** uu {a*b}^**$

1) Individuo una grammatica per ${b}^**$

Prima determinato una grammatica per ${b}$
che sarebbe $S1\tob$ e aggiungo $S1\to\lambda | bS1$ per ottenere chiusura riflessiva e transitiva.

Perciò la grammatica per ${b}^**$ è la seguente:

$G1 = (X={b}, V= {S1}, S1, P1 = {S1\tobS1 | \lambda})$

2) Individuo grammatica per ${ab}^**$

Per prima individuo grammatica per ${ab}$ che è la seguente:
$S2\toab$ e aggiungo $S2\tolambda | abS2$ per ottenere chiusura riflessiva e transitiva.

Perciò $G2 = (X = {a, b}, V = {S2}, S2, P2 = {S2\toabS2 | \lambda}$

3) Adesso posso costruire una nuova grammatica G3 aggiungendo l'assioma S che indirizza alla prima e alla seconda grammatica

$G3 = (X={X1} uu {X2} = {a, b} , V= V1 uu V2 uu {S} = {S1, S2, S}, S, P)$
dove l'insieme delle produzioni è il seguente:

$P= {S\toS1|S2, S1\tobS1 | \lambda, S2\toabS2 | \lambda}$

E' corretto o sono stato troppo sintetico non giustificando delle cose? Grazie in anticipo
s.capone7
New Member
New Member
 
Messaggio: 14 di 56
Iscritto il: 25/10/2019, 18:41

Re: Grammatica lineare per l'espressione: R = b* + (ab)* , ho svolto correttamente?

Messaggioda apatriarca » 01/07/2020, 18:04

Secondo me va bene.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5454 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite