Say I have a regular expression given, or a language given in set form.
Examples:
$$ L= \{ w \in \{a,b\}^* | w \ \text{ matches} \ \ a^*b^*(bab)^*\} \\ L = \{ w | count_a(w) = 5 \} \\ L= \{ w \in \{a,b\}^* | aab \ \ \text{is substring of w\}} $$
Is there an algorithmic-like approach to finding the equivalence classes or do I have to try out different strings and test them with respect to the Nerode relation ?
Now my question:
How do I quickly find the equivalence classes for a given language ?
Whats the trick/intuition ?