IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Automate finis python


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 5
    Par défaut Automate finis python
    Voila j'ai un gros problème. Je suis un étudiant et j'ai un projet de python sur les automates finis. Malheureusement ce projet concerne un module de math et les automates finis ne sont vu quand 3eme année dans mon cursur malgré les explications donnés je ne vois vraiment pas comment programmer le sujet qui suis:

    "La têche est la mise en oeuvre des automates finis sous forme d'une classe qui prend en argument du constructeur la description de l'automate, l'tat initial et les états finals. La classe doit posséder une méthode qui permet de décider si une suite d'instructions appartient au langage ed l'automate" On peut simplement idetnifer les etat pr aun numero.

    l'expemple de transition qui nous est donné est le suivant:
    t={(1,a,2),(2,b,2),(2,a,3)}

    Je n'ai vraiment aucune idée de par quoi commencer et comment faire cela je comprend le principe de l'automate mais je vois pas comment faire ce qui m'est demandé.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    A ce que j'en ai compris, on te demande une classe permettant de simuler un automate.
    Son constructeur doit prendre en paramètre la description de l'automate, donc sous une certaine forme (des listes sûrement) l'ensemble des états et l'ensemble des transitions, ainsi que l'état initial et des états finaux (liste aussi ?)
    En particulier, cette classe devra permettre de savoir si l'automate reconnaît un certain mot.

    Si tu nous dis précisément sur quoi tu coinces, on pourra t'aider plus facilement

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 5
    Par défaut
    Mon probleme pour l'instant est que je ne vois pas tres bien comment creer la methode qui m'est demandée. Disons que j'ai un probleme prouver que le mot que j'entre fonctionne pour l'automate. Je pense et je me trompe peut être qu'il faut d'abord que je teste si chaque lettre du mot est presente dans l'alphabet de l'automate mais j'ai un problème a ce niveau lot car le mot est un String et j'ai toujours des erreurs a vouloir le parcourir. J'ai le code suivant si ca peut vous aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    class automate:
     
       	 #description automate
    	t=['1a2','2b2','2a3']
    	etat_init=1
    	etat_final=3                           
     
    	#Verification etat	
    def etat(etat_initial,etat_final):
     
    	affirmation=True
    	t=['1a2','2b2','2a3']
    	e=t[0]
    	if (e[0]<>etat_initial):
    		affirmation=False
    	n=len(t)-1
    	e2=t[n]
    	if (e2[2]<>etat_final):
    		affirmation=False
    	return affirmation
     
    	#Verification appartenance a l'alphabet
     
    def test(mot,alphabet):
    	taillemot=len(mot)
    	tailleal=len(alphabet)
    	affirmation=False
    	i=0
    	for i in taillemot:
    		z=0
    		for z in tailleal:
    			if mot[i]==alphabet[z] :
    				affirmation=True
     
    		if affirmation==False:
    			i=taillemot
    	return affirmation

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    As-tu bien compris le fonctionnement orienté objet de Python ? Je te conseille de revoir ce que tu connais sur les classes, on ne programme jamais comme ça
    Ensuite, je ne sais pas si la façon dont tu décris les transitions est très pratique. A ta place j'utiliserais une liste de triplets (départ, lettre, arrivée)
    Pour tester si un élément est dans une liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if element in liste:
        #...
    Ensuite, pour vérifier si un mot est reconnu par l'automate, je pense que la seule façon de faire est de suivre le chemin qu'il ferait (attention tout de même aux automates non complets ou non déterministes...) en recherchant dans la liste des transitions.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 5
    Par défaut
    Merci pour ces explications je testerai tout ça demain.

Discussions similaires

  1. union et intersection de deux automates finis
    Par samar1 dans le forum VB.NET
    Réponses: 1
    Dernier message: 16/04/2009, 22h48
  2. Transformer un automate fini non déterministe en automate fini déterministe
    Par souheyeb dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 06/04/2008, 02h56
  3. [Etat-Transition] diagramme etat transition = automate fini deterministe ou non deterministe ou les 2 ?
    Par fasfousba dans le forum Autres Diagrammes
    Réponses: 3
    Dernier message: 02/01/2008, 09h12
  4. Compilation d'un problème csp en automates finis
    Par latanure dans le forum Prolog
    Réponses: 0
    Dernier message: 20/07/2007, 18h27
  5. automate fini non déterministe
    Par lastrecrue dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 14/11/2006, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo