Keturi eilėje yra išspręstas žaidimas: kaip laimėti ir kodėl pradėti yra pranašumas

Jei kada nors jautėte, kad pradedantis žaidime „Keturi eilėje“ turi visas galimybes laimėti, tai ne įspūdis: du tyrėjai tai įrodė 1988 metais. Žaidimas „išspręstas“, tai yra žinoma, kas laimi, jei abu žaidėjai nedaro jokių klaidų. Čia papasakosime, ką tai reiškia, kas tai įrodė, koks pradžios ėjimas tikrai svarbus ir ką galite padaryti jūs, žmogus, klystantis kaip visi, kad laimėtumėte daugiau partijų.

Atnaujinta:

Ką reiškia, kad žaidimas išspręstas

Žaidimas išspręstas, kai žinomas rezultatas, gaunamas abiem žaidėjams žaidžiant tobulai nuo pradinės padėties. Paprastai skiriami trys lygiai. „Ultra silpname“ sprendime žinoma tik tai, kas laimi ar ar bus lygiosios, nežinant strategijos. „Silpname“ papildomai žinoma strategija, garantuojanti tą rezultatą nuo pat pradžios. „Stipriame“ žinomas geriausias rezultatas iš bet kokios galimos padėties.

Klasikinės 7 stulpelių ir 6 eilučių lentos „Keturi eilėje“ atveju rezultatas aiškus: tobulai žaidžiant laimi pradedantis žaidėjas. Tai nereiškia, kad praktikoje jis visada laimi, nes tam kiekvienu ėjimu jis turi pataikyti į teisingą ėjimą, o žmonių partijos pilnos klaidų.

Kas ir kada tai išsprendė

Istorija turi du veikėjus, kurie nepriklausomai priėjo prie tos pačios išvados 1988 metų spalį. Pirmasis buvo Jamesas Dow Allenas, kuris savo sprendimą paskelbė 1988 metų spalio 1 d. pranešime diskusijų grupei rec.games.programmer. Po penkiolikos dienų, spalio 16 d., olandų tyrėjas Victoras Allisas pristatė savo sprendimą, aprašytą jo darbe „A Knowledge-based Approach of Connect-Four“ iš Vrije Universiteit.

Allio metodas buvo „paremtas žiniomis“: užuot peržiūrėjęs visas padėtis, jis suformulavo strategines taisykles, pavyzdžiui, kuriuos langelius verta valdyti ir kokios grėsmės svarbios, ir sujungė jas su paieška, kad įrodytų, jog pirmasis žaidėjas gali priversti laimėti. Vėliau tas pats rezultatas gautas grubios jėgos metodu, su padėčių duomenų bazėmis ir galingais kompiuteriais; pavyzdžiui, programuotojas Johnas Trompas sudarė bazę su visomis 8 žetonų padėtimis, kuri tapo pradžios tašku. Abu keliai sutampa.

Pradžios raktas: centrinis stulpelis

Ne bet kuris pirmasis ėjimas tinka. Rezultatas priklauso nuo stulpelio, kuriame pradeda pirmasis žaidėjas:

Pirmasis ėjimasRezultatas tobulai žaidžiant
Centrinis stulpelis (4-as)Laimi pradedantis
Stulpeliai greta centro (3-ias ir 5-as)Lygiosios
Kraštiniai stulpeliai (1, 2, 6 ir 7)Laimi antrasis žaidėjas

Ką „laimi pradedantis“ reiškia praktikoje

Teorija sako, kad pirmasis laimi, bet tai nieko negarantuoja, jei varžovas žaidžia gerai: pranašumas realus, bet reikalauja tikslumo. Vis dėlto pradėjimas suteikia du konkrečius dalykus. Pirmas – iniciatyva: einate pirmi, o varžovui dažnai tenka atsakyti į jūsų grėsmes. Antras – paritetas, tarp žaidėjų plačiai žinoma praktinė taisyklė: kadangi lenta turi 6 eilutes, lyginį skaičių, ir žaidžiama paeiliui, nelyginių eilučių (1, 3 ir 5, skaičiuojant iš apačios) langeliai linkę atitekti pradėjusiajam, o lyginių eilučių – antrajam. Todėl grėsmė nelyginėje eilutėje pirmajam žaidėjui paprastai vertingesnė.

Kodėl centras toks vertingas

Centrinio stulpelio žetonai dalyvauja daugiau galimų linijų nei bet kurio kito stulpelio. Iš centro galima sudaryti keturis eilėje horizontaliai, vertikaliai ir abiem įstrižainėmis daugybe skirtingų derinių; krašte esantis žetonas beveik tinka tik vienai ar dviem kryptims. Todėl stiprios programos savo ėjimus rikiuoja nuo centro į išorę ir todėl pradžios knygos prasideda 4-uoju stulpeliu.

Jums praktinė taisyklė paprasta: kai neturite aiškiai geresnio ėjimo, rinkitės stulpelį arti centro. O jei varžovas centrą užima pirmas, nenusiminkite: greta esantys stulpeliai vis dar labai geri.

Patarimai laimėti daugiau partijų prieš žmones

Vadinasi, kompiuteris negali pralaimėti?

Programa, kuri žaistų tobulai nuo pat pradžios ir pradėtų pirma, niekada nepralaimėtų, bet tai teiginys apie teorinį žaidimo sprendimą, o ne apie bet kurią programą. Visos partijos išsprendimas nuo pradinės padėties reikalauja labai daug skaičiavimų, o naršyklėje, vos per pusantros sekundės vienam ėjimui, to nepasiekti.

Todėl mūsų „Keturi eilėje“ lygis „Nenugalimas“ pristatomas tuo, kuo yra: stipriausiu lygiu. Jis naudoja alfa-beta paiešką su iteraciniu gilinimu, jau matytas padėtis prisimenančią lentelę, stulpelių tvarką, prasidedančią nuo centro, ir labai trumpą pradžios knygą. Jis analizuoja daug ėjimų į priekį ir beveik nepraleidžia klaidų, bet nežadame, kad jo neįmanoma įveikti. Jei jį nugalėsite, laimėjote tikrai.

Kaip treniruotis

Geras būdas tobulėti – žaisti prieš kompiuterį lygiu Sunkus, o paskui prieš Nenugalimas, keičiant, kas pradeda. Kai pralaimėsite, peržiūrėkite partiją ir nustatykite, kuriuo ėjimu atsirado dviguba grėsmė: beveik visada ją galima atsekti iki ankstesnio ramaus ėjimo. Taip pat verta išbandyti variantus, tokius kaip didesnė lenta ar PopOut režimas, kurie verčia galvoti kitaip ir lavina lentos matymą.

Dažniausiai užduodami klausimai

Kas įrodė, kad „Keturi eilėje“ išspręstas?

Jamesas Dow Allenas tai paskelbė 1988 m. spalio 1 d., o nepriklausomai Victoras Allisas savo sprendimą pristatė 1988 m. spalio 16 d. Vėliau buvo patvirtinimų grubios jėgos metodu.

Kas laimi žaidime „Keturi eilėje“ tobulai žaidžiant?

Pradedantis žaidėjas, jei jo pirmasis žetonas patenka į klasikinės 7×6 lentos centrinį stulpelį. Jei pradeda stulpelyje greta centro, partija teoriškai baigiasi lygiosiomis, o jei pradeda viename iš keturių kraštinių stulpelių, laimi antrasis žaidėjas.

Ar tai reiškia, kad pradedantis visada laimi?

Ne. Tai rezultatas, jei niekas nedaro klaidų. Praktikoje reikia kiekvienu ėjimu pataikyti, o žmonės klysta. Pradėti yra pranašumas, o ne garantija.

Ar kitų dydžių lentos taip pat išspręstos?

Daugelis taip, bet rezultatas keičiasi priklausomai nuo dydžio. Pavyzdžiui, Johnas Trompas pranešė, kad 8×8 lenta yra antrojo žaidėjo pergalė. Šis vadovas skirtas tik klasikinei 7 stulpelių ir 6 eilučių lentai.

Ar lygis Nenugalimas niekada nepralaimi?

To nežadame. Tai stipriausias siūlomas lygis, su gilia paieška ir daug skaičiavimų per ėjimą, bet jis neišsprendžia visos partijos per turimą laiką. Jis yra tik klasikinėje 7×6 lentoje.

Kiek padėčių turi „Keturi eilėje“?

Suskaičiuota 4 531 985 219 092 galimos padėtys 7×6 lentoje, skaičių 2008 metais nepriklausomai patvirtino Stefanas Edelkampas ir Peteris Kissmannas.