Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto

Koko: px
Aloita esitys sivulta:

Download "Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto"

Transkriptio

1 OHJ-3200 Ohjelmistoarkkitehtuurit 1 Arkkitehtuurien tutkimus Outi Räihä 2 Darwin-projekti Darwin-projekti: Akatemian rahoitus Arkkitehtuurisuunnittelu etsintäongelmana Geneettiset algoritmit Perusajatus Valikoiva risteytys Monioptimointi 3 Johdanto Ohjelmistokehitys on iso bisnes ja ohjelmistojen suunnitteluun käytetään paljon aikaa ja rahaa Yleensä arkkitehdillä tapana käyttää tuttuja ratkaisuja arkkitehtuuri todennäköisesti toimii kohtuullisen hyvin ja säästetään aikaa, mutta rajoittaa luovia ratkaisuja Ohjelmat saadaan toimiviksi monella tavalla, mutta kaikki tavat eivät ole yhtä laadukkaita Laatua arvioidaan monen eri ominaisuuden suhteen, esim. käytettävyys, luotettavuus, muunneltavuus, tehokkuus Kilpailun kovetessa laatu saattaa kärsiä Voitaisiinko laatua parantaa helposti ja halvalla? 1

2 Arkkitehtuurisuunnittelu etsintäongelmana 4 Oletus: Arkkitehtuuri on yhdistelmä suunnittelumalleja ja tyylejä Laadukkain arkkitehtuuri saadaan, kun oikeita suunnittelumalleja/tyylejä käytetään oikeissa paikoissa Tehtävänä on löytää se yksilö, jossa on paras kombinaatio suunnittelumalleja ja -tyylejä optimointiongelma Optimointi on työlästä ihmiselle käytännössä ei ole mahdollista käydä läpi kaikkia vaihtoehtoja Voisiko etsinnän automatisoida? Etsintäalgoritmit Optimointiongelmiin käytetään etsintäalgoritmeja Etsintäalgoritmit käyvät läpi suurta ratkaisujoukkoa siirtyen satunnaisesti ratkaisusta toiseen Geneettinen algoritmi pohjautuu Darwinistiseen ajatukseen luonnonvalinnasta Huonot yksilöt karsitaan pois, parhaat jäävät jäljelle Parhaita yksilöitä jatkojalostetaan ja aikaa myöden saavutetaan yhä parempia yksilöitä Geneettiset algoritmit Ratkaisu ongelmaan = yksilö Ratkaisuja tietysti useita kaikkia ei käsitellä kerralla, vaan uusia ratkaisuja haetaan evoluution kautta. Käsiteltävä ratkaisujoukko tietyllä hetkellä on populaatio. Yksilö mallinnetaan kromosomina, joka koostuu geeneistä Geeni = ominaisuus Yksilöä jalostetaan mutaatioilla Yksilön jokin ominaisuus muuttuu Risteytys tuottaa yksilöitä, joilla on ominaisuuksia molemmilta vanhemmilta Lapsilla on geenejä kummaltakin vanhemmalta Hyvyys indikoi yksilön elinkelpoisuutta Siirtyykö seuraavaan sukupolveen? Mutaatio Risteytys Hyvyysarviointi Luonnon valinta sykliä toistetaan, kunnes ollaan tyytyväisiä (tai kunnes katsotaan, että parempaan ei pystytä) Sukupolvirajoitus Laaturajoitus 2

3 Geneettinen algoritmi - peruskäsitteet 7 Etsitään geneettisen algoritmin avulla parasta (tai lähes parasta) arkkitehtuuria kaikkien mahdollisten arkkitehtuurien (suunnittelumallikombinaatioiden) joukosta Etsitään geneettisen algoritmin avulla parasta (tai lähes parasta) arkkitehtuuria kaikkien mahdollisten arkkitehtuurien (suunnittelumallikombinaatioiden) joukosta Yksilö = arkkitehtuuri Lähtökohtana pelkät toiminnan toteuttavat komponentit, ns. nollaarkkitehtuuri Nolla-arkkitehtuuri saadaan sekvenssikaavioista tai käyttötapauskaavioista 3

4 10 nolla-arkkitehtuuri 11 nolla-arkkitehtuuri Etsitään geneettisen algoritmin avulla parasta (tai lähes parasta) arkkitehtuuria kaikkien mahdollisten arkkitehtuurien (suunnittelumallikombinaatioiden) joukosta Yksilö = arkkitehtuuri Mutaatio = suunnittelumallin/tyylin lisäys/poisto Toiminta pysyy samana, mutta laatu paranee (tai huononee!) Käytetyt tyylit ja mallit: viestinvälittäjä, asiakas-palvelin, sovitin, välittäjä, fasaadi, strategia ja operaatiorunko 4

5 mutaatiot 13 Etsitään geneettisen algoritmin avulla parasta (tai lähes parasta) arkkitehtuuria kaikkien mahdollisten arkkitehtuurien (suunnittelumallikombinaatioiden) joukosta Yksilö = arkkitehtuuri Mutaatio = suunnittelumallin/tyylin lisäys/poisto Risteytys = yhdistetään osia kahdesta eri arkkitehtuurista - risteytys 5

6 Etsitään geneettisen algoritmin avulla parasta (tai lähes parasta) arkkitehtuuria kaikkien mahdollisten arkkitehtuurien (suunnittelumallikombinaatioiden) joukosta Yksilö = arkkitehtuuri Mutaatio = suunnittelumallin/tyylin lisäys/poisto Risteytys = yhdistetään osia kahdesta eri arkkitehtuurista Elinkelpoisuus = miten hyvin vastaa laatuvaatimuksiin Laatuattribuutteina käytetty muunneltavuutta, tehokkuutta ja kompleksisuutta, jokaista voi painottaa erikseen Otettu huomioon koheesio, luokkien väliset riippuvuudet, viestinvälityksen ja serverin vaikutus sekä suunnittelumallien suotuisa vaikutus muunneltavuuteen - laadunarviointi 17 Etsitään geneettisen algoritmin avulla parasta (tai lähes parasta) arkkitehtuuria kaikkien mahdollisten arkkitehtuurien (suunnittelumallikombinaatioiden) joukosta Yksilö = arkkitehtuuri Mutaatio = suunnittelumallin/tyylin lisäys/poisto Risteytys = yhdistetään osia kahdesta eri arkkitehtuurista Elinkelpoisuus = miten hyvin vastaa laatuvaatimuksiin Laatuattribuutteina käytetty muunneltavuutta, tehokkuutta ja kompleksisuutta, jokaista voi painottaa erikseen Otettu huomioon koheesio, luokkien väliset riippuvuudet, viestinvälityksen ja serverin vaikutus sekä suunnittelumallien suotuisa vaikutus muunneltavuuteen Milloin ollaan tyytyväisiä? Käytetään sukupolvirajoitusta, eli ennaltamäärätty määrä iteraatioita. Lopputulos = viimeisen iteraation paras arkitehtuuri 6

7 19 valikoiva risteytys 20 Normaali risteytys yhdistelee satunnaisesti osia kahdesta arkkitehtuurista halki, poikki ja pinoon Voitaisiinko ottaa rodunjalostusperiaatteet käyttöön? Haetaan huippuyksilöt eri ominaisuuksin Tehokas isä ja muunneltava äiti Annetaan risteytyä vapaasti tai käytetään vielä geeniteknologiaa ja yhdistetään optimoidut geenit Tasapainoinen arkkitehtuuri nopeammin Tietyt suunnitteluratkaisut pääsevät pinnalle, kun korostetaan toispuoleisesti ominaisuuksia Esimerkkitapaus: viestinvälittäjä valikoiva risteytys 21 7

8 valikoiva risteytys 22 monioptimointi 23 Pareto-optimaalisuus Arvioi laatuominaisuuksia toisistaan erillään Laatuja ei lasketa yhteen Tehokkuus+muunneltavuus == omenat+appelsiinit Tuloksena Pareto-rintama Rintamaan pääsee sellaiset arkkitehtuurit, joille ei ole joka suhteessa parempaa vaihtoehtoa. Arkkitehti voi valita painotuksen lopputuloksen perusteella, ei arvailemalla - monioptimointi 24 8

9 - monioptimointi 25 - monioptimointi Tarjoaa käyttöliittymän GA-pohjaiseen arkkitehtuurisynteesiin Sekvenssi/käyttötapauskaavioiden syöttö/luonti 9

10 Tarjoaa käyttöliittymän GA-pohjaiseen arkkitehtuurisynteesiin Sekvenssi/käyttötapauskaavioiden syöttö/luonti Nolla-arkkitehtuuri automaattisesti kaavioista 10

11 31 32 Tarjoaa käyttöliittymän GA-pohjaiseen arkkitehtuurisynteesiin Sekvenssi/käyttötapauskaavioiden syöttö/luonti Nolla-arkkitehtuuri automaattisesti kaavioista Mutaatioiden painotukset (voidaan suosia tiettyjä suunnittelumalleja, jos halutaan) Laatuominaisuuksien painotukset Periodit alussa voidaan suosia esim. tyylejä, myöhemmin matalan tason patterneja 33 11

12 34 35 Tarjoaa käyttöliittymän GA-pohjaiseen arkkitehtuurisynteesiin Sekvenssi/käyttötapauskaavioiden syöttö/luonti Nolla-arkkitehtuuri automaattisesti kaavioista Mutaatioiden painotukset (voidaan suosia tiettyjä suunnittelumalleja, jos halutaan) Laatuominaisuuksien painotukset Periodit alussa voidaan suosia esim. tyylejä, myöhemmin matalan tason patterneja Näyttää laatuarvot ja lopputuloksena saadun arkkitehtuurin Muitakin arkkitehtuureita voi tutkia! 36 12

13 37 38 Tarjoaa käyttöliittymän GA-pohjaiseen arkkitehtuurisynteesiin Sekvenssi/käyttötapauskaavioiden syöttö/luonti Nolla-arkkitehtuuri automaattisesti kaavioista Mutaatioiden painotukset (voidaan suosia tiettyjä suunnittelumalleja, jos halutaan) Laatuominaisuuksien painotukset Periodit alussa voidaan suosia esim. tyylejä, myöhemmin matalan tason patterneja Näyttää laatuarvot ja lopputuloksena saadun arkkitehtuurin Muitakin arkkitehtuureita voi tutkia! Mahdollisuus tutkia arkkitehtuurien sukupuuta miten arkkitehtuuri on kehittynyt Voidaan syöttää valmis arkkitehtuuri, jota GA lähtee kehittämään Voidaan jäädyttää haluttuja ratkaisuja GA tekee loput Inkrementaalinen kehitys Tuloksia 39 Verrattiin opiskelijoiden ratkaisuja GA:n ratkaisuihin Yhtä hyviä! Verrattiin Pareto-rintamaa skenaarioilla arvioituihin arkkitehtuureihin Onko skenaarioiden perusteella tehokas arkkitehtuuri myös rintaman tehokkain? Tilastollisesti ei merkittävää eroa, eli jakauma vastaa skenaarioiden mukaan saatua jakaumaa 13

Darwin: Tutkimusprojektin esittely

Darwin: Tutkimusprojektin esittely 1 Darwin: Tutkimusprojektin esittely Tutkimusongelma: voidaanko ohjelmistoarkkitehtuuri generoida automaattisesti? Suomen Akatemian rahoittama tutkimusprojekti 2009-2011 TTY & TaY yhteistyö Ks. http://practise.cs.tut.fi/project.php?project=darwin

Lisätiedot

OHJ-3100 Ohjelmien ylläpito ja evoluutio. Harjoitustyö. Ohjaaja: Outi Sievi-Korte outi.sievi-korte@tut.fi TE213 Päivystys ti klo 14-16

OHJ-3100 Ohjelmien ylläpito ja evoluutio. Harjoitustyö. Ohjaaja: Outi Sievi-Korte outi.sievi-korte@tut.fi TE213 Päivystys ti klo 14-16 OHJ-3100 Ohjelmien ylläpito ja evoluutio 1 Harjoitustyö Ohjaaja: Outi Sievi-Korte outi.sievi-korte@tut.fi TE213 Päivystys ti klo 14-16 2 Yleiskatsaus Yleisesittely Geneettiset algoritmit Ohjelmistoarkkitehtuurit

Lisätiedot

19.10.2011. Harjoitustyö Ohjaaja: Outi Räihä outi.raiha@tut.fi TE213. OHJ-3100 Ohjelmien ylläpito ja evoluutio. Yleiskatsaus.

19.10.2011. Harjoitustyö Ohjaaja: Outi Räihä outi.raiha@tut.fi TE213. OHJ-3100 Ohjelmien ylläpito ja evoluutio. Yleiskatsaus. OHJ-3100 Ohjelmien ylläpito ja evoluutio 1 Yleiskatsaus 2 Harjoitustyö Ohjaaja: Outi Räihä outi.raiha@tut.fi TE213 Yleisesittely Geneettiset algoritmit Ohjelmistoarkkitehtuurit Darwin-työkalu Tehtävänanto

Lisätiedot

Geneettiset algoritmit

Geneettiset algoritmit Geneettiset algoritmit Evoluution piirteitä laskennassa Optimoinnin perusteet - Kevät 2002 / 1 Sisältö Geneettisten algoritmien sovelluskenttä Peruskäsitteitä Esimerkkejä funktion ääriarvon etsintä vangin

Lisätiedot

OHJ-3100 Ohjelmien ylläpito ja evoluutio. Harjoitustyö 2011

OHJ-3100 Ohjelmien ylläpito ja evoluutio. Harjoitustyö 2011 OHJ-3100 Ohjelmien ylläpito ja evoluutio Harjoitustyö 2011 Sisällys 1. Johdanto... 2 1.1 Yleisesittely... 2 1.2 Geneettiset algoritmit... 2 1.3 Ohjelmistoarkkitehtuurit... 3 1.3.1 Perusasioita... 3 1.3.2

Lisätiedot

Harjoitustyö Ohjaaja: Outi Räihä TE213

Harjoitustyö Ohjaaja: Outi Räihä TE213 OHJ-3100 Ohjelmien ylläpito ja evoluutio 1 Harjoitustyö Ohjaaja: Outi Räihä outi.raiha@tut.fi TE213 2 Yleiskatsaus Yleisesittely Geneettiset algoritmit Ohjelmistoarkkitehtuurit Darwin-työkalu Tehtävänanto

Lisätiedot

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010 TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 Evoluutiopohjainen monitavoiteoptimointi MCDM ja EMO Monitavoiteoptimointi kuuluu

Lisätiedot

AS Automaation signaalinkäsittelymenetelmät. Tehtävä 1. Käynnistä fuzzy-toolboxi matlabin komentoikkunasta käskyllä fuzzy.

AS Automaation signaalinkäsittelymenetelmät. Tehtävä 1. Käynnistä fuzzy-toolboxi matlabin komentoikkunasta käskyllä fuzzy. AS-84.161 Automaation signaalinkäsittelymenetelmät Tehtävä 1. Käynnistä fuzzy-toolboxi matlabin komentoikkunasta käskyllä fuzzy. Tämän jälkeen täytyy: 1. Lisätä uusi sisääntulo edit->add input 2. nimetä

Lisätiedot

Populaatiosimulaattori. Petteri Hintsanen HIIT perustutkimusyksikkö Helsingin yliopisto

Populaatiosimulaattori. Petteri Hintsanen HIIT perustutkimusyksikkö Helsingin yliopisto Populaatiosimulaattori Petteri Hintsanen HIIT perustutkimusyksikkö Helsingin yliopisto Kromosomit Ihmisen perimä (genomi) on jakaantunut 23 kromosomipariin Jokaisen parin toinen kromosomi on peritty isältä

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Katkonnanohjaus evoluutiolaskennan keinoin

Katkonnanohjaus evoluutiolaskennan keinoin Katkonnanohjaus evoluutiolaskennan keinoin Askel kohti optimaalista tavaralajijakoa Veli-Pekka Kivinen HY, Metsävarojen käytön laitos Katkonnanohjauksen problematiikkaa Miten arvo-/tavoitematriisit tulisi

Lisätiedot

GA & robot path planning. Janne Haapsaari AUTO Geneettiset algoritmit

GA & robot path planning. Janne Haapsaari AUTO Geneettiset algoritmit GA & robot path planning Janne Haapsaari AUTO3070 - Geneettiset algoritmit GA robotiikassa Sovelluksia liikkeen optimoinnissa: * eri vapausasteisten robottien liikeratojen optimointi * autonomisten robottien

Lisätiedot

Evoluutio. BI Elämä ja evoluutio Leena Kangas-Järviluoma

Evoluutio. BI Elämä ja evoluutio Leena Kangas-Järviluoma Evoluutio BI Elämä ja evoluutio Leena Kangas-Järviluoma 1 Evoluutio lajinkehitystä, jossa eliölajit muuttuvat ja niistä voi kehittyä uusia lajeja on jatkunut elämän synnystä saakka, sillä ei ole päämäärää

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Tehokkaiden strategioiden identifiointi vakuutusyhtiön taseesta

Tehokkaiden strategioiden identifiointi vakuutusyhtiön taseesta MS E2177 Operaatiotutkimuksen projektityöseminaari Projektisuunnitelma Tehokkaiden strategioiden identifiointi vakuutusyhtiön taseesta 12.3.2016 Asiakas: Model IT Projektiryhmä: Niko Laakkonen (projektipäällikkö),

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

S Laskennallinen systeemibiologia

S Laskennallinen systeemibiologia S-114.2510 Laskennallinen systeemibiologia 3. Harjoitus 1. Koska tilanne on Hardy-Weinbergin tasapainossa luonnonvalintaa lukuunottamatta, saadaan alleeleista muodostuvien eri tsygoottien genotyyppifrekvenssit

Lisätiedot

Data Envelopment Analysis (DEA) - menetelmät + CCR-DEA-menetelmä

Data Envelopment Analysis (DEA) - menetelmät + CCR-DEA-menetelmä Data Envelopment Analysis (DEA) - menetelmät + CCR-DEA-menetelmä Mat-2.4142 Optimointiopin seminaari kevät 2011 Esityksen rakenne I osa Tehokkuudesta yleisesti DEA-mallin perusajatus CCR-painotus II osa

Lisätiedot

Metsägenetiikan sovellukset: Metsägenetiikan haasteet: geenit, geenivarat ja metsänjalostus

Metsägenetiikan sovellukset: Metsägenetiikan haasteet: geenit, geenivarat ja metsänjalostus Katri Kärkkäinen Matti Haapanen Metsägenetiikan sovellukset: Metsägenetiikan haasteet: geenit, geenivarat ja metsänjalostus Katri Kärkkäinen ja Matti Haapanen Metsäntutkimuslaitos Vantaan tutkimuskeskus

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta Yliassistentti Jussi Hakanen jussi.hakanen@jyu.fi syksy 2010 NSGA-II Non-dominated Sorting Genetic Algorithm (NSGA) Ehkä tunnetuin EMO-menetelmä

Lisätiedot

Evolutiivinen stabiilisuus populaation

Evolutiivinen stabiilisuus populaation Antti Toppila sivu 1/20 Optimointiopin seminaari Syksy 2008 Evolutiivinen stabiilisuus populaation määrittämisessä Antti Toppila 24.9.2008 Antti Toppila sivu 2/20 Optimointiopin seminaari Syksy 2008 Sisältö

Lisätiedot

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä 1 Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä Kai Koskimies Tampereen teknillinen yliopisto Taustaa: Sulake projekti 2008-2009 2 Osallistujat Areva T&D John Deere Kone Sandvik

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kesä 2008 582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

SELVITYS SIITÄ MITEN ERÄÄT PERINNÖLLISET SAIRAUDET (KUTEN GPRA JA FUCOSIDOSIS) PERIYTYVÄT ENGLANNINSPRINGERSPANIELEISSA

SELVITYS SIITÄ MITEN ERÄÄT PERINNÖLLISET SAIRAUDET (KUTEN GPRA JA FUCOSIDOSIS) PERIYTYVÄT ENGLANNINSPRINGERSPANIELEISSA SELVITYS SIITÄ MITEN ERÄÄT PERINNÖLLISET SAIRAUDET (KUTEN GPRA JA FUCOSIDOSIS) PERIYTYVÄT ENGLANNINSPRINGERSPANIELEISSA Kaikki koiran perimät geenit sisältyvät 39 erilliseen kromosomipariin. Geenejä arvellaan

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

Luento 13: Geneettiset Algoritmit

Luento 13: Geneettiset Algoritmit Luento 13: Geneettiset Algoritmit Geneettiset algoritmit ovat luonnon evoluutiomekanismeja imitoivia heuristisia optimointimenetelmiä. Ne soveltuvat tehtäviin, joissa ratkaisuavaruus on hyvin suuri (esim.

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

GEENIVARAT OVAT PERUSTA KASVINJALOSTUKSELLE. Merja Veteläinen Boreal Kasvinjalostus Oy

GEENIVARAT OVAT PERUSTA KASVINJALOSTUKSELLE. Merja Veteläinen Boreal Kasvinjalostus Oy GEENIVARAT OVAT PERUSTA KASVINJALOSTUKSELLE Merja Veteläinen Boreal Kasvinjalostus Oy OPIT TÄNÄÄN Miksi kasvinjalostus tarvitsee geenivaroja? Miten geenivaroja käytetään kasvinjalostuksessa? Geenivarat

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

Tiedonsiirto- ja rajapintastandardit Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen, kesä 2009 582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

1.3 Katsaus ohjelmistotuotannon kehittymiseen

1.3 Katsaus ohjelmistotuotannon kehittymiseen Yleisiä asioita Oliokirja:http://www.cs.tut.fi/~kk/Ohjelmistoarkkitehtuuri.pdf Tenttipäivä 7.5. Tallennukset, jospas tänään onnistaisi Viikkoharkat löytyvät IDLEstä (TTY), kurssin kotisivuilta/paikallisilta

Lisätiedot

Ohjelmistojen mallintaminen. Matti Luukkainen

Ohjelmistojen mallintaminen. Matti Luukkainen Ohjelmistojen mallintaminen Matti Luukkainen Kurssin aihepiiri: ohjelmistotuotannon alkeita [wikipedia]: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään,

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

Ohjelmistoarkkitehtuurit, syksy

Ohjelmistoarkkitehtuurit, syksy Ohjelmistoarkkitehtuurit Luento 10 1 (architectural analysis) Arkkitehtuurin arvioinnin tarkoituksena on muodostaa käsitys kehitettävän ohjelmiston tärkeistä ominaisuuksista Nyt ja tulevaisuudessa Arvioinnin

Lisätiedot

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Käytettävyyslaatumallin rakentaminen verkkosivustolle Käytettävyyslaatumallin rakentaminen verkkosivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -tutkielma Timo Laapotti 9.6.2005 Esityksen sisältö Kirjoittajan

Lisätiedot

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Epäonnistuneen ohjelmistoarkkitehtuurin seurauksia 1.4 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi

Lisätiedot

Miten geenit elelevät populaatioissa, vieläpä pitkiä aikoja?

Miten geenit elelevät populaatioissa, vieläpä pitkiä aikoja? Miten geenit elelevät populaatioissa, vieläpä pitkiä aikoja? Populaatio on lisääntymisyhteisö ja lisääntymisjatkumo Yksilöt ovat geenien tilapäisiä yhteenliittymiä, mutta populaatiossa geenit elelevät

Lisätiedot

Peittyvä periytyminen. Potilasopas. Kuvat: Rebecca J Kent www.rebeccajkent.com rebecca@rebeccajkent.com

Peittyvä periytyminen. Potilasopas. Kuvat: Rebecca J Kent www.rebeccajkent.com rebecca@rebeccajkent.com 12 Peittyvä periytyminen Muokattu allamainittujen instanssien julkaisemista vihkosista, heidän laatustandardiensa mukaan: Guy's and St Thomas' Hospital, London, United Kingdom; and the London IDEAS Genetic

Lisätiedot

OA:n kanoninen malli III

OA:n kanoninen malli III OA:n kanoninen malli III Luento 9 1.10.2013 581385 Ohjelmistoarkkitehtuurit 1 Näkymätyypit Koodimalli Oppimistavoitteet Arkkitehtuurisuunnittelun ja implementaation välinen kuilu Arkkitehtuurin tekeminen

Lisätiedot

Monikkoperheet. kaksoset ja kolmoset kasvatus ja yksilöllisyyden tukeminen. Irma Moilanen Lastenpsykiatrian professori, emerita Nettiluento 4.9.

Monikkoperheet. kaksoset ja kolmoset kasvatus ja yksilöllisyyden tukeminen. Irma Moilanen Lastenpsykiatrian professori, emerita Nettiluento 4.9. Monikkoperheet kaksoset ja kolmoset kasvatus ja yksilöllisyyden tukeminen Irma Moilanen Lastenpsykiatrian professori, emerita Nettiluento 4.9.2014 Monikkoraskauksien lukumäärät Tilasto vuonna 2012 794

Lisätiedot

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi. Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

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

Naudan perinnöllisen monimuotoisuuden tutkimus

Naudan perinnöllisen monimuotoisuuden tutkimus Naudan perinnöllisen monimuotoisuuden tutkimus Terhi Iso-Touru 25.5.2012 Emeritusprofessori Kalle Maijalan 85-vuotisjuhlaseminaari Naudan domestikaatio eli kesyttäminen yli 45 kiloa painavia kasvinsyöjälajeja

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Ohjelmistoarkkitehtuurien arviointi

Ohjelmistoarkkitehtuurien arviointi Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto

Lisätiedot

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen

Kuvioton metsäsuunnittelu Paikkatietomarkkinat, Helsinki Tero Heinonen Paikkatietomarkkinat, Helsinki 3.11.2009 Tero Heinonen Sisältö Kuvioton metsäsuunnittelu Optimointi leimikon suunnittelumenetelmänä Verrataan optimointi lähestymistapaa diffuusiomenetelmään Muuttuvat käsittely-yksiköt

Lisätiedot

Monitavoitteiseen optimointiin soveltuvan evoluutioalgoritmin tarkastelu

Monitavoitteiseen optimointiin soveltuvan evoluutioalgoritmin tarkastelu Monitavoitteiseen optimointiin soveltuvan evoluutioalgoritmin tarkastelu (Valmiin työn esittely) 11.4.2011 Ohjaaja: Ville Mattila Valvoja: Raimo Hämäläinen Työn tavoite Tutkia evoluutioalgoritmia (Lee

Lisätiedot

Perinnöllinen informaatio ja geneettinen koodi.

Perinnöllinen informaatio ja geneettinen koodi. Tehtävä A1 Kirjoita essee aiheesta: Perinnöllinen informaatio ja geneettinen koodi. Vastaa esseemuotoisesti, älä käytä ranskalaisia viivoja. Piirroksia voi käyttää. Vastauksessa luetaan ansioksi selkeä

Lisätiedot

Analyysi on tulkkaamista

Analyysi on tulkkaamista Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti

Lisätiedot

Kahdenlaista testauksen tehokkuutta

Kahdenlaista testauksen tehokkuutta Kahdenlaista testauksen tehokkuutta Puhe ICTexpo-messuilla 2013-03-21 2013 Tieto Corporation Erkki A. Pöyhönen Lead Test Manager Tieto, CSI, Testing Service Area erkki.poyhonen@tieto.com Sisällys Tehokkuuden

Lisätiedot

Kevät Ohjelmistoarkkitehtuurit 2014

Kevät Ohjelmistoarkkitehtuurit 2014 Ohjelmistoarkkitehtuurit Kevät 2014 http://www.cs.tut.fi/~ohar/ 1 Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto 2 Mitä on ohjelmistoarkkitehtuurin

Lisätiedot

III Perinnöllisyystieteen perusteita

III Perinnöllisyystieteen perusteita Perinnöllisyystieteen perusteita III Perinnöllisyystieteen perusteita 12. Ominaisuuksien periytymistä tutkitaan risteytyksillä 1. Avainsanat 2. Geenit ja alleelit 3. Mendelin herneet 4. Monohybridiristeytys

Lisätiedot

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.

Lisätiedot

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit

Lisätiedot

Laskennallinen älykkyys. Computational Intelligence

Laskennallinen älykkyys. Computational Intelligence Laskennallinen älykkyys Computational Intelligence MITEN PIDÄN TEIDÄT HEREILLÄ? SAMK ja laskennallisen älykkyyden tutkimus Lyhyesti muutamasta ongelmasta Miten jääkiekon SM liigan sarjaohjelma laaditaan?

Lisätiedot

SURF IDEA BOOK 2013. www.surfaces.fi YOUR IDEA. OUR SURFACES.

SURF IDEA BOOK 2013. www.surfaces.fi YOUR IDEA. OUR SURFACES. SURF IDEA BOOK 2013 Arkkitehti: Ota yhteyttä saat 15 itunes App Store -lahjakortin käytettäväksi iphone ja ipad -applikaatioihin! Linkki sisällä 1 2 Vapaus keskittyä arkkitehtuurin suunnitteluun Puucomp

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

Ohjelmistoarkkitehtuurit Johannes Koskinen. Osittavat arkkitehtuurityylit

Ohjelmistoarkkitehtuurit Johannes Koskinen.  Osittavat arkkitehtuurityylit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

Automaattinen Call Center - oikea ratkaisu yrityksen puhelinliikenteen hallintaan ja parempaan asiakaspalveluun

Automaattinen Call Center - oikea ratkaisu yrityksen puhelinliikenteen hallintaan ja parempaan asiakaspalveluun Automaattinen Call Center - oikea ratkaisu yrityksen puhelinliikenteen hallintaan ja parempaan asiakaspalveluun 15.4.2015 Sisällysluettelo Puhelinliikenteen hallinnan haasteita ongelma Puhelinliikenteen

Lisätiedot

Esimerkki: Auton toiminnan monitorointijärjestelmä

Esimerkki: Auton toiminnan monitorointijärjestelmä Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that collects various kinds of data during the running of the car, to be used for monitoring

Lisätiedot

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, UML 582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka

Lisätiedot

Nopea, hiljainen ja erittäin taloudellinen ilmanpoisto

Nopea, hiljainen ja erittäin taloudellinen ilmanpoisto Your reliable partner Nopea, hiljainen ja erittäin taloudellinen ilmanpoisto Vacumat Eco tehokas joka tavalla Veden laatu vaikuttaa tehokkuuteen Veden laatu vaikuttaa jäähdytys- ja lämmitysjärjestelmien

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi 1.4 Toteutusalustan arkkitehtuurin rooli 1.5 Yhteenvetoa

Lisätiedot

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that

Lisätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) 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

ALGORITMIT & OPPIMINEN

ALGORITMIT & OPPIMINEN ALGORITMIT & OPPIMINEN Mitä voidaan automatisoida? Mikko Koivisto Avoimet aineistot tulevat Tekijä: Lauri Vanhala yhdistä, kuvita, selitä, ennusta! Tekijä: Logica Mitä voidaan automatisoida? Algoritmi

Lisätiedot

9. Ohjelmistoarkkitehtuurien arviointi

9. Ohjelmistoarkkitehtuurien arviointi 9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM menetelmä Esimerkki Yhteenveto 1 Miksi ohjelmistoarkkitehtuuria on arvioitava? Arkkitehtuuri on ensimmäinen täsmällinen kuvaus järjestelmästä Arkkitehtuuri

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistojen mallintaminen, kesä 2010 582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

Ohar-ATAM pikaisesti. Ohjelmistoarkkitehtuurit 2009

Ohar-ATAM pikaisesti. Ohjelmistoarkkitehtuurit 2009 Ohar-ATAM pikaisesti Ohjelmistoarkkitehtuurit 2009 Aikataulu Tämä Ohar-ATAM esittely otsikkotasolla(~5min) Arkkitehtuurin esittely (~40min), arvioiva ryhmä esittää kysymyksiä Arkkitehtuurilähestymistavat,

Lisätiedot

Lanseeraustiedote. DP6000 2K Pikapohjamaali. Lokakuu 2015

Lanseeraustiedote. DP6000 2K Pikapohjamaali. Lokakuu 2015 Tuotteen Lanseeraus: Taustaa: Nopea 2K pohjamaali kolmessa harmaan sävyssä ja uusi pikaohenne. D8531/E1 Valkoinen G1 D8535/E3 Harmaa G5 D8537/E1 Tummanharmaa G7 D8716/E1 Pikaohenne DP6000 kehitettiin lyhentämään

Lisätiedot

Paikkatietoa metsäbiomassan määrästä tarvitaan

Paikkatietoa metsäbiomassan määrästä tarvitaan Biomassan estimointi laseraineiston, ilmakuvien ja maastomittausten perusteella Esitys Metsätieteen Päivän Taksaattorisessiossa 26.10.2011 Reija Haapanen, Sakari Tuominen ja Risto Viitala Paikkatietoa

Lisätiedot

Osavuosikatsaus 1-6/2012. Juha Varelius, toimitusjohtaja

Osavuosikatsaus 1-6/2012. Juha Varelius, toimitusjohtaja Osavuosikatsaus 1-6/2012 Juha Varelius, toimitusjohtaja 09.08.2012 KATSAUSKAUDEN PÄÄKOHDAT Liikevaihto laski selvästi Liikevaihto 50,6 (65,7) miljoonaa euroa Q2 liikevaihto 24,5 (32,4) miljoonaa euroa

Lisätiedot

TEHOKAS JA KETTERÄ SUUNNITTELUJÄRJESTELMÄN TOTEUTTAMINEN. 25.3.2015 Ville Päivinen Rake-sali, Helsinki

TEHOKAS JA KETTERÄ SUUNNITTELUJÄRJESTELMÄN TOTEUTTAMINEN. 25.3.2015 Ville Päivinen Rake-sali, Helsinki TEHOKAS JA KETTERÄ SUUNNITTELUJÄRJESTELMÄN TOTEUTTAMINEN 25.3.2015 Ville Päivinen Rake-sali, Helsinki TEHOKAS TOTEUTTAMINEN Valitaan arkkitehtuuri, joka tukee toimintaa. Jokainen työntekijä osallistuu

Lisätiedot

Periytyvyys ja sen matematiikka

Periytyvyys ja sen matematiikka Periytyvyys ja sen matematiikka 30.7.2001 Katariina Mäki MMM,tutkija Helsingin yliopisto, Kotieläintieteen laitos / kotieläinten jalostustiede katariina.maki@animal.helsinki.fi Jalostuksen tavoitteena

Lisätiedot

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3 Katsaus ohjelmistotuotannon kehittymiseen 1.4 Miksi ohjelmistoarkkitehtuuri on tärkeä 1.5 Ohjelmistoarkkitehtuuri

Lisätiedot

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Tietorakenteet, laskuharjoitus 10, ratkaisuja. 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] = = T [i + 1] 4 return True 5

Lisätiedot

Haluatko olla mukana toiminnassa, jolla on merkitystä?

Haluatko olla mukana toiminnassa, jolla on merkitystä? Haluatko olla mukana toiminnassa, jolla on merkitystä? 1 HomCare tarjoaa sinulle Yhdessä tekemistä ja yrittäjyyttä Edelläkävijyyttä Ekologisuutta ja luonnonmukaisuutta 2 Kodin ja ihmisen hyvinvointi on

Lisätiedot

Mat Sovelletun matematiikan erikoistyöt. Geneettiset algoritmit ja sukupuolten taistelu

Mat Sovelletun matematiikan erikoistyöt. Geneettiset algoritmit ja sukupuolten taistelu Mat-2.108 Sovelletun matematiikan erikoistyöt Geneettiset algoritmit ja sukupuolten taistelu Pasi Virtanen 45787U 17.08.2005 1. Johdanto... 4 2. Perusteet... 5 2.1 Geneettiset algoritmit... 5 2.1.1 Geneettisten

Lisätiedot

15.4.2015. 30.05.2007 Capricode Oy

15.4.2015. 30.05.2007 Capricode Oy Automaattinen Häiriöinfo - oikea ratkaisu tiedotepalvelujärjestelmäksi; häiriö-, vika- ja katastrofitiedotteiden automaattiseen ja reaaliaikaiseen jakeluun 15.4.2015 Sisällysluettelo Häiriötilanteiden

Lisätiedot

X-kromosominen periytyminen. Potilasopas. TYKS Perinnöllisyyspoliklinikka PL 52, 20521 Turku puh (02) 3131 390 faksi (02) 3131 395

X-kromosominen periytyminen. Potilasopas. TYKS Perinnöllisyyspoliklinikka PL 52, 20521 Turku puh (02) 3131 390 faksi (02) 3131 395 12 X-kromosominen periytyminen TYKS Perinnöllisyyspoliklinikka PL 52, 20521 Turku puh (02) 3131 390 faksi (02) 3131 395 FOLKHÄLSANS GENETISKA KLINIK PB 211, (Topeliusgatan 20) 00251 Helsingfors tel (09)

Lisätiedot

9. Ohjelmistoarkkitehtuurien arviointi

9. Ohjelmistoarkkitehtuurien arviointi 9. Ohjelmistoarkkitehtuurien arviointi Johdanto ATAM-menetelmä Esimerkki Käytännön kokemuksia ja ongelmia Yhteenveto Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Mitä on ohjelmistoarkkitehtuurin

Lisätiedot

Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely)

Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely) Tuotantoprosessin optimaalinen aikataulutus (valmiin työn esittely) Joona Kaivosoja 01.12.2014 Ohjaaja: DI Ville Mäkelä Valvoja: Prof. Ahti Salo Työn saa tallentaa ja julkistaa Aalto-yliopiston avoimilla

Lisätiedot

Geenitutkimusta: evoluutiosta kohti geenivarojen suojelua ja jalostusta

Geenitutkimusta: evoluutiosta kohti geenivarojen suojelua ja jalostusta Geenitutkimusta: evoluutiosta kohti geenivarojen suojelua ja jalostusta 19.10.2016 Metsätieteen päivä Outi Savolainen, Oulun yliopisto, Genetiikan ja fysiologian tutkimusyksikkö Käyttölisenssi: CC BY 4.0

Lisätiedot

TIEA382 Lineaarinen ja diskreetti optimointi

TIEA382 Lineaarinen ja diskreetti optimointi TIEA382 Lineaarinen ja diskreetti optimointi Jussi Hakanen Tietotekniikan laitos jussi.hakanen@jyu.fi AgC 426.3 Yleiset tiedot Tietotekniikan kandidaattiopintojen valinnainen kurssi http://users.jyu.fi/~jhaka/ldo/

Lisätiedot

Käyttäjätietojen hallintaratkaisujen arkkitehtuurin tehostaminen. Juha Kervinen Lead Architect, Trusteq Oy

Käyttäjätietojen hallintaratkaisujen arkkitehtuurin tehostaminen. Juha Kervinen Lead Architect, Trusteq Oy Käyttäjätietojen hallintaratkaisujen arkkitehtuurin tehostaminen Juha Kervinen Lead Architect, rusteq Oy Aiheet Lopputulos paranee työvaiheiden tehostamisella arkastelemme yrityksen käyttäjätietojen hallintaa

Lisätiedot

10. Muunneltavuuden hallinta: variaatiopisteet

10. Muunneltavuuden hallinta: variaatiopisteet 10. Muunneltavuuden hallinta: variaatiopisteet Muunneltavuuden hallinta (Variability management): Tekniikat ja työtavat, jotka auttavat kuvaamaan, toteuttamaan ja hyödyntämään ohjelmistotuotteiden variaatiota.

Lisätiedot

Automaatiotekniikka Vaasan Yliopisto

Automaatiotekniikka Vaasan Yliopisto Automaatio Hyvin suunniteltu on puoliksi automatisoitu (suom. sananlasku) Suuretkin systeemit saavat alkunsa pienistä siemenistä. (Seneca) Automaatiojärjestelmä havainnoi ympäristöään ja itseään, tekee

Lisätiedot

Lomalista-sovelluksen määrittely

Lomalista-sovelluksen määrittely Thomas Gustafsson, Henrik Heikkilä Lomalista-sovelluksen määrittely Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikka Dokumentti 14.10.2013 Tiivistelmä Tekijä(t) Otsikko Sivumäärä Aika Thomas

Lisätiedot

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely)

Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Implementation of Selected Metaheuristics to the Travelling Salesman Problem (valmiin työn esittely) Jari Hast xx.12.2013 Ohjaaja: Harri Ehtamo Valvoja: Hari Ehtamo Työn saa tallentaa ja julkistaa Aalto-yliopiston

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto 2 Kurssin tavoitteet

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

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit (rakenteen ositus) Tietovuoarkkitehtuurit

Lisätiedot

a. Mustan ja lyhytkarvaisen yksilön? b. Valkean ja pitkäkarvaisen yksilön? Perustele risteytyskaavion avulla.

a. Mustan ja lyhytkarvaisen yksilön? b. Valkean ja pitkäkarvaisen yksilön? Perustele risteytyskaavion avulla. 1. Banaanikärpänen dihybridiristeytys. Banaanikärpäsillä silmät voivat olla valkoiset (resessiivinen ominaisuus, alleeli v) tai punaiset (alleeli V). Toisessa kromosomissa oleva geeni määrittää siipien

Lisätiedot

10. Muunneltavuuden hallinta: variaatiopisteet

10. Muunneltavuuden hallinta: variaatiopisteet Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 10. Muunneltavuuden hallinta: variaatiopisteet Muunneltavuuden hallinta (Variability management): Tekniikat ja työtavat,

Lisätiedot