Come vincere sempre a Sasso, Carta e Forbici. Come vincere nel gioco sasso-carta-forbici? (implementazione della strategia ottimale in Wolfram Mathematica)

Traduzione di un post di Jon Mcloone, Direttore del business internazionale e dello sviluppo strategico presso Wolfram Research. Post originale: Come vincere a Sasso-Carta-Forbice
Scarica il post come documento di Mathematica

Da un punto di vista matematico il gioco sasso-carta-forbici (vedi appendice 1 alla fine) non è particolarmente interessante. La strategia di equilibrio di Nash è molto semplice: scegli casualmente e con uguale probabilità tra tre opzioni e, dato un gran numero di partite, né tu né il tuo avversario potrete vincere. Tuttavia, quando si calcola la strategia utilizzando un computer, è ancora possibile battere una persona dopo un gran numero di giochi.

Mia figlia di nove anni mi ha mostrato un programma che ha creato utilizzando Scratch che ha vinto assolutamente ogni volta semplicemente tenendo traccia delle scelte che hai fatto prima di fare le tue! Ma ti presenterò una soluzione semplice che batte una persona con sasso-carta-forbici senza imbrogliare.

Poiché è impossibile sconfiggere qualcuno che fa sempre una scelta del tutto casuale, conteremo sul fatto che le persone non sono molto casuali. Se il computer riesce a notare lo schema che segui nei tuoi tentativi di essere casuale, sarà un passo avanti nel predire le tue azioni future.

Stavo pensando di creare un algoritmo come uno degli argomenti del nostro corso di statistica secondo il concetto di matematica basata sul computer. Ma il primo articolo in cui mi sono imbattuto nella mia ricerca di algoritmi predittivi esaminava la soluzione utilizzando un progetto complesso basato su distribuzioni di copule. Questa soluzione era difficile da comprendere per uno studente (e forse anche per me), quindi ho deciso di sviluppare una soluzione più semplice che potessi spiegare in termini semplici. E anche se è già stato sviluppato in precedenza, è molto più divertente creare le cose a modo tuo che trovarne un'implementazione già pronta.

Per cominciare, dobbiamo solo poter avviare il gioco. A quel tempo era già stata sviluppata ed era disponibile una demo che permetteva di giocare a sasso-carta-forbice, ma non era proprio quello di cui avevo bisogno, quindi ho scritto la mia versione. Questo punto non richiede molte spiegazioni:

Nella maggior parte dei casi, questo codice descrive l'interfaccia utente e le regole del gioco. L'intera strategia del giocatore computerizzato è contenuta in questa funzione:

Dove 1 corrisponde al sasso, 2 alla carta e 3 alle forbici. Questa è la soluzione ottimale. Non importa come giochi, vincerai tanti giochi quanto il computer e la tua percentuale di vincita si aggirerà intorno allo zero.

Quindi ora sarebbe interessante riscrivere la funzione scegliVai per fare un pronostico sulla tua scelta utilizzando i dati delle ultime partite memorizzati nella variabile storia. Il primo passo è analizzare le scelte fatte nelle ultime partite e trovare tutte le occorrenze di qualsiasi sequenza. Osservando cosa ha fatto una persona in ogni gioco successivo, possiamo rilevare un certo modello di comportamento.

Il primo argomento della funzione è la storia dei giochi passati. Ad esempio, nell'insieme di dati riportato di seguito, il computer (la seconda colonna è il secondo elemento di ciascuna sottolista) ha appena giocato una carta (il numero 2) contro una pietra giocata da un essere umano (il numero 1). Questo può essere visto dall'ultimo elemento dell'elenco. È anche chiaro che questa situazione si è già verificata due volte, ed entrambe le volte la mossa successiva della persona è stata ancora una volta una pietra.

Il secondo argomento è il numero degli ultimi elementi della cronologia che verranno utilizzati per la ricerca. In questo caso, il numero 1 viene passato come argomento alla funzione, che ricerca nei dati solo le occorrenze di (1,2). Se scegliamo 2, la funzione cercherà le occorrenze della sequenza (3,2), (1,2) e restituirà una lista vuota, poiché tale sequenza non è stata precedentemente incontrata.

Terzo argomento Tutto, indica che nelle sequenze richieste sia le mosse umane che quelle del computer devono coincidere. L'argomento può essere cambiato in 1 per guardare solo la storia delle mosse della persona (cioè assumendo che la scelta umana dipenda solo dalle sue mosse precedenti), o 2 per guardare solo la seconda colonna, cioè la storia delle mosse del computer (assumendo cioè che una persona risponda alle mosse precedenti del computer indipendentemente da quali mosse abbia fatto lui stesso e, quindi, indipendentemente dal fatto che abbia vinto o perso).

Ad esempio, in questo caso troviamo che la persona ha scelto la pietra, indipendentemente da ciò che ha scelto il computer negli stessi giochi.

Data la grande quantità di dati, possiamo solo accontentarci di un argomento Tutto, e il programma sarà in grado di decidere da solo quali mosse, quelle del computer o quelle della persona, sono più importanti. Ad esempio, se la cronologia delle mosse di un computer viene ignorata da un essere umano quando effettua una scelta, allora il set di dati ottenuto per una certa cronologia delle mosse del computer avrà la stessa distribuzione di qualsiasi altra cronologia delle mosse del computer, a condizione che ci siano dati sufficienti sui giochi precedenti. Cercando tra tutte le coppie di giochi, otteniamo lo stesso risultato che avremmo ottenuto se prima avessimo selezionato i dati dalla cronologia delle mosse del computer e poi avessimo utilizzato questo sottoinsieme per la funzione mostrata sopra. Lo stesso accadrà se conta solo la cronologia delle mosse del computer. Ma allo stesso tempo, effettuando una ricerca tenendo conto di entrambi questi presupposti separatamente, è possibile ottenere corrispondenze più accurate nella cronologia, e questo è più evidente nei casi in cui il set di dati sui giochi è inizialmente piccolo.

Quindi, da questi due test, possiamo scoprire che il primo dà una stima del 100% che la prossima scelta della persona sarà una pietra, e il secondo mostra che con una probabilità del 75% la persona sceglierà una pietra e con una probabilità del 25% probabilità - forbici.

E qui sono un po' bloccato nel risolvere il problema.

In questo caso le due previsioni sono almeno più o meno vicine nel risultato, anche se divergono nei valori numerici delle probabilità. Ma se stai effettuando una ricerca in tre "sezioni" di dati con una serie di lunghezze storiche diverse e i risultati della previsione non sono coerenti, come puoi combinarli?

Ho archiviato una nota su questo problema nella mia cartella "Scrivi un blog su questo" e me ne sono dimenticato fino a poche settimane fa, quando c'è stata una discussione su come coprire il concetto di "significatività statistica" in un corso di matematica basata sul computer.

Mi sono reso conto che la domanda non è come combinare le previsioni risultanti, ma come determinare quale delle previsioni è più significativa. Una delle previsioni potrebbe essere più significativa delle altre perché riflette una tendenza più forte o forse si basa su un set di dati più ampio. Questo non mi importava, quindi ho semplicemente utilizzato il valore p del test di significatività (con l'ipotesi nulla che entrambi i giocatori stiano giocando per caso) per classificare le previsioni risultanti.

Penso che dovrei ascoltare i nostri primo principio che il primo passo per risolvere qualsiasi problema matematico è “la corretta formulazione della domanda”.

Ora, se prendiamo l'ultimo risultato ottenuto, risulta che la migliore previsione è la pietra, che ha un valore p di 0,17. Ciò significa che esiste solo una probabilità pari a 0,17 che i dati utilizzati per una determinata previsione si discostino dalla distribuzione discreta uniforme ( Distribuzione uniforme discreta[(1,3)]), e più per caso che per errore sistematico, umano o di altro tipo, che potrebbe modificare la distribuzione.

Più piccolo è questo valore p, più possiamo essere sicuri di aver trovato un vero modello di comportamento. Quindi facciamo semplicemente previsioni per varie lunghezze storiche e sezioni di dati e selezioniamo la previsione con il valore p più piccolo.

E facciamo una scelta che batterà la scelta della persona.

Qui vedi il risultato. Puoi scaricarlo e provarlo tu stesso dal sito Web Wolfram Demonstrations.

Quando un programma ha troppo pochi dati, viene riprodotto in modo casuale, quindi inizi su un piano di parità. All'inizio, quando sta appena iniziando a imparare, prende delle decisioni stupide, così puoi andare avanti. Ma dopo 30-40 partite inizieranno ad arrivare pronostici davvero significativi e vedrai la tua percentuale di vincita andare nell'area negativa e rimanere lì.

Naturalmente, una soluzione del genere è valida solo contro i tentativi primitivi di apparire casuali. La sua prevedibilità lo rende suscettibile a possibili perdite rispetto a una strategia ben calcolata e pianificata. È estremamente interessante provare a sconfiggere questo programma usando l'intuizione. È possibile, ma se smetti di pensare o pensi troppo, presto rimarrai indietro. Naturalmente, il programma potrebbe farlo facilmente utilizzando lo stesso algoritmo per prevedere la prossima mossa del programma.

Questo approccio porta all’inizio di una sorta di “corsa agli armamenti”, una competizione per scrivere algoritmi che vinceranno sasso-carta-forbice contro l’algoritmo dell’avversario, e l’unico modo per fermarla è tornare alla strategia di equilibrio di Nash, facendo scelte attraverso InteroCasuale[(1,3)].

Appendice 1
Nel caso in cui non sai come giocare a questo gioco, le regole sono le seguenti: scegli sasso, carta, forbici, usando uno dei tre gesti mostrati simultaneamente da te e dal tuo avversario. La roccia batte le forbici (le rende opache), le forbici battono la carta (la tagliano) e la carta batte la roccia (la avvolge). Il vincitore riceve un punto; in caso di parità entrambi i giocatori non ricevono punti.

Grazie per il tuo aiuto nella traduzione di questo post.

Dio solo sa quante situazioni controverse durante l'infanzia sono state risolte giocando a "Sasso, carta, forbici". Perché ci sono i bambini, ci sono tanti ragazzi grandi che trovano una facile via d'uscita in pochi secondi e in un cartello scartato. Allora cosa si nasconde dietro il semplice lancio delle dita: il caso o una strategia collaudata? Gli scienziati conoscono fermamente la risposta e danno la loro ricetta vincente.

Proprio di recente, un team di ricercatori cinesi dell’Università di Zhejiang ha notificato al mondo gli audaci risultati dei loro test psicologici. Gli scienziati hanno condotto 5 cicli sperimentali dal dicembre 2010 al marzo di quest'anno. Ogni ciclo prevedeva 12 sessioni con 6 partecipanti. In totale, il numero totale di soggetti ha raggiunto 360 persone. Il rapporto tra i sessi era 217:143 con una preponderanza femminile (semplicemente le ragazze erano più attive nell'iscriversi). Uno studente o un dottorando può partecipare allo studio una sola volta.

Le persone erano nascoste l'una dall'altra, davanti agli schermi dei monitor. Ciò ha eliminato il contatto verbale e visivo. Ciascun partecipante ha trascorso da un'ora e mezza a due ore giocando a 300 giochi con un avversario casuale. L'incentivo per vincere era una piccola ricompensa monetaria per ogni round vinto. Ed ecco le conclusioni da questo...

Allora cosa devi sapere per vincere? Dopo aver osservato un numero enorme di "battaglie", gli scienziati hanno scoperto che un giocatore che ha sconfitto il suo avversario nel gioco in corso aveva maggiori probabilità di ripetere le sue azioni nel turno successivo e meno probabilità di cambiare qualcosa.

D'altra parte, se un giocatore perde due o più volte di seguito, smetterà di mostrare la mano cattiva e cercherà di rompere proprio il segno che ha permesso al suo avversario di batterlo.

Pertanto, se il giocatore A fosse in una serie di sconfitte e il giocatore B avesse appena gettato via le forbici, tagliando così la carta di A, allora A avrebbe probabilmente lanciato una pietra, che avrebbe avuto buone possibilità di vincere, poiché B probabilmente avrebbe attaccato la carta. stesse tattiche vincenti. La psicologia del comportamento è semplice: se vinci non cambi, se perdi cambi.

Perduto? Scarta il segno che batte l'ultimo segno vincente del tuo avversario.

Hai vinto? Non continuare a mostrare lo stesso segno, butta via invece l'ultima mano del tuo avversario perdente.

Non è ancora del tutto chiaro? Ecco alcune strategie vincenti che ti aiuteranno a rimanere invincibile:

Se hai vinto l'ultima partita...

Se hai perso l'ultima partita (e il tuo avversario non è a conoscenza di questa tecnica)...

  • ...dopo aver gettato via la pietra, passa alle forbici nel combattimento successivo
  • ...buttando via le forbici, passa alla carta nel prossimo combattimento
  • ...buttando via la carta, passa alla pietra nel prossimo combattimento

Se hai perso l’ultima partita (e il tuo avversario è a conoscenza di questa tecnica)…

  • ...butta via la pietra, vai sul foglio nel prossimo combattimento
  • ...buttando via le forbici, passa alla pietra nel prossimo combattimento
  • ...buttando via la carta, passa alle forbici nel prossimo combattimento

Puoi familiarizzare più in dettaglio con la metodologia di ricerca fornita al pubblico dagli scienziati cinesi. Naturalmente è scritto in inglese e contiene schemi e formule difficili da comprendere per chi è lontano dalla matematica.

E in conclusione, aggiungerò che la colpa per aver perso auto, case e mogli in “sasso, carta, forbici”, prima di tutto, dovrebbe essere attribuita alla propria passione, e non alle menti cinesi e all'autore di queste righe .

BENJAMIN JAMES DYSON, Docente di psicologia presso l'Università britannica del Sussex, coautore dello studio “The Impact of Negative Outcomes on Irrational Decision Making in the Game of Rock, Paper, Scissors”:

1 ___________

Un giorno ho visto due miei tesisti giocare a sasso, carta e forbici davanti al mio ufficio per vedere chi avrebbe iniziato per primo. Uno di loro era fiducioso della sua vittoria, ho chiesto perché, abbiamo iniziato a considerare le possibili strategie e alla fine abbiamo scritto un intero studio insieme. Eravamo curiosi di dimostrare che il processo decisionale in questo gioco è influenzato dalle emozioni e di dimostrare esattamente come. Non abbiamo deciso di imparare come vincere sempre, ma lungo il percorso abbiamo scoperto quali modelli comportamentali contribuiscono a questo. Ad esempio, nel primo turno, la maggior parte dei giocatori sceglie inconsciamente una pietra. Non è nemmeno associato all'affidabilità, è solo che iniziamo il gioco con questo gesto quando agitiamo il pugno. Pertanto nel primo gioco è meglio “buttare via” la carta.

2 ___________

La persona media fa così: se un oggetto viene vinto, l'euforia della vittoria ti fa scommettere di nuovo su di esso - ci piace fare cose per le quali riceviamo una ricompensa. E viceversa, se scommetti sulle forbici e perdi, nel turno successivo molto probabilmente cambierai tattica, scegliendo un oggetto più forte: una pietra. In effetti, devi guardare cosa sceglie il tuo avversario. Se perde, ripeti la sua scommessa nel turno successivo e, se vince, scommetti su una scommessa più forte.

3 ___________

Agire in base al comportamento del tuo avversario è una strategia intelligente, ma cosa succede se l'avversario capisce cosa stai facendo e sta cercando di adattarsi? Allora il gioco diventa molto più difficile. In questa situazione, c'è solo un modo per proteggersi dalla perdita: mescolare le strategie in modo casuale in modo che le tue azioni non siano prevedibili. Una volta puoi anche arrenderti di proposito.

3 ___________

Il nostro obiettivo non era insegnare alle persone a imbrogliare, ma costringerle a riconsiderare le decisioni dettate dalle emozioni. Sia il fallimento che la vittoria ci rendono vulnerabili a modo loro. L'errore descritto nel nostro studio viene spesso ripetuto dai giocatori di roulette, che seguono inconsapevolmente il principio della Martingala: dopo aver scommesso sul nero o sul rosso e aver vinto, continuano ostinatamente a scommettere solo sul colore “fortunato” e vanno rapidamente in rovina. I giocatori di poker professionisti sanno che anche quando perdi, puoi realizzare un profitto se mantieni la calma.

5 ___________

31 partecipanti allo studio hanno giocato 6.975 volte a “Sasso, carta, forbici”; l'avversario era un programma per computer che funzionava secondo una strategia di equilibrio misto. Dopo aver giocato un "pareggio", i giocatori iniziano a comportarsi come se avessero perso, perché a livello subconscio il "pareggio" è percepito come una sconfitta. Al campionato internazionale Sasso, Carta, Forbici, svoltosi il 16 aprile al pub Green Man di Londra, hanno partecipato giocatori provenienti da 196 paesi.

“Sasso, carta, forbici” è un gioco familiare a tutti fin dall'infanzia, che ha risolto anche le controversie maschili più gravi. Ho sempre pensato che questo gioco fosse basato solo sulla fortuna, ma questo è lontano dalla verità. Oggi "Così semplice!" ti svelerà alcuni piccoli segreti che ti permetteranno di vincere sempre a questo gioco. E poi viaggerai sul sedile anteriore e qualcun altro correrà a prendere la birra.

Il segreto per vincere Sasso, Carta, Forbici

Se hai già dimenticato le regole, lascia che te lo ricordi: la pietra rompe le forbici che tagliano la carta e la carta copre la pietra.

Un team di ricercatori cinesi dell'Università di Zhejiang ha condotto un numero enorme di esperimenti e osservazioni, i cui risultati ne hanno mostrato alcuni modelli: Un giocatore che sconfigge il suo avversario nella partita in corso molto probabilmente ripeterà le sue azioni nel turno successivo ed è improbabile che cambi qualcosa.

D'altra parte, se il giocatore perde due o più volte di seguito, non verrà più mostrato pessima combinazione e cercherà di infrangere proprio il segno che ha permesso al suo avversario di sconfiggerlo.

Sulla base di ciò possiamo ricavare la seguente strategia vincente:

  • Se perdi, lancia il segno che batte l'ultimo segno vincente del tuo avversario.
  • Se vinci, non continuare a mostrare lo stesso segno, butta invece l'ultima combinazione del tuo avversario perdente.

Alcuni modelli più importanti

  • Molto spesso, il sesso più forte usa prima la pietra, quindi se il tuo avversario è un uomo, prova a lanciare la carta.
  • Se stai gareggiando con un giocatore esperto, c'è un'alta probabilità che provi a giocare sulla tua ingenuità e lanci la carta. Usa le forbici.
  • Ricorda che se il tuo avversario ha già lanciato la pietra due volte di seguito, quella persona odia essere prevedibile e nella maggior parte dei casi utilizzerà le forbici. Lancia una pietra.
  • Guarda le dita del tuo avversario. I più piccoli movimenti ti diranno quale mossa utilizzerà il tuo avversario. Tutte le dita sono tese: pietra. Tutte le dita sono rilassate: carta. Solo due dita sono tese: le forbici.
  • La carta viene utilizzata meno spesso nel gioco, nel 29,6% dei casi. Le forbici vengono utilizzate più spesso - 35%. E ancora più spesso pietra: 35,4%. Usa l'effetto sorpresa.

Racconta al tuo amico questi piccoli trucchi, sarà assolutamente felice di vincere sempre le discussioni con i suoi compagni di classe!

Le varianti del gioco “Sasso, carta, forbici” furono inventate centinaia di anni fa. Ma come la maggior parte dei giochi, questo è più di un semplice colpo di fortuna. Questa è una battaglia di modelli, psicologia e statistica. Vuoi sapere cosa dicono le statistiche, le ricerche e gli esperti sulla vincita di questo gioco?

Psicologia

Secondo l’organizzazione globale Rock, Paper, Scissors, l’idea di buttare via un “sasso” è fatale per i neofiti. Gli uomini fanno questa mossa particolarmente spesso. Si scopre che la scelta di questa mossa ha molto a che fare con l'idea che la "pietra" è percepita come "forte" e "volitiva", motivo per cui gli uomini tendono a sceglierla. E poiché il nemico immaginerà che lancerai la "roccia", devi prima scegliere le "forbici".

La parola ai ricercatori

I ricercatori dell’Università di Zhejiang, specializzati in teoria dei giochi, hanno esaminato i modelli che le persone tendono a scegliere per giocare. Hanno registrato i risultati di gioco di 360 studenti che hanno giocato 20mila round del gioco. Come incentivo, gli studenti che hanno vinto sono stati pagati in denaro.

In tutti i giochi, ciascuna opzione è stata scelta più o meno lo stesso numero di volte, come ci si aspetterebbe. Tuttavia, i ricercatori hanno notato uno schema chiaro nelle tattiche delle persone. Secondo gli scienziati, le persone che vincevano tendevano a impiegare più tempo per scegliere un'azione. D’altra parte, gli studenti che perdevano tendevano ad alternare la scelta di “sasso”, poi “forbici” e poi “carta”. Se vuoi vincere con questi dati, dipenderà dal fatto che il tuo avversario ne sia a conoscenza. Ma se presumiamo che non lo sappia, allora possiamo dire con sicurezza che sceglierà di nuovo la stessa azione se grazie ad essa avesse vinto contro di te.

Giochi mentali

Proprio come in una partita di poker, puoi sconfiggere facilmente il tuo avversario usando il potere machiavellico della suggestione. L'antica tattica di annunciare quale mano giocherai può essere un trucco utile. Finché non stai giocando con qualcuno che pensa che tu sia abbastanza coraggioso da parlare della tua mossa e poi farla davvero, puoi cambiare la mossa con una che batte quella annunciata in precedenza . Quindi, se dici che lancerai "sasso", il tuo avversario lancerà "carta". Ciò significa che le “forbici” ti daranno un pareggio nella peggiore delle ipotesi e una vittoria nella migliore delle ipotesi.

Infine, una volta esaurite le restanti quote, la scommessa più sicura potrebbe essere la carta, dato che statisticamente viene scelta solo il 29,6% delle volte, non il 33,33% che ti aspetteresti.