problema delle espressioni regolari
-
18-09-2019 - |
Domanda
Qual è l'espressione regolare per la lingua 0 m 1 n dove m + n è dispari?
Soluzione
Se si intende una 000...111...
stringa in cui la lunghezza della stringa è pari, è possibile utilizzare ^(00)*(01)?(11)*$
Altri suggerimenti
Ok, quindi è necessario prendere in considerazione per lo zero i casi in cui ci sono dispari e quando sono ancora. Ciò richiede due stati, uno anche per gli zeri, uno per zeri dispari. Poi per la strana Case Zero è necessario disporre di 1 uno poi un numero pari di quelli. Per il caso anche è sufficiente un numero pari di quelli.
E 'facile scrivere il DFA, ma non so come tracciare qui, quindi ho intenzione di tentare di indovinare l'espressione regolare:
(0 (00)* 1 (11)*) \/ (00)*(11)*
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow