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 4
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 0-0 Lasse Lensu 7
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 8
Muistutus: Hankalat ngelmat Deterministiset ngelmat: Surituksen jkaisessa vaiheessa tiedetään tarkkaan, millä tavalla suritusta jatketaan. Sama syöte algritmille saa aikaan samjen valintjen tekemisen. Epädeterministiset ngelmat: Hakungelmissa timenpiteiden jukk etukäteen tiedssa. Ei le tiedssa, mistä ratkaisu löytyy mihin suuntaan haussa kannattaa edetä? 0-0 Lasse Lensu 9
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 0
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
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
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 4 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. 4 5 6 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. 7 8 9 0-0 Lasse Lensu 4
Jätkänshakki J. Bberg, Jhdatus tietjenkäsittelytieteeseen, Turun ylipist, 00. X siirtää ruutuun, jssa funkti saa maksiminsa. 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-4 = 4. 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 5
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-4 = f () = f (4) = f (6) = f (8) = 6-4 = O:n kannattaa siirtää jhnkin nurkkaan, jten siirtäköön hän vasempaan ylänurkkaan: 0-0 Lasse Lensu 6
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 (4) = f (6) = f (8) = Valitkn X ikean ylänurkkan (kyseinen maksimi laskettiin ensimmäisenä): 0-0 Lasse Lensu 7
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 s4 arvn, ja 4 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! 0-0 Lasse Lensu 8 r r 4 r r r r f f 6 f 8 r 4 r r r r r f 4 f 9 f 7
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 9
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 0
edellinen algritmi: MODULE pelaa s s 4 s uusi minma-tekniikkaa hyödyntävä algritmi: MODULE pelaaparemmin s 4 s s s s s s..s minun siirrt s s 4 s s..s 4 vastustajan siirrt s s 4 tilanne n minulle paras vastustajan siirrn s jälkeen, jten valitsen sen! s 0-0 Lasse Lensu
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,4,6,7,8,9. Kun X n siirtänyt vaikka ruutuun, O laskee itselleensä parhaan siirrn käyttäen samaa arvifunktita: Merkitään j:llä ne ruudut, jhn O vi siirtää sen jälkeen: 4,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 4,6,7,8,9 ja O tekee vastaavat siirrt s ij. 0-0 Lasse Lensu
r r r f 8 - r r 4 r f 4 - r r 4 f 4 - r r f 6 - r r f 7 - f 9 - r r r r 4 r r f 6 - r r 4 f 46 - r r f 64 - r r f 74 - f 84 - f 94 - r 0 r r r 4 r r f 7-4 r 0 r 0 r r 4 r r f 47-4 f 67 - f 76 - f 86 - f 96 - r r 0 r 0 r 4 r r 0-0 Lasse Lensu f 8 - r r r r 4 r r f 48 - f 68 - f 78 - f 87 - f 97 - r r r r 4 r r f 9 - r r r r 4 r r f 49 - f 69 - f 79 - f 89 - f 98 - g(s)=-4 g(s4)=-4 g(s6)=- 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 4
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 5