Kokeessa piti vastata viiteen (5) tehtävään kuudesta (6). Jokaisen tehtävän maksimipistemäärä on 8.

Samankaltaiset tiedostot
a. (2 p) Selitä Turingin koe. (Huom. ei Turingin kone.) Minkälainen tekoäly on saavutettu, kun Turingin koe ratkaistaan?

Johdatus tekoälyyn (T. Roos) Kurssikoe

Johdatus tekoälyyn (T. Roos) Kurssikoe ARVOSTELUPERUSTEET

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

.. X JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

JOHDATUS TEKOÄLYYN TEEMU ROOS

Johdatus tekoälyyn

b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu.

JOHDATUS TEKOÄLYYN LUENTO 4.

Turingin koneen laajennuksia

JOHDATUS TEKOÄLYYN TEEMU ROOS

Johdatus todennäköisyyslaskentaan Todennäköisyyslaskenta ja puudiagrammit. TKK (c) Ilkka Mellin (2005) 1

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Uolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2

Johdatus tekoälyyn. Luento : Koneoppiminen. Patrik Hoyer. [ Kysykää ja kommentoikaa luennon aikana! ]

Tee-se-itse -tekoäly

ImageRecognition toteutus

HY / Matematiikan ja tilastotieteen laitos Tilastollinen päättely II, kevät 2017 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I

Lisää pysähtymisaiheisia ongelmia

JOHDATUS TEKOÄLYYN TEEMU ROOS

30A02000 Tilastotieteen perusteet

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

Harjoitus 3 ( )

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

1. Universaaleja laskennan malleja

Kognitiivinen mallintaminen. Nelli Salminen

Todennäköisyyslaskenta ja puudiagrammit. Todennäköisyyslaskenta ja puudiagrammit. Todennäköisyyslaskenta ja puudiagrammit: Esitiedot

Liite 2: Verkot ja todennäköisyyslaskenta. Todennäköisyyslaskenta ja puudiagrammit

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

Esimerkkejä vaativuusluokista

JOHDATUS TEKOÄLYYN TEEMU ROOS

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

Kenguru 2012 Junior sivu 1 / 8 (lukion 1. vuosi)

Lego Mindstorms NXT robottien etenemissuunnitelma

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

Sovellettu todennäköisyyslaskenta B

Algoritmit 2. Luento 13 Ti Timo Männikkö

Osa 1: Todennäköisyys ja sen laskusäännöt. Kokonaistodennäköisyyden ja Bayesin kaavat

Tilastotiede ottaa aivoon

Harjoitus 3 ( )

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Täydentäviä muistiinpanoja laskennan rajoista

Johdatus todennäköisyyslaskentaan Kokonaistodennäköisyys ja Bayesin kaava. TKK (c) Ilkka Mellin (2005) 1

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Tällä kerralla ohjelmassa. Kognitiivinen mallintaminen Neuraalimallinnus Kertausta: Perseptronin oppimissääntö

Johdatus tekoälyyn

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Johdatus tekoälyn taustalla olevaan matematiikkaan

Tilastotiede ottaa aivoon

811120P Diskreetit rakenteet

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

Johdatus tekoälyn taustalla olevaan matematiikkaan

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ALGORITMIT & OPPIMINEN

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

2. laskuharjoituskierros, vko 5, ratkaisut

Tekoäly tänään , Vadim Kulikov (Helsingin Yliopisto)

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

5/11 6/11 Vaihe 1. 6/10 4/10 6/10 4/10 Vaihe 2. 5/11 6/11 4/11 7/11 6/11 5/11 5/11 6/11 Vaihe 3

1 Kannat ja kannanvaihto

Sovellettu todennäköisyyslaskenta B

Ilkka Mellin Todennäköisyyslaskenta Osa 1: Todennäköisyys ja sen laskusäännöt Verkot ja todennäköisyyslaskenta

811120P Diskreetit rakenteet

Kenguru 2017 Student lukio

MAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen

JOHDATUS TEKOÄLYYN TEEMU ROOS

Rajoittamattomat kieliopit (Unrestricted Grammars)

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

Valmistelut: Aseta kartiot numerojärjestykseen pienimmästä suurimpaan (alkeisopiskelu) tai sekalaiseen järjestykseen (pidemmälle edenneet oppilaat).

Johdatus todennäköisyyslaskentaan Verkot ja todennäköisyyslaskenta. TKK (c) Ilkka Mellin (2004) 1

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

JOHDATUS TEKOÄLYYN TEEMU ROOS

Yleistä vektoreista GeoGebralla

Malliratkaisut Demot

HiTechnic -kompassisensorin käyttäminen NXT-G -ympäristössä

1. Olkoot vektorit a, b ja c seuraavasti määritelty: a) Määritä vektori. sekä laske sen pituus.

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Laskennan mallit (syksy 2009) Harjoitus 11, ratkaisuja

S BAB ABA A aas bba B bbs c

Transkriptio:

582216 Johdatus tekoälyyn (T. Roos) Kurssikoe 19.10.2012 ARVOSTELUPERUSTEET Kokeessa piti vastata viiteen (5) tehtävään kuudesta (6). Jokaisen tehtävän maksimipistemäärä on 8. 1. Tekoälyn filosofiaa yms. a. (2 p) Selitä Turingin koe. (Huom. ei Turingin kone.) Minkälainen tekoäly on saavutettu, kun Turingin koe ratkaistaan? koeasetelma (1p) saavutettu "ihmismäisesti toimiva" tekoäly (1p) b. (2 p) Elokuvissa tekoäly usein saavuttaa tietoisuuden ja hyökkää ihmisten kimppuun. Herra Idionarap on huolissaan tästä riskistä ja ehdottaa lakialoitetta, jolla kaikki tekoälyalgoritmit kielletään. Millaisia käytännön seurauksia tällaisella lailla olisi? Mainitse muutama esimerkki. Mitä ongelmia lain valvontaan liittyisi? Googlen, reittioppaan ja kameran kasvojentunnistuksen kaltaiset käytännön sovellukset eivät olisi sallittuja (1p) valvonta vaikeaa, koska "tekoälyalgoritmia" ei osata määritellä c. (2 p) Rouva Inoruen väittää, että tekoälymenetelmiä ei voi toteuttaa tavanomaisella tietokonelaitteistolla. Hänen mielestään siihen tarvitaan erityisiä neuroverkkoihin perustuvia laskennan malleja, joissa laskenta on rinnakkaista ja epäsynkronista. Onko rouva Inoruen oikeassa? Perustele. ei ole oikeassa (1p) koska neurolaskentaa voidaan simuloita tavallisella tietokoneella (1p) d. (2 p) Minkälaisiin ongelmiin törmättiin 80-luvulla, kun tekoälyongelmia yritettiin ratkaista logiikan avulla? Miten näihin ongelmiin reagoitiin? skaala, relevantin tiedon määrittely, epävarmuus ja epätarkkuus, ratkeamattomuus (1p) reagoitiin suuntaamalla rahoitusta neuroverkkojen ja todennäköisyyteen perustuvan tekoälyn tutkimukseen

2. Etsintä ongelmanratkaisuna Tehtävänä on ratkaista pulmatehtävä, jossa alkutila A on alla vasemmalla ja lopputila (maali) M on alla oikealla. Sallitut siirtymät tilojen välillä ovat sellaisia, että tyhjän ruudun vieressä (oikealla, vasemmalla, ylä- tai alapuolella) oleva numero siirtyy tyhjään ruutuun. Esimerkiksi alkutilasta voidaan siis siirtyä kumpaan tahansa tiloista 1 ja 2: + + + + + + + + + + + + 2 3 1 2 2 3 3 A: + + + M: + + + 1: + + + 2: + + + 1 3 1 2 1 + + + + + + + + + + + + a. (2 p) Esitä kaikki alkutilasta saavutettavat tilat tilakaaviona. Merkitse kaavioon myös tilojen väliset siirtymät. vastaukseksi hyväksyttiin tilakaavion (jossa jokainen tila esiintyy tasan kerran) lisäksi etsintäpuu b. (3 p) Simuloi sekä syvyyssuuntaista että leveyssuuntaista hakua a-kohdan tilasiirtymäkaaviossa. (Riittää luetella tilat siinä järjestyksessä, kun ne käydään läpi.) Kuinka monta tilaa kumpikin hakumenetelmä käy läpi ennen kuin maalitila löytyy? Kumpi löytää paremman ratkaisun (vähemmän siirtoja)? Onko tulos aina sama riippumatta siitä, missä järjestyksessä tiloja tarkistetaan? syvyyssuuntainen: A=[23_1] [231_] [2_13] [_213] [12_3] [123_]=M, joka on myös syvyyssuuntaisen palauttama reitti (5 siirtymää), jos haku lähtee tähän suuntaan; toiseen suuntaan lähteminen tuottaa 7 siirtymää pitkän reitin leveyssuuntainen: A=[23_1] [_321] [2_13] [3_21] [_213] [312_] [12_3] [31_2] [123_]=M. Etsintä tuottaa saman reitin kuin syvyyssuuntainen parhaimmillaan (5 siirtymää). pisteitä sai siitä, että oli osannut luetella tilat oikeassa järjestyksesä (1p) ja antaa kummankin etsintäalgoritmin tuottaman reitin (1p) kertoa, että leveyssuuntainen haku löytää aina reitin, jossa on minimimäärä siirtymiä (1p) c. (3 p) Kuvitellaan että tehtävänä olisi ohjelmoida Reittiopas, joka annettuna mitkä tahansa julkisen liikenteen pysäkit A ja B, viikonpäivä ja kellonaika, etsii nopeimman reitin A:sta ja B:hen käyttäen hyödyksi tietoa julkisen liikenteen reiteistä ja aikatauluista.

Miten lähtisit ratkaisemaan tehtävää käyttäen hyödyksi etsintäalgoritmeja. Mikä olisi etsinnän tilan esitys ja mitkä mahdolliset tilasiirtymät? Minkälainen hakualgoritmi sopisi tehtävään? Käyttäisitkö jonkinlaista heuristiikkaa, ja jos käyttäisit, mitä? tila: [pysäkki, klo], siirtymät: reitit (1p) algoritmi A* (1p) heuristiikka: linnuntie-etäisyys jaettuna maksiminopeudella (1p) Myös joistain muista toimivan kuuloisista ratkaisuista saa pisteitä. 3. Kuvankäsittely a. (3 p) Miksi digitaaliset signaalit kuten kuva ja ääni tuottavat ongelmia logiikkaan perustuville ja muille GOFAI ( Good Old Fashioned AI ) -menetemille? Millaiset menetelmät soveltuvat digitaalisten signaalien käsittelyyn paremmin ja miksi? ongelmia: koko, kohina, vaikea määritellä mitä tarkoitetaan tietyllä hahmolla,... (1p) modernin AI:n menetelmät, kuten koneoppiminen, digitaalisen signaalinkäsittelyn menetelmät, todennäköisyysmallinnus,... (1p) b. (3 p) Jos tehtävänä olisi toteuttaa kasvojentunnistusmenetelmä, joka tunnistaa kameran avulla kenestä henkilöstä on kyse, minkälaisen menetelmän valitsisit? Selitä lyhyesti, miten valitsemasi menetelmä toimii. Toimisiko menetelmä aina vai olisiko sillä jotain tiettyjä rajoitteita? esim. invariantteihin piirteisiin perustuvat SIFT ja SURF: 1. avainpisteiden valinta tutkimalla pisteiden ympäristön pikseleiden intensiteetin vaihteluita; löytyy "blobeja" 2. avainpisteiden ympäristöä kuvaavan piirrevektorin muodostaminen 3. kahdesta eri kuvasta muodostettujen piirrevektorien vertailu (2p) rajoitteet: ei toimi, jos olosuhteet muuttuvat liian rajusti, ei siedä kuvakulman muutoksia, jne (1p) c. (2 p) Ohessa on kohinanpoistoalgoritmin pseudokoodi. Selitä lyhyesti miten algoritmi toimii ja mikä sen taustalla oleva idea on. kohinanpoisto(x,t): n length(x) c dwt(x) // aallokemuunnos (discrete wavelet transform) for i = 1,...,n: if c[i] < t: c[i] = 0

end-for x idwt(c) return x // käänteismuunnos (inverse wavelet transform) pseudokoodin selitys oikein (1p) idea: varsinainen signaali koostuu harvoista isoista kertoimista ja isosta joukosta lähellä nollaa olevia kertoimia ja kohina jakautuu kaikille kertoimille tasaisesti => kun nollataan lähellä nollaa olevat, signaalista häviää pieni osa, mutta kohinasta iso osa (1p) 4. Neuroverkot a. (2 p) Oikein vai väärin? i. Monikerrosperseptronissa neuronit kilpailevat siitä, mikä niistä saa aktivoitua. väärin: kilpailua tapahtuu Kohosen kartassa ii. Takaisinkytkeytyvän neuroverkon avulla voidaan toteuttaa vikasietoinen muisti. oikein iii. Bayes-verkko on esimerkki stokastisesta (satunnaisuuteen perustuvasta) neuroverkosta. väärin: Bayes-verkko on todennäköisyysmalli, ei neuroverkko iv. Keinotekoisten neuroverkkojen neuroneihin liittyy painokertoimet, jotka yhdessä neuronin syötteiden kanssa määräävät aktivaation. oikein pisteet: 0-2 oikein (keskimäär. tulos arvaamalla) = 0p, 3 oikein = 1p, 4 oikein = 2p b. (2 p) Kuvaile valitsemasi neuroverkon (*) toimintaperiaate. Mitkä ovat verkon syötteet ja mitä tapahtuu, kun syöte esitetään verkolle? arvostelu tapauskohtaisesti, esim. tyyliin SOMissa neuronit kilpailevat siitä, mitä niistä vastaava painovektori on lähinnä syötettä. Tämä neuroni aktivoituu syötteestä. c. (2 p) Selitä kyseisen verkon oppimismenetelmä. Riittää selittää toimintaperiaate, ei tarvitse esittää yksityiskohtia. (Ei pseudokoodia, vaan on selitettävä sanallisesti.) Minkä muotoista opetusaineistoa verkon opettamiseen käytetään? arvostelu tapauskohtaisesti, esim. tyyliin Aktivoituneen SOM-neuronin painovektoria muokataan siten, että se on entistä lähempänä syötevektoria; myös naapureiden vektoreita muokataan samaan suuntaan. Syötteenä on vektoreita.

d. (2 p) Mikä on tyypillinen kyseisen neuroverkon sovellus? arvostelu tapauskohtaisesti, esim. tyyliin SOMin tyypillinen sovellus on datan visualisointi *) Huom: Kuvailtavassa verkossa on oltava useampi kuin yksi yhteenliitetty neuroni. 5. Todennäköisyysmallinnus Ohessa muutamia todennäköisyyslaskennan kaavoja muistin virkistykseksi: (i) P( A) = 1 P(A) "negaatio" (ii) P(A B) = P(A) + P(B) P(A, B) "disjunktio" (iii) P(A) = P(A, B) + P(A, B) "marginalisointi" (iv) P(A1,...,Ak) = P(A1) P(A2 A1) P(A3 A1,A2)... P(Ak A1,...,Ak 1) "ketjusääntö" (v) P(A B) = P(A) P(B A) / P(B) "Bayesin kaava" (vi) A B C P(A,B C) = P(A C) P(B C) "ehdollinen riippumattomuus" a. (2 p) Olkoon P(V S) = 0.25 ja P(V S) = 0.0005, missä S tarkoittaa, että viesti on roskapostia (spam) ja V tarkoittaa, että viestissä esiintyy sana "Viagra". Laske todennäköisyys P(S V), kun P(S) = 0.2. Voit antaa lopputuloksen rationaalilukuna eli muodossa r/s, missä r ja s ovat molemmat kokonaislukuja. Bayesin kaava. 0.2 x 0.25 / (0.2 x 0.25 + 0.8 x 0.0005) = 125/126 ~ 99.2 % (2p) lasku- tai muista huolimattomuusvirheistä ei sakota b. (2 p) Seuraavassa taulukossa on laskettuna joidenkin sanojen esiintymistiheys sekä roskapostissa että asiallisissa viesteissä (ham). sana spam ham money 24 6 lottery 16 4 Bayes 1 10 yhteensä 2000 10000 Arvioi todennäköisyydet P(Sanai = money spam), P(Sanai = lottery spam) ja P(Sanai = Bayes spam) sekä vastaavat todennäköisyydet hammille.

f/n, missä f esiintymät ja n ko. luokan sanojen määrä yhteensä 24/2000, 16/2000, 1/2000, 6/10000, 4/10000, 10/10000 (2p) huom: ei tarvittu Bayesin kaavaa tai muutakaan laskusääntöä f/n -kaavan lisäksi. c. (4 p) Laske todennäköisyys, että viesti on roskapostia, kun sen sisältö on "Bayes lottery money". Käytä naivi Bayes -mallia, jossa viestin sanat ovat riippumattomia toisistaan, kun viestin tyyppi (spam/ham) on annettu. Käytä tässäkin prioria P(spam) = 0.2. Tuloksen voi taas antaa rationaalilukuna. kannatti (muttei ollut pakko) laskea ensin odds = P(spam) P(Bayes spam) P(lottery spam) P(money spam) / (P(ham) P(Bayes ham) P(lottery ham) P(money ham)) = 0.2/0.8 x 1/2000 / (10/10000) x 16/2000 / (4/10000) x 24/2000 / (6/10000) = 50 (3p) ja muuntaa sitten P(spam viesti) = odds/(1+odds) = 50/51 ~ 98.0 % (1p) lasku- tai muista huolimattomuusvirheistä ei sakota 6. Robotiikka Koska Legojen rakennus on hauskaa, tässä tehtävässä pääset suunnittelemaan Legorobotin ja sen ohjelman! Alla on kuvia robotin osista: keskusyksikkö, jossa on portit kahdelle moottorille (M1,M2) ja kolmelle sensorille (S1,S2,S3), kolme pyörää, kaksi moottoria (joita voi ohjata erikseen pyynnöillä forward(), backward(), stop()), ultraäänisensori (joka palauttaa pyynnöllä getdistance() etäisyyden lähimpään esteeseen (cm)), valosensori (joka palauttaa pyynnöllä getlightvalue() sensorin alla olevan lattian vaaleutta kuvaavan arvon) M1 M2 ultraäänisensori keskusyksikkö S1 S2 S3 moottorit 3 kpl pyöriä valosensori

Lisäksi saat tietysti käyttää normaaleja Lego-palikoita ja akseleita, kaapeleita ja muita tarvittavia osia. a. (2 p) Piirrä yksinkertainen robotti, jolla voit ratkaista seuraavan kohdan tehtävän. Piirrä kuvaan myös kaapelit, joilla yhdistät oikeat komponentit keskusyksikön portteihin. tapauskohtaisesti (2p) b. (4 p) Esitä pseudokoodina ohjelma, joka seuraa lattiaan piirrettyä mustaa viivaa niin kauan, että tulee ultraäänisensorilla havaittavan esteen luokse ja pysähtyy sen jälkeen. Voit olettaa että robotti asetetaan aluksi mustan viivan päälle. Ohjeita: Komento M1.forward() saa porttiin M1 kytketyn moottorin liikkeelle (eteenpäin). Sensoreilta voit kysyä arvoja komennolla S1.getDistance() jne. Moottorien ja sensorien konstruktoreja tai muita alustuksia ei tarvitse esittää. tapauskohtaisesti: perusidea järkevä (3p) pääosin toimiva toteutus; pari pikkuvirhettä sallitaan (1p) c. (2 p) Miksi paperilla suunniteltava robotin ohjelma ei yleensä toimi ensi yrityksellä? Mainitse joitakin oikeaan fyysiseen ympäristöön liittyviä asioita, jotka aiheuttavat ylimääräisiä pulmia verrattuna tavalliseen (ei-robotti-) ohjelmointiin ja kuvaile, miten kyseiset pulmat voitaisiin ratkaista. ei toimi johtuen ympäristön odottamattomista ominaisuuksista, sensorihavaintojen häiriöistä ja epätarkkuudesta sekä liikkumisen epätarkkuuksista ja siitä, että on "vaikea ajatella kuten robotti" (lainatakseni yhtä vastausta). (1p) voidaan ratkaista testaamalla ja korjaamalla: sensoreille raja-arvot tämän perusteella, jne. (1p)