Hvad er vinderstrategien for den første spiller i Connect Four-spil?

Bedste svar

Den egentlige “strategi” er faktisk temmelig kompleks og involverer udtømmende søgning på punkter at håndtere med taktik, så det er ikke praktisk at bruge i hånden.

På den anden side er den strategiske indsigt og nogle generelle regler nemme at bruge for et menneske og vil sandsynligvis gøre dig til en relativt god spiller.

Baggrund

Lad os starte med hurtigt at gennemgå connect-4. Spillet spilles på et 6 × 7 bord; Vi kan mærke hver række med et tal og hver kolonne med et bogstav:

Hver spiller skiftes til at vælge en kolonne; deres sten er placeret i den nederste åbne celle i søjlen. Vi kan skrive et spil ved hjælp af kun kolonnerne; for eksempel, hvis begge spillere spiller den centrale søjle, kan vi skrive dd. Dette vil føre til følgende tavle:

(Af konvention vil spiller 1 være blå og spiller 2 rød.)

Et spil kan vindes ved at forbinde fire stykker af din farve vandret, lodret eller diagonalt:

En sidste nyttig forestilling er en trussel , som kun er tre stykker i træk med den fjerde firkant åben (men ikke nødvendigvis tilgængelig). Her har blå en trussel i en diagonal:

Strategi

Spillet er løst: den første spiller (blå) kan altid tvinge en gevinst. Kerneideerne bag vinderstrategien er ret enkle: at kontrollere zugzwang og kontrollere ulige / lige rækker.

Zugzwang

“Zugzwang” betyder som udtryk at tabe, fordi du har til at foretage et skridt. En simpel illustration ville være at have to trusler oven på hinanden. Her er et eksempel på blå, der tvinger en sejr i kolonne c med rød til at flytte:

Dobbelt trusler som dette er med rimelighed lette at genkende i forvejen og mod. I praksis indebærer en meget mere nyttig form for Zugzwang bare at vente til hele brættet er fyldt, og der kun er et muligt træk tilbage. Overvej det enkle eksempel, hvor rød vinder til venstre, med den faktiske kraft, der kun sker efter en masse bevægelser:

Jævn / ulige trusler

Den, der har en trussel, der ubønhørligt vil blive udfyldt, vinder til sidst. Som vi så i det foregående eksempel, kan rød vinde med en trussel i en lige række. Derimod har blå brug for en ulige trussel for at vinde: det er her asymmetrien i spillet kommer frem.

En ulige trussel “afskærer” en søjle og vender i det væsentlige, hvem der kan få hvilken række, når man fylder hele boa rd. Især betyder dette, at en gyldig ulige trussel er “stærkere” end en gyldig jævn trussel: hvis blå har en ulige trussel i en kolonne og rød en jævn trussel i en anden, vinder blå stadig. Her er et eksempel (blå at spille):

Fra denne position kan vi udfylde gentagne gange, indtil vi kommer til en position hvor rød skal spille c fordi g (som har et ulige antal brikker i sig) ville resultere i blå vinding. Dette lader c kolonnen fyldes op, indtil rødt tvinges til at tabe:

ulige trussel “fungerer”, fordi det lukker af for en enkelt kolonne for at have et ulige antal positioner – hvilket effektivt vender tavlen fra at have et lige antal firkanter (42) til et ulige tal, der vender dynamikken i spillet. Dette betyder også, at hvis både rød og blå har uafhængige ulige trusler, annullerer de: at have to ulige kolonner bringer det samlede antal tilbage til at være lige.

Mere generelt giver den ulige / lige forskel os en forestilling om kontrol : rød kontrollerer normalt spillet, men blå kan få kontrol ved at etablere en ulige trussel. I praksis betyder kontrol at være i stand til at spille alle lige kvadrater eller, som en mulighed, spille en ulige firkant, men lad din modstander spille en lige firkant til gengæld.

Taktik

Den ulige / lige forskel lader os spille “strategisk” – en masse bevægelser fremad, i hvert fald. For faktisk at vinde konsekvent skal vi kombinere vores viden om langsigtet strategi med sunde taktiske kortsigtede træk. Vi skal huske små fælder som dette:

Regler

Den egentlige vinderstrategi for spillet kommer ned til et sæt på ni regler baseret på de tidligere strategiske principper og taktik.Reglerne blev udviklet af Victor Allis i 1988 – jeg tror, ​​han var den første person til at løse spillet.

Reglerne kan “t altid find den optimale løsning: nogle gange bliver du nødt til at foretage en faktisk søgning gennem mulighederne, stort set for at håndtere taktiske bekymringer.

Her er hvad jeg synes er de vigtigste regler med de navne Allis gav dem Der er et par flere regler, men de er enten til særlige tilfælde eller bare kombinationer af tidligere regler; du kan læse om alle reglerne i selve specialet: En videnbaseret tilgang til Connect Four .

  • baseinverse : du kan altid gøre krav på en af ​​to tilgængelige kvadrater, når din modstander hævder den anden, så du kan altid blokere en fire-i-en-række, der har brug for to kvadrater sådan. F.eks. kan rød altid spille en af de grønne firkanter efter blå spiller o ther:

  • lodret : du kan altid blokere en lodret fire-i-række ved at spille en af ​​de to firkanter direkte over hinanden. Rød kan altid blokere den lodrette fire i træk på d ved at spille en af ​​de fremhævede firkanter:

  • claimeven : den, der har kontrol over spillet (dvs. rødt, medmindre blå har en ulige trussel ) kan spille en firkant i en lige række (så længe den firkant ikke kan afspilles med det samme). Denne regel inkorporerer den grundlæggende ulige / lige strategi.
  • efter kl. : hvis du har kontrol og har en trussel i en jævn række, vil du være i stand til at spille den række via claimeven. Dette betyder, at alle trusler i samme kolonne over den ene er blokeret. For eksempel her blå kan ikke spille b3 da rød har en trussel mod b2:

  • lowinverse : hvis der er to kolonner med et ulige antal åbne firkanter, er resultatet jævnt. Hvis der er to ulige firkanter es i sådanne kolonner, der ikke kan afspilles direkte, vil den, der styrer spillet, være i stand til at spille mindst en af ​​dem. Dette kan også gælde firkanter, der langt fra kan spilles og ikke ved siden af ​​hinanden. I disse to enkle eksempler kan rød få mindst en af ​​de to fremhævede firkanter:

Vinder

Spillet blev faktisk løst gennem en kombination af disse regler og noget udtømmende søgning – reglerne i sig selv er desværre ikke nok.

Mange af reglerne afhænger af at have kontrol over spillet. Da rød oprindeligt har kontrol, kan blå ikke bruge mange af reglerne, før de formår at skabe en ulige trussel. Blå kan etablere en ulige trussel ved at bruge nogle af de regler, der ikke afhænger af at have kontrol eller bare taktisk tænkning som at kombinere grupper på to stykker for at garantere en ulige trussel i fremtiden.

Det viser sig, at den første spilleren kan gøre dette mod optimalt spil, så længe det første træk er d1. Dette betyder, at den første spiller altid kan vinde. Den søgning, der faktisk etablerede dette, er også detaljeret i afhandlingen.

For menneskelige spillere er denne slags logik svært at arbejde med. Heldigvis fandt en anden et sæt gode åbninger, som du generelt kan bruge: Ekspertspil i Connect-Four .

Desuden lavede jeg alle illustrationer ved hjælp af Haskells “vidunderlige diagrammer pakke. Faktisk hele dette svar var faktisk en øvelse bare for at lære at bruge biblioteket, som jeg har tænkt mig at gøre i et stykke tid! Du kan se på koden på denne kerne. Koden er rodet, men det er en god demonstration af, at Haskell i modsætning til almindelig tro faktisk er fantastisk til interaktiv prototyping og skrivning af smidkode.

Jeg synes også, det er sejt at se, hvordan Emacs kan forhåndsvise SVGer og PNGer i en buffer, hvilket i det væsentlige giver mig et skræddersyet miljø til udvikling af billeder som denne:

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *