Johdatus tekoälyyn
Exam
Year | Semester | Date | Period | Language | In charge |
---|---|---|---|---|---|
2014 | autumn | 04.09-21.11. | 1-1 | Finnish | Teemu Roos |
Lectures
Time | Room | Lecturer | Date |
---|---|---|---|
Thu 10-12 | B123 | Teemu Roos | 04.09.2014-17.10.2014 |
Fri 12-14 | B123 | Teemu Roos | 04.09.2014-17.10.2014 |
Exercise groups
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Tue 16-18 | C222 | Mikko Kumara | 08.09.2014—17.10.2014 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Thu 12-14 | CK111 | Noora Imberg | 08.09.2014—17.10.2014 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Fri 14-16 | C222 | Noora Imberg | 08.09.2014—17.10.2014 |
Information for international students
The course is only given in Finnish.
Uutisia
- Uusintakokeen 28.11.2014 tulokset (vaatii kirjautumisen)
- Laskaripisteet mukana kurssikoetta seuraavissa 1. ja 2. erilliskokeessa. Arvosanaksi tulee parempi vaihtoehdoista "laskarit+koe" vs "pelkkä koe".
- Uusintakoe 28.11.2014. Laskaripisteet voimassa (jos niistä on etua). Lunttilappu sallittu (ks. alla).
- Kurssin tulokset (vaatii kirjautumisen)
- ANNA KURSSIPALAUTETTA. Sillä on väliä.
- Erilaisia AI-aiheisia kirjastoja ja sovelluksia moneen lähtöön: GNU/LInux AI & Alife HOWTO
- Jos haluat jatkaa tekoälyopintoja, laitoksella on tarjolla ainakin koneoppimisen ja todennäköisyysmallinnuksen sekä laskennallisen luovuuden kursseja. Muista, että voit suorittaa myös Aallon kursseja; siellä on tarjolla mm. joitakin neuroverkkoaiheisia kursseja.
- Kokeessa lunttilappu sallittu: kaksipuolinen käsin kirjoitettu A4. Myös laskin on sallittu, mutta ei pakollinen. Lunttilappu on palautettava vastauspaperien mukana. (Sen saa halutessaan myöhemmin takaisin.)
- 17.10.2014 Shakkiturnauksen jaettu ykkössija boteille, joiden sijoitus oli parempi kuin Deep Gluen: Aozibot, apabot, hyyry, Passenger ja Shallow Red. Onnittelut voittajille!
- 17.10.2014 Kertausluento: AktivatorPlus
- 10.10.2014 Lego-pajailmoittautuminen: klik hier
- 26.9.2014 Viikon 3 Shakki-tehtävän tehtäväpohjasta on julkaistu päivitetty versio, koska osalla opiskelijoista oli ongelmia shakkitekoälyn lataamisessa palvelimelle. Shakkitehtävän voi tästä syystä merkitä tehdyksi myös myöhemmissä laskuharjoitustilaisuuksissa.
- 20.9.2014 Uusia ryhmiä ei perusteta. Jonossa olijat voivat vieraillu muissa ryhmissä (etenkin tiistain ryhmässä on paljon tilaa).
- 9.-12.9.2014 Ensimmäiset laskuharjoituskerrat. HUOM: Ilmoittaudu tarvittaessa jonoon (ryhmä 99). Uusi ryhmä perustetaan tarvittaessa.
- 4.9.2014 Ensimmäinen luento (to 10-12). Läsnäolo suositeltavaa, mutta ei pakollista.
- 26.8.2014 Ilmoittautuminen alkaa.
Completing the course
Suoritus perustuu laskuharjoituksiin (33%) ja kurssikokeeseen (67%). (Tarkennus jälkikäteen: laskuharjoitukset 40% ja koe 60%.)
Läpipääsyraja on noin puolet tarjolla olevista suorituspisteistä. Huom: 5 opintopisteen kurssi edellyttää arviolta 18 viikkotuntia työtä. Varaudu siis näkemään vaivaa.
Luennoilla ei ole läsnäolopakkoa, mutta ensimmäinen luento torstaina 5.9.2014 on suositeltava.
IRC
Kurssin irc-kanava on #johtek. Sen seuraaminen on suositeltavaa. Ohjeet FuksiWikissä.
Literature and material
Kurssilla ei ole kurssikirjaa. Käsiteltävä materiaali käydään pääosin läpi kurssimonisteessa, jota päivitetään kurssin kuluessa (huomaa myös linkit luentokalvoissa):
- KURSSIMONISTE (pdf; päivitetty 21.10.2014)
Edellisvuoden kurssimateriaalista ja etenkin laskuharjoitusten esimerkkiratkaisuista voi toisinaan olla hyötyä:
Vanhoja kurssi- ja erilliskokeita voi olla myös hyödyllistä katsella, vaikka joitain painotuseroja edellisvuosien kursseihin verrattuna onkin: esim. logiikkaa ei juuri vuoden 2011 jälkeen ole käsitelty.
- kurssikoe 21.10.2011; esimerkkiratkaisu tehtävään 6 (A*-haku): ratkaisu (pdf)
- erilliskoe 25.11.2011
- erilliskoe 13.1.2012
- erilliskoe 17.4.2012
- erilliskoe 21.8.2012
- kurssikoe 19.10.2012 (sama englanniksi) : arvosteluperusteet (pdf)
- kurssikoe 18.10.2013
- uusintakoe 22.11.2013
-
kurssikoe 24.10.2014
Luento 1 (4.9.2014): Tekoälyn filosofiaa | Etsintäalgoritmit.
- Luentokalvot (pdf, 4.1 MB) – paras-ensin-haku (A*) jäi seuraavalle luennolle
-
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 videot: erityisesti First search program, A*
- A*-hakua ja muita etsintäalgoritmeja havainnollistava demo
Luento 2 (5.9.2014): Pelit
- Luentokalvot (pdf, 20 MB)
-
Aiheet:
- minimax-algoritmi
- alpha-beta-karsinta
- tietokoneshakki -
Lisämateriaalia:
- alpha-beta-karsintaa havainnollistava materiaali.
- alpha-beta-karsintaa havainnollistava video (10 min; huomaa, että laskuharjoitustehtävänä ei ole videon ristinolla)
- alpha-beta-karsintademo1
- alpha-beta-karsintademo2
Luento 3 (11.9.2014): Logiikka tekoälyn historiassa | Todennäköisyysmallinnus I
- Luentokalvot (pdf, 4.8 MB)
-
Aiheet:
- tietämyksen esittäminen logiikan avulla
- logiikkaohjelmoinnista ja sen ongelmista (lyhyesti)
- 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 (12.9.2014): Todennäköisyysmallinnus II: Naivi-Bayes-roskapostinsuodatin
- Luentokalvot (pdf, 4.6 MB) | käsiteltiin vain sivulle 36/59 asti; jatkuu ensi viikolla
-
Aiheet:
- ehdollinen todennäköisyys, riippumattomuus
- Bayesin kaava
- naivi Bayes -malli
- roskapostisuodattimen toteutus -
Lisämateriaalia
- The Guardian: A formula for justice
- 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 5 (18.9.2013): Todennäköisyysmallinnus III: Bayes-verkkojen periaatteet
- Luentokalvot (pdf, 3.0 MB)
-
Aiheet:
- Bayes verkot
- eksakti todennäköisyyspäättely Bayes-verkossa
- datan generoiminen Bayes-verkosta
- approksimatiivinen ("Monte Carlo-") päättely Bayes-verkossa -
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)
Luento 6 (19.9.2013): Koneoppiminen
- Luentokalvot (pdf; 5.4 MB)
-
Aiheet:
- koneoppimisen tyypit: ohjattu, ohjaamaton, ...
- lähimmän naapurin luokitin
- naivi-Bayes -luokitin (taas!) -
Lisämateriaalia:
- Coursera MOOC: Machine Learning- videot: esim. "What is Machine Learning?"
- Data Mining with Weka MOOC: 3.3. "Using Probabilities (Naive Bayes classifier)"
- Weka 3: Data Mining Software in Java
- P. Domingos: A Few Useful Things to Know about Machine Learning (pdf)
- Wikipedia: Naive Bayes classifier
- C. Elkan: Nearest Neighbor Classification (pdf)
Luennot 7–8 (25.–26.9.2013): Neuroverkot
- Luentokalvot (pdf; 3.9 MB)
-
Aiheet:
- neuroverkkotyyppejä
- neuroverkkojen oppimisesta
- perseptronialgoritmi (luokitin)
- Hopfielding verkko, Boltzmannin kone
- Kohosen itseorganisoiva kartta (SOM) -
Lisämateriaalia:
- Wikipedia: Types of artificial neural networks
Luennot 9-10 (2.-3.9.2013): Digitaalinen signaalinkäsittely
- Luentokalvot (pdf, 6.2 MB)
-
Aiheet:
- tietokonegraafiikka ja kuvankäsittely
- kuvan ja äänen esitysmuodot
- signaalinkäsittelyn sovelluksia
- kohinanpoisto
- kuvantunnistus
- invariantit piirteet (SIFT/SURF) -- opeteltava perusidea (kolme vaihetta), ei yksityiskohtia
Luento 11 (9.10.2013): Vierailuluento: Kinect-sensori | Robotiikka I
- Luentokalvot (pdf, 2.8 MB)
-
Aiheet:
- Arttu Modig: Kinect-sensori liikkeen analysoinnissa (demo)
- robotiikka tekoälyn "Grand Challengena"
- esimerkkejä scifi- ja todellisista roboteista
- 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 12 (10.10.2013): Vierailuluento: Laskennallinen luovuus | Robotiikka II
-
Aiheet:
- Tony Veale: Topics in Computational Creativity (vierailuluento)
- Lego-robottien esittely käytännössä -
Lisämateriaalia:
- materiaalia ja luennolla näytettyjä linkkejä laskennallisesta luovuudesta: RobotComix.com
- Raffaello D'Andrea: The astounding athletic power of quadcopter (Youtube)
Luento 13 (16.10.2013): Ei luentoa
- Luennon ja laskuharjoitusryhmien sijaan pajat.
Luento 14 (17.10.2013): Kertausluento
- Luento-osallistumislinkki: AktivatorPlus
-
Aiheet:
- kurssin aihepiirien kertaus
- shakkiturnauksen voittajan julistaminen
- kysymyksiä ja vastauksia
Laskuharjoitukset
(esimerkkiratkaisut palaavat näkyviin, kun vastaavat tehtävät on käsitelty käynnissä olevalla kurssilla)
-
Tehtävät (pdf) – esimerkkiratkaisut (pdf)
lisämateriaali Reittiopas-tehtävään: Reittiopas1.zip -
Tehtävät (pdf) – esimerkkiratkaisut (pdf)
lisämateriaali Reittiopas-tehtävään: Reittiopas-astar.zip -
Tehtävät (pdf) – esimerkkiratkaisut (pdf)
lisämateriaali shakkitehtävään: Shakkibotti.zip (päivitetty 26.9.) | shakkiturnauspalvelin -
Tehtävät (pdf) – esimerkkiratkaisut (pdf)
lisämateriaali numerontunnistustehtäviin: Perseptroni.zip -
Tehtävät (pdf) – esimerkkiratkaisut (pdf)
lisämateriaali Weka-tehtävään: spirals.arff | Weka-ohje
lisämateriaali kohinanpoistotehtävään: denoise.py | kuva.png | Java-versio
lisämateriaali kuvantunnistustehtävään: surf-package.zip -
Tehtävät (pdf)
lisämateriaali robotehtävään: Terminator.java