7SG06TE0124_Partie5Retenir
7SG06TE0124_Partie5Retenir
7SG06TE0124_Partie5Retenir
RETENIR
1. Histoire de l’informatique
L’informatique est à la fois une discipline scientifique et technique qui s’est essentiellement développée au
XIX et XXe siècle. Elle s’est appuyée sur la recherche fondamentale en logique mathématique et sur l’étude
des algorithmes. Elle est aussi le fruit d’un processus de développement et de généralisation des
machines initié au XVIIe siècle en Europe, siècle de l’avènement de l’industrialisation.
3. Différents langages
Bien souvent, l'informatique désigne l'ensemble des sciences et techniques en rapport avec le traitement
de l'information. En tout état de cause, les histoires de l’informatique centrée sur les concepts
d’algorithme et de machine se sont finalement rejointes. Les courants de pensée centrés sur le langage,
inventé par l’homme pour communiquer et se faire comprendre par la machine, et traduire plus ou moins
aisément les différentes étapes d’un algorithme se sont aussi développés, pour compléter ce tableau des
histoires de l’informatique.
Et ce langage, tout comme les logiciels utilisés par la différente génération d’ordinateurs, a évolué au fil
du temps.
Ainsi à la première génération d’ordinateurs correspondait le codage machine direct en binaire ; à
la deuxième, le langage assembleur ; à la troisième, les langages évolués sont apparus (Fortran, Simula,
APL,…), à la quatrième, les langages évolués de deuxième génération dits « structurés », (Pascal, C++…),
des langages « Objets », des langages d’interrogation de très haut niveau comme SQL…
Les codages relatifs aux différentes natures de fichiers sont appelés formats. Une extension est une petite
chaîne de caractères (préfixée par un point) ajoutée en fin de nom du fichier afin que l’ordinateur puisse
interpréter correctement ce fichier et que l’utilisateur puisse en reconnaître le format.
→ Exemple
Un fichier texte, données.txt est codé sur 20 000 bits. Dans ce format, chaque caractère occupe 1 octet
de mémoire. Afin de déterminer le nombre de caractères que contient le fichier données.txt il suffit de
faire le calcul suivant : 20000/8=2500 donc le fichier contient 2500 caractères. (Remarque : le retour à la
ligne est aussi un caractère).
Si on fait un copier-coller du texte dans un fichier Word, la taille du fichier augmentera. En effet, dans
le format Word sont stockées des informations sur la mise en forme du document qui peuvent suffire à
doubler la taille du fichier ; comme la police du document, la taille des titres…
Un fichier exécutable est un fichier qui contient un programme sous une forme compréhensible par
l'ordinateur (langage machine) ou interprétable directement par l'ordinateur, c'est-à-dire traduit en
langage machine à la volée au fur et à mesure de l'exécution (programme Python avec le bon interpréteur
3. Notion de programme
1. Définition
Un programme est une suite d'instructions écrite dans un langage appelé langage du programmeur.
Ces instructions seront interprétées par une machine puis exécutées.
Un langage de programmation est nécessaire pour écrire des programmes : ce langage doit être simple à
utiliser.
3. Bugs informatiques
L’ENIAC tombait fréquemment en panne : en effet il arrivait qu’un insecte brûle sur un tube chaud,
provoquant la rupture de l'ampoule de verre. Or en anglais insecte se dit « bug », si bien qu’en
généralisant, le mot bug a fini par désigner tout dysfonctionnement informatique.
Aujourd’hui, même si les pratiques ont évolué pour produire du code de qualité, il est impossible de
garantir un projet informatique ne comportant aucun bug.
Ces erreurs peuvent conduire un programme à avoir un comportement inattendu et entraîner des
conséquences graves.
L’explosion de la fusée Ariane 5 constitue un bug retentissant de ces dernières années. L'incident, dû à un
dépassement d'entier dans les registres mémoire des calculateurs électroniques utilisés par le pilote
automatique, a provoqué la panne du système de navigation de la fusée, causant de fait sa destruction
4. L’Intelligence Artificielle
1. Qu’est-ce que l’intelligence artificielle (IA) ?
« Qu’est-ce que l’intelligence ? Est-ce la capacité à percevoir le monde, à prédire le futur immédiat ou
lointain, ou à planifier une série d’actions pour atteindre un but ? Est-ce la capacité d’apprendre, ou celle
d’appliquer son savoir à bon escient ? La définition est difficile à cerner.
On pourrait dire que l’intelligence artificielle (IA) est un ensemble de techniques permettant à des
machines d’accomplir des tâches et de résoudre des problèmes normalement réservés aux humains et à
certains animaux. » Yann Lecun (Collège de France).
L’intelligence artificielle (IA) est née en 1956. À cette époque, elle visait à simuler sur ordinateur les
facultés cognitives humaines et recouvrait des approches relevant de l’informatique, des mathématiques
et des sciences cognitives. L’approche symbolique (systèmes experts) initiée à la fin des années 50 n’a pas
tenu ses promesses. Aujourd’hui, on a tendance à attribuer le terme d’IA à l’un de ses sous-domaines,
celui de l’apprentissage automatique (apprentissage machine). Il s’agit d’un processus par lequel un
algorithme évalue et améliore ses propres performances, non pas sous l’intervention d’un humain chargé
de programmer la machine, mais en répétant son exécution sur des jeux de données de natures variées
(mesures de capteurs pour des prévisions, textes pour la traduction, sons pour la reconnaissance vocale,
images pour la reconnaissance visuelle, etc.).
L’apprentissage machine exploite des méthodes mathématiques qui, à partir du repérage de tendances
(par exemple, des corrélations ou des similarités) sur de très grandes quantités de données (données
massives), permettent de faire des prédictions ou de prendre des décisions sur d’autres données.
• Durant la phase de prédiction (ou inférence), le modèle choisi est utilisé pour prédire de nouveaux
résultats sur des données ne faisant pas partie des données utilisées lors de la phase d’apprentissage.
→ Remarque
Dans la littérature scientifique on distingue précisément la prédiction, de l’inférence, toutes les deux
ayant vocation à tirer des conclusions de faits observés…
La prédiction est le fait de prédire, d’annoncer à l'avance ce qui doit arriver, de même pour l’inférence
qui elle implique en plus un raisonnement déductif, on tire des conclusions en raisonnant à partir
d’observations, de faits vérifiés. Il n’y a pas cette notion de raisonnement dans la prédiction…
a) Apprentissage supervisé
On donne à l’ordinateur des exemples d’entrées qui sont étiquetés avec les sorties souhaitées. Le but de
cette méthode est que l’algorithme puisse « apprendre » en comparant sa sortie réelle avec les sorties
« apprises » pour rechercher les erreurs et adapter le modèle.
L’apprentissage supervisé utilise donc des modèles pour prédire les valeurs d’étiquettes pour des
données supplémentaires non étiquetées.
→ Exemple
On donne à un algorithme des images de dauphins étiquetées « mammifère » et des images d'océans
étiquetées « eau ». En apprenant ces données, l’algorithme d’apprentissage supervisé doit pouvoir
identifier des images de dauphins et des images d’océans non étiquetées et les étiqueter
respectivement « mammifère » et « eau ».
Parmi les méthodes d’apprentissage supervisé, l’apprentissage profond est très utilisé depuis les années
2010. Il tente d’imiter la manière dont le cerveau humain peut transformer les stimuli lumineux et sonores
en vision et en audition. Une architecture d’apprentissage en profondeur est inspirée des réseaux de
neurones biologiques et est formée d’un réseau de plusieurs couches de neurones artificiels composés de
matériel et de micro-processeurs.
L'apprentissage supervisé permet de répondre à des problématiques de classification et de régression.
L'idée consiste à associer une étiquette à des données sur lesquelles on possède des mesures.
• Si les étiquettes sont discrètes (des libellés ou valeurs finies) on parlera de classification.
• Si elles sont continues (comme l'ensemble des nombres réels), on parlera de régression.
Classification
La classification consiste à donner des étiquettes à ces données :
• On dispose d'un ensemble de données connues qui ont été déjà classées (photos, plantes, individus…),
comme dans l’exemple des dauphins et des océans
• On souhaite, à partir de cette première classification, classer de nouveaux éléments.
Document
ressource Eduscol
Régression
Par exemple un programme d’apprentissage automatique pour faire des prévisions météorologiques à
partir de données de capteurs pourra faire des prédictions de température, de pression, etc.
Clustering
Il n’y a ici pas de prédiction.
L'algorithme tentera à partir de toutes les données de créer N groupes les plus similaires possibles.
Exemple d'application : On possède des statistiques sur une population (salaire, localité, âge, profession,
nombre d'enfants), on souhaite les regrouper en différentes catégories sociales.
Réduction de dimension
Les données possèdent trop de paramètres pour être visualisées, pour être traitées dans des temps
raisonnables et sur des machines limitées en ressources.
Il faut donc diminuer le nombre de paramètres tout en conservant une cohérence globale. C’est-à-dire
qu’un regroupement avec tous les paramètres serait sensiblement identique au regroupement avec les
paramètres réduits.
Ce type d'apprentissage s'applique plus à des problèmes d'optimisations. L'idée étant de faire prendre des
décisions à un système pour obtenir un résultat qui soit le meilleur possible.
Des exemples d'utilisation sont :
• Optimiser le déplacement des ascenseurs
• Router des paquets réseau
• Jeux de stratégie
L’apprentissage par renforcement consiste pour une machine à apprendre à apprendre. À partir
d’observations, la machine va déduire la qualité de ses actions pour les améliorer.
Optimisation
Dans le cadre de son apprentissage, la machine va s’appuyer sur des fonctions mathématiques qui
permettront de quantifier l’amélioration de ses performances et ainsi d’optimiser les prochaines
décisions.
b) L’inférence bayésienne
L’inférence bayésienne est une méthode de calcul de probabilités qui permet de calculer la probabilité des
causes d’un événement à partir des probabilités des effets de cet événement, à l’intérieur de systèmes
complexes.
Elle est notamment utilisée dans les domaines médicaux, industriels ou même dans le domaine de
l’analyse de spams.