Tutki ja kirjoita -kurssi, s-2005



Samankaltaiset tiedostot
Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Tutkimusmenetelmät-kurssi, s-2004

10. Painotetut graafit

A215 Tietorakenteet. Tietojenkäsittelytieteiden laitos Tampereen yliopisto. Periodit I-II, syksy 2007

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

811312A Tietorakenteet ja algoritmit I Johdanto

The Viking Battle - Part Version: Finnish

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.

Information on preparing Presentation

The CCR Model and Production Correspondence


Tietorakenteet ja algoritmit - syksy

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Operatioanalyysi 2011, Harjoitus 4, viikko 40

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Harjoitus 4 ( )

Stabiloivat synkronoijat ja nimeäminen

Choose Finland-Helsinki Valitse Finland-Helsinki

Tieteellinen kirjoittaminen 5/7

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

MATEMATIIKAN LATOMINEN LA T EXILLA, OSA 1

T : Max-flow / min-cut -ongelmat

16. Allocation Models

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

TIES501 Pro Gradu seminaari Tieteellisestä kirjoittamisesta

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Other approaches to restrict multipliers

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Integration of Finnish web services in WebLicht Presentation in Freudenstadt by Jussi Piitulainen

Toppila/Kivistö Vastaa kaikkin neljään tehtävään, jotka kukin arvostellaan asteikolla 0-6 pistettä.

Alternative DEA Models

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

Matematiikan kirjoittamisesta

etunimi, sukunimi ja opiskelijanumero ja näillä

Tietorakenteet ja algoritmit

Efficiency change over time

S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

811120P Diskreetit rakenteet

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

Tieteellisen artikkelin kirjoittaminen ja julkaiseminen

NOKIAN TALVIRENKAAT

14. Hyvä ohjelmointitapa 14.1

Johdatus L A TEXiin. 10. Matemaattisen tekstin kirjoittamisesta. Matemaattisten tieteiden laitos

SIMULINK S-funktiot. SIMULINK S-funktiot

KIRJASAMPO. Jyväskylä

812336A C++ -kielen perusteet,

Algoritmit 1. Luento 3 Ti Timo Männikkö

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

10. Painotetut graafit

811120P Diskreetit rakenteet

Co-Design Yhteissuunnittelu

A TIETORAKENTEET JA ALGORITMIT

Pääluvun tekstin jälkeen tuleva alaotsikko erotetaan kahdella (2) enterin painalluksella,väliin jää siis yksi tyhjä rivi.

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

VERKKOKIRJOITTAMINEN.

Kysymyksiä ja vastauksia Outlook 2007:stä

Selkokeskus Selkoa selkokielestä Kuka sitä tarvitsee? Mitä se on?

Capacity Utilization

TAMPEREEN TEKNILLINEN YLIOPISTO

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmit 1. Luento 2 Ke Timo Männikkö

A TIETORAKENTEET JA ALGORITMIT

RINNAKKAINEN OHJELMOINTI A,

Ongelma(t): Mihin perustuu tietokoneiden suorituskyky ja sen jatkuva kasvu? Mitkä tekijät rajoittavat suorituskyvyn parantamista ja mitkä niistä ovat

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

4. Lausekielinen ohjelmointi 4.1

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

TIE Ohjelmistojen suunnittelu

Tohtorixi. Pasi Tyrväinen , Päivitetty Prof. Digital media

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

Esimerkki 1: Kahviautomaatti.

Johdatus L A TEXiin. 8. Sekalaisia asioita. Matemaattinen teksti. Markus Harju. Matemaattiset tieteet

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

response letter Jouko Miettunen

Time spent reading magazines NRS 2012

13. Hyvä ohjelmointitapa (osa 1) 13.1

Sähkötekniikan perusteet

Sukutilan 110 -vuotissuunnitelma. Tuomas Mattila Kilpiän tila Osuuskunta Luonnonkoneisto

Opetussuunnitelmasta oppimisprosessiin

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Nimi: Ratkaise tehtävät sivun alalaitaan. (paperi nro 1) 1. Valitse oikea toisen asteen yhtälön ratkaisukaava: (a) b ± b 4ac 2a. (b) b ± b 2 4ac 2a

LYTH-CONS CONSISTENCY TRANSMITTER

1. Tarkastellaan seuraavaa stokastista Petri-verkkoa: p 2. p 1. lock write 1

Vaikutusten mittaaminen. Hannes Enlund Fimea Lääkehoitojen arviointi

4x4cup Rastikuvien tulkinta

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

11/20: Konepelti auki

Algoritmit 2. Demot Timo Männikkö

Kysymyksiä koko kurssista?

ECVETin soveltuvuus suomalaisiin tutkinnon perusteisiin. Case:Yrittäjyyskurssi matkailualan opiskelijoille englantilaisen opettajan toteuttamana

Transkriptio:

Teoreettisen tutkimuksen raportoinnista Tutki ja kirjoita -kurssi, s-2005 Pekka Kilpeläinen Kuopion yliopisto Tietojenkäsittelytieteen laitos Teoreettisen tutkimuksen raportoinnista p.1/14

Sisältö Algoritmisten artikkelien sisällöstä, esitystavoista ja rakenteesta Algoritmien esittämisestä mitä ja miten? Tieteellisen kirjoitelman rakenteesta funktionaalisuus ja sidosteisuus Esimerkki algoritmisen artikkelin sisällöstä ja rakenteesta Teoreettisen tutkimuksen raportoinnista p.2/14

Miten esitellä algoritmisia tuloksia? Luku 7 (Algorithms) teoksessa J. Zobel: Writing for Computer Science, Second Edition. Springer-Verlag, 2004. Ks. myös luku 5 (Mathematics) Pelkkä algoritmi ei riitä; Esiteltävä selittäen perustellen merkittävyys, oikeellisuus, tehokkuus Kontribuutio sekä sen perustelut: Tulosten merkitys ja paikkansapitävyys Teoreettisen tutkimuksen raportoinnista p.3/14

Mitä kertoa algoritmista? (Zobel, sekä Nevalainen raportissa Järvinen&Järvinen: Tutkimustyön metodeista. Opinpaja Oy, Tampere, 1996.) Tilanteesta riippuen osa tai kaikki allaolevista: 1. Algoritmin idea (sanallisesti, korkealla tasolla); sovellusala, mahdolliset rajoitukset 2. Syötteet, tulokset, keskeiset tietorakenteet 3. Algoritmin kuvaus 4. Havainnollistava esimerkki 5. Oikeellisuuden perusteluun mahd. tarvittavat ominaisuudet; Oikeellisuustodistus 6. Tehokkuustarkastelu (asymptoottinen analyysi ja/tai koejärjestely) 7. Toteutuskoodi (?) Teoreettisen tutkimuksen raportoinnista p.4/14

Algoritmien esitystapoja Miten esittää algoritmeja? Sopivalla abstraktiotasolla Asiantuntijaa silmällä pitäen (EI konetta tai 1. vuoden opiskelijaa) Vertaa d max{d i,j 1 i m, 1 j n} ja d := D[1, 1]; for i := 1,..., m do for j := 1,..., n do if d < D[i, j] then d := D[i, j]; Teoreettisen tutkimuksen raportoinnista p.5/14

Algoritmien esitystyylejä Numeroitu askelluettelo, esim:. 2. Muodosta toisen tason hajautusfunkio: 2.1 Valitse satunnainen h H a,b ; 2.2 Jos h(x) = h(y) joillain x, y K, x y, palaa vaiheeseen 2.1; Sanallista selittämistä tukeva Algoritmin rakenne ( toteutus) saattaa hämärtyä Teoreettisen tutkimuksen raportoinnista p.6/14

Algoritmien esitystyylejä (2) Pseudokoodi Muita (ollut) oma suosikki Tukee toteutusta saattaa olla liian detaljoitu proosakoodi, kirjallinen koodi (literate code) ohjelmointikieletkin joskus Vuokaavioita en suosittele vaativien algoritmien esittämiseen Teoreettisen tutkimuksen raportoinnista p.7/14

Algoritmien L A T E Xoinnista Algoritmipaketit kuten algorithmicx mahdollisesti hyödyllisiä (Ks. esim. Typesetting pseudocode in LaTeX, UK TeX FAQ) siisti yhtenäinen tyyli automaattinen rivien numerointi ja sisennys Olen kuitenkin nojautunut perus-l A T E Xiin. Miksi? laiskuus, ajanpuute ;-( tietty muotoilun vapaus työläys murto-osa algoritmiesityksen laatimisen vaativuudesta siirtyminen abstraktimpiin kuvaustapoihin Teoreettisen tutkimuksen raportoinnista p.8/14

Esimerkkimäärittelyjä Tabulointiympäristö algoritmeille/ohjelmille: \newenvironment{program}{\begin{tabbing} xxxx \= xxxx \= xxxx \= xxxx \= xxxx \= xxxx \= xxxx \= xxxx \= xxxx \= xxxx \= \kill} {\end{tabbing}} Komennot pseudokoodin avainsanoille: \newcommand{\forall}{\textbf{for all}} \newcommand{\if}{\textbf{if}}... Algoritmien numerointi: \newtheorem{algorithm}{algorithm}[section] Teoreettisen tutkimuksen raportoinnista p.9/14

Käyttöesimerkki \begin{algorithm}\label{alg:gen-match} General tree matching scheme. \begin{description} \item[input:] Pattern tree $P = (V, E, \juuri{p})$ and target tree $T = (W, F, \juuri{t})$. \item[output:] The nodes of $W$ that are occurrences of $P$. \item[method:] \end{description} \begin{program} \> \For\ $w := 1, \ldots, n$ \Do\\ \> \Comment{Process the target nodes in postorder} \\ \> \> $M(w):= \emptyset$; \\ \> \> \Forall\ $v := 1, \ldots, m$ \Do\\ \> \> \Comment{Process the pattern nodes in postorder} \\ \> \> \> \If\ $\lab{v} = \lab{w}$ \Then \\... \end{program} \end{algorithm} Teoreettisen tutkimuksen raportoinnista p.10/14

Ladonnan tulos Algorithm 4.3 General tree matching scheme. Input: Pattern tree P = (V, E, root(p )) and target tree T = (W, F, root(t )). Output: The nodes of W that are occurrences of P. Method: for w := 1,..., n do comment: Process the target nodes in postorder; M(w) := ; for all v := 1,..., m do comment: Process the pattern nodes in postorder;... if label(v) = label(w) then Teoreettisen tutkimuksen raportoinnista p.11/14

Tekstin funktionaalisuus ja sidosteisuus G.G. Gopen & J.A. Swan: The science of scientific writing. American Scientist (Nov Dec 1990), Vol. 78, 550 558 ja L.A. Crowlin tiivistelmä siitä ynnä henkilökohtaisia ajatuksia Huomioitavia lukijan odotuksia (jotta viesti välittyisi): Kullakin yksiköllä (unit of discourse; lause, virke, kappale, luku, artikkeli) on yksi funktio ( pointti, tarina ) sekä suunta alku loppu aihe/konteksti tulos/väittämä/huipentuma vanha/tunnettu uusi/painotettu asia topic position ja stress position Looginen eteneminen suunnattujen yksikköjen mielekkäästä kytkeytymisestä Teoreettisen tutkimuksen raportoinnista p.12/14

Kontekstuaalisuus Johdannossa, yhteenvedossa ja lukujen alussa yleensä artikkelin osia selittävää ja yhteen sitovaa liimatekstiä Tärkeä tuki lukijalle: osien merkitys ja rooli Voi olla eksplisiittistä: The rest of this paper is organized as follows. In Section 2 we introduce... We showed in Section 3 that [a specific problem can be solved efficiently]... On the other hand, [related problems] were shown NP-hard in Section 4. Muutoin yleensä parempi pyrkiä läpinäkyvyyteen, s.o., keskittyä aiheeseen ja välttää huomion kiinnittämistä paperiin ja sen tekijöihin Teoreettisen tutkimuksen raportoinnista p.13/14

Artikkeliesimerkki P. Kilpeläinen, H. Mannila: Ordered and unordered tree inclusion. SIAM Journal on Computing 24(2) (April 1995), 340 356). Hyvä vai varoittava esimerkki? ;-) Mitä kerrotaan algoritmisesta ongelmasta ja sen ratkaisusta Miten? Artikkelin yleinen rakenne Teoreettisen tutkimuksen raportoinnista p.14/14