|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: May 2009
Città: Como
Messaggi: 70
|
[Grammatica Libera Dal Contesto] Dubbio generazione grammatica
Ciao a tutti, sto studiando gli automi e le grammatiche e mi servirebbe un aiuto.
Ho questo esercizio da risolvere e vorrei un vostro parere sulla risoluzione che ho fatto: Λ = {a, b, c, d} L= {a^n b^m c^(2(n+m)+1) d | n ≥ 0 , m > 0} Questo è quello che ho capito: La d finale è fissa e deve rimanere unica la b la c ci sono sempre e la stringa base generabile è bcccd Per ogni n che aumenta di 1 => aumento di una a e di due c Per ogni m che aumenta di 1 => aumento di una b e di due c Io l'ho risolto così, ma ho un po' di dubbi, soprattutto sulla seconda regola: Codice:
S0 => S1 d S1 => ε (insieme vuoto) => questa regola l'ho pensata perchè c'è un caso con n=0 (dove a non esiste e le c non aumentano) S1 => a S1 cc S2 => bccc S2 => b S2 cc S1 => S2 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2781
|
Va bene però bisogna togliere
Codice:
S1 => ε (insieme vuoto) => questa regola l'ho pensata perchè c'è un caso con n=0 Codice:
S1 => S2 |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: May 2009
Città: Como
Messaggi: 70
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
A prima vista pare corretta, ma secondo me te la puoi cavare con molto meno:
Codice:
S → Mcd M → aMcc | B B → bBcc | bcc ciao EDIT: che in realtà a ben vedere hai solo aggiunto più produzioni separatamente invece che con una disgiunzione, ma siamo lì... Unica cosa, la c aggiuntiva (del 2(n+m)+1) ci sarà sempre, per cui puoi inserirla direttamente nella produzione iniziale.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! Ultima modifica di DanieleC88 : 25-06-2011 alle 01:20. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:48.




















