1.4.Formalisation de la notion d’ordinateur



Plan du chapitre:

1. La Machine de Turing théorique
 

    1.1 Définition : machine de Turing
    1.2 Définition : Etats de la machine
    1.3 Définition : Les règles de la machine


2. La Machine de Turing physique
 

2.1 Constitution interne
    2.2 Fonctionnement
    2.3 Exemple : machine de Turing arithmétique
    2.4 Machine de Turing informatique

MachTuring.dif\PMachTuring.exe
 

1. La Machine de Turing théorique

Entre 1930 et 1936 le mathématicien anglais A.Turing invente sur le papier une machine fictive qui ne pouvait effectuer que 4 opérations élémentaires que nous allons décrire. Un des buts de Turing était de faire résoudre par cette " machine " des problèmes mathématiques, et d’étudier la classe des problèmes que cette machine pourrait résoudre.

Définitions et notations (modèle déterministe)
Soit A un ensemble fini appelé alphabet défini ainsi :

A = { a1 ,..., an } ( A ¹  Æ)
Soit W ={D,G} une paire
 

1.1 Définition : machine de Turing
    Nous appellerons machine de Turing toute application T :

    T : E ® N x ( W  È A)  
    où E est un ensemble fini non vide, E Ì N x A

       
    1.2 Définition : Etats de la machine

    Nous appellerons Et ensemble des états intérieurs de la machine T:
    Et = { qi Î N , ($ ai  Î A / (qi ,ai) Î Dom(T))
    ou ($ x Î W / (qi ,x) Î Im(T)) }

       


       

    Dom(T) : domaine de définition de T.
    Im(T) : image de T (les éléments T(a) de N x ( W È A),
    pour a Î E)
     

    Comme E est un ensemble fini, Et est nécessairement un ensemble fini, donc il y a un nombre fini d’états intérieurs notés qi.
     

    1.3 Définition : Les règles de la machine
     

Nous appellerons " ensemble des règles " de la machine T, le graphe G de l’application T. Une règle de T est un élément du graphe G de T.

On rappelle que
G = {(a,b) Î E x [Et x ( W  È A)] / b = T(a) }

 

 

2.2 Fonctionnement
 

  • Départ :
      • On remplit les cases du ruban d’éléments ai de A.
      • On met la valeur " qk " dans le registre d’état.
      • On positionne la tête sur une case contenant " ai ".

    a.1)L’UC fait effacer le ai dans la case et le remplace par l’élément ap.          
    a.2) L’UC écrit qn dans le registre d’état en remplacement de la valeur qk.
     


    b.1) L’UC fait déplacer la tête vers la droite d’une case.
    b.2) L’UC écrit qn dans le registre d’état en remplacement de la valeur qk.
     
    c.1) L’UC  fait déplacer la tête vers la gauche d'une case.
    c.2) L’UC écrit qn dans le registre d’état en remplacement de la valeur qk.


    Puis la machine continue à fonctionner en recommençant le cycle des actions depuis le début : lecture du nouvel élément ak etc...

     

    2.3 Exemple : machine de Turing arithmétique

    Nous donnons ci-dessous une machine T1 additionneuse en arithmétique unaire.
                   A={#,1}

    W ={D,G} un entier n est représenté par n+1 symboles " 1 " consécutifs (de façon à pouvoir représenter " 0 " par un unique " 1 ").

    Etat initial du ruban avant actions

              2          3

    2 est représenté par 111
    3 est représenté par 1111

    Règles T1: (application des règles suivantes pour simulation de 2+3)
     
    q1 1 q2D q6 1 q7D q11 1 q12#
    q2 1 q3D q7 1 q8D q12 # q13G
    q3 1 q4D q8 1 q9D q13 1 q14#
    q4 # q51 q9 1 q10D
    q5 1 q6D q10 # q11G

    En démarrant la machine sur la configuration précédente on obtient :

    Etat final du ruban après actions

                5

    Cette machine ne fonctionne que pour additionner 2 et 3 ; il est facile d’en fournir une autre version plus générale T2 fondée sur la même stratégie et le même état initial. Il suffit de construire des nouvelles règles.

    Règles de T2:
     
    q1 1 q1D q3 1 q3#
    q1 # q21 q3 # q4G
    q2 1 q2D q4 1 q5#
    q2 # q3G

    Cette machine de Turing laisse le ruban dans le même état final, mais elle est construite avec moins d’états intérieurs que la précédente.

    En fait elle fonctionne aussi si la tête de lecture-écriture est positionnée sur n’importe lequel des éléments du premier nombre n.


    Etat initial sur le nombre de gauche
     


    Etat final à la fin du nombre calculé (il y a n+p+1 symboles " 1 ")
     

    Nous dirons que T2 est plus " puissante " que T1 au sens suivant :
     

    On pourrait toujours en ce sens chercher une machine T3 qui posséderait la qualité b) de T2 , mais qui pourrait démarrer sur n’importe lequel des " 1 " de l’un ou l’autre des deux nombres.

    Nous voyons que ces machines sont capables d’effectuer des opérations, elles permettent de définir la classe des fonctions calculables (par machines de Turing).
     

    Un ordinateur est fondé sur les principes de calcul d’une machine de Turing. J. Von Neumann a défini la structure générale d’un ordinateur à partir des travaux de A.Turing. Les éléments physiques supplémentaires que possède un ordinateur moderne n’augmentent pas sa puissance théorique. Les fonctions calculables sont les seules que l’on puisse implanter sur un ordinateur. Les périphériques et autres dispositifs auxiliaires extérieurs ou intérieurs n’ont pour effet que d’améliorer la " puissance " en terme de vitesse et de capacité. Comme une petite voiture de série et un bolide de formule 1 partagent les mêmes concepts de motorisation, de la même manière les différents ordinateurs du marché partagent les mêmes fondements mathématiques.
     

    2.4 Machine de Turing informatique

    A) C’est une machine de Turing dite normalisée :

     
    B)Algorithme d’une machine de Turing
    C’est l’ensemble des règles précises qui définissent un procédé de calcul destiné à obtenir en sortie un " résultat " déterminé à partir de certaines " données " initiales.

    C) Algorithme graphique d’une machine de Turing
    Nous utilisons cinq classes de symboles graphiques
     

     

    Positionne la tête de lecture sur le symbole voulu, met la machine à l’état initial q0 et fait démarrer la machine.
    Signifie que la machine termine correctement son calcul en s’arrêtant à l’état final qf .

     

     

    Aucune règle de la machine ne permetttant la poursuite du fonctionnement, arrêt de la machine sur un blocage.
    Déplacer la tête d’une case vers la gauche (la tête de lecture se positionne sur la case d’avant la case actuelle contenant le symbole ap).
    Correspond à la règle :
    qi ap qj G

     
    Correspond à l’action à exécuter dans la deuxième partie de la règle :

    qi ap qj ak

    (la machine écrit ak dans la case actuelle et passe à l’état qj ).


     
    Correspond à l’action à exécuter dans la première partie de la règle :

    qj ak ...

    ou qi # ...

    (la machine teste le contenu de la case actuelle et passe à l’état qj ou à l’état qi selon la valeur du contenu).


     
     

    D) Organigramme d’une machine de Turing

    On appelle organigramme d’une machine de Turing T, toute représentation graphique constituée de combinaisons des symboles des cinq classes précédentes.

    Les règles de la forme qn ak qn G ou qnakqnD se traduisent par des schémas " bouclés " ce qui donne des organigrammes non linéaires.
     
     

    diagramme pour :q0a q0G

    diagramme pour :q0a q0D

      Exemple : organigramme de la machine T2 normalisée(additionneuse n+p)
      Règles de T2 normalisée :
    q0 1 q0D q2 1 q2#
    q0 # q11 q2 # q3G
    q1 1 q1D q3 1 qf#
    q1 # q2G
     
    Organigramme de la machine T2 Nous voyons que ce symbolisme graphique est un outil de description du mode de traitement de l’information au niveau machine. C’est d’ailleurs historiquement d’une façon semblable que les premiers programmeurs décrivaient leur programmes.