Regularitet & Automater - #5


Forelæsning (10. maj)

Lukketheds- og afgørlighedsegenskaber ved regulære sprog [Martin, kap. 2.4]

Kontekstfri grammatikker [Martin, kap. 4.1-4.2 (Theorem 4.9 dog først næste uge)]

Øvelser

[Martin]:

Java:

Ugens finurlige opgave:

Betragt igen delopgave 2 i den finurlige opgave fra 2. uge. Bevis at mængden af strenge, der repræsenterer korrekte multiplikationer, ikke er et regulært sprog.

Forslag til læsegruppe

Argumentér for at klassen af regulære sprog er lukket under følgende operationer: union, intersection, complement, concatenation, *. Involverer dine argumenter regulære udtryk eller automater? Prøv i hvert tilfælde at finde et alternativt argument, der bruger den anden formalisme.

Repetér beviset for pumping-lemmaet. Argumentér med udgangspunkt i tegningen af en "lang" streng, der køres på en FA (slide 11).

Beskriv algoritmer der løser basale beslutningsproblemer for regulære sprog: membership, emptiness, finiteness, subset, equality.

Repetér definitionen af CFG'er (Def. 4.6) og deres sprog (Def. 4.7).

Afleveringsopgave

Martin 2.22 (b) (s.81).

Husk at forklare grundigt hvordan du bruger pumping-lemmaet.


Sidst opdateret: 19. marts 2017, amoeller@cs.au.dk