[petite] histoire des
(gH) gilles.hunault@univ-angers.fr
quels problèmes ne peut-on programmer ?
Programmer, c'est faire reproduire par l'ordinateur un certain nombre des taches, répétitives ou calculatoires. Cela suppose qu'on maitrise ces taches. Calculer la somme des n premiers entiers à savoir
1 + 2 + 3 + ... + n
est donc un problème simple à programmer dès lors qu'on dispose de quelques connaissances en mathématiques...
Par contre, programmer un ordinateur pour qu'il pense est aujourd'hui non réalisable car on ne sait pas exactement ce que signifie "penser". La même remarque s'applique à des taches pour controler des machines mécaniques, automates ou "robots" en vue d'effectuer des taches humaines simples pour nous comme faire la cuisine, la vaisselle, parler...
Dans ce domaine, les recherches en informatique que l'on nomme "Intelligence Articificielle" essaient de conceptualiser, modéliser puis programmer ces activités humaines. Si des progrès sont notables depuis 50 ans, on est encore loin des robots humanoides de tout "bon" film de science fiction...
Certains problèmes par contre sont délicats à programmer. Par exemple programmer la solution des tours de Hanoi avec 64 disques est simple mais exécuter le programme est très très long (le programme finira après la fin du monde).
D'autres problèmes sont longs à exécuter par ce qu'on ne sait pas comment les résoudre mathématiquement, comme le problème des nombres parfaits. On peut alors seulement essayer de trouver la solution en passant [presque] tous les nombres en revue.
6 est le nombre parfait numéro 1 ; année 2004 28 est le nombre parfait numéro 2 ; année 2004 496 est le nombre parfait numéro 2 ; année 2004 ... ??????? est le nombre parfait numéro 200 ; année 72956 ??
D'autres problèmes sont prévus pour ne pas être programmés : ainsi le codage, le cryptage d'informations dites "sensibles" comme les transactions financières sont faits de telle sorte qu'on peut garantir qu'aucun programme informatique ne pourra décoder l'information en un temps "raisonnable".
Il y a tout un pan de la recherche en informatique (notamment à Angers, au LERIA) qui essaie de trouver des "bonnes" solutions à des problèmes dit "NP-durs" ou "NP-complets" sachant qu'on ne peut pas en un temps "raisonnable" trouver de solution exacte. On utilise alors des heuristiques, voire des méta-heuristiques...
Suite de l'exposé : les langages exotiques et délirants !
Retour à la page principale de (gH)