• Aucun résultat trouvé

Informatique Machines à calculer en théorie et en pratique

N/A
N/A
Protected

Academic year: 2022

Partager "Informatique Machines à calculer en théorie et en pratique"

Copied!
18
0
0

Texte intégral

(1)

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

(2)

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

(3)

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

(4)

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 ?

(5)

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

(6)

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) ?

(7)

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.

(8)

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 :

(9)

– 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.

(10)

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

(11)

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

(12)

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)

(13)

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).

(14)

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.

(15)

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!

(16)

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.

(17)

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.

(18)

– 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

Références

Documents relatifs

On peut appeler métrique des probabilités le schéma constitué par les quantités métriques q (= probabilités de tran- sition) reliant des séries orthogonales

Cavell n’a cessé de réfléchir et d’écrire sur le cinéma, son premier ouvrage et l’un ses plus importants étant La Projection du monde (1971, 1999 pour la traduction

Guillemot (2015) Réponses sédimentaires et moléculaires des remplissages lacustres groenlandais aux changements climatiques holocènes et à l’évolution des pratiques agropastorales

Dans le cas des qubits supraconducteurs, l’analogie du circuit quantique est trompeuse : le circuit présenté dans la section 2 n’est pas déployé tel quel en matériel comme il

Spatial variability of summer ground temperatures and thaw depth Instantaneous ground temperature data from 5 February 2011 show a clear spatial pattern with highest temperatures

Il a été prouvé par Mari et Dhanireddy [70] que l’amélioration de la coordination et de la qualité de la prise en charge néonatale et périnatale dans les réseaux

Nous avons ´etudi´e les algorithmes quantiques dans le but d’aborder de cette mani`ere le probl`eme du calcul du permanent d’une matrice, lorsque le calcul est r´ealis´e sur

Antioxidant polyphenol-rich extracts from the medicinal plants Antirhea borbonica, Doratoxylon apetalum and Gouania mauritiana protect 3T3-L1 preadipocytes against H2O2, TNFα and