Pitanje:
Prilagođeni šah (igra) motor
Konstantinos
2018-03-06 04:19:34 UTC
view on stackexchange narkive permalink

Postoji li šahovska mašina koju možete koristiti bez obzira na pravila igre? Na primjer, želim stvoriti vlastitu verziju šaha u kojoj će se kraljica također moći kretati kao vitez ili samo verziju šaha od 10x10 kvadrata. Pitam se, postoji li motor u koji mogu staviti "svoja pravila", i tada će ne samo moći igrati, već će i pobijediti bilo kojeg čovjeka u toj verziji?

Znam da je Stockfish otvoreni izvor, ali koliko bi ga bilo lako urediti prema "vašim pravilima?"

Ako ne, kada se to očekuje? Mislim tijekom sljedećih 5 godina ili nakon 20 godine.

Pet odgovori:
SmallChess
2018-03-06 05:01:30 UTC
view on stackexchange narkive permalink

Da, postoji. Motor FairyMax prilično je fleksibilan i mijenja način igranja šaha iz konfiguracijske tekstualne datoteke. Molimo pogledajte službenu verziju:

Vidite li šah Capablanca, gdje je ploča veća? Vidite li sve te varijante?

Neke poveznice:

Morat ćete naučiti kako koristiti datoteku. Molimo vas da potražite daljnju pomoć na forumu Winboard (mislim da ne postoji odgovarajuća dokumentacija, samo trebate pitati). Dobro obratite pažnju na H.G.Mullera, on je čovjek koji je sve to učinio.

Stockfish ne dopušta lak prijelaz na varijantu. Još uvijek je moguće, ali morat ćete se boriti na razini izvornog koda. Nije jednostavno. Ništa se neće promijeniti ako Stockfish ne prepišete ispočetka. Koristite Winboard / Fairymax, ne Stockfish. Winboard / Fairymax je najbolja varijanta dostupnog motora.

Može li FairyMax udovoljiti alternativnim pravilima poput "Ako kralj može pomaknuti jedan kvadrat naprijed, mora; u protivnom povući bilo koji pravni potez" ili "Ako je moguće pomaknuti ili uhvatiti bilo kojeg pijuna, igrač to mora učiniti; u protivnom povući bilo koji pravni potez"?
AiliavdetrCMT Ask on the forum.
Federico Poloni
2018-03-07 01:10:33 UTC
view on stackexchange narkive permalink

Samo slučajni pokazivač. Postoji 15 godina star komercijalni Windows program pod nazivom Zillions of Games koji omogućuje definiranje proizvoljnih društvenih igara (pomoću jednostavnog skriptnog jezika) i uključuje AI koji ih igra (ili barem pokušava ). Nikad ga nisam koristio, ali moj prijatelj je bio obožavatelj i mislio je da AI nije loš za ono što je učinio. (mada sigurno nije na razini Stockfish-a).

Čini se da je web-mjesto još uvijek na mreži, a barem se demo može preuzeti.

Prije mnogo godina koristio sam Zillions of Games, pa čak i kodirao šahovsku varijantu s kvadratima IIRC 52. Bio je to pristojan program, ali mislim da nije ažuriran kako bi se iskoristile prednosti 64-bitnih procesora.
http://www.chessv.org/ klon je Ziliona s izvornim kodom. Uključuje FairyMax Universal Engine tvrtke Muller.
Fabian Fichter
2018-07-07 13:46:22 UTC
view on stackexchange narkive permalink

Fairy-Max, Sjaak II i Nebiyu Alien omogućuju u određenoj mjeri konfiguraciju novih inačica, koje su već izvan kutija podržava veliku raznolikost šahovskih varijanti. Oni mogu na pr. koristiti s XBoard / WinBoard GUI.

Budući da ste izričito spomenuli Stockfish, želio bih dodati da sam nedavno počeo razvijati vilicu Fairy-Stockfish koji je prilično fleksibilan s obzirom na dodavanje novih varijanti. Još je uvijek u ranoj fazi razvoja, pa još nije toliko fleksibilan kao gore spomenute alternative, a dodavanje novih inačica još se ne može izvršiti putem konfiguracijske datoteke (UPDATE 2019/09: korisnički definirane inačice putem konfiguracijske datoteke sada su podržane), ali putem datoteke koja sliči konfiguraciji u kodu. Glavno ograničenje je da su podržane samo veličine ploča jednake ili manje od 12x10. Njegova glavna prednost je što je njegova igračka snaga prilično visoka u usporedbi s ostalim motorima sa šahovskom varijantom, jer se temelji na Stockfishu. Također možete igrati neke inačice protiv nje na mreži na pychess-variant.

Varijanta koju ste spomenuli gdje se kraljica također može kretati kao vitez naziva se amazonski šah i već ga podržava Fairy-Stockfish. Pod verzijom šaha 10x10, mislite li na nešto poput Grand šaha?

user1583209
2018-03-06 04:33:11 UTC
view on stackexchange narkive permalink

Nije mi poznato da postoji takva stvar.

U određenoj je mjeri moguće programirati mehanizam koji može prihvatiti prilagođena pravila. No, naravno, morali biste prethodno odrediti kakvu prilagodbu želite dopustiti: npr. prilagođavanje kretanja figura, veličine ploče ....

Što se tiče vašeg drugog zahtjeva (pobijedit će bilo kojeg čovjeka u toj verziji), to je nemoguće kod tradicionalnih šahovskih motora, jer se oni u velikoj mjeri oslanjaju na procjenu funkcije koje su specifične i fino prilagođene određenoj varijanti šaha. Na primjer (samo jedan primjer), ako pustite kraljicu da se kreće poput viteza, promijenila bi svoju materijalnu vrijednost u neki nepoznati broj.

Drugi bi se dio vjerojatno mogao riješiti u alfa nultoj vrsti šahovskih motora, ali koliko mi je poznato, one još nisu dostupne za opću publiku.

itub
2018-03-06 04:50:15 UTC
view on stackexchange narkive permalink

Nisam siguran postoji li već neki od njih, ali evo nekoliko problema koje treba razmotriti.

Motor ima dva glavna zadatka: generiranje pozicija i procjenjivanje položaja. U principu ne bi trebalo biti previše teško stvoriti motor koji omogućuje izmjene pravila i generira pozicije; sam algoritam pretraživanja prilično je generički. Ocjenjivanje pozicije je lukavije jer se obično temelji na heuristikama poput vrijednosti figure, prostora, kraljeve sigurnosti itd. Koje su tijekom godina razvijene za standardni šah. Postojeće heuristike vjerojatno bi bile neoptimalne za vašu varijantu, pa biste ih trebali sami smisliti ako ne želite da vaš motor previše naivno razmišlja o strategiji.

Motor poput Google AlphaZero ne treba heuristiku jer ih može "otkriti" trenirajući, igrajući mnogo puta protiv sebe. To bi bio zanimljiv način primjene motora za šahovske inačice, ali mislim da nije lako dostupan. Možda postoje još neke lagane alternative strojnog učenja.

Oprez tradicionalnih motora poput Stockfish-a jest da su oni jako optimizirani kako bi uštedjeli memoriju i vrijeme, a neke od ovih optimizacija mogu otežati drastične promjene pravila. Ali ako je ovo samo za zabavu i istraživanje, čini se izvedivijim, manje optimiziranim motorom koji bi motivirani programer mogao prilično brzo razviti (ne bi trebale trajati godine).

There is one out there. I'll post my answer.


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...