Histoire des Sciences
Informatique – Machines à calculer en théorie et en pratique
Notes de Cours
1 Introduction
Étymologie
En Allemagne (1957) le terme « Informatik » est créé par l’ingénieur Karl Steinbuch
En France (1962) le néologisme « Informatique » est proposé par Philippe Dreyfus (ancien dir. du centre de calcul Bull), comme contraction de "information" et "automatique"
Aux Etats-Unis (1962) la sociétéInformatics Inc. enregistre son nom en tant que marque et poursuit toutes les universités qui utilisent ce mot pour décrire la nouvelle discipline.
=>Computer Science
Notre Objet d’Étude : Histoire de l’Informatique
"Informatique" vs "Computer Science"
Est-il possible de faire de l’informatique sans ordinateurs ?
Y a-t-il une histoire de l’informatique avant les ordinateurs ?
Oui : la période présentée ici courera de 1820 à 1950 ; bien avant les ordinateurs actuels.
Informatique
Académie Française (1966)
En 1966, l’académie française consacre l’usage du termeInformatiqueen tant que sciencedutraitement automatiquede l’information
Note Importante
Cet exposé ne traitera pas de l’histoire de l’Information mais plutôt de l’histoires des machines (réelles et théoriques) permettant ce traitement automatique de l’information
Plan de l’Exposé
Table des matières
1 Introduction 1
2 La Préhistoire de l’Informatique 2
3 Machines en Pratique 6
4 Machines en Théorie 10
5 Machines Universelles 12
6 Et Les Vrais Ordinateurs Alors ? 16
7 Conclusion 18
2 La Préhistoire de l’Informatique
Commençons par la Conclusion
Il y aura toujours des questions sans réponses ! Vignette extraite deLogicomix
La Science ou La Recherche de LA Vérité La Puissance du Raisonnement et du Calcul
L’apport des mathématiques est très important pour les autres sciences.
– calculs astronomiques dès l’Antiquité – équations de Newton
– probabilités – ...
Est-il possible de mathématiser les mathématiques ? Création de laLogique: un calcul pour faire des preuves
–
– George Boole et Gottlob Frege
Vers l’Axiomatisation des Mathématiques Axiomatisation
L’axiomatisationdes mathématiques est la tentative demécaniserles mathématiques : – évidencesinitiales simples (axiomes)
– méthodes d’inférence logiquetrès simples
Par composition, il s’agit d’atteindre toute vérité mathématique.
Certains Paradoxes Subsistaient
Déf. Un paradoxe logique est un raisonnement apparemment très correct mais dont le résultat semble faux intuitivement.
Exemple : un paradoxe de Zénon (-480 – -420)
Zénon se tient à huit mètres d’un arbre, tenant une pierre. Il lance sa pierre dans la di- rection de l’arbre. Avant que le caillou puisse atteindre l’arbre, il doit traverser la première moitié des huit mètres. Il faut un certain temps, non nul, à cette pierre pour se déplacer sur cette distance. Ensuite, il lui reste encore quatre mètres à parcourir, dont elle accomplit
mètre de plus, progresse après d’un demi-mètre et encore d’un quart, et ainsi de suite ad in- finitum et à chaque fois avec un temps non nul. Zénon en conclut que la pierre ne pourra pas frapper l’arbre, puisqu’il faudrait pour cela que soit franchie effectivement une série infinie d’étapes, ce qui est impossible.
Mais ce n’est plus un paradoxe
– En terme moderne, on manipule l’infini et on dit que
1
2+ 14+18+...=1 – On écrit mêmesans ...
∑+k=∞1 1 2k =1
Russel : Le Paradoxe du Barbier
Bertrand Russell (1872 – 1970) philosophe, logicien, homme politique, ...
Lettre à Frege, le 16 juin 1902
Le Barbier « Dans le village, le barbier rase toutes les personnes qui ne se rasent pas elles- mêmes »
Mais qui rase le barbier ? ! ?
Si le barbier ne se rase pas lui-même alors c’est le barbier (ie lui-même) qui doit le raser.
Contradiction
Si le barbier se rase lui-même, alors ce n’est pas le barbier qui le rase.Re-Contradiction
Plus Mathématiquement
Cela renvoie à la notion d’ensemble : x ∈X:xest élément deX
C’est un objetsimpleetuniverselavec lequel (on espère) baser (solidement) les fondations des mathématiques.
Considérons maintenant R= {X|X∈/X}
l’ensemble des ensemblesqui ne se contiennentpaseux-mêmes Est-ce que R∈R ?...
Mathématiquement,R ∈ R ⇐⇒ R∈/ R. Tout-à-fait contradictoire. Est-ce que les mathé- matiques sont vraiment correctes ?
Autres Exemples de Paradoxe
Paradoxe du Crétois « Épiménide, penseur crétois, émit une affirmation immortelle :"Tous les Crétois sont des menteurs."»
– Comme il est Crétois, il ment, donc l’affirmation est fausse, et il n’est donc pas menteur !
– s’il dit la vérité, alors c’est contradictoire ! ? ! ?...
La langue naturelle est trop "souple" et permet d’écrire des phrases syntaxiquement cor- recte mais se révélant des énoncés faux, contradictoire ou sans aucun sens.
=>Logique mathématique comme langage rigoureux et opératoire.
Revenons au Paradoxe de Russell ConsidéronsR={X|X∈/ X}.
Le problème c’est que la définition deRutilise la propre définition deR:auto-référence.
L’auto-référence désigne un procédé par lequel un énoncé parle de lui-même.
Ex. :Cettephrase est vraie.
Le terme "cette" renvoie à la phrase elle-même où le terme est utilisé.
=>Supprimons l’auto-référence.
C’est ce qu’essaie de faire Russell et Whitehead dans leur livre principia Mathematica.
Cela permet d’obtenir une théorie (à base de type) qui semble correcte, mais qui est assez complexe à définir, à cause des précautions à prendre pour éviter l’auto-référence.
Un Coup d’Arrêt : le Théorème d’Incomplétude
Déf.Une théorie est complète si, pour tout énoncéφ, on peut déduire de ses axiomes – soit une preuve deφ
– soit une preuve de¬φ
C’était l’objectif : prouver rigoureusement toute vérité mathématique.
1. si on a une preuve deφ, alorsφest vrai
2. si on a une preuve de¬φ, alors la négation deφest vraie, doncphiest faux.
Théorème d’Incomplétude - Gödel (1931)
Soit un système logique assez riche, alors – soit sa théorie est contradictoire – soit sa théorie est incomplète
La vérité estdifférentede ce qui est prouvable
Assez riche signifie formellement : pouvant exprimer l’arithmétique (les calculs sur les entiers). Dans ces systèmes, il existe des énoncés qui sont vrais mais dont il n’existe pas de preuve. (ou bien l’arithmétique est contradictoire ; ce qui est encore pire)
Idée de la Preuve
Considérons le théorème appeléφG:
φG: Le théorèmeφGn’a pas de preuve.
Ce théorème est vrai ou faux. S’il est faux, il a une preuve.Contradiction. Ce théorème ne peut être que vrai, ou bien notre système est contradictoire.
NB. Ici on prouve que le théorème φG est vrai, pas qu’il a une preuve. Ce sont deux choses distinctes.
Mais n’avait-on pas interdit l’auto-référence ? ! ?
Certes mais Gödel va "ruser"...
Un Peu Plus en Détails
Numérotons les énoncés (de théorème). On utilise un encodage des énoncés en entiers naturels : appelé encodage de Gödel.
1. Th. 123 :Le nombre 23 est premier.
2. Th. 1234 :Le nombre 1234 est premier.
3. Th. 12345 :Le théorème 1234 n’est pas démontrable.
4. toujours pas d’autoréférence, ça va ...
5. Th. 54321 :Le théorème 54321 n’est pas démontrable
6. Si le système est assez riche,il n’est pas possible d’interdire l’autoréférence
Encodage de Gödel
3 Machines en Pratique
Début de l’Informatique
Toutela Vérité n’est pas atteignable, mais que peut-on atteindre ?
Théorème de Complétude, Gödel (1930)
Dans unsystème du premier ordre, tout ce qui est vrai possède une preuve.
Ici, "premier ordre" signifie que les énoncés peuvent parler d’éléments d’ensembles, mais pasd’ensembles, d’ensembles d’ensembles, d’ensembles d’ensembles d’ensembles d’...
Peut-on décider, de manière automatique, si un théorème est vrai (ie possède une preuve) ?
Qu’Est-Ce Qui Est Automatique ? Règles simples et "mécaniques".
Le Calcul
Arithmétique addition, multiplication, division Formules
Tables de logarithmes
Charles Babbage (1791 – 1871)
Charles Babbage était un mathématicien, philosophe, etingénieur mécanicien. Il fut le pre- mier à énoncer le principe d’un ordinateur. C’est en 1834, pendant le développement de la machine différentielle. qu’il eut l’idée d’y incorporer des cartes du métier Jacquard, dont la lecture séquentielle donnerait des instructions et des données à sa machine, et donc imagina l’ancêtre mécaniquedes ordinateurs d’aujourd’hui.
Babbage : Machine Différentielle (1822 – ..)
Il s’agissait d’une machine destinée au calcul et à l’impression de tables mathématiques.
Elle fonctionne en calculant efficacement, par différence, un polynôme de coefficients et de- gré arbitraires. Ceci permet d’approximer les fonctions courantes (logatrithmes, fonctions trigonométriques, etc...)
Babbage : Machine Analytique (1834 – ..)
Pour cette machine, Babbage définit les principaux concepts sur lesquels reposent les machines informatiques, soit :
– un dispositif d’entrée avec deux lecteurs de cartes perforées (programmes et données) ; – un organe de commande gérant le transfert des nombres et leur mise en ordre pour le
traitement ;
– un "magasin" permettant de stocker les résultats intermédiaires ou finaux ; – un mécanisme (moulin) chargé d’exécuter les opérations sur les nombres ; – trois types d’imprimantes.
Cette machine peut être "programmée" en utilisant des cartes perforées (à la "jacquart").
Elle ne sera pas achevée du vivant de Babbage. L’ingénierie des engrenages nécessitant une extrême précision.
Ada Lovelace (1815 – 1852)
It may be desirable to explain, that by the word operation, we mean any process which alters the mutual relation of two or more things, be this relation of what kind it may. This is the most general definition, and would include all subjects in the universe. In abstract mathematics, of course operations alter those particular relations which are involved in the conside- rations of number and space, and the results of operations are those peculiar results which correspond to the nature of the subjects of operation. But the science of operations, as de- rived from mathematics more especially, is a science of itself, and has its own abstract truth and value ; just as logic has its own peculiar truth and value, independently of the subjects to which we may apply its reasonings and processes.
Augusta Ada, Comtesse de Lovelace, 1842
Ada Lovelace décrit lepremier programme, permettant de calculer les nombres de Ber- nouilli.
Le terme "programme" est en fait anachronique ici.
4 Machines en Théorie
Alan Turing (1912 – 1954)
Alan Turing était un mathéma- ticien, un logicien, un cryptanalyste pendant la deuxième guerre mondiale, et uninforma- ticien. C’est également une icône de l’Informatique comme en témoigne le "Google doodle"
pour le centième anniversaire de sa naissance l’an dernier.
Une Machine à Calculer Simple et Universelle De quoi a-t-on besoin pour calculer ?
– Collection de règles simples
– Une "feuille" pour écrire les calculs intermédiaires
L’opérateur doit suivre et appliquer les règles de manière "bureaucratique".
La Machine de Turing Déf.
– un ensemblefinid’étatsQ
– une tablefiniede règles de transitionsT(programme)
– un rubaninfini, sur lequel écrire des symboles deΣ(mémoire) – une tête de lecture
Etat du programme = état courant + position de la tête + ruban
Mode Opératoire
Une opération consiste à
– lire la valeur sur le ruban à la position de la tête de lecture :x
– en fonction de l’état courantq∈ Qet dex, prendre la règle deTcorrespondante – écrire une nouvelle valeur sur le ruban
– déplacer la tête à droite ou à gauche – changer d’état courant
Calcul d’une Fonction par une Machine de Turing
Tableau de règles Les règles sont du typeT: Q×Σ−→Σ× {g,d} ×Q (q1,a)7→(b,g,q2)
Arrêt Lorsque plus aucune règle n’est applicable, la machines’arrête.
Pour obtenir le résultat On enregistre la valeur d’entrée sur le ruban.
On lance le calcul en suivant les règles.
à l’arrêt le résultat peut être lu sur le ruban
Une Machine Non-Electronique
Vitesse d’horloge : 0,05Hz :)
Vidéo
Cet ordinateur fonctionne sans électricité !
5 Machines Universelles
Qu’Est-Ce Qu’Un Calcul ?
La machine de Turing est très séduisante par sa simplicité mais peut-être est-il possible de concevoir des machines plus puissantes.
Fonctions Récursives
Gödel remarque qu’il est possible de faire des calculs très complexes avec l’opération élémentaire derécursion.
Exemple : calcul de factorielle f(n+1) = (n+1)× f(n)
Une Autre Approche
Church propose une approche plus "maths" : tout est fonction.
On utilise la notationλ:λx.a+x2 2 donnea+4
=>λ−calcul
Exemples pour le Calcul des Prédicats TRUE :=λx.λy.x
FALSE := λx.λy.y AND := λp.λq.p q p OR :=λp.λq.p p q NOT :=λp.λa.λb.p b a
IFTHENELSE :=λp.λa.λb.p a b
On peut calculer 1∧0
AND TRUE FALSE ≡ (λp.λq.p q p) TRUE FALSE →β TRUE FALSE TRUE ≡ (λx.λy.x)FALSE TRUE →β FALSE
→βreprésente laβ−réduction
Unification
Le Grand Modèle Unifié de l’Informatique
Machines de Turing = Récursivité =λ−calcul
Toutes ces méthodes de calculs ont la même puissance : elles permettent de calculer les mêmes fonctions (lesfonctions calculables).
Auto-référence
Th. de Gödel : on ne peut éviter l’autoréférence.
Peut-on l’utiliser (en bien) ?
Machine de Turing Universelle
Th. de Gödel : Moralité en Termes Modernes
Programme et données sont la même chose :ce ne sont que des suites de symboles ...
Il existe une machine de TuringUN IVqui peut exécutertoutes les autres.
Implications
1. Chaque machineMpeut être décrite sous forme d’une suite de 0 et 1.
2. On peut également calculerM1< M2 >, ie effectuer le calculM1 avec comme entrée M2.
3. Un programme qui prend comme entrée d’autre programmes est uncompilateur.
4. On peut même calculerM< M >(=>autoréférence !)
5. En pratique, un compilateur de source C, lui-même écrit en C, peut se compiler lui- même.
Indécidabilité : « Les Problèmes sans Solutions » Problème de l’Arrêt
Etant donné une machine M et une entrée E, est-ce que le calcul de M sur Es’arrête? Est-ce qu’il existe une machineH ALTrépondant à cette question ?
– H ALT< M,E>=0 si M s’arrête sur E, – H ALT< M,E>=1 si M ne s’arrête pas sur E.
Ce problème n’a pas de solution : – Supposons queH ALTexiste,
– SoitP< M>:=si H ALT <M,M>=0,alorsboucler ;sinons’arrêter – Que va faireP<P>?
– si ce calcul s’arrête alorsH ALT< P,P>=1
– ce qui signifie queP<P>ne s’arrête pas.Contradiction
Des Ordinateurs Plus Puissants ?
Les machines de Turing ne peuvent tout calculer. Ne peut-on trouver d’autre machines plus puissantes ?
La Thèse de Church-Turing
Tout ce qui est calculable (au sens intuitif) l’est par une machine de Turing.
Affirmation philosophique que l’on ne peut formellement prouver. Thèse généralement très bien admise.
On vient donc de prouver qu’il y aura toujours des problèmes sans solution.
En pratique, cela signifie qu’il n’est pas possible d’écrire un programme quivérifie qu’un logiciel n’a pas de bug!
6 Et Les Vrais Ordinateurs Alors ?
Mais Les Ordinateurs ?
Von Neumann propose unearchitecturequi est très proche de la machine de Turing uni- verselle :
– mémoire (qui contient donnéesetprogramme) – unité de contrôle (qui effectue le calcul)
– différences :
– unité arithmétique et logique :calculs spécialisés(pour calculer plus vite) – entrées/sorties : interactivité (déjà présente chez Babbage)
L’Invention du Transistor (1947)
En 1947, dans les laboratoires Bell, est mis au point unsemi-conducteur. Un interrupteur que l’on peut contrôler électriquement : l’auto-référenceélectronique.
Tous Les Ordinateurs ?
Tous les ordinateurs ne sont capables que de faire les mêmes calculs que celui en Lego.
Et les Langages de Programmation ?
Tous les langages de programmation standard sont Turing-complets. Ie, ils sont capables de faire les mêmes calculs que la machine de Turing. En particulier, il sotn capables de s’in- terpréter eux-mêmes.
Impératifs Basic, C, Fortran, Cobol, PHP, python, etc...
Fonctionnels Haskell, Lisp, OCaml, Scheme, ...
Déclaratifs Prolog, Clips
Et Internet ?
Le Réseau des réseaux,internet, relie des millions d’ordinateurs entre eux. C’est un sys- tème informatique complexe. Est-il plus puissant qu’une machine de Turing ?
Non, il n’est capable que d’être ou plus rapide (systèmes parallèles) ou plus décentralisé et robuste aux pannes (systèmes distribués)
Les Ordinateurs Quantiques ?
Un ordinateur quantique exploite les propriétés quantiques de la matière : superposition et intrication d’états quantiques dans l’espoir de construire des ordinateurs non pas plus puissant (même puissance qu’une machine d e Turing) mais beaucoup plus rapides.
– q-bit : superposition d’états et intrication
Rapide historique :
– en 1994, Peter Shor, chercheur chez AT&T, montre qu’il est possible defactoriser des grands nombres dans un temps non exponentiel à l’aide d’un algorithme quantique.
– le 19 décembre 2001, IBM crée un calculateur quantique de 7 qubits et factorise le nombre 15 ( !) grâce à l’algorithme de Shor.
– en 2012, à l’Université de Bristol un dispositif quantique optique est capable de facto- riser le nombre 21 ( !)
– 2013, la société D-Wave annonce une puce à 439 qbits ...
7 Conclusion
Machines Théoriques et Pratiques
1. L’auto-référence induit des paradoxes logiques 2. L’auto-référence est inévitable
3. L’auto-référence est utilisable en pratique 4. Il n’est pas possible de tout calculer
5. Les machines de Turing et autres peuvent toutes calculer la même chose y compris ce que calculent les ordinateurs actuels :il n’existe qu’un seul typed’ordinateur
6. Tous les "nouveaux" modèles d’ordinateurs
– ne sont pas plus puissants (maiscalculent plus vite)
– pour augmenter la puissance, il faudrait pouvoir faire une "infinité" d’opérations enun pasde calcul
Crédits
Figures Wikimedia CC-BY-SA