390 likes | 686 Views
Hierarkia. Strategialautapeli: Harjoitustyö 2009. Peleistä:yleistä. Luokitteluja "First-person-shooter" games Card games Chess-like games Gambling games Luokittelu 2 Games requiring hand-eye coordination Card games Games played on a grid Gambling games. Luokittelu:peliteoria
E N D
Hierarkia Strategialautapeli: Harjoitustyö 2009
Peleistä:yleistä • Luokitteluja • "First-person-shooter" games • Card games • Chess-like games • Gambling games • Luokittelu 2 • Games requiring hand-eye coordination • Card games • Games played on a grid • Gambling games
Luokittelu:peliteoria • Static games of complete information • Dynamic games of complete information • Static games of incomplete information • Dynamic games of incomplete information
Strategialautapelit:yleistä • Strategialautapeli • Täydellisen informaation dynaaminen peli • suljettu formaali järjestelmä • Formaali järjestelmä = systeemi, jossa on tarkasti määritelty • käytettävissä olevat merkit eli aakkoset • kaavojen muodostussäännöt eli kielioppi • päättelysäännöt • aksioomat eli alkuoletukset.
Strategialautapelit:yleistä • Peleihin liittyvät primitiivit: • Movement • move,phase,turn,round,step • Tangibels • board,piece,compartments • Abstract facets of play • genre,information,endings
Strategialautapelit:yleistä • Pelaaminen : pelaajat muuttavat peliasemaa diskreettien tilojen kautta alkutilasta lähtien kohti lopputilaa tekemällä vuorotellen siirtoja.
Strategialautapelit:yleistä • Peleihin ja pelaamiseen liittyvät filosofiset ja kognitiiviset kysymykset • Tunnusomaista pelaamiselle on epävarmuus lopputuloksesta – pelaajan on aina otettava riskejä • tuntemattoman viehätys • etsinnällisyyden tarve • luovuus, nerous...
Taustaa • Motivaatio: Shakin mahdollisuudet ehtymässä • ->menettääkö shakki viehätyksensä, kun tietokone voittaa parhaat ihmispelaajat
Taustaa • Vahvuusluvut shakissa • Mitä korkeampi luku sitä vahvempi pelaaja • Keskimääräinen turnauspelaaja 1400-1700 • Vahva turnauspelaaja 1900-2100 • Tyypillisesti pienikokoisen kaupungin/paikkakunnan paras pelaaja • Mestari 2200 • Tyypillisesti keskikokoisen kaupungin kärkipelaaja • Suurmestari 2500-2600 • Kansallista huipputasoa
Taustaa • Kansainvälinen huipputaso 2700+ • Ennätys G.Kasparov 2851 (heinäkuu 1999/tammikuu 2000) • G.Kasparov #1 1985-2004 • Tammikuu 2010 kärkiluku 2810 (M.Carlsen NOR)
Taustaa • Huipputason shakkiohjelmien kehitys 1998-2003
Taustaa • Huipputietokoneet vs. Huippupelaajat
Taustaa • 24.11.2005 People vs Computers World Chess Team Match • 8:4 final score for the machines – what next?
Taustaa • 11-12/2006 Maailmanmestari Vladimir Kramnik vs. Deep Fritz 2-4 • Kramnik (+0 =4 –2)
Taustaa • 19.7.2007: ”Perfection in checkers” • Albertan yliopiston tutkijat: Tammipeli ratkaistu täydellisesti • päättyy aina alkuasemasta tasapeliin pelattaessa objektiivisesti parhaalla tavalla
Taustaa • Uudet monimutkaisemmat pelit, jotka intuisiivisesti helppoja, mutta tietokoneelle vaikeita • Onko lainkaan mahdollista kehittää peliä, jonka salaisuudet avautuvat vain taitavalle ihmispelaajalle? • Mooren laki: tietokoneiden teho kaksinkertaistuu n. 18-24 kuukaudessa?
Taustaa • Arimaa-peli (2002) • Pelataan shakin tavoin 8*8 ruudun laudalla • Säännöt helppo oppia -suuri haarautumiskerroin • Brute-force tekniikka (toistaiseksi) riittämätön • Tietokoneohjelmat eivät parhaiden ihmispelaajien tasoa
Hierarkia (1993-) • Suunniteltu alunperin kahden ihmisen pelattavaksi peliksi • 1. tietokoneimplementaatio 2003 • Harjoitustyön aiheena 2005,2006,2007, 2008,2009 • 30-40 peliohjelmaa vuosittain
Hierarkia (1993-) • kahden hengen strategialautapeli, • kompakti, säännöt helposti opittavissa • haarautumiskerroin useimmiten suurempi kuin shakissa(>30) • Nappulalla kolme perusominaisuutta • hyökkääminen • tukeminen • blokkaaminen
Peliohjelmien rakenne ja toiminta • Shakki • ohjelmat koostuvat kolmesta perusosasta: • siirtogeneraattori • arvotusfunktio • hakualgoritmi
Shakkiohjelma • Siirtogeneraattori • tuottaa asemasta sallitut siirrot • Arvotusfunktio • arvioi aseman • Materiaali • Liikkuvuus • Kehitys
Shakkiohjelma • Arvotusfunktio 4.Painostus kuningasta kohtaan 5.Sotilasasema 6.Keskustan hallinta 7.Kuninkaan turvallisuus
Shakkiohjelma • Hakualgoritmi • etsii parhaan jatkon • minimax • kumpikin valitsee kannaltaan parhaan vaihtoehdon, kun puuta käydään läpi alhaalta ylös • alfa-beta karsinta
Asianharrastajakysymyksiä • Löytyykö pelille helposti ratkaisu kun laudan koko pieni • Muuttuuko pelin luonne, olemus ja perusstrategia, kun laudan koko ja nappuloiden arvot vaihtelevat • Millä em. arvojen kombinaatioilla peli on kiehtovimmillaan • Onko aloittaminen yleisesti ottaen etu? • Kokeile myös esim. pelejä joissa kaikki nappulat samanarvoisia
Sapluuna opinnäyte/erikoistyöksi • Complexity Analysis • Evaluation of Positions • Searching the Tree • Tuning the Evaluation Function • Testing the Search Algorithm • Conclusions
Pelien ohjelmointi • Gödelin epätäydellisyyslauseet • aksiomaattista järjestelmää ei voida osoittaa ristiriidattomaksi sen omista aksioomista lähtien. • Tämä siis voisi onnistua vain laajemmassa järjestelmässä, jota ei puolestaan voida osoittaa ristiriidattomaksi • Ihmismieli on kykenemätön mekanisoimaan kaikkia matemaattisia intuitioitaan
Formaalien järjestelmien (pelien) ohjelmointi • Onko olemassa matemaattisen intuition tuottamaa (yhden muuttujan x) funktiota f(x), jonka arvo kasvaa niin voimakkaasti, että sitä on mahdoton äärellisesti kuvailla? • Vakiofunktio f=ax kasvaa sitä voimakkaammin mitä suurempi on a:n arvo • Polynomifunktio ax^b kasvaa sitä voimakkaamin mitä suurempia ovat a:n ja b:n arvot
Ohjelmointi • Eksponenttifunktio a(exp x) kasvaa aina voimakkaammin kuin polynomifunktio riittävän suurilla x:n arvoilla • Tetraatio kasvaa eksponenttifunktiota voimakkaammin • Merkitään ab • Esim 55 = 5^5^5^5^5
Ohjelmointi • Knuth’in operaatio (Knuth's up-arrow notation) • Tetraatiota voimakkaampi operaatio • Grahamin luku G
Ohjelmointi • Busy Beaver • Turingin kone • Tilakone • 2 inputia:nykyinen tila, nauhan arvo(0 tai 1) • 3 outputia:kirjoitettava symboli(1), suunta johon siirretään (vasen/oikea), tila johon siirrytään • Kone jatkaa , kunnes saavutaan pysähtymistilaan • Pysähtymisongelma • Kokonaislukumuuttujien funktiot • S(n) askelten määrä • S(n) kirjoitettujen 1-symboleiden määrä
Ohjelmointi • Turingin kone • Esim. 2-tilainen Busy Beaver • S(2)=6 S(2)=4 • S(3)=21 S(3)=6 • S(4)=107 S(4)=13 • S(5)=? S(5)=? • S(n)=? S(n)=? • voidaan todistaa (Rado 1962 vrt. Gödelin epätäydellisyyslause ) S(n) S(n) arvojen laskeminen mahdotonta kun n>=5
Busy Beaver • Merkitys tietojenkäsittelytieteelle • Simulaatiot, algoritmit S(n) S(n):lle
Kirjallisuutta, oheislukemista • Arimaa • http://fi.wikipedia.org/wiki/Arimaa_(peli) • http://arimaa.com/arimaa/ • Kybernetiikan alkeet • http://www.control.hut.fi/Kurssit/AS-74.4192/
Kirjallisuutta, oheislukemista • Verkkoteoria • http://fi.wikipedia.org/wiki/Verkkoteoria • Soluautomaatit teoria • http://www.stephenwolfram.com/publications/articles/ca/ • Stephen Wolfram:A new Kind of Science
Kirjallisuutta, oheislukemista • Robert Gibbons: “A primer in game theory” • Pelit, tietokone ja ihminen • http://www.mlab.uiah.fi/~timo/pelit99/
Pelit ja pelaaminen • Objektiivinen epävarmuus • Sören Kierkegaard (1813-1855): autenttinen olemassaolo on olemista uskon (=pelin)varassa • usko ei ole tietoaineksinen suhde vaan fundamentaalinen tila, joka luonnehtii ihmisen suhdetta olemassaoloon, milloin olemassaolo näyttäytyy aidoimmillaan • uskoon kuuluu aines, jota Kierkegaard kutsuu hypyksi • vaatimus omakohtaisesta valinnasta:subjektin oma sisäinen henkilökohtainen teko
Pelit ja pelaaminen • Objektiivinen epävarmuus • ollakseen autenttisesti olemassa ihmisen on pakko hypätä • ollakseen autenttisesti subjekti , ihmisen on pakko uskoa objektiivisen epävarmuuden edessä • usko, riski, epävarmuus, hyppy...
Pelit ja pelaaminen • Objektiivinen epävarmuus • ”Kierkegaardin uskonnollinen ihminen seisoo rotkonsa reunalla kaukana järjen tavoittamattomissa – käsitteillä kuvaamattoman etäisyyden päässä. Ei ketään ympärillä, vain rotko suoraan edessä ja sisällä oma intohimo, oma jyskyttävä subjektiivisuus. Rotkon toisella puolella on Jumala; niin hän uskoo. Ja hänen on hypättävä” (Esa Saarinen-Länsimaisen filosofian historia)