J’ai mené deux expériences pour voir à quel point les réponses du vampire sont liées à sa connaissance du problème spécifique qu’il résout. Je ne vais pas donner ses réponses car elles sont globalement correctes, mais les entretiens sont disponibles ici et . TD;DR: on peut dire que j’ai échoué et que le vampire a reconnu les problèmes que je lui ai soumis. Ce n’est finalement pas très étonnant puisqu’en général l’apprentissage automatique est plutôt bon sur des exercices de reconnaissance (de formes, de visages, etc.).

Écrivez un programme C calculant les termes de la suite ci-dessous, jusqu’à ce qu’elle converge. Le premier terme est un entier aléatoire de quatre chiffres avec au moins deux chiffres distincts. Chaque nouveau terme n s’obtient du précédent p de la façon suivante : soit le nombre a construit en classant les chiffres de p par ordre croissant, et le nombre b construit en classant les chiffres de p par ordre décroissant, n est la différence max(a,b)-min(a,b). Par exemple, pour le terme p=1492, le suivant est obtenu comme 9421-1249, soit n=8172.

Le vampire construit un programme correct, bien que maladroit (il écrit deux fois l’algorithme d’extraction des chiffres et le tri). Lorsque je lui demande si la suite converge forcément, il me sort une explication que je n’ai pas le courage de vérifier en détail, mais qui comporte des erreurs grossières, comme par exemple le fait d’affirmer que la suite est monotone décroissante, ce qui est faux comme on le voir sur l’exemple donnée par Wikipedia. Mon sentiment est qu’il déroule des arguments généraux qu’on utilise de façon récurrente pour montrer qu’une suite converge, mélangés à des arguments spécifiques à cette suite. Mais je n’irai pas creuser la question.

Il est plus intéressant de noter qu’il fait référence à la propriété de Kaprekar ce qui est ici correct puisque c’est cette suite qu’on calcule. Donc la description de la suite lui permet d’identifier ce problème célèbre, et il n’est alors pas étonnant qu’il en donne une solution correcte.

Soit la suite définie par U(0)=0, U(1)=1, et U(n)=3U(n-1)-U(n-2) pour tout n≥2. Donnez une fonction en C qui implémente cette suite.

Là encore il répond correctement, et il intitule cet entretien Suite de Fibonacci alors qu’il ne s’agit pas de la suite de Fibonacci mais d’une suite de même structure. À partir de là, il arrive à produire un code correct, qui calcule la bonne suite (et non Fibonacci).

Sur ces deux expériences, il est intéressant de voir que le vampire sait procéder par analogies, en reconnaissant correctement un problème non identifié ou maquillé, mais en adaptant sa solution pour rester dans le cadre de l’énoncé. Ce sont plutôt des points en sa faveur, mais n’oublions pas sa piètre performance dans l’argumentation sur la suite de Fibonacci lors de l’épisode 3. Donc s’il s’en sort bien aujourd’hui, c’est probablement juste parce que je ne lui demande rien d’autre que pondre une solution. (D’ailleurs il ne s’en sort pas si bien puisqu’il a dit d’énormes bêtises sur le premier problème.)