<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD with OASIS Tables with MathML3 v1.1 20151215//EN" "JATS-journalpublishing-oasis-article1-mathml3.dtd">
<article dtd-version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <front>
    <journal-meta>
      <journal-id journal-id-type="doi">https://doi.org/10.31784/zvr</journal-id>
      <journal-title-group>
        <journal-title xml:lang="hr">Zbornik Veleučilišta u Rijeci</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1848-1299</issn>
      <issn pub-type="epub">1849-1723</issn>
      <publisher>
        <publisher-name xml:lang="hr">Veleučilište u Rijeci</publisher-name>
        <publisher-name xml:lang="en">Polytechnic of Rijeka</publisher-name>
        <publisher-loc>Trpimirova 2, 51000 Rijeka
          <email xlink:href="zbornik@veleri.hr">zbornik@veleri.hr</email>
          <ext-link ext-link-type="url" xlink:href="https://www.veleri.hr/?q=zbornik">http://www.veleri.hr/?q=zbornik</ext-link>
        </publisher-loc>
      </publisher>
    </journal-meta>
    
    <article-meta>
      
      <article-id pub-id-type="doi">https://doi.org/10.31784/zvr.7.1.4</article-id>
      
      <article-categories>
        <subj-group subj-group-type="heading" xml:lang="hr">
          <subject>Original scientific paper</subject>
        </subj-group>  
        <subj-group subj-group-type="heading" xml:lang="en">
          <subject>Izvorni znanstveni rad</subject>
        </subj-group>  
      </article-categories>
      
      <title-group>
        <article-title xml:lang="hr"><bold>PRIMJENA ŠUME SLUČAJNIH STABALA ZA PREDVIĐANJE ISHODA
            ŠAHOVSKE PARTIJE REPREZENTIRANE KOMPLEKSNOM MREŽOM </bold></article-title>
        <trans-title-group>
          <trans-title xml:lang="en"><bold>PREDICTING THE OUTCOME OF THE CHESS GAME REPRESENTED AS A
              COMPLEX NETWORK WITH RANDOM FOREST CLASSIFIER</bold></trans-title>
        </trans-title-group>
      </title-group>
      
      <contrib-group>
        <contrib contrib-type="author">
          <name>
            <surname>Jokić</surname>
            <given-names>Jovan</given-names>
          </name>
          <email xlink:href="jovan.jokic@xnet.hr">jovan.jokic@xnet.hr</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        
        
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-1900-5333</contrib-id>
          <name>
            <surname>Martinčić-Ipšić</surname>
            <given-names>Sanda</given-names>
          </name>
          <email xlink:href="smarti@uniri.hr">smarti@uniri.hr</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        
        <aff id="aff1">
          <institution xml:lang="hr">Odjel za informatiku, Sveučilište u Rijeci</institution>
          <addr-line>Radmile Matejčić 2, 51000 Rijeka, Hrvatska</addr-line>
        </aff>
        
        <aff id="aff2">
          <institution xml:lang="hr">Odjel za informatiku, Sveučilište u Rijeci</institution>
          <addr-line>Radmile Matejčić 2, 51000 Rijeka, Hrvatska</addr-line>
        </aff>
        
      </contrib-group>
      
      <pub-date>
        <day></day>
        <month>5</month>
        <year>2019</year>
      </pub-date>
      
      <volume>7</volume>
      <issue>1</issue>
      <fpage>31</fpage>
      <lpage>52</lpage>
      
      <history>
        <date date-type="received">
          <day>28</day>
          <month>12</month>
          <year>2018</year>
        </date>
        <date date-type="accepted">
          <day>7</day>
          <month>3</month>
          <year>2019</year>
        </date>
      </history>
      
      <permissions>
        <license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by-nc/4.0/legalcode">
          <license-p>Creative Commons CC BY-NC 4.0</license-p>
        </license>
        
        
        <license license-type="open-access" xml:lang="hr">
          <license-p>Puni tekst objavljenih radova besplatno se smije koristiti za osobne, edukacijske ili istraživačke svrhe uz poštovanje autorskih prava autora i izdavača.
            Korisnici radove smiju besplatno čitati, preuzimati, kopirati, distribuirati, tiskati, prerađivati ili koristiti ih na druge zakonite načine, uz ispravno navođenje izvornika i nekomercijalnu svrhu uporabe.
          </license-p>
        </license>
        
        
        <license license-type="open-access" xml:lang="en">
          <license-p>The usage of full-text of the articles can be used exclusively for personal, research-related or educational purposes, with regard to the authors' and publishers' rights.
            The users are allowed to read, download, copy, distribute, print and transform or use them for any other lawful purpose as long as they attribute the source in an appropriate manner and for the non-commercial purpose of the usage.</license-p>
        </license>
        
      </permissions>
      
      <abstract xml:lang="hr">
        <p>
          <italic>Cilj je ovog rada izgraditi model vrednovanja šahovskih pozicija koji se temelji
            na informacijama dobivenima iz mrežnih značajki pozicija šahovskih figura na ploči.
            Međusobni odnosi figura, kao i odnosi figura i polja koja zauzimaju, a koji opisuju
            određene taktičke i strateške elemente šahovske partije, mogu se modelirati kompleksnom
            mrežom. Ovim je radom pokazano kako upotrebom samo određenih mjera koje opisuju
            strukturu kompleksne mreže možemo naučiti klasifikator pozicija koji može predvidjeti
            krajnji ishod partije bolje od klasične Shannonove evaluacijske funkcije. Shannonova
            evaluacijska funkcija kvantificira materijalno stanje na ploči obiju strana u šahovskoj
            igri, mobilnost figura, sigurnost kralja te kvalitetu pješačke strukture. Računalni
            model koji klasificira na ulazu ima vektore značajki određene iz četiri vrste mreža
            (mreža podrške, mreža mobilnosti, pozicijska mreža, mreža praćenja) konstruiranih iz
            baze majstorskih partija, od kojih svaka modelira određeni aspekt šahovske igre. Vektor
            značajki sadrži značajke dobivene izračunom različitih mjera strukture mreže. Za
            određivanje značajki prema važnosti, kao i klasifikacijski postupak ishoda igre,
            upotrebljava se šuma slučajnih stabla. Nadalje, eksperimentalno se određuju osnovne
            evaluacije statičkih pozicija u šahovskim partijama pomoću Stockfish šahovskog programa.
            Nakon toga, značajke te pripadne evaluacijske ciljne klase (pobjeda bijelog, pobjeda
            crnog igrača ili remi) udružuju se u ulazne vektore za učenje modela klasifikacije
            pozicija, čiji se rezultati uspoređuju sa Shannonovom evaluacijskom funkcijom. Pokazano
            je kako predložena metoda vrednovanja temeljena na informacijama o strukturi mreže daje
            bolje rezultate (75 % točnosti) od klasične Shannonove evaluacijske funkcije (52 %
            točnosti) za testnu bazu partija. </italic>
        </p>
      </abstract>
      
      <trans-abstract xml:lang="en">
        <p><italic>This work addresses the problem of constructing a static chess position
            evaluation model which utilizes only information extracted from complex networks'
            features of positions of chess pieces on the board. The mutual relations of chess
            figures, the complex relations of figures and the positions on the chess board, as well
            as the information on which fields they are attacked, describing tactical and strategic
            elements of the chess game, all these are modeled by a complex network formalism. The
            goal of this work is to demonstrate that it is possible to train a classifier which
            would have better prediction results of the game outcome, utilizing only selected
            measurements of the complex network’s features rather than the corresponding Shannon's
            evaluation function. Shannon's evaluation function quantifies the material state of both
            players on the board, the mobility of the figures, king safety and pawn structure
            quality. The input to the classification model consists of feature vectors defined by
            four types of networks (support, mobility, position, tracking) constructed from static
            game positions. The game information is obtained from the available chess games database
            in a Portable Game Notation format. Features vector contains different complex network's
            measures that quantify the structural properties of the network. The machine-learning
            algorithm of random forest is used for the training of the classification model and for
            selecting the most important features which have the highest impact on the prediction
            results. Experimentally, with the custom Python script and employing the chess engine
            Stockfish for analysis, a baseline fixed-depth evaluation of the static positions in
            chess games are extracted for determining the target classification classes – labels -
            win for white, win for black or draw. Next, the selected network measurements and the
            corresponding class labels form the input features vectors. The features vectors are
            used to train the Random Forest classifier: the results of the trained classification
            model (75% correctly predicted outcomes are compared to the baseline obtained by the
            standard Shannon's evaluation function (52% correctly classified outcomes)). PGN
            database (Portable Game Notation) reading and parsing of games from the games database,
            the representation of static positions from the games, and the generation of
            networks/graphs are done with the suitable Python tools, namely the chess library
            chess-py and NetworkX Python module.</italic>
        </p>
      </trans-abstract>
      
      <kwd-group xml:lang="hr">
        <kwd><italic>evaluacijska funkcija u šahu</italic></kwd>
        <kwd><italic>kompleksne mreže</italic></kwd> 
        <kwd><italic>mrežne značajke</italic></kwd>
        <kwd><italic>šuma slučajnih stabala</italic></kwd> 
        <kwd><italic>predviđanje ishoda šahovske igre</italic></kwd>
      </kwd-group>

      <kwd-group xml:lang="en">
        <kwd><italic>evaluation function in chess</italic></kwd>
        <kwd><italic>complex networks</italic></kwd> 
        <kwd><italic>network features</italic></kwd>
        <kwd><italic>random forest</italic></kwd> 
        <kwd><italic>predicting outcome of chess game</italic></kwd>
      </kwd-group>
      
      
    </article-meta>  
  </front>
  <body>
    
    <sec sec-type="intro">
      <label>1. UVOD</label>
      <p> Međusobni odnosi figura u šahovskoj partiji mogu se prikazati evoluirajućim kompleksnim
        mrežama (evolucija grafa u ovom kontekstu podrazumijeva promjenu strukture grafa, odnosno,
        rast mreže reflektiran u svakom sljedećem potezu) koje opisuju taktičke i strateške elemente
        šahovske igre 
        <xref ref-type="bibr" rid="r8">
        (Farren et al., 2013)
        </xref>
        . Mreže sadrže vrijedne informacije o partiji, o njezinim
        prijelomnim trenucima te ishodu, čak i kada šahovsku partiju prikažemo kao mrežu međusobnih
        odnosa figura, izostavljajući ostale pojedinosti o partiji, poput vrijednosti figura ili
        važnih strateških koncepata, poput šahovskog centra. Prikazavši partiju kao niz mreža, od
        kojih svaka modelira određeni aspekt veza između figura i ploče, moguće je prikupiti još
        takvih informacija. Nadalje, razmotri li se i evolucija grafova, odnosno, mreža u
        vremenskome tijeku koji odgovara tijeku partije, konačan model može se proširiti i
        vremenskom informacijom. Pomoću niza evoluirajućih mreža, odnosno, informacija izlučenih iz
        mreža rastućih kroz vrijeme , samo s minimalnom reprezentacijom pravila i logike same
        šahovske igre moguće je generirati vjerodostojnu evaluaciju svake pozicije u igri 
        <xref ref-type="bibr" rid="r12">
        (Jokić,
        2014
        </xref>
        ; 
        <xref ref-type="bibr" rid="r13">
        Jokić, 2018)
        </xref>
        . </p>
      <p>U ovom se radu razmatraju informacije koje mogu biti dobivene iz konstruiranih mreža, tj.
        kumulativni mrežni podaci dobiveni iz evolucije mreža igre te se pokazuje kako one mogu
        uspješnije predvidjeti ishod partije od Shannonove klasične evaluacijske funkcije
        <xref ref-type="bibr" rid="r22">
        (Shannon,
        1988)
        </xref>
        . Evaluacijska je funkcija složena formula, svojevrsni agregirani kvantifikator
        procjene igre, koji kvantificira sve značajke u proizvoljnoj poziciji i dodjeljuje im težine
        koje reflektiraju kako taktičke, tako i strateške kvalitete pozicije 
        <xref ref-type="bibr" rid="r6">
        (Chessprogramming,
        2018)
        </xref>
        . Stratešku kvalitetu pozicije zahtjevno je matematički modelirati pa, iako su moderni
        šahovski programi davno nadmašili najbolje svjetske igrače u toj sposobnosti procjene, to
        još uvijek predstavlja zahtjevan problem (
        <xref ref-type="bibr" rid="r2">
        Atkin i Witten, 1975
        </xref>
        ; 
        <xref ref-type="bibr" rid="r9">
        Fernández i Salmerón, 2007
        </xref>
        ;
        <xref ref-type="bibr" rid="r8">
        Farren et al., 2013
        </xref>
        ; 
        <xref ref-type="bibr" rid="r15">
        Lei, 2015
        </xref>
        ; 
        <xref ref-type="bibr" rid="r23">
        Silver et al., 2017
        </xref>
        ; 
        <xref ref-type="bibr" rid="r13">
        Jokić, 2018)
        </xref>
        . Razmatrajući pokazana
        svojstva takvih šahovskih programa i sustava, poput današnjih najboljih šahovskih paketa
        (engl. <italic>engines</italic>) Stockfish 
        <xref ref-type="bibr" rid="r10">
        (Stockfish 10, 2018)
        </xref>
        i Komodo 
        <xref ref-type="bibr" rid="r16">
        (Komodo 12, 2018)
        </xref>
        ,
        neizbježno se nameće zaključak kako postoji malo mogućnosti i prostora za poboljšanjem rada
        takvih programa, s posebnim naglaskom na modernoj evaluacijskoj funkciji 
        <xref ref-type="bibr" rid="r9">
        (Fernández, 2008)
        </xref>
        . </p>
      <p>U ovom se radu upotrebljavaju principi strojnog učenja (
        <xref ref-type="bibr" rid="r11">
        James et al., 2013
        </xref>
        ; 
        <xref ref-type="bibr" rid="r26">
        Stuart et al.,
        2015
        </xref>
        , 
        <xref ref-type="bibr" rid="r23">
        Silver et al., 2017)
        </xref>
        koji se često primjenjuju i pri predviđanju ishoda šahovske igre
        <xref ref-type="bibr" rid="r9">
        (Fernández, 2007)
        </xref>
        ili igre Go 
        <xref ref-type="bibr" rid="r25">
        (Stern et al., 2006)
        </xref>
        . Nadalje, značajke, odnosno, vektori
        značajki koji se koriste u postupcima učenja šume slučajnih stabala 
        <xref ref-type="bibr" rid="r5">
        (Breiman, 2001)
        </xref>
        temelje
        se na mjerama kompleksnih mreža 
        <xref ref-type="bibr" rid="r21">
        (Newman, 2018)
        </xref>
        . Kompleksne mreže primjenjuju se na raznim
        područjima, poput predviđanja novih veza u društvenim mrežama 
        <xref ref-type="bibr" rid="r19">
        (Martinčić-Ipšić et al.,
        2017)
        </xref>
        , određivanja ključnih riječi u tekstu (
        <xref ref-type="bibr" rid="r4">
        Beliga et al., 2015
        </xref>
        ; 
        <xref ref-type="bibr" rid="r3">
        Beliga et al., 2016
        </xref>
        ),
        modeliranja jezika 
        <xref ref-type="bibr" rid="r17">
        (Martinčić-Ipšić et al., 2016)
        </xref>
        , analize koautorstva 
        <xref ref-type="bibr" rid="r20">
        (Meštrović i Grubiša,
        2015)
        </xref>
        i sličnog, dok je šahovska igra samo mjestimično modelirana kroz formalizme
        kompleksnih mreža, i to u radu 
        <xref ref-type="bibr" rid="r8">
        (Farren et al., 2013)
        </xref>
        , stoga je to upravo i predmet
        istraživanja. </p>
      <p>U radu se istražuju mogućnosti modeliranja šahovske igre kroz formalizam kompleksnih mreža,
        s ciljem dobivanja boljeg uvida u razvoj šahovske partije, te uvida u način na koji
        informacije dobivene iz strukture kompleksnih mreža utječu na predviđanje konačnog ishoda
        partije. U radu su navedeni različiti načini prikaza šahovske partije u formalizmu
        kompleksne mreže te su opisane značajke koje je moguće dobiti analizom strukture mreža.
        Nakon toga, svojstva mreže, kvantificirana u mjerama mreže, upotrebljavaju se za predviđanje
        ishoda partije izgradnjom klasifikatora. Klasifikacijski model gradi se pomoću algoritma
        strojnog učenja – šume slučajnih stabala - koji je po prvi puta primijenjen na problem
        predviđanja ishoda šahovske igre na temelju značajki dobivenih iz strukture kompleksne
        mreže. U radu se također pokazuje kako je moguće odrediti skup značajki koji najbolje
        pridonosi točnosti modela klasifikacije pozicija, odnosno, predviđanja ishoda igre.</p>
    </sec>
    
    <sec sec-type="Methods">
      <label>2. METODOLOGIJA ISTRAŽIVANJA</label>
      <p><bold>2.1 Shannonova evaluacijska funkcija</bold></p>
      <p>Šahovska se igra proučava s puno različitih polaznih gledišta. Tako je, u domeni računalne
        znanosti, Claude Shannon, 50-ih godina 20. stoljeća, u svom teorijskom postulatu o mogućem
        radu šahovskih programa 
        <xref ref-type="bibr" rid="r22">
        (Shannon, 1988)
        </xref>
        , naveo donju granicu kompleksnosti stabla igre,
        odnosno, prostora stanja šaha, te evaluacijsku funkciju oblika:</p>
      <p>f(K,Q,R,B,N,P,DP,BP,IP,M)= 200(K − K') + 9(Q − Q') + 5(R − R') + 3(B − B' + N − N') + (P −
        P')− 0.5(DP − DP' + BP − BP' + IP − IP') + 0.1(M − M'), (2.1)</p>
      <p>pri čemu su:</p>
      <list>
        <list-item><p><bold>K, Q, R, B, N, P </bold> oznake za broj bijelih figura: <bold>K </bold>- kralja,<bold> Q </bold>- dame, <bold>R</bold> - topova, <bold>B</bold> - lovaca, <bold>N</bold> - skakača i <bold>P</bold> – pješaka,</p></list-item>
        <list-item><p>
            <bold>DP, </bold>
            <bold>BP, </bold>
            <bold>IP </bold>oznake za broj <bold>DP</bold> - udvostručenih,  <bold>BP</bold>  -
            zaostalih i <bold>IP</bold>  - izoliranih bijelih pješaka</p></list-item>
        <list-item><p><bold>M</bold> oznaka predstavlja faktor mobilnosti bijelog igrača (mjerenih npr. brojem mogućih legalnih poteza koje ima na raspolaganju u danoj poziciji),</p></list-item>
        <list-item><p><bold>negirane oznake</bold> (') predstavljaju analogne vrijednosti navedenih mjera za crnog igrača.</p></list-item>
      </list>
      
      <p>Iako su moderne evaluacijske funkcije značajno unaprijeđene od izvorne Shannonove
        evaluacijske funkcije, u ovome je radu upravo taj model primijenjen na osnovu s kojom se
        uspoređuje uspješnost predloženog rješenja. Razlog tomu je, ponajprije, jednostavnost
        strojne implementacije Shannonove evaluacijske funkcije te činjenica da moderni šahovski
        programi upotrebljavaju iznimno složene formule za evaluaciju statičkih pozicija (npr.
        dubinske neuronske mreže), koje je teško interpretirati. Nadalje, evaluacijske funkcije koje
        je moguće interpretirati najčešće predstavljaju linearnu kombinaciju nezavisnih značajki i
        njihovih pripadnih vrijednosti, poput Shannonove funkcije upotrijebljene u ovome radu, stoga
        je za usporedbu rezultata odabrana osnovna, ali jednostavno primjenjiva evaluacijska
        funkcija.</p>
      <p><bold>2.2 Kompleksne mreže</bold></p>
      <p><bold>2.2.1 Potporna mreža (engl. <italic>support network</italic>)</bold></p>
      <p>
        <fig id="f1">
          <label>Slika 1.</label>
          <caption><p>Prikaz formiranja veza između figura na ploči – izgradnja potporne mreže</p></caption>
          <graphic xlink:href="zbornik-veleri-7-31-g1.jpg"/>
        </fig>
      </p>
      <p>Prva vrsta kompleksne mreže koja se konstruira iz informacija o partiji takozvana je
        potporna mreža, koja modelira isključivo odnose između figura na ploči. U potpornoj mreži
        svaki čvor predstavlja figuru i iste je boje kao figura koju predstavlja. Kad figura ima
        potencijal uzimanja protivničke figure, taj je potencijal u potpornoj mreži prikazan vezom.
        U slučaju da figura napada figuru iste boje (što zapravo nije predviđeno pravilima igre),
        taj isključivo teorijski potencijal uzimanja vlastite figure također je moguće prikazati
        vezom. Sve su veze usmjerene i obojene s obzirom na boju figure koju predstavlja početni
        čvor veze. Nadalje, svakom je čvoru dodijeljen atribut koji predstavlja tip potencijala
        napada s vrijednostima u skupu ('napad', 'obrana'). Napadačke su veze između čvorova
        različite boje, dok su obrambene veze, analogno tome, veze između čvorova iste boje. Primjer
        takve mreže, s opisanim svojstvima, ilustriran je na Slici 1, koja sadrži proizvoljno zadanu
        poziciju na ploči, neposredno iz otvaranja igre. Potencijali uzimanja protivničke figure
        prikazani su na Slici 1, i to crvenom linijom od ishodišne figure, koja završava s
        odredišnom strelicom na polju napadnute figure (npr. C3→D5). Analogno tome, obrambeni
        potencijal svake figure naznačen je strelicama plave boje s ishodištem u polju obrambene
        figure (npr. G7→F6) te odredištem strelice na polju vlastite branjene figure.</p>
      <p><bold>2.2.2 Mreža mobilnosti (engl. <italic>mobility network</italic>)</bold></p>
      <p>Druga je vrsta konstruirane kompleksne mreže tzv. mreža mobilnosti. Ona modelira mobilnost
        figura tako da je svaki čvor u mreži mobilnosti jedno polje na ploči. Polje može biti
        zauzeto nekom figurom ili izravno dostupno potezom neke figure. Svaki čvor koji predstavlja
        polje na kojem se nalazi figura preuzima boju figure koja ga okupira, tj. izvorišne figure.
        Mrežni čvorovi koji predstavljaju prazna polja nisu obojeni. Veze u mreži mobilnosti
        predstavljaju potencijal figure da uzme protivničku figuru ili se pomakne na dostupno prazno
        polje. Svaka je veza usmjerena i izvire iz čvora izvorišne figure. Odredište je svake veze
        čvor koji predstavlja bilo polje na kojem se nalazi figura napadnuta od strane izvorišne
        figure (isto kao i u potpornoj mreži), bilo prazno polje koje je dostupno izvorišnoj figuri
        veze. Ne postoje veze između čvorova koji predstavljaju polja okupirana figurama iste boje.
        Čvorovima koji predstavljaju prazna polja izlazni je stupanj vrijednosti nula, dakle nisu
        povezani. Svaka je veza obojena bojom izvorišnog čvora. Radi dosljednosti, svakoj je vezi
        dodijeljen atribut s vrijednošću 'napad'. </p>
      <p>
        <fig id="f2">
          <label>Slika 2.</label>
          <caption><p>Prikaz veza u mreži mobilnosti </p></caption>
          <graphic xlink:href="zbornik-veleri-7-31-g2.jpg"/>
          <p>Izvor: autori
          </p>
        </fig>
      </p>
      <p><bold>2.2.3 Pozicijska mreža (engl. <italic>position network</italic>)</bold></p>
      <p>Treća je vrsta konstruirane kompleksne mreže tzv. pozicijska mreža - u osnovi spoj
        prethodnih dviju mreža - mreže mobilnosti i potporne mreže, a modelira odnose između figura
        i polja koja mogu doseći. Primjer pozicije na dijagramu na kojem su naznačene dodatne veze u
        pozicijskoj mreži, u odnosu na mrežu mobilnosti, prikazan je na Slici 3.</p>
      <p>
        <fig id="f3">
          <label>Slika 3.</label>
          <caption><p>Prikaz veza u pozicijskoj mreži</p></caption>
          <graphic xlink:href="zbornik-veleri-7-31-g3.jpg"/>
          <p>Izvor: autori
          </p>
        </fig>
      </p>
      <p><bold>2.2.4 Mreža praćenja (engl. <italic>tracking network</italic>)</bold></p>
      <p>Četvrta je vrsta konstruirane kompleksne mreže tzv. mreža praćenja, koja modelira povijest
        kretanja figura kroz polja na šahovskoj ploči. To je tip mreže koji se upotrebljava za
        daljnje postupke izračuna, koji nije moguće dobiti iz statičke pozicije na ploči. U mreži
        praćenja svako je polje ploče predstavljeno čvorom. U tijeku igre, kada igrač na potezu
        pomakne figuru s izvorišnog na odredišno polje, taj se potez u mreži praćenja označava vezom
        od izvorišnog do odredišnog polja, odnosno, čvora mreže. Jednom kada se uspostavi veza, ona
        se ne briše do kraja partije. Svaki potez inkrementalno dodaje veze u mrežu, što znači da
        konačna mreža sadrži informacije, tj. povijest svih poteza odigranih u partiji, no ne i
        njihov vremenski slijed. Također, za figure dame, topa, lovca i pješaka, koji se mogu
        pomaknuti dalje od susjednog polja, stvaraju se dodatne veze za svako od prijeđenih
        prethodnih polja, počevši s izvorišnim poljem i prijeđenim poljem te završavajući s
        odredišnim poljem. Svaka veza u mreži obojena je kao i figura čije je kretanje rezultiralo
        stvaranjem te veze. Radi dosljednosti, svim je vezama dodijeljen atribut tipa 'napad'.</p>
      <p>Na Slici 4, bijeli igrač odigrao je svoj prvi potez u partiji, potez kraljevim pješakom s
        polja E2 na polje E4. Tim prvim potezom, kao i svakim sljedećim potezom, nastaju nove veze
        iz izvorne mreže slijeda, koja je analogna početnoj poziciji u partiji prije prvog poteza.
        Tim prvim potezom, nastaju prve tri veze u mreži slijeda, a to su:</p>
      <list>
        <list-item><p>E2 → E4, E2 → E3, E3 → E4.</p></list-item>
      </list>
      
      <p>
        <fig id="f4">
          <label>Slika 4.</label>
          <caption><p>Pozicija nakon prvog poteza bijelog igrača na E4</p></caption>
          <graphic xlink:href="zbornik-veleri-7-31-g4.jpg"/>
          <p>Izvor: autori
          </p>
        </fig>
      </p>
    
    </sec>
    
    <sec>
      <label>3. EMPIRIJSKI PODACI I ANALIZA</label>
      <p><bold>3.1 Upotrijebljene mrežne mjere u modelu</bold></p>
      <p>U radu se eksperimentalno analizira niz mrežnih svojstava, tj. mjera koje se upotrebljavaju
        za predviđanje krajnjeg ishoda partije. Upotrebljavaju se mrežne mjere u vektorima značajki,
        točnije, razlika njihovih vrijednosti za bijelu i crnu komponentu svake od mreža, i to za
        svaku od četiri konstruirane mreže pojedinačno. Upotrijebljene mjere kompleksne mreže
        definirane su standardno prema formulama u 
        <xref ref-type="bibr" rid="r13">
        Jokić (2018)
        </xref>
        , 
        <xref ref-type="bibr" rid="r18">
        Martinčić-Ipšić (2019)
        </xref>
        , 
        <xref ref-type="bibr" rid="r21">
        Newman
        (2018)
        </xref>
        , stoga su ovdje samo navedene, bez definicije: najmanji stupanj čvora u mreži,
        najveći stupanj čvora u mreži, prosječni stupanj čvora, medijan distribucije stupnjeva
        čvorova, gustoća mreže/grafa, broj čvorova, broj veza i broj jako povezanih komponenti.</p>
      <p>Iako mrežna svojstva, tj. mjere, modeliraju neke pozicijske i strateške aspekte igre,
        promatrana agregirano, količina je informacija o poziciji koje možemo dobiti iz jedne mreže
        mala te stoga nedostatna za zadovoljavajuću točnost predviđanja ishoda partije. Zbog toga će
        se navedene agregirane mrežne značajke (za svaku od četiri vrste opisanih mreža) kombinirati
        u jedan konačan vektor značajki s ukupno 33 vrijednosti, a koji će biti opisan u sljedećem
        poglavlju. </p>
      <p><bold>3.2 Učenje šume slučajnih stabala i određivanje vektora značajki </bold></p>
      <p>Klasifikacija u strojnom učenju ima zadatak razvrstati objekte u unaprijed definirane klase
        ili razrede. Kako bi se objekt mogao klasificirati, potrebno ga je vjerodostojno opisati
        podacima - značajkama (engl. <italic>features</italic>). Značajke se dobivaju pomoću
        različitih numeričkih izračuna nad izvornim podacima 
        <xref ref-type="bibr" rid="r11">
        (James et al., 2013)
        </xref>
        . Primjer je jedne
        takve značajke srednja vrijednost intenziteta svjetline određene regije slike. Budući da
        jedna značajka ne može vjerodostojno predstavljati sve osobine modeliranog objekta, u većini
        se slučajeva izračunava veći broj značajki.</p>
      <p>Nakon izračuna značajki i izgradnje vektora značajki za svaki potez u partiji, za svaku od
        partija iz baze majstorskih partija iz PGN (engl. <italic>Portable Game Notation</italic>)
        datoteka upotrebljava se algoritam strojnog učenja - šuma slučajnih stabala (engl.
          <italic>Random forest</italic>) 
        <xref ref-type="bibr" rid="r5">
        (Breiman, 2001)
        </xref>
        . Algoritam iz raspoloživih podataka za
        učenje stvara veći broj (ansambl) (engl. <italic>ensamble</italic>) stabala odlučivanja -
        šumu slučajnih stabla. Pri konstrukciji svakog od stabala u šumi algoritam slučajnim
        odabirom uzima podskup podatkovnih instanci i podskup ulaznih varijabli. Prilikom izgradnje
        stabla, odluka o binarnoj podjeli podatka u čvoru donosi se prema funkciji koja određuje
        najbolju podjelu. Vremenska je kompleksnost tog algoritma procijenjena s O(MKN log2N), gdje
        je M broj stabala, N broj podatkovnih instanci, K broj varijabli. Uobičajeno se kao funkcija
        za određivanje grananja upotrebljava Gini indeks. Varijabla koja postigne najveću vrijednost
        Gini indeksa upotrebljava se za podjelu podataka u tekućem čvoru. </p>
      <p>Gini indeks definiran je kao: </p>
      <disp-formula>
        <mml:math>
          <mml:msub>
            <mml:mrow>
              <mml:mi>I</mml:mi>
            </mml:mrow>
            <mml:mrow>
              <mml:mi>G</mml:mi>
            </mml:mrow>
          </mml:msub>
          <mml:mo>(</mml:mo>
          <mml:mi>t</mml:mi>
          <mml:mo>)</mml:mo>
          <mml:mo>=</mml:mo>
          <mml:mn>1</mml:mn>
          <mml:mo>-</mml:mo>
          <mml:mrow>
            <mml:munderover>
              <mml:mo stretchy="false">∑</mml:mo>
              <mml:mrow>
                <mml:mi>i</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:mn>1</mml:mn>
              </mml:mrow>
              <mml:mrow>
                <mml:mi>m</mml:mi>
              </mml:mrow>
            </mml:munderover>
            <mml:mrow>
              <mml:msup>
                <mml:mrow>
                  <mml:msub>
                    <mml:mrow>
                      <mml:mi>p</mml:mi>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mi>i</mml:mi>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                </mml:mrow>
              </mml:msup>
            </mml:mrow>
          </mml:mrow>
        </mml:math>
      </disp-formula>
      <p>gdje je t trenutni čvor, pi vjerojatnost klase i u čvoru t, a m je broj klasa u modelu (u
        ovom je radu m=3). </p>
      <p>Konačno predviđanje šume slučajnih stabala izračunava se kao prosjek predviđanja
        pojedinačnih stabala u šumi. Pokazano je da je taj model robustan i otporan na prekomjerno
        prilagođavanje podacima za učenje (engl. overfitting) te da postiže bolju točnost
        predviđanja od pojedinačnih stabala. Zbog svih dobrih svojstava, ovaj se algoritam često
        primjenjuje u različitim područjima istraživanja 
        <xref ref-type="bibr" rid="r18">
        (Martinčić-Ipšić, 2019)
        </xref>
        . Nadalje, dobro je
        svojstvo tog algoritma i njegova sposobnost da odredi značaj varijabli (atributa). Ukoliko
        usporedimo pogrešku predviđanja kod stabla naučenog na cijelom skupu podataka za učenje s
        pogreškom predviđanja u stablu naučenom na podskupu podataka, koje smo slučajno permutirali
        tako da vrijednosti varijable (značajke) koju promatramo slučajno rasporedimo preko svih
        primjera u tom skupu, utvrdit ćemo utjecaj tj. važnost varijable. Veliko odstupanje pogreške
        predviđanja u tim dvama modelima ukazuje na važnost te varijable. To znači da slučajna
        permutacija vrijednosti značajno utječe na točnost predviđanja, što posljedično znači da je
        utjecaj te varijable na točnost predviđanja velik, dakle varijabla ima veliki značaj (engl.
        variable importance). Vrijedi i obrnuto: ukoliko je razlika u pogreškama mala, značaj
        varijable nije velik. U radu se upotrebljava MeanDecreaseGini - mjera značaja varijabli koja
        je zasnovana na Gini indeksu i koja se upotrebljava pri postupku određivanja važnosti
        varijabli (engl. variable importance). Testni skup partija različit je od skupa partija
        upotrebljavanih za učenje modela predviđanja - skupa za učenje 
        <xref ref-type="bibr" rid="r26">
        (Stuart et al., 2005
        </xref>
        ; 
        <xref ref-type="bibr" rid="r15">
        Lai,
        2015)
        </xref>
        . Dobiveni rezultati predviđanja uspoređuju se sa Shannonovom evaluacijskom funkcijom
        na testnom skupu partija. </p>
      <p>Za izgradnju modela predviđanja upotrebljavaju se vektori značajki koji sadrže vrijednosti
        značajki za svaku od četiri opisane moguće vrste mreža upotrijebljenih za analizu, dakle,
        ukupno 32 vrijednosti (4x8), te za klasu (razred) koja je zapisana u 33. varijabli. Detaljan
        popis značajki nalazi se u privitku A ovoga rada, dok je ovdje naveden skraćeni oblik.
        Značajke V1-V8 redom odgovaraju najmanjem, najvećem i prosječnom stupnju čvora u potpornoj
        mreži, medijanu distribucije stupnjeva čvorova, gustoći, broju čvorova, broju veza i broju
        jako povezanih komponenti u potpornoj mreži. Značajke V9-V17 kvantificiraju osobine mreže
        mobilnosti, V18-V25 pozicijske mreže, dok značajke V26-V32 opisuju mrežu praćenja. Zadnja
        vrijednost, V33, predstavlja kategoričku varijablu odabira, tj. jednu od tri moguće
        vrijednosti {pobjeda crnog, remi, pobjeda bijelog}, od kojih svaka predstavlja predviđeni
        najvjerojatniji ishod partije iz dane pozicije, uzevši u obzir optimalnu igru oba igrača. To
        je klasa predviđena modelom, a može dobiti sljedeće vrijednosti:</p>
      <p> -1 → pobjeda igrača s crnim figurama,</p>
      <p> 0.5 → remi-ishod,</p>
      <p> 1 → pobjeda igrača s bijelim figurama.</p>
      <p> </p>
      <p>Dobivene evaluacijske vrijednosti preslikaju se u krajnju evaluacijsku mjeru na temelju
        raspona vrijednosti kojemu evaluacijska vrijednost pripada. Preslikavanje izračunanih
        evaluacijskih vrijednosti za svaku poziciju u skup od tri moguće vrijednosti dobiveno je
        distribuiranom analizom baze majstorskih partija pomoću šahovskog programa Stockfish, i to
        na sljedeći način: vrijednosti iz intervala [-MAX_VRIJEDNOST, - 0.51] pretvore se u
        vrijednost klase -1 - pobjeda crnog; vrijednosti iz [-0.5, + 0.5] u 0 – remi, te vrijednosti
        iz [0.51, +MAX_VRIJEDNOST] u 1 - pobjeda bijelog igrača. </p>
      <p>Jedinice upotrebljavane u evaluacijskim vrijednostima šahovskih programa, poput Stockfisha
        takozvani su centi-pješaci, odnosno, 100-ti dio vrijednosti materijalne prednosti u vidu
        jednog pješaka više (100 centi-pješaka). S obzirom na trenutnu poziciju, nema konkretno
        definiranih granica, tj. raspona tako definiranih evaluacijskih vrijednosti koje 100%
        koreliraju s objektivnim krajnjim vjerojatnim ishodima partije, odnosno, evaluacijskom
        ocjenom dane statičke pozicije za oba igrača, dakako, pretpostavivši optimalnu igru oba
        igrača. Njemački je logičar i matematičar Ernst Zermelo 1913. godine objavio djelo u kojemu
        je dokazao da je optimalna strategija pri igranju šaha strogo određena 
        <xref ref-type="bibr" rid="r30">
        (Zermelo, 1913)
        </xref>
        . Zbog
        kompleksnosti šahovske igre, nije uvijek vidljivo koje su to strategije, no dokazano je da
        postoje. U ovom kontekstu, pojam <italic>optimalno</italic> odnosi se na onakvu strategiju
        koja će igraču maksimalno pospješiti vjerojatnost pobjede, odnosno, umanjiti vjerojatnost
        poraza (min-max strategija). </p>
      <p><bold> 3.3 Distribuirana obrada baze majstorskih partija </bold></p>
      <p>U radu se koristi ICOfy IB1421 PGN (engl. <italic>Portable Game Notation</italic>) baza
        koja sadrži sve partije za potrebe ove analize. Baza je filtrirana tako da uključuje
        odlučujuće partije s pobjedom jednog od igrača, bez remi-ishoda.Time se osigurava dovoljan
        broj pozicija za analizu u kojima jedan od igrača ima odlučujuću prednost nad protivnikom, s
        obzirom na to da je većina pozicija tijekom majstorskih partija u okviru remi-ishoda. Naime,
        odlučujuća se prednost u takvim partijama stječe tek u poodmakloj fazi partije. Filtriranjem
        remi-ishoda podatkovni se skup iz šahovske baze partija smanji na približno 62 200 partija.
        Važno je napomenuti da su na ovaj način preuzeti svi potezi iz filtriranih partija, koji su
        nazvani statičkim pozicijama. Za svaku statičku poziciju moguće je odrediti utječe li na
        pobjedu crnog, remi ili pobjedu bijelog igrača, što je opisano u nastavku. </p><p>Šahovska se baza dodatno predprocesira
                  tako da se podijeli u PGN datoteke od kojih svaka sadrži 5000 partija.
                  Naposljetku, u radu se upotrebljava samo prvih 5000 partija iz te baze, što se
                  pokazalo dostatnim za eksperimente izvedene i opisane u nastavku rada.</p><p> Za
                obradu je napisana Python skripta koja distribuirano učitava svaku od partija u
                jednom od ukupno 2-4 konkurentna procesa, od kojih svaki izvršava svoju instancu
                Stockfish šahovskog programa (V8 u trenutku pisanja rada (Stockfish, 2018)) nad
                jednom partijom te analizira sve poteze partije. Skripta, odnosno, svaka pokrenuta
                instanca Stockfish programa izračunava svaki potez, tj. statičku poziciju nastalu na
                ploči kroz tijek partije te zapisuje u globalni rječnik
                  <italic>ključ-vrijednost</italic> par koji sadrži numeričku evaluaciju pozicije.
                Globalni je rječnik Python rječnik koji dijeli svaki od zasebno pokrenutih procesa,
                a višeprocesni upravljač koordinira radom procesa i brine se o kontroli pristupa za
                dijeljeni resurs. Svaki par sastoji se od ključa koji predstavlja statičku poziciju
                pomoću Zobrist* <italic>hash</italic>-vrijednosti 
                    <xref ref-type="bibr" rid="r27">
                    (Zobrist, 1969)
                    </xref>
                    , te njezinu
                Shannonovu evaluaciju. Time je izbjegnuto udvostručavanje izračuna evaluacije za već
                poznate pozicije, nauštrb veće varijacije u samom izračunu. No s obzirom na to da
                nije potrebna veća preciznost, tj. dubina pretrage za svaku poziciju, ovaj je
                pristup dostatan, posebice stoga što se navedene vrijednosti ne analiziraju
                numerički, već se pozicije klasificiraju u tri moguća skupa, odnosno, kategoričke
                vrijednosti koje predstavljaju tri moguća ishoda partije – pobjedu jednog od igrača
                te remi-ishod. Python skripte za distribuiranu obradu partija imaju linearnu
                vremensku složenost, tj. O(n).</p>
    </sec>
    
    <sec sec-type="Resaults">
      <label>4. REZULTATI KLASIFIKACIJE</label>
      <p><bold>4.1 Izgradnja šume slučajnih stabala i određivanje značaja varijabli</bold></p>
      <p>Nakon tvorbe konačnog skupa podataka za analizu, koji sadrži instance koje opisuju poteze,
        uči se model određivanja ishoda partije pomoću Random Forest (RF) biblioteke u R-programskom
        jeziku 
        <xref ref-type="bibr" rid="r29">
        (Liaw, Wiener, 2018)
        </xref>
        , odnosno, alatu za statističku analizu podataka koji omogućuje
        provođenje postupaka linearne regresije i klasifikacije 
        <xref ref-type="bibr" rid="r11">
        (James, 2013)
        </xref>
        . Prvi je korak
        pronalazak varijabli/mrežnih značajki koje više utječu na točnost predviđanja –
        klasifikacije poteza. U radu je pokazano i kako je moguća izgradnja manjeg klasifikacijskog
        modela na temelju smanjenog skupa značajki (visokorangiranih s obzirom na značaj), a koji
        nema smanjenu točnost predviđanja. Taj postupak opisuju rezultati na Slici 5, koja prikazuje
        dva grafa koja sadrže odabrane mrežne značajke u RF modelu (y–os), te dvije mjere na x-osi
        koje opisuju njihov utjecaj na porast, odnosno, pad točnosti u generiranom RF modelu (engl.
          <italic>variable importance</italic>). Dvije su mjere: %IncMSE (u lijevom dijelu) te
        IncNodePurity (u desnom dijelu slike). %IncMSE odražava porast MSE po varijabli (engl.
          <italic>mean-</italic><italic>squared error</italic>), dakle odražava važnost varijable s
        obzirom na točnost predviđanja. IncNodePurity odražava gubitak koji proizlazi iz postupka
        odabira grananja na svakom koraku algoritma. Veći značaj varijabli (značajki) odgovara većoj
        vrijednosti %IncMSE i IncNodePurity vrijednosti s x-osi, i obrnuto, dakle, značajka V31
        najviše je rangirana prema %IncMSE kriteriju, dok je značajka V19 najviše rangirana prema
        IncNodePurity kriteriju. Nadalje, iz slike je razvidno da je pet najviše rangiranih značajki
        V31, V19, V29, V5 i V18 prema %IncMSE kriteriju, odnosno, V19, V27, V11, V31 i V29 prema
        IncNodePurity kriteriju. </p>
      
      <p>
        <fig id="f5">
          <label>Slika 5.</label>
          <caption><p>Graf utjecaja važnosti značajki dobiven u R-u</p></caption>
          <graphic xlink:href="zbornik-veleri-7-31-g5.jpg"/>
        </fig>
      </p>
      <p><bold>4.2 Rezultati predviđanja ishoda šahovskih partija</bold></p>
      <p>U nastavku su prikazani rezultati predviđanja ishoda šahovskih partija na temelju svih 32
        značajki uključenih u učenje modela. Za evaluaciju se upotrebljava konfuzijska matrica i
        računa mjera točnosti (engl. accuracy - ACC). U konfuzijskoj je matrici za svaku od klasa
        napisan broj točnih (TP) i broj pogrešnih (TN) klasifikacijskih primjera. Mjera točnosti
        tada predstavlja omjer pravilno klasificiranih primjera (TP + TN) u odnosu na ukupan broj
        primjera: </p>
      <disp-formula>
        <label>(4.2)</label>
        <mml:math>
          <mml:mi>A</mml:mi>
          <mml:mi>C</mml:mi>
          <mml:mi>C</mml:mi>
          <mml:mo>=</mml:mo>
          <mml:mfrac>
            <mml:mrow>
              <mml:mi>T</mml:mi>
              <mml:mi>P</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>T</mml:mi>
              <mml:mi>N</mml:mi>
            </mml:mrow>
            <mml:mrow>
              <mml:mi>T</mml:mi>
              <mml:mi>P</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>F</mml:mi>
              <mml:mi>P</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>T</mml:mi>
              <mml:mi>N</mml:mi>
              <mml:mo>+</mml:mo>
              <mml:mi>F</mml:mi>
              <mml:mi>N</mml:mi>
            </mml:mrow>
          </mml:mfrac>
        </mml:math>
      </disp-formula>
      <p>gdje FP predstavlja broj lažno pozitivnih klasifikacijskih primjera, a FN broj lažno
        negativnih klasifikacijskih primjera. Budući da u ovome radu nema klasične binarne
        klasifikacije, već se radi s tri klase, za evaluaciju se upotrebljava prilagođena mjera
        točnosti. Računa se kao omjer broja točno klasificiranih primjera za danu klasu prema
        ukupnom broju stvarnih primjera za tu klasu. Uz to, radi se i s neuravnoteženim klasama
        (broj pojedinih primjera iz svake klase nije ujednačen: klasa -1 sadrži 9% primjera, klasa
        0.5 73%, dok klasa 1 sadrži 18% primjera), za koje je primjerena mjera točnosti za klasu
        (engl. per-class accuracy). Rezultati evaluacije dobiveni su za sve značajke (ukupno 32)
        koje su upotrijebljene za izgradnju klasifikacijskog modela RF. Tablica 1 prikazuje matricu
        konfuzije koja sadrži rezultate klasifikacije na testnom skupu podataka.</p>
      
      <p>
        <table-wrap position="margin">
          <label>Tablica 1.</label>
          <caption>
            <title>Matrica konfuzije za sve varijable u modelu za testni skup podataka o šahovskim partijama</title>
          </caption>
          <table border="1" frame="box" width="100%">
            <col width="10%"/>
            <col width="18%"/>
            <col width="24%"/>
            <thead>
              <tr>
                <th/>
                <th align="center" valign="middle" colspan="4">predviđene klase – ishodi
                  partija</th>
                <th/>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center" valign="middle" rowspan="4"><bold>stvarne klase - ishodi partija
                  </bold></td>
                <td/>
                <td align="center" valign="middle"><bold>-1 </bold></td>
                <td align="center" valign="middle"><bold>0.5 </bold></td>
                <td align="center" valign="middle"><bold>1 </bold></td>
                <td align="center" valign="middle"><bold>pogreška klasifikacije</bold></td>
              </tr>
              <tr>
                <td align="center" valign="middle"><bold>-1</bold>
                </td>
                <td align="center" valign="middle">391 </td>
                <td align="center" valign="middle">76 </td>
                <td align="center" valign="middle">447 </td>
                <td align="center" valign="middle">0.5722</td>
              </tr>
              <tr>
                <td align="center" valign="middle"><bold>0.5</bold>
                </td>
                <td align="center" valign="middle">497 </td>
                <td align="center" valign="middle">6281 </td>
                <td align="center" valign="middle">582</td>
                <td align="center" valign="middle">0.1466</td>
              </tr>
              <tr>
                <td align="center" valign="middle"><bold>1</bold>
                </td>
                <td align="center" valign="middle">710 </td>
                <td align="center" valign="middle">229 </td>
                <td align="center" valign="middle">893 </td>
                <td align="center" valign="middle">0.5126</td>
              </tr>
            </tbody>
          </table>
          
        </table-wrap>
      </p>
      <p>Od svih uzoraka za testiranje (ukupno 914), u stablu koje pripada klasi -1 (pobjeda crnog),
        točno je klasificiran (predviđeno ishoda partije) 391 uzorak. Dakle, točnost klasifikacije
        za klasu -1 ACC-1 iznosi:</p>
      <disp-formula>
        <label>(4.3)</label>
        <mml:math>
          <mml:msub>
            <mml:mrow>
              <mml:mi>A</mml:mi>
              <mml:mi>C</mml:mi>
              <mml:mi>C</mml:mi>
            </mml:mrow>
            <mml:mrow>
              <mml:mo>-</mml:mo>
              <mml:mn>1</mml:mn>
            </mml:mrow>
          </mml:msub>
          <mml:mo>=</mml:mo>
          <mml:mfrac>
            <mml:mrow>
              <mml:mn>391</mml:mn>
            </mml:mrow>
            <mml:mrow>
              <mml:mn>391</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>76</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>447</mml:mn>
            </mml:mrow>
          </mml:mfrac>
          <mml:mo>=</mml:mo>
          <mml:mn>0.427789</mml:mn>
          <mml:mo>,</mml:mo>
        </mml:math>
      </disp-formula>
      <p>odnosno, 42.78%, čime pogreška klasifikacije iznosi 57.22%.</p>
      <p> </p>
      <p>Na isti način računa se točnost, odnosno, pogreška klasifikacije za preostale dvije klase.
        Za klasu 0.5 (remi) točnost je PPV<sub>0.5</sub>:</p>
      <disp-formula>
        <label>(4.4)</label>
        <mml:math>
          <mml:msub>
            <mml:mrow>
              <mml:mi>A</mml:mi>
              <mml:mi>C</mml:mi>
              <mml:mi>C</mml:mi>
            </mml:mrow>
            <mml:mrow>
              <mml:mn>0.5</mml:mn>
            </mml:mrow>
          </mml:msub>
          <mml:mo>=</mml:mo>
          <mml:mfrac>
            <mml:mrow>
              <mml:mn>6281</mml:mn>
            </mml:mrow>
            <mml:mrow>
              <mml:mn>6281</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>497</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>582</mml:mn>
            </mml:mrow>
          </mml:mfrac>
          <mml:mo>=</mml:mo>
          <mml:mn>0.853396</mml:mn>
        </mml:math>
      </disp-formula>
      <p>odnosno, 85.34%, čime pogreška klasifikacije iznosi 14.66% te točnost klasifikacije PPV1 za klasu 1 (pobjeda bijelog) iznosi:</p>
      <disp-formula>
        <label>(4.5)</label>
        <mml:math>
          <mml:msub>
            <mml:mrow>
              <mml:mi>A</mml:mi>
              <mml:mi>C</mml:mi>
              <mml:mi>C</mml:mi>
            </mml:mrow>
            <mml:mrow>
              <mml:mn>1</mml:mn>
            </mml:mrow>
          </mml:msub>
          <mml:mo>=</mml:mo>
          <mml:mfrac>
            <mml:mrow>
              <mml:mn>893</mml:mn>
            </mml:mrow>
            <mml:mrow>
              <mml:mn>893</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>710</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>229</mml:mn>
            </mml:mrow>
          </mml:mfrac>
          <mml:mo>=</mml:mo>
          <mml:mn>0.487445</mml:mn>
          <mml:mo>,</mml:mo>
        </mml:math>
      </disp-formula>
      
      <p>odnosno, 48.74%, čime pogreška klasifikacije iznosi 51.26%.</p>
      <p>Analogno izračunu točnosti klasifikacije, za pojedinu se klasu izračunava i ukupna točnost
        klasifikatora izračunavanjem omjera zbroja svih točno klasificiranih uzoraka za sve klase
        naspram zbroja svih pogrešno klasificiranih uzoraka. Ukupna točnost klasifikacije ACC tada
        je:</p>
      <disp-formula>
        <label>(4.6)</label>
        <mml:math>
          <mml:mi>A</mml:mi>
          <mml:mi>C</mml:mi>
          <mml:mi>C</mml:mi>
          <mml:mo>=</mml:mo>
          <mml:mfrac>
            <mml:mrow>
              <mml:mn>391</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>6281</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>893</mml:mn>
            </mml:mrow>
            <mml:mrow>
              <mml:mn>391</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>76</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>447</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>497</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>6281</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>582</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>710</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>229</mml:mn>
              <mml:mo>+</mml:mo>
              <mml:mn>893</mml:mn>
            </mml:mrow>
          </mml:mfrac>
          <mml:mo>=</mml:mo>
          <mml:mn>0.748565</mml:mn>
        </mml:math>
      </disp-formula>
      <p>odnosno, izračunana točnost iznosi 74.86% s pogreškom klasifikacije od 25.14%. </p>
      <p><bold>4.3 Značaj varijabli po Gini kriteriju</bold></p>
      <p><italic>MeanDecreaseGini</italic>mjera je procjene važnosti atributa/varijable po Gini
        kriteriju, koji se uobičajeno upotrebljava za izračun grananja pri izgradnji
        klasifikacijskih stabala 
        <xref ref-type="bibr" rid="r11">
        (James, 2013)
        </xref>
        . <italic>MeanDecreaseAccuracy</italic> mjera je
        procjene važnosti atributa/varijable koja se određuje prilikom faze izračuna OOB (engl.
          <italic>out-of-bag</italic>) klasifikacijske pogreške. Pri uzorkovanju nisu svi podaci
        uključeni u konačni skup za učenje – oni koji nisu, zovu se <italic>out-of-bag</italic>
        podaci i upotrebljavaju se pri procjeni pogreške generalizacije generiranog stabla, pa na
        kraju i čitave šume. Važnost varijable pozitivno je korelirana i s padom točnosti RF
        klasifikatora zbog izdvajanja (ili permutacije) jedne varijable, stoga su varijable s
        velikom MDA (engl. <italic>mean decrease accuracy</italic>) vrijednošću važnije za
        klasifikaciju.</p>
      <p> </p>
      <p>U radu je odabrano prvih 10+ najvažnijih varijabli prema svakom od kriterija s obzirom na
        opisani kriterij prekida, i tako je dobivena formula za RF model, što je u R-u zapisano
        kao:</p>
      <p> </p>
      <p>mdaFormula &lt;- factor(V33) ~ V31+V3+V32+V5+V7+V27+V30+V18+V19+V29</p>
      <p>giniFormula &lt;- factor(V33) ~ V22+V16+V14+V19+V15+V21+V31+V32+V11+V13+V23+V24</p>
      
      <p>
        <fig id="f6">
          <label>Slika 6.</label>
          <caption><p>Klasifikacijski "variable importance" graf po promjeni u točnosti (lijevo) i promjeni po Gini kriteriju (desno)</p></caption>
          <graphic xlink:href="zbornik-veleri-7-31-g6.jpg"/>
        </fig>
      </p>
      <p><bold>4.4 Konačni evaluacijski model za smanjen broj varijabli po Gini kriteriju</bold></p>
      <p>Nakon određivanja varijabli koje imaju najveći utjecaj (značaj) na točnost klasifikacije,
        odnosno, najveću točnost predviđanja ishoda, izgradi se i sam model predviđanja – RF model –
        koji prilikom učenja gradi model klasifikacije samo za odabrane varijable, na sljedeći
        način:</p>
      <p> </p>
      <p>formula &lt;- factor(V33) ~ V3+V5+V29+V31+V11+V27+V19 </p>
      <p>forest_chop &lt;- randomForest(formula, data=training_set) </p>
      <p>forest_chop</p>
      <p> </p>
      <p>Varijable za konačni RF model odabrane su na temelju grafa sa Slike 6 jer se usporedivi
        rezultati klasifikacije nad testnim skupom podataka dobivaju i s odabirom preostalih dviju
        navedenih formula (mdaFormula i giniFormula) ovdje nisu prikazane. Tablica 2 prikazuje
        matricu konfuzije sa smanjenim brojem varijabli za učenje.</p>
     
      <p>
        <table-wrap position="margin">
          <label>Tablica 2.</label>
          <caption>
            <title>Matrica konfuzije sa smanjenim brojem varijabli za učenje</title>
          </caption>
          <table border="1" frame="box" width="100%">
            <col width=""/>
            <col width=""/>
            <col width=""/>
            <thead>
              <tr>
                <th/>
                <th align="center" valign="middle" colspan="4">predviđene klase – ishodi
                  partija</th>
                <th/>
                
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center" valign="middle" rowspan="4"><bold>stvarne klase – ishodi partija
                  </bold></td>
                <td/>
                <td align="center" valign="middle"><bold>-1</bold>
                </td>
                <td align="center" valign="middle"><bold>0.5</bold>
                </td>
                <td align="center" valign="middle"><bold>1</bold>
                </td>
                <td align="center" valign="middle"><bold>pogreška klasifikacije</bold></td>
              </tr>
              <tr>
                <td align="center" valign="middle"><bold>-1</bold></td>
                <td align="center" valign="middle"> 1788 </td>
                <td align="center" valign="middle">1157 </td>
                <td align="center" valign="middle">1847 </td>
                <td align="center" valign="middle">0.626878</td>
              </tr>
              <tr>
                <td align="center" valign="middle"><bold>0.5</bold>
                </td>
                <td align="center" valign="middle">436 </td>
                <td align="center" valign="middle">18602 </td>
                <td align="center" valign="middle">720 </td>
                <td align="center" valign="middle">0.058507</td>
              </tr>
              <tr>
                <td align="center" valign="middle"><bold>1</bold>
                </td>
                <td align="center" valign="middle">1514 </td>
                <td align="center" valign="middle">1525 </td>
                <td align="center" valign="middle">2727 </td>
                <td align="center" valign="middle">0.527055</td>
              </tr>
            </tbody>
          </table>
          
        </table-wrap>
      </p>
      <p>
        <fig id="f7">
          <label>Slika 7.</label>
          <caption><p>MeanDecreaseGini graf za konačni RF model- smanjen broj ulaznih varijabli na 7</p></caption>
          <graphic xlink:href="zbornik-veleri-7-31-g7.jpg"/>
          <p>Na temelju rezultata na Slici 7, u daljnji se postupak uvode najviše rangirane značajke prema Mean decrease gini indexu - V19, V11, V31, V27, V3, V5 i V29.
          </p>
        </fig>
      </p>
      <p>pred &lt;- predict(forest_chop, newdata = test_set)
        table(pred, test_set$V33)
      </p>
      <p>Naposljetku, rezultati prikazani u Tablici 3 – konfuzijskoj matrici sa smanjenim brojem
        varijabli (7 – odabranih prema vrijednostima na slici 7) – za testni skup podataka pokazuju
        da je točnost klasifikacije ishoda novih šahovskih partija moguća s točnošću od 75.27%.</p>
      <p>
        
        <table-wrap position="margin">
          <label>Tablica 3.</label>
          <caption>
            <title>Matrica konfuzije sa smanjenim brojem varijabli (7) za testni skup</title>
          </caption>
          <table border="1" frame="box" width="100%">
            <col width=""/>
            <col width=""/>
            <col width=""/>
            <thead>
              <tr>
                <th/>
                <th align="center" valign="middle" colspan="4">predviđene klase – ishodi
                  partija</th>
                <th/>
                
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center" valign="middle" rowspan="4"><bold>stvarne klase – ishodi partija</bold></td>
                <td/>
                <td align="center" valign="middle"><bold>-1 </bold></td>
                <td align="center" valign="middle"><bold>0.5 </bold></td>
                <td align="center" valign="middle"><bold>1 </bold></td>
                <td align="center" valign="middle"><bold>pogreška klasifikacije</bold></td>
              </tr>
              <tr>
                <td align="center" valign="middle"><bold>-1</bold>
                </td>
                <td align="center" valign="middle">557 </td>
                <td align="center" valign="middle">171 </td>
                <td align="center" valign="middle">495 </td>
                <td align="center" valign="middle">0.544562</td>
              </tr>
              <tr>
                <td align="center" valign="middle"><bold>0.5</bold>
                </td>
                <td align="center" valign="middle">418 </td>
                <td align="center" valign="middle">6175 </td>
                <td align="center" valign="middle">552 </td>
                <td align="center" valign="middle">0.135759</td>
              </tr> 
              <tr>
                <td align="center" valign="middle"><bold>1</bold>
                </td>
                <td align="center" valign="middle">623 </td>
                <td align="center" valign="middle">240 </td>
                <td align="center" valign="middle">875 </td>
                <td align="center" valign="middle">0.496547</td>
              </tr>
            </tbody>
          </table>
          
        </table-wrap>
      </p>
      <p><bold>4.5 Usporedba rezultata predviđanja sa Shannonovom evaluacijom</bold></p>
      <p>Nakon izgradnje klasifikatora pozicija koji upotrebljava odabrane mrežne značajke, dakle
        one koje su se, empirijski gledano, pokazale najboljima po pitanju uspješnosti predviđanja,
        odnosno, evaluacije valjanosti pozicije, uspoređuje se točnost s klasičnom Shannonovom
        funkcijom. Rezultati točnosti predviđanja valjanosti svih pozicija iz skupa za testiranje
        moraju se dobiti i za Shannonovu evaluacijsku funkciju. To je postignuto s jednostavnom
        Python skriptom koja izračunava vrijednost Shannonove funkcije za sve pozicije iz testnog
        skupa pozicija te ih uspoređuje s već izračunanim evaluacijskim vrijednostima iz rječnika
        vrijednosti koji je izgrađen na temelju fiksne evaluacije Stockfish šahovskog programa svih
        pozicija iz testnog skupa partija. Od 145 846 analiziranih pozicijadobiveno je77 143 točnih,
        čime točnost Shannonove evaluacijske funkcije iznosi 52.89%.</p>
      <p>Rezultat analize točnosti evaluacije svodi se na jednostavnu usporedbu točnosti naučenog
        modela RF sa Shannonovom evaluacijskom funkcijom za testni skup podataka prikazanima u
        Tablici 4.</p>
      
      <p>
        <table-wrap position="margin">
          <label>Tablica 4.</label>
          <caption>
            <title>Usporedba točnosti predviđanja naučenog modela RF sa Shannonovom evaluacijskom funkcijom za testni skup podataka</title>
          </caption>
          <table border="1" frame="box" width="50%">
            <col width=""/>
            <col width=""/>
            <thead>
              <tr>
                <th align="left" valign="middle">Točnost Shannonove evaluacijske funkcije </th>
                <th align="left" valign="middle">52.89 %</th>
                
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" valign="middle">Točnost RF modela </td>
                <td align="left" valign="middle">75.27%</td>
              </tr>
              <tr>
                <td align="left" valign="middle"><bold>Točnost RF modela </bold></td>
                <td align="left" valign="middle"><bold>75.27%</bold></td>
              </tr>
            </tbody>
          </table>
          
        </table-wrap>
      </p>
      <p>Na osnovi analize odabrane statičke pozicije na ploči razvidno je da Shannonova
        evaluacijska funkcija ima značajno lošiju točnost predviđanja ishoda trenutne partije, s
        obzirom na rezultate RF klasifikatora koji upotrebljava odabrane strukturne značajke
        mreže.</p>
    </sec>
   
    <sec sec-type="Conclusion">
      <label>5. ZAKLJUČAK</label>
      <p>U ovom je radu predstavljena mogućnost modeliranja šahovskih pozicija u šahovskim partijama
        nizom kompleksnih mreža, odnosno, izračunom mrežnih značajki. Kombiniranjem tih značajki i
        izgradnjom klasifikatora koji upotrebljava model šume slučajnih stabala postignuta je veća
        točnost predviđanja. Točnost klasifikatora nije samo dostatna za računalni šah, već i
        značajno nadmašuje točnost klasične Shannonove evaluacijske funkcije za čak 22.38%. Dobiveni
        rezultat nije iznenađujuć za šahovske igrače jer je poznato da suvremeni šahovski programi,
        koji su već odavno nadmašili najbolje ljudske igrače današnjice, imaju evaluacijske funkcije
        koje su nemjerljivo kompleksnije od jednostavnog predviđanja kvalitete pozicije koju
        odražava Shannonova evaluacijska funkcija. To, naravno, i nije čudno, s obzirom na to da je
        upravo Shannon udario čvrste temelje računalnom šahu sredinom prošlog stoljeća te se u
        praksi pokazalo da je njegov pristup računalnom šahu, utemeljen na Shannon A tipu računalnih
        šahovskih programa, još uvijek superioran u odnosu na programe koji nastoje oponašati
        ljudski način pristupa igri. Međutim, primjena takvog modela predviđanja, koji ne
        upotrebljava znanje o šahu niti pravila same igre, a daje obećavajuće rezultate, odaje dojam
        da će se u bližoj budućnosti pojaviti šahovski programi koji će nadmašiti postojeće
        ekstremno optimizirane klasične evaluacijske funkcije u modernim šahovskim programima. Neki
        od projekata koji danas upošljavaju duboke konvolutivne neuralne mreže, poput Google
        AlphaZero (
        <xref ref-type="bibr" rid="r23">
        Silver, 2017
        </xref>
        ; 
        <xref ref-type="bibr" rid="r1">
        Alphazero, 2018
        </xref>
        ) ili istraživanja opisanog u 
        <xref ref-type="bibr" rid="r15">
        (Lei, 2015)
        </xref>
        , te
        projekta zajednice entuzijasta otvorenih tehnologija, Leela Chess Zero 
        <xref ref-type="bibr" rid="r24">
        (Silver, 2018)
        </xref>
        , daju
        naslutiti da će se taj odnos uskoro promijeniti u korist potonjeg pristupa. Daljnja bi
        istraživanja kompleksnih svojstava i odnosa između evolucija šahovskih mrežnih modela i
        šahovskih strategija zbog toga mogla svakako biti vrlo plodonosna, s konkretnim praktičnim
        rezultatima. Nije isključena ni mogućnost primjene takvog pristupa pri daljnjem poboljšanju
        postojećih modernih šahovskih programa u vidu svojevrsnog hibridnog pristupa evaluaciji
        šahovskih pozicija i pronalaska optimalne strategije igre. Potrebno je naglasiti da glavna
        kritika svih dubokih neuralnih modela, unatoč postignutim visokim performansama na
        različitim područjima primjene, proizlazi iz njihove nerazumljivosti. Naime, neuronske mreže
        ponašaju se poput modela crne kutije, koji ne omogućava obrazloženje ponašanja, tj.
        objašnjenja dobivene evaluacijske vrijednosti u ovome slučaju, te stoga nisu primijenjene u
        ovome radu. Hibridni pristup pokušava razriješiti problem nerazumljivosti modela te će se u
        budućem radu posvetiti proučavanju hibridnog pristupa. </p>
    </sec>
    
    
  </body>
  
  <back>
    <ref-list>
      <ref id="r1">
        <label>1</label>
        <mixed-citation publication-type="data" publication-format="electronic">
          <collab>En.wikipedia.org</collab>
          <data-title>AlphaZero</data-title>
          <date>
            <year>2018.</year>
          </date>
          <ext-link xlink:href="https://en.wikipedia.org/wiki/AlphaZero"></ext-link>,
          <date-in-citation content-type="access-date">20.4.2018.</date-in-citation>
        </mixed-citation>
      </ref>
      
      <ref id="r2">
        <label>2</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Atkin</surname>
              <given-names>R.H.</given-names>
            </name>
            <name>
              <surname>Witten</surname>
              <given-names>I.H.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>1975</year>
          </date>
          <article-title>A Multi-dimensional Approach to Positional Chess</article-title>
          <source>Int. J. Man-Machine Studies</source>
          
          <volume>7</volume>
          <fpage>727</fpage>
          <lpage>750</lpage>
          <ext-link xlink:href="https://doi.org/10.1016/S0020-7373(75)80035-6"></ext-link>
        </mixed-citation>
      </ref>
      
      
      <ref id="r3">
        <label>3</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Beliga</surname>
              <given-names>S.</given-names>
            </name>
            <name>
              <surname>Meštrović</surname>
              <given-names>A.</given-names>
            </name>
            <name>
              <surname>Martinčić-Ipšić</surname>
              <given-names>S.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2016</year>
          </date>
          <article-title>Selectivity-based keyword extraction method</article-title>
          <source>International Journal on Semantic Web and Information Systems (IJSWIS)</source>
          <volume>12</volume>
          <issue>3</issue>
          <fpage>1</fpage>
          <lpage>26</lpage><ext-link xlink:href="https://doi.org/10.4018/IJSWIS.2016070101"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r4">
        <label>4</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Beliga</surname>
              <given-names>S.</given-names>
            </name>
            <name>
              <surname>Meštrović</surname>
              <given-names>A.</given-names>
            </name>
            <name>
              <surname>Martinčić-Ipšić</surname>
              <given-names>S.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2015.</year>
          </date>
          <article-title> An overview of graph-based keyword extraction methods and approaches</article-title>
          <source>Journal of information and organizational sciences</source>
          <volume>39</volume>
          <issue>1</issue>
          <fpage>1</fpage>
          <lpage>20</lpage>
        </mixed-citation>
      </ref>
      
      <ref id="r5">
        <label>5</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Breiman</surname>
              <given-names>L.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2001.</year>
          </date>
          <article-title>Random Forests</article-title>
          <source> Machine Learning</source>
          
          <volume>45</volume>
          <issue>1</issue>
          <fpage>5</fpage>
          <lpage>32</lpage>
          <ext-link xlink:href="https://doi.org/10.1023/A:1010933404324"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r6">
        <label>6</label>
        <mixed-citation publication-type="data" publication-format="electronic">
          <collab>Chessprogramming.wikispaces.com</collab>
          <data-title>Chessprogramming - Evaluation</data-title>
          <date>
            <year>2018.</year>
          </date>
          <ext-link xlink:href="https://chessprogramming.wikispaces.com/Evaluation"></ext-link>
          <date-in-citation content-type="access-date">11.3.2018.</date-in-citation>
        </mixed-citation>
      </ref>
      
      <ref id="r7">
        <label>7</label>
        <mixed-citation publication-type="data" publication-format="electronic">
          <collab>En.wikipedia.org</collab>
          <data-title>Elo rating system</data-title>
          <date>
            <year>2018.</year>
          </date>
          <ext-link xlink:href="https://en.wikipedia.org/wiki/Elo_rating_system"></ext-link>
          <date-in-citation content-type="access-date">17.4.2018.</date-in-citation>
        </mixed-citation>
      </ref>
      
      <ref id="r8">
        <label>8</label>
        <mixed-citation publication-type="book">
          <person-group>
            <name>
              <surname>Farren</surname>
              <given-names>D.</given-names>
            </name>
            <name>
              <surname>Templeton</surname>
              <given-names>D.</given-names>
            </name>
            <name>
              <surname>Wang</surname>
              <given-names>M.</given-names>
            </name>
          </person-group>
          <source> Analysis of networks in chess</source>
          <publisher-name>Stanford University, Tech. Rep.</publisher-name>
          <date date-type="pub">
            <year></year>
          </date>
          <ext-link xlink:href="http://http://snap.stanford.edu/class/cs224w-2013/projects2013/cs224w-023-final.pdf"></ext-link>
          <date-in-citation content-type="access-date">15.4.2018.</date-in-citation>
        </mixed-citation>
      </ref>
      
      <ref id="r9">
        <label>9</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Fernández</surname>
              <given-names>A.</given-names>
            </name>
            <name>
              <surname>Salmerón</surname>
              <given-names>A.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2008.</year>
          </date>
          <article-title>BayesChess: A computer chess program based on Bayesian networks</article-title>
          <source>Pattern Recognition Letters</source>
          <volume>29</volume>
          <issue>8</issue>
          <fpage>1154</fpage>
          <lpage>1159</lpage>
          <ext-link xlink:href="https://doi.org/10.1016/j.patrec.2007.06.013"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r10">
        <label>10</label>
        <mixed-citation publication-type="data" publication-format="electronic">
          <collab>Stockfishchess.org</collab>
          <data-title>Home – Stockfish 10 - Open Source Chess Engine</data-title>
          <date>
            <year>2018.</year>
          </date>
          <ext-link xlink:href="https://stockfishchess.org/files/stockfish-10-linux.zip"></ext-link>
          <date-in-citation content-type="access-date">10.4.2018.</date-in-citation>
        </mixed-citation>
      </ref>
      
      <ref id="r11">
        <label>11</label>
        <mixed-citation publication-type="book">
          <person-group>
            <name>
              <surname>James</surname>
              <given-names>G.</given-names>
            </name>
            <name>
              <surname>Witten</surname>
              <given-names>D.</given-names>
            </name>
            <name>
              <surname>Hastie</surname>
              <given-names>T.</given-names>
            </name>
            <name>
              <surname>Tibshirani</surname>
              <given-names>R.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2013.</year>
          </date>
          <source>An introduction to statistical learning</source>
          <source>New York: Springer</source>
          
          <volume>112</volume>
          <ext-link xlink:href="https://doi.org/10.1007/978-1-4614-7138-7"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r12">
        <label>12</label>
        <mixed-citation publication-type="bachelor-thesis">
          <person-group>
            <name>
              <surname>Jokić</surname>
              <given-names>J.</given-names>
            </name>
          </person-group>
          <source>Construction of a Chess Engine</source>
          <person-group person-group-type="director">
            <name>
              <surname>Martinčić-Ipšić</surname>
            </name>
          </person-group>
          <publisher-name>University of Rijeka, Department of Informatics</publisher-name>
          <date date-type="pub">
            <year>2014.</year>
          </date>
        </mixed-citation>
      </ref>
      
      <ref id="r13">
        <label>13</label>
        <mixed-citation publication-type="Master-thesis">
          <person-group>
            <name>
              <surname>Jokić</surname>
              <given-names>J.</given-names>
            </name>
          </person-group>
          <source>Data Mining for Chess</source>
          <publisher-name>University of Rijeka, Department of Informatics</publisher-name>
          <person-group person-group-type="director">
            <name>
              <surname>Martinčić-Ipšić</surname>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2018</year>
          </date>
        </mixed-citation>
      </ref>
      
      <ref id="r14">
        <label>14</label>
        <mixed-citation publication-type="data" publication-format="electronic">
          <data-title>Leela Chess Zero</data-title>
          <date>
            <year>2018</year>
          </date>
          <ext-link xlink:href="https://en.wikipedia.org/wiki/Leela_Chess_Zero https://komodochess.com/"></ext-link>
          <date-in-citation content-type="access-date">20.4.2018.</date-in-citation>
        </mixed-citation>
      </ref>
      
      <ref id="r15">
        <label>15</label>
        <mixed-citation publication-type="MSc thesis">
          <person-group>
            <name>
              <surname>Lai</surname>
              <given-names>M.</given-names>
            </name>
          </person-group>
          <source>Giraffe: Using Deep Reinforcement Learning to Play Chess</source>
          <publisher-name>Imperial College London</publisher-name>
          <date date-type="pub">
            <year>2015</year>
          </date>
        </mixed-citation>
      </ref>

      <ref id="r16">
        <label>16</label>
        <mixed-citation publication-type="data" publication-format="electronic">
          <collab>Komodochess.com</collab>
          <data-title>Komodo chess engine by Don Dailey, Larry Kaufman and Mark Lefler</data-title>
          <date>
            <year>2018.</year>
          </date>
          <ext-link xlink:href="https://komodochess.com/Komodo12.htm"></ext-link>
          <date-in-citation content-type="access-date">20.4.2018.</date-in-citation>
        </mixed-citation>
      </ref>
      
      <ref id="r17">
        <label>17</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname> Martinčić-Ipšić</surname>
              <given-names>S.</given-names>
            </name>
            <name>
              <surname>Margan</surname>
              <given-names>D.</given-names>
            </name>
            <name>
              <surname>Meštrović</surname>
              <given-names>A.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2016.</year>
          </date>
          <article-title>Multilayer network of language: A unified framework for structural analysis of linguistic subsystems</article-title>
          <source>Physica A: Statistical Mechanics and its Applications</source>
          
          <volume>457</volume>
          <fpage>117</fpage>
          <lpage>128</lpage>  
          <ext-link xlink:href="https://doi.org/10.1016/j.physa.2016.03.082"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r18">
        <label>18</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Martinčić-Ipšić</surname>
              <given-names>S.</given-names>
            </name>
            <name>
              <surname>Miličić</surname>
              <given-names>T.</given-names>
            </name>
            <name>
              <surname>Todorovski</surname>
              <given-names>Lj.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2019.</year>
          </date>
          <article-title>The Influence of Feature Representation of Text on the Performance of Document Classification</article-title>
          <source>Applied Sciences</source>
          
          <volume>9</volume>
          <issue>4</issue>
          <fpage>743</fpage>
          <ext-link xlink:href="https://doi.org/10.3390/app9040743"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r19">
        <label>19</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Martinčić-Ipšić</surname>
              <given-names>S.</given-names>
            </name>
            <name>
              <surname>Močibob</surname>
              <given-names>E.</given-names>
            </name>
            <name>
              <surname>Perc</surname>
              <given-names>M.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2017.</year>
          </date>
          <article-title>Link prediction on Twitter</article-title>
          <source>PloS one</source>
          <volume>e0181079</volume>
          <ext-link xlink:href="https://doi.org/10.1371/journal.pone.0181079"></ext-link>
        </mixed-citation>
      </ref>
      
      
      <ref id="r20">
        <label>20</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Meštrović</surname>
              <given-names>A.</given-names>
            </name>
            <name>
              <surname>Grubiša</surname>
              <given-names>Z.</given-names>
            </name>
          </person-group>
          <date date-type="pub">
            <year>2015.</year>
          </date>
          <article-title>Preliminarna analiza mreža koautorstva sveučilišta u Rijeci</article-title>
          <source>Zbornik Veleučilišta u Rijeci</source>
          <volume>3</volume>
          <issue>1</issue>
          <fpage>159</fpage>
          <lpage>178</lpage>
        </mixed-citation>
      </ref>
      
      <ref id="r21">
        <label>21</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Newman</surname>
              <given-names>M.</given-names>
            </name>
          </person-group>
          <source>Networks</source>
          <publisher-name>Oxford university press.</publisher-name>
          <date date-type="pub">
            <year>2018.</year>
          </date>
          <ext-link xlink:href="https://doi.org/10.1093/oso/9780198805090.001.0001"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r22">
        <label>22</label>
        <mixed-citation publication-type="journal">
          <person-group>
            <name>
              <surname>Shannon</surname>
              <given-names>C.E.</given-names>
            </name>
          </person-group>
          <article-title>Programming a Computer for Playing Chess</article-title>
          <source>Computer Chess Compendium</source> 
          <person-group>
            <name>
              <surname>Levy</surname>
              <given-names>D.</given-names>
            </name>
          </person-group>
          <publisher-loc>New York</publisher-loc>
          <publisher-name> Springer</publisher-name>
          <date date-type="pub">
            <year>1988.</year>
          </date>
          <ext-link xlink:href="https://doi.org/10.1007/978-1-4757-1968-0_1"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r23">
        <label>23</label>
        <mixed-citation publication-type="book">
          <person-group>
            <name>
              <surname>Silver</surname>
              <given-names>D.</given-names>
            </name>
            <name>
              <surname>Hubert</surname>
              <given-names>T.</given-names>
            </name>
            <name>
              <surname>Schrittwieser</surname>
              <given-names>J.</given-names>
            </name>
            <name>
              <surname>Antonoglou</surname>
              <given-names>I.</given-names>
            </name>
            <name>
              <surname>Lai</surname>
              <given-names>M.</given-names>
            </name>
            <name>
              <surname>Guez</surname>
              <given-names>A.</given-names>
            </name>
            <name>
              <surname>Lanctot</surname>
              <given-names>M.</given-names>
            </name>
            <name>
              <surname>Sifre</surname>
              <given-names>L.</given-names>
            </name>
            <name>
              <surname>Kumaran</surname>
              <given-names>D.</given-names>
            </name>
            <name>
              <surname>Graepel</surname>
              <given-names>T.</given-names>
            </name>
            <etal>et al.</etal>
          </person-group>
          <source> Mastering chess and Shogi by self-play with a general reinforcement learning algorithm</source>
          <source>arXiv preprint arXiv:1712.01815</source>
          <date date-type="pub">
            <year>2017</year>
          </date>
        </mixed-citation>
      </ref>
      
      <ref id="r24">
        <label>24</label>
        <mixed-citation publication-type="book">
          <person-group>
            <name>
              <surname>Silver</surname>
              <given-names>A.</given-names>
            </name>
          </person-group>
          <source>Leela Chess Zero: AlphaZero for the PC</source>
          <publisher-name>Chess News</publisher-name>
          <date date-type="pub">
            <year>2018.</year>
          </date>
        </mixed-citation>
      </ref>
      
      <ref id="r25">
        <label>25</label>
        <mixed-citation publication-type="book">
          <person-group>
            <name>
              <surname>Stern</surname>
              <given-names>D.</given-names>
            </name>
            <name>
              <surname>Herbrich</surname>
              <given-names>R.</given-names>
            </name>
            <name>
              <surname>Graepel</surname>
              <given-names>T.</given-names>
            </name>
          </person-group>
          <article-title>Bayesian pattern ranking for move prediction in the game of Go</article-title>
          <source>Proceedings of the 23rd International conference on Machine learning. ACM</source>
          
          <date date-type="pub">
            <year>2006.</year>
          </date>
          <ext-link xlink:href="https://doi.org/10.1145/1143844.1143954"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r26">
        <label>26</label>
        <mixed-citation publication-type="book">
          <person-group>
            <name>
              <surname>Stuart</surname>
              <given-names>J.</given-names>
            </name>
            <name>
              <surname>Norvig</surname>
              <given-names>P.</given-names>
            </name>
            <name>
              <surname>Canny</surname>
              <given-names>J.</given-names>
            </name>
          </person-group>
          <source>AI: A Modern Approach, Russell, 3d Edition</source>
          <date date-type="pub">
            <year>2015.</year>
          </date>
        </mixed-citation>
      </ref>
      
      <ref id="r27">
        <label>27</label>
        <mixed-citation publication-type="book">
          <person-group>
            <name>
              <surname>Zobrist</surname>
              <given-names>A.L.</given-names>
            </name>
          </person-group>
          <source> A New Hashing Method with Application for Game Playing</source>
          <source>Tech. Rep. 88</source>
          <publisher-loc>Madison, Wisconsin</publisher-loc>
          <publisher-name>Computer Sciences Department, University of Wisconsin</publisher-name>
          <date date-type="pub">
            <year>1969</year>
          </date>
        </mixed-citation>
      </ref>
      
      <ref id="r28">
        <label>28</label>
        <mixed-citation publication-type="data" publication-format="electronic">
          <collab>Sh.wikipedia.org</collab>
          <data-title>Zobristovo heširanje</data-title>
          <date>
            <year>2018.</year>
          </date>
          <ext-link xlink:href="https://sh.wikipedia.org/wiki/Zobristovo_he%C5%A1iranje"></ext-link>
          <date-in-citation content-type="access-date">10.2.2018.</date-in-citation>
        </mixed-citation>
      </ref>
      
      <ref id="r29">
        <label>29</label>
        <mixed-citation publication-type="data" publication-format="electronic">
          <person-group>
            <name>
              <surname>Liaw</surname>
            <given-names>D.</given-names>
            </name>
            <name>
              <surname>Wiener</surname>
              <given-names>M.</given-names>
            </name>
          </person-group>
          <data-title>randomForest v4.6-14, CRAN</data-title>
          <date>
            <year>2018.</year>
          </date>
          <ext-link xlink:href="https://cran.r-project.org/web/packages/randomForest/index.html"></ext-link>
        </mixed-citation>
      </ref>
      
      <ref id="r30">
        <label>30</label>
        <mixed-citation publication-type="book">
          <person-group>
            <name>
              <surname>Zermelo</surname>
              <given-names>E.</given-names>
            </name>
          </person-group>
          <source>Uber eine Anwendung der Mengenlehre auf die Theoriedes Schachspiels</source>
          <source>Proc. Fifth Congress Mathematicians</source>
          <publisher-loc>Cambridge 1912</publisher-loc>
          <publisher-name>Cambridge University Press 1913</publisher-name>
          <date date-type="pub">
            <year>1913</year>
          </date>
          <fpage>501</fpage>
          <lpage>504</lpage>
          <date-in-citation content-type="access-date"></date-in-citation>
        </mixed-citation>
      </ref>
      
      
    </ref-list>  
  </back>  
  
  
</article>
