Nim©
175586
136186
The Winning Strategy
In most cases, you must always take as many matches so that the Nim Sum of the rows is zero. Repeat this until there are very few matches left, then you must take matches such that your opponent takes the final match.What is a Nim Sum?
Count the matches in each row, and convert the number into a sum of powers of 2 (8, 4, 2 and 1). Then cancel out pairs of equal powers, and add what is left. So the Nim Sum of the starting position is:Row 1 | = | 1 | = | 1 x 1 | = | 1 | ||
Row 2 | = | 3 | = | 1 x 2 + 1 x 1 | = | 2 | 1 | |
Row 3 | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
Row 4 | = | 7 | = | 1 x 4 + 1 x 2 + 1 x 1 | = | 4 | 2 | 1 |
Total of unpaired powers | = | 0 | 0 | 0 |
As you can see, there are two red 4's, two green 2's, and two blue 1's and another two purple 1's. Both of the 4's cancel, both of the 2's cancel, and two pairs of 1's cancel out, leaving the Nim Sum zero.
To win at the Nim game, you must always make a move that leaves a configuration with a zero Nim Sum, that is, the position has no unpaired 4's, 2's or 1's. Otherwise, the opponent has the advantage, and they must make an error for you to win.
How To Leave a Zero Nim Sum
First, you need to calculate the Nim Sum of the position you have, find any unpaired power, and get rid of the unpaired number by removing the proper number of matches. For example, if your opponent goes first, and remove 2 matches from Row 4. That leaves the following configuration:Row 1 | = | 1 | = | 1 x 1 | = | 1 | ||
Row 2 | = | 3 | = | 1 x 2 + 1 x 1 | = | 2 | 1 | |
Row 3 | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
Row 4 | = | 5 | = | 1 x 4 + 0 x 2 + 1 x 1 | = | 4 | 1 |
Total of unpaired powers | = | 0 | 2 | 0 |
Here, the Nim Sum is 2. The two 4's cancel, and the four 1's cancel, but the 2 is unpaired. So the winning move is to get rid of the unpaired 2. Removing 2 matches from Row 2 will leave the Nim Sum at zero, and you have a winning position.
Row 1 | = | 1 | = | 1 x 1 | = | 1 | ||
Row 2 | = | 1 | = | 0 x 2 + 1 x 1 | = | 1 | ||
Row 3 | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
Row 4 | = | 5 | = | 1 x 4 + 0 x 2 + 1 x 1 | = | 4 | 1 |
Total of unpaired powers | = | 0 | 0 | 0 |
Now, any move your opponent makes will result in a non-zero Nim Sum. If you continue to produce zero Nim Sums through your moves until the last few moves, you will win the game.
From which row to remove matches?
Look at the non-zero Nim Sum and find the leftmost (most significant) column with a non-zero value, i.e. the leftmost column with an odd number of non-zero entries. Select any one of these (odd many) rows with a non-zero entry in this column. Subtract from this row as much as necessary to make the total Nim Sum zero. This is always possible.Last moves
The rule to produce a zero Nim Sum is correct except towards the end when1. only 1 row has matches then we take all but one match, or
2. all rows but one row have only 1 match:
2.1. If there are evenly many rows with 1 match then we take from the other row all but 1 match.
2.2. If there are odd many rows with 1 match then we take from the other row all matches.
In all cases the purpose is to have odd many rows with only 1 match left which is a losing position for the computer.
Final Notes
The default starting configuration has a Nim Sum of zero. The player that starts the game can not avoid generating a position with non-zero Nim Sum which the opponent can change into a position with zero Nim Sum and so on. Therefore whoever plays first will lose if the other player plays correctly. If you want to win in the default position, let the computer begin the game. Random starting positions will most likely have a non-zero Nim Sum so playing first would then be best.La Stratégie Gagnante
Dans la plupart des cas, il faut retirer un nombre d’allumettes de sorte que la Somme Nim des rangées soit nulle, c.-à-d. zéro. Jouez ainsi jusqu’à ce qu’il y ait peu d’allumettes restantes. Arrivé à ce point du jeu, il faut retirer ensuite les allumettes de telle façon que l’ordinateur soit obligé de prendre la dernière allumette.Qu’est-ce que la Somme Nim?
Comptez le nombre d’allumettes dans chaque rangée, et convertissez ce nombre en une somme de puissances de (c.-à-d. 8, 4, 2, et 1). Ensuite, les paires de puissances égales s’annulent, et vous faites la somme de celles qui restent. La Somme Nim de la position de départ est donc:Rangée 1 | = | 1 | = | 1 x 1 | = | 1 | ||
Rangée 2 | = | 3 | = | 1 x 2 + 1 x 1 | = | 2 | 1 | |
Rangée 3 | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
Rangée 4 | = | 7 | = | 1 x 4 + 1 x 2 + 1 x 1 | = | 4 | 2 | 1 |
Le Total des Puissances Non-Appariées | = | 0 | 0 | 0 |
Vous remarquerez qu’il y a deux 4s rouges, deux 2s verts, deux 1s bleus et deux 1s violets. Les paires s’annulent : les deux 4s, les deux 2s, et les deux paires de 1s. Vu qu’il n’y a pas de puissance restante, la Somme Nim égale zéro.
Pour remporter une partie du Jeu de Nim, il faut, à votre tour, effectuer un coup de sorte que la configuration résultante ait une Somme Nim égale à zéro, c.-à-d. de sorte qu’il n’y ait aucune puissance (1, 2, 4) non-appariée. Sinon, votre adversaire sera favorisé, et il faudra qu’il commette une erreur pour que vous puissiez gagner.
Comment Obtenir une Somme Nim de Zéro
Tout d’abord, il faut calculer la Nim Somme de la position actuelle, trouver les puissances non-appariées, et ensuite éliminer la puissance non-appariée en retirant le bon nombre d’allumette. Par exemple, si votre adversaire joue en premier, et qu’il retire 2 allumettes de la Rangée 4, la configuration résultante sera:Rangée 1 | = | 1 | = | 1 x 1 | = | 1 | ||
Rangée 2 | = | 3 | = | 1 x 2 + 1 x 1 | = | 2 | 1 | |
Rangée 3 | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
Rangée 4 | = | 5 | = | 1 x 4 + 0 x 2 + 1 x 1 | = | 4 | 1 |
Total des Puissances Non-Appariées: | = | 0 | 2 | 0 |
La Somme Nim de cette configuration égale 2 car la paire de 4s et les deux paires de 1s s’annulent, laissant le 2 tout seul. Alors le coup gagnant consiste à éliminer ce 2 non-apparié. Pour faire ceci vous retirez 2 allumettes de la Rangée 2. La Somme Nim égale donc zéro, et votre position est gagnante.
Rangée 1 | = | 1 | = | 1 x 1 | = | 1 | ||
Rangée 2 | = | 1 | = | 0 x 2 + 1 x 1 | = | 1 | ||
Rangée 3 | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
Rangée 4 | = | 5 | = | 1 x 4 + 0 x 2 + 1 x 1 | = | 4 | 1 |
Total des Puissances Non-Appariées: | = | 0 | 0 | 0 |
À partir de cette position, tout coup effectué par l’ordinateur aura pour résultant une Somme Nim non-nulle. Si vous continuez de jouer en maintenant une Somme Nim nulle (jusqu’aux tout derniers coups du jeu), vous remporterez la partie.
De quelle rangée faut-il retirer des allumettes?
Considérez la Somme Nim non-nulle et déterminez la colonne la plus à gauche (la colonne la plus signifiante) qui n’a pas une valeur de zéro, c.-à-d. la colonne la plus à gauche qui contient un nombre impair d’allumettes (et non zéro). Sélectionnez une rangée parmi ce nombre impair de rangées qui contient au moins une allumette, et retirez un nombre d’allumettes de sorte que la Somme Nim soit zéro. Ceci est toujours possible.Derniers Mouvements
Cette règle qui dit de maintenir une Somme Nim nulle est correcte, excepté vers la fin de la partie quand1. Il ne reste d’allumettes que dans une seule rangée : retirez alors toutes les allumettes sauf une
2. Il ne reste qu’une allumette dans toutes les rangées à l’exception d’une :
2.1. Si le nombre de rangées avec 1 allumette est pair, retirez alors toutes les allumettes sauf une de la rangée qui en a plusieurs.
2.2. Si le nombre de rangées avec 1 allumette est impair, retirez alors toutes les allumettes de la rangée qui en a plusieurs.
Dans tous les cas, le but est de faire en sorte qu’il y ait un nombre impair de rangées avec 1 allumette, ce qui est une position perdante pour l’ordinateur.
Dernières Remarques
La Somme Nim de la Configuration de départ par défaut est nulle. Le joueur qui joue en premier ne peut donc pas éviter de générer une position perdante (une Somme Nim non-nulle) que l’adversaire peut ensuite transformer en position gagnante (Somme Nim nulle) et ainsi de suite. Alors celui qui joue en premier perdra à moins que l’adversaire commette une erreur. Si vous voulez remporter une partie jouée à partir de la Configuration par Défaut, donnez le premier tour à l’ordinateur. À partir d’une position initiale générée de façon aléatoire, qui aura plus probablement une Somme Nim non-nulle, vous feriez mieux de jouer en premier.استراتژی برنده شدن
در بیشتر موارد، شما باید آنقدری کبریت بردارید به گونه ای که جمع نیم ردیف ها صفر باشد.
جمع نیم چیست؟
کبریت های هر ردیف را بشمارید، و عدد را به جمع توان های ۲ تبدیل کنید (۱ و ۲، ۴، ۸). آنگاه جفت های با توان یکسان را حذف کنید، و هرچه باقی مانده است را جمع کنید. بنابراین جمع نیم موفعیت ابتدایی برابر است با:
ردیف ۱ | = | 1 | = | 1 x 1 | = | 1 | ||
ردیف ۲ | = | 3 | = | 1 x 2 + 1 x 1 | = | 2 | 1 | |
ردیف ۳ | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
ردیف ۴ | = | 7 | = | 1 x 4 + 1 x 2 + 1 x 1 | = | 4 | 2 | 1 |
جمع توان های جمع نشده | = | 0 | 0 | 0 |
همینطورکه می توانید ببینید، دو ۴ قرمز وجود دارند، دو ۲ قرمز، و دو ۱ آبی و دو ۱ دیگر بنفش. هر دو ۴ حذف می شوند، هر دو ۲ حذف می شوند، و هر دو ۱ حذف می شوند، نتیجه می دهند که جمع نیم صفر است.
برای بردن در بازی نیم، شما همیشه باید حرکتی انجام دهید وضعیتی با جمع نیم صفر نتیجه دهد، یعنی، موقعیت هیچ ۴، ۲، ۱ جفت نشده ای ندارد. در غیر این صورت، رقیب شما برتری دارد، و آنها برای برد شما مشکل به وجود می آورند.
چگونگی نتیجه گرفتن جمع نیم صفر
ابتدا، لازم است که شما جمع نیم موقعیتی که در آن هستید را محاسبه کنید، همه ی توان های جفت نشده را پبدا کنید، و عدد جفت نشده را با حذف کردن تعداد مناسبی از کبریت ها حذف کنید. به عنوان مثال، اگر رقیب شما اول بازی می کند، و ۲ کبریت ارز ردیف ۴ حذف می کند. که موفعیت زیر را نتیجه می دهد:
ردیف ۱ | = | 1 | = | 1 x 1 | = | 1 | ||
ردیف ۲ | = | 3 | = | 1 x 2 + 1 x 1 | = | 2 | 1 | |
ردیف ۳ | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
ردیف ۴ | = | 5 | = | 1 x 4 + 0 x 2 + 1 x 1 | = | 4 | 1 |
جمع توان های جمع نشده | = | 0 | 2 | 0 |
اینجا، جمع نیم ۲ است. دو ۴ حذف می شوند، و چهار ۱ حذف می شوند، اما ۲ جفت نشده است. بنابراین حرکت برنده شدن این است که ۲ جفت نشده را حذف کنید. حذف کردن ۲ کبریت از ردیف ۲ جمع نیم صفر را نتیجه می دهد، و شما در موقعیت برنده شدن می باشید.
ردیف ۱ | = | 1 | = | 1 x 1 | = | 1 | ||
ردیف ۲ | = | 1 | = | 0 x 2 + 1 x 1 | = | 1 | ||
ردیف ۳ | = | 5 | = | 1 x 4 + 1 x 1 | = | 4 | 1 | |
ردیف ۴ | = | 5 | = | 1 x 4 + 0 x 2 + 1 x 1 | = | 4 | 1 |
جمع توان های جمع نشده | = | 0 | 0 | 0 |
اکنون، هر حرکتی که رقیب شما داشته باشد، جمع نیم غیر صفر نتیجه خواهد داد. اگر شما با درست بازی کردن بازی را ادامه دهید، بازی را خواهید برد.
یادداشت های نهایی
موقعیت ابتدایی پیش فرض جمع نیم صفر دارد. بازیکنی که بازی را شروع می کند باید همیشه جمع نیم غیر صفر را بعد از اولین حرکت خود نتیجه بدهد، که بازیکن دوم بتواند از آن سود ببرد، همانطور که در بالا دیدیم. در نتیجه، شما همیشه ضرر خواهید کرد اگر که بازی را ابتدا با موقعیت پیش فرض شروع کنید! اگرمی خواهید که برنده شوید، اجازه دهید که رایانه بازی را شروع کند. اگرچه، با موقعیت ابتدایی تصادفی جمع نیم احتمالا غیر صفر خواهد بود و بازیکن اول می تواند برنده شود.
همچنین، باید گفته شود که این روش شکست می خورد زمانیکه بازی تقریبا تمام می شود. به عنوان مثال، اگر شما دو ردیف با یک کبریت دارید، این موقعیت جمع نیم صفر دارد، اما بازیکنی که در این موقعیت اول حرکت می کند برنده می شود. به طور دقیق تر، استراتژی نیم رمانی تغییر می کند که یک بازی نرمال در حداکثر یک کبریت در هر ردیف می تواند نتیجه شود. در این حالت، حرکت درست این است که تعداد فردی از ردیف ها را با یک کبریت بگذاریم. در یک بازی نرمال، حرکت درست می تواند این باشد که تعداد زوجی از ردیف ها را با یک کبریت بگذاریم. این را در ذهن خود نگه دارید در عین حال که برای شکست دادن رایانه تلاش می کنید. موفق باشید!