Forum pubblico/privato: Pubblico
Permessi di scrittura: Utenti registrati
Giorno: 22/08/2014, 13:25:31
Lucaschess wishlist
X Orcodituapse.

Ciao, Orco, vorrei sottoporre a tuo giudizio questa idea di modifica evolutiva.

Introdurre la possibilità di giocare contro profili di "impostazione forza" personalizzati in base alla probabilità che, in un turno di gioco, possa essere selezionato uno specifico attributo di "Impostazione forza"

Esempio di Profilo:

- "Mossa migliore" 10%
- "Mantiene il vantaggio" 20%
- "Simile al giocatore" 30%
- "Mantiene lo svantaggio" 30%
- "Mossa peggiore" 10%

Impostando questo profilo, l'engine giocherà una volta su dieci mosse migliori/peggiori e via dicendo.


Che ne pensi?
Un salutone,ciao.gif

Stolcius

P.S.
A quando la prossima major release di LC? certocerto.gif
Giorno: 06/07/2022, 11:45:46
Link sponsorizzati
Giorno: 23/08/2014, 01:08:55
Idea molto interessante. Speriamo che la facci. ciao.gif biggrin.gif
Giorno: 23/08/2014, 10:49:52
Antonio Valle ha scritto:
Idea molto interessante. Speriamo che la facci.

L'idea è che randomizzando sapientemente l'euristica relativa alla selezione delle mosse si possa simulare un comportamento "umanoide"(sto un po' esagerando, lo so!) e chissà, magari anche superare il famigerato
"Test di Turing" (altra esagerazione, ma, concedimelo: oltre ad essere una schiappa invereconda nel gioco otb sono altresì un sostenitore dell'I.A. forte, e, come tale, convinto che prima o poi i programmi scacchistici lo supereranno!).

Se poi volessimo aggiungere altra succulenta carne all'insetinguibile fuoco della fantasia, sarebbe ancor più "Turing compliant" legare questi profili di randomizzazione a precisi scenari(mediogioco, finale, deciso incremento della pressione posizionale).

Esempio: il programma valuta che si sia entrati in finale e passa dal "Profilo1" al "Profilo2".

Per quanto io ne sappia, LC dovrebbe avere tutti i razionali per conseguire queste implementazioni.

Un salutone,
Stolcius
Giorno: 25/08/2014, 17:33:41
L'idea è abbastanza originale e stuzzicante.
Non dovrebbe essere troppo difficile peraltro da realizzare.
Il problema è che però un conto è se applichi lo stesso profilo a stockfish, un altro è se lo applichi a un motore uci scarso come per esempio nejmet o aice...
Ovvero: l'umanizzazione del gioco di sicuro aumenta, ma di fatto contro chi/cosa stai giocando?
Che elo ha (in quale hardware?)?
Invece voglio postare una mia partita di qualche giorno fa, dove annichilisco una personalità di seconda generazione (io sono il bianco):


You need Javascript enabled to view it.









Mi pare di poter dire che il nero abbia fatto tutte mosse ragionevoli tranne due/tre errori di calcolo molto umani.
Giorno: 25/08/2014, 18:15:11
Bentrovato, Orco!

Capisco la tua riserva: in effetti il problema risiede nella categorizzazione della forza; quest'ultima, infatti, sarebbe indeterminabile in quanto legata a troppe variabili contingenti(vuoi l'HW, vuoi il tipo di engine).

Una soluzione, però, e correggimi se mi dovessi sbagliare, potrebbe essere quella già adottata da LC.

Vale a dire:
- utilizzare un motore di default;
- impostare l'engine a una profondità fissa

Così facendo, l'euristica conseguirebbe lo stesso responso, ceteris paribus(con lo stesso seme di randomizzazione), su qualsivoglia HW.

Ho dato un'occhiata alla tua partita.

Interessante! cool.gif

Veramente "Turing Compliant"!

Qual è la forza presuntiva della personalità che hai
polverizzato?

Un salutone,
Stolcius

P.S.
Come è andato il concorso?
Giorno: 26/08/2014, 11:20:37
L'avversario era sui 1630, direi che ci siamo tupitupi.gif!
Il concorso è andato male (103th su circa 1100 aspiranti incupito.gif).
In realtà il mio dubbio più grande riguarda il fatto che questa ulteriore possibilità di handicap andrebbe contro i principali atout del programma, e cioè che lucaschess deve essere leggero con l'hardware, phottutamente leggero.
Invece in questo modo, si creerebbe un'alternativa pesante a lucas-elo, in quanto in questo caso l'hardware gira a tutta (o almeno metà se il motore è a 32 bits).
Ad ogni modo, se uno ci fa caso, ci sono già tre impostazioni che ottengono un output simile: cioè i livelli alto, inermedio e basso.
L'ideale sarebbe una finestra di dialogo dove poter inserire 5 numeri (che devono dare 100 in totale) che rappresentano le 5 possibilità (mossa migliore, peggiore, mantiene vantaggio, mantiene svantaggio e simile al giocatore).
la cosa si complicherebbe ma sarebbe la scelta ideale perchè a quel punto veramente uno potrebbe costruirsi su misura l'avversario (per esempio un cappellatore pazzo, oppure uno preciso ma non così incisivo al momento di vincere...).
Non prometto niente anche perchè non dipende solo da me: i posso buttar giù qualche riga di codice e vedere se la cosa funziona ma bisogna vedere se poi lucas è d'accordo ad implementare il tutto senzasperanza.gif!
Giorno: 26/08/2014, 12:30:12
L'avversario era sui 1630, direi che ci siamo

Sì, lo penso anch'io.

Sai, credo che sarebbe davvero interessante dare l'abbrivo a un "Test di Turing" utilizzando le personalità che hai imbastito.

Si potrebbe intraprendere in un circolo di scacchi, oppure via telematica.

Modalità:
1) Si seleziona una giuria di giocatori esperti
2) Si selezionano alcuni giocatori umani di varie
categorie di Elo(e.g. 1600, 1800 e 2000)
3) Si predispongono alcune personalità
LC di Elo analogo
4) Ogni giocatore del punto 1 disputa una serie
di partite "black box"
(senza sapere se ha di fronte un umano o un bot)
con selezioni random dei punti 2/3
5) Al termine di ogni partita, i giocatori della giuria
dovranno inquadrare l'avversario come umano/bot
e fornirne una stima presuntiva dell'Elo

N.B. Ovviamente, i giocatori della giuria dovranno giocare sempre come se avessero di fronte un avversario umano; quindi senza utilizzare impianti "anti-engine"

Alla fine della fiera, analizzando i parametri di tutti i bot che hanno superato il Test di Turing(sempreché lo superino, ma sono confidente...), si potrebbe costruire un modello più affidabile di giocatore "umanoide".

Il concorso è andato male (103th su circa 1100 aspiranti incupito.gif).
Mi dispiace: sono sicuro che la prossima volta darai senz'altro scaccomatto! :-)

L'ideale sarebbe una finestra di dialogo dove poter inserire 5 numeri (che devono dare 100 in totale) che rappresentano le 5 possibilità (mossa migliore, peggiore, mantiene vantaggio, mantiene svantaggio e simile al giocatore).

Sì, era quello che intendevo.
---
Concludendo, volevo chiederti se hai letto le mie elucubrazioni sugli "opening book intelligenti"(post) e che cosa ne pensi.

Un salutone,
Stolcius