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

Algorithmes et structures de données Discussion :

Comment fonctionne cette machine?


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut Comment fonctionne cette machine?
    Bonsoir à tous,
    j'ai besoin de votre aide concernant une fonction de transition de la machine de turing qui est supposée faire le calcul suivant:
    faire l'addition de deux entiers puis convertir le résultat en décimal!

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    # Add two numbers, according the the Boolos, et al., conventions.  
     
    # Erase a one and move to the right (state 0).  If the first square is
    # blank, move to the right and halt (state 1).  Else, keep moving to
    # the right until you find a blank (state 2).  Write 1 there (state
    # 2), move to the left until you find a blank (state 3).  When you do,
    # move back right (state 3) and erase a 1 and move right again (state
    # 4).  Halt.
     
    # St R W M New
    (0,1, ,1,r)    # In state 0, if I see a 1, 
    	   # write a blank and move right and goto state 1.
    	   # State 0: start state -- erase a one
     
    (1, , ,99,r)   # The first number was 0, so I'm okay.
    (1,1,1,2,r)    
               # State 1: 
    (2, ,1,3,l)    # Put a 1 in the first blank.
    (2,1,1,2,r)  
    (3, , ,4,r)    # Look for first blank 
    (3,1,1,3,l)  
    (4,1, ,99,r)   # Erase first 1 and halt
     
    (4, , ,1000,r)  # Former halt state.
    (3,1,1,1000,r)  # Former halt state.
    (2,1,1,1000,r)  # Former halt state.
    (99, , ,1000,r)  # Former halt state.
    (99,1,1,1000,r)  # Former halt state.
    (0, , ,1000,r)  # Former halt state.
    # Change 1111 to 4.
     
    (100, ,0,200,r)  
    (100,1,1,140,r)  
    (101, ,*,104,l)  
    (102, ,1,103,r)  
    (103, , ,103,r)  
    (103,1, ,106,l)  
    (103,*, ,107,l)  
    (104, ,1,105,r)  
    (104,0,1,105,r)  
    (104,1,2,105,r)  
    (104,2,3,105,r)  
    (104,3,4,105,r)  
    (104,4,5,105,r)  
    (104,5,6,105,r)  
    (104,6,7,105,r)  
    (104,7,8,105,r)  
    (104,8,9,105,r)  
    (104,9,0,104,l)  
    (105,*,*,103,r)  
    (105,0,0,105,r)  
    (105,1,1,105,r)  
    (105,2,2,105,r)  
    (105,3,3,105,r)  
    (105,4,4,105,r)  
    (105,5,5,105,r)  
    (105,6,6,105,r)   
    (105,7,7,105,r)  
    (105,8,8,105,r)  
    (105,9,9,105,r)  
    (106, , ,106,l)  
    (106,*,*,104,l)  
    (107, , ,107,l)  
    (107,*, ,107,l)  
    (140,1,1,140,r)   #Put an end of string marker
    (140, ,*,141,l)  
    (141,1,1,141,l)   #Goto lefthand 1
    (141, , ,142,r)  
    (142,1, ,101,l)  
     
     
    (1000, , ,100,l)  #Goto start state, machine u2d
    (1000,1,1,100,l)  #Goto start state, machine u2d

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Et ta question ?

  3. #3
    Membre éclairé
    Étudiant
    Inscrit en
    Août 2007
    Messages
    419
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 419
    Par défaut
    Citation Envoyé par PRomu@ld Voir le message
    Et ta question ?
    La question était: comment fonctionne cette machine en dessus?

    et y a t-il une autre idée pour faire la somme sur une seule bande? j'ai su le faire avec 3 bandes, l'une contient le premier nombre et la seconde contient le second, et la troisième contiendra le résultat de la somme, je l'ai faite avec deux états sans et avec retenue.

Discussions similaires

  1. [interp2] Comment fonctionne cette fonction ?
    Par rom3478 dans le forum MATLAB
    Réponses: 3
    Dernier message: 03/11/2010, 21h39
  2. comment fonctionner mon prg delphi sur une autre machine
    Par halimelio dans le forum Débuter
    Réponses: 1
    Dernier message: 15/05/2010, 20h04
  3. Comment fonctionne le ClassExplorer ?
    Par borisd dans le forum C++Builder
    Réponses: 7
    Dernier message: 30/09/2004, 17h44
  4. [VB6] comment voir les machines d'un réseau local
    Par bouboussjunior dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 16/07/2004, 15h00
  5. Comment fonctionne le CVS ?
    Par mathieu dans le forum CVS
    Réponses: 6
    Dernier message: 23/03/2004, 11h26

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