Newsgroup: it.hobby.scacchi
Titolo: principiante contro mosse casuali

Siete un maestro di scacchi e avete davanti a voi un perfetto principiante che sa soltanto le regole degli scacchi e non ha alcuna conoscenza di strategia e tattica. Quali sono le conoscenze minime di strategia e tattica necessarie per farlo vincere tutte le partite contro un giocatore che fa mosse perfettamente casuali (a patto ovviamente che queste ultime rispettino tutte le regole degli scacchi)?
 
Ciao.


Come programmatore di un engine:
A parte le sottigliezze teorico/pratiche che vengono fuori da quel "casuale"
quando si parla di engines, in pratica basta aspettare, catturare i pezzi
lasciati inevitabilmente in presa, promuovere i pedoni. La cosa più
difficile paradossalmente è evitare lo stallo a fine gioco, ma qual cosa
si dovrà pur studiare ;)
 
Ciao!

 Ciao!
 
E da qui il principiante potrebbe chiedere a sua volta quali sono le conoscenze teorico/pratiche minime da sapere se si vuole battere un engine che come strategie e tattiche ha solo "aspettare, catturare i pezzi lasciati in presa, promuovere i pedoni ed evitare lo stallo". Le classiche primissime pagine di teoria e pratica presenti nei manuali... Bello questo metodo didattico, specie nell'epoca in cui si può giocare ovunque via cellulare, dai che prima o poi in questo modo gli scacchi saranno cultura generale in Italia come il calcio e la pizza... 
 
Ciao.


 
Per questo basta vedere due semimosse avanti. Dopo quello si rientra nella
"tattica".
 
Ma anche questo è facile da vedere con un qualsiasi engine, impostando la
profondità di ricerca a 1 o 2 (a seconda).
 
Ciao!

 
 
Giocare e vincere contro un giocatore che fa mosse assolutamente casuali (un engine creato ad hoc?) è di una facilità assoluta, talmente facile che mi sembra quasi inutile porsi il problema di quali nozioni bisogna conoscere.
Se proprio vogliamo divertirci a trovare qualche semplice "regolina" che ti faccia vincere praticamente sempre, una via molto semplice potrebbe essere questa:
 
Il principiante deve imparare come si da scacco matto con 2 regine contro il re da solo. E' una delle cose più facili che ci sono. Dopo di che può applicare mentalmente questo algoritmo ogni volta che deve muovere
 
1) Se ho una mossa che da scacco matto allora faccio quella mossa altrimenti passa al punto successivo
2) Se il mio avversario ha rimasto solo il re e io ho almeno 2 regine, allora porto avanti la manovra di "Matto con 2 regine contro il re da solo", altrimenti passo al punto successivo
3) Se posso promuovere un pedone a regina, evitando che il mio avversario faccia scacco matto alla prossima mossa e evitando che la mia mossa provochi lo stallo allora promuovo a Regina altrimenti passa al punto successivo
4) Se posso catturare un pezzo avversario, evitando che il mio avversario faccia scacco matto alla prossima mossa e evitando che la mia mossa provochi lo stallo allora catturo il pezzo altrimenti passa al punto successivo. NOTA: se ci sono più di una mossa che soddisfano tali condizioni (cosa abbastanza probabile) allora scelgo la mossa che cattura il pezzo più importante dove l'importanza è data da questo ordine: Regina, Torre, Alfiere, Cavallo, Pedone
5) Faccio una mossa casuale evitando che il mio avversario faccia scacco matto alla prossima mossa e evitando che la mia mossa provochi lo stallo o la triplice ripetizione di posizione
 
Questo sistema non garantisce la vittoria nel 100% dei casi perchè "casualmente" potrebbe anche capitare una partita in cui l'avversario random-mode gioca benino, però la probabilità che ciò accada è veramente bassissima.
 
Piuttosto c'è da fare una considerazione: insegnare a un principiante a seguire un algoritmo del genere è una cosa deleteria, sicuramente non fa bene alla sua crescita scacchistica. Sarebbe molto meglio seguire un percorso di apprendimento standard, anche se nelle prime partite magari un principiante assoluto potrebbe avere qualche difficoltà a dare un matto perfino un avversario che gioca in modo random (ovvero gioca malissimo), ma in fondo chi se ne frega, sono cose che sono capitate a tutti all'inizio ma poi dopo qualche settimana battere un tale avversario diventerà una passeggiata

[cut]
 
Mi rendo conto di aver indicato questo algoritmo in maniera molto scientifica e rigorosa, e potrebbe quindi sembrare più complicato di quel che è.
 
In ogni caso tradotto in soldoni sarebbe questo:
- Mangiare quanti più pezzi possibili
- Promuovere un paio di regine
- Dare il matto con le 2 regine, che è più facile se l'avversario ha rimasto solo il re (unica vera nozione da imparare)
 
Il tutto stando attenti a non cadere in stallo e a non prendere il matto
 

 ha rimasto 
 
Lo posso accettare solo se sei straniero (oltre al "da" senza accento).

 Piuttosto c'è da fare una considerazione: insegnare a un principiante a seguire un algoritmo del genere è una cosa deleteria, sicuramente non fa bene alla sua crescita scacchistica. Sarebbe molto meglio seguire un percorso di apprendimento standard, anche se nelle prime partite magari un principiante assoluto potrebbe avere qualche difficoltà a dare un matto perfino un avversario che gioca in modo random (ovvero gioca malissimo), ma in fondo chi se ne frega, sono cose che sono capitate a tutti all'inizio ma poi dopo qualche settimana battere un tale avversario diventerà una passeggiata
 
In effetti ha più senso insegnare a un principiante a battere un engine che gioca in base a quell'algoritmo che tu hai appena descritto... Sarebbe molto più complicato?
 
Ciao.

 
 
No: dipende, come in qualsiasi altra partita, dalla differenza di bravura
dei due. Pensala così: prova a ideare un algoritmo per essere sicuri di
*perdere* il 100% dei casi (i.e. lo "zero elo"): è tanto difficile quanto
scriverne uno per vincere sempre.
 
Ciao!

 
 
In realtà ogni tanto negli esercizi di tattica ad ogni livello ci sono
quelli la cui soluzione è semplicemente prendere un pezzo avversario in
presa, e ogni tanto si sbagliano pure perché ci si concentra sui massimi
sistemi.
Detto questo, la capacità di vedere tre "mosse" avanti non negli scacchi
ma in qualsiasi ragionamento quotidiano ce l'ha chiunque: è quel "negli
scacchi" che diviene oggetto di studio. Diminuire la profondità di
ricerca mentale a una o due mosse non aiuta quando non hai dimestichezza
con inchiodature, infilate, mating patterns e via discorrendo.
 
Ciao!


Sono d'accordo sul fatto che scrivere un algoritmo che perda sempre sia molto complicato, ma questo è un altro discorso.
 
Io intendo dire che un engine che gioca puramente a caso è sicuramente più scarso di qualsiasi umano, perchè un umano per quanto scarso ci mette sempre un minimo di attenzione in quello che fa.
Io avevo creato un programmino che giocava random, per far esercitare mio figlio quando aveva 5-6 anni. Mio figlio non conosceva nemmeno tutte le mosse: arrocco, stallo, en-passant non sapeva cosa fossero, addirittura non sapeva nemmeno cos'era lo scacco matto e lui semplicemente giocava a mangiare tutto; eppure riusciva sempre a mangiare tutto e con molta facilità.
 
Il fatto è che in una posizione ci sono mediamente una trentina di mosse possibili. Tra queste, sempre mediamente c'è qualche mossa buona, qualche mossa giocabile, 5-10 mosse che a livelli bassi possiamo definire "non catastrofiche" e almeno la metà delle mosse che a qualsiasi livello possiamo definire catastrofiche, tipo: non difendersi dal matto in una mossa, mettere un pezzo direttamente in presa, non difendere un pezzo in presa, non catturare un pezzo avversario in presa, ecc.
Secondo me, giocare benino significa giocare una trentina di mosse senza fare mosse catastrofiche. Ma voglio essere di manica larga, diciamo che anche fare fino a 4 mosse catastrofiche su 30 mosse significa giocare benino. Mi sento abbastanza certo del fatto che qualsiasi umano possa battere un avversario che fa 4 mosse catastrofiche nelle prime 30 (che poi le restanti 26 non significa che sono mosse buone, mediamente sono semplicemente mediocri).
 
Se un engine che gioca random, ha ogni volta il 50% di probabilità di fare una mossa catastrofica, qual'è la probabilità che in 30 mosse ne abbia fatte al massimo 4? Se i miei arruginiti ricordi di matematica non mi tradiscono la probabilità è circa 1 su 33-mila. Quindi secondo me è abbastanza corretto affermare che la probabilità che un engine random giochi benino è abbastanza rara. Naturalmente questa affermazione dipende molto da cosa si intende per "giocare benino" e cosa si intende per "rara".


 Io intendevo dire, che se insegni ad un principiante a giocare seguendo quell'algoritmo, sicuramente batterà un engine che gioca in modo random.
Però didatticamente non è buona cosa insegnare a un principiante a giocare seguendo quell'algoritmo. Ma in generale seguendo qualsiasi algoritmo: la mente umana raramente da il meglio di se seguendo "algoritmi"; sicuramente questo vale anche per gli scacchi.
 
La via migliore da un punto di vista didattico è seguire un metodo di apprendimento "standard" (ci sono centinaia di libri e tantissime cose su internet che ti insegnano queste cose) e vedrai che nel giro di pochissimo tempo il principiante batterà con facilità l'engine che gioca random.
 

 
 
https://www.vanheusden.com/pos/
 
 
fjjvh su FICS
 
Questo non perde subito e non fa mosse casuali. Semplicemente usa un 
algoritmo astruso che lo fa giocare malissimo. Ma se gli lasci la tua 
donna in presa se la mangia (il più delle volte).
Quindi potrebbe essere un buon trade-off per un principiante (molto 
principiante).
 
M.