581330-2 Ohjelmoinnin ja laskennan perusmallit (2 ov)
Toukokuu 2004
Kurssin
tulokset
Yleistä
OLPE-kurssi on tietojenkäsittelytieteen pääaineopiskelijoille pakollinen
cum laude approbatur -kurssi ja sivuaineopiskelijoille valinnainen cum laude
approbatur -kurssi. Kurssilla tutustutaan laskennallisten
ongelmien abstraktin mallintamisen perusteisiin.
Tämä luentokurssi on tarkoitettu ensisijaisesti
muuntokoulutettaville. He saavat kurssilla etusijan kaikissa asioissa.
Esitiedot
Riittävät matemaattiset valmiudet. Mitään tiettyä osa-aluetta ei
erityisesti vaadita, mutta kurssilla käsitellään matemaattistyyppisiä
asioita. Mikäli haluat virkistää muistiasi siitä, mitä ovat
esimerkiksi funktiot ja relaatiot, joukot, numeroituvuus
tai induktiotodistus, kannattaa ehdottomasti osallistua ensimmäiselle
luennolle. Kurssin suoritusta tukevat kurssit Diskreetti matematiikka I ja
Tietorakenteet.
Kurssin sisältö
- Johdanto
- Kurssin esittely
- Laskennalliset ongelmat ja ratkeavuus
- Säännölliset kielet ja äärelliset automaatit
- Säännölliset lausekkeet ja kielet
- Deterministiset äärelliset automaatit
- Äärellisen automaatin minimointi
- Epädeterministinen äärellinen automaatti
- Automaatin determinisointi
- Säännöllisten kielten rajoituksista: pumppauslemma
- Kontekstittomat kielet ja pinoautomaatit
- Kontekstittomat kieliopit ja kielet
- Kieliopin jäsennysongelma
- Rekursiivisesti etenevä jäsentäminen
- CYK-jäsennys algoritmi
- Pinoautomaatit
- Kontekstittomien kielten rajoituksista
- Johdanto laskennan vaativuusteoriaan
- Rajoittamattomat kieliopit
- Turingin koneet
- Laskennallisten ongelmien ratkeavuus
Opetus (luennot ja laskarit)
Kurssikoe
pe 4.6. klo 16-20 Auditorio
(ne jotka eivät varsinaisena koepäivänä pääse paikalle voivat tehdä
kokeen ti 1.6. 16-20 Auditoriossa)
Kurssin suorittaminen
Kurssin suoritus koostuu kahdesta osasta: kurssikokeesta ja
pakollisista harjoitustehtävistä (vähintään 1/3 tehtävistä):
- Kurssikoe kork. 54 p
- Laskuharjoitukset kork. 6 p
Erilliskokeet
Kirjallisuutta
Kurssi perustuu pääasiallisesti Pekka Orposen luentomonisteen
"Laskennan teoria" alkuosaan (s. 1-60).
Kirjoja:
- John E. Hopcroft, Rajeev Motwani & Jeffrey D. Ullman:
Introduction to Automata Theory, Languages, and
Computation, Addison-Wesley, 2001 (kirjaston kurssikirjahyllyssä,
Laskennan teorian kurssikirja)
- Harry R. Lewis & Christos H. Papadimitriou:
Elements of the Theory of Computation, Second Edition,
Prentice-Hall, 1998 (kurssikirjahyllyssä, saa luettavaksi pyytämällä
lainaamosta)
- Michael Sipser: Introduction to the Theory of Computation. PWS
Publishing Company, 1997 (hyvin kirjoitettu selkeä esitys, kurssikirjahyllyssä)
- Efim Kinber & Carl Smith: Theory of Computing. A Gentle Introduction.
Prentice Hall, 2001 (hyvin havainnollinen, kiltti johdatus aiheeseen,
kurssikirjahyllyssä)
Matti.Luukkainen@cs.helsinki.fi
Page updated Jul 01, 2004