Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1475 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  [Résolu]Langages formels->Résiduels d'expressions rationelles

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu]Langages formels->Résiduels d'expressions rationelles

n°1271970
milootoolo​o
Posté le 22-12-2005 à 17:25:48  profilanswer
 

Bonjour,
Je ne sais pas si c'est ici que mon sujet devrais se trouver, mais bon..
 
En fait j'ai une question qui peut paraitre idiote, mais je ne trouve pas ne serais-ce que le début d'une réponse sur le net, alors peut etre n'ai-je pas bin cherché, mais cette question sans réponse me bloque dans mes révisions..
 
Je ne comprends pas ce que représente le résiduel gauche d'une expression rationelle (sensée représenter un langage). Pour illustrer, je vais donner un exemple ou deux et vous dire précisément là ou mon cerveau bloque:
 
L=A*aA
a^(-1)L=a^(-1)(A*aA)  // Jusqu'ici, tout va bien :)
           =A*aAUA          // La je ne comprends pas
 
 
 
D'ou vient cet U (union) A?
Je comprend les notation "A" comme nimporte quel mot construit avec l'alphabet A sauf le mot vide epsilon,
"A*" pareil mais avec le mot vide, "a" comme la lettre "a" ...
Mais comment interpréter ce a^(-1)? Sinon, je comprend bien qu'on risque de me dire qu'il faut que je trouve un cours, mais je n'en trouve pas qui traite tout ca.
 
Autre exemple:
 
L=a*ba*Ub*aba
a^(-1)L=a*ba*U0Uba // Ici non plus je ne comprend pas la transition...
 
 
Merci de votre aide.


Message édité par milootooloo le 23-12-2005 à 12:51:49
mood
Publicité
Posté le 22-12-2005 à 17:25:48  profilanswer
 

n°1272002
rufo
Pas me confondre avec Lycos!
Posté le 22-12-2005 à 18:00:36  profilanswer
 

essaye de voir du côté des machines de turing... peut-être que tu trouveras qq chose qui te mettra sur la voie...

n°1272050
milootoolo​o
Posté le 22-12-2005 à 19:43:26  profilanswer
 

rufo a écrit :

essaye de voir du côté des machines de turing... peut-être que tu trouveras qq chose qui te mettra sur la voie...


 
Ben a la base, c'est pour les automates finis.. Mais je veux bien aller faire un tour de ce coté.. Ca fera as de mal..
Merci qd meme.

n°1272095
pinpoy
Posté le 22-12-2005 à 22:09:40  profilanswer
 

je fais du langage formel cette année en cours d'ailleurs la je revise pr les partiels
 
jaurais bien voulu taider mais on a  jamais vu de ^-1
 
et la transition que tu montres je la comprends pas non plus
 
bon courage quand meme parce que bon pour trouver des infos sur ca c'est pas la joie

n°1272450
milootoolo​o
Posté le 23-12-2005 à 12:51:11  profilanswer
 

On m'a trouvé une solution, je la poste ici au cas ou ca serais utile à quelqu'un..
 

Citation :

Alors pour L=A*aA:
 
ba en fait pour calculer le residuel gauche t'enleve le premier a que tu rencontre sur la gauche. Ici ya deux solutions: si le A* est pas vide(parceke tu peut avoir nimporte quoi dans A* meme le mot vide) dans ce cas t'enleve le premier a que tu rencontre et ca change rien le langage s'ecrira tjs A*aA. genre si le mot c'est abaabbbabaa ca fera baabbbabaa et c'est toujours dans le langage.
Mais si le A* est vide,alors le langage s'ecrit aA et la t'enleve le premier a rencontré et ca fait A.
Donc le residuel gauche c'est l'union des 2 solutions onc A*aA U A.
 
et le truc du a^(-1) c'est juste une notation pour calculer les residuels gauches, ca veut juste dire que t'enleve le premir a sur la gauche.
 
Voila j'espere que c'est clair...

n°1272505
Profil sup​primé
Posté le 23-12-2005 à 14:17:45  answer
 

Note qu'on parle de résiduel par rapport à un mot, et là en l'occurrence c'était le mot "a". Le résiduel d'un langage L par rapport à un mot "u" (de A*), qu'on note L/u, c'est simplement l'ensemble des mots "w" de A* tels qu'il existe un "v" de A* pour lequel : w = u.v.
 
Ensuite l'explication de la solution donnée est douteuse, notamment le passage :
 

Citation :


si le A* est pas vide(parceke tu peut avoir nimporte quoi dans A* meme le mot vide) dans ce cas t'enleve le premier a que tu rencontre


 
Il ne s'agit pas de prendre n'importe quel mot de A*aA de lui enlever le premier "a" sur la gauche mais de prendre tous les mots de A*aA qui commencent par "a" et de leur enlever "a".
 
Ensuite il suffit de remarquer que le langage des mots de A*aA qui commencent par "a" s'écrit : aA*aA U aA.
 
L'intérêt de la notation a^(-1) pour la concaténation c'est de pouvoir écrire : a^(-1).(aA*aA U aA) et d'utiliser la distributivité du produit de concaténation par rapport à l'union et le fait que a^(-1).a = epsilon, pour obtenir finalement : L/a = A*aA U A.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  [Résolu]Langages formels->Résiduels d'expressions rationelles

 

Sujets relatifs
couper une chaîne [résolu avec strtok]Sécurisation des envois de formulaire ? + expressions régulières
Besoin d'un avis pour mon site[resolu][Java] bdd HSQL : impossible de créer une connexion (RESOLU)
[Résolu]Test si un caractère tapé[Résolu] Exécution d'un batch pour ftp...
[Résolu] Expression régulière pour enlever les accents..[Java] synchro entre thread: wait() et notify() -> pb [RESOLU]
[RESOLU] Une erreur 998 lors d'un CreateProcess()[batch] [résolu] je n'arrive pas a faire une temporisation
Plus de sujets relatifs à : [Résolu]Langages formels->Résiduels d'expressions rationelles


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR