0

Connect Four AI – žaisk prieš Minimax variklį

Žaiskite „Connect Four“ prieš tikrą AI priešininką, kuris ieško žaidimų medyje naudodamas negamax ir alfa-beta genėjimą, paremtą tikru centru svertine pozicijų euristika – pasirinkite spalvą ir sudėtingumą ir numeskite diskus ant animacinės lentos.

Apdorojama... 0%

Rezultatas

Šis Connect Four AI yra tikras paieška pagrįstas priešininkas, o ne scenarijus ar atsitiktinis robotas. Pasirinkite žaisti raudonai arba geltonai (raudona visada atsidaro, kaip standartiniame Connect Four), pasirinkite sunkumą ir pradėkite mesti diskus spustelėdami stulpelį arba rodyklę virš jo. Diskas animuoja iki nusileidimo eilės, keturi iš eilės iškart aptinkami visomis kryptimis – horizontaliai, vertikaliai ir abiem įstrižais – ir trumpa būsenos eilutė visada nurodo, kieno eilė atėjo, arba paskelbia nugalėtoją.

AI variklis yra negamax paieška su alfa-beta genėjimu, ta pačia algoritmų šeima, kurią naudoja klasikiniai stalo žaidimų varikliai: ji tyrinėja galimų būsimų judesių medį, kiekviena pusė bando maksimaliai padidinti savo rezultatą, darant prielaidą, kad priešininkas taip pat žaidžia gerai, ir nugenina šakas, kurios negali pakeisti rezultato, kai jau rasta geresnė linija. Kadangi „Connect Four“ galima pasirinkti tik iš septynių stulpelių, ši paieška gali greitai žiūrėti kelis žingsnius į priekį. Jis veikia su kartotiniu gilinimu – ieškoma viename sluoksnyje, po to dviejuose, po to trijuose ir t. t. – per trumpą laiko biudžetą vienam judesiui (maždaug ketvirtadalio sekundės „Easy“ iki maždaug pusantros sekundės „Hard“ atveju), todėl naršyklė niekada neužstringa laukdama judesio.

Kai ieškant nepavyksta pasiekti žaidimo pabaigos per jo gylį, ėjimai vertinami pagal realią padėties įvertinimo euristiką, o ne spėjimą: kiekvienas galimas keturių iš eilės langas lentoje vertinamas pagal tai, kiek kiekvienos spalvos jau užima joje (tuščias langas nieko vertas, langas, kuriame tik jūsų diskai verti daugiau, nes prisipildo, langas, užblokuotas abiejose spalvose, nes jose dalyvauja daugiau stulpelių). Lengvas ir vidutinis prideda šiek tiek kontroliuojamo atsitiktinumo tarp judesių, kurių rezultatas beveik toks pat, todėl dirbtinis intelektas jaučiasi žmogiškesnis ir įveikiamas; Hard visada atlieka stipriausią rastą judesį. Tai nuoširdžiai stiprus „minimax“ priešininkas, sukurtas iš tikro paieškų ir įvertinimo – ne teiginys apie nepralenkiamą ar tobulą žaidimą ir ne ko nors modeliavimas: kiekvienas judesys yra tikrasis aukščiau pateikto algoritmo rezultatas.