Autore Topic: [ RISOLTO ] Gioco che impara  (Letto 5641 volte)

Offline Will32

  • Maestro Gambero
  • ****
  • Post: 273
  • Evviva Linux e la Programmazione
    • Mostra profilo
    • TuttoComputer
[ RISOLTO ] Gioco che impara
« il: 26 Marzo 2010, 16:14:50 »
Ciao sono sempre io.
Mi è venuta in mente un'idea : fare un gioco ( quello di tris ) che impara da solo .
Per il gioco non c'è nessun  problema ma , che codice devo usare per far si che il programma si migliori ogni volta che gioca ?
 ;D

Se vi puo interessare, partecipate !
« Ultima modifica: 04 Aprile 2010, 15:34:22 da Will32 »

Visita le comunità di Gambas, programma e diventa nostro amico :2birre:

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Gioco che impara
« Risposta #1 il: 26 Marzo 2010, 17:06:06 »
utilizzare un database dove salva le partite così da non comemttere più lo stesso errore o da rifarlo nel caso sia vincente.
potresti creare l'intelligenza artificiale per il gioco, non dovrebbe essere tanto complicato
il mio nuovo sito : ealmuno.com

Offline Will32

  • Maestro Gambero
  • ****
  • Post: 273
  • Evviva Linux e la Programmazione
    • Mostra profilo
    • TuttoComputer
Re: Gioco che impara
« Risposta #2 il: 26 Marzo 2010, 19:10:52 »
E come faccio a far stabilire al programma qual 'è l'errore che ha commesso ??
 ;D

Visita le comunità di Gambas, programma e diventa nostro amico :2birre:

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Gioco che impara
« Risposta #3 il: 26 Marzo 2010, 19:34:19 »
Puoi fare un ragionaemnto a ritroso.
Se l'ultima mossa che ha fatto l'ha fatto perdere non è buona.
Poi valuti se facendo quella (penultima) mossa perde una volta su due allora non è buona e così via

oppure puoi studiarti l'albero del gioco.
Se mette al centro devi mettere in uno dei quattro lati, poi devi salvarti dal suo tris
eccetera.... le possiblità non sono infinite.....
il mio nuovo sito : ealmuno.com

Offline Will32

  • Maestro Gambero
  • ****
  • Post: 273
  • Evviva Linux e la Programmazione
    • Mostra profilo
    • TuttoComputer
Re: Gioco che impara
« Risposta #4 il: 26 Marzo 2010, 19:49:29 »
E per quanto riguarda il gioco, come mi consigli di farlo ?
Io avevo pensato ad un timer che fa cambiare turno appena l'utente o il computer seleziona uno dei button disposti nel seguente modo :

    x      x      x

    x      x      x

    x      x      x

Cosa ne pensi ?  ;D

Visita le comunità di Gambas, programma e diventa nostro amico :2birre:

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Gioco che impara
« Risposta #5 il: 26 Marzo 2010, 19:55:15 »
allora io ti consiglio di usare le picturebox, il turno cambia appena uno clicca in una di esse.
usi la proprietà picture.load per caricare l'immagine X o O
valuti il tutto con una matrice, salvando il valore messo.
Poi controlli se nella riga o nella colonna o nella diagonale ho tre valori uguali, se è così la partita è finita.
il mio nuovo sito : ealmuno.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Gioco che impara
« Risposta #6 il: 27 Marzo 2010, 00:28:34 »
Puoi fare un ragionaemnto a ritroso.
Se l'ultima mossa che ha fatto l'ha fatto perdere non è buona.
Poi valuti se facendo quella (penultima) mossa perde una volta su due allora non è buona e così via

oppure puoi studiarti l'albero del gioco.
Se mette al centro devi mettere in uno dei quattro lati, poi devi salvarti dal suo tris
eccetera.... le possiblità non sono infinite.....


Scusa se mi permetto ma penso che tale sistema nel caso del tris non funzioni..secondo me fai prima a scrivere un programma già "intelligente" piuttosto che uno che impari...nel tris la mossa dipende dalla situazione e tenendo presente che tali situazioni sono limitate (visto che le caselle sono poche e i giocatori solo 2).....

Se will32 usa il sistema da te presentato va a finire che il gioco riconoscerà, con l'andare del tempo, il 99% delle mosse sbagliate...

Offline Will32

  • Maestro Gambero
  • ****
  • Post: 273
  • Evviva Linux e la Programmazione
    • Mostra profilo
    • TuttoComputer
Re: Gioco che impara
« Risposta #7 il: 27 Marzo 2010, 08:58:41 »
Questa era la logica del programma :

- se io vinco la partita , il programma registra le sue mosse e, se le condizioni si ripeteranno , non userà più quella sequenza
- se invece io perdo, il programma registra le mosse come ' valide ' per vincere un ' altra partita

 ;D

Visita le comunità di Gambas, programma e diventa nostro amico :2birre:

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Gioco che impara
« Risposta #8 il: 27 Marzo 2010, 15:54:49 »
@ceskho, in effetti gli avevo messo anche l'oppure, e mi trovo in accordo con te.
il mio nuovo sito : ealmuno.com

Offline Will32

  • Maestro Gambero
  • ****
  • Post: 273
  • Evviva Linux e la Programmazione
    • Mostra profilo
    • TuttoComputer
Re: Gioco che impara
« Risposta #9 il: 27 Marzo 2010, 16:03:18 »
Citazione
Se will32 usa il sistema da te presentato va a finire che il gioco riconoscerà, con l'andare del tempo, il 99% delle mosse sbagliate

Scusa Ceskho ma , come fa a riconoscere il 99% delle mosse sbagliate con questo ragionamento :

Citazione
- se io vinco la partita , il programma registra le sue mosse e, se le condizioni si ripeteranno , non userà più quella sequenza
- se invece io perdo, il programma registra le mosse come ' valide ' per vincere un ' altra partita

@Ealmuno , io avevo pensato di usare le label e disporle nel seguente modo :

1     2     3

4     5     6

7     8     9

Così che si vince quando il testo di 123 o 456 o 789 o 159 o 357 o 147 o 258 o 369 è uguale a tutte e tre .
Che ne pensi ??  ;D

Visita le comunità di Gambas, programma e diventa nostro amico :2birre:

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Gioco che impara
« Risposta #10 il: 27 Marzo 2010, 16:12:47 »
come idea funziona, ora bisogna solo implementarla.


creare un gioco che impara è sempre complicato, perchè una mossa che una volta viene trovata come non vincente allora nn la userà più, facendo così ogni volta che perde non farà più quelle mosse per cui alla fine arrivi con mosse tutte sbagliate
il mio nuovo sito : ealmuno.com

Offline Will32

  • Maestro Gambero
  • ****
  • Post: 273
  • Evviva Linux e la Programmazione
    • Mostra profilo
    • TuttoComputer
Re: Gioco che impara
« Risposta #11 il: 27 Marzo 2010, 16:21:58 »
Se a qualcuno interessa iniziare a scrivere il codice ... !
Iniziamo solo con il gioco , per l'intellgenza artificiale , ci pensiamo poi dopo ( quando abbiamo fatto il resto   ;D )

P.S : Sono ben graditi anche solo pezzettini di codice da assemblare  
        Cercate Pixel , lui è famoso per la grafica !!  :P
« Ultima modifica: 27 Marzo 2010, 16:24:41 da Will32 »

Visita le comunità di Gambas, programma e diventa nostro amico :2birre:

Offline ealmuno

  • Maestro Gambero
  • ****
  • Post: 388
    • Mostra profilo
    • http://www.ealmuno.com
Re: Gioco che impara
« Risposta #12 il: 27 Marzo 2010, 16:33:43 »
per adesso sto facendo un altro progetto, è un gioco come il tuo, le basi sono le stesse, se hai problemi chiedii pure.
il mio nuovo sito : ealmuno.com

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Gioco che impara
« Risposta #13 il: 27 Marzo 2010, 17:59:28 »
@ will32

Tieni presente che a tris si può perdere in tutti i casi possibili che possono presentarsi nel gioco. Così facendo basterà poco per far si che il gioco dopo un tot di sconfitte riconosco la maggior parte delle mosse come sbagliata e finisca per eseguire solo quelle poche mosse che lui ritiene giuste. SE poi perde anche con tali mosse allora le operazioni da fare per lui diventano sempre meno e più gioca quelle e più ha il rischio di perdere con la conseguenza che alla fine non saprà più che fare!

Offline Will32

  • Maestro Gambero
  • ****
  • Post: 273
  • Evviva Linux e la Programmazione
    • Mostra profilo
    • TuttoComputer
Re: Gioco che impara
« Risposta #14 il: 27 Marzo 2010, 18:10:56 »
Allora, che altro gioco mi consigli di fare ?  ;D

Visita le comunità di Gambas, programma e diventa nostro amico :2birre: