Imparare le regole degli scacchi


11

Una domanda simile chiede se un computer può imparare a giocare in modo ottimale negli scacchi analizzando migliaia di giochi.

Se una macchina può controllare lo stato del tabellone per alcune partite a scacchi (o alcune partite a dama) all'inizio e dopo ogni mossa, può essere programmata per apprendere le regole del gioco?

Se è possibile, in che misura (ad esempio, sarebbe in grado di rendere conto del castling o della promozione) funzionerebbe? Quali algoritmi di machine learning lo renderebbero possibile?


3
La macchina dovrebbe essere in grado di raggiungere uno stato in cui può dire "Ho visto eseguire questa mossa, quindi suppongo di poterla eseguire in circostanze simili". Se ciò costituisca "l'apprendimento delle regole" è quasi una questione filosofica. ;)
ingannare il

@deceze Bene, non hai del tutto ragione. Imparando le regole si intende essere in grado di fare la mossa dato il layout che non è mai successo al programma prima. Altrimenti non sta imparando le regole ma memorizzando le mosse.

2
@Max Il computer sarebbe in grado di fare correttamente le mosse che non ha mai visto prima? Diciamo, ha visto il cavaliere muoversi due volte in avanti e uno sul lato molte volte, ma mai due indietro, uno sul lato. Come potrebbe dire con certezza quali sono le regole relative al movimento dei cavalieri? Forse c'è una clausola speciale nelle regole secondo cui "i cavalieri non possono tornare indietro, solo avanti" (proprio come i pedoni). Quindi dedurre regole con certezza sembra una cosa impossibile. Questo vale praticamente anche per gli umani.
Ingannare il

8
@Max In effetti, potrebbe esserci un numero infinito di regole che il computer non può dedurre . On the 8th turn the knight may not turn right. On a sunny day the pawns may jump over bishops.Il computer non può dire perché quella pedina non si sia mossa in un particolare turno. Forse c'era una regola contro di essa che si muoveva in quella particolare circostanza. Quindi, il computer dovrebbe essere in grado di riprodurre solo modelli simili (in realtà, esatti), ma non essere mai in grado di dedurre le regole con la sicurezza del 100%.
Ingannare il

@deceze Sì, è possibile se gli hai mostrato quella regola in qualche modo. Allo stesso modo in cui è necessario insegnare all'uomo le regole (ad esempio fornirgli la stampa delle regole da leggere) è necessario in qualche modo fornire tali regole alla macchina. Il modo più semplice è riprodurre TUTTE le regole in una certa quantità di giochi per l'apprendimento della macchina. Lo stesso vale per gli umani: gli umani non lo sapranno On a sunny day the pawns may jump over bishops.se non glielo avessi mai mostrato.

Risposte:


10

Se una macchina può controllare lo stato del tabellone per alcune partite a scacchi (o alcune partite a dama) all'inizio e dopo ogni mossa, può essere programmata per apprendere le regole del gioco?

Certamente non per alcune partite a scacchi; dovresti analizzarne un numero incredibilmente elevato per impedirgli di fare mosse non valide. Quanto non lo so; questo problema appartiene all'area della teoria dell'apprendimento computazionale, dell'apprendimento PAC e del problema dell'apprendimento nel limite .

Gli algoritmi di classificazione suggeriti dagli altri poster potrebbero essere in grado di apprendere in modo discriminatorio le regole degli scacchi: date due configurazioni della scacchiera, potrebbero rispondere "sì" o "no" alla domanda se una mossa valida si trasformi l'una nell'altra. Con un certo sforzo, potrebbero anche essere usati per generare mosse. Tuttavia, genereranno solo mosse che hanno visto in giochi in cui sono stati addestrati o genereranno una combinazione di mosse valide e non valide, ognuna con un punteggio che indica quanto è probabile che considerino la mossa in questione, con regole non valide speriamo di ottenere probabilità molto piccole.

(Vale a dire, o il programma non riconoscerebbe alcune mosse valide a sua disposizione; o potresti essere in grado di imbrogliare senza accorgertene; o dovresti allenarlo per così tanto tempo da perdere tutto l'interesse nel gioco.)

Per le tecniche che possono apprendere le regole, controlla la programmazione della logica induttiva e la programmazione genetica . Non sono sicuro se qualcuno abbia mai provato ad applicarli all'apprendimento degli scacchi; poiché le regole degli scacchi sono fisse, è molto più interessante (anche per il mondo accademico) costruire buoni programmi di gioco degli scacchi piuttosto che quelli che devono imparare da zero le regole di base.


4

Le regole degli scacchi sono piuttosto complesse e alcune sono eseguite molto raramente in un gioco.

Ad esempio la regola en passant . Quanti giochi dovrai osservare per dedurlo è consentita solo la prima mossa dopo la mossa in avanti di due passi?

Un altro esempio. Il b-quadrato può essere attaccato in lunghi castling. Quanti giochi vedi dove questo accade?

In altre parole, avrai bisogno di molti, molti, molti giochi per ottenere correttamente tutte le regole.

Ma, forse, Google troverà un angolo del loro cloud per un archivio completo di partite di scacchi "presto" ...


"Il b-quadrato può essere attaccato in lunghi castling" che mossa è questa? Puoi spiegarlo o collegarlo per me?
CaffGeek,

@chad, chiamato anche castling queenside - viene usata la notazione "0-0-0". Sono solo i tre campi che i re "toccano" che potrebbero non essere attaccati.

2
Inoltre, il d-square non può essere attaccato quando castling queenside (o f-square quando castling kingside) ; inoltre non puoi fortificare dopo aver spostato il tuo re. Come dovresti sapere che qualcosa non può essere fatto osservando i giochi in cui non è stato fatto? Come menziona Lars, il computer potrebbe assegnare probabilità che una mossa sia valida, ma accertare che una regola specifica osservando i giochi sia al limite di impossibile.
BlueRaja - Danny Pflughoeft,

Inoltre, ci sono stati giochi, anche da parte dei nonni nelle impostazioni di un torneo, in cui le regole sono state violate e nessuno dei due giocatori ha notato! Secondo le regole del torneo, se nessuno dei due giocatori si accorge entro 10 mosse, il gioco è valido e continua. (Ricordo molto chiaramente un gioco in cui un gran maestro spostò il suo re, poi lo spostò indietro, e in seguito arroccò. Tuttavia non riesco a trovarlo ora)
BlueRaja - Danny Pflughoeft

1
en passant è abbastanza raro, ma ci sono alcune regole disegnare forzati che sono FAR più raro. Ho giocato per 40 anni e non ho mai visto un gioco in cui potresti avere un pareggio forzato con 50 mosse senza pedine e catture. Penso che ci sia un'altra regola del genere che non ricordo nemmeno. In pratica, i giocatori accetteranno un pareggio prima di essere invocati. (Esistono per assicurarti che non puoi "vincere" una posizione disegnata trascinandola fuori fino a quando il tuo avversario non si
ferma

2

Sì e no

Non sono sicuro se stai chiedendo se è possibile apprendere le regole degli scacchi usando l'apprendimento automatico / reti neurali o se è possibile addestrare una macchina da scacchi di livello "grand master" che lo utilizza.

Puoi certamente insegnare a un computer le regole e un certo livello di scacchi usando quelle. Tuttavia, non credo che tu possa allenarlo fattibile a un livello superiore utilizzandolo. L'informatica non è ancora riuscita a produrre una macchina in grado di "comprendere" gli scacchi da un punto di vista posizionale / intuitivo. Tutti gli attuali computer di scacchi utilizzano un ampio database, calcoli della forza bruta e, possibilmente, un machine learning.

Immagino che dipenda se conti usando un database di riferimento come imbroglio o no :) Inoltre, è difficile sapere se puoi effettivamente separare la conoscenza di molti giochi dall'essere bravo. Gli umani che sono bravi negli scacchi sono bravi proprio perché hanno visto tanti giochi a cui fa riferimento la parte del cervello che in genere è nota per riconoscere i volti. Da questo richiamo sembra che i giocatori di scacchi umani siano in grado di sviluppare una "intuizione" della forza di una posizione.


i migliori maestri memorizzano grandi libri di apertura e questo non è considerato imbroglio. E comunque, succede sempre che quella che una volta era considerata una buona variante di apertura viene sballata da una nuova idea. Quindi il "trucco" delle mosse dei libri potrebbe non essere nemmeno il modo ottimale per giocare un computer.
Kevin,

2

Come molti commenti hanno detto, questa è quasi una domanda filosofica che discute della definizione di "apprendere". La maggior parte dei programmi di intelligenza artificiale si basano sulla determinazione di soluzioni razionali. Dati sufficienti, un programma di apprendimento degli scacchi determinerà un elenco di mosse che sono razionali da compiere in determinate situazioni. Questo non significa che conosca le regole degli scacchi, capisce semplicemente quali mosse sono benefiche e quali no. Anche se il set di dati include giocatori che fanno mosse illegali, la mossa illegale causerà una perdita istantanea, quindi l'IA la ignorerà e non userà mai quella mossa perché non è mai utile.

Non importa se vengono utilizzate reti neurali o algoritmi evolutivi o qualsiasi altro tipo di algoritmo di apprendimento, un ai non può mai imparare esplicitamente le regole dal guardare qualcosa, può solo determinare un elenco di opzioni razionalmente vantaggiose.


2

Se pensi alle regole degli scacchi come al motore fisico del gioco e alle leggi della fisica come alle regole universali accettate permanentemente e incessanti dell'universo, allora pensa a quante poche "leggi" reali ci sono nel nostro universo naturale. È ESTREMAMENTE difficile, se non impossibile, fare una REGOLA dura e veloce, ma possiamo fare una serie di teorie testate e accettate a partire da un determinato momento.

Potrebbe essere possibile supporre che il computer osservi e registri le mosse, ma NON faccia direttamente affermazioni sulle mosse valide.

Ad esempio, osserverebbe un pedone avanzare di un pezzo e fare nuove ipotesi che tutti i pezzi possano avanzare di uno spazio e un altro che un pedone possa avanzare di un solo spazio. Formerà quante più ipotesi restrittive possibili finché non si verificherà la mossa successiva e un numero di esse potrà essere lanciato o reso più liberale.

Alla fine dopo così tante mosse avrai una serie di solide teorie ma sarà un set di dati vivente che si avvicina permanentemente a 0 ma non lo raggiunge mai.

Quindi la risposta è che un computer potrebbe fare davvero una buona ipotesi ma (EDIT: NOT) conoscerà sicuramente le regole.


1

In teoria, sì, può. Può persino diventare un grande maestro negli scacchi. La risposta che stai cercando è reti neurali . Le reti neurali sono essenzialmente la stessa cosa che accade nel nostro cervello. Inoltre, data la rete neurale progettata perfettamente (leggi - impossibilmente perfetta) e un hardware perfetto - può imparare tutto ciò che un essere umano può imparare in modo uguale o persino migliore.

Per saperne di più:


2
Questa "risposta" è solo un mucchio di link di Wikipedia, due dei quali descrivono lo stesso concetto, uno dei quali è estremamente ampio e uno dei quali non ha nulla a che fare con il problema in questione. Per favore, mostra come una mappa di Kohonen verrebbe usata per imparare in modo efficace le regole degli scacchi.
Fred Foo,

1
La RNA e la NN non sono affatto vicine alla complessità di un neurone / cervello umano reale, una RNA è nella migliore delle ipotesi una cruda approssimazione.
Darknight,

"in teoria, teoria e pratica sono le stesse, ma in pratica non lo sono mai". I programmi di scacchi possono giocare come i grandi maestri, ma non credo sia a causa delle reti neurali o dell'apprendimento automatico. La maggior parte dei buoni programmi utilizza vasti libri di apertura, basi di tavoli finali e una prima ricerca approfondita ("negamax con potatura alfa beta"), e probabilmente una funzione di valutazione molto complicata (che molto probabilmente è scritta con l'aiuto dei maestri).
Kevin,

Le reti neurali possono solo imparare a cosa sono addestrate a fare. Gli scacchi hanno alcune regole che vengono applicate molto raramente, ma fanno parte del gioco. Sarebbe legale promuovere in un vescovo? Sarebbe legale promuovere in un re?

2
Ha ... promuovendo il re rende lo scacco matto un po 'più difficile!
Kevin,

1

Penso che possa imparare le mosse che è autorizzato a fare semplicemente analizzando, ma come imparerebbe le mosse che non è autorizzato a fare? Ad esempio, il pedone non sembra mai spostarsi in avanti di un quadrato quando un pezzo avversario si trova di fronte ad esso. Come fa il computer a sapere se ciò dipende dalla scelta del giocatore o se non gli è permesso farlo? Puoi trovare un algoritmo che dice che se il 99,99% delle volte o più un evento non accade, ciò significa che non ti è permesso farlo, ma potrebbe anche essere quel 99,99% delle volte che è considerato un mossa sbagliata, ma quello 0,01% delle volte è la mossa che vince la partita. Quindi, la mia risposta è no, non può imparare tutte le regole semplicemente analizzando i giochi, ma probabilmente può imparare abbastanza per giocare.


1

Questa è una domanda filosofica. Potresti anche chiedere a una persona di imparare a giocare a scacchi osservando le persone mentre giocano a scacchi. In realtà è sostanzialmente lo stesso tipo di domanda che Nelson Goodman pone nel suo grande libro Fact, Fiction e Forecast : come possiamo passare da una serie finita di osservazioni già fatte a una previsione di osservazioni future. Le osservazioni già fatte sarebbero le mosse di scacchi osservate finora e le osservazioni future sarebbero tutte mosse di scacchi che non sono ancora avvenute. La domanda è: esiste una relazione nomologica tra osservazioni passate e osservazioni future (al contrario della relazione puramente causale tra eventi passati ed eventi futuri)?

Se interpretiamo la parola nomologica come da una legge della natura o della logica e nulla può mai accadere in disaccordo con questa legge , allora certamente non esiste tale relazione, poiché la prima persona che sposta un castello in diagonale, infrange la legge della natura e l'universo come lo conosciamo crollerebbe.

Ma anche se, in effetti, per qualche strano incidente della natura, ogni mossa che un giocatore di scacchi del mondo avesse fatto d'ora in poi, sarebbe valida (nessuno avrebbe mai fatto errori o avrebbe tentato di imbrogliare e persino le persone all'oscuro delle regole degli scacchi inizierebbe a spingere i pezzi degli scacchi in modo casuale su tutta la linea, ma accidentalmente sempre secondo le regole), ciò non ci convincerebbe che esiste una legge della natura (o una legge della logica) che ha costretto tutto questo. Lo considereremmo puramente accidentale.

Ludwig Wittgenstein coprì un terreno simile nelle sue Ricerche filosofiche . Insiste sul fatto che qualsiasi serie di osservazioni è conforme a molte regole arbitrarie e persino contrastanti. Ad esempio, se tutte le partite di scacchi da me osservate si sarebbero verificate nel pomeriggio, allora la mia regola potrebbe essere nel pomeriggio il vescovo può essere spostato solo in diagonale . Che l'ora del giorno non sia importante per il gioco è qualcosa che non avrei potuto osservare da me poiché non ho osservato le partite di scacchi in diversi momenti della giornata. O, per inciso, se non ho mai visto una donna giocare a scacchi, allora la regola potrebbe essere che il vescovo può essere mosso solo dagli uomini. Ciò che è rilevante per un'osservazione e ciò che non lo è è determinato come prerequisito per l'osservazione e non può far parte dell'osservazione stessa.

A proposito: la soluzione di Wittgenstein al problema è abbastanza simile a quella di Goodman. Non rovinerò la sorpresa, però;-)

Addendum:

Nei giorni in cui Sussman era un novizio, Minsky una volta venne da lui mentre sedeva hackerando il PDP-6.

"Che cosa stai facendo?", Chiese Minsky. "Sto allenando una rete neurale a caso per giocare a Tic-tac-toe", rispose Sussman. "Perché la rete viene cablata casualmente?", Chiese Minsky. "Non voglio che abbia preconcetti su come giocare", ha detto Sussman.

Minsky poi chiuse gli occhi. "Perché chiudi gli occhi?" Chiese Sussman al suo insegnante. "In modo che la stanza sia vuota." In quel momento, Sussman fu illuminato.


-4

No

Perché semplicemente apprendere i modelli (attraverso il quale sia sempre il metodo) non equivale a "imparare a giocare a scacchi in modo ottimale".

Ciò richiede pianificazione e strategia, che è molto distinta dal semplice apprendimento di schemi prestabiliti.


1
In realtà non lo sai; inoltre, la domanda è se sia possibile (per un computer, ma gli stessi vincoli si applicherebbero probabilmente anche agli umani) imparare le regole reali degli scacchi semplicemente analizzando giochi di esempio.
martedì

1
Penso che tu abbia frainteso la domanda ...
maple_shaft

Dopo aver lavorato (tesi di laurea) con AI (reti neurali), sono abbastanza sicuro che non possa. A meno che tu non abbia prove per dire diversamente, non puoi semplicemente dire "non lo sai"
Darknight
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.