Bot per giocare a briscola

di il
3 risposte

Bot per giocare a briscola

Sto sviluppando un progetto di intelligenza artificiale che impari a giocare a briscola, con l'obiettivo di realizzare un agente che riesca a competere o battere un giocatore esperto umano.

Vorrei chiedervi:
– Qual è secondo voi il miglior approccio per insegnare a un'IA a giocare a un gioco di carte come la briscola, che è un gioco ad informazione imperfetta?
– Ha senso partire da un modello rule-based con memoria perfetta e poi affiancarlo a metodi di reinforcement learning (come DQN, PPO o simili)?
– Può avere senso l’uso di Monte Carlo Tree Search o varianti per giochi a informazione parziale?
– Che tipo di risultati sono realisticamente raggiungibili con questi approcci, rispetto a un giocatore umano esperto che tiene memoria delle carte giocate?

Ogni spunto o riferimento a paper/articoli simili su giochi a informazione imperfetta è ben accetto!

3 Risposte

  • Re: Bot per giocare a briscola


    1) Reinforcement Learning, ovviamente. E' fatto apposta.
    2) cosa intendi per modello "rule-based"? Ad esempio? Era  il vecchio approccio basato sulle funzioni "euristiche" dove uno "precodificava" le regole.
    Ma "memoria perfetta"???? 
    3) no: i sistemi Monte carlo vanno bene per trovare un "comportamento/risultato medio" e NON IMPARANO
    4) diciamo che SE il sistema che ha imparato a giocare a Go, gioco strategico stratosfericamente complesso, riesce quasi a battere i campioni, potresti ottenere un buon risultato.
    .
    La regola dei casino' di "non contare le carte" e' semplicemente una "scemenza"!
    Serve solo per far vincere la casa!

    :-)

  • Re: Bot per giocare a briscola

    Ciao, grazie mille per la risposta.

    Per rule-based intendevo proprio un agente iniziale costruito su regole euristiche tipo "gioca la carta più bassa se non puoi prendere", "usa la briscola solo se vale la pena", ecc. L’idea era di usarlo come baseline da confrontare con modelli RL. Per quanto riguarda la "memoria perfetta", intendevo la capacità del bot di ricordare tutte le carte giocate durante la partita, così da stimare meglio cosa potrebbe avere l’avversario. 

    Sul Monte Carlo hai ragione, nella forma classica non è un metodo di apprendimento, ma pensavo a una possibile integrazione alla AlphaZero, dove MCTS viene usato insieme a policy/value network per migliorare la decisione in fase di training o di gioco. Ma forse in un gioco come Briscola è eccessivo rispetto al beneficio...

    Ti chiedo una cosa in più: se evitassi l’approccio rule-based iniziale, quale tipo di impostazione consiglieresti per partire? Ad esempio: partire da zero e apprendere via self-play? Usare imitazione supervisionata da partite umane?

    Se hai suggerimenti su approcci alternativi li accetto volentieri!

  • Re: Bot per giocare a briscola

    Hai gia' il dataset delle regole per il gioco della briscola?
    Hai "dettagliate informazioni" su come AlphaZero e' stato addestrato?

    Se sei alle "prime esperienze" con questi sistemi, ma mi pare di capire che non e' cosi' dalle domande che fai, ti consiglerei di stare "sul semplice".

    Se gia' mastichi NN/RL al livello di essere in grado di implementare un clone di AZ, sei abbondantemente piu' avanti di me :-)
    Io le uso, ma ancora ad un livello "di ricerca" (ci scrivo articoli).

Devi accedere o registrarti per scrivere nel forum
3 risposte