نقطه بازی
حتماً تا به حال نقطه بازی کرده اید. در این بازی دو بازیکن روی یک شبکه ی مستطیلی از نقاط بازی میکنند. هر بازیکن در نوبت خود دو نقطه ی مجاور را با خطی عمودی یا افقی به هم متصل میکند. بازیکنی که چهارمین ضلع مربعی را رسم میکند، صاحب این مربع خواهد بود و باید خط دیگری به عنوان جایزه ی اجباری رسم کند. بازی با پر شدن صفحه تمام میشود و برنده کسی است که صاحب خانه های بیش تری باشد. بازیکنها مجبور به کامل کرن یک خانه - وقتی که امکان این کار را داشته باشند - نیستند، مگر آنکه حرکت دیگری نداشته باشند.
باApplet زیر میتوانید این بازی را انجام دهید:
Applet بالا در حالت easy به صورت تصادفی بازی میکند و در حالت medium هم تنها سعی میکند خانه های سه ضلعی را تکمیل و از ساختن خانه های دو ضلعی اجتناب کند، بنابراین برد آن نباید مشکل باشد. برای آشنا شدن با این بازی یک مثال ساده را مشاهده میکنیم. فرض کنید شما بازیکن قرمز هستید و نوبت بازی با شماست. چه حرکتی انجام میدهید؟
بازیکن های تازه کار زنجیر سه تایی پایین را انتخاب می کنند، ولی با این کار زنجیر چهار تایی میانی را به حریف واگذار میکنند.
اما همان طور که احتمالاً حدس زده اید، راه هوشمندانه تری هم وجود دارد: قربانی کردن دو خانه ی آخر زنجیره، حریف را وادار میکند زنجیره چهارتایی میانی را به شما بدهد.
الف ب ج
وضعیت هایی مانند وضعیت الف معمولاً با وضعیت هایی مانند وضعیت ب، که در آن بازیکن با یک حرکت صاحب دو خانه شده است، دنبال میشوند. به این حرکات، " حرکت جفت " میگویند.
واضح است که اگر دو حریف با دقت بازی کنند، از بازی کردن داخل زنجیرها که به باز شدن زنجیر برای حریف میانجامد، خودداری خواهند کرد و بیرون از زنجیرهای موجود بازی خواهند کرد. طبیعتاً بعد از مدتی همه ی صفحه بازی تبدیل به تعدادی زنجیر میشود. حال اگر حریف یکی از زنجیرها را باز کند، میتوانیم با استفاده از شیوه ی بالا - قربانی کردن دو خانه ی آخر هر زنجیر غیر از آخرین زنجیر - کنترل بازی را در دست بگیریم و حریف را مجبور کنیم که زنجیرها را یکی پس از دیگری باز کند. بنابراین اگر طول و تعداد زنجیرها به اندازه ی کافی باشد، کسی که کنترل بازی را در اختیار دارد، برنده خواهد بود.
در هر کدام از سه بازی زیر سعی کنید با به کار گرفتن روشی که توضیح داده شد و با این فرض که نوبت شماست، حرکت برنده را پیدا کنید.
چون ممکن است حریف هم از همین روش برای کنترل بازی استفاده کند، پس غالباً کسی که اولین زنجیر را باز کند، محکوم به شکست خواهد بود. حقیقتی ریاضی به ما کمک میکند تا متوجه شویم چگونه میتوان حریف را وادار به گشودن اولین زنجیر کرد.
در هر بازی، تعداد نوبت های بازی برابر است با:
تعداد نقطه های صفحه ی بازی به علاوه ی تعداد کل حرکت های جفت انجام شده در بازی.
کسانی که با نظریه ی گراف آشنا هستند، میتوانند به کمک فرمول اویلر اثباتی برای این مطلب پیدا کنند.
معمولاً بازیکنی که آخرین حرکت را انجام میدهد، بازیکنی است که کنترل بازی را در دست دارد و آخرین زنجیر را تصاحب میکند. بنابراین اگر بازیکن اول بتواند بازیکن دوم را به گشودن اولین زنجیر وادارد، تعداد نوبت های بازی فرد خواهد بود و اگر عکس این وضع اتفاق بیافتد، تعداد نوبتها، زوج خواهد بود. چون تعداد نقاط صفحه ثابت است، پس نفر اول باید کاری کند که مجموع تعداد نقطه های صفحه و حرکت های جفت فرد شود و نفر دوم باید این مجموع را زوج کند؛ اما از آن جا که معمولاً تعداد حرکت های جفت یک عدد کم تر از تعداد زنجیرهاست ( در هر زنجیر به جز زنجیر آخر یک حرکت جفت توسط بازنده انجام شده است. )، این قانون به صورت زیر درمی آید:
بازیکن اول باید سعی کند مجموع تعداد زنجیرها و تعداد نقاط صفحه زوج باشد.
بازیکن دوم باید سعی کند مجموع تعداد زنجیرها و تعداد نقاط صفحه فرد باشد.
مثلاً در شکل زیر در بازی الف فقط یک زنجیر وجود دارد و تعداد نقاط صفحه هم فرد است، پس بازیکن دوم در هر صورت مجبور است که اولین زنجیر را باز کند. در بازی ب دو زنجیر وجود دارد، پس بازیکن اول مجبور به این کار خواهد شد.
الف ب
و اما نکاتی که باید در شمارش زنجیرها در نظر گرفته شوند:
فقط زنجیرهایی که حداقل سه خانه دارند، شمرده میشوند. چرا که فقط در این زنجیرها میتوان با قربانی کردن دو خانه، حریف را وادار به حرکت جفت کرد. در زنجیرهایی با دو خانه، باید از انجام حرکاتی که باعث میشود حریف ما را وادار به حرکت جفت کند، خودداری کنیم. یعنی این شش حرکت:
هر زنجیر بسته تنها در صورتی شمرده میشود که بیش از حداقل پنج خانه داشته باشد و در این صورت باید آن ها را دو بار به حساب آوریم. چون در هر زنجیر بسته دو حرکت جفت انجام میشود و باید چهار خانه را قربانی کنیم.
با توجه به این نکات باید تا جایی که ممکن است از ساخته شدن زنجیرهای کوتاه یا بسته که نسبت قربانیها به خانه های به دست آمده را افزایش میدهند، خودداری کنیم.
حال میتوانید به کمک قانون زنجیرها مسأله های زیادی را حل کنید. برای شروع به دو مسأله ی زیر توجه کنید:
مسأله ی اول: در هر بازی نوبت حرکت با شماست، حرکتی پیدا کنید که تعداد زنجیرها را به نفع شما تغییر دهد.
مسأله ی دوم: ثابت کنید در بازی 4×4 ( بازی با 9 خانه )، بازیکن دوم استراتژی برد دارد.
راهنمایی: ثابت کنید که بازیکن دوم م یتواندطوری بازی کند که در بازی فقط یک زنجیر وجود داشته باشد.