De quoi souffre ce programme?
Un programme nommé Lxndr.exeavec un readme.txtest apparu soudainement sur mon bureau. Le readme lit
Je pense que je montre quelques symptômes. Pensez-vous que j'en souffre?
Eh bien, bien qu'il y ait définitivement quelque chose qui ne va pas avec mon ordinateur, je n'ai aucune idée de ce qu'est l'exécutable.
Tout comme la personne sensée que je suis, j'ai joué avec elle en l'exécutant. Tout d'abord, l'appel lxndr.exe -?de l'invite de commande donne le résultat suivant:
C:\users\me>lxndr.exe -?
lxndr [-p pos] [-d d] [-t time] [-b]
Options:
-p pos fenny position; default: random
-d d [redacted]
-t time max time (milliseconds)
-b !w; default: false
Ensuite, je l'ai exécuté avec quelques valeurs pour -det -t:
C:\users\me>lxndr.exe -d 10 -t 500
Output: [redacted] - 100ms - !
C:\users\me>lxndr.exe -d 22 -t 100
Output: [redacted] - 100ms - ??
C:\users\me>lxndr.exe -d 15 -t 200
Output: [redacted] - 190ms - ?
C:\users\me>lxndr.exe -d 8 -t 7
Output: [redacted] - 7ms - ??
C:\users\me>lxndr.exe -d 25 -t 75000
Output: [redacted] - 5000ms - !!
C:\users\me>lxndr.exe -d 20 -t 800
Output: [redacted] - 700ms - ?!
C:\users\me>lxndr.exe -d 60 -t 8000
Output: [redacted] - 8000ms - ??
De quoi souffre ce programme?
Remarques:
- Avec la réponse voulue, vous pouvez a) expliquer à quoi ce programme pourrait être utilisé, b) expliquer le résultat et certaines parties de celui-ci plus en détail c) dériver la signification de chaque option lors de l'appel
-?et d) expliquer le nom de l'exécutable. - Ne vous concentrez pas trop sur les nombres exacts que j'ai dans mes entrées et sorties "test".
Astuce n ° 1:
Une fois que vous avez compris que ce puzzle est lié aux échecs, vous devez surtout découvrir la signification de la dernière sortie. Pourquoi un moteur «dysfonctionnerait-il» de cette manière? Quelle «maladie» doit-il avoir qui correspond au nom de l'exécutable?
La réponse n'est pas technique. La réponse a plus à voir avec la connaissance de certaines choses qui entourent les échecs (vous ne pouvez résoudre cela qu'en connaissant les bases du jeu!) Et rien avec la programmation (d'échecs). Le fait qu'il s'agisse d'un programme est exactement la façon dont j'ai décidé de le présenter. Si vous ne connaissez pas la réponse après avoir lu cet indice, il faudra peut-être un peu de recherche sur Google.
Réponses
Tout d'abord, évidemment
lxndr.exe est un programme d'échecs.
Les options sont
-ppour une position dans FEN (notation Forsyth-Edwards; "fenny");-dpour la profondeur à rechercher;-test juste ce qu'il dit;-bsignifiant noir plutôt que blanc pour se déplacer.
Le résultat de l'exécution du programme se compose de
quelque chose de caviardé, qui pourrait être le choix du programme du mouvement dans la position donnée ou son évaluation de quel joueur est en avance et de combien; combien de temps il a fallu pour faire sa recherche; et une sorte d'évaluation d'un mouvement (peut-être le mouvement qu'il a choisi, mais on ne sait pas comment il fournirait une telle évaluation sans faire une recherche supplémentaire et plus longue). L'évaluation est exprimée en termes d'annotation d'échecs traditionnels, de sorte que par exemple ?? signifie un mouvement vraiment terrible et !! signifie un brillant. (Bien qu'annoter quelque chose comme !! signifie généralement non seulement que c'est le meilleur coup, mais que d'une manière ou d'une autre, c'était un coup difficile à trouver. Par exemple, même si 1. e4 pourrait être le meilleur coup d'ouverture, personne ne lui donnerait deux points d'exclamation car tout le monde sait que c'est un bon choix.)
Donc
lorsque vous augmentez,
-dvous obtenez des recherches plus approfondies et donc des temps plus lents;-d 60comme dans le dernier exemple, il est extrêmement profond pour autre chose qu'une simple position de fin de partie où tout se transpose à tout le reste, c'est pourquoi cette recherche a été interrompue par la limite de temps.
Le nom du programme
semble être un raccourcissement de "Alexander".
Alors, quel est son problème? Bien,
le grand maître Alexander Kotov a écrit un livre intitulé "Pensez comme un grand maître", avec une illustration célèbre dans son premier chapitre où il décrit un joueur réfléchissant de façon plutôt désorganisée à un certain nombre de mouvements de candidats plausibles, sans parvenir à une conclusion claire pensant finalement "aha! et si je joue à tel ou tel à la place?" et faire cela immédiatement ... ce qui est une terrible erreur, comme ils l'auraient reconnu s'ils avaient réfléchi de manière systématique à tel ou tel. Ce type d'échec mental est parfois appelé syndrome de Kotov .
Et cela semble être ce qui est arrivé au programme à la fin.
Note pédante:
Cela n'a pas vraiment beaucoup de sens pour le programme lui-même d'annoter ses propres mouvements, à moins qu'il ne suive chacun d'eux avec une recherche plus longue et meilleure :-). Mais OP a confirmé, dans le chat TSL, que c'est simplement parce qu'il aurait été trop difficile de transmettre l'idée, par exemple, de quelque chose d'autre faisant l'annotation. Donc , nous allons faire semblant que après avoir fait sa recherche , il exécute alors stockfish NNUE ou Leela Chess Zéro ou quelque chose pendant quelques minutes pour décider du niveau de déplacement vraiment est. Je suppose que la sortie expurgée comprend probablement la position initiale et le mouvement choisi.
Quelques observations qui peuvent être utiles à d'autres pour répondre complètement au puzzle:
Je pense que c'est lié aux échecs:
- "fenny" fait référence à la notation FEN des positions d'échecs
- "d" pourrait être la profondeur, c'est-à-dire le nombre de (demi-) coups que le programme a besoin pour anticiper
- il est courant de limiter la quantité de temps qu'un moteur d'échecs peut penser
- le paramètre "b" est une abréviation de "noir pour se déplacer" et est l'inverse de "blanc pour se déplacer"
- la sortie contient? et!, qui sont fréquemment utilisés pour décrire les bons et les mauvais coups aux échecs, et leurs combinaisons ont leur propre signification
- "lxndr" sont les consonnes d'Alexandre, qui est le prénom de l'ancien champion d'échecs Alekhine.