TCS /
Teaching /
Tik-79.161
Tik-79.161 Kombinatoriset algoritmit (2 ov)
Kevät 2001
Maailman digitalisoituessa kombinatoristen algoritmien merkitys
kasvaa voimakkaasti. Jokainen työssään algoritmeja suunnitteleva
törmää
ongelmiin, joissa niitä tarvitaan.
Ei liene mikään sattuma, että
Donald Knuthin seuraava kirja (Vol. 4A-4C,
valmistunee 2003) sarjassa
The Art of Computer Programming on Combinatorial
Algorithms.
Kurssilla tutustaan tärkeimpiin kombinatorisiin rakenteisiin
(graafit, osajoukot, jne.) ja tutustutaan algoritmeihin, joilla niitä
voidaan käsitellä tehokkaasti. Lisäksi tutustutaan menetelmiin
(peräytymishaku, tabuhaku, simuloitu jäähdytys), joilla voidaan
tehokkaasti etsiä halutunlaista kombinatorista rakennetta, ja opitaan
käyttämään ongelman symmetrioita hyväksi hakujen rajoittamisessa.
Kurssin tavoitteena on antaa opiskelijalle muun muuassa
seuraavat valmiudet:
- Kyky ymmärtää keskeisiä kombinatorisia objekteja
(graafeja, jne.).
- Tärkeimpien kombinatoristen perusobjektien,
kuten osajoukkojen ja permutaatioiden, tehokkaiden
käsittelyalgoritmien hallitseminen.
- Yleisimpien hakumenetelmien tunteminen ja kyky
soveltaa niitä käytännön ongelmiin.
- Symmetriakäsitteen ja symmetria/ryhmä -yhteyden
ymmärtäminen. Kyky käyttää symmetrioita
hyväksi hakujen rajoittamiseksi.
- Taito hyökätä vaikeimpien (esim. NP-täydellisten)
kombinatoristen ongelmien kimppuun stokastisia menetelmiä
(tabuhaku, simuloitu jäähdytys) käyttäen.
Kurssin sisältö vastaa hyvin tietojenkäsittelyteorian laboratorion
koodausteoria- ja
optimointiryhmän
tutkimusaiheita ja antaa valmiuden erikoistyön
(Tik-79.189) tekoon. Kurssi sopii erittäin hyvin
myös jatko-opiskelijoille.
- Ilmoittautuminen:
TOPI:ssa
tai luennoilla.
- Luennot:
Harri Haanpää,
keskiviikkoisin 12-14 (sali TB353) 17.1.2000 alkaen.
- Laskuharjoitukset:
Petteri Kaski,
torstaisin 14-15 (sali TB353) 18.1.2000 alkaen.
- Suoritus:
Tentti ja kolme kotitehtävää. Kotitehtävät on
suoritettava ennen tenttiä ja ne ovat voimassa viimeisen kerran
seuraavassa lokakuun tentissä.
- Tentti:
ma 14.5.2001, 9-12, salit T1 ja T2.
ma 1.10.2001, 12-15, sali A
- Tenttivaatimukset
- Luennoilla ja laskuharjoituksissa käsitellyt asiat
- Kirjasta luvut 1-7, paitsi:
- 3.2., 4.3.1., 5.4.1. 5.4.2., 7.3.3.
- Kotitehtävät: Kurssilla annetaan kolme kotitehtävää,
jotka voivat olla esim. pienimuotoisia ohjelmointitehtäviä, joissa voi
soveltaa kurssilla opittuja tekniikoita. Erityisen ansiokkaista
ratkaisuista voi saada bonuspisteen tenttiin (yhteensä siis max +3p).
- Kurssikirja:
- Oheismateriaalia ja linkkejä (ehdotuksia vastaanotetaan)
Jos on kysyttävää, ota yhteys luennoitsijaan
(Harri.Haanpaa@hut.fi)
tai assistenttiin
(Petteri.Kaski@hut.fi).
Työpaikka
Ryhmäämme otamme työntekijän.
Työ voi esimerkiksi liittyä peräytymishakuun,
paikalliseen hakuun (tabuhaku), tai näiden
hakumenetelmien soveltamiseen johonkin
kombinatoriseen ongelmaan (koodeihin, sommitelmiin, jne.).
Pyydämme kiinnostuneita ottamaan yhteyttä luennoitsijaan.
Latest update: January 03, 2002
by Harri Haanpää
(Harri.Haanpaa@hut.fi)