Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 01. 11. 2014 17:53 — Editoval Anonymystik (01. 11. 2014 18:01)

Anonymystik
Příspěvky: 585
Reputace:   45 
 

NIM hra s pamětí

Zdravím. Nedávno jsem narazil na docela zajímavou úlohu z teorie her - jedná se o tzv. NIM hru. Tohle je speciální, méně známá modifikace, na kterou jsem narazil - zkusím vysvětlit:
--
Máme hromádku s $N$ kameny. Hru hrají dva hráči, kteří se střídají v tazích. Tahem rozumíme odebrání jednoho až $k$ kamenů z hromádky. Navíc hráč nesmí odebrat stejný počet kamenů, jako odebral soupeř ve svém minulém tahu. Kdo nemůže táhnout, prohrál*.
--
Úkolem je určit v závislosti na číslech $k, N$, zda je výchozí pozice vyhrávající** a pokud ano, popsat nějak jednoduše strategii, která povede k vítězství.
--
Poznámky:
*což nutně neznamená, že už na hromádce nezbyl žádný kámen. Například pokud na hromádce zbyl jeden kámen, ale poslední tah soupeře bylo odebrání jednoho kamene, nelze už táhnout (tah by byl stejný, jako ten minulý) a tudíž je hra u konce.
** vyhrávající pozice je taková, že pokud budeme hrát optimálně a neuděláme chybu, soupeř se může snažit jak chce a stejně vždycky prohraje


"Do you love your math more than me?"   "Of course not, dear - I love you much more."   "Then prove it!"   "OK... Let R be the set of all lovable objects..."

Offline

 

#2 08. 11. 2014 01:34

Brano
Příspěvky: 2668
Reputace:   232 
 

Re: NIM hra s pamětí

no da sa pomerne jednoducho popisat algoritmus ktory urci vitazne pozicie, ale nejaky nazorny abstrakny popis, resp. nieco ako "vzorec" som v tom nevidel - tak by ma zaujimalo ako si to myslel

ci teda napisat ten algoritmus alebo nejaky explicitny vzorec co to rozhodne ?

Offline

 

#3 08. 11. 2014 11:47 — Editoval Anonymystik (08. 11. 2014 11:52)

Anonymystik
Příspěvky: 585
Reputace:   45 
 

Re: NIM hra s pamětí

↑ Brano: Spíš mi jde o ten vzorec. Algoritmus je jednoduchý - pracuje rekurentně. Definuješ si nějaký stavový prostor - ten bude dvojdimenzionální (veškerá informace o aktuálním stavu hry je shrnuta ve dvou číslech - počet kamenů na hromádce a poslední zahraný tah). Ve stavovém prostoru si definuješ nějaké výchozí prohrávající pozice. A pak řekneš, že vyhrávající je každá taková, z níž existuje aspoň jeden tah, jímž se dostaneš do prohrávající pozice. Prohrávající pozice je pak taková, která není vyhrávající (tj. taková, z níž veškeré přípustné tahy vedou pouze do vyhrávajících pozic). Rekurence je pak vedená skrze počet kamenů na hromádce - každý přípustný tah totiž nutně počet kamenů sníží.


"Do you love your math more than me?"   "Of course not, dear - I love you much more."   "Then prove it!"   "OK... Let R be the set of all lovable objects..."

Offline

 

#4 18. 11. 2014 17:19

Brano
Příspěvky: 2668
Reputace:   232 
 

Re: NIM hra s pamětí

↑ Anonymystik:
ved presne tak som si ho premyslel aj ja, ale vzorec zatial nic

Offline

 

#5 17. 12. 2014 18:46

Ondrik_B
Příspěvky: 91
Škola: BIGY ZR
Pozice: student
Reputace:   
 

Re: NIM hra s pamětí

↑ Anonymystik:

A co kdyz zacinajici hrac odebere N kamenu? Druhy hrac automaticky prohral, protoze uz nezbyl zadny kamen. Nebo to ma jeste nejake jine omezeni?

Offline

 

#6 18. 12. 2014 15:21

Anonymystik
Příspěvky: 585
Reputace:   45 
 

Re: NIM hra s pamětí

↑ Ondrik_B: V tahu můžeš odebrat 1 až k kamenů. Pokud je N větší než k, tak tvůj tah by byl nepřípustný.


"Do you love your math more than me?"   "Of course not, dear - I love you much more."   "Then prove it!"   "OK... Let R be the set of all lovable objects..."

Offline

 

#7 27. 05. 2025 23:55 — Editoval check_drummer (28. 05. 2025 23:53)

check_drummer
Příspěvky: 5278
Reputace:   106 
 

Re: NIM hra s pamětí

Náhodou jsem narazil na toto téma. Existují pro nějaké k výherní počty kamenů, ze kterých by se dalo něco vykoukat?

Netriviální případy jsou ty, kdy k je liché. Taky si myslím že pokud obecně je [mathjax]k+1=2^m.(2c+1)[/mathjax] pro m sudé, pak je to taky snadné - pokud soupeř zvolí (k+1)/2, já zvolím (k+1)/4, atd.... A snahou je se po svém tahu dostat na násobek k+1.

A pro m liché mi to připadá, že proherní pozice budou právě ty (myšleno na začátku hry), u kterých je počet kamenů o 1 větší než nějaký násobek k+1.


"Máte úhel beta." "No to nemám."

Offline

 

#8 28. 05. 2025 04:14 — Editoval osman (28. 05. 2025 05:02)

osman
Příspěvky: 234
Pozice: v.v.
Reputace:   
 

Re: NIM hra s pamětí

↑ check_drummer:
Ahoj,
N=12, k=11 ....kdo začíná, prohraje
N=23, k=11 ....kdo začíná, vyhraje
výsledek asi taky závisí na N


Hlavní je zápal, talent se dostaví!

Offline

 

#9 28. 05. 2025 10:47

osman
Příspěvky: 234
Pozice: v.v.
Reputace:   
 

Re: NIM hra s pamětí

Hra může mít nejvýše k tahů.
Myslím, že když je N větší než součet všech čísel od 1 do k,  záleží jenom na tom, jestli je k liché nebo sudé. Pro liché k vyhraje ten, kdo začal, pro sudé k prohraje. Bez ohledu na to, kdo jak tahá.


Hlavní je zápal, talent se dostaví!

Offline

 

#10 28. 05. 2025 12:47

MichalAld
Moderátor
Příspěvky: 5243
Reputace:   127 
 

Re: NIM hra s pamětí

Rekurzivní algoritmus se dá napsat podle mě velmi jednoduše, je to jedna funkce s pár podmínkami.
Ale obecné řešení - podle mě by se na to zase muselo jít indukcí - co se stane, když zvýšíme n o jedničku, nebo k o jedničku. Ale jestli to jde, to netuším.
Rozhodně existují algoritmy (nebo funkce) které nejsou "primitivně rekurzivní", tedy že je nelze převést na nějaký cyklus (v matematice sumu přes všechna i).

Offline

 

#11 28. 05. 2025 13:43

check_drummer
Příspěvky: 5278
Reputace:   106 
 

Re: NIM hra s pamětí

↑ osman:
Samozřejmě, to se dá intuitivně čekat.


"Máte úhel beta." "No to nemám."

Offline

 

#12 28. 05. 2025 13:45

check_drummer
Příspěvky: 5278
Reputace:   106 
 

Re: NIM hra s pamětí

↑ osman:
Hra můžemít libovlný počet tahů, záleží to hodnotách čísel N,k. Např. je-li N>k.x, tak hra bude mít alespoň x tahů.


"Máte úhel beta." "No to nemám."

Offline

 

#13 28. 05. 2025 13:46

check_drummer
Příspěvky: 5278
Reputace:   106 
 

Re: NIM hra s pamětí

↑ MichalAld:
Nemusí se na to jít jen zvýšením o jedničku - a jak jsem psal, sudká k jsou jasná....


"Máte úhel beta." "No to nemám."

Offline

 

#14 28. 05. 2025 13:58

osman
Příspěvky: 234
Pozice: v.v.
Reputace:   
 

Re: NIM hra s pamětí

↑ check_drummer:

Hra můžemít libovlný počet tahů, záleží to hodnotách čísel N,k. Např. je-li N>k.x, tak hra bude mít alespoň x tahů.

Hra může mít vždy nejvýše k tahů, protože můžeme každé číslo od 1 do k odečíst pouze jednou, řekl bych


Hlavní je zápal, talent se dostaví!

Offline

 

#15 28. 05. 2025 23:18 — Editoval check_drummer (28. 05. 2025 23:19)

check_drummer
Příspěvky: 5278
Reputace:   106 
 

Re: NIM hra s pamětí

↑ osman:
To ne, není povoleno odebrat tolik kamenů, kolik odebral soupeř ve svém minulém tahu - a to chápu tak že "v bezprostředně předcházejícím" a ne "v některém z minulých". Kdyby to bylo v libovolném z předcházejících, tak by zadavatel napsal "v některém z minulých" a ne "v minulém" - což právě evokuje jeden konkrétní tah, ten poslední.

A rovněž je to zřejmé také z poznámky zadavatele #3, kde hovoří o stavovém prostoru.


"Máte úhel beta." "No to nemám."

Offline

 

#16 29. 05. 2025 10:07

osman
Příspěvky: 234
Pozice: v.v.
Reputace:   
 

Re: NIM hra s pamětí

↑ check_drummer:
Asi máš pravdu, tak jsem řešil jinou úlohu 🙂
Škoda, už to vypadalo dobře...


Hlavní je zápal, talent se dostaví!

Offline

 

#17 29. 05. 2025 17:31

check_drummer
Příspěvky: 5278
Reputace:   106 
 

Re: NIM hra s pamětí

↑ osman:
... a ta by byla ještě o dost těžší....


"Máte úhel beta." "No to nemám."

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson