Teknillinen korkeakoulu, 
     Tietojenkäsittelyteorian laboratorio

T-79.5103 Laskennan vaativuusteoria (5 op) L

Syksy 2007 (Opetusjaksot I ja II)

Laskennallinen vaativuus on tietojenkäsittelyn keskeisimpiä tutkimuskohteita, jossa kehitetään menetelmiä sekä algoritmien että ratkaistavien ongelmien laskennallisen vaativuuden (muisti, suoritusaika, kommunikaatio) järjestelmälliseen ja luotettavaan arviointiin. Tällaiset menetelmät ovat oleellisia tietojenkäsittelyn ammattilaiselle hänen joutuessaan arvioimaan esimerkiksi kehitetyn algoritmin/järjestelmän suorituskykyä ja vasteaikoja, ehdotetun algoritmin optimaalisuutta ratkaistavaan ongelmaan tai mahdollisuuksia löytää tehokas tietokoneratkaisu esitettyyn ongelmaan.

Kurssin tavoitteena on perehdyttää opiskelija menetelmiin ja niiden alla olevaan teoriaan, joiden avulla voidaan vastata esimerkiksi seuraavanlaisiin kysymyksiin.

  • Minkälaiset ongelmat ovat ratkaistavissa tehokkaasti tietokoneella?
  • Miten tilanne muuttuu, kun (i) käytettävissä olevan muistin määrää rajataan, (ii) otetaan käyttöön epädeterministinen tai satunnaistettu laskenta ja halutaan, että laskenta päättyy oikeaan tulokseen suurella todennäköisyydellä, (iii) laskenta on rinnakkaista tai (iv) halutaan likimääräisesti oikea vastaus?
  • Minkälaiset laskennalliseen vaativuuteen liittyvät tulokset ja oletukset ovat salausalgoritmien ja kryptografisten protokollien turvallisuuden taustalla?

Kurssilla käydään läpi keskeisimmät vaativuusluokat (P, NP, PSPACE, NC, polynominen hierarkia, ...) ja niihin liittyvät menetelmät, joilla ongelmien vaativuusanalyysia voidaan tehdä. Lisäksi tarkastellaan satunnaistetun sekä rinnakkaisen laskennan tarjoamia mahdollisuuksia ja tutustutaan kryptografiaan laskennallisen vaativuuden kannalta.

Kurssi soveltuu kaikille, joita kiinnostaa syvällinen ymmärtämys algoritmien ja ongelmien laskennallisesta vaativuudesta sekä tietojenkäsittelyn mahdollisuuksista ja rajoista. Erityisen suositeltava kurssi on jatko-opiskelijoille ja jatko-opintoja suunnitteleville.

Kurssi on koostuu luennoista ja laskuharjoituksista ja se suoritetaan kahdella välikokeella ja tekemällä kotitehtäviä.

  • Kirjallisuus: C. Papadimitriou: Computational Complexity, Addison-Wesley, 1994.
  • Luennot: maanantaisin ja keskiviikoisin klo 10-12, sali TB353
  • Kurssi alkaa: 17.9.2007.
  • Laskuharjoitukset: maanantaisin klo 14-16, sali TB353
  • Vastaava opettaja: Prof. Ilkka Niemelä, sähköposti: Ilkka.Niemela (at) tkk.fi, kotisivu: http://www.tcs.hut.fi/~ini/
  • Assistentti: TkL Matti Järvisalo, sähköposti: mjj (at) tcs.hut.fi, kotisivu: http://www.tcs.hut.fi/~mjj/
  • Esitiedot: T-79.1001/1002 Tietojenkäsittelyteorian perusteet
  • Kurssin kotisivu: http://www.tcs.hut.fi/Studies/T-79.5103/