300000
G'alabalarning umumiy soni: 31524
Dots
Agar siz faqat qaysi harakatlarni o'ynashni qiziqtirsangiz va nima uchun emas, balki pastki qismidagi "Qarorlar daraxti" ga o'ting. Ostidagi "Indeks" matnda kiritilgan barcha atamalar ro'yxatini ko'rsatadi va uni tezkor kirish sifatida ishlatish mumkin.
Asoslaribox - burchak sifatida 4 qo'shni nuqta bo'lgan kichik kvadrat. Qutining 0, 1, 2, 3, 4 tomonlari chizilgan bo'lishi mumkin va keyin 0-quti, 1-quti, 2-quti, 3-quti, 4-quti deb nomlanadi.
A line - ikkita qo'shni nuqtani bog'laydigan chiziq segmenti.
Chiziq chizish harakat qilish deb ham ataladi.
Agar chizilmagan chiziq 2-qutini va 3-qutini ajratsa, unda bu chiziqni chizish 3 narsani qiladi: u 3-qutini to'ldiradi va shu bilan bir ball to'playdi, 2-qutini 3-qutiga o'zgartiradi va u o'yinchiga yangi 3-qutini tugatish uchun ishlatilishi mumkin bo'lgan yana bir harakatni beradi. Bunday "zanjir reaktsiyasi" juda tez-tez sodir bo'ladi.
Barcha bog'langan 2-qutilar chain ni tashkil qiladi. Zanjirning 2 uchi bo'lishi mumkin va u to'g'ri chiziq bo'ladimi yoki yo'qmi, kabi 1, 2 va 4 qutili zanjirlarni ko'rsatadigan chiziqli zanjir
+ + +---+---+ + +---+ | | , yoki | | + + +---+---+ +---+ + | +---+---+
deb ataladi.
Zanjirning ham oxiri bo'lmasligi mumkin va keyin biz uni loopy zanjir yoki shunchaki loop deb ataymiz, u doira kabi ko'rinadimi yoki yo'qmi, bu kabi
+---+---+---+ | | + +---+ + | | | +---+ + + | | +---+---+
Zanjir ichida yoki uning uchidan birida harakat qilish bu o'yin haqidagi matematik adabiyotlarda zanjirni ochish deb ataladi.
Agar zanjir ochilsa nima bo'ladi?
Agar o'yinchi
+---+---+---+ | | + +A1-+ + | | +---+---+
dagi A1 harakati kabi zanjirdagi chizilmagan chiziqlardan birini chizsa. keyin kamida bitta 2-quti 3-qutiga aylanadi (bu erda yuqoridagi quti va A1 harakatining ostidagi quti) va boshqa o'yinchi (se) qutisini (larni) keyin 4-qutiga to'ldirishi, bir yoki ikki ball to'plashi va bir vaqtning o'zida qo'shni 2-qutini 3-qutiga aylantirishi mumkin (bu erda B1 chap va B2 o'ng qutisi)
+---+---+---+ | B1 | + +A1-+ + . | B2 | +---+---+
da Har bir quti tugallanganda, o'yinchi keyingi qutini va zanjirning boshqa barcha qutilarini bajarish uchun ishlatilishi mumkin bo'lgan yana bir harakatni amalga oshirishi kerak . Oxirgi qutini tugatgandan so'ng, o'yinchi boshqa joyga yana bir harakat qilishi kerak, agar taxtadagi barcha qutilar tugallanmagan bo'lsa.
Dastlabki ijro
Qoida 1: Eng aniq o'yin - raqib uni tugatib olishi mumkin bo'lgan 3-qutini yaratishdan qochishdir. Bu sodda va foydali qoida, ammo ushbu sayt oxirida ko'rib turganimizdek mukammal emas. Biron bir bosqichda, barcha chiziqlarning taxminan yarmi chizilgandan so'ng, 3 qutisini yaratish muqarrar bo'lib qoladi. Keyin nima bo'ladi? 1, 2 yoki ≥ 3 qutili zanjirlar boshqacha munosabatda bo'lganligi sababli, biz ularga alohida qarashimiz kerak.
Keling, faqat bitta qutiga ega bo'lgan zanjirlarni ko'rib chiqaylik.
+---+ | ? +---+
Ha, har doim shunday qilish kerak. Qutini olib, keyin A harakatini amalga oshiradimi yoki yo'qmi, qutini olib, A da raqibning nima qilishiga hech qanday ta'sir ko'rsatmaydi, faqat siz yoki raqib qutini oladimi, shuning uchun qutini olishingiz yaxshiroqdir.
Ikkita qutili zanjirlar qanday ko'rinishi mumkin va ularda qanday kerak?
Ikki qutili zanjirlar
+---+---+ +---+---+ +---+---+ yoki | yoki | | +---+---+ +---+ + + + +
yoki ularning aylantirilgan va ko'zgu versiyalariga o'xshaydi. U erda o'rta chiziqni chizish
+---+---+ +---+---+ +---+---+ | yoki | | yoki | | | +---+---+ +---+ + + + +
ga olib keladi va adabiyotda Hard-Hearted Handout deb nomlanadi.
Har doim bunday holatda ikkala qutini ham olish kerakmi?Ha, har ikkala qutini ham bir xil sabablarga ko'ra olish kerak, chunki har doim 1-qutili zanjirlarni olish kerak. Iltimos, o'zingizni ishontiring.
Zanjirning chegarasida ikkita quti bilan chiziq chizish
+---+---+ +---+---+ | yoki | | +---+---+ +---+ +
ga olib keladi va Yarimparvoz tarqatma material. deb nomlanadi.
Yarimparvoz tarqatma materialining chegarasidagi harakat
+---+---+ | | . +---+---+
ga olib keladi Bunday harakat adabiyotda Double Dealing (DD) deb ataladi.
Ikkala katakchani to'ldiradigan o'rtadagi chiziqni chizish Double-Crossed Move deb ataladi. Loop har doim bunday harakat bilan yakunlanadi, lekin chiziqli zanjirda bu faqat raqib quyida aytib o'tilganidek nazoratni o'z zimmasiga olish uchun DD harakatini o'ynaganida sodir bo'lishi mumkin. Bunday vaziyatda ikki marta kesib o'tgan o'yinchi aldashadi, ya'ni "ikki marta kesib o'tdi", shuning uchun bu harakatning nomi.
DD'dan keyingi o'yinchi har doim ikkala qutini ham olishi kerakmi?DD harakati ikkita qutini qurbon qilishdir, chunki o'yinchi muqobil ravishda avval Hard-Hearted Handout o'rtasida, keyin chegarada va shu tarzda ikkita qutini topishi mumkin. Nima uchun 2 qutini qurbon qilishni xohlaydi? Buni bilish uchun o'qishni davom eting!
DDdan oldin raqibga qurbonlik qilish imkoniyatini bergan "Yarimparvoz tarqatma" harakati kabi harakat adabiyotda loony harakati deb ataladi. Loony harakatlarining boshqa misollari 3 yoki undan ortiq qutilar bilan zanjirlarni ochadigan harakatlardir, chunki keyingi o'yinchi quyida ko'rib turganimizdek DD imkoniyatiga ega bo'ladi.
Yarim yurakli tarqatma materiallarga qaytsak, har doim ikkala qutini ham bunday holatda olish kerakmi? Agar yo'q bo'lsa, qachon chegarada DD kerak? Ikkalasini ham o'yinlarda sinab ko'ring va qanday farq qilishini ko'ring.Keling, barcha farqlarni ko'rib chiqaylik. Agar bitta qutini olsa, ikkinchi qutini biz ilgari topganimiz kabi olish kerak. Agar ikkala qutini ham olsa, 2 ochko olinadi, lekin keyin boshqa joyga harakat qilish kerak. Bu qimmatga tushishi mumkin, chunki raqibga ko'proq kvadratlarni olishga imkon beradigan ko'plab qutilarga ega zanjirni ochish kerak bo'lishi mumkin. Agar chegarada o'ynasa, kvadratni tugatmaydi va shuning uchun boshqa joyda o'ynashning hojati yo'q. Ammo chegarada keyingi o'yinchiga yuqorida muhokama qilinganidek ikkala qutini ham beradi. Shuning uchun ikkala o'yin ham mumkin. Keyinchalik ushbu vaziyatda qaysi harakat yaxshiroq ekanligini aniqlash uchun bu savolga qaytamiz.
Agar boshqa barcha harakatlar yanada qimmatroq bo'lganligi sababli 2 qutili zanjirni ochish kerak bo'lsa, qattiq yurakli yoki yarim yurakli tarqatma materialni kerakmi?
Agar biri zanjirning o'rtasida o'ynasa (qattiq yurakli tarqatma material), u holda boshqa tomon ikkala qutini ham olishga majbur bo'ladi va keyin boshqa joyga qimmatga tushishi mumkin:
+---+---+ +---+---+ +---+---+ → | → | | | bundan tashqari boshqa joyda.
+---+---+ +---+---+ +---+---+
Agar zanjir chegarasida o'ynasa (yarim yurakli tarqatma material), u holda raqibga yuqoridagi kabi ikkita qutini olish yoki chegarada imkoniyati beriladi (Double Dealing (DD) harakati):
+---+---+ +---+---+ +---+---+ → | → | | +---+---+ +---+---+ +---+---+
Ushbu variant juda qimmatli bo'lishi mumkin, chunki keyinchalik bilib olamiz. Raqibga qo'shimcha imkoniyatlar berish hech qachon yaxshi harakat bo'lishi mumkin emas, shuning uchun optimal o'ynashni maqsad qilish hech qachon yarim yurakli tarqatma materialni o'ynashga yo'l qo'ymaslik kerak. Optimal bo'lmagan qiziqarli o'yinda raqibning mahoratini aniqlash uchun yarim yurakli harakatlarni sinab ko'rish yoki orqada qolsa, raqibni chalkashtirish mumkin (lekin optimal o'ynashga harakat qilsa emas).
Uch yoki undan ortiq qutidan iborat ochilgan chiziqli zanjirlar bilan nima qilish kerak?
Agar zanjir ochilsa, unda kamida bitta 3 qutisi mavjud. Bu qutini va boshqa qutilarni ham to'ldirish mumkin, lekin buni qilish kerakmi?
Chiziqli ochilgan zanjirdan albatta olish kerak bo'lgan qutilar bormi?Bir tomondan, biz iloji boricha ko'proq qutilarni olishni xohlaymiz. Boshqa tomondan, biz keyinchalik boshqa joyda narxini to'lashni xohlamasligimiz va shu bilan raqib olish uchun yanada katta zanjirni ochishimiz mumkin. Biz, albatta, qilishimiz kerak bo'lgan narsa, ikkita qutidan tashqari barchasini ilgari asoslangan sifatida olishdir, ular bepul, salbiy yon ta'siri yo'q. Shundan so'ng, qolgan 2 qutilarini ham olish yoki DD (Double Dealing) haqida o'ylashimiz mumkin. Bu haqda keyinroq gaplashamiz.
≥ 3 qutili zanjirlar uzun zanjirlar . deb ataladi. Bularga ham chiziqli va loopy zanjirlar kiradi.
Nima uchun bunday zanjirlar uchun alohida nom bor?Agar kamida 3 qutili uzun zanjirlar qolgan bo'lsa, ulardan birini ochish, qanday bo'lishidan qat'i nazar, harakatning kamida bir tomonida kamida 2 qo'shni quti borligini anglatadi. Shunday qilib, boshqa o'yinchi o'yinning qolgan qismini aniqlashda juda muhim bo'lgan Double Dealing mumkin.
Bir loop qilish uchun qancha quti kerak?
Mumkin bo'lgan eng kichik loop 4 qutiga ega:
+---+---+ | | + + + | | +---+---+
Agar loop ochilgan bo'lsa, 2 qutidan tashqari barchasini o'ylamasdan xavfsiz olish mumkinmi?
Keling, buni sinab ko'raylik. Mumkin bo'lgan eng kichik ochilgan loop
+---+---+ | | +---+ + | | +---+---+
Albatta, biz barcha 4 qutilarni olib, keyin boshqa joyda o'ynashimiz mumkin edi, lekin har qanday holatda ham boshqa joyda o'ynashdan qochishni istasak nima bo'ladi? Agar biz ikkita qutini olsak,
+---+---+ | | | +---+---+ | | +---+---+
ga etib boramiz, lekin yana bir harakat qilishimiz kerak. Shunday qilib, biz bu erda to'xtay olmadik, chunki chegaradagi barcha chiziqlar allaqachon chizilgan, shuning uchun biz
+---+---+ | | | +---+---+ | | | +---+---+
ga borishni davom ettirishimiz kerak va keyin biz boshqa joyga harakat qilishga majburmiz, bu esa raqibga yanada katta zanjirni topshirishi mumkin.
Buning o'rniga yana nima qilishimiz mumkin?
Biz boshqa joyda o'ynashga majbur bo'lmaslik uchun qutini to'ldirmaydigan harakatni o'ynashni xohlaymiz. Faqatgina mumkin bo'lgan harakat - yaratish uchun ochilgan loopning o'rtasida.
+---+---+ | | +---+---+ . | | +---+---+
Bu harakat qutini to'ldirmaydi va shuning uchun boshqa o'yinchi keyingi o'ynaydi. Biz bu harakatni Double Double Dealing (DDD) deb ataymiz. Narx 4 quti o'rniga 2 qurbon qilishdir. Raqib uchun 4 qutini olib, keyin boshqa joyda yaxshidir.
Ochilgan loop 4 dan ortiq qutiga ega bo'lsa nima bo'ladi?
Biz kvadratni tugatmaydigan harakatni o'ynashimiz mumkin bo'lsa, biz xohlagancha ko'p qutilarni olishimiz mumkin. Bu shuni anglatadiki, biz 4 qutidan tashqari barchasini olishimiz mumkin, masalan,
+---+---+---+---+ +---+---+---+---+ | | | | | + +---+---+ + beradi, Misol uchun, + +---+---+ + | | | | +---+---+---+---+ +---+---+---+---+
ni ochib, 8 − 4 = 4 qutini olib, masalan,
+---+---+---+---+ | | | | | + +---+---+---+ . | | | +---+---+---+---+
Endi qolgan 4 qutini olish yoki
+---+---+---+---+ | | | | | + +---+---+---+ . | | | | +---+---+---+---+
o'ynab, raqibga qurbon qilish to'g'risida qaror qabul qilishimiz kerak Keyinroq bu haqda ko'proq.
Bitta ochiq zanjir yoki bir nechta zanjirlarning ochiq bo'lishi mumkin bo'lmagan hodisa bo'lsa, DD yoki DD o'ynamaslik haqida o'ylamasdan qancha qutini xavfsiz olish mumkin?
Agar ikkita qo'shni qutiga ega bo'lgan kamida bitta ochiq chiziqli zanjir mavjud bo'lsa, unda ushbu zanjirning boshqa barcha qutilarini to'ldiring va boshqa barcha ochiq chiziqli va loopy zanjirlarning barcha qutilarini to'ldiring. Aks holda, agar faqat bir yoki bir nechta ochiq loopy zanjirlar mavjud bo'lsa, unda bitta ochiq loopy zanjirning to'rt qutisidan tashqari barchasini va boshqa barcha ochiq loopy zanjirlarning barcha qutilarini to'ldiring. Ushbu katakchalar tugallangandan so'ng, DD / DDD yoki yo'qmi haqida o'ylashni boshlash mumkin.
Biz o'yin ko'proq yoki kamroq tasodifiy harakatlar bilan boshlanishini bilib oldik, bundan tashqari ikkala o'yinchi ham iloji boricha uzoqroq 3-qutilarni yaratishdan qochishadi, ya'ni zanjirlarni ochishdan qochishadi. Bu muqarrar bo'lganda, biz uni endgame.ning boshlanishi sifatida qabul qilamiz. Biz u bilan boshlaymiz, chunki bu barcha o'yinlarning eng oson qismi.
O'yin oxiriBoshqa barcha o'yinlarda bo'lgani kabi, oxiriga qanchalik yaqin bo'lsa, optimal o'yin ostida kim g'alaba qozonishini va qancha g'alaba qozonishini taxmin qilish osonroq bo'ladi. Shuning uchun biz tahlilimizni o'yin oxiridan boshlaymiz. Endgameda barcha harakatlar yo ochiq zanjirlar yoki to'liq qutilar yoki DD / DDD harakatlaridir. O'yinchi zanjirni ochishi kerak bo'lsa, strategiyaning birinchi g'oyasi raqibga eng kam qutilarni berish uchun mavjud zanjirlarning eng kichikini ochish bo'lishi mumkin. Keling, buni bir nechta misollarda sinab ko'raylik.
Misol 1Faraz qilaylik, 3 va 4 qutili ikkita zanjirdan tashqari barcha qutilar to'ldirilgan:
+ +---+---+ | | | | + +---+---+ | +---+---+---+ +---+---+---+
Keyingi harakatlanayotgan A o'yinchisi qisqa zanjirni (A1 harakati bilan) boshqa o'yinchi B zanjirni da'vo qilishi va 3 ochko olishi uchun va A keyinchalik A:B = (0+4):(3+0)=4:3 dan hisob bilan qutilar bilan katta zanjirni olishini ochadi.
+A9-+---+---+ | | | | +A8-+---+---+ | B5 A6 A7 +---+---+---+ B2 A1 B3 B4 +---+---+---+
Aytgancha, A1 harakati biz ilgari loony harakat deb ta'riflagan narsa, raqibga qurbonlik qilish imkoniyatini beradigan harakat.
Ammo B o'yinchisi aqlli va B2 harakati bilan faqat bitta qutini oladi (keyingi diagrammada), keyin B3 bilan Double Dealing o'ynaydi. Keyin A A4 bilan 2 qutini olishi kerak, A5 kabi ba'zi harakatlar bilan katta zanjirni ochishga majbur bo'ladi va B qolgan 4 qutini A:B = (2+0):(1+4)=2:5 yakuniy hisobi bilan oladi.
+B9-+---+---+ | | | | +B8-+---+---+ | A5 B6 B7 +---+---+---+ B2 A1 A4 B3 +---+---+---+Bu vaziyatda B uchun ikkita qutini qurbon qilish foydali ekanligini ko'ramiz.
Misol 2
Faraz qilaylik, 3 qutili bitta zanjir va 4 qutili bitta halqadan tashqari barcha qutilar to'ldirilgan.
+---+---+---+ | | | + + +---+ | | | +---+---+---+ +---+---+---+Player A move next.
1-holat: A zanjirni 3 quti bilan ochadi.
Agar A1 o'yinchisi B butun zanjirni olganidan keyin A o'yinchisi loopni oladi va bu ikki zanjirdan hisob A:B = (0+4):(3+0) = 4:3 bo'ladi.
+---+---+---+ | A7 | | +A6-+A8-+---+ | B5 | | +---+---+---+ B2 A1 B3 B4 +---+---+---+
Agar A1 o'yinchisi B DD o'ynasa,
+---+---+---+ | B7 | | +B6-+B8-+---+ | A5 | | +---+---+---+ B2 A1 A4 B3 +---+---+---+dan keyin bu ikki zanjirdan hisob A:B = (2+0):(1+4) = 2:5 bo'ladi, shuning uchun bu erda ham B uchun DD va A:B = 2:5 ga erishish foydalidir.
Holat 2: A loopni 4 qutisi bilan ochadi.
Agar A1 o'yinchisi B butun loopni olsa, A o'yinchisi qisqa zanjirni oladi va bu ikki zanjirdan hisob A:B = (0+3):(4+0) = 3:4 bo'ladi.
+---+---+---+ | B3 | | +B2-+B4-+---+ | A1 | | +---+---+---+ B5 A6 A7 A8 +---+---+---+
Agar A1 o'yinchisi B bilan DDD o'ynasa, biz
+---+---+---+ | B2 | | +A3-+A4-+---+ | A1 | | +---+---+---+ B6 A5 B7 B8 +---+---+---+va A:B = (4+0):(0+3) = 4:3 ning ushbu ikki zanjiridan hisob olamiz. Bu holda B uchun DDD o'ynamaslik yaxshiroqdir, keyin A:B = 3:4 olish kerak.
Bu ikki holatdan nimani o'rganamiz?
Ikkinchi holatda DDD narxi yuqori (4 quti) ekanligini ko'rdik, bu esa uni o'ynashni emas, balki butun loopni olishni afzal ko'rishi mumkin. Xo'sh, ushbu misolda A o'yinchisi qaysi zanjirni ochishi kerak? A uchun A: B = 3:4 ga yetadigan uchta quti zanjirini ochish o'rniga A:B = 2:5 ga yetadigan loopni ochish yaxshiroqdir. Agar looplar ishtirok etsa, zanjirlar birinchi navbatda qaysi zanjirni ochishni hal qilish uchun oddiygina o'lchamiga (qutilar soni) bo'yicha saralanmaganligini bilib oldik. Ammo ularni o'lchamlari bo'yicha saralash − 2 agar u loop bo'lsa, bu erda ishlaydi: 4−2 = 2 < 4.
Misol 3
Ushbu misolda biz zanjirlarni ochish tartibi haqida ko'proq ma'lumotga ega bo'lishni istaymiz. Faraz qilaylik, 3 va 4 qutili ikkita chiziqli zanjir va bu erda 4 qutili bitta loopdan tashqari barcha qutilar to'ldirildi:
+---+---+ +---+ | | | + + +---+ + | | | | +---+---+---+ + | +---+---+ +---+
A o'yinchisi keyingi o'tadi. Agar 3 qutili chiziqli zanjir bo'lsa, A 4 qutili katta chiziqli zanjirni ochmasligi aniq.
1-holat: A zanjirni 3 quti bilan ochadi.B o'yinchisi uchun maqbul o'yin to'g'risida qaror qabul qilishdan oldin, boshqa 2 zanjirdan qaysi biri birinchi bo'lib ochilishi kerakligini tekshirib ko'raylik:
+---+---+ +---+ | | | + + +---+ + | | | | +---+---+---+ + | | | | +---+---+---+---+
O'yinchilar C va D bo'lsin, C esa keyingi harakatga o'tsin.
Case 1.1: C+---+---+ +---+ | | | + + +---+ + | C1 | | | +---+---+---+ + | | | | +---+---+---+---+loopni ochadi
Agar C1 o'yinchisi D D2 bilan DDD o'ynasa,
+---+---+C5-+---+ | D2 | D6 | +C3-+C4-+---+D7-+ | C1 | | | +---+---+---+D8-+ | | | | D9 +---+---+---+---+
dan keyin bu ikki zanjirdan hisob C:D = (4+0):(0+4) = 4:4. Agar D DDD o'ynamasa, lekin loopni olsa,
+---+---+D5-+---+ | D3 | C6 | +D2-+D4-+---+C7-+ | C1 | | | +---+---+---+C8-+ | | | | C9 +---+---+---+---+
dan keyin bu ikki zanjirning hisobi ham C:D = (0+4):(4+0) = 4:4.
+---+---+C1-+---+ | | | + + +---+ + | | | | +---+---+---+ + | | | | +---+---+---+---+
Agar C1 o'yinchisi D butun zanjirni olganidan keyin
+---+---+C1-+---+ | C8 | D2 | +C7-+C9-+---+D3-+ | D6 | | | +---+---+---+D4-+ | | | | D5 +---+---+---+---+
dan keyin hisob C:D = (0+4):(4+0) = 4:4 bo'ladi. Agar C1 o'yinchisi D D4 bilan DD o'ynasa,
+---+---+C1-+---+ | D8 | D2 | +D7-+D9-+---+D3-+ | C6 | | | +---+---+---+C5-+ | | | | D4 +---+---+---+---+dan keyin hisob C:D = (2+0):(2+4) = 2:6 bo'ladi. C1dan keyin D bajarishi mumkin bo'lgan eng yaxshi narsa C: D = 2:6.
Bu ikki holatdan nimani o'rganamiz?
Keyingi (C) o'ynaydigan o'yinchi faqat C: D = 4:6 ga yetadigan chiziqli zanjirdan ko'ra, C: D = 4:6 ga yetadigan loopni ochishi yaxshidir. Agar biz zanjirlarni kattaligi bo'yicha saralasak, qaysi birini birinchi ochishni hal qilish uchun - 2, keyin (4−2) = 2 < 4 would give the correct result. We can now decide on the optimal play for B in:
+---+---+- +---+ | | | + + +---+ + | | | | +---+---+---+ + A1 | +---+---+ +---+
B zanjirni olishi yoki DD kerakmi?
Agar B zanjirni olsa,
+---+---+A9-+---+ | A7 | A10 | +A6-+A8-+---+A11+ | B5 | | | +---+---+---+A12+ B2 A1 B3 | A13 +---+---+B4-+---+
dan keyin ushbu 3 zanjirdagi hisob A:B = (0+4+0):(3+0+4) = 4:7. Agar B o'rniga B3 bilan DD o'ynasa,
+---+---+B9-+---+ | B7 | A10 | +B6-+B8-+---+A11+ | A5 | | | +---+---+---+A12+ B2 A1 A4 | A13 +---+---+B3-+---+
dan keyin ushbu 3 zanjirdagi hisob A:B = (2+0+4):(1+4+0) = 6:5. Shunday qilib, B A1dan keyin erishishi mumkin bo'lgan eng yaxshi narsa A:B = 4:7 B tomonidan DDD o'ynamaslik orqali olingan. Ikkala holatda ham biz oldinroq loopni ochish kerakligini aniqladik.
Holat 2: A loopni 4 qutilari bilan ochadi:
+---+---+ +---+ | | | + + +---+ + | A1 | | | +---+---+---+ + | +---+---+ +---+
Holat 2.1: B butun loopni oladi.
Kichik zanjirni DD bilan kerakligi aniq, bu
+---+---+B9-+---+ | B3 | A10 | +B2-+B4-+---+A11+ | A1 | | | +---+---+---+A12+ B5 A6 B8 | A13 +---+---+A7-+---+A:B = (0+1+4):(4+2+0) = 5:6 ning ushbu 3 zanjiri bo'yicha hisob beradi.
Holat 2.2: B loopni qurbon qiladi.
Shunga qaramay, kichik zanjirni DD bilan kerak, bu
+---+---+A9-+---+ | B2 | B10 | +A3-+A4-+---+B11+ | A1 | | | +---+---+---+B12+ A5 B6 A8 | B13 +---+---+B7-+---+ga olib keladi A:B = (4+2+0):(0+1+4) = 6:5.
2.1 va 2.2 holatlaridan nimani o'rganamiz?
DDD-ni loopda o'ynashning yuqori narxi tufayli B uchun eng yaxshisi A:B = 5:6 skoriga erishish uchun butun loopni olishdir.
1 va 2 holatlaridan nimani o'rganamiz?
Bizda 3 va 4 qutili ikkita chiziqli zanjir va 4 qutili pastadir mavjud. A uchun loopni ochish va A:B = 5:6 skoriga erishish yaxshidir. Agar A zanjirni 3 quti bilan ochsa, u faqat A:B = 4:7 ga etadi. B uchun zanjirni 4 qutili zanjirdan oldin 3 quti bilan ochish yaxshiroq bo'lmasligi aniq. Shuning uchun, keyingi ochishni aniqlash uchun zanjirlarni oddiygina kattaligi bo'yicha saralash ishlamaydi. Ammo ularni o'lchamlari bo'yicha saralash − 2 agar u loop bo'lsa, ishlayotgan ko'rinadi, chunki (4−2) = 2 < 3 indicating that the loop should be opened first.
Zanjirlar ochiladigan tartib
Yuqoridagi misollardan olingan tajriba bilan biz hozir zanjirlarning ochilish va tugallanish tartibini aniqlash muammosini hal qilmoqdamiz. Zanjirlarning ushbu tartibi o'yinchilardan biri DD / DDD o'ynashini, kim o'yinda g'alaba qozonishini va qancha miqdorda g'alaba qozonishini aniqlash uchun quyida ishlatiladi. Yaxshi xabar shundaki, so'nggi o'yinda bu ochilish zanjirlari ketma-ketligi kimning navbati yoki oldin DD / DDD o'ynaganiga bog'liq emas. Buning sababi shundaki, o'yinning istalgan nuqtasida kim tomonidan va qaysi tartibda emas, balki faqat chizilgan chiziqlar muhim ahamiyatga ega. Hatto hozirgi hisob kelajakdagi optimal o'yinga ta'sir qilmaydi. Qiyin muammoni osonroq muammolarga ajratish allaqachon muvaffaqiyatdir. Bu holda, endgameda kim qaysi harakatni amalga oshirayotganini aniqlashning qiyin vazifasi ikki muammoga bo'lindi: zanjirlarni ochish tartibi muammosi va kim DD / DDD o'ynaydi va qachon. Boshlashdan oldin, biz so'nggi o'yindagi umumiy tendentsiya haqida o'ylashimiz kerak.
Ochilgan zanjirlarning "qiymati" oxirigacha pasayadimi yoki oshadimi?Raqibga ochiq zanjir beriladi. Shuning uchun zanjir eng kam "qiymatga" ega bo'lishi kerak, bu erda qiymat bir qarashda qutilar soni. Shuning uchun, so'nggi o'yin davomida ochilgan zanjirlarning "qiymati" faqat ko'tarilishi yoki doimiy bo'lib qolishi mumkin, ammo kamaymaydi. Yuqoridagi misolimizda biz zanjirni raqib olish uchun eng kam qutilar bilan ochish ishlamasligini ko'rdik. Ammo biz zanjirlarni qandaydir "qiymat" bo'yicha saralashni xohlaymiz, chunki har bir o'yinchi raqib uchun eng kam qimmatbaho zanjirni ochishni xohlaydi. Raqib uchun zanjirning qiymati nafaqat qutilar sonidan iborat; shuningdek, ochilgan zanjir DD / DDD uchun mos keladimi yoki yo'qmi muhim ahamiyatga ega. DD uchun yaroqlilikni sozlash uchun yaxshi nomzod, agar zanjir halqa bo'lsa, qutilar sonidan 2 ni olib tashlashdir. Shunday qilib, zanjirlarni "qiymat" bo'yicha saralash uchun, bu erda biz "qiymat" = # qutilarni olamiz, agar zanjir loop bo'lmasa va "value" = # qutilari − 2 agar zanjir loop bo'lsa.
Biz har bir qutida kamida 2 tomoni chizilgan taxta pozitsiyalaridan boshlaymiz. Buning uchun biz barcha zanjirlarni tartiblashtiradigan ikkita qoidani shakllantirishimiz mumkin.
Qoida 2: Zanjirlarni buyurtma qilish uchun oxirgi zanjir uchun eng katta chiziqli zanjirni oling va agar chiziqli zanjir bo'lmasa, eng katta loopni oling.
2-qoidaning asoslanishiBoshqaruvchi o'yinchi zanjirlarni ochmaydi va shuning uchun zanjirlarni saralamaydi. Shunday qilib, zanjirlarni saralash har qanday o'yinchi raqib uchun nazoratni olish yoki ushlab turishni (ya'ni DD / DDD harakatlarini) iloji boricha qimmatga tushirishni xohlaydi. DD harakati 2 qutiga va DDD harakati 4 qutiga tushadi. Bu narx oxirgisidan tashqari barcha zanjirlar uchun to'lanishi kerak. Shuning uchun, raqib uchun umumiy xarajatlarni maksimal darajada oshirish uchun, zanjirlarni saralashda oxirgi zanjir iloji bo'lsa, chiziqli bo'lishi kerak va loop emas. ∎
Qoida 3: Agar oxirida barcha qutilarda kamida 2 tomon chizilgan bo'lsa, qolgan barcha zanjirlarni tartiblash uchun ularni tartiblang (qutilar soni − 2 agar u loop bo'lsa).
3-qoidaning asoslanishiKeyingi o'yinchi nazoratni o'z zimmasiga olish yoki ushlab turishi uchun zanjirning qiymati uning qutilari soni − 2 agar chiziqli zanjir bo'lsa va -4 agar u loop bo'lsa. Zanjirlarni saralash uchun, agar loop bo'lsa, faqat 2 olib qo'yilgan bo'lsa, bir xil natija olinadi.
Agar raqib nazoratga ega bo'lmasa va keyingi navbatda nazoratni qo'lga olmasa-chi? Ushbu tartibga asoslanib, raqib bir xil "qiymatli", ammo kamroq qutilarga ega chiziqli zanjirni olishdan ko'ra, ikkita quti bilan ochiq loopda keyingi harakatga o'tsa, raqibga foyda keltirmaydimi? Yo'q! Agar raqib butun loopni yakunlasa, keyin bu o'yinchining navbati kelganida, bitta loop kamroq bo'ladi va nazoratni o'z zimmasiga olish uchun 2 quti arzonroq bo'ladi. ∎
Biz bu ta'sirni Misol 3 holati 2.1da ko'rdik, bu erda A o'yinchisi A1 bilan loopni ochgandan so'ng, B o'yinchisi butun loopni oladi, ammo natijada A keyinchalik A7 bilan nazoratni o'z zimmasiga olish va eng yaxshi natijani olish uchun arzon bo'ldi.
Agar barcha qutilar zanjirga tegishli bo'lsa, yuqoridagi qoidalar aniq, ya'ni barcha qutilarda kamida 2 tomoni chizilgan bo'lsa. Ammo 0 va 1-qutilari bo'lsa-chi?
Bu qutilar qaysi zanjirlarga tegishli?Qoida 4: Qiymat bo'yicha saralangan zanjirlar ketma-ketligini yaratish uchun butun taxta tugaguniga qadar harakatlarning quyidagi tsiklini bajaring.
- Qiymati (qutilar soni, yoki agar u loop bo'lsa, qutilar soni −2) minimal bo'lgan zanjirlardan birini oching, bitta istisnodan tashqari: Agar hali ham kamida bitta loop mavjud bo'lsa, bog'langan yoki uzilgan bo'lsa va faqat bitta uzilgan chiziqli zanjir bo'lsa va faqat chiziqli zanjirlarning bog'langan daraxti bo'lmasa, oxirgi uzilgan chiziqli zanjirni ochmang.
- Ochilgan zanjirni qutilarni sanab chiqmasdan tugating. Chiziqli zanjirning oxirida chiziqlarni chizish 1-qutini 2-qutiga o'zgartirishi va shu bilan ikkita chiziqli zanjirni birlashtirishi yoki loopni kesib tashlashi mumkin.
Agar so'nggi o'yinda hali 0-qutilar va 1-qutilar mavjud bo'lsa, unda bunday qutini nuqta deb o'ylash mumkin va zanjirlarni bunday nuqtalarda tugaydigan yoki taxta chetida tugaydigan chiziqlar deb o'ylash va keyin sun'iy qo'shimcha nuqta olish mumkin.
Chiziqlar bilan bog'langan nuqtalar matematikada graph deb ataladi.
"Grafik tilida" shakllantirilgan 4-qoidadagi istisno shunday bo'ladi: Agar qolgan grafikda loopni o'z ichiga olgan uzilgan qism bo'lsa va loop bo'lmagan uzilgan qismi bo'lmasa (va shuning uchun grafiklar tilida "daraxt" deb ataladi) bo'lsa, qolgan grafikdan uzilgan chiziqga mos keladigan chiziqli zanjirni ochmang.
Misol 4: 'T' kabi grafik1-qutida 'T' yozilgan:
+---+---+---+ + | T | | + + + + + | | | | + + +---+---+ | | | + +---+---+ +
Ushbu taxtaga mos keladigan grafik 4 nuqtali T kabi bo'ladi, bu erda − va | T uchrashuvida va T-ning 3 uchida 3 ochko.
3-qutiga biriktirilgan 1 zanjirning eng kichigi chap tomonda. Uni ochib,
+---+---+---+ + +---+---+---+ + | | | | | | | + + + + + +---+ + + + | | | | | | | | +---+ +---+---+ +---+ +---+---+ | | | | | | + +---+---+ + +---+---+---+ +
tugatib, taxtada ikkita chiziqli zanjir borligini ko'radi, biri 3 va ikkinchisi 9 qutili.
Misol 5: 'P' kabi grafik
1-qutida 'P' yozilgan:
+---+---+---+---+ | | + +---+---+ + | P | + +---+---+---+ | | +---+---+---+ +
1-qutining ustidagi yoki o'ng tomonini chizish raqibga berishni istamaydigan 12 qutili
+---+---+---+---+ | | +---+---+---+ + | | + +---+---+---+ | | +---+---+---+ +
bitta katta chiziqli zanjirni yaratadi va ochadi. 1-qutining ostidagi chiziqni chizish taxtani 4 qutili ochiq chiziqli zanjirga va 8 qutili halqaga bo'ladi.
+--+--+--+--+ | | + +--+--+ + | | +--+--+--+--+ | | +--+--+--+ +
Yuqoridagi 4-qoidada istisno tuzildi. 6-misol ushbu istisnoni tasvirlaydi.
Misol 6: "P" grafigi va uzilgan chiziqli zanjir
Ikkita chiziqli zanjirni ochish mumkin, biri o'ngda, ikkinchisi pastki tomonda.
+---+---+---+---+ + | P | | + + +---+ + + | | | | + +---+---+---+ + | | | +---+---+---+ + +
Holat 1. Eng qisqa zanjirni birinchi ochish
21 ta harakat amalga oshirildi, shuning uchun agar A o'yinchisi boshlangan bo'lsa, B o'yinchisi keyingi harakat qiladi.
Agar B1 bilan eng kichik zanjirni ochgandan so'ng, A o'yinchisi darhol nazoratni o'z zimmasiga olsa, biz
+---+---+---+---+B1-+ | B5 B12 | | +A6-+ +---+ +A2-+ | | | | +A7-+---+---+---+B4-+ | A8 A9 B11 | | +---+---+---+A10+A3-+
ni olamiz va A:B = (1+4+6):(2+2+0) = 11:4 bo'ladi, bu erda (2+2+0) B o'yinchisi 3 ochilgan zanjirdan 2, 2 va 0 qutilarida oladi. B faqat B5 bilan 2-chiziqli zanjirni ochishi mumkinligi sababli, A o'yinchisi A10 bilan faqat 2 narxi bilan nazoratni davom ettirishi va loopni bepul olishi mumkin.
Holat 2. Avval uzun chiziqli zanjirni ochish
B quyida B1 bilan uzun zanjirni ochib, bu zanjir tugallangandan so'ng, oxirgi kvadratni (lar) olgan kishi zanjirni ochishi kerak. Bizning 2-qoidamizga ko'ra, B o'yinchisi nazoratni olish / ushlab turish qimmatga tushishi uchun B8 bilan keyingi loopni ochadi. Ushbu strategiya ishlaydi, chunki loopda nazoratni olish / saqlash A o'yinchisi uchun mantiqqa to'g'ri kelmaydi, chunki u 4 qutiga tushadi, lekin oxirgi zanjirda faqat 3 qutisini yutadi.
+---+---+---+---+A14+ | B1 A13 B8 | | +A2-+A12+---+A9-+B15+ | | A11 A10 | | +A3-+---+---+---+B16+ | A4 A5 B7 | | +---+---+---+A6-+B17+
Hisob A:B = (4+6+0):(2+0+3) = 10:5
Agar A birinchi zanjirda DD:
+---+---+---+---+B14+ | B1 B13 A8 | | +A2-+B12+---+B9-+A15+ | | B11 B10 | | +A3-+---+---+---+A16+ | A4 A5 A6 | | +---+---+---+A7-+A17+
o'ynamasa, A:B = (6+0+3):(0+6+0) = 9:6 A uchun yomon bo'ladi. Buning sababi shundaki, ochilgandan keyin loopda (yuqorida B9) 6-3=3 ochkoga teng va birinchi uzun zanjirda nazoratni qo'lga olish atigi 2 ochko turadi, shuning uchun birinchi zanjirda nazoratni o'z zimmasiga olish kerak. 10:5 A o'yinchisi uchun 9:6 dan yaxshiroq.
1 va 2 holatlarini va 11:4 va 10:5 hisoblarini taqqoslaganda, B o'yinchisi avval uzun zanjirni ochishi kerakligi aniq. Buning sababi shundaki, agar B birinchi bo'lib uzilgan chiziqli zanjirni ochsa, unda loop oxirgi marta yakunlanadi, ya'ni A o'yinchisi nazoratni saqlab qolish uchun DDD o'ynashda 4 ochko to'lashi shart emas. Biz oldingi 2-qoidamizni buzamiz. Umuman olganda, agar uzilgan zanjirda m qutilari bo'lsa, bog'langan chiziqli zanjirda n qutilar va loopda p qutilari bo'lsa, unda B o'yinchisi uzilgan zanjirni ochib, avval B 4 marta DD'dan 2 ball beradi, B biriktirilgan chiziqli zanjirni ochganda B oladi
min (p + maks (0,m-4),min (6,m + 2))
ko'p fikrlar. Bu olishi mumkin bo'lgan eng past qiymat p eng past qiymatga ega bo'lsa, bu 4 (loop kamida 4 qutiga ega) vam eng past qiymatiga ega bo'lsa, bu 3 (eng qisqa uzun chiziqli zanjir, agar eng qisqa zanjirda faqat 2 qutisi bo'lsa, ular darhol Hard-Hearted Handout bilan o'ynaladi va formula boshqacha bo'ladi). p = 4 va m = 3 uchun B o'yinchisi oladi
min(4 + max(0,-1),min(6,5)) = min(4+0,5) = 4
va p > 4 yoki m > 4 uchun B o'yinchisi 4 ochkodan ko'proq ball oladi.
Agar turli zanjirlar bir xil eng past qiymatga ega bo'lsa, bizning dasturimiz bog'langan zanjirni ochish uchun qoidadan foydalanadi. Orqasida fikr shundaki, ushbu ochiq zanjir orqali nazoratni olish / ushlab turish faqat qimmatroq bo'lishi mumkin bo'lgan loop kirish imkoniyati mavjud.
O'yinlarda odatda so'nggi o'yinning boshida DD / DDD orqali nazoratni o'z zimmasiga oladi. Ammo 3 qutilari va 8 qutisidan kam bo'lgan looplar bilan ko'p zanjirlar bo'lsa, DD / DDD o'ynashni va nazoratni olmaslik yaxshi bo'lishi mumkin. Shuning uchun bizga nafaqat bosh qoida emas, balki umumiy algoritm kerak.
Qachon DD / DDD kerak va qachon emas?Dots o'yini bo'yicha adabiyotlarda, DD / DDDning birinchi o'yini nazorat qilish . deb ham ataladi. Bu nimani anglatadi, o'yinchi so'nggi uzun zanjirni kim oladi, bu o'yinni nazorat qilish va quyida ko'rib chiqamizki, DD / DDD o'ynab, uni g'alaba qozonish bilan bir xil bo'lmasligi mumkin.
Agar o'yinchi DD / DDD imkoniyatiga ega bo'lsa, unda bu o'yinchi 2 ochko (DD) yoki 4 ochko (DDD) narxida raqib bilan rollarni almashtirish imkoniyatiga ega. Agar qolgan zanjirlarda maqbul o'ynashdan olinadigan hisobni bilsangiz, u holda 2 (agar hozirgi vaqtda o'ynalgan zanjir chiziqli bo'lsa) yoki 4 qiymati (agar hozirgi vaqtda o'ynalgan zanjir loop bo'lsa) qiymatida rollarni almashtirish maqsadga muvofiqmi yoki yo'qligini hal qilish mumkin. Joriy zanjirdan daromad olish bilan birgalikda joriy zanjirni ochishdan oldin hisobni aniqlash mumkin. Ushbu hisob-kitob ochilgan zanjirlar ketma-ketligini bilsangiz, o'yin oxiridan boshlab orqaga qarab amalga oshirilishi mumkin. Bunday ketma-ketlik yuqoridagi 4-qoida bilan aniqlanishi mumkin.
Qoida 5: Quyidagi psevdo-koddan foydalanib DD / DDD yoki qilmaslik to'g'risida qaror qabul qiling.
Quyidagi psevdo-kompyuter kodida o'zgaruvchi A - keyingi zanjirni ochgan o'yinchi tomonidan o'yinning qolgan qismida olingan ochkolar soni, B o'zgaruvchisi esa boshqa o'yinchi tomonidan olingan ochkolar soni. Qolgan qutilar soni A + B. Biz orqaga qarab hisoblaymiz va qulaylik uchun zanjirlarni orqaga qarab belgilaymiz: o'yinda oxirgi ochilgan zanjir 1 zanjiri, undan oldingi zanjir 2 zanjir va hokazo. Hozirgi zanjir k zanjiri. Har qanday zanjir j n_j qutiga ega. PlayDD o'zgaruvchisi DD / DDD j zanjirida o'ynaydimi yoki yo'qligini qayd qiladi.
Quyidagi psevdo-kod satr(lar)
- (1)-(3) oxirgi zanjirni natijasida 3 o'zgaruvchisini ishga tushiradi.
- (4)-(22) update A, B, playDD for chain j, where j runs backwards from the lastbut but one chain (j=2) to present chain k.
- (5)-(13) if chain j is linear the cost is 2
- (14)-(22) if chain j is a loop the cost is 4
- (6)-(9), (15)-(18) if the gain B−A is larger than the cost (2 or 4) then play DD and reduce B by the qiymati va uni A ga qo'shing. Har qanday holatda B olish n_j.
(1) A = 0 (2) B = n_1 (3) playDD = yolg'on (4) j dan 2 gacha bo'lgan har bir zanjir uchun k: (5) Agar zanjir j chiziqli: (6) Agar B > (A + 2): (7) playDD = haqiqiy: (8) B = B + n_j - 2 (9) A = A + 2 (10) Aks holda: (11) playDD = yolg'on: (12) B = A + n_j (13) A = B (14) Aks holda → Agar zanjir j - halqa: (15) Agar B > (A + 4): (16) playDD = haqiqiy (17) B = B + n_j - 4 (18) A = A + 4 (19) Aks holda (20) playDD = yolg'on (21) B = A + n_j (22) A = B
Hisoblashdan so'ng A - joriy zanjirni ochgan oʻyinchining hisobi B - raqib uchun hisob va playDD raqib hozir DD / DDD kerakmi yoki yo'qligini aytadi. ∎ (5-qoidaning oxiri)
Ushbu psevdokod dasturchi bo'lmaganlar uchun qiyin bo'lib tuyulishi mumkin, ammo uni boshida bajarish oson, chunki bu faqat nazoratni saqlashning foydasi uning qiymatidan, ya'ni DD / DDD narxidan ustunligini tekshirishni anglatadi.
Sinash soʻrovi
Biz bilamizki, eng past qiymat zanjirlari birinchi bo'lib ochiladi. Bu DD / DDD o'yin oxiriga qadar yanada foydali bo'ladi deganimi?
Boshqacha qilib aytganda, endi DD / DDD har doim uni oxirigacha kerakligini anglatadimi, aks holda raqib nazoratni o'z zimmasiga oladi va g'alaba qozonadi?Deyarli barcha holatlarda, ha. Ammo biz 6-misolda, 2-holatda ko'rdikki, ba'zi past qiymatli zanjirlar faqat yuqori qiymatli chiziqli zanjirlar tugagandan keyin kirish mumkin. Natijada, loop ochilganda DDD uchun etarli rag'bat bo'lmasa-da (oxirgi zanjirda faqat 3 quti bor edi, DDD esa 4 qutiga tushadi), rag'batlantirish faqat 2 qiymatiga ega bo'lgan oldingi DDni uchun etarli edi.
Sinash soʻrovi
Faraz qilaylik, kimdir DD / DDD o'ynashni to'g'ri baholamoqda. Ular uni o'ynashga va oxirgi zanjirni olishga qaror qilishadi.
Bu futbolchi har doim g'alaba qozonadimi?Yo'q. Masalan, har biri 3 qutiga ega bo'lgan 5 ta chiziqli zanjirimiz bor. Oxirgisini olish 3 qutisini rag'batlantiradi, bu 3 DD uchun to'lash uchun etarli bo'lib, har biri 2 narxiga ega bo'lib, 1 qutini oladi. Bu shuni anglatadiki, birinchi zanjir umuman tugallanadi va yana 3 DD o'yinlari hisob beradi (3 + 2 + 2 + 2 + 0) : (0 + 1 + 1 + 1 + 3) = 9:6 oxirgi zanjirni olmagan o'yinchi uchun.
Endgames qoidalarimiz mukammalmi?
Yo'q. 0-qutilar va 1-qutilar orqali bog'langan ko'plab zanjirlar mavjud bo'lsa, ulardan bir nechtasi bir xil miqdordagi qutilarga ega bo'lishi mumkin va keyin boshqa zanjirlar keyinchalik birinchi zanjirlarni tugatish orqali kirish mumkin bo'lgan optimal birini tanlash uchun yanada aniqlangan nazariya yoki qidirish kerak bo'lishi mumkin.
Agar raqib Half-Hearted Handoutni optimal bo'lmagan tarzda o'ynasa, yuqoridagi endgame nazariyasiga farq qiladimi?
Ularning pozitsiyalari
+---+---+ +---+ + | yoki | | +---+---+ +---+---+
yoki ko'zgu / aylantirilgan versiyalari bizning qoidalarimiz bo'yicha boshqa chiziqli zanjirlar kabi muomala qilinadi, faqat 2 qutiga ega. Ushbu zanjirlar keyingi o'yinchiga zanjirni olish yoki DD imkoniyatini beradi, shuning uchun ular kamida 3 qutiga ega bo'lgan ochilgan uzun zanjirlar kabi muomala qilinadi.
Uzoq zanjir qoidasi
Qoida 6: Birinchi o'yinchi nuqtalar sonini + uzun chiziqli zanjirlar sonini teng qilishga harakat qilishi kerak, ikkinchi o'yinchi esa bu qiymatni toq qilishga harakat qilishi kerak.
Qoidaning asoslanishiBoshlash uchun ba'zi o'zgaruvchilarni kiritamiz, bu erda '#' 'raqam' degan ma'noni anglatadi:
NT = # burilishlar (# marta o'yinchi ketma-ket harakatlar o'ynagan)
nd = # nuqta
r = # nuqta satrlari
c = # nuqta ustunlari
nl = # satrlar soni
Qutilar nb = #
uzun zanjirlarning nc = #
nz = # end o'yinda birinchi uzun zanjirni ochgan burilish
nb = (r−1)(c−1) = rc − r − c + 1
nd = rc
nl = # gorizontal chiziqlar + # vertikal chiziqlar
= r(c−1) + c(r-1)
= 2rc − r − c
va shuning uchun
nl = nb + nd -1 .
Bu munosabat Eulerning o'zboshimchalik grafiklar uchun amal qiladigan identifikatsiyasiga teng, ya'ni har qanday sonli nl chiziqlar bilan bog'langan har qanday sonli n, nafaqat vertikal va gorizontal ravishda, atrofdagi nf yuzlari, bu erda bizning holatimizda nf = nb + 1, chunki bizning to'rtburchak nuqta panjaramiz qo'shimcha atrofdagi yuzga ega bo'lib, u ham Eulerning identifikatorida hisobga olinadi:
nl − nd + 2 = nf (= nb + 1).
Keyin biz butun o'yinning burilishlar sonini hisoblaymiz.
nt = nl − ((# marta chiziq chizish kamida 1 qutini to'ldirgan)
− 1 {Eng so'nggi qutini to'ldirish boshqa harakat bermaydi.})
= nl − (nb − (# 2 qutini to'ldiradigan harakatlar) − 1)
= nl − nb + 1 + (# 2 qutini to'ldiradigan harakatlar)
= nd {bizning oldingi munosabatimizdan foydalangan holda nl = nb + nd -1}
+ (# DD chiziqli zanjirlarda) + (# looplar) + (# DDD in loops)
Oxirgi qator loopni tugatganda oxirgi harakat har doim ikkita qutini yakunlaydi va agar DDD loopda o'ynalsa, boshqa harakat 2 qutini ham yakunlaydi. Biz olingan munosabatni chaqiramiz
Navbatlar soni formula:
nt = nd + (# DD, chiziqli zanjirlarda) + (# looplar) + (# DDD in loops)
Bu hech qanday taxminlarga asoslanmagan aniq formuladir.
Hisoblash nz, bu birinchi uzun zanjirni ochadigan burilish
Oxirgi o'yinda birinchi uzun zanjir ochilgandan so'ng, agar DD va DDD o'ynamagan bo'lsa, qolgan burilishlar soni uzun zanjirlar soniga teng bo'ladi, chunki har bir o'yinchi bitta zanjirni tugatadi. Shuning uchun, agar (# DD) = (# DDD) = 0 bo'lsa
nz {# oxirida birinchi uzun zanjirni ochadigan burilish}
= nd + (# loops) − (# uzun zanjirlar)
= nd − (# uzun chiziqli zanjirlar)
DD / DDD ijro etilsa, nz uchun formula ham amal qiladi.
Matnlanishi:
DD / DDDning har qanday o'yini ilgari sodir bo'lgan narsalarni o'zgartira olmadi, ya'ni oxirigacha birinchi uzun zanjirning ochilishiga olib keladigan nz burilishlari. O'ynagan har bir DD va DDD uchun, endgamedagi burilishlar soni 1 ga oshadi (iltimos, tekshiring), shuning uchun oxiridagi burilishlar sonini burilishlarning umumiy sonidan olib tashlaganda, keyin (# DD) va (# DDD) har biri bekor qilinadi va biz NZ uchun bir xil qiymatni olamiz, go'yo hech qanday DD / DDD o'ynamaydi.
Shunday qilib, hech bir o'yinchi bu harakatni amalga oshirishni xohlamaydi, ya'ni birinchi o'yinchi nzning g'alati bo'lishini istamaydi va shuning uchun nz teng bo'lishini xohlaydi. 2×(# uzun chiziqli zanjirlar) teng sondir, shuning uchun uni nz-ga qo'shish nzning toq yoki hatto bo'lishini o'zgartirmaydi, natijada
Long Chain Rule: Birinchi o'yinchi (# nuqta) + (# uzun chiziqli zanjirlar) qilishga harakat qiladi, ikkinchi o'yinchi esa uni odd qilishga harakat qiladi. ∎
Uzoq zanjir qoidasining noto'g'ri chiqarilishi
DOTS o'yini bo'yicha ba'zi nashrlarda Uzoq zanjir qoidasini olish uchun ikkita keraksiz taxmin qilingan.
1. Taxmin: Agar ikkala o'yinchi ham endgameni maqbul o'ynasa, kim oxirgi harakatni o'ynasa, oxirgi va eng katta zanjirning yuqori qiymati va yana harakat qilish va raqib uchun boshqa zanjir ochish shart emasligi sababli g'alaba qozonadi.
Shunday qilib, birinchi o'yinchi nt = (# of turns) birinchi va oxirgi harakatni amalga oshirish va g'alaba qozonish uchun g'alati bo'lishini xohlaydi.
2. Taxmin: Oxirgi zanjirdan tashqari barcha uzun zanjirlar DD / DDD bilan o'ynaladi. Shunday qilib, (# looplar) + (# of DDD in loops) teng va e'tiborsiz qoldirilishi mumkin va nt = nd + (# of DD) bo'ladi nt = nd + (# uzun chiziqli zanjirlar) − 1. Shuning uchun birinchi o'yinchi bu nt oxirgi harakatni amalga oshirish uchun g'alati bo'lishini istaydi, bu qachon (# nuqta) + (# uzun chiziqli zanjirlar) teng bo'ladi - Uzoq zanjir qoidasi. ∎
Ammo biz bilamizki, bu 2 taxmin Uzoq zanjir qoidasi haqiqat bo'lishi uchun zarur emas. Keyingi misol buni namoyish etadi.
Bitta o'yinchi uchun qaysi muvaffaqiyat qoida bilan kafolatlanadi?
Uzoq zanjir qoidasi oxirida birinchi ochilgan uzun zanjirda qaysi o'yinchi birinchi bo'lib o'ynashini hal qilish uchun zarur va etarli shartni beradi. Ushbu futbolchi P DD / DDD yoki DDD o'ynashni tanlashi mumkin. Bizda 2 ta holat bor.
Agar birinchi uzun zanjir chiziqli bo'lsa , unda kamida 3 qutisi bor va DD 2 qutiga teng.
• Agar DD uchun rag'batlantirish <2 bo'lsa, u holda P o'yinchisi DD o'ynamaydi va butun birinchi zanjirni oladi va raqib qolgan zanjirlardan eng ko'pi bilan 1 ta qutini oladi, shuning uchun P endgameda raqibdan kamida 3−1 = 2 ko'proq qutini oladi.
• Agar rag'batlantirish 2 bo'lsa, u holda P DD o'ynaydi yoki birinchi uzun zanjirda DD o'ynamaydimi va shuning uchun endgameda ≥3 quti ko'proq yutadi.
• Agar rag'batlantirish >2 bo'lsa, P DD o'ynaydi va oxirida >3 quti ko'proq oladi.
Agar birinchi uzun zanjir loop bo'lsa , unda eng yomon holatda birinchi zanjirda 4 quti mavjud va rag'batlantirish 4 bo'ladi va keyin DDD o'ynaydimi yoki yo'qmi, har ikkala o'yinchi ham endgameda bir xil miqdordagi ochkolarni oladi. Ammo agar rag'batlantirish >4 bo'lsa, unda DDD ko'proq ball beradi va agar rag'batlantirish <4 bo'lsa, DDD o'ynamaslik ko'proq ball beradi, chunki loopda kamida 4 quti mavjud. Va agar birinchi uzun zanjir 4 dan ortiq qutiga ega bo'lgan halqa bo'lsa, P bu qo'shimcha ochkolarni oxirgi o'yinda ustunlik sifatida oladi, hatto rag'batlantirish 4 bo'lsa ham.
O'yinning boshida qanday bo'lishi mumkin bo'lgan hisob farqlari qanday?
• Agar 1-zanjirlar soni teng bo'lsa va chiziqli 2-zanjirlar soni teng bo'lsa, unda endgame boshidagi ball farqi nolga teng.
• Agar 1-zanjirlar soni juft bo'lsa va chiziqli 2-zanjirlar soni toq bo'lsa, unda endgame boshidagi hisob 2 bo'ladi.
• Agar 1-zanjirlar soni toq bo'lsa, unda barcha 1-zanjirlarni tugatgandan so'ng, ball farqi 1 bo'ladi. Keyin har bir tugallangan 2-zanjir faqat 1 qutiga etakchilik qilayotgan ikkala o'yinchi o'rtasida aylanib ketadi.
Xo'sh, Uzoq zanjir qoidasi qanchalik muhim?
Uzoq zanjir qoidasi qachon natijani aniqlamaydi?
Keyin qaysi qoidaga rioya qilish kerak?
Misol 7: Qoidani g'ayrioddiy vaziyatda sinab ko'rish
Ushbu taxtada 5×3 = 15 ta harakat toq sonli bo'ldi. 16-harakat biz chiqargan formulani qondiradigan birinchi uzun zanjirni ochadi: 16 = (# nuqta) - (# chiziqli uzun zanjir) = 20 − 4. Kim bu harakatni qilsa, bu holda B o'yinchisi, agar A o'yinchisi DDni to'g'ri o'ynasa, yutqazadi.
+ + + + + | | | | | + + + + + | | | | | + + + + + | | | | | + + + + +
A o'yinchisi boshlandi va B o'yinchisi endi zanjirni ochishi kerak.
Uchta DD o'ynalsa, hisob qanday?Agar A DDni 3 marta o'ynasa, yakuniy hisob A:B = 6:6.
+---+---+---+---+ | A | A | A | A | +---+---+---+---+ | B | B | B | A | +---+---+---+---+ | B | B | B | A | +---+---+---+---+
So'nggi 3 zanjirdagi hisob 5:4, shuning uchun birinchi zanjirda DD va bir ochko olish uchun 2 ball bilan to'lash optimal emas.
Ikkita DD o'ynalsa, hisob qanday?
A uchun butun birinchi zanjirni olib, A:B = 7:5 yakuniy hisobini olish yaxshiroqdir.
+---+---+---+---+ | A | B | B | B | +---+---+---+---+ | A | A | A | B | +---+---+---+---+ | A | A | A | B | +---+---+---+---+
Uzoq zanjirli qoidaning noto'g'ri kelib chiqishi haqidagi qaysi taxmin buzilgan?
Ikkala taxmin ham buzilgan. A g'alaba qozonmoqda, lekin so'nggi zanjirni ololmaydi. DD har bir uzun chiziqli zanjirda o'ynalmaydi.
Uzoq zanjir qoidasi ushbu optimal o'yin uchun hali ham amal qiladimi?
Biz (# nuqta) + (# uzun chiziqli zanjirlar) = 20 + 4 = 24 bo'ladi, bu teng va birinchi o'yinchi qoida bashorat qilganidek g'alaba qozonadi. Shunday qilib, bu qoida keraksiz taxminlar va noto'g'ri talqinlar bilan muqobil isbotdan yaxshiroqdir.
Sinash soʻrovi
Yo'q, ikkalasi ham bir xil darajada yaxshi bo'lishi mumkin. 3 qutili faqat ikkita uzun zanjir bilan A A:B = 4:2 hisobini berib DD kerak.
+ + + +---+---+ | | | | A | A | + + + +---+---+ | | | → | B | A | + + + +---+---+ | | | | B | A | + + + +---+---+
Shunday qilib, bu ikki zanjirdan oldin DD uchun rag'bat 4 − 2 = 2 bo'lib, bu DD narxiga teng. Shuning uchun ikkala pyesa ham bir xil hisobni beradi: 4:(2+3) = 4:5 = (2+2):(4+1)
+---+---+---+ +---+---+---+ | B | A | A | | B | B | B | +---+---+---+ +---+---+---+ | B | B | A | = | A | A | B | +---+---+---+ +---+---+---+ | B | B | A | | A | A | B | +---+---+---+ +---+---+---+
Sinash soʻrovi
Ha. Yuqorida 3 qutili zanjirni qo'shish hisobni 4:2 dan 4:(2+3) = 4:5 ga qanday o'zgartirganini ko'rdik. Ushbu 3 zanjirdan oldin DD uchun rag'batlantirish 5−4 = 1 < 2 bo'ladi, shuning uchun DD qiymatidan kamroq bo'ladi, bu 2. Shunday qilib, 3 qutidan iborat to'rtta zanjir bilan birinchisi DD bilan o'ynamaydi. Agar 3 qutili yana bir zanjir bo'lsa, hisob (4+3):5 = 7:5 = (4+1):(5+2) bo'ladi, shuning uchun 3 qutidan iborat 5 zanjirda ikkinchi o'ynashga rag'batlantirish 7−5 = 2 bo'ladi, shuning uchun DD har ikkala holatda ham (2+5):(1+7) = 7:8 = 7 bo'ladi: (3+5).
+---+---+---+---+---+ +---+---+---+---+---+ | B | B | A | A | A | | B | B | A | B | B | +---+---+---+---+---+ +---+---+---+---+---+ | A | B | B | B | A | = | A | B | A | A | B | = +---+---+---+---+---+ +---+---+---+---+---+ | A | B | B | B | A | | A | B | A | A | B | +---+---+---+---+---+ +---+---+---+---+---+ +---+---+---+---+---+ +---+---+---+---+---+ | B | A | B | B | B | | B | A | B | A | A | +---+---+---+---+---+ +---+---+---+---+---+ | B | A | A | A | B | = | B | A | B | B | A | +---+---+---+---+---+ +---+---+---+---+---+ | B | A | A | A | B | | B | A | B | B | A | +---+---+---+---+---+ +---+---+---+---+---+
3 qutilari bilan ko'proq zanjirlar qo'shib DDning o'yini va o'ynamasligi o'rtasida ko'proq o'zgarishlar bo'lishi mumkin.
Uzoq zanjir qoidasi qoniqtirildimi?O'quvchi Uzoq zanjir qoidasini looplarni o'z ichiga olgan ko'proq misollar bilan tekshirishga da'vat etiladi.
Misol 8: Uzoq zanjir qoidasini qo'llash
On this website by David Wilson the following position is shown which has just one move for the next player to win.
+ + + + | + + +---+ +---+---+---+ | + +---+ +
Agar ikkala futbolchi ham bizning endgame qoidalarimizga rioya qilsa, kim g'alaba qozonadi?
Ushbu kengashda teng sonli nuqta va hatto uzun zanjirlar soni mavjud. So'nggi uzun zanjirda DD harakati o'ynalmaydi, shuning uchun DD harakatlarining odd soni odatda o'ynaladi va shunday qilib # of points + # of DD odd shuning uchun burilishlar soni odd bo'ladi, shuning uchun birinchi o'yinchi oxirgi zanjirni oladi va g'alaba qozonadi. Bu "Uzoq zanjir qoidasi" ga mos keladi: "Birinchi o'yinchi # nuqta + # uzun (chiziqli) zanjirlarni teng qilishga harakat qilishi kerak va ikkinchi o'yinchi uni g'alati qilishga harakat qilishi kerak."
2-o'yinchi nima qila oladi?
2-o'yinchi nuqtalar sonini o'zgartira olmaydi, aksincha 2 qutini qurbon qilish va B deb belgilangan harakatni orqali DD harakatlari sonini o'zgartira olmaydi, bu 2-o'yinchining bu vaziyatda ega bo'lgan yagona g'alaba qozongan harakatidir:
+ + + + | + + +---+ +---+---+---+ | B + +---+ +
Bu harakat uzun zanjirlar sonini 2 dan 1 ga kamaytiradi va shunday qilib, # nuqta + # uzun (chiziqli) zanjirlarni toq qiladi va shunday qilib 2nd o'yinchiga bir ochko bilan g'alaba qozonishga imkon beradi bir ochkoga yo'qotish.
O'yin qanday davom etishi mumkin?
Quyidagi variantlarning barchasi A:B = 4:5 ga olib keladi, shuning uchun B uchun 1 ochko g'alaba.
+ +A10+B6-+ A3 | B9 A11 + +A5-+---+ B4 A12 +---+---+---+ | | A2 B8 +A1-+---+A7-+ +A3-+A5-+B6-+ A11 | A12 +B9-+ +---+ A10 B4 +---+---+---+ | | A2 B8 +A1-+---+A7-+ +A3-+A10+B6-+ | B9 A11 + +B4-+---+ A5 A12 +---+---+---+ | | A2 B8 +A1-+---+A7-+
Ushbu harakatni amalga oshirish, agar kerak bo'lmasa, 1-qutilarni yaratmaslikning birinchi qoidasini buzadi. 1-qoidaning buzilishi qanchalik yomon?
1-qoidaning bu buzilishi DD o'ynashdan kam g'alati emas. Yuqorida bilib olganimizdek, rollarni almashtirish uchun DD va 2 ball narxini to'lash odatiy holdir. Shunday qilib, bu qurbonlik DD harakati bilan bir xil ta'sirga ega bo'lsa, minimal va yaxshi.
Ushbu sahifaning yuqoridagi qismida texnik atamalar joriy etildi va qoidalar ishlab chiqildi. Endgame batafsil tavsiflangan va o'yinning birinchi qismi uchun Uzun zanjir qoidasi yo'l-yo'riq beradi. Agar siz o'yinning birinchi qismi haqida ko'proq ma'lumotga ega bo'lishni istasangiz, iltimos, havolalarda [2] va [3] ni tekshiring. Quyidagi qarorlar daraxti ushbu veb-sahifani umumlashtiradi.
Qarorlar daraxtiNameQuyidagi havolalar ishlashi uchun yuqoridagi matnni tugmasini bosish kerak
- O'yinni boshlashdan oldin birinchi yoki ikkinchi o'ynashni o'ylab ko'ring. Quyidagi 3.A.a nuqtasiga qarang.
- Agar kamida bitta 3-quti (to'ldirilishi mumkin bo'lgan quti) bo'lsa, unda ushbu 3-qutilarga biriktirilgan barcha zanjirlarni aniqlang.
- Agar ushbu zanjirlardan biri chiziqli bo'lsa va kamida 2 qo'shni qutiga ega bo'lsa, unda ushbu chiziqli zanjirning bu ikkita qo'shni qutisidan tashqari barcha chiziqli va barcha loopy ochiq zanjirlardan barcha qutilarni to'ldiring. Keyin DD va DD yoki oxirgi 2 qutini to'ldirish yoki to'ldirishni tahlil qiling.
- Agar barcha zanjirlar uzunligi 1 bo'lsa yoki loopy bo'lsa, unda avval uzunligi 1 bo'lgan barcha zanjirlarni to'ldiring va agar kamida bitta loopy zanjir bo'lsa, loopy zanjirlardan birining oxirgi 4 qutisidan tashqari barcha loopy zanjirlarni to'ldiring. Keyin DDD yoki oxirgi 4 qutini to'ldirishni tahlil qiling.
- Agar toʻldirib boʻladigan kataka boʻlmasa, u
- Agar har bir harakat 3-qutini yaratsa, unda
- Agar eng qisqa zanjir 2-zanjir
+---+---+ +---+---+
bo'lsa, unda 2 chizilmagan chiziqlar har qanday joyda bo'lishi mumkin, lekin bir xil qutida bo'lmasligi mumkin, unda erishish uchun o'rtada o'ynang (bu holda):+---+---+ | +---+---+
- Aks holda, keyingi zanjirni aniqlang va bu zanjirning istalgan joyida o'ynang.
- Agar eng qisqa zanjir 2-zanjir
- agar 3-qutini yaratmaydigan harakat bo'lsa, unda
- agar o'yinda eng ko'pi bilan 1 uzun zanjir (chiziqli yoki loopy) bo'lsa, masalan, nuqta to'rtburchak kichik yoki ingichka bo'lgani uchun, unda hech qanday DD / DDD harakatlari o'ynalmaydi va keyin oxirgi navbatni olgan o'yinchi g'olib chiqadi va Turn soni formula tufayli birinchi o'yinchi # nuqta + # loops toq va ikkinchi o'yinchi juft qilishga harakat qilishi kerak. Nuqtalarning # sobit bo'lganligi sababli, faqat 0 mos ravishda 1 loopni olishga harakat qilish mumkin. Agar bu imkonsiz bo'lsa, unda birinchi bo'lib kim o'ynaydi o'zgartiring.
- agar o'yinda kamida ikkita uzun zanjir bo'lishi aniq bo'lsa, lekin qancha ekanligi aniq bo'lmasa, unda Long Chain Rule ga rioya qiling va birinchi o'yinchi sifatida # nuqta + # uzun chiziqli zanjirlar juft va ikkinchi o'yinchi sifatida summani odd qilishga harakat qiling, aks holda
- agar o'yinda qancha uzun chiziqli zanjirlar paydo bo'lishi aniq bo'lsa va agar Uzoq zanjir qoidasi o'yinni yo'qotishni bashorat qilsa, unda uzun chiziqli zanjirlar sonini kamaytirish uchun qurbonlik harakatini o'ylab ko'ring.
- Agar har bir harakat 3-qutini yaratsa, unda
Manbalar
[1] Vikipediya: Nuqta va qutilar, boshqa havolalarga qarang.
[2] Berlekamp, Elwyn R.; Konvey, Jon H.; Guy, Richard K. (1982), 'Chapter 16: Dots-and-Boxes', Winning Ways for your Mathematical Plays, Volume 2: Games in Particular, Academic Press, pp. 507–550.
[3] Berlekamp, Elwyn (2000), The Dots-and-Boxes Game: Sophisticated Child's Play, AK Peters, Ltd, ISBN 1-56881-129-2.
[4] Wilson, Devid, Dots-and-Boxes tahlil natijalari, Viskonsin universiteti
Indeks
Quyidagi havolalar ishlashi uchun yuqoridagi matnni tugmasini bosish kerak
- # ...
- soni ...
- Box
- burchak sifatida 4 qo'shni nuqta bilan kichik kvadrat
- ?-Box
- 0-box, 1-box, 2-box, 3-box, 4-box - 0, 1, 2, 3, 4 tomonlari chizilgan qutilar.
- Zanjir
- bog'langan 2-qutilar dan tashkil topgan ketma-ketlik. linear zanjirlar va loopy zanjirlar mavjud.
- Double-Crossed Move
- bir vaqtning oʻzida ikkita qoʻshni qutini yakunlaydigan harakat. Double Dealing harakatidan so'ng chiziqli zanjirda yoki loop tugagandan so'ng darhol o'ynaladi.
- DD
- abbreviation of Double Dealing
- DDD
- abbreviation of Double Double Dealing
- Double Dealing
- a move on the border of a Half-Hearted Handout leading to
+---+---+ | | . +---+---+
- Double Double Dealing
- a move in middle of an open loop with 4 remaining boxes, createing, example,
+---+---+ +---+---+---+---+ | | | | | +---+---+ yoki +---+---+---+---+ yoki | | +---+---+ +---+---+ +---+---+---+ | | | | | +---+---+---+ yoki +---+---+ + | | | | +---+---+ +---+
- Endgame
- keyingi harakatda 3-quti yaratish muqarrar bo'lganda boshlanadi o'yinning yakuniy bosqichi
- Euler's identity
- a general relation for any graph in the plane, not only the Dots game, where lines are not cross: (# satrlar) − (# nuqta) + 2 = (# yuzlar) bu erda yuzlar "tashqi yuzni" o'z ichiga oladi, shuning uchun biz uchun (# yuzlar) = (# qutilar) + 1.
- Graph
- matematikada bir qator nuqtalar bir qator chiziqlar bilan bog'langan tushuncha
- Hard-Hearted Handout
- Drawing the middle line in
+---+---+ +---+---+ +---+---+ yoki | yoki | | +---+---+ +---+ + + + +
or rotated and mirrored versions of them result result in+---+---+ +---+---+ +---+---+ | yoki | | yoki | | | +---+---+ +---+ + + + +
or rotated and mirrored versions of them - Yarimparvoz tarqatma material
- zanjir chegarasida chiziq chizish ikki quti bilan
+---+---+ +---+---+ | yoki | | +---+---+ +---+ +
ga olib boruvchi
- Chiziq
- ikkita qo'shni nuqtani gorizontal +---+ yoki vertikal bog'laydigan chiziq segmenti
- Chiziqli zanjir
- 2 uchi bo'lgan zanjir, to'g'ri shart emas
- Uzun zanjir qoidasi
- Birinchi o'yinchi # nuqta + # dan uzun zanjirlar juft qilishga harakat qilishi kerak, ikkinchi o'yinchi esa bu qiymatni odd qilishga harakat qilishi kerak.
- Uzun zanjir
- ≥ 3 qutili zanjir
- Loony harakati
- raqibga qurbonlik qilish imkoniyatini beradigan harakat
- Loop
- abbreviation for loopy chain
- Loopy chain
- a chain without ends
- Move
- chizish line
- Aylanishlar soni Formula
- an aniq formula Uzun zanjir qoidasi uchun asos bo'lgan va birinchi o'yinchi bo'lish yoki yo'qligini hal qilish uchun kam sonli nuqtalar uchun foydali bo'lgan o'yindagi burilishlar sonini beradi
- Zanjirni ochish
- zanjir ichida yoki uning uchidan birida harakat qilish (agar u chiziqli zanjir bo'lsa)
- Qoida 1
- Eng aniq o'yin - raqib uni yakunlab olishi mumkin bo'lgan 3-quti yaratishdan saqlanishdir.
- Qoida 2
- Zanjirlarni buyurtma qilish uchun oxirgi zanjir uchun eng katta chiziqli zanjirni oling va agar chiziqli zanjir bo'lmasa, unda eng katta loopni oling.
- Qoida 3
- Agar oxirida barcha qutilarda kamida 2 tomon chizilgan bo'lsa, boshqa barcha zanjirlarni buyurtma qilish uchun ularni (# qutilar) − 2 (agar loop bo'lsa) bo'yicha saralang.
- Qoida 4
- Keyingi o'yinchi uchun qiymat bo'yicha tartiblangan zanjirlar ketma-ketligini yaratish uchun, eng past qiymatni birinchi bo'lib butun taxta tugaguniga qadar harakatlar ketma-ketligini bajaring (text ga qarang).
- Qoida 5
- DD/DDD yoki qilmaslikni hal qilish uchun taqdim etilgan psevdo-koddan foydalaning (text ga qarang.
- Qoida 6
- {}Uzun zanjirli qoida
- Nazoratni olish
- DD/DDD bilan bir xil bo'lib, bu muhim yon ta'siri sifatida keyingi zanjirlarda DD/DDD o'ynashni takrorlash imkoniyatini beradi
- Turn
- bir o'yinchining ketma-ket harakatlari ketma-ketligi
Follow or subscribe for updates: