VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

Koko: px
Aloita esitys sivulta:

Download "VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique"

Transkriptio

1 VAATIMUSMÄÄRITTELY PROJEKTITYÖ Tik

2 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria JOHDANTO Algoritmi Graafi Nauty Mermaid YLEISKUVAUS TOIMINNOT ja VAATIMUKSET Painottamattomien graafien vaatimukset Painottamattoman maksimiklikin koko Yhden maksimiklikin laskeminen Kaikkien maksimiklikkien laskeminen Yhden klikin laskeminen kokoa S Kaikkien klikkien laskeminen kokoa S Yhden klikin laskeminen vähintään kokoa S Kaikkien klikkien laskeminen vähintään kokoa S Solmujen järjestäminen Ensisijaiset "olisi hienoa" -ominaisuudet Klikkien laskenta annetulla solmujen määrällä Painotettujen graafien vaatimukset Painotetun maksimiklikin koko Yhden maksimiklikin laskeminen Kaikkien maksimiklikkien laskeminen Yhden klikin laskeminen kokoa S Kaikkien klikkien laskeminen kokoa S Yhden klikin laskeminen vähintään kokoa S Kaikkien klikkien laskeminen vähintään kokoa S Eri syöteformaattien lukeminen Solmujen järjestäminen MUUT OMINAISUUDET Tehokkuus ja käytettävyys Kieli ja kieliasu Siirrettävyys Käyttökirja Testaaminen Jatkokehitys Liite: Use Case kuva... 11

3 VERSIOHISTORIA Versio Päivämäärä Laatija Kuvaus Dufva Proposal Dufva First draft Dufva Second draft Dufva Third draft Dufva Fourth draft Dufva Edited according to comments received from Patric Östergård and Harri Haanpää

4 VAATIMUSMÄÄRITTELY 4 (11) 1. JOHDANTO Tässä dokumentissa kuvataan ohjelman asiakkaan vaatimuksia. Dokumentti koostuu johdannosta, jonka alaotsikoissa on kerrottu termeistä, jotka saattavat olla ennestään vieraita. Yleiskuvauksessa on mainittu toteutustyökalut, liittymät muihin ohjelmiin ja käyttöympäristön. Toiminnot luvussa kuvataan järjestelmältä vaadittavat ominaisuudet yleisellä tasolla. Neljännessä luvussa mainitaan muista ohjelman ominaisuuksista kuten suorituskykytoiveista ja käytettävyydestä. Liitteenä on Mermaid -ohjelmalla muodostettu UML -kuvaus ohjelman vaatimuksista. Se että käytetäänkö UML -kuvausta toiminnallisessa määrittelyssä on epävarmaa, koska vaatimukset ovat tyypiltään sellaisia, ettei UML anna toiminnalliseen määrittelyyn suurta informatiivista hyötyä. Tavoitteena -ohjelmassa on muodostaa algoritmille toimiva ympäristö, jolloin algoritmin käyttö helpottuu ja algoritmille voidaan luoda uusia käyttötapoja. Ohjelmasta on olemassa jo alustava prototyyppi, jossa on jo jotain ominaisuuksia painavimman klikin löytämiseksi. Sen voi ladata osoitteesta: ~ pat/wclique.html 1.1 Algoritmi Algoritmi jonka ympärille ohjelma rakennetaan on julkinen ja algoritmin toimintaa on kuvattu Internetissä seuraavissa dokumenteissa: "A Fast Algorithm for the Maximum Clique Problem" ~ pat/paper1.ps "A New Algorithm for the Maximum-Weight Clique Problem" ~ pat/paper2.ps Algoritmilla voidaan ratkaista olemassa olevasta graafista asioita joista ollaan kiinnostuneita. Luvussa 1.2 on lyhyt selvitys siitä mikä on graafi. Algoritmi on muodostettu pseudokielellä ja yksi projektin kohteista on muuttaa se C -kielellä toimivaksi. 1.2 Graafi Useissa yhteyksissä tarkastellaan joukkoa solmuja tai tiloja, joista joko on tai ei ole mahdollista siirtyä välittömästi toinen toisiinsa. Tyypillisiä esimerkkejä tällaisista ovat kartta, johon on merkitty kaupunkeja, sekä näiden väliset suorat liikenneyhteydet, tietokoneohjelman kulkua kuvaava vuokaavio ja sukupuut. Graafi, eli verkko G = ( V, E ) muodostuu äärellisistä joukoista V ja E, joista V on ns. solmujen joukko (solmuista

5 VAATIMUSMÄÄRITTELY 5 (11) käytetään myös joissain yhteyksissä nimityksiä kärki tai piste), ja E on sivujen joukko (käytössä myös nimitykset kaari ja haara). Jotta edellinen lause hiukan selkenisi niin Kuva 1 on esitetty kaksi graafia. A-graafi on painottamaton (unweighted) ja b-graafi on painotettu (weighted), jossa solmun paino on sulkujen sisällä. Klikki tarkoittaa yhteyttä usean solmun välillä. ohjelma ei ota kantaa, kuten Nauty ohjelma, siihen onko graafi suunnattu vai suuntaamaton. A-kohdassa maksimiklikin koko on kuusi, b-kohdan graafin maksimiklikin koko on (1) 2 3 2(8) 3(2) 4 5 4(6) 5(4) 6 Graafi a 6(5) Graafi b Kuva 1. Kaksi graafia. 1.3 Nauty Nauty on C kielellä tehty ohjelma jolla voidaan muodostaa automorfisia ryhmiä sekä graafeille että suunnatuille graafeille. Se myös pystyy muodostamaan kanonisia nimiöintejä. Nauty on vapaasti tieteellisissä tarkoituksissa käytettävä ohjelma jonka ohjelmakoodi on julkinen. Nauty ohjelma voidaan ladata osoitteesta: Mermaid Mermaid on Nokialla käytetty ohjelma jolla voidaan luoda UML kuvaus ohjelmalle (ks. liitteenä oleva Mermaidilla tehty UML kuvaus vaatimuksista). Ideana on että esim. yhtä vaatimus soikiota klikattaessa, päästään tarkempiin määrittelyihin, jotka kuuluisivat toiminnalliseen määrittelyyn.

6 VAATIMUSMÄÄRITTELY 6 (11) 2. YLEISKUVAUS Projektityön aihe on ohjelma, josta tulee tieteellisessä käytössä vapaasti käytettävä, eli lähdekoodi on julkinen. Ohjelmatyö tehdään Patric Östergårdille, jonka toimittamassa PostScript dokumentissa:, Patric Östergård, September 28, 2000 on määritelty toivomuksia ohjelmasta. Projektityön koodi tehdään Ansi-C muodossa jolloin se on käyttöjärjestelmästä riippumaton. Ohjelmaa käytetään pääasiassa Unix/Linux käyttöjärjestelmässä jolloin pääosin ohjelman testaus tehdään Nokian tietokoneissa, joissa on Linux käyttöjärjestelmä. Tarvittaessa TKK:n Tietojenkäsittelyteorianlaboratorio on myös käytettävissä. Lopuksi pyritään varmistamaan ohjelman toiminta myös Windows pohjaisissa käyttöjärjestelmissä. Syöte jota en annetaan tulee olla ascii- tai binäärimuotoista, komentoriviparametrit ovat asciita. Tuloste jota sta saadaan on asciimuotoista. Kuva 2 on esitetty syöte- ja tulosteformaatit esimerkkigraafista. 4(3) Esimerkkigraafi 1(1) 2(8) 6(6) 8(5) 3(2) 7(4) 5(3) Syöteformaatti (Dimacsin ascii) c input_jd_w c weighted graph p clq 8 20 e 1 2 e 1 3 e 1 6 e 1 7 e 1 8 e 2 3 e 2 4 e 2 5 e 2 6 e 2 7 e 2 8 e 3 5 e 3 6 e 3 7 e 3 8 e 5 6 e 5 7 e 6 7 e 6 8 e 7 8 n 1 1 n 2 8 n 3 2 n 4 3 n 5 3 n 6 6 n 7 4 n 8 5 c input_jd_uw c unweighted graph p clq 8 20 e 1 2 e 1 3 e 1 6 e 1 7 e 1 8 e 2 3 e 2 4 e 2 5 e 2 6 e 2 7 e 2 8 e 3 5 e 3 6 e 3 7 e 3 8 e 5 6 e 5 7 e 6 7 e 6 8 e 7 8 n 1 1 n 2 1 n 3 1 n 4 1 n 5 1 n 6 1 n 7 1 n 8 1 Tulosteformaatti Kuva 2. n syöte- ja tuloste formaatit. Projektityön päätarkoitus ei ole kehittää itse algoritmia. Jos kuitenkin algoritmi tarvitsee pientä "viilaamista", algoritmin muodostamisessa pseudokielestä syntyy ongelmia tai algoritmi tarvitsee jatkokehitystä, niin yhteyshenkilönä asiakkaan puolelta toimii Harri Haanpää.

7 VAATIMUSMÄÄRITTELY 7 (11) 3. TOIMINNOT JA VAATIMUKSET Ensisijainen päämäärä tässä projektissa on muodostaa toimiva käyttöympäristö algoritmille, jota voidaan kutsua toisesta C kielellä tehdystä ohjelmasta komennolla wclique. Tämä tapahtuu tuottamalla aliohjelmakirjasto, jolla voidaan etsiä klikkejä graafeista. Toissijainen tarkoitus on tuottaa aliohjelmakirjastoon perustuva komentoriviltä ajettava ohjelma, joka ratkoo samoja ongelmia. Ohjelman tulee toimia Unix/Linux käyttöjärjestelmässä yhdessä Nauty ohjelman kanssa ilman ongelmia. Alla on esimerkki C kielen rutiini, eli kuinka ohjelmaa voidaan kutsua. #include "wclique.h"... main() {... /* define graph */... wclique(...); /* process results */... } n tulee ainakin sisältää ensisijaiset vaatimukset, jotka käsittelevät painottamattomia ja painotettuja graafeja (kappaleet ja ). Kuvassa 1 on esitetty mitä tarkoitetaan painotetulla ja painottamattomalla graafilla. 3.1 Painottamattomien graafien vaatimukset Painottamattoman maksimiklikin koko Haluttaessa tietää graafin ominaisuuksista maksimiklikin koko, ohjelman tulee hakea se. tulostaa vastauksena solmujen määrän Yhden maksimiklikin laskeminen -ohjelman tulee laskea pyydettäessä yksi maksimiklikki Kaikkien maksimiklikkien laskeminen -ohjelman tulee laskea pyydettäessä kaikki maksimiklikit.

8 VAATIMUSMÄÄRITTELY 8 (11) Yhden klikin laskeminen kokoa S n tulee hakea yhden luokkaa S olevan klikin solmupisteet Kaikkien klikkien laskeminen kokoa S n tulee hakea kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan luokkaa S Yhden klikin laskeminen vähintään kokoa S n tulee hakea solmupisteet yhdestä klikistä joka on vähintään luokkaa S Kaikkien klikkien laskeminen vähintään kokoa S n tulee hakea kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan vähintään luokkaa S. Kohdissa mainituista kaikkien klikkien laskemisesta: Jos halutaan vain yksi tietynlainen klikki, ohjelma tulostaa sen. Jos pyydetään ohjelmaa hakemaan kaikki tiettyä tyyppiä olevat klikit ei tällainen lähestymistapa välttämättä ole mahdollinen (niitä voi olla miljoonittain). Silloin ohjelma kutsuu jokaisen löydetyn klikin kohdalla funktion. Tämän funktion nimi on wclique- rutiinin parametreina ja käyttäjä luo itse kyseisen funktion. Vrt. qsort() lajittelurutiini C-kielessä missä funktio, joka vertaa kahta alkiota, on annettu parametrina Solmujen järjestäminen n pitää pystyä järjestämään uudelleen graafin solmut Ensisijaiset "olisi hienoa" -ominaisuudet Klikkien laskenta annetulla solmujen määrällä n tulisi laskea yksi tai kaikki klikit annetulla solmujen määrällä, tietyin määrävälein, esimerkiksi: : 2 solmua : 3 solmua Tämä vaatimus on ns. "Olisi hienoa" -ominaisuus ja ei kuulu ehdottomasti vaadittuihin ohjelman ominaisuuksiin.

9 VAATIMUSMÄÄRITTELY 9 (11) 3.2 Painotettujen graafien vaatimukset Painotetun maksimiklikin koko Haluttaessa tietää graafin ominaisuuksista maksimiklikin koko, ohjelman tulee hakea se. Tulosteena palauttaa maksimiklikin painoarvon Yhden maksimiklikin laskeminen -ohjelman tulee laskea pyydettäessä yksi maksimiklikki Kaikkien maksimiklikkien laskeminen -ohjelman tulee laskea pyydettäessä kaikki maksimiklikit Yhden klikin laskeminen kokoa S n tulee hakea yhden luokkaa S olevan klikin solmupisteet Kaikkien klikkien laskeminen kokoa S n tulee hakea kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan luokkaa S Yhden klikin laskeminen vähintään kokoa S n tulee hakea niiden kaikkien klikkien määrä, jotka ovat kooltaan luokkaa S tai enemmän Kaikkien klikkien laskeminen vähintään kokoa S n tulee hakea kaikkien niiden klikkien solmupisteet, jotka ovat kooltaan vähintään luokkaa S Eri syöteformaattien lukeminen Ohjelman tulee pystyä lukemaan dimacsin ascii ja binaari syöteformaatteja. Syöte ja tulostetiedoston ulkoasu on esitetty kuvassa 2. Tarkempaa tietoa syötteen sisällöstä saa osoitteesta: ~ pat/wclique.html

10 VAATIMUSMÄÄRITTELY 10 (11) Solmujen järjestäminen n pitää pystyä järjestämään uudelleen graafin solmut. 4. MUUT OMINAISUUDET 4.1 Tehokkuus ja käytettävyys Vaatimus n tehokkuus ominaisuuksista on, että ohjelma toimii vähintään yhtä nopeasti kuin Patric Östergårdin n protoversio. Ohjelman käytettävyys tulisi olla samalla tasolla kuin Brendan McKayn Nauty ohjelmassa. 4.2 Kieli ja kieliasu Ohjelmakoodin kommentointi tehdään englanniksi mahdollisimman selkeästi jotta jatkokehitys olisi helppoa ja koodi ymmärrettävää. 4.3 Siirrettävyys Tuotteen on oltava arkkitehtuuri riippumaton ja vaivattomasti käännettävissä ANSI C yhteensopivalla kääntäjällä erilaisissa Unix-koneissa ja mielellään myös Windows-koneissa. 4.4 Käyttökirja Käyttökirja toimitetaan englannin kielellä LaTex formaatissa. Käyttökäsikirjassa on selkeästi ja kattavasti dokumentoitava, miten tuotetta käytetään aliohjelmakirjastona ja miten sitä käytetään komentoriviltä. 4.5 Testaaminen Tuote tulee testata huolellisesti. Testaus tulee suorittaa tieteellisesti oikealla tavalla, jotta tulokset ovat luotettavia. 4.6 Jatkokehitys Tehdyt ratkaisut on dokumentoitava niin hyvin että jatkokehittelijä voi pelkän dokumentaation perusteella suunnitella, miten toteuttaa haluamansa muutokset.

11 VAATIMUSMÄÄRITTELY 11 (11) LIITE: USE CASE KUVA Use case kuva ohjelman vaatimuksista.

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique

VAATIMUSMÄÄRITTELY. PROJEKTITYÖ Tik Wclique VAATIMUSMÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 3 1. JOHDANTO... 4 1.1 Algoritmi... 4 1.2 Graafi... 4 1.3 Nauty... 5 1.4 Mermaid... 5 2. YLEISKUVAUS...

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TOIMINNALLINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique TOIMINNALLINEN MÄÄRITTELY PROJEKTITYÖ Tik-7.115 SISÄLLYSLUETTELO Sisällysluettelo... Versiohistoria... 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1. Tuote... 4 1. Määritelmät, termit ja lyhenteet...

Lisätiedot

- painottamattoman graafin solmujen järjestäminen. - painotetun graafin solmujen järjestäminen

- painottamattoman graafin solmujen järjestäminen. - painotetun graafin solmujen järjestäminen 1. DEMO TUOTTEEN OMINAISUUKSISTA Tuotteesta demotaan seuraavat asiat: - käyttöliittymä - painottamattoman graafin solmujen järjestäminen - painotetun graafin solmujen järjestäminen - yhden maksimiklikin

Lisätiedot

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik Wclique TEKNINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 3 1. JOHDANTO... 4 1.1 Tarkoitus ja kattavuus... 4 1.2 Tuote ja ympäristö... 4 1.3 Määritelmät, merkintätavat

Lisätiedot

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma TKK/DISKO/Tik-76.115 WCLIQUE Projektiryhmä Clique http://www.hut.fi/~jekahkon/wclique/testplan.pdf WCLIQUE Ohjelmistoprojekti WCLIQUE_TP Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com

Lisätiedot

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma TKK/DISKO/Tik-76.115 WCLIQUE Projektiryhmä Clique http://www.hut.fi/~jekahkon/wclique/testplan.pdf WCLIQUE Ohjelmistoprojekti WCLIQUE_TP Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com

Lisätiedot

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma TKK/DISKO/Tik-76.115 WCLIQUE Projektiryhmä Clique http://www.hut.fi/jekahkon/wclique/testplan.html WCLIQUE Ohjelmistoprojekti Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com, 75014C,

Lisätiedot

TIEDONKULKU. PROJEKTITYÖ Tik-76.115 Wclique

TIEDONKULKU. PROJEKTITYÖ Tik-76.115 Wclique TIEDONKULKU PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 2 1. JOHDANTO... 3 1.1 Tämän dokumentin tarkoitus... 3 1.2 Projekti... 3 2. Tiedonkulku... 3 2.1 Yleistä... 3

Lisätiedot

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Graafin 3-värittyvyyden tutkinta T-79.165 Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Mikko Malinen, 36474R 29. maaliskuuta, 2005 Tiivistelmä Artikkelissa käydään läpi teoriaa, jonka avulla

Lisätiedot

6.4. Järjestyssuhteet

6.4. Järjestyssuhteet 6.4. Järjestyssuhteet Joukon suhteilla voidaan kuvata myös alkioiden järjestystä tietyn ominaisuuden suhteen. Järjestys on myös kaksipaikkainen suhde (ja on monia erilaisia järjestyksiä). Suhde R joukossa

Lisätiedot

WCLIQUE. Ohjelmistoprojekti. Loppuraportti

WCLIQUE. Ohjelmistoprojekti. Loppuraportti TKK/DISKO/Tik-76.115 WCLIQUE Projektiryhmä Clique http://www.hut.fi/jekahkon/wclique/loppuraportti.pdf WCLIQUE Ohjelmistoprojekti Versio 1.0-1 Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com

Lisätiedot

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TEKNINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote ja ympäristö... 3 1.3 Määritelmät, merkintätavat

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

T Testiraportti - integraatiotestaus

T Testiraportti - integraatiotestaus T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria

Lisätiedot

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje

SÄHKE-hanke. Abstrakti mallintaminen Tietomallin (graafi) lukuohje 04.02.2005 1 (6) SÄHKE-hanke Versio ja pvm Laatinut Tarkpvm Tarkastanut Hyvpvm Hyväksynyt 2.0 / 04.02.2005 Anneli Rantanen 15.02.2005 Markus Merenmies 18.02.2005 Ohjausryhmä 04.02.2005 2 (6) Muutoshistoria

Lisätiedot

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique

TEKNINEN MÄÄRITTELY. PROJEKTITYÖ Tik-76.115 Wclique TEKNINEN MÄÄRITTELY PROJEKTITYÖ Tik-76.115 SISÄLLYSLUETTELO Sisällysluettelo... 2 Versiohistoria... 2 1. JOHDANTO... 3 1.1 Tarkoitus ja kattavuus... 3 1.2 Tuote ja ympäristö... 3 1.3 Määritelmät, merkintätavat

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

UCOT-Sovellusprojekti. Asennusohje

UCOT-Sovellusprojekti. Asennusohje UCOT-Sovellusprojekti Asennusohje Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 1.00 Julkinen 15. joulukuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

JULKISTEN VERKKOPALVELUJEN LAATUKRITEERISTÖN KONSEPTI

JULKISTEN VERKKOPALVELUJEN LAATUKRITEERISTÖN KONSEPTI JULKISTEN VERKKOPALVELUJEN LAATUKRITEERISTÖN KONSEPTI Onesta Solutions Oy Pasilanraitio 5 00240 HELSINKI www.onesta.fi 2/6 Versiohistoria Versio Pvm Selitys Muutokset Tekijät 0.1 26.3.2007 Alustava versio

Lisätiedot

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla? 7.7. Tasograafit Graafi voidaan piirtää mielivaltaisen monella tavalla. Graafin ominaisuudet voivat näkyä selkeästi jossain piirtämistavoissa, mutta ei toisessa. Eräs tärkeä graafiryhmä, pintagraafit,

Lisätiedot

8. Näppäimistöltä lukeminen 8.1

8. Näppäimistöltä lukeminen 8.1 8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)

Lisätiedot

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 581336 Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja 1. S! axc X! axc X! by c Y! by c Y! " 2. (a) Tehtävänä on konstruoida rajoittamaton kielioppi, joka tuottaa kielen f0 n 1 n jn 1g. Vaihe1: alkutilanteen

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 126 Luku 3 Puut 3.1 Puu 3.2 Virittävä puu 3.3 Virittävän puun konstruointi 3.4 Minimaalinen virittävä puu

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 06.09.2005 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

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

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Pino Pinon määritelmä Pinon sovelluksia Järjestyksen kääntäminen Palindromiprobleema Postfix-lausekkeen laskenta Infix-lausekkeen muunto postfix-lausekkeeksi Sisäkkäiset funktiokutsut

Lisätiedot

Määrittelyvaihe. Projektinhallinta

Määrittelyvaihe. Projektinhallinta Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti

Lisätiedot

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset Sopimus Asiakas- ja potilastietojärjestelmästä Liite N: Kielivaatimukset VERSIOHISTORIA Päivä Versio Kuvaus Tekijä 12.3.15 3.0 Tarjouspyynnön liitteeksi 2 (6) SISÄLLYSLUETTELO 1 JOHDANTO... 4 2 JÄRJESTELMÄN

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia

Lisätiedot

Lisää pysähtymisaiheisia ongelmia

Lisää pysähtymisaiheisia ongelmia Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 62 Luku 2 Yhtenäisyys 2.1 Polku 2.2 Lyhin painotettu polku 2.3 Yhtenäinen graafi 2.4 Komponentti 2.5 Aste

Lisätiedot

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

PARITUS KAKSIJAKOISESSA

PARITUS KAKSIJAKOISESSA PARITUS KAKSIJAKOISESSA GRAAFISSA Informaatiotekniikan t iik seminaari i Pekka Rossi 4.3.2008 SISÄLTÖ Johdanto Kaksijakoinen graafi Sovituksen peruskäsitteet Sovitusongelma Lisäyspolku Bipartite matching-algoritmi

Lisätiedot

8.5. Järjestyssuhteet 1 / 19

8.5. Järjestyssuhteet 1 / 19 8.5. Järjestyssuhteet 1 / 19 Määritelmä Joukon suhteilla voidaan kuvata myös alkioiden järjestystä tietyn ominaisuuden suhteen. Järjestys on myös kaksipaikkainen suhde (ja on monia erilaisia järjestyksiä).

Lisätiedot

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( ) Königsbergin sillat 1700-luvun Königsbergin (nykyisen Kaliningradin) läpi virtasi joki, jonka ylitti seitsemän siltaa. Sanotaan, että kaupungin asukkaat yrittivät löytää reittiä, joka lähtisi heidän kotoaan,

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet ) T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen

Lisätiedot

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006-11-25 Janne Mäkelä Alustava 1.0 2006-12-10 Janne Mäkelä Valmis 1.

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT VERKOT ELI GRAAFIT Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Graafiteoria (math.tut.fi/~ruohonen/gt.pdf) HISTORIAA Verkko- eli graafiteorian historia on saanut

Lisätiedot

11.4. Context-free kielet 1 / 17

11.4. Context-free kielet 1 / 17 11.4. Context-free kielet 1 / 17 Määritelmä Tyypin 2 kielioppi (lauseyhteysvapaa, context free): jos jokainenp :n sääntö on muotoa A w, missäa V \V T jaw V. Context-free kielet ja kieliopit ovat tärkeitä

Lisätiedot

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä.

Kuva Suomen päätieverkko 1 Moottoritiet on merkitty karttaan vihreällä, muut valtatiet punaisella ja kantatiet keltaisella värillä. POHDIN projekti TIEVERKKO Tieverkon etäisyyksien minimointi ja esimerkiksi maakaapeleiden kokonaismäärän minimointi sekä ylipäätään äärellisen pistejoukon yhdistäminen reitityksillä toisiinsa niin, että

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

Lisätiedot

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 17. marraskuuta 2009

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 17. marraskuuta 2009 TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 17. marraskuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe E tiistai 1.12. klo 10 koodigenerointi (ilman ta) Vaihe

Lisätiedot

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä on dokumentti esittelee tietokonegrafiikkaalgoritmien visualisointijärjestelmän kehitysprojektissa käytettävän vaatimustenhallintamenetelmän. Päivämäärä

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

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

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms. Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää

Lisätiedot

12. Näppäimistöltä lukeminen 12.1

12. Näppäimistöltä lukeminen 12.1 12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.

Lisätiedot

L models. Tekninen määrittely. Ryhmä Rajoitteiset

L models. Tekninen määrittely. Ryhmä Rajoitteiset Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Tekninen määrittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

Lyhyt kertaus osoittimista

Lyhyt kertaus osoittimista , syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin

Lisätiedot

Valppaan asennus- ja käyttöohje

Valppaan asennus- ja käyttöohje Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi

Lisätiedot

58160 Ohjelmoinnin harjoitustyö

58160 Ohjelmoinnin harjoitustyö 58160 Ohjelmoinnin harjoitustyö Testaus 30.3.2009 Tuntiop. Sami Nikander sami.nikander@helsinki.fi 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 1 Testaus Ohjelman systemaattista tutkimista

Lisätiedot

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PULSU Syksy 2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Heikki Manninen Noora Joensuu

Lisätiedot

WCLIQUE Ohjelmistoprojekti. Projektisuunnitelma

WCLIQUE Ohjelmistoprojekti. Projektisuunnitelma Projektiryhmä OHJELMISTOPROJEKTI Clique http://www.hut.fi/jekahkon/wclique/projplan.pdf WCLIQUE Ohjelmistoprojekti Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com Juha Kähkönen,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Harjoitus 5 (viikko 48)

Harjoitus 5 (viikko 48) Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain

Lisätiedot

Loppukurssin järjestelyt

Loppukurssin järjestelyt C! Loppukurssin järjestelyt 29.3.2018 Ohjelmassa Yhteenvetoa palautteesta Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Kysyttävää / kerrattavaa 10-kierroksen asioista? Aikatauluista 10. kierroksen

Lisätiedot

S09 04 Kohteiden tunnistaminen 3D datasta

S09 04 Kohteiden tunnistaminen 3D datasta AS 0.3200 Automaatio ja systeemitekniikan projektityöt S09 04 Kohteiden tunnistaminen 3D datasta Loppuraportti 22.5.2009 Akseli Korhonen 1. Projektin esittely Projektin tavoitteena oli algoritmin kehittäminen

Lisätiedot

Harjoitus 1 (20.3.2014)

Harjoitus 1 (20.3.2014) Harjoitus 1 (20.3.2014) Tehtävä 1 Piirretään tilanteesta verkko, jossa kaupungeille on annetttu seuraavat numerot: 1 = Turku 2 = Tampere 3 = Hämeenlinna 4 = Imatra 5 = Jyväskylä. 5 2 149(5) 190(4) 113(1)

Lisätiedot

Harjoitus 3 -- Ratkaisut

Harjoitus 3 -- Ratkaisut Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan =, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos

Lisätiedot

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

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

Lisätiedot

Kasvatustieteet

Kasvatustieteet Kasvatustieteet 2013-15 KASVATUSTIETEET 2013-15, N =5284 MATEMATIIKKA JA REAALIAINEET Kasvatustieteisiin valituilla opiskelijoilla lyhyen matematiikan paino (49 %) on suuri, jopa suurin kaikista tutkintonimikkeistä.

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

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

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012 SISÄLLYS 1 JOHDANTO 3 2 WWW-PALVELIMEN TOIMINTA 4 3 OMINAISUUDET

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT GRAAFITEHTÄVIÄ JA -ALGORITMEJA Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Graafiteoria (math.tut.fi/~ruohonen/gt.pdf) GRAAFIN LÄPIKÄYMINEN Perusta useimmille

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit 811312A Tietorakenteet ja algoritmit 2015-2016 V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit Sisältö 1. Johdanto 2. Leveyshaku 3. Syvyyshaku 4. Kruskalin algoritmi 5. Dijkstran algoritmi

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

on rekursiivisesti numeroituva, mutta ei rekursiivinen. 6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli H = { M pysähtyy syötteellä w} on rekursiivisesti numeroituva, mutta ei rekursiivinen. Todistus. Todetaan ensin, että kieli H on rekursiivisesti

Lisätiedot

Harjoitus 3 (31.3.2015)

Harjoitus 3 (31.3.2015) Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Turingin koneen laajennuksia

Turingin koneen laajennuksia Turingin koneen laajennuksia Turingin koneen määritelmään voidaan tehdä erilaisia muutoksia siten että edelleen voidaan tunnistaa tasan sama luokka kieliä. Moniuraiset Turingin koneet: nauha jakautuu k

Lisätiedot

T Testiraportti - järjestelmätestaus

T Testiraportti - järjestelmätestaus T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria

Lisätiedot

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti Liikkuva-sovellusprojekti Joel Kivelä Erkki Koskenkorva Mika Lehtinen Oskari Leppäaho Petri Partanen Vaatimusmäärittely Julkinen Versio 010 1322014 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä

Lisätiedot

Julkisen hallinnon kokonaisarkkitehtuuri

Julkisen hallinnon kokonaisarkkitehtuuri Julkisen hallinnon kokonaisarkkitehtuuri Rajaukset ja tarkoitus Määrittely 0.91 Päiväys 7.5.2017 7.5.2017 2 (6) Sisällysluettelo 1 Johdanto... 3 2 JHKA:n tarkoitus... 3 3 JHKA:n rajaukset... 4 4 Miten

Lisätiedot

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Teknillinen korkeakoulu 51 Vaatimusmäärittely Ohjelma-ajanvälitys komponentti Versio Päiväys Tekijä Kuvaus 0.1 21.11.01 Oskari Pirttikoski Ensimmäinen versio 0.2 27.11.01 Oskari Pirttikoski Lisätty termit

Lisätiedot

Loppukurssin järjestelyt C:n edistyneet piirteet

Loppukurssin järjestelyt C:n edistyneet piirteet C! Loppukurssin järjestelyt C:n edistyneet piirteet 30.3.2017 Ohjelmassa Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Esikääntäjä Parametrilistat Funktio-osoittimet Kunniamainintoja Kuura

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 2.5.2017 Timo Männikkö Luento 13 Merkkijonon sovitus Horspoolin algoritmi Laskennallinen vaativuus Päätösongelmat Epädeterministinen algoritmi Vaativuusluokat NP-täydellisyys

Lisätiedot

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä? 2013-2014 Lasse Lensu 2 Ongelma 2: Milloin ongelmat muuttuvat oikeasti hankaliksi? 2013-2014 Lasse Lensu 3 Ongelma 3: Miten hankalia ongelmia

Lisätiedot

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 1 TIE-20100 Tietorakenteet ja algoritmit TIE-20100 Tietorakenteet ja algoritmit 2 Lähteet Luentomoniste pohjautuu vahvasti prof. Antti Valmarin vanhaan luentomonisteeseen

Lisätiedot

TAMK Ohjelmistotekniikka G Graafisten käyttöliittymien ohjelmointi Herkko Noponen Osmo Someroja. Harjoitustehtävä 2: Karttasovellus Kartta

TAMK Ohjelmistotekniikka G Graafisten käyttöliittymien ohjelmointi Herkko Noponen Osmo Someroja. Harjoitustehtävä 2: Karttasovellus Kartta TAMK Ohjelmistotekniikka G-04237 Graafisten käyttöliittymien ohjelmointi Harjoitustehtävä 2: Karttasovellus Kartta TAMK Karttasovellus Kartta Sivu 2/8 Sisällysluettelo 1. JOHDANTO...3 2. VAATIMUSMÄÄRITTELY...

Lisätiedot

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA Ohjeistuksessa käydään läpi kuvan koon ja kuvan kankaan koon muuntaminen esimerkin avulla. Ohjeistus on laadittu auttamaan kuvien muokkaamista kuvakommunikaatiota

Lisätiedot