Tik-79.161 Kombinatoriset algoritmit

Tämä on kurssin kevään 2000 sivu. Nykyinen sivu on osoitteessa http://www.tcs.hut.fi/Teaching/Tik-79.161/.

Kevät 2000

1101000
0110100
0011010
0001101
1000110
0100011
1010001

Yllä oleva rakenne on niin sanottu kombinatorinen sommitelma, jota voidaan käyttää esimerkiksi kokeiden suunnittelussa tai vaikkapa lottojärjestelmänä. Esimerkin sommitelma on sellainen, että jos valitset mitkä tahansa kaksi riviä niin löytyy täsmälleen yksi sarake jolla on 1 näissä rivissä. Tällaisia sommitelmia voidaan etsiä tietokoneella niin sanottujen kombinatoristen algoritmien avulla.

Käsitteellä kombinatorinen algoritmi voidaan tarkoittaa kahta asiaa: joko 1) algoritmia jolla käsitellään kombinatorisia rakenteita (permutaatioita, osajoukkoja, graafeja, koodeja, sommitelmia), tai 2) algoritmia joka on luonteeltaan kombinatorinen=diskreetti (esim. erilaiset hakualgoritmit). Tällä opintojaksolla käsitellään kombinatorisia algoritmeja kummassakin merkityksessä.

Maailman digitalisoituessa kombinatoristen algoritmien merkitys kasvaa voimakkaasti. Jokainen joka työssään kirjoittaa tietokoneohjelmia tai suunnittelee algoritmeja törmää ongelmiin joissa näitä 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.

Suoritettu kurssi antaa opiskelijalle muun muuassa seuraavat valmiudet:

  1. Kyky ymmärtää keskeisiä kombinatorisia objekteja (graafeja, jne.).
  2. Tärkeimpien kombinatoristen perusobjektien kuten osajoukkojen ja permutaatioiden tehokkaiden käsittelyalgoritmien hallitseminen.
  3. Yleisimpien hakumenetelmien osaaminen, mukaan lukien näiden soveltaminen käytännön ongelmiin.
  4. Symmetriakäsitteen ja symmetria/ryhmä -yhteyden ymmärtäminen. Kyky käyttää symmetrioita hyväksi hakujen rajoittamiseksi.
  5. Taito hyökätä vaikeimpien (esim. NP-täydellisten) kombinatoristen ongelmien kimppuun stokastisia menetelmiä (tabuhaku, simuloitu jäähdytys) käyttäen.

Kurssi peilaa hyvin tietojenkäsittelyteorian laboratorion koodausteoria/kombinatoriikka/optimointiryhmän tutkimusaiheita ja antaa myös valmiuden erikoistyön (Tik-79.189) tekoon. Kurssi sopii erittäin hyvin myös jatko-opiskelijoille.

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.). Jos kiinnostaa, ota yhteys.

Last update: October 10, 2000.