Johdatus tekoälyyn

582216
5
Algorithms and machine learning
Intermediate studies
Kurssilla käydään läpi tekoälyn ongelma-alueita ja niihin liittyviä ratkaisumenetelmiä koostuen luennoista, ohjelmointitehtävistä, harjoitustehtävistä, sekä kurssikokeesta.

Exam

19.10.2012 09.00 A111
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

Group: 1
Time Room Instructor Date Observe
Wed 12-14 B222 Teemu Roos 10.09.2012—12.10.2012
Group: 2
Time Room Instructor Date Observe
Thu 12-14 B222 Simo Linkola 10.09.2012—12.10.2012
Group: 3
Time Room Instructor Date Observe
Thu 16-18 B222 Aleksi Majander 10.09.2012—12.10.2012
Group: 4
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.

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

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

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

Luento 7 (26.9.2012): Koneoppiminen

Luento 8 (27.9.2012): Neuroverkot

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

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

  1. Tehtävät (pdf).
    Materiaali Reittiopas-tehtävään: verkko.json | BFS.java | Pysakki.java | rplot.txt | reitit kartalla (pdf)
  2. 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)
  3. 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.
  4. Tehtävät (pdf).
    Lisämateriaali neuroverkkotehtävään
  5. 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)