2017-04-11 1 views
1

J'ai eu du mal à comprendre une propriété clé de la fermeture de deux expressions unionisées. En gros ce que j'ai besoin de savoir exactement comment fonctionne la star de Kleene.Confusion à propos de l'étoile Kleene

IE Si Regular Expression R = (0 + 1) * Est-ce que l'expression doit évaluer à quelque chose comme 000111/01/00001111, ou pouvons-nous avoir une quantité inégale de 0 de & de 1, tels que 0011111/000001/111111/0000?

Répondre

1

La quantité de 0 et de 1 peut être inégale; vous pouvez même avoir les 0 et les 1 dans n'importe quel ordre! a* signifie «zéro ou plus a s, où a est évalué indépendamment»; ainsi, dans une chaîne correspondant (0+1)*, chaque caractère peut correspondre (0+1) sans tenir compte de la façon dont les autres caractères de la chaîne correspondent.

Considérons le modèle (0+1)(0+1); il correspond aux chaînes 00, 01, 10 et 11. Comme vous pouvez le voir, les 0 et les 1 ne doivent pas se produire en quantités égales et ne doivent pas se produire dans un ordre spécifique. L'étoile de Kleene étend ceci aux cordes de n'importe quelle longueur; après tout, (0+1)* signifie simplement <empty>+(0+1)+(0+1)(0+1)+(0+1)(0+1)(0+1)+ ....

+0

Wow! C'est comme une expatation claire du sujet. Merci beaucoup, c'est étrange à quel point un sujet si simple peut me donner tant de mal. – Gipjoe

+0

Si cette réponse a résolu votre problème, s'il vous plaît envisager d'upvoting et/ou le marquer comme accepté. – tripleee