Kako pobijediti u igri kamen-papir-škare? (implementacija optimalne strategije u Wolfram Mathematici). Kako uvijek pobijediti u igri Kamen, papir i škare

Prijevod objave Jona Mcloonea, direktora međunarodnog poslovanja i strateškog razvoja u Wolfram Researchu. Izvorni post: Kako pobijediti u igrici Kamen-Škare-Papir
Preuzmite post kao Mathematica dokument

S matematičkog stajališta igra kamen-papir-škare (vidi prilog 1 na kraju) nije osobito zanimljiva. Nashova strategija ravnoteže vrlo je jednostavna: birajte nasumično i s jednakom vjerojatnošću između tri opcije, a s obzirom na veliki broj igara, ni vi ni vaš protivnik ne možete pobijediti. Iako je, računajući strategiju pomoću računala, još uvijek moguće pobijediti osobu nakon velikog broja igara.

Moja devetogodišnja kći pokazala mi je program koji je kreirala koristeći Scratch i koji je pobijedio apsolutno svaki put jednostavno prateći koje ste odluke napravili prije nego što ste donijeli svoj! Ali ja ću vas upoznati s jednostavnim rješenjem koje bez varanja pobjeđuje osobu u stilu kamen-papir-škare.

Budući da je nemoguće pobijediti nekoga tko uvijek bira sasvim slučajno, računat ćemo na to da ljudi baš i nisu slučajni. Ako računalo može primijetiti obrazac koji slijedite u svojim pokušajima da budete nasumični, bit će korak bliže predviđanju vaših budućih radnji.

Razmišljao sam o stvaranju algoritma kao jednoj od tema u našem tečaju statistike pod konceptom računalne matematike. Ali prvi članak na koji sam naišao u svojoj potrazi za prediktivnim algoritmima ispitivao je rješenje korištenjem složenog dizajna temeljenog na distribucijama kopule. Ovo je rješenje bilo teško razumjeti učeniku (a možda čak i meni), pa sam odlučio razviti jednostavnije rješenje koje bih mogao objasniti jednostavnim riječima. Čak i ako je već razvijen prije, mnogo je zabavnije stvarati stvari na svoj način nego pronaći njihovu gotovu implementaciju.

Za početak, samo trebamo moći započeti igru. U to je vrijeme već bio razvijen i dostupan demo koji vam je omogućio igranje kamen-škare-papir, ali to nije bilo ono što mi je trebalo, pa sam napisao vlastitu verziju. Ova točka ne zahtijeva puno objašnjenja:

Ovaj kod većim dijelom opisuje korisničko sučelje i pravila igre. Cijela strategija računalnog igrača sadržana je u ovoj funkciji:

Gdje 1 odgovara kamenu, 2 papiru, a 3 škarama. Ovo je optimalno rješenje. Bez obzira na to kako igrate, dobit ćete onoliko igara koliko i računalo, a vaša će se stopa pobjede kretati oko nule.

Sada bi bilo zanimljivo ponovno napisati funkciju izabrati Idi kako biste predvidjeli svoj izbor koristeći najnovije podatke o igrama pohranjene u varijabli povijesti. Prvi korak je analizirati izbore napravljene u posljednjih nekoliko igara i pronaći sva pojavljivanja bilo kojeg niza. Promatrajući što je neka osoba radila u svakoj sljedećoj igri, možemo otkriti određeni obrazac ponašanja.

Prvi argument funkciji je povijest prošlih igara. Na primjer, u donjem skupu podataka, računalo (drugi stupac je drugi element svake podliste) upravo je odigralo papir (broj 2) protiv kamena kojim je igrao čovjek (broj 1). To se može vidjeti iz posljednjeg elementa liste. Također je jasno da se ova situacija već pojavila dva puta, i oba puta sljedeći potez osobe bio je ponovno kamen.

Drugi argument je broj zadnjih elemenata povijesti koji će se koristiti za pretraživanje. U ovom slučaju, broj 1 prosljeđuje se kao argument funkciji koja pretražuje podatke samo za pojavljivanja (1,2). Ako odaberemo 2, funkcija će tražiti pojavljivanja niza (3,2), (1,2) i vratit će prazan popis, budući da se takav niz prije nije susreo.

Treći argument svi, označava da se u traženim sekvencama ljudski pokreti i pokreti računala moraju podudarati. Argument se može promijeniti u 1 da se gleda samo povijest poteza osobe (to jest, uz pretpostavku da ljudski izbor ovisi samo o njegovim prethodnim potezima), ili 2 da se gleda samo drugi stupac, to jest, povijest poteza računala (to jest, pod pretpostavkom da osoba odgovara na prethodne poteze računala bez obzira na to koje je poteze sama napravila i, dakle, bez obzira na to je li pobijedila ili izgubila).

Na primjer, u ovom slučaju nalazimo da je osoba izabrala nakon kamena, bez obzira na to što je računalo izabralo u istim igrama.

S obzirom na veliku količinu podataka, možemo se zadovoljiti samo argumentom svi, a program će moći sam odlučiti čiji su potezi, računala ili osobe, važniji. Na primjer, ako čovjek zanemari povijest poteza računala prilikom odabira, tada će skup podataka dobiven za neku povijest poteza računala imati istu distribuciju kao i za bilo koju drugu povijest poteza računala, pod uvjetom da postoji dovoljno podataka na prethodnim utakmicama. Pretraživanjem svih parova igara dobivamo isti rezultat kao da smo prvo odabrali podatke iz povijesti poteza računala, a zatim upotrijebili taj podskup za gore prikazanu funkciju. Isto će se dogoditi ako je bitna samo povijest poteza računala. Ali u isto vrijeme, pretraživanjem uz odvojeno razmatranje obje ove pretpostavke, možete dobiti točnija podudaranja u povijesti, a to je najočitije u slučajevima kada je skup podataka o igrama u početku mali.

Dakle, iz ova dva testa možemo pronaći da prvi daje procjenu od 100% da će sljedeći izbor osobe biti kamen, a drugi pokazuje da će s vjerojatnošću od 75% osoba izabrati kamen, a s 25% vjerojatnost - škare.

I tu sam malo zapeo u rješavanju problema.

U ovom slučaju, dva su predviđanja barem više-manje bliska u rezultatu, iako se razlikuju u numeričkim vrijednostima vjerojatnosti. Ali ako pretražujete kroz tri "odsječka" podataka s nizom različitih duljina povijesti, a rezultati predviđanja su nedosljedni, kako ih kombinirati?

Zabilježio sam bilješku o ovom problemu u svoju mapu "Napišite blog o ovome" i zaboravio na to sve do prije nekoliko tjedana kada je došlo do rasprave o tome kako pokriti koncept "statističke značajnosti" u tečaju računalne matematike.

Shvatio sam da pitanje nije kako kombinirati rezultirajuća predviđanja, već kako odrediti koje je od predviđanja najznačajnije. Jedno od predviđanja može biti značajnije od ostalih jer odražava jači trend ili se možda temelji na većem skupu podataka. To mi nije bilo važno, pa sam jednostavno upotrijebio p-vrijednost testa značajnosti (s nultom hipotezom da oba igrača igraju slučajno) za rangiranje rezultirajućih predviđanja.

Mislim da bih trebao slušati naše prvi princip da je prvi korak u rješavanju svakog matematičkog problema "ispravna formulacija pitanja".

Sada, ako uzmemo posljednji rezultat koji smo dobili, ispada da je najbolje predviđanje kamen, koji ima p-vrijednost 0,17. To znači da postoji samo vjerojatnost od 0,17 da podaci korišteni za određeno predviđanje odstupaju od diskretne uniformne distribucije ( Diskretna jednolika distribucija[(1,3)]), i to više slučajno nego zbog sustavne pogreške, bilo ljudske ili bilo kojeg drugog razloga, koja bi mogla promijeniti distribuciju.

Što je ova p-vrijednost manja, to možemo biti sigurniji da smo pronašli pravi obrazac ponašanja. Stoga jednostavno izrađujemo predviđanja za različite duljine povijesti i odsječke podataka i odabiremo predviđanje s najmanjom p-vrijednošću.

I donosimo izbor koji će nadmašiti izbor osobe.

Ovdje vidite rezultat. Možete ga preuzeti i sami isprobati s web stranice Wolfram Demonstrations.

Kad program ima premalo podataka, reproducira se nasumično, tako da počinjete ravnopravno. U početku, kada tek počinje učiti, donosi neke glupe odluke kako biste vi mogli napredovati. Ali nakon 30-40 igara počinje dobivati ​​stvarno značajna predviđanja i vidjet ćete kako vaša stopa pobjede prelazi u negativno područje i tamo ostaje.

Naravno, takvo je rješenje dobro samo protiv primitivnih pokušaja da se prikaže nasumično. Njegova predvidljivost čini ga osjetljivim na moguće gubitke protiv dobro proračunate i planirane strategije. Iznimno je zanimljivo pokušati pobijediti ovaj program pomoću intuicije. Moguće je, ali ako prestanete razmišljati ili previše razmišljate, ubrzo ćete zaostati. Naravno, program bi to mogao lako učiniti korištenjem istog algoritma za predviđanje sljedećeg poteza programa.

Ovakav pristup dovodi do početka svojevrsne “utrke u naoružanju”, natjecanja u pisanju algoritama koji će pobijediti kamen-papir-škare nad protivničkim algoritmom, a jedini način da se to zaustavi jest povratak na Nashovu strategiju ravnoteže, čineći izbora kroz Slučajni cijeli broj[(1,3)].

dodatak 1
U slučaju da ne znate kako igrati ovu igru, pravila su sljedeća: birate kamen, papir, škare, koristeći jednu od tri geste koje istovremeno pokazujete vi i vaš protivnik. Kamen pobjeđuje škare (čini ih tupim), škare pobjeđuju papir (režu ga), a papir pobjeđuje kamen (omata ga). Pobjednik dobiva jedan bod; u slučaju neriješenog rezultata, oba igrača ne dobivaju bodove.

Hvala vam na pomoći u prevođenju ovog posta.

Ne postoji osoba koja nije igrala igru ​​“Kamen, papir, škare”. Uostalom, ona ne samo da može oduzeti vrijeme, već i riješiti, na primjer, spor.

U međuvremenu, malo ljudi zna da je ova igra nastala u Kini, a kasnije, u 19. i 20. stoljeću, stekla je popularnost u mnogim zemljama diljem svijeta, uključujući Rusiju. A početkom 21. stoljeća pojavila su se prva prvenstva u ovom “sportu” sa značajnim nagradnim fondovima.

Da biste pobijedili u ovoj igri ne morate biti vidovnjak - možete čitati protivnikove misli ili programirati njegove akcije, samo trebate slijediti neka pravila.

1. Muškarci su skloni prvi baciti "kamen" jer se to doživljava kao snaga i odlučnost. Stoga, jaku polovicu čovječanstva možete uhvatiti u ovome, oni se vrlo često u tome uhvate. Koristeći ovu značajku možete lako pobijediti pokazivanjem "papira". Ali zapamtite da ovaj trik neće funkcionirati s iskusnim igračima.

2. Ako imate "sreće" da igrate s iskusnim igračem, on vjerojatno neće pokazati "kamen" prvi put - ovo je previše očito. Stoga su "škare" prilično optimalna opcija.

3. Recite protivniku što ćete pokazati i onda... pokažite što ste rekli. Zašto? Sve dok ne igrate s nekim tko nije svjestan vaše drskosti, možete, obznanjujući svoje namjere, dobiti povoljnu igru. Na primjer, ako izjavite "kamen", tada vaš protivnik neće baciti "papir", misleći da ćete pokazati "škare". Ovaj potez vam može donijeti pobjedu ili remi.

4. Ako protivnik dvaput baci škarice, onda je šansa da će ih pokazati i treći put jako mala. Najvjerojatnije će baciti "papir" ili "kamen". U tom slučaju, bilo bi poželjno da pokažete “papir”.

5. Tijekom druge runde neiskusni igrači podsvjesno pokazuju što ih je moglo poraziti u prošlosti. Na primjer, ako je vaš protivnik gubio s "papirom", on će pokazati "škare", tada je vaš potez "kamen". Ako je protivnik prvi put izbacio "kamen", onda je drugi put preporučljivo pokazati "škare": najvjerojatnije će odlučiti izbaciti "papir".

6. Postoje situacije kada ne znate što biste bacili. U ovom slučaju, savjetujem vam da pokažete "papir". Prema statistikama, "škare" se prikazuju nešto rjeđe nego bilo što drugo. Međutim, ne tako davno britanski su znanstvenici otkrili da je najisplativija strategija u igri pokazivanje “škara”. Činjenica je da suparnik najčešće podsvjesno očekuje gestu “kamena” i zato pokazuje “papir”.

Dobra igra!


Sam Bog zna koliko se kontroverznih situacija u djetinjstvu rješavalo igrom “Kamen, papir, škare”. Zašto postoje djeca, ima puno odrasle djece koja u par sekundi pronađu lak izlaz i odbačeni znak. Dakle, što se krije iza jednostavnog bacanja prstiju: slučajnost ili provjerena strategija? Znanstvenici čvrsto znaju odgovor i daju svoj pobjednički recept.

Nedavno je tim kineskih istraživača sa Sveučilišta Zhejiang obavijestio svijet o hrabrim nalazima svojih psiholoških testova. Znanstvenici su proveli 5 eksperimentalnih ciklusa od prosinca 2010. do ožujka ove godine. Svaki ciklus je uključivao 12 sesija sa 6 sudionika. Ukupno je ukupan broj ispitanika dosegao 360 osoba. Omjer spolova bio je 217:143 s prevagom žena (jednostavno djevojke su se aktivnije prijavljivale). Student ili apsolvent može sudjelovati u istraživanju samo jednom.

Ljudi su bili izvan vidokruga jedni drugih, ispred ekrana monitora. Ovo je eliminiralo verbalni i vizualni kontakt. Svaki je sudionik proveo od jedan i pol do dva sata igrajući 300 partija sa nasumičnim protivnikom. Poticaj za pobjedu bila je mala novčana nagrada za svaki osvojeni krug. A evo i zaključaka iz ovoga...

Dakle, što trebate znati za pobjedu? Nakon promatranja ogromnog broja "bitki", znanstvenici su otkrili da je veća vjerojatnost da će igrač koji je pobijedio svog protivnika u trenutnoj igri ponoviti svoje akcije u sljedećoj rundi, a manje je vjerojatno da će nešto promijeniti.

S druge strane, ako igrač izgubi dva ili više puta zaredom, prestat će pokazivati ​​lošu ruku i pokušati razbiti upravo onaj znak koji je njegovom protivniku upravo omogućio da ga pobijedi.

Stoga, ako je igrač A bio u nizu poraza, a igrač B je upravo odbacio škare, režući A-ov papir, tada bi A vjerojatno bacio kamen, što bi imalo pristojne šanse za pobjedu, jer bi B vjerojatno zabio kamen ista pobjednička taktika. Psihologija ponašanja je jednostavna: ako pobijediš, ne mijenjaš se, ako izgubiš, promijeniš se.

izgubljeno? Odbacite znak koji je bolji od posljednjeg pobjedničkog znaka vašeg protivnika.

Jesi li pobijedio? Nemojte nastaviti pokazivati ​​isti znak, umjesto toga izbacite posljednju ruku vašeg protivnika koji gubi.

Još uvijek nije potpuno jasno? Evo nekoliko pobjedničkih strategija koje će vam pomoći da ostanete nepobjedivi:

Ako ste pobijedili u zadnjoj igri...

Ako ste izgubili posljednju partiju (a vaš protivnik nije svjestan ove tehnike)…

  • ...nakon što bacite kamen, prijeđite na škare u sljedećoj borbi
  • ...izbaciti škare, prijeći na papir u sljedećoj borbi
  • ...bacivši papir, prijeđite na kamen u sljedećoj borbi

Ako ste izgubili posljednju partiju (a vaš protivnik je svjestan ove tehnike)…

  • ...odbaci kamen, idi na papir u sljedećoj borbi
  • ...bacivši škare, prijeđite na kamen u sljedećoj borbi
  • ...bacivši papir, prijeđite na škare u sljedećoj borbi

Možete se detaljnije upoznati s metodologijom istraživanja koju su kineski znanstvenici dali javnosti. Naravno, napisan je na engleskom jeziku i sadrži rasporede i formule koje je teško razumjeti ljudima koji su daleko od matematike.

I za kraj ću dodati da krivnju za gubitak automobila, kuća i žena u “kamenu, papiru, škarama”, prije svega, treba svaliti na vlastitu strast, a ne na kineske umove i autora ovih redaka. .

“Kamen, papir, škare” igra je svima poznata od djetinjstva, rješavala je i najteže muške svađe. Uvijek sam mislio da se ova igra temelji samo na sreći, ali to je daleko od istine. Danas "Tako jednostavno!" reći će vam nekoliko malih tajni koje će vam omogućiti da uvijek pobjeđujete u ovoj igri. I onda ćeš se ti voziti na prednjem sjedalu, a netko drugi trčati po pivo.

Tajna pobjede u igri Kamen, papir i škare

Ako ste već zaboravili pravila, da vas podsjetim: kamen lomi škare koje režu papir, a papir prekrije kamen.

Tim kineskih istraživača sa Sveučilišta Zhejiang proveo je veliki broj eksperimenata i promatranja, čiji su rezultati pokazali neke uzorci: Igrač koji porazi svog protivnika u trenutnoj igri će najvjerojatnije ponoviti svoje radnje u sljedećoj rundi i malo je vjerojatno da će išta promijeniti.

S druge strane, ako igrač izgubi dva ili više puta zaredom, to će se prestati prikazivati loša kombinacija i pokušat će razbiti sam znak koji je upravo omogućio njegovom protivniku da ga porazi.

Na temelju toga možemo izvesti sljedeću pobjedničku strategiju:

  • Ako izgubite, izbacite znak koji je bolji od zadnjeg pobjedničkog znaka vašeg protivnika.
  • Ako pobijedite, nemojte nastaviti pokazivati ​​isti znak, umjesto toga izbacite posljednju kombinaciju protivnika koji gubi.

Još nekoliko važnih uzoraka

  • Najčešće se jači spol prvi posluži kamenom, pa ako vam je protivnik muškarac pokušajte baciti papir.
  • Ako se natječete s iskusnim igračem, velike su šanse da će pokušati igrati na vašu naivnost i baciti papir. Koristite škare.
  • Zapamtite da ako je vaš protivnik već bacio kamen dvaput zaredom, ta osoba mrzi biti predvidljiva i u većini će slučajeva koristiti škare. Baci kamen.
  • Pazite na protivnikove prste. Najmanji pokreti će vam reći koji će potez vaš protivnik upotrijebiti. Svi prsti napeti - kameni. Svi prsti su opušteni - papir. Samo su dva prsta napeta - škare.
  • Najrjeđe se u igrici koristi papir – u 29,6% slučajeva. Češće se koriste škare - 35%. I još češće kamen - 35,4%. Koristite učinak iznenađenja.

Recite svom prijatelju o ovim malim trikovima, on će biti apsolutno oduševljen što će uvijek pobijediti u raspravama sa svojim kolegama!


Navikli smo misliti da se dobra stara igra "Kamen, papir, škare" temelji na čistoj sreći (ili slučaju). Ali ako je tako, igrajtene bi bilo tako zanimljivo.

Corruption.Sport s poveznicom na Bright Side otkriva vam nekoliko tajni pomoću kojih uvijek možete dobiti ovu bitku. I onda ćete se vi voziti na prednjem sjedalu, a netko će drugi trčati po pivo.

Prvo, počnimo s osnovama. Kao što vjerojatno znate, kamen lomi škare koje režu papir, a papir prekrije kamen.

Nakon što su promatrali ogroman broj takvih "bitki", tim kineskih istraživača sa Sveučilišta Zhejiang otkrio je da igrač koji je pobijedio svog protivnika u trenutnoj igri veća je vjerojatnost da će ponoviti svoje postupke u sljedećoj rundi, i manje je vjerojatno da će nešto promijeniti.

S druge strane, ako igrač izgubi dva ili više puta zaredom, prestat će prikazivati ​​neuspješnu kombinaciju i pokušat će razbiti sam znak koji je upravo omogućio njegovom protivniku da ga porazi.

Na temelju ovoga, pobjednički strategija:

  • izgubljeno? Odbacite znak koji je bolji od posljednjeg pobjedničkog znaka vašeg protivnika.
  • Jesi li pobijedio? Nemojte nastaviti pokazivati ​​isti znak, umjesto toga izbacite posljednju ruku vašeg protivnika koji gubi.

I još nekoliko savjeta:

  • Muškarci su često prvi koji bacaju kamen. Ako ti sviranje protiv čovjeka, pokušaj papir.
  • Iskusni igrači će pokušati igrati na vašu naivnost i baciti papir. Koristite škare.
  • Kada vidite da je vaš protivnik već dva puta bacio kamen, znajte da ta osoba mrzi biti predvidljiva i da u većini slučajeva koristi škare. Koristite kamen.
  • Pazite na protivnikove prste. Najmanji pokreti će vam reći koji će potez vaš protivnik upotrijebiti. Svi prsti napeti - kameni. Svi prsti su opušteni - papir. Samo su dva prsta napeta - škare.
  • Najrjeđe se u igrici koristi papir – u 29,6% slučajeva. Češće se koriste škare - 35%. I malo češće je kamen - 35,4%. Koristite učinak iznenađenja.