Di cosa soffre questo programma?
Un programma chiamato Lxndr.exeinsieme a un readme.txtè apparso improvvisamente sul mio desktop. Il readme legge
Penso di mostrare alcuni sintomi. Credi che ne soffra?
Bene, anche se c'è sicuramente qualcosa che non va nel mio computer, non ho idea di cosa sia l'eseguibile.
Proprio come la persona sensibile che sono, ci ho giocato eseguendolo. Innanzitutto, la chiamata lxndr.exe -?al prompt dei comandi produce il seguente output:
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
Quindi l'ho eseguito con alcuni valori per -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 - ??
Di cosa soffre questo programma?
Appunti:
- Con la risposta prevista è possibile a) spiegare per cosa potrebbe essere utilizzato questo programma, b) spiegare l'output e alcune parti di esso in modo più esteso c) derivare il significato di ogni opzione quando si chiama
-?ed) spiegare il nome dell'eseguibile. - Non concentrarti troppo sui numeri esatti che ho nel mio "test" di input e output.
Suggerimento n. 1:
Una volta che hai capito che questo puzzle è correlato agli scacchi, devi soprattutto scoprire il significato dell'ultimo output. Perché un motore dovrebbe "funzionare male" in questo modo? Quale "malattia" deve avere che si adatta al nome dell'eseguibile?
La risposta non è tecnica. La risposta ha più a che fare con la conoscenza di certe cose che circondano gli scacchi (potresti risolvere questo problema solo conoscendo le basi del gioco!) E niente con la programmazione (degli scacchi). Il fatto che questo sia un programma è proprio il modo in cui ho deciso di presentarlo. Se non conosci la risposta dopo aver letto questo suggerimento, potrebbe essere necessario cercare su Google.
Risposte
Prima di tutto, ovviamente
lxndr.exe è un programma di scacchi.
Le opzioni sono
-pper una posizione in FEN (notazione di Forsyth-Edwards; "fenny");-dper la profondità alla quale cercare;-tè proprio quello che dice;-bsignifica che il nero invece del bianco si muove.
L'output dell'esecuzione del programma è costituito da
qualcosa di oscurato, che potrebbe essere la scelta della mossa del programma nella posizione data o la sua valutazione di quale giocatore è in vantaggio e di quanto; quanto tempo ci è voluto per fare la sua ricerca; e una sorta di valutazione di una mossa (forse la mossa che ha scelto, ma non è chiaro come fornirebbe una tale valutazione senza fare una ricerca extra e più lunga). La valutazione è espressa in termini tradizionali di annotazione scacchistica, in modo che ad es. significa una mossa davvero terribile e !! significa brillante. (Anche se annotare qualcosa come !! generalmente significa non solo che è la mossa migliore, ma che in qualche modo è stata difficile da trovare. Ad esempio, anche se 1. e4 potrebbe essere la migliore mossa di apertura, nessuno le darebbe due punti esclamativi perché tutti sanno che è una buona scelta.)
Così
aumentando
-dsi ottengono ricerche più profonde e quindi tempi più lenti;-d 60come nell'ultimo esempio è estremamente profondo per qualcosa di diverso da una semplice posizione di fine partita in cui tutto si traspone a tutto il resto, motivo per cui quella ricerca è stata interrotta dal limite di tempo.
Il nome del programma
sembra essere un accorciamento di "Alexander".
Allora, qual è il suo problema? Bene,
il gran maestro Alexander Kotov ha scritto un libro intitolato "Pensa come un grande maestro", con una famosa illustrazione nel suo capitolo di apertura in cui descrive un giocatore che pensa in modo piuttosto disorganizzato su una serie di mosse candidate plausibili, non riuscendo a giungere a una conclusione chiara, alla fine pensando "aha! e se invece suonassi questo e quest'altro?" e farlo immediatamente ... il che è un terribile errore, come avrebbero riconosciuto se avessero dato un pensiero sistematico reale a questo e quello. Questo tipo di fallimento mentale è occasionalmente chiamato sindrome di Kotov .
E sembra che potrebbe essere quello che è successo al programma alla fine.
Nota pedante:
Non ha molto senso che il programma stesso annoti le proprie mosse, a meno che non le stia seguendo con una ricerca più lunga e migliore :-). Ma OP ha confermato, nella chat TSL, che è solo perché sarebbe stato troppo difficile trasmettere l'idea, diciamo, di qualcos'altro facendo l'annotazione. Quindi facciamo finta che dopo aver fatto la sua ricerca esegua Stockfish NNUE o Leela Chess Zero o qualcosa del genere per alcuni minuti per decidere quanto è veramente buona la mossa . Immagino che l'output redatto includa probabilmente la posizione iniziale e la mossa scelta.
Alcune osservazioni che possono essere utili ad altri per rispondere completamente al puzzle:
Penso che sia correlato agli scacchi:
- "fenny" si riferisce alla notazione FEN delle posizioni degli scacchi
- "d" potrebbe essere la profondità, cioè il numero di (mezze) mosse di cui il programma ha bisogno per pensare in anticipo
- è comune limitare la quantità di volta che un motore di scacchi può pensare
- il parametro "b" è un'abbreviazione di "nero per muoversi" ed è l'inverso di "bianco per muoversi"
- l'output contiene? e!, che sono spesso usati per descrivere mosse cattive e buone negli scacchi, e le loro combinazioni hanno il loro significato
- "lxndr" sono le consonanti di Alessandro, che è il primo nome dell'ex campione di scacchi Alekhine.