MHB Which language does this klmn-grammar generate?

  • Thread starter Thread starter evinda
  • Start date Start date
  • Tags Tags
    Language
AI Thread Summary
The discussion centers around understanding a specific grammar and the language it generates. The grammar provided includes various production rules involving symbols k, l, m, and n. Initial attempts to derive strings from the grammar led to confusion regarding the validity of certain strings, particularly the absence of a rule allowing direct production of "kn" from "I_{kn}". As the conversation progressed, participants clarified the rules and explored the strings generated by the grammar. They identified two distinct paths through the grammar, leading to two possible language sets. The final conclusion is that the language generated by the grammar can be expressed as a combination of two sets: one representing the form {k^(p+q)l^rm^(r+q)n^p} and the other {k^pl^(q+r)m^rn^(p+q)}, where p, q, and r are non-negative integers. This comprehensive understanding highlights the complexity of the grammar and the nuances in deriving the language it generates.
evinda
Gold Member
MHB
Messages
3,741
Reaction score
0
Also,to see if I understood it,I tried an other example.
The grammar that is given is this:

w\epsilon \left \{ k,l,m,n \right \}^{*}:I\rightarrow I_{kn},I_{kn}\rightarrow kI_{kn}n|I_{ln}|I_{km},I_{ln}\rightarrow lI_{ln}n|I_{lm},I_{km}\rightarrow kI_{km}m|I_{lm},I_{lm}\rightarrow lI_{lm}m|\O ,

and I found that it generates the following strings:

I\rightarrow I_{kn}\rightarrow k I_{kn} n \rightarrow kknn
I\rightarrow I_{ln}\rightarrow l I_{kn} n \rightarrow llnn
I\rightarrow I_{km}\rightarrow k I_{km} m \rightarrow kkmm
I\rightarrow I_{lm}\rightarrow l I_{kn} m \rightarrow llmm

Is this right?? :confused:
 
Technology news on Phys.org
Re: How to find a language generated by a given grammar

evinda said:
Also,to see if I understood it,I tried an other example.
The grammar that is given is this:

w\epsilon \left \{ k,l,m,n \right \}^{*}:I\rightarrow I_{kn},I_{kn}\rightarrow kI_{kn}n|I_{ln}|I_{km},I_{ln}\rightarrow lI_{ln}n|I_{lm},I_{km}\rightarrow kI_{km}m|I_{lm},I_{lm}\rightarrow lI_{lm}m|\O ,

and I found that it generates the following strings:

I\rightarrow I_{kn}\rightarrow k I_{kn} n \rightarrow kknn
I\rightarrow I_{ln}\rightarrow l I_{kn} n \rightarrow llnn
I\rightarrow I_{km}\rightarrow k I_{km} m \rightarrow kkmm
I\rightarrow I_{lm}\rightarrow l I_{kn} m \rightarrow llmm

Is this right?? :confused:

If it is right,how can I find the language it generates?It is more difficult than the previous one,isn't it? :o
 
Re: How to find a language generated by a given grammar

evinda said:
Also,to see if I understood it,I tried an other example.
The grammar that is given is this:

w\epsilon \left \{ k,l,m,n \right \}^{*}:I\rightarrow I_{kn},I_{kn}\rightarrow kI_{kn}n|I_{ln}|I_{km},I_{ln}\rightarrow lI_{ln}n|I_{lm},I_{km}\rightarrow kI_{km}m|I_{lm},I_{lm}\rightarrow lI_{lm}m|\varnothing ,

and I found that it generates the following strings:

I\rightarrow I_{kn}\rightarrow k I_{kn} n \rightarrow kknn
I\rightarrow I_{ln}\rightarrow l I_{kn} n \rightarrow llnn
I\rightarrow I_{km}\rightarrow k I_{km} m \rightarrow kkmm
I\rightarrow I_{lm}\rightarrow l I_{kn} m \rightarrow llmm

Is this right?? :confused:

It doesn't look right to me.
There is no rule $I_{kn} \to kn$ so you cannot produce the first string like that.
 
Re: How to find a language generated by a given grammar

I like Serena said:
It doesn't look right to me.
There is no rule $I_{kn} \to kn$ so you cannot produce the first string like that.

I used the rules: I_{kn} \rightarrow kI_{kn}n and I_{kn} \rightarrow \varnothing
:confused: How else can I do this?
 
Re: How to find a language generated by a given grammar

evinda said:
I used the rules: I_{kn} \rightarrow kI_{kn}n and I_{kn} \rightarrow \varnothing
:confused: How else can I do this?

Am I misunderstanding?
Then perhaps you can clarify?

Let me expand your ruleset:
\begin{array}{}
I&\rightarrow &I_{kn} \\
I_{kn}&\rightarrow& kI_{kn}n&|&I_{ln}&|&I_{km} \\
I_{ln}&\rightarrow& lI_{ln}n&|&I_{lm} \\
I_{km}&\rightarrow& kI_{km}m&|&I_{lm} \\
I_{lm}&\rightarrow& lI_{lm}m&|&\varnothing \\
\end{array}

Where is $I_{kn} \rightarrow \varnothing$?

I only see $I_{lm} \rightarrow \varnothing$.
 
Re: How to find a language generated by a given grammar

I like Serena said:
Am I misunderstanding?
Then perhaps you can clarify?

Let me expand your ruleset:
\begin{array}{}
I&\rightarrow &I_{kn} \\
I_{kn}&\rightarrow& kI_{kn}n&|&I_{ln}&|&I_{km} \\
I_{ln}&\rightarrow& lI_{ln}n&|&I_{lm} \\
I_{km}&\rightarrow& kI_{km}m&|&I_{lm} \\
I_{lm}&\rightarrow& lI_{lm}m&|&\varnothing \\
\end{array}

Where is $I_{kn} \rightarrow \varnothing$?

I only see $I_{lm} \rightarrow \varnothing$.

Oh I think I misunderstood the rules.
Now I found that the grammar generates the following strings:
I\rightarrow I_{kn}\rightarrow kI_{kn}n\rightarrow kI_{ln}n\rightarrow klI_{ln}nn\rightarrow klI_{lm}nn\rightarrow kllI_{lm}mnn\rightarrow kllmnn
I\rightarrow _{kn}\rightarrow kI_{kn}n\rightarrow kI_{km}n\rightarrow kkI_{km}mn\rightarrow kkI_{lm}mn\rightarrow kklI_{lm}mmn\rightarrow kklmmn
So is the language \{k^il^jm^in^j\}? :confused:
 
Re: How to find a language generated by a given grammar

evinda said:
Oh I think I misunderstood the rules.
Now I found that the grammar generates the following strings:
I\rightarrow I_{kn}\rightarrow kI_{kn}n\rightarrow kI_{ln}n\rightarrow klI_{ln}nn\rightarrow klI_{lm}nn\rightarrow kllI_{lm}mnn\rightarrow kllmnn
I\rightarrow _{kn}\rightarrow kI_{kn}n\rightarrow kI_{km}n\rightarrow kkI_{km}mn\rightarrow kkI_{lm}mn\rightarrow kklI_{lm}mmn\rightarrow kklmmn
So is the language \{k^il^jm^in^j\}? :confused:

Those look like correct words. ;)
But I don't think that is the language.

Let's try to visualize it:

View attachment 1808

Does that perhaps give you a clue what the words will look like?
 

Attachments

  • Grammar_klmn.png
    Grammar_klmn.png
    5.1 KB · Views: 95
Re: How to find a language generated by a given grammar

I like Serena said:
Those look like correct words. ;)
But I don't think that is the language.

Let's try to visualize it:

https://www.physicsforums.com/attachments/1808

Does that perhaps give you a clue what the words will look like?

Is it maybe \{k^il^jm^in^j:i,j>0\} or is it something else? :confused:
 
Last edited:
Re: How to find a language generated by a given grammar

evinda said:
Is it maybe \{k^il^jm^in^j:i,j>0\} or is it something else? :confused:

I'm afraid it's something else.
For starters, there are 2 paths through the graph, so you will get 2 possibilities.

Let's try the upper path.
When we leave state $I_{kn}$ we have $k^p I_{ln} n^p$, where $p$ could be $0$.
When leaving state $I_{ln}$, we have made it to $k^p l^q I_{lm} n^q n^p$.
When we finally leave $I_{lm}$ with $\varnothing$, we have $k^p l^q l^r m^r n^q n^p$.

So one of the 2 possible word sets is $\{ k^p l^{q+r} m^r n^{p+q} : p,q,r \in \mathbb Z_{\ge 0} \}$.
 
  • #10
Re: How to find a language generated by a given grammar

I like Serena said:
I'm afraid it's something else.
For starters, there are 2 paths through the graph, so you will get 2 possibilities.

Let's try the upper path.
When we leave state $I_{kn}$ we have $k^p I_{ln} n^p$, where $p$ could be $0$.
When leaving state $I_{ln}$, we have made it to $k^p l^q I_{lm} n^q n^p$.
When we finally leave $I_{lm}$ with $\varnothing$, we have $k^p l^q l^r m^r n^q n^p$.

So one of the 2 possible word sets is $\{ k^p l^{q+r} m^r n^{p+q} : p,q,r \in \mathbb Z_{\ge 0} \}$.

So,the other possible word set is: \{k^{p+q}l^{r}m^{r+q}n^{p}: p,q,r \in \mathbb Z_{\ge 0} \} ?
 
  • #11
Re: How to find a language generated by a given grammar

evinda said:
So,the other possible word set is: \{k^{p+q}l^{r}m^{r+q}n^{p}: p,q,r \in \mathbb Z_{\ge 0} \} ?

Yep! :D
 
  • #12
Re: How to find a language generated by a given grammar

I like Serena said:
Yep! :D

Nice :) so,if I want to write the general language,do I have to write both cases?

Or can we find one formula that satisfies both cases? :confused:
 
Last edited:
  • #13
Re: How to find a language generated by a given grammar

evinda said:
Nice :) so,if I want to write the general language,do I have to write both cases?

Or can we find one formula that satisfies both cases? :confused:

So,is the answer the languages \{k^{p+q}l^{r}m^{r+q}n^{p}: p,q,r \in \mathbb Z_{\ge 0} \} and $\{ k^p l^{q+r} m^r n^{p+q} : p,q,r \in \mathbb Z_{\ge 0} \}$ ?
 
  • #14
Re: How to find a language generated by a given grammar

evinda said:
So,is the answer the languages \{k^{p+q}l^{r}m^{r+q}n^{p}: p,q,r \in \mathbb Z_{\ge 0} \} and $\{ k^p l^{q+r} m^r n^{p+q} : p,q,r \in \mathbb Z_{\ge 0} \}$ ?

The language is the combination of the two:
$$\{k^{p+q}l^{r}m^{r+q}n^{p}: p,q,r \in \mathbb Z_{\ge 0} \} \cup \{ k^p l^{q+r} m^r n^{p+q} : p,q,r \in \mathbb Z_{\ge 0} \}$$
Or for short:
$$\{k^{p+q}l^{r}m^{r+q}n^{p},\quad k^p l^{q+r} m^r n^{p+q}\ :\ p,q,r \in \mathbb Z_{\ge 0} \}$$
 
  • #15
Re: How to find a language generated by a given grammar

I like Serena said:
The language is the combination of the two:
$$\{k^{p+q}l^{r}m^{r+q}n^{p}: p,q,r \in \mathbb Z_{\ge 0} \} \cup \{ k^p l^{q+r} m^r n^{p+q} : p,q,r \in \mathbb Z_{\ge 0} \}$$
Or for short:
$$\{k^{p+q}l^{r}m^{r+q}n^{p},\quad k^p l^{q+r} m^r n^{p+q}\ :\ p,q,r \in \mathbb Z_{\ge 0} \}$$

Great!Thank you very much! (Clapping)
 
Back
Top