Do que este programa sofre?

Sep 02 2020

Um programa com o nome de Lxndr.exeum readme.txtapareceu repentinamente em minha área de trabalho. O leia-me lê

Acho que apresento alguns sintomas. Você acha que eu sofro com isso?

Bem, embora definitivamente haja algo errado com meu computador, não tenho ideia do que se trata o executável.

Assim como a pessoa sensata que sou, brinquei com isso ao executá-lo. Primeiro, chamar lxndr.exe -?no prompt de comando produz a seguinte saída:

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

Então eu o executei com alguns valores para -de -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 - ??

Do que este programa sofre?


Notas:

  1. Com a resposta pretendida, você pode a) explicar para que este programa pode ser usado, b) explicar a saída e certas partes dela mais extensivamente c) derivar o significado de cada opção ao chamar -?ed) explicar o nome do executável.
  2. Não se concentre muito nos números exatos em minhas entradas e saídas de "teste".

Dica # 1:

Depois de descobrir que esse quebra-cabeça está relacionado ao xadrez, você deve descobrir especialmente o significado da última saída. Por que um motor "funcionaria mal" dessa maneira? Qual deve ser a "doença" que corresponda ao nome do executável?

A resposta não é técnica. A resposta tem mais a ver com o conhecimento sobre certas coisas que cercam o xadrez (você só poderia resolver isso sabendo o básico do jogo!) E nada com a programação (xadrez). O fato de se tratar de um programa é apenas a maneira que decidi apresentá-lo. Se você não souber a resposta depois de ler esta dica, pode ser necessário pesquisar no Google.

Respostas

4 GarethMcCaughan Sep 02 2020 at 18:06

Em primeiro lugar, obviamente

lxndr.exe é um programa de xadrez.

As opções são

-ppara uma posição em FEN (notação de Forsyth-Edwards; "fenny"); -dpara a profundidade a ser pesquisada; -té apenas o que diz; -bsignificando preto em vez de branco para se mover.

O resultado da execução do programa consiste em

algo redigido, que pode ser a escolha do programa de movimento na posição dada ou sua avaliação de qual jogador está à frente e em quanto; quanto tempo demorou para fazer sua pesquisa; e algum tipo de avaliação de algum movimento (talvez o movimento escolhido, mas não está claro como forneceria tal avaliação sem fazer uma pesquisa extra mais longa). A avaliação é expressa em termos de anotação de xadrez tradicionais, de modo que, por exemplo, ?? significa um movimento realmente terrível e !! significa um brilhante. (Embora anotar algo como !! geralmente significa não apenas que é o melhor movimento, mas que de alguma forma foi um movimento difícil de encontrar. Por exemplo, mesmo que 1. e4 possa ser o melhor movimento de abertura, ninguém lhe daria dois pontos de exclamação porque todos sabem que é uma boa escolha.)

Então

quando você aumenta, -dobtém pesquisas mais profundas e, portanto, tempos mais lentos; -d 60como no último exemplo, é extremamente profundo para qualquer coisa que não seja uma simples posição de final de jogo onde tudo se transpõe para todo o resto, razão pela qual essa pesquisa foi interrompida pelo limite de tempo.

O nome do programa

parece ser uma abreviação de "Alexandre".

Então, qual é o problema? Nós vamos,

e eventualmente pensando "aha! e se eu jogar tal e tal em vez disso?" e fazer isso imediatamente ... o que é um erro terrível, como eles teriam reconhecido se tivessem dado algum pensamento sistemático real a tal e tal. Esse tipo de deficiência mental é ocasionalmente chamado de síndrome de Kotov .

E parece que pode ser o que aconteceu com o programa no final.

Nota pedante:

Realmente não faz muito sentido para o próprio programa anotar seus próprios movimentos, a menos que esteja seguindo cada um com uma pesquisa mais longa e melhor :-). Mas OP confirmou, no bate-papo do TSL, que isso é apenas porque teria sido muito difícil transmitir a ideia de, digamos, outra coisa fazendo a anotação. Então, vamos fingir que depois de fazer sua pesquisa, ele execute Stockfish NNUE ou Leela Chess Zero ou algo assim por alguns minutos para decidir o quão bom o movimento realmente é. Acho que a saída editada provavelmente inclui a posição inicial e o movimento escolhido.

5 Glorfindel Sep 02 2020 at 04:17

Algumas observações que podem ser úteis para outros responderem completamente ao quebra-cabeça:

Acho que está relacionado ao xadrez:
- "fenny" refere-se à notação FEN das posições do xadrez
- "d" pode ser a profundidade, ou seja, o número de (meio-) movimentos que o programa precisa para pensar no futuro
- é comum limitar a quantidade de vez que um mecanismo de xadrez pode pensar
- o parâmetro "b" é uma abreviatura de "preto para mover" e é o inverso de "branco para mover"
- a saída contém? e!, que são freqüentemente usados ​​para descrever movimentos bons e ruins no xadrez, e suas combinações têm seu próprio significado
- "lxndr" são as consoantes de Alexander, que é o primeiro nome do ex-campeão de xadrez Alekhine.