Ongelma : Mistä jihinkin tehtäviin liittyvä epädeterminismi syntyy? 0-0 Lasse Lensu
Ongelma : Miten vidaan pelata algritmisesti? 0-0 Lasse Lensu
Ongelma : Onk mahdllista pelata ptimaalisesti? 0-0 Lasse Lensu
Pelit vat hyvä esimerkki epädeterministisistä ngelmista, jissa käytettävissä levat timenpiteet vat hyvin tiedssa, mutta jiden ratkaisu pelin alkaessa ei le nähtävissä. 0-0 Lasse Lensu 5
Tietjenkäsittelyn perusteet Pelien pelaaminen 0-0 Lasse Lensu 6
Pelien pelaaminen Alautinen, S., 008 The real prblem is nt whether machines think but whether men d. (B. F. Skinner) Pelaamisen strategiat: Hakungelmat Heuristiikat 0-0 Lasse Lensu 7
Epädeterministiset ngelmat Esim. shakki: Sallitut siirrt vat sääntöjen ansista hyvin tiedssa. Siirtjen kkeilujärjestys tavitteeseen pääsemiseksi (pelin vittamiseksi) n epäselvä. 0-0 Lasse Lensu 8
Pelien pelaaminen Epädeterministinen hakungelma: Mahdlliset siirrt tiedetään, mutta järjestys n epäselvä (ja riippuu vastustajan siirrista). Hakuavaruus n käytännössä äärellinen, mutta usein suuri: esim. shakissa 0. Kahden sapulen nllasummapelit: Pelaajat siirtävät vurtellen. Tisen vitt n tisen häviö. Siirrn valintaan vaikuttaa vastustajan tekemä siirt. Leveys- tai syvyyshakualgritmit eivät ta humin vastustajan tekemisiä suritetaan heuristinen haku. 0-0 Lasse Lensu 9
Heuristinen arvifunkti Heuristiikkaa mukataan jkaisessa uudessa tilassa arvifunktin avulla: Lasketaan pelitilanteen hyvyyttä jkaiselle mahdlliselle siirrlle nykyisestä tilasta. Valitaan se siirt, jka jhtaa parhaaksi arviituun tilaan. Heuristinen haku pyrkii tyypillisesti löytämään lyhimmän plun hakuavaruudesta nykyisestä pelitilanteesta ratkaisuun. 0-0 Lasse Lensu 0
Heuristinen pelialgritmi J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. Olkn f: S R arvifunkti MODULE pelaa Olkn alkutila s REPEAT Olkt s s i (i=...k) mahdlliset siirrt Valitse siirt siihen tilaan s i, jlle f(s i ) n suurin Odta, kunnes vastustaja n siirtänyt Merkitse uutta tilaa s:llä UNTIL vitt OR tappi OR tasapeli ENDMODULE s s s s s 0-0 Lasse Lensu
Jätkänshakki (ristinlla) J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. Pelaajat sijittavat vurtellen -ruudukkn man merkkinsä (X tai O). Se vittaa, kumpi ensin saa klme maa merkkiä samaan linjaan pystysuraan, vaakasuraan tai vinittain. Numeridaan ruudukk heisen kuvan mukaisesti. Tarkastellaan peliä pelaajan X kannalta. X:n heuristinen arvifunkti f (s) = X:n klmen surien lukumäärä, kun tilassa s tyhjät ruudut täytetään X:llä O:n klmen surien lukumäärä, kun tilassa s tyhjät ruudut täytetään O:lla. 5 6 7 8 9 0-0 Lasse Lensu
Jätkänshakki J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. X siirtää ruutuun, jssa funkti saa suurimman arvnsa (maksimi). Merkitään uutta tilaa sen ruudun numerlla, jhn X siirtää. Tarkituksena n siis löytää sellainen uusi tila s, että f (s) n mahdllisimman suuri. Js X alittaa, hänen kannattaa siirtää keskimmäiseen ruutuun (5), kska f (5) = 8- =. Muut siirrt jhtavat hunmpaan tilanteeseen: f () = 8-5 = f () = 8-6 = Enempää ei tarvitse laskea, kska arvt vat samat muille ruuduille symmetrian takia. Uusi tila n heisen kuvan mukainen. 0-0 Lasse Lensu
Jätkänshakki J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. Oletetaan, että pelaaja O käyttää samaa arvifunktita. Kska f arvii hyvyyttä X:n kannalta, O pyrkii minimimaan sen arvn: f () = f () = f (7) = f (9) = 5- = f () = f () = f (6) = f (8) = 6- = O:n kannattaa siirtää jhnkin nurkkaan, jten siirtäköön hän vasempaan ylänurkkaan: 0-0 Lasse Lensu
Jätkänshakki J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. Seuraavaksi myös X laskee parhaan siirrn: f () = f (7) = f (9) = 5- = f () = f () = f (6) = f (8) = Valitkn X ikean ylänurkkan (kyseinen maksimi laskettiin ensimmäisenä): 0-0 Lasse Lensu 5
Jätkänshakki J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. Nyt O:n tulisi ehdttmasti valita vasen alanurkka (s7), muutin hän häviää. Käytetty arvifunkti ei kuitenkaan pysty tätä yksikäsitteisesti sittamaan, sillä arvifunkti tuttaa kahdessa tapauksessa s ja s arvn, ja tapauksessa (s6,s7,s8 ja s9) arvn. Kun pyritään valitsemaan minimi, tapaukset s6,s7,s8 ja s9 vat tämän menetelmän mukaan yhtä pätevät: Täytyy keksiä parempi pelitekniikka! r r r r r r f f 8 f 6 r r r r r r f f 9 f 7 0-0 Lasse Lensu 6
Heuristisen pelialgritmin parantaminen J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. Pelin parantamiseksi n kaksi vaihtehta: Keksitään parempi arvifunkti. Tarkastellaan tilannetta pidemmälle kuin vain yhden siirrn päähän. Jälkimmäinen vaatii vähemmän luvuutta, jten kkeillaan sitä ensin: menetelmää kutsutaan minma-tekniikaksi. 0-0 Lasse Lensu 7
Minma-tekniikka J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. Oletetaan vastustajan pelaavan hyvin. Lasketaan pelitilanteet ei yhden, vaan kahden siirrn päähän: Minä len siirtänyt + vastustaja n siirtänyt = paras tilanne sen jälkeen? Valitsen siis siirrn, jka n kannaltani paras vastustajan seuraavan siirrn jälkeen. 0-0 Lasse Lensu 8
edellinen algritmi: MODULE pelaa s s s uusi minma-tekniikkaa hyödyntävä algritmi: MODULE pelaaparemmin s s s s s s s..s minun siirrt s s s s..s vastustajan siirrt s s tilanne n minulle paras vastustajan siirrn s jälkeen, jten valitsen sen! s 0-0 Lasse Lensu 9
Minma-pelaaparemmin esim. J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. X:n n siirrettävä s 7 :ään, jttei häviäisi. X:llä n vaihtehtina siirrt ruutuihin,,6,7,8,9. Kun X n siirtänyt esim. ruutuun, O laskee itselleensä parhaan siirrn käyttäen samaa arvifunktita: Merkitään j:llä ne ruudut, jhn O vi siirtää sen jälkeen:,6,7,8,9. O valitsee sellaisen siirrn s j, jlle f (s j ) n pienin = luku g(s i ). Kska halutaan tutkia kaikki mahdlliset X:lle lemassalevat vaihtehdt, lasketaan myös tilanteet, kun X siirtyy ruutuihin,6,7,8,9 ja O tekee vastaavat siirrt s ij. 0-0 Lasse Lensu 0
r r f - r r f 6 - r 0 r f 7 - r r f 8 - r r f 9 - g(s)=- r r f - r r f 6 - r 0 r f 7 - r r f 8 - r r f 9 - g(s)=- r r f 6 - r r f 6 - r 0 r f 67 - r r f 68 - r r f 69 - g(s6)=- r r r f 7 - r r f 8 - r f 9 - r r r r r r f 7 - f 8 - f 9 - r r r r r f 76 - f 86 - r r 0 r 0 r r r 0-0 Lasse Lensu r f 96 - f 78 - f 87 - f 97 - r r r r r r f 79 - f 89 - f 98 - g(s7)=- g(s8)=- g(s9)=-
Minma -tekniikka J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. Minma-tekniikka timii, muttei aina: mikä n sen heikk khta? Mahdllisia ratkaisuja:. Lasketaan useamman askelen päähän: minma n. -tekniikka Käytössä shakissa. Parannetaan arvifunktita esimerkiksi seuraavasti: f (s) =, js X:llä n tilassa s tdellinen -sura. f (s) = -, js O:lla n tilassa s tdellinen -sura. f (s) = f (s) muullin. 0-0 Lasse Lensu
Yhteenvet Pelit kuuluvat hankaliin epädeterministisiin ngelmiin (siksi ne lienevät ihmisillekin niin kiinnstavia.) Pelien pelaamiseen vidaan käyttää tyypillisiä algritmien tteutustapja, mutta useimmissa tapauksissa käytössä vat hakutekniikat ja heuristiikat. 0-0 Lasse Lensu