Ako vyhrať v Rock-Paper-Nožnice? (implementácia optimálnej stratégie vo Wolfram Mathematica). Ako vždy vyhrať hru kameň, papier, nožnice

Preložené z príspevku Jona Mcloonea, riaditeľa medzinárodného obchodu a strategického rozvoja vo Wolfram Research. Pôvodný príspevok: Ako vyhrať na kameň-papier-nožnice
Stiahnite si príspevok ako dokument Mathematica

Z matematického hľadiska nie je hra kameň-papier-nožnice (pozri prílohu 1 na konci) mimoriadne zaujímavá. Nashova rovnovážna stratégia je veľmi jednoduchá: náhodne a rovnako pravdepodobne si vyberiete z troch možností a vzhľadom na veľký počet hier nemôžete vyhrať ani vy, ani váš súper. Aj keď pri výpočte stratégie pomocou počítača je stále možné poraziť človeka po veľkom množstve hier.

Moja deväťročná dcéra mi ukázala program, ktorý vytvorila pomocou aplikácie Scratch, ktorý vyhral absolútne zakaždým len tým, že sledoval, akú voľbu ste urobili pred tým, než si urobíte svoj vlastný! Predstavím vám ale jednoduché riešenie, ktoré človeka porazí v kameňoch-papier-nožnice bez podvádzania.

Keďže niekoho, kto si vždy vyberie úplne náhodne, nemožno poraziť, budeme sa spoliehať na to, že ľudia nie sú veľmi náhodní. Ak počítač dokáže rozpoznať vzor, ​​ktorý sledujete vo svojich pokusoch o náhodnosť, bude o krok bližšie k predpovedaniu vašich budúcich akcií.

Uvažoval som o vytvorení algoritmu ako jednej z tém nášho kurzu štatistiky v rámci konceptu Computer-Based Math. Ale úplne prvý článok, na ktorý som narazil pri hľadaní prediktívnych algoritmov, zvažoval riešenie pomocou komplexnej štruktúry založenej na rozdelení kopúl. Toto riešenie bolo pre študenta ťažko pochopiteľné (a možno aj pre mňa), preto som sa rozhodol vyvinúť jednoduchšie riešenie, ktoré by som vedel vysvetliť jednoduchými slovami. A aj keď to už bolo vyvinuté, je oveľa zábavnejšie vytvárať veci vlastným spôsobom, ako ich hľadať v hotovej implementácii.

Aby sme mohli začať, musíme byť schopní začať hru. V tom čase už bolo vyvinuté a dostupné demo, ktoré umožňuje hrať kameň-papier-nožnice, no nebolo to úplne to, čo som potreboval, a tak som napísal vlastnú verziu. Tento bod si nevyžaduje veľké vysvetlenie:

Z veľkej časti tento kód popisuje používateľské rozhranie a pravidlá hry. Celá stratégia počítačového prehrávača je obsiahnutá v tejto funkcii:

Kde 1 zodpovedá kameňu, 2 papieru a 3 nožniciam. Toto je optimálne riešenie. Bez ohľadu na to, ako hráte, vyhráte toľko hier ako počítač a vaša miera výhry sa bude pohybovať okolo nuly.

Takže teraz by bolo zaujímavé prepísať funkciu vyberte Prejsť na predpovedanie vášho výberu pomocou najnovších údajov o hrách uložených v premennej histórie. Prvým krokom je analyzovať voľby uskutočnené počas niekoľkých posledných hier a nájsť všetky výskyty akejkoľvek sekvencie. Pozorovaním toho, čo človek robil v každej ďalšej hre, môžeme odhaliť určitý vzorec správania.

Prvým argumentom funkcie je história minulých hier. Napríklad v súbore údajov nižšie počítač (druhý stĺpec, druhý prvok každého podzoznamu) práve zahral papier (zodpovedajúci číslu 2) proti kameňu zahranému človekom (číslo 1). To je možné vidieť z posledného prvku zoznamu. Je tiež vidieť, že táto situácia už nastala dvakrát a v oboch prípadoch bol ďalší pohyb osoby opäť kameňom.

Druhým argumentom je počet prvkov nedávnej histórie, ktoré treba hľadať. V tomto prípade sa číslo 1 odovzdá ako argument funkcii, ktorá v údajoch vyhľadá iba výskyty (1,2). Ak zvolíme 2, tak funkcia vyhľadá výskyty sekvencie (3,2), (1,2) a vráti prázdny zoznam, keďže s takouto sekvenciou sa ešte nestretla.

tretí argument, Všetky, znamená, že ľudské aj počítačové pohyby sa musia zhodovať v požadovaných sekvenciách. Argument možno zmeniť na 1, aby ste sa pozreli len na históriu pohybov človeka (t. j. za predpokladu, že ľudská voľba závisí iba od ich predchádzajúcich pohybov), alebo na 2, aby ste sa pozreli iba na druhý stĺpec, t. j. históriu pohybov počítača (t. j. za predpokladu, že osoba reaguje na predchádzajúce ťahy počítača bez ohľadu na to, aké ťahy sám urobil, a teda bez ohľadu na to, či vyhral alebo prehral).

Napríklad v tomto prípade zistíme, že osoba si vybrala kameň, bez ohľadu na to, čo si vybral počítač v rovnakých hrách.

Pri veľkom množstve údajov si vystačíme len s argumentom Všetky a program sa bude môcť sám rozhodnúť, koho ťahy, počítač alebo človek, sú dôležitejšie. Ak napríklad človek pri výbere ignoruje históriu presunov počítača, potom súbor údajov získaný pre akúkoľvek históriu presunov počítača bude mať rovnakú distribúciu ako pre históriu presunov akéhokoľvek iného počítača za predpokladu, že existuje dostatok údajov z predchádzajúce hry. Prehľadávaním všetkých párov hier dostaneme rovnaký výsledok, ako keby sme najprv vybrali údaje z histórie ťahov počítača a potom použili túto podmnožinu pre funkciu zobrazenú vyššie. To isté sa stane, ak záleží len na histórii pohybov počítača. Samostatné vyhľadávanie podľa oboch týchto predpokladov však môže priniesť lepšie zhody histórie, a to je najzreteľnejšie, keď je súbor údajov hry spočiatku malý.

Takže z týchto dvoch kontrol môžeme zistiť, že prvá dáva skóre 100%, že ďalšou voľbou osoby bude kameň, a druhá ukazuje, že so 75% pravdepodobnosťou si osoba vyberie kameň as 25% pravdepodobnosťou - nožnice.

A tu som trochu zaseknutý pri riešení problému.

V tomto prípade sú tieto dve predpovede vo výsledkoch aspoň viac-menej blízko, hoci sa líšia v číselných hodnotách pravdepodobností. Ak sa však pozeráte na tri „výrezy“ údajov s množstvom rôznych dĺžok histórie a výsledky predpovedí sú nekonzistentné – ako ich skombinujete?

Vložil som poznámku o tomto probléme do priečinka „Blog it“ a zabudol som na to, až kým pred niekoľkými týždňami neprebehla hádka o tom, ako pokryť pojem „štatistická významnosť“ v kurze Počítačová matematika.

Uvedomil som si, že otázkou nie je, ako skombinovať výsledné predpovede, ale ako určiť, ktorá z predpovedí je najvýznamnejšia. Jedna z predpovedí môže byť významnejšia ako ostatné, pretože odráža silnejší trend alebo môže byť založená na väčšom súbore údajov. Bolo mi to jedno, a tak som na zoradenie predpovedí použil iba p-hodnotu testu významnosti (s nulovou hypotézou, že obaja hráči hrali náhodne).

Myslím, že by som mal počúvať naše vlastné prvý princípže prvým krokom pri riešení akéhokoľvek matematického problému je „správna otázka“.

Teraz, ak vezmeme posledný výsledok, ktorý sme dostali, ukáže sa, že najlepšia predpoveď je kameň, ktorý má p-hodnotu 0,17. To znamená, že len s pravdepodobnosťou 0,17 sa údaje použité na túto predpoveď odchyľujú od diskrétneho rovnomerného rozdelenia ( DiscreteUniformDistribution[(1,3)]), skôr náhodou než akoukoľvek systematickou chybou, ľudskou alebo inou, ktorá by mohla zmeniť distribúciu.

Čím je táto p-hodnota menšia, tým si môžeme byť istí, že sme našli skutočný vzorec správania. Takže robíme predpovede pre rôzne dĺžky histórie a dátové segmenty a vyberieme predpoveď s najmenšou p-hodnotou.

A urobíme voľbu, ktorá prekoná voľbu človeka.

Tu vidíte výsledok. Môžete si to stiahnuť a vyskúšať sami z webovej stránky Wolfram Demonstrations.

Keď má program príliš málo údajov, prehráva sa náhodne, takže začínate rovnako. Najprv, keď sa prvýkrát začne učiť, urobí nejaké hlúpe rozhodnutia, takže môžete ísť dopredu. Ale po 30-40 hrách začne dostávať skutočne zmysluplné predpovede a uvidíte, že vaša miera výhier klesne do negatívnej oblasti a zostane tam.

Samozrejme, takéto riešenie je dobré len proti primitívnym pokusom pôsobiť náhodne. Jeho predvídateľnosť ho robí náchylným na prehry proti dobre vypočítanej a plánovanej stratégii. Je mimoriadne zaujímavé pokúsiť sa poraziť tento program pomocou intuície. Je to možné, ale ak prestanete premýšľať alebo budete príliš premýšľať, čoskoro zaostanete. Samozrejme, program by to mohol ľahko urobiť použitím rovnakého algoritmu na predpovedanie ďalšieho pohybu tohto programu.

Tento prístup vedie k začiatku akýchsi „pretekov v zbrojení“, súťaže v písaní algoritmov, ktoré porazia súperov algoritmus kameňom, papierom, nožnicami, a jediný spôsob, ako to zastaviť, je vrátiť sa k Nashovej rovnovážnej stratégii a zvoliť si cez RandomInteger[(1,3)].

Dodatok 1
V prípade, že neviete, ako hrať túto hru, pravidlá sú nasledovné: vyberiete si kameň, nožnice alebo papier pomocou jedného z troch gest, ktoré súčasne ukazujete vy a váš súper. Kameň bije nožnice (robí ich tupými), nožnice bije papier (strihajú ho) a papier bije kameň (ovíja ho). Víťaz získa jeden bod, v prípade remízy obaja hráči nezískajú body.

Ďakujem za pomoc pri preklade tohto príspevku.

Neexistuje človek, ktorý by nehral hru kameň, papier, nožnice. Tá si totiž vie nielen vziať čas, ale aj vyriešiť napríklad spor.

Medzitým málokto vie, že táto hra vznikla v Číne, neskôr, v 19. a 20. storočí, si získala obľubu v mnohých krajinách sveta vrátane Ruska. A na začiatku 21. storočia sa objavili prvé majstrovstvá v tomto „športe“ s významnými výhrami.

Aby ste vyhrali túto hru, nemusíte byť jasnovidcom - na čítanie myšlienok súpera alebo naprogramovanie jeho akcií stačí dodržiavať niektoré pravidlá.

1. Muži zvyknú ako prví hádzať „kameňom“, pretože je to vnímané ako sila a odhodlanie. Preto je možné na to chytiť silnú polovicu ľudstva, s ktorou sa často stretávajú. Pomocou tejto funkcie môžete jednoducho vyhrať tým, že ukážete „papier“. Pamätajte však, že tento trik nebude fungovať so skúsenými hráčmi.

2. Ak máte "šťastie" hrať so skúseným hráčom, je nepravdepodobné, že by prvýkrát ukázal "kameň" - to je príliš zrejmé. Preto sú "nožnice" pomerne optimálnou možnosťou.

3. Povedzte svojmu súperovi, čo ukážete a potom... ukážte, čo ste povedali. prečo? Pokiaľ nehráte s niekým, kto nevie, že ste drzý, môžete oznámiť svoje zámery a získať ziskový hod. Napríklad, ak vyhlásite „kameň“, potom váš súper nevyhodí „papier“ a verí, že ukážete „nožnice“. Tento ťah vám môže priniesť výhru alebo remízu.

4. Ak váš súper hodil „nožnice“ dvakrát, tak šanca, že ich ukáže aj tretíkrát, je veľmi malá. S najväčšou pravdepodobnosťou vyhodí "papier" alebo "kameň". V tomto prípade by bolo vhodné, aby ste ukázali „papier“.

5. Počas druhého kola neskúsení hráči podvedome ukazujú, čo by ich v minulosti mohlo poraziť. Napríklad, ak váš súper prehral s „papierom“, ukáže „nožnice“, potom je váš ťah „kameň“. Ak prvýkrát súper vyhodil "kameň", potom je druhýkrát vhodné ukázať "nožnice": s najväčšou pravdepodobnosťou sa rozhodne vyhodiť "papier".

6. Sú situácie, keď neviete, čo vyhodiť. V tomto prípade vám odporúčam ukázať „papier“. Podľa štatistík sa "nožnice" ukazujú o niečo menej často ako čokoľvek iné. Nie je to však tak dávno, čo britskí vedci zistili, že najviac víťaznou stratégiou v hre je ukázať „nožnice“. Faktom je, že súper najčastejšie podvedome očakáva gesto „kameň“, a preto ukazuje „papier“.

Dobrá hra!


Len Boh vie, koľko kontroverzných situácií v detstve sa vyriešilo pomocou hry Kameň, papier, nožnice. Prečo sú tu malé, plné dospelých detí, ktoré nájdu ľahkú cestu von v priebehu niekoľkých sekúnd a odhodené znamenie. Čo sa teda skrýva za nenáročným vyhadzovaním si prstov: vôľa náhody alebo dobre premyslená stratégia? Vedci pevne poznajú odpoveď a dávajú svoj víťazný recept.

Len nedávno tím čínskych výskumníkov z univerzity Zhejiang oznámil svetu odvážne zistenia svojich psychologických testov. Vedci od decembra 2010 do marca súčasného vykonali 5 experimentálnych cyklov. Každý cyklus zahŕňal 12 stretnutí so 6 účastníkmi. Celkovo tak celkový počet subjektov dosiahol 360 osôb. Pomer pohlaví bol 217:143 s prevahou žien (jednoducho dievčatá boli pri nahrávaní aktívnejšie). Študent alebo postgraduálny študent sa mohol zúčastniť štúdia len raz.

Ľudia boli mimo dohľadu, pred obrazovkami monitorov. Verbálny a vizuálny kontakt bol teda vylúčený. Každý z účastníkov strávil jeden a pol až dve hodiny na 300 hrách s náhodným súperom. Motiváciou k výhre bola malá peňažná odmena za každé vyhraté kolo. A tu sú závery z toho...

Čo teda potrebujete vedieť, aby ste vyhrali? Po pozorovaní obrovského množstva „bitiek“ vedci zistili, že hráč, ktorý porazil svojho súpera v aktuálnej hre, s väčšou pravdepodobnosťou zopakuje svoje činy v ďalšom kole a je menej pravdepodobné, že niečo zmení.

Na druhej strane, ak hráč prehrá dva alebo viackrát za sebou, prestane ukazovať neúspešnú kombináciu a pokúsi sa prelomiť presne to znamenie, ktoré práve dovolilo súperovi poraziť ho.

Ak by teda hráč A prehrával sériu prehier a hráč B práve zroloval nožnice a tým prestrihol papier A, potom by hráč A pravdepodobne hodil kameňom, čo by dávalo veľkú šancu na výhru, pretože B by sa pravdepodobne držal rovnakej výhry. taktiky. Psychológia správania je jednoduchá: ak vyhráte, nezmeníte sa, ak prehráte, vymeníte.

Stratili ste? Hoďte znak, ktorý prekoná posledné víťazné znamenie vášho súpera.

vyhral? Neukazujte stále rovnaké znamenie, namiesto toho zložte posledné kombo svojho prehrávajúceho súpera.

Stále nie je úplne jasné? Tu je niekoľko výherných stratégií, ktoré vám pomôžu zostať neporaziteľnými:

Ak ste vyhrali posledný zápas...

Ak ste prehrali v poslednej hre (a súper o tejto technike nevie) ...

  • ... po hode kameňom prejdite v ďalšom boji k nožniciam
  • ... po vyhodení nožníc prejdite v ďalšom boji na papier
  • ... po odhodení papiera prejdite v ďalšom boji ku kameňu

Ak ste prehrali poslednú hru (a váš súper si je vedomý tejto techniky)...

  • ... po vyhodení kameňa prejdite v ďalšom boji na papier
  • ... po vyhadzovaní nožníc prejdite v ďalšom boji ku kameňu
  • ... po odhodení papiera prejdite v ďalšom boji k nožniciam

Môžete sa dozvedieť viac o metodológii vykonávania výskumu v, ktorú čínski vedci poskytli verejnosti. Samozrejme, je navrhnutý v angličtine a obsahuje rozloženia a vzorce, ktoré sú pre ľudí ďaleko od matematiky nezrozumiteľné.

A na záver dodám, že vinu za stratené autá, domy a manželky v „kameň, nožnice, papier“ treba zvaliť v prvom rade na vašu vášeň, a nie na čínske mysle a autora týchto linky.

„Kameň, papier, nožnice“ je hra známa každému od detstva, vyriešila aj tie najvážnejšie mužské spory. Vždy som si myslel, že táto hra je založená na šťastí, ale zďaleka to tak nie je. Dnes "Tak jednoduché!" vám odhalí niekoľko malých tajomstiev, ktoré vám umožnia v tejto hre vždy vyhrať. A potom budete jazdiť na prednom sedadle a niekto iný pobeží na pivo.

Tajomstvo výhry kameň, papier, nožnice

Ak ste už zabudli na pravidlá, pripomeniem vám: kameň láme nožnice, ktoré strihajú papier, a papier zakrýva kameň.

Tím čínskych vedcov z Zhejiang University uskutočnil obrovské množstvo experimentov a pozorovaní, ktorých výsledky ukázali niektoré vzory: Hráč, ktorý porazil svojho súpera v aktuálnej hre, s najväčšou pravdepodobnosťou zopakuje svoje akcie v nasledujúcom kole a je nepravdepodobné, že by niečo zmenil.

Na druhej strane, ak hráč prehrá dva alebo viackrát za sebou, prestane sa zobrazovať zlá kombinácia a pokúsi sa prelomiť presne to znamenie, ktoré práve dovolilo súperovi poraziť ho.

Na základe toho môžeme odvodiť takúto víťaznú stratégiu

  • Ak prehráte, hoďte znak, ktorý prekoná posledné víťazné znamenie vášho súpera.
  • Ak vyhráte, neukazujte stále rovnaké znamenie, namiesto toho zložte posledné kombo prehrávajúceho súpera.

Niekoľko ďalších dôležitých pravidiel

  • Najčastejšie sú predstavitelia silnejšieho pohlavia prví, ktorí používajú kameň, takže ak je vaším súperom muž, skúste hádzať papier.
  • Ak súperíte so skúseným hráčom, je veľká šanca, že sa pokúsi hrať na vašu naivitu a hádzať papier. Použite nožnice.
  • Pamätajte, že ak váš súper už hodil kameňom dvakrát za sebou, táto osoba nenávidí byť predvídateľná a väčšinou používa nožnice. Hoď kameňom.
  • Sledujte prsty súpera. Najľahšie ťahy vám povedia, ktorý ťah použije váš súper. Všetky prsty sú napäté - kameň. Všetky prsty sú uvoľnené - papierové. Len dva prsty sú napnuté - nožnice.
  • Najmenej sa v hre používa papier – v 29,6 % prípadov. Častejšie používajú nožnice - 35%. A ešte častejšie kameň - 35,4%. Využite efekt prekvapenia.

Povedzte o týchto malých trikoch svojmu, bude úplne potešený skutočnosťou, že vždy vyhrá hádky so svojimi spolužiakmi!


Máme tendenciu si myslieť, že stará dobrá hra Kameň, papier, nožnice je postavená na čistom šťastí (alebo náhode). Ale ak áno, hrajtenebolo by to také zaujímavé.

Corruption.Sport s odkazom na Bright Side vám odhalí niekoľko tajomstiev, pomocou ktorých môžete v tejto bitke vždy vyhrať. A potom budete jazdiť na prednom sedadle a niekto iný pobeží na pivo.

Po prvé, začnime so základmi. Ako pravdepodobne viete, kameň podmienečne zlomí nožnice, ktoré strihajú papier, a papier zakryje kameň.

Po spozorovaní obrovského množstva takýchto „bitiek“ tím čínskych výskumníkov z univerzity Zhejiang zistil, že hráč, ktorý v aktuálnej hre porazil svojho súpera, s väčšou pravdepodobnosťou zopakujú svoje akcie v ďalšom kole a je menej pravdepodobné, že sa zmení.

Na druhej strane, ak hráč prehrá dva alebo viackrát za sebou, prestane ukazovať zlú kombináciu a pokúsi sa prelomiť presne to znamenie, ktoré práve dovolilo súperovi poraziť ho.

Na základe toho výhra stratégia:

  • Stratili ste? Hoďte znak, ktorý prekoná posledné víťazné znamenie vášho súpera.
  • vyhral? Neukazujte stále rovnaké znamenie, namiesto toho zložte posledné kombo svojho prehrávajúceho súpera.

A ešte pár tipov:

  • Muži sú často prvý, kto hodí kameňom. Ak ty hrať proti mužovi, skúste papier.
  • Skúsení hráči sa budú snažiť hrať na vašu naivitu a hádzať papier. Použite nožnice.
  • Keď vidíte, že súper už dvakrát hodil kameňom, vedzte, že daný človek nenávidí byť predvídateľný a väčšinou používa nožnice. Použite kameň.
  • Sledujte prsty súpera. Najľahšie ťahy vám povedia, ktorý ťah použije váš súper. Všetky prsty napnuté - kameň. Všetky prsty sú uvoľnené - papierové. Len dva prsty sú napnuté - nožnice.
  • Najmenej sa v hre používa papier – v 29,6 % prípadov. Častejšie používajú nožnice — 35 %. A o niečo častejšie kameň - 35,4%. Využite efekt prekvapenia.