JOHDATUS TEKOÄLYYN TEEMU ROOS

Samankaltaiset tiedostot
JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

Minimax ja alfa-beta-karsinta

Algoritmit 2. Luento 10 To Timo Männikkö

Tietokoneshakki. Kari Timonen

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

Algoritmit 2. Luento 11 Ti Timo Männikkö

JOHDATUS TEKOÄLYYN TEEMU ROOS

Koneoppiminen shakkitekoälyissä

JOHDATUS TEKOÄLYYN TEEMU ROOS

Timo Myyrä. Tietokoneshakki funktionaalisella ohjelmoinnilla

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

SM-turnaukset /5

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

Johdatus tekoälyyn

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

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

Johdatus tekoälyyn (T. Roos) Kurssikoe

Sarjatiedote 2012 Joukkueilla pitää olla yhtenäinen peliasu.

JOHDATUS TEKOÄLYYN TEEMU ROOS

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

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

Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät

Aluksi... Shakki. Ajankäyttö. "Voittopeli"

Sarjatiedote 2019 Joukkueilla pitää olla yhtenäinen peliasu.

Tuntemattomassa ympäristössä etsiminen

Tosiaikaiset päätökset

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

INDOOR-SARJAT

Sarjatiedote 2013 Joukkueilla pitää olla yhtenäinen peliasu.

Sarjatiedote 2015 Joukkueilla pitää olla yhtenäinen peliasu.

RANTALENTISSÄÄNNÖT 2016 Rantalentisturnaus Paukarlahden kyläyhdistys RY

Näytösotteluita pelataan lähtien ja otteluohjelma on nähtävillä kokonaisuudessaan tässä mediaoppaassa.

Juniori KuPS JÄSENKIRJE LOKAKUU Juniori KuPS nyt myös Facebookissa TYKKÄÄ

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

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

C2-D2 Final Four-turnaukset

INDOOR-HOCKEY 2017/2018 SARJAT

Janne Eskola Eetu Haapamäki Jani Jarkima Shakkirobotin pelitekoäly rajallisen laskentatehon ympäristössä

Epätäydellisen tiedon jatkuvat pelit. Mika Viljanen Peliteorian seminaari

PÄRNU SUMMER CUP 2013 JALKAPALLOTURNAUKSEN OHJEET

T9 (2008) haastetaso, joukkueet Hyps T08-09 Punainen FC Loviisa FC Kontu T08-09 HJK Kannelmäki T0809 Käpylän Pallo

CURLINGIN MIESTEN SM-SARJAN SÄÄNNÖT KAUDELLA

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

TURNAUSSÄÄNNÖT Ottelut pelataan kahden minuutin vaihdoilla. Vaihdot kuulutetaan.

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

CHESS & GAMES KÄYTTÖOHJE

BIDDY BASKET 2015 / New Orleans

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

C2-D2 Final Four-turnaukset

JOHDATUS TEKOÄLYYN TEEMU ROOS

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

Tietokoneshakin ohjelmointi JavaScript-kielellä. Jarkko Kuusela

XXXVI KULTAVASKOOLI TURNAUS ROVANIEMI

Tutkimustiedonhallinnan peruskurssi

NUORTEN KILPAILU- JÄRJESTELMÄ. Muutokset &

JOHDATUS TEKOÄLYYN TEEMU ROOS

Johdatus go-peliin. 25. joulukuuta 2011

Sarjatiedote 2014 Joukkueilla pitää olla yhtenäinen peliasu.

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

Go-tekoälyjen toteutusratkaisuja

CHAMPIONS CUP

Algoritmit 2. Luento 14 Ke Timo Männikkö

SUOMEN RATAGOLFLIITTO RY SM-LIIGAN SÄÄNNÖT 2013 PELIOIKEUS

Tervetuloa yksipäiväiseen salibandyturnaukseen Pasilan Urheiluhalliin osoitteessa Radiokatu 22.

MAAILMANLIIGA 2013 SUOMI KANADA CALGARY, KANADA

TEKOÄLYN TOTEUTTAMINEN UNITY-PELIMOOTTORILLA

Tervetuloa yksipäiväiseen salibandyturnaukseen Pasilan Urheiluhalliin osoitteessa Radiokatu 22.

JOHDATUS TEKOÄLYYN TEEMU ROOS

Laskuharjoitus 2. Markkinoitten mallintaminen ja Internet-markkinat Saara Hämäläinen, Helsingin yliopisto, syksy 2016

ALKUSARJA JATKOSARJAT PLAYOFFS Puolivälierät Välierät Finaali

RANTALENTIS- SA A NNÖ T

NUORTEN KILPAILU- JÄRJESTELMÄ Muutokset &

Hallituksen esitys liittokokoukselle sääntömuutoksiksi Käsitelty hallituksen kokouksessa

Tilastollisia peruskäsitteitä ja Monte Carlo

Aika: Perjantai Paikka: Pirkka-halli, D-halli, Kentät no 1, 2, 3 ja 4

Johdatus tekoälyn taustalla olevaan matematiikkaan

Curlingin naisten SM-sarjan säännöt kaudella

Rajoittamattomat kieliopit (Unrestricted Grammars)

RANTALAKEUS 2019 SÄÄNNÖT

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

Tilastoja Tekoälykilpailun tulokset Palkintojen jako ja keskustelua. Lopputilaisuus. T Tekoälyn perusteet. Heikki Kallasjoki 28.4.

Curlingin miesten SM-sarjan säännöt kaudella

Hallisarja Joukkuetta. Liiga, 1. divisioona, 2. divisioona lohkot A, B, C

Kuinka matti tehdään?

Opettajan opas. Shakkilinna

POWERADE KESÄLIIGA 2005 L O H K O

OLS-01 TURNAUS. Tervetuloa OLS-01 Edustuksen järjestämään turnaukseen Arina Areenaan Hallin osoite on Nuottasaarentie 12.

2019/2020 MIEHET 1-DIVISIOONA

SAJL NAISTEN KILPAILUJÄRJESTELMÄ

SARJAINFOT 2016 TAMPEREEN PIIRIN JALKAPALLON NUORTEN PIIRINSARJAT

Mediakyselyn tulokset

KILPAILUKUTSU 22. MARJOLA BEACH VOLLEY TURNAUKSEEN LAPPEENRANTAAN ESI istumalentopallo Lappeenranta

HÄRKÄTIE CUP Peruskouluikäisten salibandyaluesarja

A L K U S A R J A ja 4. YLEMPÄÄN JATKOSARJAAN ja 8. ALEMPAAN JATKOSARJAAN

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

Algoritmit 2. Luento 12 To Timo Männikkö

Othello-pelin evaluointifunktion kehittäminen

Transkriptio:

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))! v = # for each Lapsi in LAPSET(Solmu)# v = (v, -ARVO(Lapsi))# return(v) -ARVO(Solmu) if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, -ARVO(Lapsi))# return(v)

I

SHAKKI

SHAKKI

SHAKKI

SHAKKI (NICE TO KNOW: EI TARVITSE OPETELLA) 1769 Wolfgang von Kempelen rakentaa Turkin 1912 L. Torres y Quevedo rakentaa koneen kuningas&torni vs kuningas -loppupeleihin 1948 Norbert Wiener esittää syvyysrajoitetun minimax- algoritmin heuristisella arviontifunktiolla 1950 Claude Shannon julkaisee artikkelin Programming a Computer for Playing Chess 1951 Alan Turing kehittää ensimmäisen algoritmin, joka pystyy pelaamaan kokonaisen shakkiottelun 1956 Los Alamos chess: ensimmäinen tietokoneohjelma, joka pelaa (yksinkertaistettua) shakkia 1956 John McCarthy keksii alpha-beta-karsinnan 1957 Ensimmäiset oikeaa shakkia pelaavat ohjelmat 1966-67 Ensimmäiset tietokoneohjelmien väliset ottelut (Moskova voittaa.)

SHAKKI (NICE TO KNOW: EI TARVITSE OPETELLA) 1967 Ensimmäinen tietokoneohjelman voitto turnauksessa. 1981 Cray Blitz voittaa Mississippin osavaltion mestaruuden ja saa ensimmäisenä tietokoneena mestarin statuksen. 1988 Deep Thought voittaa ensimmäistä kertaa suurmestarin turnauksessa. 1989 Garry Kasparov voittaa kaksi näytösottelua Deep Thoughtia vastaan. 1996 Garry Kasparov voittaa Deep Bluen kuuden pelin ottelussa. 1997 Deep Blue voittaa Garry Kasparovin kuuden pelin ottelussa. 2006 Deep Fritz voittaa maailmanmestari Vladimir Kramnikin.

SHAKKI TILA: (LAUDAN TILANNE) SIIRTYMÄT: (SALLITUT SIIRROT) MENETELMÄ: SYVYYSRAJOITETTU ALPHA-BETA- KARSINTA

PELIPUU ARVIOITA TILANTEEN HYVYYDESTÄ

SHAKKI TILA: (LAUDAN TILANNE) SIIRTYMÄT: (SALLITUT SIIRROT) MENETELMÄ: SYVYYSRAJOITETTU ALPHA-BETA- KARSINTA TEHTÄVÄ: SUUNNITTELE HEURISTINEN ARVIOINTIFUNKTIO

HEURISTIIKKOJEN VALINNASTA (NICE TO KNOW: EI TARVITSE OPETELLA) HEURISTIIKAN HYVYYS VAIKUTTAA PELIN TULOKSEEN: HYVÄ HEURISTIIKKA > HYVÄ TULOS VASTAAVASTI HEURISTIIKAN HYVYYTTÄ VOI MITATA TARKKAILEMALLA PELIEN TULOKSIA: HYVÄ TULOS > HYVÄ HEURISTIIKKA JOSKUS HYVÄKIN PELAAJA VOI SILTI HÄVITÄ HUONOMMALLEEN JA TOISINPÄIN, JOTEN ARVIOINTI EI OLE HELPPOA YLEINEN MENETELMÄ HYVYYDEN ARVIONTIIN: ELO-RATING

HEURISTIIKKOJEN VALINNASTA (NICE TO KNOW: EI TARVITSE OPETELLA) ELO RATING I NEED THE ALGORITHM The Social Network Columbia Pictures, Inc.

ARPAPELIT ARPA 0.5 0.5

ALPHA-BETA-KARSINTA -ARVO 1

ALPHA-BETA-KARSINTA -ARVO 1 -ARVO = 3

ALPHA-BETA-KARSINTA -ARVO(Solmu, α, β) if LOPPUTILA(Solmu) return(arvo(solmu))! v = # for each Lapsi in LAPSET(Solmu)# v = (v, -ARVO(Lapsi, α, β))# if v β return(v)# α = (α, v)# return(v) -PELAAJAN TOISTAISEKSI PARAS ARVO -PELAAJAN TOISTAISEKSI PARAS ARVO

ALPHA-BETA-KARSINTA -ARVO(Solmu, α, β) if LOPPUTILA(Solmu) return(arvo(solmu))! v = # for each Lapsi in LAPSET(Solmu)# v = (v, -ARVO(Lapsi, α, β))# if v β return(v)# α = (α, v)# return(v) -ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, -ARVO(Lapsi, α, β))# if v α return(v)# β = (β, v)# return(v)

ALPHA-BETA-KARSINTA

ALPHA-BETA-KARSINTA α = 0

ALPHA-BETA-KARSINTA α = 6

ALPHA-BETA-KARSINTA α = 6

ALPHA-BETA-KARSINTA β = 6

ALPHA-BETA-KARSINTA β = 6

ALPHA-BETA-KARSINTA β = 6

-ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, -ARVO(Lapsi, α, β))# if v α return(v)# β = (β, v)# β = 6return(v) ALPHA-BETA-KARSINTA

-ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, 1 -ARVO(Lapsi, α, β))# if v α return(v)# β = (β, v)# β = 6return(v) ALPHA-BETA-KARSINTA

-ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, 1 -ARVO(Lapsi, α, β))# if 1v 3α return(v)# β = (β, v)# β = 6return(v) ALPHA-BETA-KARSINTA

-ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, 1 -ARVO(Lapsi, α, β))# if 1v 3α return(v)# β = (β, v)# β = 6return(v) ALPHA-BETA-KARSINTA

ALPHA-BETA-KARSINTA β = 6

ALPHA-BETA-KARSINTA β = 3

ALPHA-BETA-KARSINTA

ALPHA-BETA-KARSINTA

-ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, -ARVO(Lapsi, α, β))# if v α return(v)# β = (β, v)# return(v) ALPHA-BETA-KARSINTA

ALPHA-BETA-KARSINTA -ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, 2 -ARVO(Lapsi, α, β))# if v 2 3α return(v)# β = (β, v)# return(v)

ALPHA-BETA-KARSINTA -ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, 2 -ARVO(Lapsi, α, β))# if v 2 3α return(v)# β = (β, v)# return(v)

ALPHA-BETA-KARSINTA -ARVO(Solmu, α, β)! if LOPPUTILA(Solmu) return(arvo(solmu))! v = + # for each Lapsi in LAPSET(Solmu)# v = (v, 2 -ARVO(Lapsi, α, β))# if v 2 3α return(v)# β = (β, v)# return(v)

ALPHA-BETA-KARSINTA