La question semble à première vue évidente. Les ordinateurs ont permis à l’homme de mettre en application des processus intellectuels sous la forme de suite d’instructions ordonnées, s’exécutant plus rapidement que dans notre cerveau. La mémoire disponible peut largement dépasser ce que notre cerveau est capable de retenir, et n’est soumise à l’oubli ou l’erreur.

De ce point de vue là, la machine semble un prédateur intellectuel de l’homme. Cependant, s’il existe bien un point où la machine semble loin d’égaler les facultés de notre espèce c’est dans sa capacité à s’adapter et trouver, seul, des solutions à des problèmes inconnus. Est-ce réellement le cas ?

Machine de Turing et IA forte ?

Dans ses recherches sur la calculabilité et l’algorithmie, Alan Turing a réussi à formaliser une machine capable d’exécuter une procédure de calcul.

Machine de Turing

Son principe est élémentaire : la machine dispose d’un ruban sur lequel sont inscrit des lettres, d’un état (un nombre par exemple) et d’une table de transition. Le nombre d’états possibles de la machine est fini et à son lancement, elle dispose d’un état initial.

Lorsque la machine démarre, elle lit la première lettre et utilise la fonction de transition qui selon la lettre lue et l’état courant lui indique ce par quoi elle doit remplacer la lettre lue et un déplacement (vers la gauche ou vers à droite du ruban) à effectuer. La tête de lecture du ruban va donc ainsi parcourir et modifier le contenu du ruban jusqu’à arriver à un état  final, où la machine s’arrête.

De nos jours, on qualifie les langages de programmation de « Turing-complet » lorsqu’ils sont capables d’effectuer tous les calculs réalisables sur une machine de Turing.

Si nous réalisons un jour une intelligence artificielle forte (disposant d’une conscience de soi), celle-ci devrait donc pouvoir s’exécuter sur cette machine aussi simpliste pouvant même fonctionner sans électronique. De plus, donnez moi un crayon, une gomme et la table de transition de cette intelligence artificielle et je serai capable de doter ma feuille d’une conscience. Quand un film hollywoodien réussir à me faire imaginer un robot sensible, ici j’ai définitivement du mal à admettre cette possibilité.

Apprendre à être intelligent

Les travaux de recherche actuels en intelligence artificielle visent à reproduire l’intelligence artificielle humaine sur des problèmes spécifiques (agent conversationnel, traitement de la parole, …) et non dans son ensemble.

La piste la plus prometteuse en IA est selon moi l’apprentissage automatique. En effet, quand un problème est trop complexe pour être traité par un algorithme écrit par l’homme, nous pouvons choisir de laisser la machine déterminer elle-même une solution pour résoudre un tel problème. Ce processus est long mais facilite énormément la réalisation d’algorithmes tels que la reconnaissance de caractères.

Beaucoup d’articles concernant l’apprentissage automatique sont trompeurs et laissent sous-entendre que les limites en IA sont imposées par la puissance de calcul vu qu’il suffirait d’apprendre suffisamment longtemps pour avoir un système acceptable.

L’apprentissage automatique fonctionne de la manière suivante :

  1. On définit une « fonction intelligente » dépendant de plusieurs coefficients
  2. On cherche les meilleurs coefficients pour que la fonction soit la plus précise possible
Ce problème est donc un problème d’optimisation (il s’agit de trouver la valeur optimale des coefficients). Or le No Free Lunch Theorem démontre justement qu’il n’existe pas de méthode d’optimisation qui soit efficace pour tous les problèmes d’optimisation possibles. On ne peut donc pas imaginer de super-algorithme d’apprentissage qui soit adaptable à tous les problèmes rencontrés par l’intelligence artificielle.
Cette interprétation est cependant à relativiser. On peut imaginer que l’ensemble des problèmes que l’homme peut traiter est une sous-classe de l’ensemble des problèmes pour lesquels un algorithme d’optimisation général est efficace.

Machines et preuves mathématiques

Un ordinateur peut-il résoudre un problème mathématique jusqu’alors non résolue ? Oui.

Un ordinateur peut être utilisé pour infirmer une preuve en se basant sur l’existence d’un contre exemple. Nous sommes exactement dans l’application des machines de Turing puisqu’il s’agit d’itérer suffisamment de fois pour arriver sur un cas où l’assertion est fausse. L’hypothèse de Riemann, qui a de grandes implications sur la distribution des nombres premiers, a été ainsi testée à l’aide de cette méthode. Les 10 000 000 000 000 premiers 0 ont ainsi été testés sans pour autant trouver de contre exemple. Mais cela ne prouve pas que cela est vrai jusqu’à l’infini !

Lorsqu’une proposition doit être démontrée pour un ensemble fini la machine de Turing peut aussi être utilisée. C’est le cas du théorème des quatre couleurs qui comporte 1478 cas qui ont été vérifiée à l’aide de l’informatique. La démonstration n’a cependant pas été admise, la validité de l’algorithme et de sa correcte exécution n’étant pas prouvée.

Enfin, il existe des algorithmes permettant de vérifier des preuves exprimés dans un langage formel. Ceux-ci s’exécutent en temps polynomial. Une recherche par force-brute d’une preuve mathématique est donc envisageable mais sera alors un problème de classe NP. La question du millénaire « P=NP ? » prend alors toute son importance puisqu’elle impliquerait l’existence d’algorithmes polynomiaux capables de trouver la preuve d’une assertion.

Il faut cependant bien remarquer que dans tous les cas, l’algorithme adopte une méthode calculatoire naïve, ce n’est donc absolument pas un critère permettant de parler d’intelligence mathématique à proprement parler… sauf si P=NP.
Serait-ce la clé ? J’aimerais vivre assez longtemps pour le savoir.