generare una grammatica context-free

Messaggioda ludovica_97 » 16/06/2017, 09:02

Buongiorno, ho un problema di informatica teorica. Ho un esercizio che si sviluppa in due punti:
-generare una grammatica context-free dato il linguaggio $L={a^n w a^m | w=aba$ oppure w=abba e $m=2n$ con $m,n>0}$
-generare una grammatica context-free dato il linguaggio delle parole che hanno lunghezza dispari e il primo elemento e' diverso da quello centrale e da quello finale (es. ababbab}
entrambi i linguaggi sono sull'alfabeto ${a,b}$

Io ho svolto il primo punto cosi:
$S->aSaa|W$
$W->aba$|abba
e' corretto??

per il secondo punto non ho proprio idee...
ludovica_97
Average Member
Average Member
 
Messaggio: 9 di 582
Iscritto il: 18/02/2017, 16:53

Re: generare una grammatica context-free

Messaggioda apatriarca » 16/06/2017, 10:15

Il primo punto mi sembra abbastanza corretto, eccetto per la condizione \(m, n > 0\). Se infatti partiamo da S e scegliamo subito la seconda regola abbiamo una parola che non è nel linguaggio: \(aba\) oppure \(abba\).

Per il secondo credo farei qualcosa come il seguente (non sono un esperto per cui potrei aver fatto errori - è più una indicazione su come procedere che una soluzione):
\[ \begin{align*}
S &\to aAb \mid bBa \\
A &\to aAa \mid aAb \mid bAa \mid bAb \mid b \\
B &\to aBa \mid aBb \mid bBa \mid bBb \mid a \\
\end{align*} \]
apatriarca
Moderatore
Moderatore
 
Messaggio: 4674 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: generare una grammatica context-free

Messaggioda ludovica_97 » 16/06/2017, 12:02

apatriarca ha scritto:Il primo punto mi sembra abbastanza corretto, eccetto per la condizione \(m, n > 0\). Se infatti partiamo da S e scegliamo subito la seconda regola abbiamo una parola che non è nel linguaggio: \(aba\) oppure \(abba\).

Per il secondo credo farei qualcosa come il seguente (non sono un esperto per cui potrei aver fatto errori - è più una indicazione su come procedere che una soluzione):
\[ \begin{align*}
S &\to aAb \mid bBa \\
A &\to aAa \mid aAb \mid bAa \mid bAb \mid b \\
B &\to aBa \mid aBb \mid bBa \mid bBb \mid a \\
\end{align*} \]

grazie mille!
per il primo come posso risolvere?
ludovica_97
Average Member
Average Member
 
Messaggio: 10 di 582
Iscritto il: 18/02/2017, 16:53


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite