Selection Videos automate%20%C3%A0%20pile
DF vs TRWF - 18 May 2008
FRENSWOOD ACADEMY CH.46 part 1(A Jonas Story)
Todd Morgan: Saturday May 17th Event
Lot S122 1969 Chevrolet Yenko Camaro 427 450 HP Auto

Attention nous ne sommes pas responsable du contenu, eBabylone collecte les infos de sites tiers

Revue de presse automate_%C3%A0_pile
shout shout

ébauche|mathématiques Un automate à pile est une machine abstraite utilisée en informatique théorique et, plus précisément, en théorie des automates. Un automate à pile est semblable à un automate fini non-déterministe mais il dispose également d'une pile qui peut être utilisée pour stocker des informations pertinentes. La puissance de calcul des automates à piles correspond aux langages non-contextuels soit ceux qui peuvent être décrits par une grammaire hors-contexte.

Utilisation

Les automates à pile utilisent une zone de mémoire organisée en pile, qui permet de sauver des informations.
Le choix d'une transition peut dépendre de la valeur au sommet de la pile (pop)
Une transition peut entraîner un ou plusieurs empilements (push).

Définitions formelles

Un automate à pile est un 7-uplet (E,\Sigma,\Phi,F,\omega,i,T)\underline{}, où
E\underline{} est l'ensemble d'états,
\Sigma\underline{} est l'alphabet d'entrée,
\Phi\underline{} est l'alphabet de pile,
F : E\times(\Sigma\cup \{ \epsilon \}) \times ( \Phi \cup \{ \epsilon \} ) \rightarrow P(E\times\Phi^
) est la relation de transition,
\omega\underline{} est le symbole de pile vide,
i\in E est l'état initial,
T \subset E est l'ensemble des états terminaux.

Exemples

Reconnaissance du langage \{a^kb^k | k \ge 0 \} On peut utiliser l'automate M = (\{q_0, q_1, q_2, q_3\}, \, \\}, \delta, \omega, q_0, \{q_0, q_3\} ), où les transitions sont définies par : \delta(q_0, a, \epsilon) = \{(q_1, \underline)\} \delta(q_1, a, \epsilon) = \{(q_1, A)\}\underline{} \delta(q_1, b, A) = \{(q_2, \epsilon)\}\underline{} \delta(q_1, b, \underline) = \{(q_3, \epsilon)\} \delta(q_2, b, A) = \{(q_2, \epsilon)\}\underline{} \delta(q_2, b, \underline) = \{(q_3, \epsilon)\} \delta(q, \theta, \rho) = \empty pour les autres valeurs de (q, \theta, \rho)\underline{} Par exemple, dans l'état q_1\underline{}, si on lit un b\underline{} et que l'on dépile un A\underline{}, on passe dans l'état q_2\underline{} sans rien empiler.

Implémentation d'un automate à pile

#include 
#include 

#define POP	-1
#define ACCEPT	-2
#define ERROR	-3

#define ALPHABET 3	/
Grandeur
/ /
Push-down automation) Symbol | ( | ) | \0 ---------+---------+--------+----------- State 0 | PUSH 1 | ERROR | ACCEPT State 1 | PUSH 1 | POP | ERROR
/ int states[2][ALPHABET
2] = { { '(', 1 /
PUSH 1
/, ')', ERROR, '\0', ACCEPT }, { '(', 1 /
PUSH 1
/, ')', POP, '\0', ERROR } }; int main( int argc, char
    argv ) { int stack[100] = { 0 }; int i = 0; int action = 0; int
tos = stack; char s [80+1]; char
p = s; /
Chaine de donnée
/ printf("Entrez l'expression: "); gets( &s ); /
Pile poussée
/
(tos++) = 0; /
Sortie
/ do { /
Boucle
/ action = ERROR; for( i = 0; i < ALPHABET; i++ ) { if( states[
(tos-1)][i
2] ==
p ) { action = states[
(tos-1)][i
2+1]; break; } } /
Actions
/ if( action == ERROR ) { printf("Erreur innatendue à la position %d", p-s); break; } else if( action == ACCEPT ) printf("Sortie acceptée!"); else if( action == POP ) tos--; else
(tos++) = action; /
Données supplémentaires...
/ p++; } while( action != ACCEPT ); getchar(); return 0; }
Image:Automateapile.png

Voir aussi


Hiérarchie de Chomsky Multi bandeau|Portail mathématiques|portail informatique Catégorie:Langage formel Catégorie:Calculabilité ar:????????? ??? ??????? ?? ?????? bs:Potisni automat cs:Zásobníkový automat de:Kellerautomat en:Pushdown automaton es:Autómata con pila fi:Pinoautomaatti he:?????? ?????? hr:Potisni automat it:Automa a pila ja:?????????????? mk:Pushdown ??????? pl:Automat ze stosem ru:??????? ? ?????????? ??????? sk:Zásobníkový automat zh:?????automate_à_pileAutomate à pile811945
 

shout
Réagissez


Attention! tous les commentaites inaproprié seront supprimés
Titre:
Video YouTube ou google: (doit être en rapport avec le sujet)
Votre mail:
Un pseudo:
Votre site:
Commentaire (le html n'est pas autorisé, nombre de caractère maximum = 400)
  save (Comment eBabylone 1.0 beta)

Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/ automate à pile
Base de liens  |  Ajouter lien  |  Contact Rss
On est 32 visiteur(s) en ligne