AISports i zaigrani botovi

Ovaj post napisan je u suradnji s mojim prijateljem Joelom Mislavom Kunstom.

Na Blogaritmu je uglavnom riječ o natjecateljskom programiranju koje se većinom orijentira na determinističke algoritamske zadatke. Ti su nam zadatci svima poznati i zabavni, ali postoje i drugi oblici programiranja koji su i kompetitivni i jako zabavni. Jedan je od njih natjecanje botova u igranju igara. Bot je samo drugo ime za program koji odrađuje neki zadatak automatski, umjesto čovjeka. Programiranje botova koji igraju igre razlikuje se od klasičnog natjecateljskog programiranja:

  • Programi koje isprogramiramo mogu se natjecati međusobno – protivnik nije statičan.
  • Uglavnom nema optimalnog ili očekivanog rješenja.
  • Program može krenuti jednostavno, te ga konstantno možemo poboljšavati dok se natječemo s drugima i dobivamo povratnu informaciju o tome koliko je dobar.

Takvi zadatci, koji su zapravo igre, mogu zahtijevati mnogo više vremena od standardnih zadataka s natjecanja, ali početna rješenja mogu se napraviti relativno brzo. Kod ovakvih se zadataka u manjoj ili većoj mjeri koriste algoritmi iz područja umjetne inteligencije. Oni su ponekad drugačiji od onih egzaktnih koje koristimo u zadatcima standardnog natjecateljskog programiranja, ali ne toliko koliko se može na prvi pogled činiti: ne postoji jasna granica između “umjetne inteligencije” i ostalih algoritama. U umjetnoj inteligenciji itekako vam može pomoći poznavanje pohlepnih algoritama, rekurzije i backtrackinga, dinamičkog programiranja, traženja što boljih putova u grafovima te ostalih optimizacijskih i heurističkih algoritama, iako će se ovdje naći i algoritama strojnog učenja koji vam možda još nisu poznati. Umjetna inteligencija široko je i zanimljivo područje i sve je veća potražnja za ljudima koji su u njemu vješti.

Neka od natjecanja ovog tipa organizira poznati Kaggle, ali on nije primarno posvećen natjecanju botova, nego više strojnom učenju. Poznata natjecanja botova koji igraju igre su studentsko timsko natjecanje u Starcraftu koji igraju botovi, Halite koji se održava jednom godišnje, te jedna od novijih platformi, AISports, koja najavljuje veći broj igara i konstantna natjecanja. OpenAI nudi mnogo starih igara s igraćih konzola za koje možete napraviti bota, no infrastruktura za natjecanja te jednostavan početak nisu na visokoj razini. 

Jedan od osnivača AISports-a moj je prijatelj Joel Mislav Kunst. Na toj platformi možete se baviti samo logikom svog bota, a infrastruktura za simulaciju, debugiranje i natjecanja napravljena je za vas. Postoji biblioteka za Python i Typescript, ali to je samo wrapper za vrlo jednostavan API, te možete koristiti bilo koji jezik. Kod se trenutačno izvršava lokalno na vašem računalu. Zasad je na raspolaganju jedna igra – dame tj. checkers – a u planu je dodavanje barem jedne nove igre mjesečno. Želite li malo začiniti svoj karantensko-natjecateljsko-programerski život, okušajte se u izradi bota koji pobjeđuje druge botova. Dojmove, ideje, primjedbe i komentare javite ekipi na Discordu, jako su pristupačni, pažljivo slušaju i trude se unaprijediti platformu.

(P.S. U jednom od idućih postova bit će riječ o igri botova koja se igrala na jednom davnom HSIN-ovom kampu.)

Jedna misao o “AISports i zaigrani botovi

  1. Povratni ping: Kampovske igre – članak iz 2011. | Blogaritam

Komentiraj

Popunite niže tražene podatke ili kliknite na neku od ikona za prijavu:

WordPress.com Logo

Ovaj komentar pišete koristeći vaš WordPress.com račun. Odjava /  Izmijeni )

Google photo

Ovaj komentar pišete koristeći vaš Google račun. Odjava /  Izmijeni )

Twitter picture

Ovaj komentar pišete koristeći vaš Twitter račun. Odjava /  Izmijeni )

Facebook slika

Ovaj komentar pišete koristeći vaš Facebook račun. Odjava /  Izmijeni )

Spajanje na %s