Mikä on Connect Four -pelien ensimmäisen pelaajan voittostrategia?

Paras vastaus

Varsinainen ”strategia” on itse asiassa melko monimutkainen ja sisältää tyhjentävän etsinnän käsiteltävissä olevissa pisteissä. taktiikoilla, joten käsin käyttäminen ei ole käytännöllistä.

Toisaalta strategiset oivallukset ja jotkut yleiskäyttöiset säännöt ovat ihmisille helppoja käyttää, ja luultavasti tekevät sinusta suhteellisen hyvä pelaaja.

Tausta

Aloitetaan tarkistamalla nopeasti yhteys-4. Peliä pelataan 6 × 7 -levyllä; voimme merkitä jokaisen rivin numerolla ja kunkin sarakkeen kirjaimella:

Jokainen pelaaja valitsee vuorotellen sarakkeen; niiden kivi on sijoitettu pylvään alimpaan avoimeen soluun. Voimme kirjoittaa pelin vain sarakkeilla; Esimerkiksi, jos molemmat pelaajat pelaavat keskisaraketta, voimme kirjoittaa dd. Tämä johtaisi seuraavaan lautaan:

(Sopimuksen mukaan pelaaja 1 on sininen ja pelaaja 2 punainen.)

Pelin voi voittaa yhdistämällä neljä väriäsi vaakasuoraan, pystysuoraan tai vinosti:

Viimeinen hyödyllinen käsitys on uhka , joka on vain kolme kappaletta peräkkäin, kun neljäs neliö on auki (mutta ei välttämättä käytettävissä). Tässä sinisellä on uhka diagonaalissa:

Strategia

Peli on ratkaistu: ensimmäinen pelaaja (sininen) voi aina pakottaa voiton. Voittajan strategian ydinajat ovat melko yksinkertaiset: hallita zugzwang ja hallita pariton / parillinen rivejä.

Zugzwang

”Zugzwang” tarkoittaa termiä häviämistä, koska täytyy liikkua. Yksinkertainen esimerkki olisi kaksi uhkaa päällekkäin. Tässä on esimerkki sinisestä, joka pakottaa voiton sarakkeeseen c punaisella liikkumaan:

Kuitenkin tällaiset kaksinkertaiset uhkat on kohtuullisen helppo tunnistaa etukäteen ja laskea. Käytännössä paljon hyödyllisempään Zugzwang-muotoon kuuluu vain odottaa, kunnes koko lauta on täytetty ja jäljellä on vain yksi mahdollinen siirto. Tarkastellaan yksinkertaista esimerkkiä, jossa punainen voittaa vasemmalla, todellinen voima tapahtuu vasta joukon liikkeitä:

Parilliset / parittomat uhkat

Kuka tahansa, jolla on väistämättä täyttyvä uhka, voittaa lopulta. Kuten edellisessä esimerkissä nähtiin, punainen voi voittaa uhalla parillinen rivi. Sen sijaan sininen vaatii pariton voiton uhkan: tässä epäsymmetria pelissä syntyy.

Pariton uhka ”sulkee” sarakkeen ja kääntää olennaisesti kuka voi saada minkä rivin täyttäessään koko boa rd. Tämä tarkoittaa erityisesti, että kelvollinen pariton uhka on ”vahvempi” kuin kelvollinen parillinen uhka: jos sinisellä on pariton uhka yhdessä sarakkeessa ja punaisella tasainen uhka toisessa, sininen voittaa silti. Tässä on esimerkki (sininen pelattavaksi):

Tästä paikasta voimme täyttää toistuvasti, kunnes pääsemme sijainti, jossa punaisen on soitettava c, koska g (jossa on pariton määrä kappaleita) johtaisi siniseen voittoon. Tämä antaa c -sarake täyttyy, kunnes punainen pakotetaan menettämään:

pariton uhka ”toimii”, koska se sulkee yhden sarakkeen pariton paikkojen lukumäärään – kääntämällä levyä tehokkaasti siten, ettei sillä ole parillinen määrä neliöitä (42) parittomalle numerolle, joka kääntää pelin dynamiikan. Tämä tarkoittaa myös sitä, että jos sekä punaisella että sinisellä on itsenäisiä parittomia uhkia, ne peruuttavat: kaksi parittomia sarakkeita palauttaa kokonaismäärän tasaiseksi.

Parittomuus / parillinen ero antaa meille käsitteen ohjaus : punainen ohjaa normaalisti peliä, mutta sininen voi saada hallinnan luomalla pariton uhka. Käytännössä hallinta tarkoittaa mahdollisuutta pelata mitä tahansa parillisia neliöitä tai vaihtoehtoisesti pelata pariton neliö, mutta anna vastustajan pelata tasainen neliö vastineeksi.

Taktiikka

Pariton / parillinen ero antaa meille mahdollisuuden pelata ”strategisesti” – joka joukko siirtoja eteenpäin joka tapauksessa. Jotta voisimme todella voittaa johdonmukaisesti, meidän on yhdistettävä tietämyksemme pitkän aikavälin strategiasta järkeviin taktisiin lyhytaikaisiin liikkeisiin. Meidän on pidettävä mielessä pienet tällaiset ansat:

Säännöt

Pelin todellinen voittostrategia koostuu yhdeksästä säännöstä, jotka perustuvat aiemmin käsiteltyihin strategisiin periaatteisiin ja taktiikoihin.Säännöt kehitti Victor Allis vuonna 1988 – luulen, että hän oli ensimmäinen henkilö, joka ratkaisi pelin.

Säännöt voivat ”t aina löytää optimaalinen ratkaisu: joskus joudut tekemään todellisen mahdollisuuksien etsimisen, suurimmaksi osaksi taktisten ongelmien ratkaisemiseksi.

Tässä ovat mielestäni tärkeimmät säännöt, joiden nimet Allis antoi heille . Sääntöjä on vielä muutama, mutta ne ovat joko erikoistapauksia varten tai vain aikaisempien sääntöjen yhdistelmiä; voit lukea kaikki varsinaisen opinnäytetyön säännöt: Connect Fourin tietoon perustuva lähestymistapa .

  • baseinverse : Voit aina vaatia yhden kahdesta esteettömästä neliöstä, kun vastustajasi väittää toisen, joten voit aina estää neljä riviä, joka tarvitsee kaksi tällaista neliötä. Esimerkiksi punainen voi aina pelata yksi vihreistä neliöistä sen jälkeen kun sininen soittaa o siellä:

  • pystysuora : voit aina estää pystysuoran neljä riviä pelaamalla toisen kahdesta neliöstä suoraan toistensa yläpuolella. Punainen voi aina estää pystysuorat neljä riviä sarjassa d toistamalla yhden korostetuista neliöistä:

  • Pretendeven : kuka hallitsee peliä (ts. punainen, ellei sinisellä ole pariton uhka ) voi pelata neliötä tasaisella rivillä (kunhan sitä ei voida heti toistaa). Tämä sääntö ilmentää pariton / parillinen perustrategiaa.
  • aftereven : jos sinulla on hallinta ja sinulla on uhka tasaisella rivillä, voit pelata kyseistä riviä vaatimukseneven kautta. Tämä tarkoittaa, että kaikki saman sarakkeen yläpuolella olevat uhkat on estetty. Esimerkiksi tässä sininen ei voi toistaa b3, koska punaisella on uhka b2:

  • lowinverse : jos on kaksi saraketta, joissa on pariton lukumäärä avointa neliöitä, tulos on parillinen. Jos parittomia neliöitä on kaksi Tällaisissa sarakkeissa, joita ei voida suoraan pelata, kuka tahansa, joka hallitsee peliä, voi pelata ainakin yhtä niistä. Tämä voi koskea myös ruutuja, jotka eivät ole kaukana pelattavista eivätkä ole vierekkäin. Näissä kahdessa yksinkertaisessa esimerkissä punainen voi saada vähintään yhden korostetuista neliöistä:

Voittaminen

Peli ratkaistiin näiden sääntöjen yhdistelmällä ja tyhjentävällä etsinnällä – säännöt eivät yksinään riitä.

Monet säännöt riippuvat pelin hallitsemisesta. Koska punaisella on alun perin hallinta, sininen ei voi käyttää monia sääntöjä, ennen kuin se onnistuu luomaan pariton uhka. Sininen voi luoda parittoman uhan käyttämällä joitain sääntöjä, jotka eivät riipu hallitsemisesta tai pelkästä taktisesta ajattelusta, kuten kahden kappaleen ryhmien yhdistäminen takaamaan pariton uhka tulevaisuudessa.

On käynyt ilmi, että ensimmäinen pelaaja voi tehdä tämän optimaalista peliä vastaan, kunhan ensimmäinen siirto on d1. Tämä tarkoittaa, että ensimmäinen pelaaja voi aina voittaa. Tämän todentanut haku on myös yksityiskohtainen opinnäytetyössä.

Ihmisen pelaajille tällaista logiikkaa on vaikea työskennellä. Onneksi joku muu löysi joukon hyviä aukkoja, joita voit yleensä käyttää: Asiantuntijapeli Connect-Fourissa .

Lisäksi sivullisena tein kaikki kuvat Haskellin upeilla kaaviopaketeilla . Itse asiassa tämä koko vastaus oli itse asiassa harjoitus vain oppia käyttämään kirjastoa, mitä olen tarkoittanut tehdä jonkin aikaa! Voit katsoa tämän ytimen koodia. Koodi on sotkuinen, mutta se osoittaa suuresti, että toisin kuin yleisesti uskotaan, Haskell on todella hieno interaktiivisesti prototyyppien kirjoittamiseen ja heittokoodin kirjoittamiseen.

Lisäksi mielestäni on hienoa nähdä, kuinka Emacs voi esikatsella SVG: itä ja PNG: itä puskurissa, mikä antaa minulle lähinnä räätälöidyn ympäristön tällaisten kuvien kehittämiseen:

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *