Hur man alltid vinner på Rock, Paper, Scissors. Hur vinner man på Rock-Paper-Scissors? (implementering av den optimala strategin i Wolfram Mathematica)

Översatt från ett inlägg av Jon Mcloone, chef för internationell affärsverksamhet och strategisk utveckling på Wolfram Research. Ursprungligt inlägg: Hur man vinner på Rock-Paper-Scissors
Ladda ner inlägget som ett Mathematica-dokument

Ur matematisk synvinkel är spelet sten-papper-sax (se bilaga 1 i slutet) inte speciellt intressant. Nash-jämviktsstrategin är väldigt enkel: slumpmässigt och lika sannolikt att välja mellan tre alternativ, och givet ett stort antal spel kan varken du eller din motståndare vinna. Även när man beräknar strategin med hjälp av en dator, är det fortfarande möjligt att slå en person efter ett stort antal spel.

Min nioåriga dotter visade mig ett program hon skapat med Scratch som vann absolut varje gång bara genom att hålla reda på vilket val du gjorde innan du gjorde ditt eget! Men jag kommer att presentera dig för en enkel lösning som slår en person i sten-papper-sax utan att fuska.

Eftersom någon som alltid gör ett helt slumpmässigt val inte kan besegras, kommer vi att förlita oss på att människor inte är särskilt slumpmässiga. Om datorn kan upptäcka mönstret du följer i dina försök att vara slumpmässigt, kommer det att vara ett steg närmare att förutsäga dina framtida handlingar.

Jag funderade på att skapa en algoritm som ett av ämnena i vår statistikkurs inom konceptet datorbaserad matematik. Men den allra första artikeln jag snubblade över när jag letade efter prediktiva algoritmer ansåg lösningen med en komplex struktur baserad på copulafördelningar. Denna lösning var svår för en elev att förstå (och kanske till och med för mig), så jag bestämde mig för att utveckla en enklare lösning som jag kunde förklara i enkla termer. Och även om det redan har utvecklats tidigare är det mycket roligare att skapa saker på sitt eget sätt än att hitta dem färdiga implementeringar.

För att komma igång behöver vi bara kunna starta spelet. På den tiden var redan en demo utvecklad och tillgänglig som låter dig spela sten-pappersax, men det var inte riktigt vad jag behövde, så jag skrev min egen version. Denna punkt kräver inte mycket förklaring:

För det mesta beskriver den här koden användargränssnittet och spelets regler. Hela strategin för datorspelaren finns i denna funktion:

Där 1 motsvarar sten, 2 motsvarar papper och 3 motsvarar sax. Detta är den optimala lösningen. Oavsett hur du spelar kommer du att vinna lika många spel som datorn, och din vinstfrekvens kommer att sväva runt noll.

Så nu skulle det vara intressant att skriva om funktionen välj Gå för att göra en förutsägelse om ditt val med hjälp av de senaste speldata lagrade i variabeln historia. Det första steget är att analysera de val som gjorts under de senaste spelen och hitta alla förekomster av vilken sekvens som helst. Genom att observera vad en person gjorde i varje efterföljande spel kan vi upptäcka ett visst beteendemönster.

Det första argumentet för funktionen är historien om tidigare spel. Till exempel, i datauppsättningen nedan, har datorn (andra kolumnen, det andra elementet i varje underlista) just spelat papper (motsvarande siffran 2) mot en människospelad sten (nummer 1). Detta kan ses från det sista elementet i listan. Det kan också ses att denna situation redan har inträffat två gånger, och båda gångerna var nästa drag av personen igen en sten.

Det andra argumentet är antalet nyare historikelement att söka efter. I det här fallet skickas siffran 1 som ett argument till funktionen, som söker efter data endast efter förekomster av (1,2). Om vi ​​väljer 2, kommer funktionen att leta efter förekomster av sekvensen (3,2), (1,2) och returnera en tom lista, eftersom en sådan sekvens inte har påträffats tidigare.

tredje argumentet, Allt, indikerar att både mänskliga rörelser och datorrörelser måste matcha i önskade sekvenser. Argumentet kan ändras till 1 för att bara titta på människans rörelsehistorik (dvs. anta att det mänskliga valet bara beror på deras tidigare drag), eller 2 för att bara titta på den andra kolumnen, d.v.s. datorns rörelsehistorik (dvs. anta att person svarar på datorns tidigare drag, oavsett vilka drag han själv gjorde och därför oavsett om han vann eller förlorade).

Till exempel i det här fallet finner vi att personen valde efter stenen, oavsett vad datorn valde i samma spel.

Med en stor mängd data kan vi bara klara oss med argumentet Allt, och programmet kommer att kunna avgöra själv vems rörelser, dator eller människa, är viktigare. Till exempel, om en dators flytthistorik ignoreras av en människa under ett val, kommer datamängden som erhålls för vilken datorflyttningshistorik som helst att ha samma fördelning som för någon annan datorflyttningshistorik, förutsatt att det finns tillräckligt med data från tidigare spel. Genom att söka igenom alla spelpar får vi samma resultat som om vi först valt data på datorns rörelsehistorik, och sedan använt denna delmängd för funktionen som visas ovan. Detsamma kommer att hända om bara historien om datorns rörelser spelar roll. Men att söka under båda dessa antaganden separat kan ge bättre historikmatchningar, och detta är mest uppenbart när speluppsättningen är liten till en början.

Så från dessa två kontroller kan vi finna att den första ger en poäng på 100 % att personens nästa val blir en sten, och den andra visar att med 75 % sannolikhet kommer personen att välja en sten och med 25 % sannolikhet - sax.

Och här står jag lite fast i att lösa problemet.

I det här fallet är de två förutsägelserna åtminstone mer eller mindre nära i resultat, även om de skiljer sig åt i de numeriska värdena för sannolikheterna. Men om du tittar på tre "skivor" av data med ett antal olika historiklängder, och resultaten av förutsägelserna är inkonsekventa - hur kombinerar du dem?

Jag lade en anteckning om detta problem i min "Blogga det"-mapp och glömde bort det tills det för några veckor sedan fanns ett argument om hur man skulle täcka begreppet "statistisk signifikans" i en datorbaserad matematikkurs.

Jag insåg att frågan inte är hur man kombinerar de resulterande förutsägelserna, utan hur man avgör vilken av förutsägelserna som är den mest betydande. En av förutsägelserna kan vara mer betydelsefulla än de andra eftersom den speglar en starkare trend eller kanske baseras på en större datauppsättning. Det spelade ingen roll för mig, så jag använde bara p-värdet för signifikanstestet (med nollhypotesen att båda spelarna spelade slumpmässigt) för att ordna förutsägelserna.

Jag tycker att jag borde lyssna på våra egna första principen att det första steget för att lösa ett matematiskt problem är "rätt fråga".

Om vi ​​nu tar det senaste resultatet vi fick, visar det sig att den bästa förutsägelsen är en sten som har ett p-värde på 0,17. Detta betyder att med endast en sannolikhet på 0,17 avviker data som används för denna förutsägelse från en diskret enhetlig fördelning ( DiscreteUniformDistribution[(1,3)]), mer av en slump än av något systematiskt misstag, mänskligt eller annat, som skulle kunna förändra distributionen.

Ju mindre detta p-värde är, desto mer säkra kan vi vara på att vi har hittat det sanna beteendemönstret. Så vi gör bara förutsägelser för olika historiklängder och datasegment och väljer förutsägelsen med det minsta p-värdet.

Och vi gör ett val som kommer att slå en persons val.

Här ser du resultatet. Du kan ladda ner och prova det själv från Wolfram Demonstrations webbplats.

När programmet har för lite data spelas det slumpmässigt, så du börjar lika. Till en början, när hon först börjar lära sig, fattar hon några dumma beslut, så att du kan komma framåt. Men efter 30-40 matcher börjar hon få riktigt meningsfulla förutsägelser och du kommer att se din vinst sjunka till det negativa området och stanna där.

Naturligtvis är en sådan lösning bara bra mot primitiva försök att framstå som slumpmässiga. Hans förutsägbarhet gör honom benägen att förlora mot en välkalkylerad och planerad strategi. Det är oerhört intressant att försöka besegra detta program med hjälp av intuition. Det är möjligt, men om du slutar tänka eller tänker för mycket kommer du snart att hamna på efterkälken. Naturligtvis kan ett program enkelt göra detta genom att använda samma algoritm för att förutsäga nästa drag i det programmet.

Detta tillvägagångssätt leder till början av någon form av "kapprustning", en tävling för att skriva algoritmer som kommer att slå motståndarens algoritm i sten-papper-sax, och det enda sättet att stoppa detta är att återgå till Nashs jämviktsstrategi, välja genom RandomInteger[(1,3)].

Tillägg 1
Om du inte vet hur man spelar det här spelet är reglerna följande: du väljer sten, sax eller papper med en av tre gester som visas samtidigt av dig och din motståndare. Sten slår sax (gör dem trubbiga), sax slår papper (de klipper av det) och papper slår sten (det lindar in det). Vinnaren får en poäng, vid oavgjort får båda spelarna inga poäng.

Tack för din hjälp med att översätta detta inlägg.

Gud bara vet hur många kontroversiella situationer i barndomen som löstes med hjälp av att spela Rock, Paper, Scissors. Varför finns det små, fulla av vuxna barn som hittar en enkel väg ut på några sekunder och en kasserad skylt. Så vad ligger bakom det opretentiösa slängandet av fingrar: en slumpvilja eller en genomtänkt strategi? Forskare vet säkert svaret och ger sitt segerrika recept.

Nyligen tillkännagav ett team av kinesiska forskare från Zhejiang University de djärva resultaten av sina psykologiska tester för världen. Forskare från december 2010 till mars av nuvarande genomfört 5 experimentella cykler. Varje cykel omfattade 12 sessioner med 6 deltagare. Totalt nådde det totala antalet ämnen 360 personer. Könsförhållandet var 217:143 med en kvinnlig dominans (flickor var helt enkelt mer aktiva i inspelningen). En student eller doktorand kunde endast delta i studien en gång.

Människor var utom synhåll för varandra, framför monitorskärmarna. Därmed uteslöts verbal och visuell kontakt. Var och en av deltagarna spenderade från en och en halv till två timmar på 300 matcher med en slumpmässig motståndare. Incitamentet att vinna var en liten kontant belöning för varje vunnen omgång. Och här är slutsatserna från detta...

Så vad behöver du veta för att vinna? Efter att ha observerat ett stort antal "strider" fann forskarna att spelaren som besegrade sin motståndare i det aktuella spelet var mer benägna att upprepa sina handlingar i nästa omgång och mindre sannolikt att ändra något.

Å andra sidan, om en spelare förlorar två eller flera gånger i rad, kommer han att sluta visa en misslyckad kombination och kommer att försöka bryta exakt tecknet som just tillät hans motståndare att besegra honom.

Således, om spelare A var på en förlorande rad och spelare B precis hade rullat saxen och därmed klippt A:s papper, så skulle A sannolikt rulla en sten, vilket skulle ge en god chans att vinna, eftersom B förmodligen skulle hålla sig till samma vinst. taktik. Beteendets psykologi är enkel: om du vinner förändras du inte, om du förlorar byter du.

Förlorat? Rulla tecknet som slår din motståndares sista vinnande tecken.

Vann? Fortsätt inte att visa samma tecken, vik istället din förlorande motståndares sista kombination.

Fortfarande inte helt klart? Här är några vinnande strategier som hjälper dig att förbli oövervinnerlig:

Om du vann den senaste matchen...

Om du förlorade i det senaste spelet (och motståndaren inte är medveten om denna teknik) ...

  • ... efter att ha kastat en sten, gå till saxen i nästa kamp
  • ... efter att ha kastat ut saxen, gå till tidningen i nästa kamp
  • ... efter att ha kastat papperet, gå till stenen i nästa kamp

Om du förlorade det senaste spelet (och din motståndare är medveten om denna teknik)...

  • ... efter att ha kastat ut en sten, gå till papper i nästa kamp
  • ... kasta ut saxen, gå till stenen i nästa kamp
  • ... efter att ha kastat papperet, gå till saxen i nästa kamp

Du kan lära dig mer om metodiken för att bedriva forskning i, som tillhandahålls av kinesiska forskare till allmänheten. Självklart är den designad på engelska och innehåller layouter och formler som är obegripliga för människor långt ifrån matematik.

Och avslutningsvis ska jag tillägga att skulden för de förlorade bilarna, husen och fruarna i "sten, sax, papper", först och främst bör läggas på din passion, och inte på de kinesiska sinnena och författaren till dessa rader.

BENJAMIN JAMES DYSON, professor i psykologi vid British University of Sussex, medförfattare till studien "Inflytandet av negativa resultat på att fatta irrationella beslut i spelet" Rock, paper, scissors ":

1 ___________

En dag såg jag två studenter som skrev min uppsats spela sten, papper, sax framför mitt kontor för att avgöra vem som skulle gå först. En av dem var säker på sin seger, jag frågade varför, vi började överväga möjliga strategier och skrev så småningom en hel studie tillsammans. Vi var nyfikna på att bevisa att känslor påverkar beslutsfattande i det här spelet och visa hur. Vi satte oss inte som mål att lära oss att alltid vinna, men längs vägen fick vi reda på vilka beteenden som bidrar till detta. Till exempel, i den första omgången väljer de flesta spelare omedvetet en sten. Det är inte ens så att det är förknippat med tillförlitlighet – vi börjar bara spelet med den här gesten när vi skakar näven. Därför är det bättre att "kasta ut" papperet i den första hästen.

2 ___________

Den genomsnittliga personen gör så här: om föremålet är vunnet, får eufori att vinna dig att satsa på det igen - vi älskar att göra saker som vi belönas för. Och vice versa, satsa på sax och förlora, i nästa omgång kommer du med största sannolikhet att ändra taktik genom att välja ett starkare föremål - en sten. Faktum är att du måste följa vad motståndaren väljer. Om han förlorade, upprepa hans objekt i nästa omgång, och om han vann, satsa på en starkare.

3 ___________

Att agera på din motståndares beteende är en smart strategi, men vad händer om din motståndare har listat ut vad du gör och försöker matcha? Då blir spelet mycket svårare. I den här situationen finns det bara ett sätt att skydda dig från att förlora - att blanda strategier slumpmässigt så att dina handlingar inte är förutsägbara. En gång kan du till och med ge efter.

3 ___________

Vårt mål var inte att lära människor hur man fuskar, utan att få dem att ompröva beslut som dikteras av känslor. Både misslyckande och seger gör oss sårbara på vårt sätt. Misstaget som beskrivs i vår studie upprepas ofta av roulettespelare, som omedvetet följer martingaleprincipen: efter att ha satsat på svart eller rött och vunnit, fortsätter de envist att bara satsa på den "lyckliga" färgen och går snabbt i konkurs. Professionella pokerspelare vet att även om du förlorar kan du fortfarande tjäna pengar om du håller dig kall.

5 ___________

31 deltagare i studien spelade Rock, Paper, Scissors 6975 gånger – motståndaren var ett datorprogram som fungerade enligt en blandad jämviktsstrategi. Efter att ha spelat "oavgjort" börjar spelarna bete sig som om de hade förlorat, för på en undermedveten nivå uppfattas ett "oavgjort" som ett nederlag. Spelare från 196 länder deltog i International Rock, Paper, Scissors Championship, som hölls den 16 april på Londons Green Man Pub.

"Sten, papper, sax" är ett spel bekant för alla sedan barndomen, det löste även de allvarligaste manliga tvister. Jag har alltid trott att det här spelet är baserat på tur, men det är långt ifrån fallet. I dag "Så enkelt!" kommer att avslöja för dig några små hemligheter som gör att du alltid kan vinna i det här spelet. Och så kommer du att åka i framsätet, och någon annan springer efter en öl.

Hemligheten till att vinna Rock, Paper, Scissors

Om du redan har glömt reglerna, låt mig påminna dig: stenen bryter saxen som klippte papperet och pappret täcker stenen.

Ett team av kinesiska forskare från Zhejiang University genomförde ett stort antal experiment och observationer, vars resultat visade några mönster: Spelaren som besegrade sin motståndare i det aktuella spelet kommer med största sannolikhet att upprepa sina handlingar i nästa omgång och kommer sannolikt inte att ändra något.

Å andra sidan, om en spelare förlorar två eller flera gånger i rad, kommer han att sluta visa dålig kombination och kommer att försöka bryta exakt tecknet som just tillät motståndaren att besegra honom.

Utifrån detta kan vi härleda en sådan vinnande strategi

  • Om du förlorar, rulla tecknet som slår din motståndares sista vinnande tecken.
  • Om du vinner, fortsätt inte att visa samma tecken, lägg istället din förlorande motståndares sista kombination.

Några fler viktiga regler

  • Oftast är representanterna för det starkare könet de första som använder en sten, så om din motståndare är en man, försök att kasta papper.
  • Om du tävlar med en erfaren spelare är chansen stor att han försöker spela på din naivitet och kasta papper. Använd sax.
  • Kom ihåg att om din motståndare redan har kastat en sten två gånger i rad, hatar den här personen att vara förutsägbar och använder sax för det mesta. Kasta en sten.
  • Titta på din motståndares fingrar. De lättaste dragen kommer att berätta vilket drag din motståndare kommer att använda. Alla fingrar är spända - en sten. Alla fingrar är avslappnade - papper. Endast två fingrar är spända - sax.
  • Papper används minst i spelet - i 29,6% av fallen. De använder sax oftare - 35%. Och ännu oftare en sten - 35,4%. Använd effekten av överraskning.

Berätta om dessa små knep för dina, han kommer att bli helt nöjd med det faktum att han alltid kommer att vinna argument med sina klasskamrater!

Variationer av spelet "Rock, Paper, Scissors" var genomtänkta för hundratals år sedan. Men som de flesta spel är det här mer än bara en lyckträff. Detta är en kamp mellan mönster, psykologi och statistik. Vill du veta vad statistik, forskning och experter har att säga om att vinna det här spelet?

Psykologi

Enligt den världsomspännande samhällsorganisationen Rock, Paper, Scissors är tanken på att kasta bort en "sten" dödlig för nybörjare. Särskilt ofta görs detta drag av män. Det visar sig att valet av ett sådant drag har mycket att göra med tanken att "stenen" uppfattas som "stark" och "viljestark", varför män tenderar att välja den. Och eftersom fienden kommer att gissa att du kommer att kasta en "sten", måste du först välja "sax".

Ord till forskarna

Spelteoretiska forskare vid Zhejiang University tittade på mönster som människor tenderar att välja att spela. De registrerade spelresultaten för 360 elever som spelade 20 000 omgångar av spelet. Som ett incitament fick studenter som vann pengar.

I alla spel valdes vart och ett av alternativen ungefär lika många gånger som man kan förvänta sig. Forskarna märkte dock ett tydligt mönster i människors taktik. Enligt forskarna tenderade människor som vann att dröja längre när de valde en handling. Å andra sidan tenderade elever som förlorade att växla mellan sten, sedan sax och sedan papper. Om du vill vinna med tanke på denna information, kommer det att bero på om din motståndare känner till det. Men om vi antar att han inte vet om det, så kan vi med säkerhet säga att han kommer att välja samma handling igen om han bara vann mot dig tack vare honom.

Hjärntrick

Precis som i ett pokerspel kan du enkelt besegra din motståndare genom att använda den machiavelliska kraften i suggestionen. Den urgamla taktiken att meddela vilken hand du kommer att spela kan vara ett användbart trick. Så länge du inte spelar någon som faktiskt tycker att du är modig nog att prata om ditt drag och sedan faktiskt gör det, kan du ändra draget till ett som vinner det du tidigare tillkännagav. . Så om du säger att du kommer att rulla "rock", använder din motståndare "papper". Det betyder att "sax" kommer att ge dig oavgjort i värsta fall, och i bästa fall en seger.

Och slutligen, när allt annat är förlorat, kan din säkraste insats vara papper, eftersom det statistiskt bara väljs 29,6 % av gångerna, inte de 33,33 % du förväntar dig.