Bonjour
chui en vacance et je veux programmer un automate
qui peux me proposer un automte des etats infini ???
et avec quelle langage ???
Merci d avance :king:
Version imprimable
Bonjour
chui en vacance et je veux programmer un automate
qui peux me proposer un automte des etats infini ???
et avec quelle langage ???
Merci d avance :king:
Il faudra que tu détailles un peu plus ce que tu cherches, moi je verrai bien un AFD, c'est relativement simple à gérer.
Pour ce qui est du langage, tu n'es pas dans le bon forum, mais peu importe du moment que tu arrives à faire ce que tu veux avec.
salut,
Personnelement je n'ai jamais entendu parler d'automate d'etat Infini mais plutot des automates d'etat fini (AEF) ce qui servent à reconnaitre des "Mots" de langages réguliers...Est ce de ça que tu parles??
si oui tu peux par exemple l'implémenter sous forme d'une matrice oû les etats sont en ligne et en collone ,l'intersection de ces deux derniers donne le caractere qui permet de passer de l'etat ligne vers l'etat collone(ou l'inverse si tu veux).
De cette façon tu pouras facilement appliquer les algorithmes de réduction,détérmination...etc,Pour ce qui est du langage si tu débutes en programmation je te conseil le Pascal (Turbo pascal ou delphi)
En fait, un Automate n'est qu'un graphe, alors toute représentation d'un graphe sera correcte pour un automate : matrice d'adjacence (pour les petits automates ou pour les automates denses), liste d'adjacence, ...Citation:
si oui tu peux par exemple l'implémenter sous forme d'une matrice oû les etats sont en ligne et en collone ,l'intersection de ces deux derniers donne le caractere qui permet de passer de l'etat ligne vers l'etat collone(ou l'inverse si tu veux).
avec un automate d etat infini( automate a pile )tu peux géneré des langage regulier ou non regulier (les langage algébrique)Citation:
Envoyé par b_reda31
Dans ce cas, il faudra peut-être te tourner vers les grammaires.Citation:
avec un automate d etat infini( automate a pile )tu peux géneré des langage regulier ou non regulier (les langage algébrique)
Je n'arrive pas à comprendre ta question.Citation:
moi je veux que vous me proposer un langage(c n'est pas un langage de programmation )
je veux dire un langage algébrique
par exemple L=A^iB^i , i>0
Oui, je sais ce qu'est un langage algébrique, là n'est pas la question ;)
Si c'est ce genre de langage que tu veux analyser, il faut passer par les grammaires.
Pour le langage que tu proposes, la grammaire suivante marchera :
Citation:
S -> A S B
S -> Epsilon
mici pour la reponse
pour le langage que j'ai proposé sont automate d'état infni (automate a pile )
S et S1 sont mes etatsCode:
1
2
3
4 #SA->#AS ASA-AAS ASB->S1 AS1B->S1
ça c'est l automate a pile vide
moi je veux d autre propostion:king:
SI tu dis que S1 et S sont t'es etat alors ces des non -terminaux alors dans ce cas Y'a le "a" et non "A"et "b" non "B"
Automate d'etat infini=automate à pile??
autant pour moi je ne le savais pas
je n'ai pas trés bien saisi ce bout de code...Citation:
Code:
1
2
3
4
5 #SA->#AS ASA-AAS ASB->S1 AS1B->S1
ce n'est pas vraiment cette notation que j'utilise.Le principe pour le langage que tu as donné est le suivant:
1-)à chaque lecture d'un A(avec A ou $(epsilon)en sommet de pile)==>empiler A sans changé d'etat(E0:etat initial).(BOUCLE)
2-)à chaque lecture d'un B avec A en sommet de pile ET à partir de l'etat E0 ==>Dépiler le A et passer à l'etat E1
3-)à chaque lecture d'un B(avec A en sommet de pile)==>depiler A sans changé d'etat(E1).(BOUCLE)
4-)Lecture de $ à partir de l'etat E1 passe à l'état finale Ef
maintenant pour la notation ça depend des bouquins
mon alphabet c'est {A,B} et je ne suis pas obliger de prendre a,bCode:[@min@] SI tu dis que S1 et S sont t'es etat alors ces des non -terminaux alors dans ce cas Y'a le "a" et non "A"et "b" non "B"
oui c'est ça l idée de mon codeCode:
1
2
3
4
5
6
7 1-)à chaque lecture d'un A(avec A ou $(epsilon)en sommet de pile)==>empiler A sans changé d'etat(E0:etat initial).(BOUCLE) 2-)à chaque lecture d'un B avec A en sommet de pile ET à partir de l'etat E0 ==>Dépiler le A et passer à l'etat E1 3-)à chaque lecture d'un B(avec A en sommet de pile)==>depiler A sans changé d'etat(E1).(BOUCLE) 4-)Lecture de $ à partir de l'etat E1 passe à l'état finale Ef
mais ma question ::
proposer moi un langage algébrique pour le programmer
Tu veux dire un autre langage??
pourquoi il ne te plait pas celui que tu as choisis?
mon lanagage est simple tres simple juste empiler ensuite depiler
il ya juste 2 etape ds mon programme ""j'utilise une structure pile "
moi je veux un autre :king:
Un langage plus compliqué...Mmmm
y a A^iB^iC^i mais ce n'est pas un langage algebrique,mais un langage de type1 donc une seule pile ne suffira pas.
sinon en langage algébrique y a A^2iB^3i,tu poura commancé avec ça
pour langage A^2iB^3i
c'est le méme principe que mon langage A^iB^i sauf qu'on absorbe tous les B restanteCode:
1
2
3
4
5 #SA->#AS ASA-AAS ASB->S1 AS1B->S1 #s1B->s1
Essaie de faire un truc générique, en entrée tu prends un langage, et tu construis l'automate associé.Citation:
proposer moi un langage algébrique pour le programmer
est tu certain(e) de ta solution??
ici tu as plusieurs contraintes:
-Le nombre de A est pair
-Le nombre de B est multiple de 3
-Le nombre de B depend directement du nombre de A
avec la notation que j'utilise il y a beaucoup plus de lignes...
faut t'assurer que pour chaque lecture d'une pair de A tu doit avoir trois B
avec les automate a pile (etat infini en resoud comme ça)
mais tes remarque si pour un langage regulier =>pour proposer un automate de robin scott
mais le langage que tu ma proposer c'est un langage non regulier
peux tu me donner la signification des lignes de ton code?
j'allais te dire la même chose un truc du genre:Citation:
PRomu@ld
Essaie de faire un truc générique, en entrée tu prends un langage, et tu construis l'automate associé.
S->If C then S else S;/S;S/while C do S/begin S end...
C->C and C/C or C...
...
quoi que dans ce cas il est préférable d'utiliser un analyseur LL ou LR