SYNTHESE INDIVIDUELLE DE TPE

publicité
SYNTHESE INDIVIDUELLE DE TPE
TPE sur l’intelligence artificielle (septembre 2011- mars 2012)
Elèves : FRANCESCHINO Lucas, VICARIO Pierre et REYNE Mickaël
Synthèse de FRANCESCHINO Lucas
Lycée Georges Pompidou 1
ère
S2
Dès la première séance de TPE, au début de cette année scolaire, j’ai voulu choisir un thème
en lien avec l’informatique, sujet qui me passionne. J’ai donc été rapidement attiré par l’une des
thématiques que propose l’éducation nationale qui est « Les réalisations techniques face aux défis du
XXIème siècle ». Dans un premier temps, j’ai d’abord pensé à la cryptographie qui occupait une place
de choix dans le sous-thème « Technologie de l’information, stockage et transport », car intervenant à
tout niveau dans le stockage et le transport de l’information. C’était aussi l’occasion d’étudier et de
réaliser des algorithmes en lien avec la cryptographie. Seulement, après discussion avec les membres
du TPE, nous avons décidé de nous diriger vers un autre sous-thème, à savoir l’intelligence artificielle.
Ce sujet me paraissait aussi très intéressant, une fois encore par son aspect technique : les
algorithmes utilisés sont très novateurs et attrayants, notamment les algorithmes génétiques. En outre,
en faisant un TPE dans ce domaine, nous avons pu croiser plusieurs disciplines : les mathématiques
en ce qui concerne les algorithmes et les calculs, la physique, en abordant le fascinant sujet de la
mécanique quantique par exemple, et même un soupçon de SVT en étudiant les algorithmes
génétiques !
Nous avons tout d’abord voulu choisir la problématique « Comment l’intelligence artificielle peut
être utile au quotidien ? ». Je trouvais cette problématique trop large, surtout par rapport à l’aspect du
TPE qui suscitait, de mon point de vue, le plus d’intérêt, à savoir la technique, les algorithmes
utilisés. Nous avons donc fait le choix d’une problématique bien plus ciblée : « Quels sont les moyens
techniques mis à contribution pour l’intelligence artificielle dans le passé, le présent et le futur ? ».
Après une documentation approfondie, nous avons opté pour établir un plan en deux parties :
l’évolution de l’IA au fil du temps et l’aspect technique de l’intelligence artificielle. Très attiré par cette
dernière partie, je l’ai personnellement organisée et rédigée. Je me suis aussi chargé de la réalisation
et de l’explication des deux algorithmes étudiés, c’est-à-dire l’algorithme génétique et l’algorithme de
recherche de chemin, A*. J’ai aussi voulu implémenté un algorithme « min-max », utilisé dans les
jeux de stratégie, mais j’ai finalement préféré ne pas le réaliser pour soigner davantage les deux
autres implémentations. La partie qui a été, pour moi, la plus difficile, mais aussi, la plus intéressante,
est celle sur les calculateurs quantiques. J’ai d’ailleurs voulu implanter l’algorithme quantique de Shor
en python (il existe un module « pyQuante » permettant de simuler un ordinateur quantique), mais j’
ai été confronté à de trop nombreuses difficultés, de compréhension notamment : l’informatique
quantique fait appel à des notions avancées de mécanique quantique ou de mathématique qu’il aurait
fallu que je comprenne non pas globalement mais justement très techniquement, ce qui m’a paru
quasi-impossible avec la documentation et le temps dont je disposais. La partie sur la puissance
matérielle des ordinateurs n’a pas posé de problèmes particuliers mais s’est révélée être surprenante,
en partie par la quantité incroyable de ressources matérielles qu’a nécessité Watson, l’intelligence
artificielle d’IBM qui a participé à un jeu télévisé.
Pour la réalisation d’un algorithme de recherche de chemin, j’ai d’abord essayé d’en réaliser
un en JavaScript, mais j’étais confronté à divers problèmes : l’algorithme était lent, et parfois il ne
trouvait aucun chemin. J’ai donc décidé de m’orienter vers quelque chose de plus conventionnel, soit
l’algorithme A*. Après avoir relu (j’avais déjà, par le passé, implémenté cet algorithme dans un jeu
de ma conception de type « Tower Defense ») quelques explications à ce sujet, j’ai écrit un
programme en HTML et JavaScript le mettant en scène, au travers d’une carte sur laquelle l’utilisateur
pouvait placer des obstacles. Cette carte était représentée par un tableau HTML mis à jour en
JavaScript. L’algorithme semblait fonctionner : il trouvait à coup sûr un chemin (sauf s’il ne pouvait
pas y en avoir à cause d’un trop grand nombre d’obstacles par exemple), mais il s’avérait être très
lent, et de plus en plus au fur et à mesure de l’exécution de l’algorithme. J’ai donc mené ma petite
enquête et me suis aperçu qu ’il y avait un dysfonctionnement : l’algorithme ajoutait en toute
circonstance (ce qu’il ne devait, théoriquement, pas faire) des coordonnées dans une liste, ce qui
créait un grand nombre de doublons. De cette manière, la liste grossissait énormément, ce qui fait que
l’ordinateur passait de plus en plus de temps à étudier les différents cas possibles. Le problème venait
seulement d’une erreur de syntaxe dans une fonction qui s’occupait d’ajouter ou non des valeurs dans
la liste incriminée, précisément. Après correction, l’algorithme fonctionnait très bien. Pour rédiger l’
explication de
l’algorithme, j’ai décidé de refaire en même temps une seconde implémentation plus
« propre », toujours en HTML et JavaScript. De cette manière, j’ai pu mieux documenter le code,
mieux le segmenter afin de le rendre plus clair et lisible. L’implémentation de l’algorithme génétique ne
m’a pas posé d’obstacles. Je ne le connaissais pas auparavant et ce type d’algorithme m’a étonné par
son originalité et sa simplicité par rapport à la complexité du problème à résoudre.
Pour répondre à la problématique de notre TPE, je dirais que les moyens mis à contribution
dans le passé ont été essentiellement philosophiques et littéraires, ceux utilisés dans le présent sont
très techniques : Google ou IBM en sont l’exemple. On commence à utiliser de nouveaux types
d’algorithmes de plus en plus ciblés et performants, et je dirais que l’ordinateur quantique offre un bel
aperçu de ce que seront capables plus tard d’effectuer les intelligences artificielles.
Le TPE m ’ a beaucoup plu et travailler sur des domaines qui me passionnent (les
mathématiques et l’informatique) pour le lycée a été vraiment très motivant. J’aime souvent développer
pour moi-même des applications, des jeux ou autres programmes sur mon ordinateur, ma PSP, ou
mon téléphone, mais je n’en vois souvent pas l’utilité, la finalité. Avec ce TPE, j’ai vraiment eu l’
impression de pouvoir « exprimer » ma passion pour l’informatique. Ce travail m’a d’ailleurs rappelé
mon stage de 3ème que j’avais effectué au CRDP de Montpellier dans le service informatique. Cela m’a
aussi fait penser à un document que j’ai rédigé il y a maintenant quelques années, dont le but était
d’apprendre la programmation en LUA sur PSP aux débutants (voir sur http://lucas.franceschino
.free.fr/tutolua.pdf). En seconde, pendant les heures d’accompagnement, un ami et moi-même faisions,
tout au long de l’année, le cours, une heure par semaine : cette expérience, durant laquelle j’ai dû
écrire et donner des cours, aussi clairs et attrayants que possibles, m’a demandé un travail similaire à
celui du TPE. En somme ce travail m’a été bénéfique : j’ai dû produire un travail rédigé, organisé et
propre dans un domaine où je n’y suis pas habitué. En effet, il est habituellement rare pour moi de
soigner et finaliser mes projets, lorsque je n’y suis pas obligé. C’est en cela que le TPE m’a, je
pense, aidé : il m’a fallu être plus rigoureux qu’à mon habitude, m’ordonner. J’ai aussi beaucoup
appris sur le thème de l’intelligence artificielle, et surtout dans le domaine de la mécanique quantique,
sur lequel je me suis beaucoup documenté. Je compte d’ailleurs m’informer encore davantage à ce
propos dans le futur, non pas pour le TPE, mais pour moi, personnellement. Pour conclure, je dirais
que ce travail m’a donné envie de m’investir davantage dans les matières scientifiques, pour acquérir
un meilleur niveau (en mathématiques notamment, ce qui a par ailleurs motivé mon choix de prendre
la spécialité mathématiques) afin de pouvoir comprendre des sujets comme la mécanique quantique ou
des applications comme l’algorithme de Shor.
Téléchargement