For faster navigation, this Iframe is preloading the Wikiwand page for Reguliere taal.

Reguliere taal

Uit Wikipedia, de vrije encyclopedie

De reguliere talen vormen een klasse van formele talen. Reguliere talen hebben een relatief eenvoudige structuur, waardoor ze zeer geschikt zijn om door computerprogramma's verwerkt te worden. Daarom hebben ze vele toepassingen in de informatica, onder andere in tekstbewerkingsprogramma's (reguliere expressies), in de compilerbouw (in het bijzonder bij de lexicale analyse) en bij modelverificatie.

Definitie

Een alfabet is een verzameling van letters. De verzameling van reguliere talen over het alfabet is recursief gedefinieerd:

  • De lege taal is een reguliere taal.
  • De taal die slechts uit de lege string bestaat, , is een reguliere taal.
  • Voor alle is de singletontaal een reguliere taal.
  • Als en reguliere talen zijn, dan zijn ook (vereniging), (concatenatie) en (Kleene-ster) reguliere talen.
  • Geen andere talen over zijn regulier.

Alternatief kan een reguliere taal ook gedefinieerd worden als een formele taal die een van de volgende equivalente eigenschappen vervult:

Alle eindige talen zijn regulier. Andere voorbeelden zijn de taal die bestaat uit alle strings over het alfabet met een even aantal 's, of de taal van de vorm: een aantal 's gevolgd door een aantal 's.

Afsluiteigenschappen

De reguliere talen zijn gesloten onder de volgende bewerkingen, dit betekent: als en reguliere talen zijn, dan zijn de volgende talen ook regulier:

  • de booleaanse operaties: de vereniging , doorsnede , en het complement van , en daardoor ook het verschil ,
  • de reguliere operaties: concatenatie en Kleene-ster van en ,
  • het beeld van onder een homomorfisme,
  • het omgekeerde (of spiegelbeeld) van ,
  • , de verzameling van strings die bestaan uit de eerste helft van de strings in .

Beslisbare eigenschappen

Een van de redenen dat reguliere talen vaak gebruikt worden, is dat veel beslissingsproblemen met betrekking tot reguliere talen beslisbaar zijn. Ten eerste is het beslisbaar of een willekeurig woord tot de taal behoort.

Of een reguliere taal leeg is () kan bepaald worden door vast te stellen of er in de DFA van de taal minstens een pad van een begin- naar een eindtoestand is; als dat niet het geval is, is de taal leeg. Dit kan met een padzoekalgoritme worden bepaald. Aangezien de reguliere talen afgesloten zijn onder booleanse operaties (zie boven), volgt hier ook uit dat de volgende beslissingsproblemen beslisbaar zijn:

  • Deelverzameling: gegeven reguliere talen en , beslis of (dit geldt als leeg is)
  • Equivalentie: gegeven reguliere talen en , beslis of (dit geldt als en )
  • Universaliteit: gegeven een reguliere taal , beslis of (dit geldt als het complement van leeg is)

Beslissen of een taal regulier is

In de Chomskyhiërarchie kan men zien dat elke reguliere taal contextvrij is. Het omgekeerde is echter niet het geval: bijvoorbeeld de taal die bestaat uit alle strings met hetzelfde aantal 's en 's is contextvrij, maar niet regulier. Om te bewijzen dat een taal niet regulier is gebruikt men de stelling van Myhill-Nerode of de pompstelling.

Referenties

{{bottomLinkPreText}} {{bottomLinkText}}
Reguliere taal
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Wikiwand 2.0 is here 🎉! We've made some exciting updates - No worries, you can always revert later on