reguliere expressies

Het forum voor overige vragen betreffende wiskunde uit het hoger onderwijs.
Plaats reactie
vwpolo02
Gevorderde
Gevorderde
Berichten: 114
Lid geworden op: 01 mei 2010, 19:12

reguliere expressies

Bericht door vwpolo02 » 14 jan 2012, 17:05

Wat is de taal die voortgebracht kan worden door a.(a+b)*

Dit is de taal:
L = a ( en dan hierna 0 of meer a's of 0 of meer b's)

dus a(aaaa...) of a(bbbbb...)

Mijn vraag:
Kan dit ook a(aaabbbb...) zijn? En a(babbabbab...)? Of is het '+' teken een exclusieve or?

Gebruikersavatar
meneer van Hoesel
Vergevorderde
Vergevorderde
Berichten: 395
Lid geworden op: 20 apr 2010, 14:43
Locatie: Zwolle

Re: reguliere expressies

Bericht door meneer van Hoesel » 14 jan 2012, 21:25

zonder te testen,

het moet een herhaling zijn van de tekens uit de groep, dus abbaabbabaabababababbabab voldoet

arie
Moderator
Moderator
Berichten: 3911
Lid geworden op: 09 mei 2008, 09:19

Re: reguliere expressies

Bericht door arie » 14 jan 2012, 22:06

Dit moet je in je boek terug kunnen vinden: notaties kunnen afhankelijk van de auteur wat verschillen.

Ik verwacht echter dat de + inderdaad staat voor xor:

Er zou in ieder geval verschil moeten bestaan tussen:
[1]
a.(ab)*
a gevolgd door nul of meer keer ab
vb: a, aab, aabab, aababab, ...
[2]
a.(a,b)*
a gevolgd door nul of meer keer (een a of een b)
vb: aaaabbabaababbbab..., en het voorbeeld van meneer van Hoesel
[3]
a.(a)*.(b)*
a gevolgd door nul of meer keer a gevolgd door nul of meer keer b
vb: aaaaaabbbbb, aaaaaa, abbbbbb aaabbbbbbbbbbbbb
[4]
a.(a+b)*
vb: L = a ( en dan hierna 0 of meer a's exclusief-of 0 of meer b's)
a, aaaaaaaaaaaaaaa, abbbbbbbbbb
maar dus niet: aaabbb
Noot: je kan dit beter beschrijven als:
L = (a en dan hierna 0 of meer a's) of (a en dan hierna 0 of meer b's)
omdat (a en dan nul a's) = (a en dan nul b's), in dit geval doet de xor vreemd aan.

Kan je dergelijke voorbeelden in je boek terugvinden?

vwpolo02
Gevorderde
Gevorderde
Berichten: 114
Lid geworden op: 01 mei 2010, 19:12

Re: reguliere expressies

Bericht door vwpolo02 » 15 jan 2012, 11:50

Heb het gevonden bij de oefeningen:

(a+b)* is een string waar 0, 1 of meer a's of b's in voorkomen in willekeurige volgorde, dus ook abbababbabababababa...

Gebruikersavatar
meneer van Hoesel
Vergevorderde
Vergevorderde
Berichten: 395
Lid geworden op: 20 apr 2010, 14:43
Locatie: Zwolle

Re: reguliere expressies

Bericht door meneer van Hoesel » 15 jan 2012, 19:45

vwpolo02 schreef:Wat is de taal die voortgebracht kan worden door a.(a+b)*

Dit is de taal:
L = a ( en dan hierna 0 of meer a's of 0 of meer b's)

dus a(aaaa...) of a(bbbbb...)

Mijn vraag:
Kan dit ook a(aaabbbb...) zijn? En a(babbabbab...)? Of is het '+' teken een exclusieve or?
het plus-teken betekent één of meerdere herhalingen

Zuiver RegEx betekent a.(a+b)*

een 'a'
gevolgd door 'een letter'
gevolgd door nul of meer herhalingen van
    één of meer 'a'
    één 'b'


dus:
nul herhalingen:
ad

één herhaling met één a:
agab

één herhaling met meerdere a's:
araaaaaaaaaaaab

meerdere herhalingen:
afabaaaaaababaaaaaaaaaaaababababaaaaab

Plaats reactie