Tietokoneshakki. Risto Ranta-aho TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio. Tiivistelmä

Koko: px
Aloita esitys sivulta:

Download "Tietokoneshakki. Risto Ranta-aho TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio. Risto.Ranta-aho@hut.fi. Tiivistelmä"

Transkriptio

1 Tietokoneshakki Risto Ranta-aho TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio Tiivistelmä Shakin ohjelmoimista tietokoneelle on tutkittu jo 50 vuotta. Vasta muutama vuosi sitten shakkitietokone voitti maailman parhaimman shakinpelaajan tavallisessa shakkipelissä. Shakki on liian monimutkainen peli, jotta sen voisi mallintaa täysin. Ihminen pelaa shakkia älyllään ja päättelemällä, mutta tietokone pelaa shakkia toistaiseksi vain laskemalla. Käytetyin ja tällä hetkellä tehokkain algoritmi tietokoneelle shakin pelaamiseen on alphabeta. Muitakin algoritmejä on olemassa, mutta toistaiseksi niistä ei ole ollut vastusta Alpha-betalle. 1 JOHDANTO Pelit kiinostavat ihmistä ajanvietteenä. Niihin voi jopa jäädä koukkuun. Tekoälytutkimuksessa pelit ovat myös yhtenä perinteisenä tutkimuksen kohteena. Tietokoneiden yhdistäminen shakkiin sai varsinaisen alkusykäyksensä 1900-luvun puolessa välissä, jolloin Claude Shannon kirjoitti paperin tietokoneen ohjelmoimisesta shakinpeluuseen. Shakki on Shannonin mukaan ideaalinen tutkittava tietokoneelle (Shannon, 1950), koska: Ongelma on hyvin määritelty: selkeät säännöt sallituista siirroista ja selkeä lopputila: matti. Shakki ei ole täysin triviaali ratkaistava, eikä toisaalta liian vaikeakaan tyydyttävän ratkaisun saamiseksi. Shakkia pidetään ajattelua vaativana taitolajina. Jos kone taipuu shakin pelaamiseen, tulee ajattelu-käsitettä miettiä uudelleen. Shakin diskreetti olemus sopii hyvin tietokoneeseen. Shannon ei halunnut rakentaa konetta, joka pelaisi täydellistä shakkia, muttei myöskään konetta, joka vain tekee laillisia siirtoja. Hän halusi koneen, jota vastaan voi pelata hyvän shakkipelin, kenties ihmispelaajaa vastaan pelattuun verrattavan (Shannon, 1950). 1

2 Tietokoneiden shakinpeluuohjelmat ovat kehittyneet aina vain edellisiä paremmiksi. Tutkimuksen alkuvaiheessa uskottiin shakkiohjelmien kehityksen ihmistä paremmaksi pelaajaksi olevan nopeaa, mutta vasta vuonna 1996 IBM:n shakkitietokone Deep Blue voitti shakin maailmanmestarin Garry Kasparovin normaalissa shakkipelissä. Deep Blue ei ole silti täydellinen shakinpelaaja (Campbell, 1997). Hyvistä shakkiohjelmista on hyötyä harjoitusvastustajina ja tavallisten pelien shakkitilanteiden analysoinnissa. Shakkia tutkitaan myös siksi, että tuloksia voidaan käyttää muiden samankaltaisten ongelmien ratkaisussa. 2 SHAKINPELAAJA Eräässä elokuvan Avaruusseikkailu 2001 kohtauksessa avaruusaluksen ylläpidosta huolehtiva tietokone Hal pelaa shakkia erään miehistön jäsenen Frank Poolen kanssa. Hal on oletettavasti hyvä shakinpelaaja, koska elokuvassa näytetyn erän hän voittaa, eikä se näytä Poolea erityisesti ihmetyttävän. Hal on täysin erilainen, kuin muut tämän ajan tietokoneet. Nykytietokoneissa ei ole omaa älyä, vaan ne vain suorittavat niihin ohjelmoituja ohjelmia. Hal saattoi sitä vastoin olla oikeasti älykäskin. Hal ei vain matkinut algoritmeillaan ihmistä, vaan jopa ymmärsi, kuinka ihminen ajattelee. Hal tunsi vastapelurinsa, ja osasi pelata peliä hänen kykynsä huomioon ottaen (Campbell, 1997). Taitavilla shakinpelaajilla täytyy olla kyky tehdä vaikeita laskelmia ja tunnistaa pelilaudalta pelinappuloiden muodostamia kuvioita. Heillä on mielikuvitusta, kykyä toimia intuitiivisesti, neroutta ja halua voittaa. Hal:ia lukuunottamatta tietokoneet pelaavat shakkia pelkästään laskemalla (Campbell, 1997). Älykkyyden ollessa tietokoneen puute, on koneilla myös joitain etuja ihmiseen verrattuna (Shannon, 1950): Tietokone pystyy erittäin nopeisiin ja kattaviin laskutoimituksiin. Tietokone ei tee inhimillisiä virheitä. Tietokone ei laiskistu ja siksi jätä tilanteen tutkimista kesken. Tietokone ei hermostu tai luule itsestään liikoja, eikä siksi tee huolimattomuusvirheitä. Tietokoneet kehittyvät jatkuvasti ja niiden nopeus ja muistikapasiteetti kasvaa. Kun resurssit lisääntyvät, tulee shakkiohjelmistakin entistä parempia. Koneen kapasiteetin kasvaminen sallii yhä pidemmälle menevän siirtojen analysoinnin (Campbell, 1997). Tehon lisääntyminen ei kuitenkaan samassa suhteessa paranna shakin hakupuun syvyyttä, koska shakin pelitilanteiden määrä kasvaa eksponentiaalisesti. Shakin peluuseen suunnitellulla laitteistolla voidaan myös nopeuttaa shakkiohjelmia. Suoraan raudalla ja useilla prosessoreilla toteutetuilla hardwarella päästään tavallista 2

3 tietokonetta nopeampiin nopeuksiin, mutta shakin rinnakkaisprosessointi ei kuitenkaan ole osoittautunut kovin yksinkertaiseksi (Campbell, 1997). 3 SHAKKIOHJELMIEN HISTORIA Huomionarvoisia ohjelmia ovat Alan Turingin vuonna 1951 kirjoittama ensimmäinen koko shakkipelin hallitseva ohjelma. Turingilla ei kuitenkaan ollut tietokonetta käytettävissään, joten ohjelmaa täytyi ajaa käsin. Ohjelma ei ollut kovinkaan taitava pelaaja, vaan hävisi jo heikolle koevastustajalle. Ensimmäisen koneella ajetun koko pelin pelaamiseen kykenevän ohjelman kirjoitti Alex Bernstein vuonna Greenblattin vuonna 1967 kehittämän MacHack 6 -ohjelman vuonna 1979 tehty uudempi versio oli ensimmäinen shakkiohjelma, jota ajettiin omalla laitteistolla. Condonin ja Thompsonin vuonna 1982 kehittämä Belle oli ensimmäinen shakkiohjelma, jolle omasta laitteistosta oli huomattavaa hyötyä. Uudemmissa shakkitietokoneissa, kuten Deep Thoughtissa vuonna 1990 sekä sen seuraajissa Deep Thought 2:ssa (Norvig ja Russel, 1995) ja Deep Bluessa (Campbell, 1997) käytetään omaa laitteistoa. 4 SHAKKI PELINÄ Shakki on peli, jossa on täydellinen informaatio, eli shakin koko pelitilanne on aina avoimesti tiedossa. Esimerkiksi korttipeleissä osa korteista on piilossa pelaajien käsissä ja pakassa, joten kenelläkään pelaajalla ei ole käytettävissään koko kuvaa pelin tilasta. Muun muassa noppapeleistä poiketen shakkipelissä ei ole minkäänlaista satunnaisuutta. Ennen peliä on satunnaista vain se, kumpi pelaaja saa valkoiset nappulat, eli kumpi pelaaja aloittaa pelin. Satunnaisuuden puuttuminen myös yksinkertaistaa peliä. Shakin tilanteen voi määritellä Shannonin (1950) mukaan viidellä tiedolla. Pelinappuloiden sijainti laudalla Kummalla puolella on siirtovuoro Ovatko kuninkaat ja tornit liikkuneet, jotta tiedetään, mitkä tornitukset ovat vielä mahdollisia Mikä oli edellinen siirto, jotta tiedetään mahdollisuus vastapuolen en passant -siirtoon Kuinka monta siirtoa on tehty edellisen sotilaan siirron jälkeen, jotta tunnistetaan 50 siirron tasapeli Shannonin esityksestä puuttuu tunnistus kolmen saman tilanteen peräkkäisestä esiintymisestä. Tämän saa tunnistettua esimerkiksi tallentamalla pelkän edellisen sijasta koko siirtohistorian. Siirtohistorian tallennus on toki järkevää myös pelien jälkianalysoinnin tai erilaisten variaatioiden tutkimisen kannalta. 3

4 4.1 Shakin hakuongelma Kahden pelaajan vuorotellen pelattavien pelien tilanteista voi muodostaa pelipuun siten, että otetaan lähtötilanne juurisolmuksi, ja laitetaan sille lapsiksi kaikki tilanteet, joihin päästään ensimmäisen pelaajan tehtyä jonkun sallittuista siirroistaan. Näille solmuille laitetaan lapsiksi toisen pelaajan tekemiä siirtoja seuraavat tilanteet. Tätä jatketaan, kunnes kaikissa haaroissa tullaan lopputiloihin. Shakissa keskimääräinen yhden tilanteen sallittujen siirtojen lukumäärä, eli pelipuun haarautumiskerroin, on 35. Tyypillinen pelin kesto on 50 siirtoparia eli 100 puolisiirtoa. Tällaisessa tapauksessa koko pelipuussa olisi solmua. Mahdollisia erilaisia sallittuja nappuloiden asetelmia on kuitenkin vain 10 40, mutta yksittäisiin tilanteisiin voi pelipuussa päätyä eri reittejä (Norvig ja Russel, 1995). Koska hakupuu kasvaa eksponentiaalisesti, on tila- ja aikavaatimuksten takia mahdotonta generoida koko shakin pelipuuta etukäteen. Mahdotonta on myöskin laatia etukäteen taulukko kaikista mahdollisista tilanteista ja siitä, mikä on optimaalisin siirto missäkin tilanteessa (Shannon, 1950). Juuri pelipuun koko ja tilanteiden monimutkaisuus tekee shakin pelaamisesta hankalan, vaikka pelimaailman tila onkin kokoajan nähtävissä. Kaikkien mahdollisten siirtovaihtoehtojen läpikäyminen on mahdotonta, joten pelaajan tulee vanhasta kokemuksesta tehdä hyvä arvaus järkeväkstä siirrosta, ennenkuin hän täydellisesti tietää, mitä tilanteessa tulisi tehdä (Norvig ja Russel, 1995). Pelin hakuongelman erityispiirteenä on pelissä mukana oleva vastapuoli. Ei riitä, että vain omat siirrot tutkitaan läpi, koska vastapuoli voi omalla vuorollaan tehdä minkä tahansa siinä tilanteessa sallitun vastasiirron (Norvig ja Russel, 1995). 4.2 Shakkipelin kulku Shakkipeli voidaan jakaa kolmeen vaiheeseen: avaukseen, peliin ja loppupeliin. Nämä vaiheet eroavat luonteeltaan toisistaan, joten on järkevää tarkastella niitä erillisinä tapauksina (Shannon, 1950) Avaus Shakkipelin alussa on pelaajan järkevää yrittää saada omat nappulansa sijoitettua pelilaudalle hyviin asemiin. Kun shakinpelaajat ovat käyneet pelien aloitusta läpi, on peliin kehittynyt tiettyjä vakiotapoja ensimmäisten siirtojen pelaamiseen. Tämä avauskirjasto on mahdollista ohjelmoida myös tietokoneelle ja käyttää sitä esimerkiksi niin, että sen siirtoja noudatetaan niin kauan, kuin vastapuoli niitä noudattaa (Shannon, 1950). Avauskirjaston avaukset ovat siirtoina yleensä hyviä, ja niitä käyttämällä pelin aikana käytössä olevaa laskenta-aikaa säästyy myöhempiin vaikeampiin tilanteisiin. Avauskirjaston käytöstä voi tietokoneelle tulla ongelma siinä vaiheessa, kun avauskirjaston sokeasti noudatetuista siirroista lopulta lähdetään pelaamaan varsinaista peliä. Tilanne johon ollaan kirjastolla päädytty voi olla tietokoneen pelialgoritmille 4

5 vieraan tuntuinen, jolloin koneelta kuluu muutama siirto nappuloiden asettamiseen itselle sopivaan tilanteeseen. Jos vastapelaaja tuntee tietokoneen noudattaman avauskirjaston, voi hän myös tarkoituksellisest rakentaa ansoja juuri sen kirjaston siirtoja vastaan (Walker, 1997) Peli Avauksen jälkeinen osa on varsinaista taktikointia ja shakin pelaamista. Nimenomaan pelin tähän vaiheeseen tarvitaan tietokoneelle hyvää shakinpeluualgoritmiä. Tyypillisesti shakkipelissä pelaajat vaihtavat nappuloita keskenään, eli toinen pelaajista saa lyötyä toisen pelaajan nappulan, mutta samalla hän joutuu antamaan toiselle itseltään samanarvoisen nappulan. Mikäli kumpikaan pelaaja ei tee mattia, kestää peliosuutta niin kauan, kunnes suurin osa pelin nappuloista on lyöty pois laudalta. Tämän jälkeen siirrytään loppupeliin (Shannon, 1950) Loppupeli Loppupelissä pelataan vähillä laudalla olevilla nappuloilla ja pyritään niillä matittamaan vastapelaaja tietyn juuri niille nappuloille sopivan toimintamallin mukaisesti. Tehokas loppupelin siirto on päästä korottamaan sotilas kuningattareksi (Shannon, 1950). Loppupeliä lähestyttäessä saattaa tietokone yrittää päästä eroon joistakin nappuloistaan päästäkseen tiettyyn lopuupeliasetelmaan. Kone voi esimerkiksi antaa lyödä kuningattarensa helposti. Vastapuoli voi tietenkin tällaisessa tilanteessa pyrkiä hylkimään tarjottuja nappuloita, jolloin peli ei etene (Walker, 1997). 5 SHAKINPELUUALGORITMIT Joissain peleissä on mahdollista laskea funktiolla suoraan senhetkisestä tilanteesta tieto päättyykö peli voittoon, tasapeliin vai häviöön (Shannon, 1950). Shakista ei tällaista funktiota tiedetä, vaan siirtojen järkevyys tulee saada tietoon muulla tavoin. Lähes kaikki shakinpeluuohjelmat perustuvat peliteoreetikkojen John von Neumannin ja Oskar Morgensternin kehittämän Minimax-algoritmin johdannaiseen, alpha-beta -karsintaan (Campbell, 1997). Alpha-beta on edelleen parhain pelialgoritmi erityisesti kahden pelaajan täydellisen information peleihin (Junghanns, 1998). 5.1 Minimax-algoritmi Pelin toiminnan voi määritellä neljällä komponentilla: Pelin lähtötilanne, eli asetelma pelilaudalla ja tieto kumpiko pelaajista aloittaa Joukko operaattoreita, eli säännöt siitä, kuinka pelinappuloita saa laudalla siirtää Lopetustesti, jolla tiedetään, onko tila pelin lopputila 5

6 Hyötyfunktio, joka antaa numeerisen arvon pelin lopputilasta. Esimerkiksi shakissa kolme arvoa: +1 (voitto), 0 (tasapeli) ja -1 (häviö). Muissa peleissä voi numeerinen arvo olla laajemmaltakin lukualueelta, esimerkiksi Backgammonissa summataan hävinneen pelaajan nappuloiden etäisyydet maalista ja tulkitaan summa voittajan kannalta positiiviseksi tai häviäjän kannalta negatiiviseksi (Norvig ja Russel, 1995). Minimax on algoritmi jolla saadaan kahden pelaajan, MIN ja MAX, pelistä MAX:in kannalta paras hyöty - olettaen, että MIN tekee kaikkensa sen minimoimiseksi (Norvig ja Russel, 1995). Minimaxissa on viisi vaihetta: Generoidaan koko pelipuu lopputiloihin saakka Lasketaan hyötyfunktiolla arvo jokaiselle lopputilalle Valitaan lopputilojen arvoista niiden vanhemmille arvo sen perusteella, minkä sen vuoron pelaaja vaihtoehdoista valitsisi. MAX:in siirtovuorolla valitaan vaihtoehdoista suurin arvo, ja MIN:in vuorolla pienin arvo. Tullaan kerros kerrokselta puussa ylöspäin valiten solmuille arvot lapsien arvoista edellisen kohdan menettelyllä - vuorotellen suurin, vuorotellen pienin arvo. Kun tullaan puun juureen, nähdään, mikä siirto MAX:in tulee valita, ja mikä on se hyöty, jonka MAX pelistä saa. Jos puun maksimisyvyys on m ja joka pisteessä on b sallittua siirtoa, on minimaxalgoritmin vaativuus O(b m ) (Norvig ja Russel, 1995). 5.2 Minimaxin soveltuvuus shakkiin Minimaxia käytettäessä tulee koko pelipuun olla tunnettu. Kuten kohdassa 2.1 todetaan, on tämä shakissa mahdotonta, joten minimaxia täytyy shakkia varten hiukan muuttaa. Koska lopputiloihin asti ei pelipuuta voida tutkia, täytyy lopetustestin sijaan katkaista haku aiemmin jollain katkaisutestillä. Lopputiloihin sovellettavan hyötyfunktion sijasta täytyy tutkituista tiloista muodostaa arvio soveltamalla niihin heuristista arvotusfunktiota (Norvig ja Russel, 1995) Arvotusfunktio Arvotusfunktio arvioi kulloisenkin pelitilanteen hyvyyttä. Peliohjelman laatu riippuu paljon arvotusfunktion laadusta. Hyvä funktio antaa oikean kuvan pelitilanteesta, mutta jos funktio on epätarkka, voi se ohjata ohjelmaa kohti hyvältä näyttäviä mutta todellisuudessa katastrofiseen tulokseen vieviä tiloja (Norvig ja Russel, 1995). Mitä parempi arvotusfuktio on käytössä, sitä vahvempi pelaaja on (Shannon, 1950). 6

7 Hyvän arvotusfunktion täytyy lopputiloissa antaa samat tulokset kuin hyötyfunktion, funktion tulee olla nopeatoiminen ja funktion tulee tarkasti kuvata todellisia voitonmahdollisuuksia (Norvig ja Russel, 1995). Shakin tilannetta voidaan arvottaa huomioimalla esimerkiksi sellaisia asioita, kun pelaajien nappuloiden lukumäärät, sotilaiden muodostamat muodostelmat ja nappuloiden liikkumavapaudet (Shannon, 1950). Toista pelaajaa suurempi määrä voimakkaita pelinappuloita on varmasti etu ja avoimella kaistalla oleva torni on myös etu, mutta suojaamaton kuningas on pelaajalle heikkous. Pelinappuloille voidaan antaa materiaaliset arvot. Yleisesti shakissa käytössä olevat arvot ovat seuraavat: sotilas 1, hevonen ja lähetti 3, torni 5 ja kuningatar 9. Näistä tiedoista muodostettu materiaalietufunktio olettaa, että nappuloita voi arvioida yksi kerrallaan välittämättä muista laudalla olevista nappuloista. Tällaista funktiota kutsutaan painotetuksi lineaariseksi funktioksi: F(P) = w 1 f 1 + w 2 f w n f n. (1) Funktiossa (1) P on pelitilanne, w:t ovat painotuskertoimia eli materiaalietufunktiossa nappuloiden arvoja ja f:t piirteitä eli materiaalietufunktiossa nappuloiden lukumääriä (Norvig ja Russel, 1995). Suurin osa shakkiohjelmista käyttää lineaarista arvotusfunktiota, mutta käytössä olevat arvotusfunktiot ovat toki esimerkkiä monimutkaisempia. Funktiota edelleen kehitettäessä voisi esimerkiksi hyvä sotilasrakennelma tai kuninkaan turvallisuus voivat olla puolen pisteen arvoisia piirteitä. Kun arvotusfunktiota rakennetaan, täytyy ensin valita funktioon piirteet ja sen jälkeen säätää funktion painotukset kohdalleen. Painotusten säätö voidaan automatisoida laittamalla kone pelaamaa itseään vastaan, mutta piirteiden poimimisen automatisointia ei vielä osata (Norvig ja Russel, 1995). Jos ohjelma tekee aina samassa tilanteessa saman siirron, sanotaan sillä olevan puhdas strategia. Jos tällainen kone kuitenkin aina antaa täsmälleen saman vastauksen, niin jos kerran pelaaja keksii voittavan siirtosarjan, voi hän aina siitä eteenpäin voittaa samalla sarjalla (Shannon, 1950). Tämän tilanteen voi välttää satunnaisuudella, eli jos vaihtoehtoina on kaksi samantasoista siirtoa, voi niistä valita toteutettavan siirron satunnaisesti Haun katkaiseminen Helpoin tapa katkaista haku on määrätä sille maksimisyvyys. Tämä syvyys voidaan valita niin, että yhden siirron haun kesto ei ylitä sääntöjen sallimaa aikaa. Hakusyvyyttä voidaan myös iteroida, ja palauttaa ajan loppuessa pisimmälle päässen haun antama tulos. Koska arvotusfunktio on luonteeltaan arvio, voi haun katkaisemisella tiettyyn rajaan olla tuhoisia seurauksia. Heti tutkittujen siirtojen jälkeen voi tapahtua mitä tahansa (Norvig ja Russel, 1995). Horisonttiongelmaksi kutsuttu onglema tulee esiin niissä tilanteissa, joissa iso pelitilanteen muutos on väistämättä tulossa, mutta toinen pelaaja saa viivyteltyä sitä jonkin aikaa esimerkiksi shakkaamalla jatkuvasti vastustajaa. Jos iso muutos työntyy 7

8 näillä viivyttelysiirroilla pidemmälle, kuin kone pystyy siirtoja tutkimaan, eli horisontin yli, jää väistämätön vaara siinä tilanteessa vielä huomioimatta (Norvig ja Russel, 1995). Arvotusta järkevöittää, jos arvotetaan vain sellaisia tiloja, jotka ovat rauhallisia, eli toisin sanoen sellaisia tiloja, joiden jälkeen ei funktion arvossa ole odotettavissa suuria muutoksia. Esimerkiksi materiaalietua laskevaa funktiota ei voi käyttää tiloihin, joissa on tarjolla hyviä lyöntimahdollisuuksia (Norvig ja Russel, 1995). Rauhattomia tiloja voidaan tutkia eteenpäin, kunnes päästään rauhallisiin tiloihin, ja arvottaa vasta nämä tilat. Tätä kutsutaan rauhallisuushauksi (Norvig ja Russel, 1995). Ihminenkin toimii shakkia pelatessaan tällä tavalla (Shannon, 1950). 5.3 Alpha-beta -karsinta Tutkimalla kaikki mahdolliset hakupuun tilat päästään hakusyvyydessä alle keskiverron ihmispelaajan saavuttaman syvyyden. Tällainen ohjelma häviää helposti, joten hakua täytyy tehostaa. Alpha-beta -karsinnalla saadaan hakupuusta karsittua pois sellaisia haaroja, jotka eivät voi vaikuttaa haun lopputulokseen. Algoritmin valitsemat siirot ovat edelleen kuitenkin täsmälleen samat kuin minimax valitsisi. Alpha-beta -karsinnan avulla voidaan arvoltaan N olevan solmun alipuu poistaa hausta kokonaan, jos puusta on jo muualta löydetty paremman tuloksen antava solmu M. Näin siksi, että minimaxin luonteeseen kuuluu valita kaikista solmun lapsista aina paras mahdollinen arvo. Jo tutkittua arvoa M huonompaa solmua N ei siis ikinä tultaisi valitsemaan. Algoritmi pitää kirjaa MAX:in kannalta siihen mennessä saadusta parhaasta arvosta alpha-muuttujassa, ja MIN:in kannalta parhaasta arvosta betamuuttujassa. Näitä arvoja päivitetään, kun puuta tutkittaessa kohdataan edellisiä parempi arvo, ja huonompien arvojen tullessa kohdalle karsitaan alipuut pois (Norvig ja Russel, 1995). Alpha-betan parannus minimaxiin riippuu paljon järjestyksestä, jossa lapsisolmuja tutkitaan. Jos jatkuvasti kohdataan satunnaisessa järjestyksessä entistä parempia arvoja, ei alipuita saada karsittua. Tämän vuoksi on järkevintä tutkia ensin ne jälkeläiset, joista arvellaan saatavan parhaat tulokset. Pienilläkin järjestelyillä, kuten tutkimalla ensin lyönnit, sitten uhat, siirrot eteenpäin ja siirrot taaksepäin, saadaan jo huomattava parannus. Mikäli hyvän järjestyksen aikaansaaminen olisi mahdollista, olisi algoritmi vaativuudessaan vain O(b d/2 ) minimaxin O(b d ):n sijaan. Käytännön haarautumiskerroin olisi b:n sijasta sqrt(b) eli shakissa 35:n sijasta vain 6. Tällä helpotuksella algoritmi pystyy samassa ajassa katsomaan minimaxia tuplasti pidemmälle. Aloittelijatason ohjelma muuttuu näin taitavaksi pelaajaksi (Norvig ja Russel, 1995). 5.4 Alpha-betan parannuksia Alpha-betan ongelmana on se, että se ei vain kerro hyvää siirtoa, vaan myös laskee kaikkien sallittujen siirtojen arvot. Näin käy myös esimerkiksi silloin, kun tilanteessa on 8

9 valittavana vain yksi mahdollinen siirto. Tällöin suurin osa laskelmista on turhia. Tällaisessa tilanteessa voisi ohjelma tehdä valinnan nopeammin ja säästää rajallista peliaikaa vaikeampien tilanteiden tutkimiseen. Yhtenä ratkaisuna tähän ongelmaan on olla tutkimatta siirtoja eteenpäin, jos uusien tilojen hyöty on pienempi kuin niiden tutkimiseen kuluva aika. Tällaisissa tilanteissa algoritmin tulisi pysähtyä ja tehdä siirto (Norvig ja Russel, 1995). Idean voi toteuttaa myös toisinpäin, eli mielenkiintoisia polkuja voi tutkia pidemmälle kuin muita (Walker, 1997). Alpha-betaa voi parantaa myös käyttämällä hakujen iteroivaa syvenemistä. Siinä alempien tasojen arvioiden perusteella päätetään, mistä hakua jatketaan. Matalammat haut ovat nopeita tehdä, joten niillä saadaan edullisesti luotua hakujärjestystä, mikä puolestaan lisää algoritmin tehoa (Walker, 1997). Koska pelin tiloihin pääsee yleensä useampia reittejä pitkin, on hyödyllistä tallettaa tutkitut tilat transitiotaulukkoon. Kun haussa tullaan johonkin tilaan, katsotaan, löytyykö se taulukosta. Jos näin on, voidaan tilan arvo katsoa sieltä. Tällä menetelmällä saatu hakupuun yksinkertaistus on shakissa lopulta aika pieni, koska varsinkin kriittisissä tilanteissa keskenään samanlaisia tilanteita esiintyy vain vähän (Walker, 1997). Edellämainitut parannukset korjaavat joitain alpha-betan ongelmia, mutta algoritmi on silti itsessään eksponentiaalisesti kasvava (Junghanns, 1998). 5.5 Muita algoritmejä Kaikkien algoritmien tulee tehdä jonkinlaisia oletuksia ja arvioita. Näin ollen täsmällisen oikeaa tietoa ei millään algoritmillä voi shakista saada. Alpha-betasta eroavia vaihtoehtoisia ideoita on monia, mutta ne eivät vielä pärjää parannellulle alphabetalle (Junghanns, 1998) Yhtä lukua laajempaa tietoa välittävät algoritmit Minimaxin ja alpha-betan toiminnan vaatimuksena on, että lasketut solmujen arvot ovat täysin oikeat. Koska näin ei ole, voi kenties virheellisestikin vähän toista vaihtoehtoa huonommaksi arvotettu vaihtoehto jäädä valitsematta, koska vain paras otetaan. Eräänä ratkaisuna tähän ongelmaan on tuottaa yksittäisten arvojen sijasta todennäköisyysjakaumia eri vaihtoehdoille (Norvig ja Russel, 1995). Yksi parhaiten tunnetuista vaihtoehtoisista algoritmeistä on B*-algoritmi, joka laskee raja-arvoja pelipuun solmujen mahdollisille arvoille, sen sijaan, että niille laskettaisiin yksittäinen luku (Norvig ja Russel, 1995). 9

10 5.5.2 Vastustajan mallintaminen ja ihmisen tavoin pelaaminen Vastustajan mallintaminen on nykyisin monien tutkijoiden mielenkiinnon kohteena. Ihminen ei pelatessaan aina tee vain parhaita mahdollisia ratkaisuja, joten parhaan mahdollisen vastasiirron löytämisen sijasta yritetään mallintaa ihmisvastustajaa. Minimax-algoritmilla toteutetut shakkiohjelmat yrittävät aina pelata parastaan. Joskus olisi hyötyä myös siirroista, jotka eivät ole parhaita, mutta jotka tekevät tilanteesta niin monimutkaisen, että vastustajalle järkevimmältä näyttävä siirto onkin häviävä siirto. Tähän nykytietokoneet eivät yleensä kykene (Campbell, 1997). Ihmisen tapa pelata ei ole raakaa tasaista tilojen laskemista. Ihmisellä on usein tilannetta pelatessaan mielessään tietty tavoite. Tavoitteena voi esimerkiksi olla vastustajan kuningattaren ansaan saaminen. Tällöin tutkitaan valikoiden, mitä siirtoja tehdään. Näitä kahdenlaisia algoritmejä ei vielä nykyään osata hyvin yhdistää (Norvig ja Russel, 1995). Tavallisen tietokoneen rajoitteena on ettei se opi virheistään. Tällaista pelaajaa saa parannettua vain päivättämällä ohjelmaa (Shannon, 1950). On ihan mahdollista ohjelmoida shakkitietokone opettelemaan esimerkiksi vastapelaajan pelityyliä tutkimalla hänen kanssaan pelattuja pelejä. 6 TIETOKONESHAKIN ONGELMAT JA TULEVAISUUS Olemassaolevat shakinpeluualgoritmit ovat edelleen vajavaisia. Tietokone ei osaa ajatella siirtojen keskinäistä ajoitusta, mikä on shakissa haitta. Nykykoneet eivät myöskään osaa rakentaa ansoja vastapelurille. Ansat ovat tilanteita, joissa järkevimmältä näyttävä ratkaisu onkin oikeasti huono (Campbell, 1997). Tornituksen tekeminen on koneen myös vaikea ymmärtää. Kone voi tunnistaa tiettyjä tornitusmalleja, mutta yleisen tapauksen tunnistaminen on vielä liian hankalaa. Kone voi olla muutenkin sokea. Esimerkiksi arvotuksen painottaminen nappuloiden lukumääriin voi johtaa tilanteeseen, jossa kone pelaa tyytyväisenä tilanteeseen, jossa sillä kyllä on paljon nappuloita laudalla, mutta niillä ei pääse liikkumaan, koska ne kaikki ovat sidottuina (Campbell, 1997). Deep Bluen voittaessa Kasparovin Deep Blue käytti siirtoa, jossa se uhrasi sotilaansa. Nykykoneet eivät yleensä mielellään uhraa mitään, mikä hämäsi Kasparovia (Campbell, 1997). Kun pelipuussa päästään yhdessä vuorossa syvemmälle ja syvemmälle, löydetään peliin tämänkaltaisia entistä vaativampiakin siirtoratkaisuja. Tietokoneista yritetään tehdä entistä inhimillisempiä, eli tietokonepelaaja voi tulevaisuudessa osata tehdä edellien kaltaisia siirtoja perustuen muuhunkin kuin pitkiin laskutoimituksiin. Olemassaolevia shakinpeluualgoritmejä ja niiden ideoita parannellaan edelleen, ja kokonaan uusia ajatuksia shakin pelaamiseen yritetään kehittää. Paljon ollaan kiinnostuneita vastapelaajan, eli ihmisen mallintamisesta. Optimaalisen vastapelaajan malli, jota useimmissa algoritmeissä käytetään, ei suoraan sovi ihmiseen. 10

11 7 JOHTOPÄÄTÖKSET Nykytietokoneet joutuvat edelleen käyttämään kaiken kapasiteettinsa siirtojen miettimiseen, mutta Hal kykeni shakkia pelatessaan pelaamaan voitokkaasti ja samalla hoitamaan koko avaruusaluksen kaikki muut toiminnot. Jos Hal:in teho kuitenkin olisi ääretön tämän hetken tietokoneisiin verrattuna, voisi se pelata voitokkaasti shakkia jollain brute force -menetelmällä. Ääretönkertaisilla tietokoneilla olisi shakki jo voitu saada täydellisesti mallinnettua, joten Hal:in pelaamiskyky voisi perustua tämän olemassaolevan tiedon käyttämiseen. Mikäli Hal on teholtaan nykytasoa, tai sitä vain järjellisen paljon parempi, täytyy sen pelialgoritmin olla erityisen kehittynyt. Hal oli muutenkin sulautettu järjestelmä, joten kenties siinäkin oli erityinen shakkihardware matkustajien viihdyttämistä varten. Hal pelasi shakkia inhimillisesti. Oikeat tietokoneet eivät sitä tee, eivätkä siihen vielä tällä hetkellä pysty. VIITTEET Shannon Claude E Programming a computer for playing chess. Philosophical Magazine 41. s Campbell, Murray S.; Stork, David G. (edited) An Enjoyable Game: How Hal Plays Chess. Hal s Legacy: 2001 s computer as dream and reality. Cambridge, Massachusetts. The MIT Press. s Norvig Peter, Russel Stuart Artificial Intelligence: A Modern Approach. Englewood Cliffs (NJ). Prentice Hall. Junghanns, Andreas Are There Practical Alternatives To Alpha-Beta in Computer Chess. ICCA Journal, Volume 21 s Walker A. N Further notes on computer chess. Viitattu

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU PELIPUU -1 0 1 PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu))

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU -1 0 1 PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu))!

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS PELIPUU ACTIVATOR 1 ACTIVATOR 2 PELIPUU ACTIVATOR 1 ACTIVATOR 2 -1 0 1 PELIPUU PELIPUU PELIPUU I -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu)) v = for each Lapsi in

Lisätiedot

Matinteko (1 / 10) Matinteko (2 / 10) Helpointa matin tekeminen on kahdella raskaalla upseerilla (esim. kuningattarella ja tornilla).

Matinteko (1 / 10) Matinteko (2 / 10) Helpointa matin tekeminen on kahdella raskaalla upseerilla (esim. kuningattarella ja tornilla). Shakkinappuloiden voimasuhteet Matinteko (1 / 10) Kuningas on pelin tärkein nappula, ilman kuningasta peli on hävitty. 1. Kuningas + Daami + Torni vs Kuningas Matinteko (2 / 10) Helpointa matin tekeminen

Lisätiedot

Tietokoneshakki. Kari Timonen kari.timonen@cs.helsinki.fi

Tietokoneshakki. Kari Timonen kari.timonen@cs.helsinki.fi Tietokoneshakki Kari Timonen kari.timonen@cs.helsinki.fi Tekoäly kortti- ja lautapeleissä Helsingin yliopisto, tietojenkäsittelytieteen laitos Raportti C 2008 16, s. 74 85, joulukuu 2008 Tiivistelmä Tässä

Lisätiedot

Pelaajat siirtävät nappuloitaan vastakkaisiin suuntiin pelilaudalla. Peli alkaa näin. Tuplauskuutio asetetaan yhtä kauas kummastakin pelaajasta.

Pelaajat siirtävät nappuloitaan vastakkaisiin suuntiin pelilaudalla. Peli alkaa näin. Tuplauskuutio asetetaan yhtä kauas kummastakin pelaajasta. DVD Backgammon Pelin tavoite Pelin tavoitteena on siirtää kaikki omat pelinappulat omalle sisäkentälle ja sieltä pois laudalta. Se pelaaja, joka ensimmäisenä on poistanut kaikki pelinappulansa pelilaudalta,

Lisätiedot

Ohjeet ovat työn alla ja kirjaan niitä päivittäen ja edes takaisin lukien pari viikkoa.

Ohjeet ovat työn alla ja kirjaan niitä päivittäen ja edes takaisin lukien pari viikkoa. ( 1 ) Hannu Särön lautapelien ohjeita pelaajille - ( 1 ) - Sisältö. ( 2 ) - Jätkänshakki. ( 3 ) - Reversi. ( 4 ) - Tammi. ( 5 ) - Mylly. ( 6 ) - Shakki. ( 7 ) - Shakki, uudet napit ja uudet laudat. Ohjeet

Lisätiedot

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2013-2014 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2013-2014 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia

Lisätiedot

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly Bayesin pelit Kalle Siukola MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly 12.10.2016 Toistetun pelin esittäminen automaatin avulla Ekstensiivisen muodon puu on tehoton esitystapa, jos peliä

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö Algoritmit 2 Luento 10 To 19.4.2018 Timo Männikkö Luento 10 Peruutusmenetelmä Osajoukon summa Verkon 3-väritys Pelipuut Pelipuun läpikäynti Algoritmit 2 Kevät 2018 Luento 10 To 19.4.2018 2/34 Algoritmien

Lisätiedot

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2012-2013 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2012-2013 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia

Lisätiedot

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 25.4.2017 Timo Männikkö Luento 11 Peruutusmenetelmä Osajoukon summa Pelipuut Pelipuun läpikäynti Rajoitehaku Kapsäkkiongelma Algoritmit 2 Kevät 2017 Luento 11 Ti 25.4.2017 2/29

Lisätiedot

Minimax ja alfa-beta-karsinta

Minimax ja alfa-beta-karsinta Jaakko Karhunen Minimax ja alfa-beta-karsinta Tietotekniikan kandidaatintutkielma 28. toukokuuta 2018 Jyväskylän yliopisto Informaatioteknologian tiedekunta Tekijä: Jaakko Karhunen Yhteystiedot: jakubmedvedjev@gmail.com

Lisätiedot

Blackjack on korttipeli, jossa pelaajan tavoitteena on voittaa pelinhoitaja.

Blackjack on korttipeli, jossa pelaajan tavoitteena on voittaa pelinhoitaja. POHDIN projekti Blackjack Blackjack on pelinhoitajaa vastaan pelattava korttipeli mutta myös ns. uhkapeli 1. Kun kyseessä on ns. rahapeli, niin ikäraja Suomessa on tällaiselle pelille K-18. Blackjackissä

Lisätiedot

SEKASTRATEGIAT PELITEORIASSA

SEKASTRATEGIAT PELITEORIASSA SEKASTRATEGIAT PELITEORIASSA Matti Estola 8. joulukuuta 2013 Sisältö 1 Johdanto 2 2 Ratkaistaan sukupuolten välinen taistelu sekastrategioiden avulla 5 Teksti on suomennettu kirjasta: Gibbons: A Primer

Lisätiedot

Nollasummapelit ja bayesilaiset pelit

Nollasummapelit ja bayesilaiset pelit Nollasummapelit ja bayesilaiset pelit Kristian Ovaska HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Seminaari: Peliteoria Helsinki 18. syyskuuta 2006 Sisältö 1 Johdanto 1 2 Nollasummapelit 1 2.1

Lisätiedot

http://www.nelostuote.fi/suomi/rummikubsaan.html

http://www.nelostuote.fi/suomi/rummikubsaan.html Sivu 1/5 Pelin sisältö 104 numeroitua laattaa (numeroitu 1-13) 2 laattaa kutakin neljää väriä (musta, oranssi, sininen ja punainen) 2 jokerilaattaa, 4 laattatelinettä, pelisäännöt Pelin tavoite Tavoitteena

Lisätiedot

Shakkiopas vähemmän pelanneille

Shakkiopas vähemmän pelanneille Shakkiopas vähemmän pelanneille Sisällysluettelo: 1. Siirtäminen 2. Yleisiä muodollisuuksia 3. Pöytäkirjan pito 4. Avaukset yleensä 5. Siirron miettiminen 6. Vastustajan vuoro 7. Koulumatti ja Preussilainen

Lisätiedot

Tuntemattomassa ympäristössä etsiminen

Tuntemattomassa ympäristössä etsiminen 165 Tuntemattomassa ympäristössä etsiminen Online haussa agentin on reagoitava havaintoihinsa välittömästi tekemättä pitkälle tulevaisuuteen ulottuvia suunnitelmia Tuntemattomassa ympäristössä tutkiskelu

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

Koneoppiminen shakkitekoälyissä

Koneoppiminen shakkitekoälyissä hyväksymispäivä arvosana arvostelija Koneoppiminen shakkitekoälyissä Verna Koskinen Helsinki 8.5.2016 Kandidaatin tutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS

Lisätiedot

Sisällysluettelo. 1. Johdanto

Sisällysluettelo. 1. Johdanto Säännöt Sisällysluettelo 1. Johdanto 3 2. Sisältö 4 3. Alkuvalmistelut 5 4. Pelin aloitus ja kulku 6 5. Pelin lopetus 9 6. Vaikea peli ja muut pelimuunnelmat 10 1. Johdanto Pelilauta on 25 ruudusta muodostuva

Lisätiedot

MS-C2105 Optimoinnin perusteet Malliratkaisut 5

MS-C2105 Optimoinnin perusteet Malliratkaisut 5 MS-C2105 Optimoinnin perusteet Malliratkaisut 5 Ehtamo Demo 1: Arvaa lähimmäksi Jokainen opiskelija arvaa reaaliluvun välillä [0, 100]. Opiskelijat, joka arvaa lähimmäksi yhtä kolmasosaa (1/3) kaikkien

Lisätiedot

Impedanssitomografia-peli

Impedanssitomografia-peli Impedanssitomografia-peli Avainsanat: inversio-ongelmat, päättely, satunnaisuus Luokkataso: 3.-5. luokka, 6.-9. luokka, lukio, yliopisto Välineet: kynä, paperia, 2 pelinappulaa, 4 kolikkoa tai kolikonheittokortit

Lisätiedot

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat Luento 2. Kieli merkitys ja logiikka 2: Helpot ja monimutkaiset Helpot ja monimutkaiset ongelmat Tehtävä: etsi säkillinen rahaa talosta, jossa on monta huonetta. Ratkaisu: täydellinen haku käy huoneet

Lisätiedot

Timo Myyrä. Tietokoneshakki funktionaalisella ohjelmoinnilla

Timo Myyrä. Tietokoneshakki funktionaalisella ohjelmoinnilla Timo Myyrä Tietokoneshakki funktionaalisella ohjelmoinnilla Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Insinöörityö 16.3.2011 Tiivistelmä Tekijä(t) Otsikko Sivumäärä Aika

Lisätiedot

Kognitiivinen mallintaminen 1

Kognitiivinen mallintaminen 1 Kognitiivinen mallintaminen 1 Uutta infoa: Kurssin kotisivut wikissä: http://wiki.helsinki.fi/display/kognitiotiede/cog241 Suorittaminen tentillä ja laskareilla (ei välikoetta 1. periodissa) Ongelmanratkaisu

Lisätiedot

Salasuhteita. esimerkiksi espanjaksi nimi tarkoittaa pientä pusua.

Salasuhteita. esimerkiksi espanjaksi nimi tarkoittaa pientä pusua. Salasuhteita Avioliittopeleistä kehiteltiin edelleen uusia pelejä, joissa varsinaisten avioliittojen lisäksi kohdataan sopimattomia suhteita kuningatarten ja sotilaiden välillä vieläpä maiden rajat ylittäen!

Lisätiedot

SÄÄNNÖT. Language: English / Suomi

SÄÄNNÖT. Language: English / Suomi Rules of Coerceo by Coerceo Company Finnish translation by Janne Henriksson SÄÄNNÖT Language: English / Suomi Tekijänoikeus Mitään tämän dokumentin osaa ei saa jäljentää, kopioida tai välittää missään

Lisätiedot

Trafficars - Ruuhkaara

Trafficars - Ruuhkaara 760104 Trafficars - Ruuhkaara 2 5 pelaajaa Ikäsuositus 5+, 8+ Peliaika 10 15 minuuttia Pelipaketin sisältö 50 autokorttia 12 erikoiskorttia ohjevihko Pelissä: Opitaan liikkumaan lukualueella 0 50. Harjoitellaan

Lisätiedot

Opettajan opas. Shakkilinna www.shakkilinna.fi info@shakkilinna.fi

Opettajan opas. Shakkilinna www.shakkilinna.fi info@shakkilinna.fi Opettajan opas Shakkilinna www.shakkilinna.fi info@shakkilinna.fi Saatteeksi kerho-ohjaajalle Säännöt hanskaan ja pelaamaan käsittelee shakkipelin perusteet kymmenen kerhotunnin (45 minuuttia) aikana.

Lisätiedot

Hex-pelin matematiikkaa

Hex-pelin matematiikkaa Solmu 3/2013 1 Hex-pelin matematiikkaa Tuomas Korppi Johdanto Hex on kahden pelaajan strategiapeli, jonka ovat keksineet toisistaan riippumatta matemaatikot Piet Hein ja taloustieteen Nobelinkin saanut

Lisätiedot

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy?

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy? 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

Lisätiedot

LUMATE-tiedekerhokerta, suunnitelma AIHE: PELIT JA TAKTIIKAT

LUMATE-tiedekerhokerta, suunnitelma AIHE: PELIT JA TAKTIIKAT LUMATE-tiedekerhokerta, suunnitelma AIHE: PELIT JA TAKTIIKAT 1. Alkupohdintaa Mitä lempipelejä oppilailla on? Ovatko ne pohjimmiltaan matemaattisia? (laskeminen, todennäköisyys ) Mitä taktiikoita esimerkiksi

Lisätiedot

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy?

Ongelma 1: Mistä joihinkin tehtäviin liittyvä epädeterminismi syntyy? 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

Lisätiedot

Johdatus go-peliin. 25. joulukuuta 2011

Johdatus go-peliin. 25. joulukuuta 2011 Johdatus go-peliin 25. joulukuuta 2011 Tämän dokumentin tarkoitus on toimia johdatuksena go-lautapeliin. Lähestymistapamme poikkeaa tavallisista go-johdatuksista, koska tässä dokumentissa neuvotaan ensin

Lisätiedot

Tuloperiaate. Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta

Tuloperiaate. Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta Tuloperiaate Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta ja 1. vaiheessa valinta voidaan tehdä n 1 tavalla,. vaiheessa valinta voidaan tehdä n tavalla,

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

Onnistut yrittämässäsi, mutta jokin täysin epäolennainen. vikaan.

Onnistut yrittämässäsi, mutta jokin täysin epäolennainen. vikaan. KYLLÄ, JA Onnistut yrittämässäsi ja saavutat enemmän kuin odotit, enemmän kuin kukaan osasi odottaa. KYLLÄ, MUTTA Onnistut yrittämässäsi, mutta jokin täysin epäolennainen asia menee vikaan. EI, MUTTA Et

Lisätiedot

ORMS2020 Päätöksenteko epävarmuuden vallitessa Syksy 2008. päätöspuiden avulla tarkastellaan vasta seuraavissa harjoituksissa.

ORMS2020 Päätöksenteko epävarmuuden vallitessa Syksy 2008. päätöspuiden avulla tarkastellaan vasta seuraavissa harjoituksissa. ORMS00 Päätöksenteko epävarmuuden vallitessa Syksy 008 Harjoitus Ratkaisuehdotuksia Nämä harjoitukset liittyvät päätöspuiden rakentamiseen: varsinaista päätöksentekoa päätöspuiden avulla tarkastellaan

Lisätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

Pelin sisältö: Pelilauta, tiimalasi, 6 pelinappulaa ja 400 korttia.

Pelin sisältö: Pelilauta, tiimalasi, 6 pelinappulaa ja 400 korttia. 7+ 4+ 60+ FI Pelin sisältö: Pelilauta, tiimalasi, 6 pelinappulaa ja 400 korttia. Selitä sanoja käyttäen eri sanoja, synonyymejä tai vastakohtia! Tarkoituksena on saada oma pelikumppani tai joukkue arvaamaan

Lisätiedot

Yhteistyötä sisältämätön peliteoria

Yhteistyötä sisältämätön peliteoria Yhteistyötä sisältämätön peliteoria jarkko.murtoaro@hut.fi Optimointiopin seminaari Kevät 2003 / 1 Sisältö Johdanto Käsitteistö Työkalut Nashin tasapaino Täydellinen tasapaino Optimointiopin seminaari

Lisätiedot

Tenniksen pistelaskusäännöt, lukio/ammatilliset oppilaitokset

Tenniksen pistelaskusäännöt, lukio/ammatilliset oppilaitokset Tenniksen pistelasku Useimmat meistä ovat joskus katsoneet TV:stä tennisottelua. Katsoja kokee jännitystä voidessaan seurata kuinka pisteden kertyminen johtaa ottelun päättymisen toisen pelaajan voittoon

Lisätiedot

Harjoitussuunnitelma viikko 18 Kärkipotku II

Harjoitussuunnitelma viikko 18 Kärkipotku II Harjoitussuunnitelma viikko 18 Kärkipotku II = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku = Keila Harjoituskerralla

Lisätiedot

PANA RY LIIGASA A NNÖ T

PANA RY LIIGASA A NNÖ T PANA RY LIIGASA A NNÖ T 2013 2014 Liigasäännöt ovat PANA ry:n hallituksen laatimat ja hyväksymät. Hallituksella on oikeus muuttaa ja muokata liigapelien sääntöjä, mikäli näkee sen tarpeelliseksi. Sisällysluettelo

Lisätiedot

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET

KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET KOKO PERHEEN HAUSKA STRATEGIAPELI OHJEET ROBOGEM_Ohjevihko_148x210mm.indd 1 PELIN TAVOITE Robotit laskeutuvat kaukaiselle planeetalle etsimään timantteja, joista saavat lisää virtaa aluksiinsa. Ohjelmoi

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

Kiinalaisen shakin esittely

Kiinalaisen shakin esittely 1 / 10 Kiinalaisen shakin esittely Kuva 1 : Kiinalainen shakki Kuva 2 : Shakki Kuvia vertailemalla havaitaan, että monet nappulat ovat samassa järjestyksessä. Kiinalaisessa shakissa nappulat tosin liikkuvat

Lisätiedot

TEAMGOLF-KUTSU. Kilpailu järjestetään Veritas-Stadionin sisähallissa (Hippoksentie 6, Kupittaa, Turku) sunnuntaina 22.1.2006.

TEAMGOLF-KUTSU. Kilpailu järjestetään Veritas-Stadionin sisähallissa (Hippoksentie 6, Kupittaa, Turku) sunnuntaina 22.1.2006. TEAMGOLF-KUTSU Ajankohta Kilpailu järjestetään Veritas-Stadionin sisähallissa (Hippoksentie 6, Kupittaa, Turku) sunnuntaina 22.1.2006. Lähtöaika Ensimmäinen lähtö klo 10.00. Pelitapa Kierrokset Parikilpailu

Lisätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

Harjoitussuunnitelma viikko 17 Kärkipotku I

Harjoitussuunnitelma viikko 17 Kärkipotku I Harjoitussuunnitelma viikko 17 Kärkipotku I = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku = Keila Harjoituskerran

Lisätiedot

Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009

Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009 Antitammirobotti Antti Meriläinen Martin Pärtel 29. toukokuuta 2009 Helsingin yliopisto Tietojenkäsittelytieteen laitos Robottiohjelmoinnin harjoitustyö

Lisätiedot

Harjoitus 6 ( )

Harjoitus 6 ( ) Harjoitus 6 (30.4.2014) Tehtävä 1 Määritelmän (ks. luentomoniste s. 109) mukaan yleisen, muotoa min f(x) s.t. g(x) 0 h(x) = 0 x X (1) olevan optimointitehtävän Lagrangen duaali on max θ(u,v) s.t. u 0,

Lisätiedot

CHESS & GAMES KÄYTTÖOHJE

CHESS & GAMES KÄYTTÖOHJE CHESS & GAMES KÄYTTÖOHJE Sisällysluettelo Luku 1: Esittely... 4 1.1 Millennium-tietokone... 4 1.2 Paristojen asettaminen... 4 1.3 Kielen valinta... 5 1.4 Nestekidenäyttö... 5 1.5 Pelilauta... 5 1.6 Tekstialue...

Lisätiedot

Pohdiskeleva ajattelu ja tasapainotarkennukset

Pohdiskeleva ajattelu ja tasapainotarkennukset Pohdiskeleva ajattelu ja tasapainotarkennukset Sanna Hanhikoski 24.3.2010 Sisältö Pohdiskeleva ajattelu Nashin tasapainotarkennukset Täydellinen tasapaino Täydellinen bayesiläinen tasapaino Vaiheittainen

Lisätiedot

Pelin tavoitteena on kerätä eniten eläin-pelimerkkejä ennen takaisin leiriin palaamista.

Pelin tavoitteena on kerätä eniten eläin-pelimerkkejä ennen takaisin leiriin palaamista. OHJE / PELIOHJE 1 (5) Eläinsafari yli 5-vuotiaille pelilauta 4 värikästä jeeppi-pelikorttia 4 värikästä kortinpidikettä 2 noppaa 40 eläinkorttia, joissa 1-3 eläintä laskutaitoa taktikointia Kasatkaa pelilauta.

Lisätiedot

PELIOHJEET (suomeksi) Koira. Peli on kaksivaiheinen: Vaihe 1:

PELIOHJEET (suomeksi) Koira. Peli on kaksivaiheinen: Vaihe 1: PELIOHJEET (suomeksi) Koira Peli on kaksivaiheinen: Vaihe 1: Jokaiselle osanottajalle/pelaajalle jaetaan kolme (3) korttia. Loput kortit asetetaan pelipöydälle pinoon, pakaksi. Huomattavaa on, että pakan

Lisätiedot

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint. Yleiset hakupuut 4 Monitiehakupuu: Binäärihakupuu 0 1 3 5 6 7 8 v k 1 k k 3 v v 3 v 4 k 1 k 3 k 1 k k k 3 d lapsisolmua d 1 avainta Yleinen hakupuu? Tietorakenteet, syksy 007 1 Esimerkki monitiehakupuusta

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

- 4 aloituslaattaa pelaajien väreissä molemmille puolille on kuvattu vesialtaat, joista lähtee eri määrä akvedukteja.

- 4 aloituslaattaa pelaajien väreissä molemmille puolille on kuvattu vesialtaat, joista lähtee eri määrä akvedukteja. AQUA ROMANA Vesi oli elintärkeä ja keskeinen edellytys Rooman imperiumin kehitykselle. Vedensaannin turvaamiseksi taitavimmat rakennusmestarit rakensivat valtavan pitkiä akvedukteja, joita pidetään antiikin

Lisätiedot

Muumion kirous. Pelisuunnitteludokumentti. Veikkauksen pelisuunnittelukilpailua (Peliskaba2015) varten

Muumion kirous. Pelisuunnitteludokumentti. Veikkauksen pelisuunnittelukilpailua (Peliskaba2015) varten Pelisuunnitteludokumentti Muumion kirous Veikkauksen pelisuunnittelukilpailua (Peliskaba2015) varten Tekijä: Esko Vankka Osoite: Yliopistonkatu 39 E 51, 33500 Tampere Puh: 0400 832 907 Email: esko.pj.vankka@gmail.com

Lisätiedot

Pinta-ala- ja tilavuuskäsitteiden oppimispeli

Pinta-ala- ja tilavuuskäsitteiden oppimispeli Pinta-ala- ja tilavuuskäsitteiden oppimispeli Kari Mikkola, FM, OSAO, Kaukovainion yksikkö, tekniikka Geometriaa on perinteisesti osattu heikoiten matematiikan osa-alueista peruskoulun päättyessä [1],

Lisätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4

Lisätiedot

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

Algoritmit 2. Luento 4 Ke Timo Männikkö

Algoritmit 2. Luento 4 Ke Timo Männikkö Algoritmit 2 Luento 4 Ke 22.3.2017 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2017 Luento 4

Lisätiedot

III- Divisioona playoff- ottelut Etelän loppusarjan ylempi jatkosarja ja Kymi-Saimaan loppusarja

III- Divisioona playoff- ottelut Etelän loppusarjan ylempi jatkosarja ja Kymi-Saimaan loppusarja 6.3.2014 III- Divisioona playoff- ottelut Etelän loppusarjan ylempi jatkosarja ja Kymi-Saimaan loppusarja Huom. Välierät ja finaalit pelataan paras kahdesta järjestelmällä (ja 2 pisteen systeemillä) peliajan

Lisätiedot

Muinaiset kreikkalaiset uskoivat kaiken maanpäällisen koostuvan neljästä elementistä: maasta, ilmasta, vedestä ja tulesta.

Muinaiset kreikkalaiset uskoivat kaiken maanpäällisen koostuvan neljästä elementistä: maasta, ilmasta, vedestä ja tulesta. Johdanto Muinaiset kreikkalaiset uskoivat kaiken maanpäällisen koostuvan neljästä elementistä: maasta, ilmasta, vedestä ja tulesta. Jumalten maailma, kaikki ihmisten maailman yläpuolinen, koostui viidennestä

Lisätiedot

Board Game Lab. 7 Pelimekaniikat ja -systeemit. Materiaalit CC-BY 4.0 Mikko Lampi

Board Game Lab. 7 Pelimekaniikat ja -systeemit. Materiaalit CC-BY 4.0 Mikko Lampi Board Game Lab 7 Pelimekaniikat ja -systeemit Materiaalit CC-BY 4.0 Mikko Lampi Sisältö Alustus 1. Mekaniikat ja niiden tehtävät 2. Miten valitsen tai suunnittelen mekaniikkoja? 3. Pelimekaniikat ja -systeemit

Lisätiedot

Harjoitussuunnitelma viikko 14 Potkaiseminen II

Harjoitussuunnitelma viikko 14 Potkaiseminen II Harjoitussuunnitelma viikko 14 Potkaiseminen II = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku Harjoituskerralla

Lisätiedot

Peliteoria luento 1. May 25, 2015. Peliteoria luento 1

Peliteoria luento 1. May 25, 2015. Peliteoria luento 1 May 25, 2015 Tavoitteet Valmius muotoilla strategisesti ja yhteiskunnallisesti kiinnostavia tilanteita peleinä. Kyky ratkaista yksinkertaisia pelejä. Luentojen rakenne 1 Joitain pelejä ajanvietematematiikasta.

Lisätiedot

1 PÖYDÄT JA PALLOT 1. Kilpailuissa tulee käyttää Suomen Biljardiliiton hyväksymiä pöytiä ja palloja.

1 PÖYDÄT JA PALLOT 1. Kilpailuissa tulee käyttää Suomen Biljardiliiton hyväksymiä pöytiä ja palloja. KARAMBOLEN SÄÄNNÖT Kolmen vallin kara Yhden vallin kara Suora kara - Cadre YHTEISET SÄÄNNÖT KAIKILLE PELIMUODOILLE 1 PÖYDÄT JA PALLOT 1. Kilpailuissa tulee käyttää Suomen Biljardiliiton hyväksymiä pöytiä

Lisätiedot

TURNAUSOHJEET. Turnauksen tavoite. Ennen aloitusta. Taistelukierroksen Pelaaminen. www.ninjago.com

TURNAUSOHJEET. Turnauksen tavoite. Ennen aloitusta. Taistelukierroksen Pelaaminen. www.ninjago.com Turnauksen tavoite Ennen aloitusta Haluatko Spinjitzumestariksi? Valitse vastustaja ja mittele taitojasi monella kierroksella. Voitat ottamalla vastustajaltasi kaikki aseet! Jokainen pelaaja tarvitsee

Lisätiedot

Pelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä!

Pelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä! Pelivaihtoehtoja Yksinkertaisin vaihtoehto: lfapetia voi pelata monella eri tavalla. Yksinkertaisimmassa vaihtoehdossa käytetään ainoastaan kirjainlaattoja. Pelilaudan miinusruudut ovat tavallisia ruutuja,

Lisätiedot

11 Oligopoli ja monopolistinen kilpailu (Mankiw & Taylor, Ch 17)

11 Oligopoli ja monopolistinen kilpailu (Mankiw & Taylor, Ch 17) 11 Oligopoli ja monopolistinen kilpailu (Mankiw & Taylor, Ch 17) Oligopoli on markkinamuoto, jossa markkinoilla on muutamia yrityksiä, jotka uskovat tekemiensä valintojen seurauksien eli voittojen riippuvan

Lisätiedot

Käytetään SEUL overwatch sääntöjen ingame asetuksia. Kotijoukkueen kapteeni on vastuussa lobbyn tekemisestä.

Käytetään SEUL overwatch sääntöjen ingame asetuksia. Kotijoukkueen kapteeni on vastuussa lobbyn tekemisestä. Turnauksessa sovelletaan yleisesti SEUL:in OW sääntöjä (http://seul.fi/wpcontent/uploads/2014/01/seul_ow_v1.pdf), poislukien eettinen osuus sekä kohdat jotka eroavat alla jäljempänä mainituista (joukkue

Lisätiedot

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja

Lisätiedot

Tehtävä: FIL Tiedostopolut

Tehtävä: FIL Tiedostopolut Tehtävä: FIL Tiedostopolut finnish BOI 2015, päivä 2. Muistiraja: 256 MB. 1.05.2015 Jarkka pitää vaarallisesta elämästä. Hän juoksee saksien kanssa, lähettää ratkaisuja kisatehtäviin testaamatta esimerkkisyötteillä

Lisätiedot

Algoritmit 2. Luento 12 To Timo Männikkö

Algoritmit 2. Luento 12 To Timo Männikkö Algoritmit 2 Luento 12 To 3.5.2018 Timo Männikkö Luento 12 Geneettiset algoritmit Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Algoritmit 2 Kevät 2018 Luento 12 To 3.5.2018 2/35 Algoritmien

Lisätiedot

Näkyvissä kioskirakennuksen seinällä olevalla ilmoitustaululla.

Näkyvissä kioskirakennuksen seinällä olevalla ilmoitustaululla. P02 SYYSTURNAUSINFO 2015 Tervetuloa FC Halikko P02/P03-joukkueiden järjestämään jalkapalloturnaukseen Halikon Aseman Urheilukentälle (Mustamäentie 153). Karttalinkki Turnaustoimisto Pysäköinti Turnaustoimisto

Lisätiedot

CSC:N SHAKKIKOULU. esittää: Kuinka mestari ajattelee?

CSC:N SHAKKIKOULU. esittää: Kuinka mestari ajattelee? CSC:N SHAKKIKOULU esittää: Kuinka mestari ajattelee? The topic of the 3rd lecture is an in-depth dive to the thinking of chess player - chess knowledge, memory, time management, all discussed through a

Lisätiedot

VILLIN ILMAPIIRIN JA NOPEIDEN REFLEKSIEN KORTTIPELI 2 8 PELAAJAA I DB001 KÄ ALK 01SCAN/A

VILLIN ILMAPIIRIN JA NOPEIDEN REFLEKSIEN KORTTIPELI 2 8 PELAAJAA I DB001 KÄ ALK 01SCAN/A VILLIN ILMAPIIRIN JA NOPEIDEN REFLEKSIEN KORTTIPELI 2 8 PELAAJAA IKÄ ALKAEN 6 VUOTTA 2015-1/DOBB01SCAN/ADB001 Pelisäännöt Dobble, mikä se on? Dobble on yli 50 merkkiä, 55 korttia joista jokaisessa on 8

Lisätiedot

Peli-idea puolustuspeli. Hyökkäysalueella puolustaminen (muoto)

Peli-idea puolustuspeli. Hyökkäysalueella puolustaminen (muoto) Peli-idea puolustuspeli Hyökkäysalueella puolustaminen (muoto). - Jätä hieman vapaaksi vastustajan puolustuslinjan pelaajia, houkuttele syöttämään, prässää nopeasti ja samanaikaisesti! Peli-idea puolustuspeli.

Lisätiedot

Evoluutiopuu. Aluksi. Avainsanat: biomatematiikka, päättely, kombinatoriikka, verkot. Luokkataso: 6.-9. luokka, lukio

Evoluutiopuu. Aluksi. Avainsanat: biomatematiikka, päättely, kombinatoriikka, verkot. Luokkataso: 6.-9. luokka, lukio Evoluutiopuu Avainsanat: biomatematiikka, päättely, kombinatoriikka, verkot Luokkataso: 6.-9. luokka, lukio Välineet: loogiset palat, paperia, kyniä Kuvaus: Tehtävässä tutkitaan bakteerien evoluutiota.

Lisätiedot

Kirjoita ohjelma jossa luetaan kokonaislukuja taulukkoon (saat itse päättää taulun koon, kunhan koko on vähintään 10)

Kirjoita ohjelma jossa luetaan kokonaislukuja taulukkoon (saat itse päättää taulun koon, kunhan koko on vähintään 10) Tehtävä 40. Kirjoita ohjelma, jossa luetaan 20 lukua, joiden arvot ovat välillä 10 100. Kun taulukko on täytetty, ohjelma tulostaa vain ne taulukon arvot, jotka esiintyvät taulukossa vain kerran. Tehtävä

Lisätiedot

CSC:N SHAKKIKOULU. esittää: Taktinen pelitapa ja kuningashyökkäykset

CSC:N SHAKKIKOULU. esittää: Taktinen pelitapa ja kuningashyökkäykset CSC:N SHAKKIKOULU esittää: Taktinen pelitapa ja kuningashyökkäykset 14.2.2019 Pelin evoluutio Useimmissa globaalisti kilpailluissa urheilulajeissa ja peleissä on käynnissä valtava pelin evoluutio. Digitalisoituminen,

Lisätiedot

Harjoitussuunnitelma viikko 15 Sisäsyrjäpotku I

Harjoitussuunnitelma viikko 15 Sisäsyrjäpotku I Harjoitussuunnitelma viikko 15 Sisäsyrjäpotku I = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku = Keila Harjoituskerran

Lisätiedot

CSC:N SHAKKIKOULU. esittää:

CSC:N SHAKKIKOULU. esittää: CSC:N SHAKKIKOULU esittää: Muunnelmien laskeminen Calculating variations, visualizing and evaluating possible positions, and using the brute force in chess 4.4.2019 Muunnelmien laskeminen - henkilöhistoriaa

Lisätiedot

Yleiset säännöt Shakissa on tavoitteena voittaa vastustaja vangitsemalla tämän kuningas.

Yleiset säännöt Shakissa on tavoitteena voittaa vastustaja vangitsemalla tämän kuningas. DVD Shakki Säännöt Shakkitehtävät Klassiset ottelut Ekstrat - Avaussiirrot - Pelaajafaktat Yleiset säännöt Shakissa on tavoitteena voittaa vastustaja vangitsemalla tämän kuningas. Valkoinen siirtää aina

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

Peliteoria Strategiapelit ja Nashin tasapaino. Sebastian Siikavirta sebastian.siikavirta@helsinki.fi

Peliteoria Strategiapelit ja Nashin tasapaino. Sebastian Siikavirta sebastian.siikavirta@helsinki.fi Peliteoria Strategiapelit ja Nashin tasapaino Sebastian Siikavirta sebastian.siikavirta@helsinki.fi Helsinki 11.09.2006 Peliteoria Tomi Pasanen HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö

Lisätiedot

1) Pelin ollessa käynnissä kummastakin joukkueesta saa olla samanaikaisesti kentällä enintään

1) Pelin ollessa käynnissä kummastakin joukkueesta saa olla samanaikaisesti kentällä enintään SÄÄNNÖT PELIAIKA 1) Peliaika on 18 minuuttia. 2) Peliaika on juokseva. OSALLISTUJAT Pelaajat 1) Pelin ollessa käynnissä kummastakin joukkueesta saa olla samanaikaisesti kentällä enintään kuusi pelaajaa,

Lisätiedot

ALHAMBRA. Muuri Seralji Puutarha Holvikäytävä Paviljonki Asuinrakennus Torni Rakennuksen nimi Hinta

ALHAMBRA. Muuri Seralji Puutarha Holvikäytävä Paviljonki Asuinrakennus Torni Rakennuksen nimi Hinta ALHAMBRA Parhaat rakennusmestarit kaikkialta Euroopasta ja Arabiasta haluavat näyttää taitonsa. Palkkaa sopivimmat työjoukot ja varmista, että sinulla on aina tarpeeksi oikeaa valuuttaa. Sillä kaikkia

Lisätiedot

Pyramidin yleiset säännöt

Pyramidin yleiset säännöt Pyramidin yleiset säännöt 1. Biljardivälineet ja tarvikkeet Seuraavassa kuvattuihin pyramidi -pelin versioiden pelaamiseen tarvittavat välineet ovat biljardipöytä, pallot sekä apuvälineet (mm. resti).

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole.

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole. 1 Unelma-asiakas Ohjeet tehtävän tekemiseen 1. Ota ja varaa itsellesi omaa aikaa. Mene esimerkiksi kahvilaan yksin istumaan, ota mukaasi nämä tehtävät, muistivihko ja kynä tai kannettava tietokone. Varaa

Lisätiedot