Jocul NIM

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului proinfo.MyForum.ro :: Teoria jocurilor
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
admin
Administrator
Administrator
admin

Data inscrierii: 30/Ian/2007
Mesaje: 76

MesajTrimis: 08/02/2007 15:09    Titlul subiectului: Jocul NIM Raspunde cu citat (quote)

Jocul NIM
=========

Doua persoane A si B au la dispozitie n gramezi (stive)
de obiecte (monede/pietre/chibrite) si joaca impreuna un joc.
Fiecare poate lua dintr-o singura gramada oricate obiecte
(in limita numarului de obiecte din gramada).
Castiga cel care ia ultimul obiect, adversarul sau
nemaiputand muta.

Analiza jocului
===============

Acest joc este cel mai important tip al jocurilor dintre
doi parteneri.
Origine: Numele jocului a fost dat de matematicianul
american Charles L. Bouton, derivat dintr-un vechi
cuvant englez, cu semnificatia "a lua"; oricum versiunea
moderna a jocului NIM seamana cu un vechi joc chinezesc
numit Tsianshidzi (sau "ridicarea pietrelor").

Numim stare a jocului vectorul v=(v1,v2,...,vn) reprezantand
numarul de obiecte din fiecare gramada. Pentru fiecare stare
se poate determina daca duce la castigul (C) sau pierderea (P)
jocului de catre jucatorul aflat la mutare.

Teorema
=======
O C-stare a jocului este data de valoarea pozitiva a sumei xor:
S=v[1] xor v[2] xor...xor v[n]

Evidet, S=0 => P-stare (pierderea jocului)


S:=0;
for i:=1 to n do
S:=S xor v[i]

Strategia de castig
===============
Presupunem ca jucatorul A muta primul. Avem doua situatii:
1) dispoziția initiala a jocului este o dispoziție de castig,
adica are o suma Sxor >0. In acest caz strategia jucatorului
A este de a face o mutare care sa duca la obtinerea unei
P-stari (de pierdere) pentru jucatorul B.
Se determina numarul x de obiecte pe care le poate lua A
din ecuatia: S xor v[i]=v[i] - x, ceea ce duce la o stare
cu suma xor nula pentru B. De aici rezulta:
=> x=v[i] - S xor v[i]
Deci trebuie sa determinam o gramada pentru care valoarea
lui x este strict pozitiva.

for i:=1 to n do
if v[i]>S xor v[i] then
begin
x:=v[i]-S xor v[i];
break
end

2) Daca jucatorul A se afla initial intr-o P-stare
(de pierdere) va muta astfel incat sa pastreze aceasta
situatie, asteptand ca B sa faca o mutare gresita (desi
o strategie buna a lui B face imposibil ca el sa piarda).
Cautam aceeasi valoare a lui x ca si la cazul 1.


Tabela operatiei xor (NIM)
==========================
0 | 1 | 2 | 3 | 4 | 5 |
-----------------------
1 | 0 3 2 5 4
2 | 3 0 1 6 7
3 | 2 1 0 7 6
4 | 5 6 7 0 1
5 | 4 7 6 1 0

Cateva precizari
================

- Jocuri impartiale : sunt jocuri in care ambii jucatori
au aceleasi mutari posibile.
- Orice joc impartial poate fi redus la jocul NIM - rezultat
datorat matematicienilor R.P. Sprague si P.M. Grundy
- La jocul NIM nu este posibila remiza!

Variante
========
1. NIM modificat: aceleasi mutari, pierde cel care ia ultimul obiect.
2. cautare pe google <a href="http://www.google.ro/search?hl=ro&q=NIM+game&btnG=C%C4%83utare+Google&meta="><img src="http://www.google.com/favicon.ico"></a>
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului proinfo.MyForum.ro :: Teoria jocurilor Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum




Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
Charcoal2 Theme © Zarron Media