Langages réguliers et hors-contexte

Cours M1 INaLCO, 2009-2010

Interrogation écrite du 03/12/09 : Corrigé

L'énoncé
  1. On considère un alphabet à quatre lettres X = {a, b, d, s}, et les trois expressions régulières
    Construire les automates déterministes minimaux reconnaissant les trois langages
    décrits par E, F et G respectivement.


  2. Voici un superbe automate fini !

    AutNM
    Est-il déterministe ? Est-il minimal ?
    Le cas échéant, le rendre détermniste et le réduire.
    À partir de sa version réduite, donner une expression régulière pour le langage qu'il reconnaît.

    Il suffit de l'inspecter pour voir que l'automate est déterministe, chaque état ayant au plus une transition pour chaque lettre
    (les transitions absentes étant réputées envoyer sur l'état-poubelle, non représenté), et sans aucune ε-transition.
    Mais il n'est pas minimal ! Les trois états 2, 3 et 5 sont équivalents, car chaque transition les envoie tous les 3 sur le même :
    Ils ont donc tous les trois le même avenir - et la réduction ne va pas plus loin.
    L'automate minimal est donc :

    AutMin
    et l'expression régulière associée la plus simple s'écrit ss(a|s)*n.

  3. Voici une redoutable expression régulière : xy(z|x)*y(y|z(z|x)*y)*x

    Construire méthodiquement un automate déterministe qui reconnaît le langage qu'elle décrit,
    puis le réduire si nécessaire.

    En fait, cette expression n'est pas redoutable du tout !
    En progressant de gauche à droite, tout s'arrange à merveille pour conserver le déterminisme...

    Redoutable
    et le résultat est clairement minimal !