Kirjaudu sisään palauttaaksesi tehtäviä.
Lue ensin tehtävän yleiset ohjeet. Tarkemmat tehtäväkohtaiset ohjeet ovat alla:
Yritä käyttää Strassenin algoritmia matriisitulojen laskemisen nopeuttamiseksi. Toteuta tehtävän CP3b ratkaisusi uudelleen Strassenin algoritmin perusajatusta hyödyntäen. Riittää, että hyödynnät Strassenin algoritmia (tehtävään sopeutettuna) ylimmillä rekursiotasoilla; tämän jälkeen voit taas käyttää naiivia algoritmia. Pelkkä naiivin algoritmin käyttö ei riitä, vaikka ratkaisu olisikin riittävän nopea. Ole tarkkana pyöristysvirheissä. Saatat tarvita kaksinkertaisen tarkkuuden liukulukuja testien läpäisemiseksi.
Koodin toimintaa testataan ensin erilaisilla testeillä. Voit kokeilla samaa omalla tietokoneellasi komennolla ./grading test.
Jos koodi toimii odotetusti, sille suoritetaan benchmark-testejä. Voit kokeilla tätä omalla tietokoneellasi komennolla ./grading benchmark. Huomaa kuitenkin, että ajoaika omalla tietokoneellasi voi olla eri kuin arviointiin käytetyllä laitteistolla.
| Nimi | Parametrit |
|---|---|
| benchmarks/1 | nx = 1000, ny = 1000 |
| syöte sisältää 1000 × 1000 pikseliä, ja tulosteessa tulee olla 1000 × 1000 pikseliä | |
| benchmarks/2a | nx = 1000, ny = 4000 |
| syöte sisältää 4000 × 1000 pikseliä, ja tulosteessa tulee olla 4000 × 4000 pikseliä | |
| benchmarks/2b | nx = 999, ny = 3999 |
| syöte sisältää 3999 × 999 pikseliä, ja tulosteessa tulee olla 3999 × 3999 pikseliä | |
| benchmarks/2c | nx = 1001, ny = 4001 |
| syöte sisältää 4001 × 1001 pikseliä, ja tulosteessa tulee olla 4001 × 4001 pikseliä | |
| benchmarks/3 | nx = 6000, ny = 6000 |
| syöte sisältää 6000 × 6000 pikseliä, ja tulosteessa tulee olla 6000 × 6000 pikseliä | |
| benchmarks/4 | nx = 9000, ny = 9000 |
| syöte sisältää 9000 × 9000 pikseliä, ja tulosteessa tulee olla 9000 × 9000 pikseliä | |
Tässä tehtävässä palautus arvioidaan benchmarks/4-testin perusteella, jossa syöte sisältää 9000 × 9000 pikseliä, ja tulosteessa tulee olla 9000 × 9000 pikseliä.
Jos tehtävä palautetaan keskiviikkoon, 2. joulukuuta 2026, klo 23:59:59 (Helsinki) mennessä, se pisteytetään alla olevan taulukon mukaisesti:
| Ajoaika | Pisteet |
|---|---|
| ≤ 8.000 s | 1 |
| ≤ 4.500 s | 2 |
| ≤ 3.000 s | 3 |
| ≤ 2.200 s | 4 |
| ≤ 1.500 s | 5 |
Jos palautat ratkaisun määräajan jälkeen mutta ennen kurssin päättymistä torstaina, 31. joulukuuta 2026, klo 23:59:59 (Helsinki), pistemääräsi määräytyy näin:
| Ajoaika | Pisteet |
|---|---|
| ≤ 4.000 s | 1 |
| ≤ 2.500 s | 2 |
| ≤ 1.500 s | 3 |