Johdatus tekoälyyn
Exam
Year | Semester | Date | Period | Language | In charge |
---|---|---|---|---|---|
2012 | autumn | 06.09-12.10. | 1-1 | Finnish | Teemu Roos |
Lectures
Time | Room | Lecturer | Date |
---|---|---|---|
Thu 10-12 | B123 | Teemu Roos | 06.09.2012-12.10.2012 |
Fri 12-14 | B123 | Teemu Roos | 06.09.2012-12.10.2012 |
Exercise groups
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Wed 12-14 | B222 | Teemu Roos | 10.09.2012—12.10.2012 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Thu 12-14 | B222 | Simo Linkola | 10.09.2012—12.10.2012 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Thu 16-18 | B222 | Aleksi Majander | 10.09.2012—12.10.2012 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Thu 14-16 | DK116 | Aleksi Majander | 17.09.2012—12.10.2012 |
Information for international students
The course is only given in Finnish.
Uutisia
- 14.5.2013: Erilliskokeen tulokset intranetissä (vaatii kirjautumisen).
- 16.4.2013: Erilliskoe. Lunttilappu on edelleen sallittu: samat ohjeet voimassa kuin kurssikokeen kohdalla.
- 8.2.2013: Erilliskokeen tulokset intranetissä (vaatii kirjautumisen).
- 18.1.2013: Erilliskoe. Lunttilappu on edelleen sallittu: samat ohjeet voimassa kuin kurssikokeen kohdalla.
- 3.12.2012: Uusintakokeen tulokset intranetissä (vaatii kirjautumisen).
- 27.11.2012: Kurssin vastapalaute tässä (pdf).
- 20.11.2012: Kurssikokeen arvosteluperusteet tässä (pdf).
- MUISTA ANTAA KURSSIPALAUTETTA
- 5.11.2012: Kurssin arvostelu valmis. Tulokset intranetissä (vaatii kirjautumisen). Jos haluat tutustua arvosteluun tarkemmin, sovi aika luennoijan kanssa.
- 4.11.2012: Kurssikokeen arvostelu valmis. Kurssin arvostelu valmistuu huomenna.
- Jos ohjelmointitehtävät kiinnostavat ja haluat lisää haasteita periodissa II on tarjolla aineopintojen harjoitustyö: AI Odyssey 2012.
- Haastattelussa shakkiturnauksen voittaja: Shakkibotit kilpasilla.
- Uusintakoe 23.11.2012 klo 16-19:30 salissa A111. Sama ohje lunttilapusta kuin kurssikokeessa. Laskaripisteet voimassa (ehdolla että niistä on etua).
- Kurssikoe 19.10.2012 klo 9-12 salissa A111. HUOM: Mukana saa pitää A4-kokoista kaksipuolista käsinkirjoitettua lunttilappua, joka on palautettava koepapereiden mukana.
- Tekoäly tulee, oletko valmis? Aihetta käsittelevä pätkä Yle Stradassa 12.10.2012. Haastateltavana Zen Roboticsin Tuomas Lukka.
- Robotit opiskelevat fraktaaligeometriaa: Youtube-video Physicumin aulasta. (Toinen roboteista ja kuvaus: Jarmo Isotalo)
- Uusi pajaryhmä perustettu pe 14-16 salissa A219.
- HUOM: Salimuutoksia robotiikkapajoissa: ke 10-12: A217+A218, ke 14-18: B120, to: DK116, pe: A219
- Viimeisen viikon ohjelmassa: Pajat ma, ke ja to. Ilmoittaudu tästä. Ei normaaleja laskuharjoitusryhmiä eikä torstain luentoa!
- 28.9.2012 Shakkibotti 'Woody' niukasti turnauksen kärjessä! Turnaus jatkuu kurssin loppuun asti. Palkintona erikoishaastattelu tiedotusvälineessä.
- 18.9.2012 HUOM: Uusi ryhmä perustettu tästä viikosta alkaen: torstaisin 14-16 CK116. Voit ilmoittautua sivun vasemmassa reunassa olevan linkin kautta.
- 14.9.2012 Virheitä korjattu luennon 1 kalvojen ja yhteenvedon pseudokoodissa.
- 14.9.2012 Ensi viikosta alkaen perustetaan uusi laskuharjoitusryhmä, joka pidetään joko torstaisin klo 14-16 tai perjantaisin samaan aikaan. Käy merkitsemässä Doodleen voisitko siirtyä jompaan kumpaan tai kumpaan tahansa näistä.
- 14.9.2012 Uusi tutkimustarkoitukseen rakennettu keskustelukanava kurssilla koekäytössä. Pääset kanavalle klikkaamalla tästä. Kaikki aineisto käsitellään luottamuksellsesti ja sitä hyödynnetään vain tutkimuskäyttöön.
- 3.9.2012. Laskuharjoitusryhmät täynnä (3x40). Ilmoittaudu tarvittaessa ylivuotoryhmään. Lisäryhmiä perustetaan ensimmäisen laskuharjoitusviikon jälkeen, jos kysyntää riittää.
- 20.8.2012. Kurssin oppimistavoitematriisi (ks. vasemmalla ylhäällä) on nyt päivitetty. Suurin muutos aiempaan on logiikan poistuminen.
Completing the course
Suoritus perustuu laskuharjoituksiin (33%) ja kurssikokeeseen (67%). Kurssikoe järjestetään 19.10.2012 klo 9-12 salissa A111.
Läpipääsyraja on noin puolet tarjolla olevista suorituspisteistä. Huom: 4 opintopisteen kurssi edellyttää arviolta 15 viikkotuntia työtä. Varaudu siis näkemään vaivaa.
Luennoilla ei ole läsnäolopakkoa, mutta ensimmäinen luento torstaina 6.9.2012 on suositeltava.
IRC
Kurssin epävirallinen irc-kanava on #johtek. Ohjeet FuksiWikissä.
Literature and material
Kurssilla ei ole kurssikirjaa. Käsiteltävä materiaali käydään pääosin läpi oheisessa yhteenvedossa (huomaa myös linkit luentokalvoissa):
- Yhteenveto (pdf) (kurssin loppuun asti; päivitetty 17.10.2012)
Vanhoja kurssi- ja erilliskokeita voi olla myös hyödyllistä katsella, vaikka joitain painotuseroja viime vuoden kurssiin verrattuna onkin: esim. logiikkaa ei juuri ole tänä vuonna käsitelty.
- kurssikoe 21.10.2011, erilliskoe 25.11.2011, erilliskoe 13.1.2012, erilliskoe 17.4.2012, erilliskoe 21.8.2012
Esimerkkiratkaisu 21.10.2011 pidetyn kokeen tehtävään 6 (A*-haku): ratkaisu (pdf)
Tämän vuoden (2012) kurssin kokeita:
Luento 1 (6.9.2012): Tekoälyn filosofiaa | Etsintäalgoritmit.
- Luentokalvot (pdf; 5 MB)
-
Aiheet:
- kurssin perustiedot
- tekoäly kulttuurissa
- tekoälyn filosofiaa (heikko vs vahva tekoäly, ...)
- Turingin testi
- Mitä tekoäly oikeasti on? Nykytutkimus, sovellukset, ...
- Verkon läpikäyntialgoritmit (leveys- ja syvyyssuuntainen, A*)
- Ongelmien esittäminen verkkona, reitinoptimointi -
Lisämateriaalia:
- Floreen: Tietorakenteet ja algoritmit -kurssin materiaali (pdf)
- Ertel: Introduction to Artificial Intelligence, Springer 2011. Chapter 6 "Search, Games and Problem Solving"
Paperiversio löytyy kurssikansiosta, Exactum C127. Kopioi, älä vie alkuperäistä!
- Udacity AI -kurssin etsintää käsittelevät video,:erityisesti First search program, A*
- A*-hakua ja muita etsintäalgoritmeja havainnollistava demo
Luento 2 (7.9.2012): Pelit
- Luentokalvot (pdf, 19MB, (!?))
-
Aiheet:
- minimax-algoritmi
- alpha-beta-karsinta
- tietokoneshakki -
Lisämateriaalia:
- alpha-beta-karsintaa havainnollistava video (10 min)
- alpha-beta-karsintademo1
- alpha-beta-karsintademo2
Luento 3 (13.9.2012): Logiikka tekoälyn historiassa | Todennäköisyydestä
- Luentokalvot (pdf, 5.6 MB) -- puuttuvia todennäköisyysarvoja lisätty 16.10.2012
-
Aiheet:
- tietämyksen esittäminen logiikan avulla
- logiikkaohjelmoinnista (lyhyesti)
- ongelmista
- todennäköisyyslaskennan peruskäsitteitä: perusjoukko, tapahtumat -
Lisämateriaalia
- P. Tuominen, Todennäköisyyslaskenta I, Limes, 1994
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Kappale 7 "Reasoning with Uncertainty" (s. 122 asti)
- D. Barber: Bayesian Reasoning and Machine Learning, Cambridge University Press, 2012. Kappale 1 "Probabilistic Reasoning" (ladattavissa ilmaiseksi) -
Muuta kiinnostavaa (vapaavalintaista):
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Chapter 5 "Logic Programming with PROLOG"
- GNU Prolog (käynnistyy laitoksen Linux-koneissa komennolla 'prolog')
- Wikipedia: Prolog
Luento 4 (14.9.2012): Todennäköisyysmallinnus I: Bayes-verkkojen periaatteet
- Luentokalvot (pdf, 3.2 MB)
-
Aiheet:
- ehdollinen todennäköisyys, Bayesin kaava, riippumattomuus
- satunnaismuuttujat
- Bayes-verkot (jatkuu seuraavalla luennolla...) -
Lisämateriaalia
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Kappale 7.4 "Reasoning with Bayesian Networks"
- D. Barber: Bayesian Reasoning and Machine Learning, Cambridge University Press, 2012. Kappale 3 "Belief Networks" (ladattavissa ilmaiseksi)
- The Guardian: A formula for justice
Luento 5 (19.9.2012): Todennäköisyysmallinnus II: Bayes-verkkojen soveltaminen
- Luentokalvot (pdf, 577 kB)
-
Aiheet:
- eksakti todennäköisyyspäättely Bayes-verkossa
- datan generoiminen Bayes-verkosta
- approksimatiivinen ("Monte Carlo-") pääättely Bayes-verkossa -
Lisämateriaalia
- samat kuin edellisellä luennolla
Luento 6 (20.9.2012): Todennäköisyysmallinnus III: Naivi-Bayes-roskapostinsuodatin
- Luentokalvojen sijaan ks. yhteenveto yllä (kappale 7).
-
Aiheet:
- naivi-Bayes -malli
- todennäköisyyksien arvioiminen datasta
- roskapostisuodatusalgoritmi -
Lisämateriaalia:
- Dr Dobbs Journal: Naive Bayesian text classification
- M. Sahami, S. Dumais, D. Heckerman, E. Horvitz (1998). "A Bayesian approach to filtering junk e-mail". AAAI'98 Workshop on Learning for Text Categorization.
Luento 7 (26.9.2012): Koneoppiminen
- Luentokalvot (pdf; 1.6 MB)
-
Aiheet:
- koneoppimisen tyypit: ohjattu, ohjaamaton, ...
- lähimmän naapurin luokitin
- naivi-Bayes -luokitin (taas!) -
Lisämateriaalia:
- Coursera-kurssi: Machine Learning- videot: esim. "What is Machine Learning?"
- P. Domingos: A Few Useful Things to Know about Machine Learning (pdf)
- Wikipedia: Naive Bayes classifier
- C. Elkan: Nearest Neighbor Classification (pdf)
Luento 8 (27.9.2012): Neuroverkot
- Luentokalvot (pdf; 1.3 MB)
-
Aiheet:
- neuroverkkotyyppejä
- neuroverkkojen oppimisesta
- perseptronialgoritmi -
Lisämateriaalia:
- Wikipedia: Types of artificial neural networks
Luento 9 (4.10.2012): Digitaalinen signaalinkäsittely
- Luentokalvot (pdf, 5.8 MB)
-
Aiheet:
- tietokonegraafiikka ja kuvankäsittely
- kuvan ja äänen esitysmuodot
- kohinanpoisto -- ei tarvitse opetella yksityiskohtia
- kuvantunnistus
- invariantit piirteet (SIFT/SURF) -- opeteltava perusidea (kolme vaihetta), ei yksityiskohtia
Luento 10 (5.10.2012): Robotiikka I: Lego Mindstorms -esittely
- Luentokalvot (pdf, 2.8 MB)
-
Aiheet:
- Lego-robottien esittely
- Lejos-ohjelmointiympäristö
- esimerkkejä -
Ohjeita Lego Mindstorms -tehtävään:
- Robottiohjelmoinnin harjoitustyö (kevät 2011)
- aloita tästä: Yleistä NXT:n ohjelmoinnista leJOS:illa
- leJOS API -rajapintakuvaus (sis. kaikki käytettävissä olevat komennot)
- leJOS -tutoriaali
Luento 11 (11.10.2012): Ei luentoa
- Luennon ja laskuharjoitusryhmien sijaan pajat.
Luento 12 (12.10.2012): Kertausluento
-
Aiheet:
- kurssin aihepiirien kertaus
- shakkiturnauksen voittajan julistaminen
- kysymyksiä ja vastauksia
Laskuharjoitustehtävät
-
Tehtävät (pdf).
Materiaali Reittiopas-tehtävään: verkko.json | BFS.java | Pysakki.java | rplot.txt | reitit kartalla (pdf) -
Tehtävät (pdf).
Materiaali Reittiopas-tehtävään (huom. tiedostot ovat muuttuneet hieman viime viikosta): verkko.json | linjat.json | AStar.java | Pysakki.java | Linja.java | rplot.txt | reitit kartalla: pysäkkikoodit (pdf) | pysäkkinimet (pdf) -
Tehtävät (pdf).
Lisämateriaali shakkitehtävään | vinkki Netbeans-käyttöön | tarvittaessa vaihtoehtoinen OurEvaluator.class, jossa Java-versio 49.0
Huom: Jos shakkiohjelman ajamisessa on ongelmia, kokeile ajaa komennolla:
java -Djava.util.Arrays.useLegacyMergeSort=true Main
Wikipedia: Los Alamos -shakki | Shakkiturnaus, lataa oma bottisi ja pelaa muita vastaan | Turnauksessa käytetään Elo-ratingia. -
Tehtävät (pdf).
Lisämateriaali neuroverkkotehtävään -
Tehtävät (pdf) -- HUOM: tehtävät tehdään osin pajassa, ks. ohjeet kohdassa "Uutisia"
Lisämateriaali kuvantunnistustehtävään: surf-package.zip
Lisämateriaali robotehtävään: HelloWorld.java (koodipohja, jonka kommenteissa ohjeita)