KANDIDAATINTYÖ. Anne Karppinen Juha Nikula Kalle Lyttinen

Koko: px
Aloita esitys sivulta:

Download "KANDIDAATINTYÖ. Anne Karppinen Juha Nikula Kalle Lyttinen"

Transkriptio

1 KANDIDAATINTYÖ Anne Karppinen Juha Nikula Kalle Lyttinen TIETOTEKNIIKAN OSASTO TIETOTEKNIIKKA 2012

2 KANDIDAATINTYÖ Semanttinen tietorakenne sulautetulle järjestelmälle Anne Karppinen Juha Nikula Kalle Lyttinen Ohjaajat: Juha Röning, Teemu Tokola TIETOTEKNIIKAN OSASTO TIETOTEKNIIKKA 2012

3 Karppinen A., Nikula J., Lyttinen K. (2012) Semanttinen tietorakenne sulautetulle järjestelmälle. Oulun yliopisto, Tietotekniikan osasto. Kandidaatintyö, 33 s. TIIVISTELMÄ Semanttisen muistin mallintaminen on varsin haastava tehtävä, ja monet suurellakin budjetilla toteutetut projektit ovat jääneet verrattain vaisuihin tuloksiin. Semanttinen tiedontallennus on tehokasta, ja siksi ihminen muodostaa aivoissaan semanttisia verkkoja. Näiden verkkojen avulla tietojen väliset relaatiot pysyvät hyvin järjestyksessä. Tällainen tiedon tallentaminen on kuitenkin kaukana normaalisti tietokoneissa käytetyistä tallennustavoista. Tässä kandidaatintyössä toteutettiin ohjelma, joka järjestää tietoa semanttiseen puurakenteeseen ja oppii uutta tietoa käyttäjältä luonnollisella kielellä käytettävän rajapinnan kautta. Työssä onnistuttiin ennen kaikkea tietorakenteen ja verkon toteutuksessa. Avainsanat: semanttinen muisti, luonnollinen kieli, oppiminen, tekoäly

4 Karppinen A., Nikula J., Lyttinen K. (2012) A Semantic Data Structure for an Embedded System. Department of Information Engineering, University of Oulu, Oulu, Finland. Bachelor s thesis, 33 p. ABSTRACT Modelling semantic memory is a challenging task and even big budget projects have not been very successful. Gathering semantic information is efficient and that is why human beings form semantic networks in their brain. With the help of these networks, relations between matters stay in clear order. However, semantic data storing is not the most common way of data storing used in computers. In this bachelor s thesis we designed and implemented a program which organizes information to a semantic treemodel and learns new information from natural language user inputs. In this thesis we succeeded especially in data structure and network implementation. Keywords: semantic memory, natural language, learning, artificial intelligence

5 SISÄLLYSLUETTELO TIIVISTELMÄ ABSTRACT SISÄLLYSLUETTELO ALKULAUSE LYHENTEIDEN JA MERKKIEN SELITYKSET 1. JOHDANTO 9 2. TAUSTA Laitteet, jotka ajattelevat kuin ihmiset Laitteet, jotka käyttäytyvät kuin ihmiset Laitteet, jotka ajattelevat rationaalisesti Laitteet, jotka käyttäytyvät rationaalisesti Semanttinen muisti ja sen määritelmä Luonnollisen kielen käsittely Syntaktinen eli lauseopillinen kielenymmärrys Semanttinen eli merkitysopillinen kielenymmärrys Kotus-sanalista Käytetty laitteisto RATKAISUN KUVAUS Johdanto Käyttöliittymä Verkkorajapinta ja puskuri Kyselyihin vastaaminen Kyselyn lähettäminen ja vastauksen vastaanottaminen Tekoäly Yhden ja kahden sanan syöte Kolmen sanan syötteet Tietorakenne SAAVUTUKSET Toiminnallisuus Testaussuunnitelma Käyttöliittymätestaus Verkkotestaus Kielenymmärrystestaus Tietorakennetestaus Testien tulokset Käyttöliittymätestien tulokset Verkkotestien tulokset

6 Kielenymmärrystestien tulokset Tietorakennetestien tulokset Pohdinta PROJEKTIN KUVAUS Työnjako Ajankäyttö TULEVA KEHITYS YHTEENVETO LÄHTEET LIITTEET Käyttöliittymäkyselylomake

7 ALKULAUSE Tämän kandidaatintyön eri vaiheissa olemme saaneet apua useilta henkilöiltä, joita haluamme nyt kiittää. Kiitos kuuluu kaikille ryhmän jäsenille, kandidaatintyön ohjaajille, ystäville ja heille, jotka osallistuivat työhömme laitteen testausvaiheessa ja oikolukivat dokumentaation. Lisäksi haluamme kiittää niitä, jotka ovat jaksaneet tukea meitä projektin aikana. Oulu, 17. kesäkuuta 2012 Anne Karppinen Juha Nikula Kalle Lyttinen

8 LYHENTEIDEN JA MERKKIEN SELITYKSET EIR FIFO GPS Kotus NLP Elektor Internet Radio First In, First Out General Problem Solver Kotimaisten kielten keskus Natural Language Processing

9 9 1. JOHDANTO Ihminen on ajatteleva olento, joka voi oppia uusia asioita. Ihmisen oppimisprosessi tapahtuu aivoissa, jossa uusi tieto jäsennetään järkeväksi kokonaisuudeksi [1]. Aivojen hermoverkot muuttuvat ja voimistuvat sitä mukaa, kun ihminen oppii uusia asioita eli muodostaa uusia muistijälkiä [2]. Muistiliiton mukaan oppimisessa on kyse aktiivisesta tiedon muokkaamisesta, jäsentämisestä ja merkitysten analysoimisesta [3]. Ihminen siis pystyy muokkaamaan ja jäsentelemään oppimiaan asioita aivoissaan. Tämä on hyvä ominaisuus, koska jäsentämällä asiat hahmottuvat paremmin. Siksi esimerkiksi ajatuskartan tekeminen usein auttaa asioiden ymmärtämistä sekä muistamista. Jo opittujen asioiden muokkaamiskyky on myös tarpeellinen taito. Kun vanhoista asioista saadaan uutta ja parempaa tietoa, on hyvä, että asiat voidaan päivittää aivoissa ajantasalle. Entä olisiko kaikki tämä mahdollista myös tietokoneohjelmalle? Voisiko sekin jäsentää ja muokata tietoa tietokannassaan samalla tavalla kuin ihminen? Ihminen ei tiedä maailmasta mitään syntyessään, mutta pikkuhiljaa elämänsä aikana hän kykenee aistien ja muistin avulla kasaamaan itselleen verrattain suuren tietomäärän. Samalla kun ihminen jäsentää oppimansa tiedot, hän ymmärtää myös asioiden välisiä relaatioita. Ohjelman, joka ei tiedä maailmasta mitään, tulisi siis opetella jokainen asia alusta alkaen ilman aisteja. Jotta tietokoneohjelma voisi oppia samalla tavalla kuin ihminen, senkin tulisi ymmärtää asioiden välisiä suhteita. Ihmisen kaltaiseen tiedon tallennukseen ja asioiden välisten relaatioiden ymmärtämiseen tarvitaan semanttista muistia [4]. Semanttinen muisti mahdollistaa ihmisen kaltaisen oppimisen, asioiden säilyttämisen ja niiden mielekkään jäsentämisen jo olemassa olevaan tietoon. Oppimisen yhtenä tärkeänä osana on myös kielen ymmärtäminen. Ohjelmalle luonnollisen kielen ymmärtäminen on vaikeaa, koska etenkin suomen kielessä on monimutkaisia lauserakenteita. Näiden lauserakenteiden sekä sanojen merkitysten ymmärtäminen on tärkeä osa oppivaa tekoälyä. Tässä kandidaatintyössä perehdytään tekoälyyn, semanttiseen muistiin ja luonnollisen kielen käsittelyyn. Dokumentissa käydään läpi tekoälyn erilaisia määritelmiä, joita hyödynnetään laitteen toteutuksessa. Tämän lisäksi esitellään semanttisen muistin rakennetta ja luonnolisen kielen ymmärryksen eri tasoja. Dokumentissa esitellään työssä käytetty ratkaisumenetelmä ja tulokset, joita ratkaisulla saavutettiin. Lopuksi käydään läpi testaustuloksia ja pohditaan, kuinka laitetta voitaisiin kehittää tulevaisuudessa.

10 10 2. TAUSTA Tekoälyn tutkimus on verrattain uusi tieteenala. Tekoälyn tutkiminen ja toteuttaminen alkoivat toisen maailmansodan jälkeen. Tekoälyn englanninkielinen termi artificial intelligence keksittiin vuonna 1956 [5]. Tekoäly sisältää useita eri tutkimusalueita yksinkertaisista tehtävistä vaativiin toteutuksiin. Tekoälyä ei hyödynnetä ainoastaan tietotekniikassa, vaan sitä käytetään myös jokapäiväisissä laitteissa ja suurilla tehdaslinjoilla. Esimerkiksi lasten lelut ovat nykyään hyvin älykkäitä [6] ja tehtaissa tuotantoa voidaan ohjata älykkäillä laitteilla [7]. Tekoälyllä ei ole yhtä täydellistä määritelmää. Stuart Russell ja Peter Norvig esittelevät kirjassaan [5] tekoälyn erilaisia määritelmiä, jotka voidaan luokitella neljään eri kategoriaan: Laitteet, jotka ajattelevat kuin ihmiset Uusi jännittävä pyrkimys saada tietokoneet ajattelemaan... koneita, joilla on järki, sanatarkasti määriteltynä (Haugeland J.,1985) [8] Laitteet, jotka käyttäytyvät kuin ihmiset Taito luoda koneita, jotka kykenevät suorittamaan toimintoja, joihin tarvittaisiin ihmisten älykkyyttä (Kurzweil R., 1990) [9] Laitteet, jotka ajattelevat rationaalisesti Tutkimus mielen kykyjen toteuttamisesta laskennallisten mallien kautta (E. Charniak and C. McDermott, 1985) [10] Laitteet, jotka käyttäytyvät rationaalisesti Tietotekniikan tutkimuksen haarauma, jossa keskitytään automaattisen älykkyyden käyttäytymiseen (G. F. Luger and W. A. Stubblefield, 1993) [11] Mikään näistä kategorioista ei yksinään riitä kuvaamaan tämän työn toteutusta, vaan eri kategorioita sovelletaan työn eri osa-alueissa. Näiden luokitusten lisäksi työssä tärkeitä käsitteitä ja välineitä ovat semanttinen muisti, luonnollisen kielen tulkinta, Kotussanalista sekä käytetty laitteisto Laitteet, jotka ajattelevat kuin ihmiset Ennen kuin voidaan sanoa, että laite ajattelee kuin ihminen, tulee määritellä tarkasti, kuinka ihminen ajattelee. Ihmisen ajattelua voidaan tutkia kahdella tavalla [5]: psykologisten kokemusten kautta tai introspektion kautta eli yrittäen tavoittaa omat ajatuksemme ennen kuin ne unohtuvat. Russel toteaa Kun meillä on riittävän tarkka teoria ajattelusta, on se mahdollista ilmentää tietokoneohjelmana. [5] Ihmisen kaltaista ajattelua on mallinnettu yleisellä ongelman ratkaisijalla.yleinen ongelman ratkaisija on laite, joka ajattelee ja ratkoo loogisia ongelmia samalla tavalla kuin ihminen. Vuonna 1961 A. Newell ja H. A. Simon kehittivät GPS-ohjelman, joka ratkaisee ongelmia, jotka voidaan esittää objektien ja operaattoreiden avulla [12]. Newellin mukaan operaattori on sellainen asia, jota voidaan soveltaa tiettyihin objekteihin tuottamaan erilaisia objekteja [12].

11 Laitteet, jotka käyttäytyvät kuin ihmiset Vuonna 1950 Alan Turing suunnitteli Turing-kokeen, jonka avulla oli tarkoitus saavuttaa tyydyttävä älykkyyden määritelmä. Turingin mukaan älykäs käyttäytyminen on kyky saavuttaa ihmisen tasoinen suoritus kaikissa kognitiivisissa tehtävissä, riittävästi huijatakseen kuulustelijaa [5]. Turing-kokeessa ihminen kommunikoi laitteen tai ihmisen kanssa kirjoituskoneen välityksellä. Laite on läpäissyt Turing-kokeen, mikäli testaaja ei osaa erottaa, kommunikoiko hän koneen vai ihmisen kanssa. Kokeessa laitteen täytyy: pystyä kommunikoimaan menestyksekkäästi jollakin ihmiskielellä osata esittää älykkyytensä jakamalla tietoaan käyttää tietoaan vastaamalla kysymyksiin ja tekemällä uusia johtopäätöksiä sopeutua uusiin olosuhteisiin sekä huomata ja yleistää erilaisia malleja 2.3. Laitteet, jotka ajattelevat rationaalisesti Rationaalinen ajattelu johtaa loogiseen ajatteluun, jossa yhdestä asiasta voidaan päätellä ja olettaa isompia kokonaisuuksia. Esimerkiksi voidaan päätellä labradorinnoutajan olevan nisäkäs, koska labradorinnoutaja on koira ja kaikki koirat ovat nisäkkäitä luvun loogikot kehittivät tarkan notaation kaikenlaisille väittämille ja relaatioille. Jo vuonna 1965 oli olemassa ohjelmia, jotka pystyivät periaatteessa ratkaisemaan minkä tahansa ratkaistavissa olevan ongelman kuvattuna loogisella notaatiolla. [5] Lähestymistavassa on myös ongelmia. Ei ole helppoa kääntää vapaamuotoista tietoa tarkkaan loogiseen notaatioon varsinkaan, jos tieto ei ole täysin varmaa. Lisäksi on eri asia ratkaista ongelma teoriassa kuin ratkaista se käytännössä. Nämä ongelmat ovat esillä myös muilla ratkaisutavoilla järkeilevillä järjestelmillä.[5] 2.4. Laitteet, jotka käyttäytyvät rationaalisesti Rationaalisesti käyttäytyvien laitteiden voidaan olettaa esimerkiksi toimivan itsenäisesti, tarkkailevan ympäristöään, säilyttävän toimintakykynsä pitkän aikajakson ajan sekä kykenevän mukautumaan muutoksiin. Niiden toteuttamisessa tarvitaan myös rationaalisesti ajattelevien laitteiden toteutuksia. Oikeiden päätelmien tekeminen on usein osa rationaalisia laitteita. Toisaalta laitteiden täytyy myös pystyä toimimaan tilanteissa, joissa ei ole yhtä täysin varmaa tapaa ratkaista ongelma. [5] 2.5. Semanttinen muisti ja sen määritelmä Ihmisen kaltainen ymmärrys maailmasta olisi mahdotonta ilman semanttista muistia, tiedon järjestelmällistä tallennusta sekä käsitteitä ja ymmärrystä niiden välisistä suhteista. Julian Szymanski määrittelee semanttisen muistin pysyväksi käsitteellisen tiedon varastoksi. Pysyvyys tarkoittaa sitä, että tietoa on kerätty koko systeemin elämän

12 12 ajan, vaikkakin vanha tieto on voitu syrjäyttää tai korjata uudella tiedolla. Käsitteellisyys tarkoittaa sitä, että muisti sisältää semanttisia suhteita sanojen välillä ja käyttää niitä luodessaan uusien käsitteiden määritelmiä [13]. Tietokoneen tai laitteen muistiin liittyy oleellisesti tietorakenne. Semanttisen tietorakenteen voi mallintaa kahdella tavalla: puurakenteella tai verkolla. Collins ja Quillian esittelevät puumallin semanttisen tiedon varastoimiseksi tietokoneen muistiin [14]. Mallissa asiat järjestetään hierarkkisesti puumallin mukaan. Jokaisella puun solmulla on erilaisia ominaisuuksia, ja nämä ominaisuudet ovat myös solmun lapsisolmuilla, mikäli lapsisolmussa ei ominaisuutta erikseen kielletä. Puumalli kuvassa 1 kuvaa hyvin asioiden välistä olla-relaatiota, mutta siinä on vaikea esittää muunlaisia suhteita asioiden välillä. Eläin ihollinen hengittävä Lintu muniva höyhenpeite Kala eväkäs ui kidukset Kanarialintu laulava keltainen Pingviini pienikokoinen lentokyvytön Lohi vaaleanpunainen syötävä Kuva 1. Semanttinen puumalli Toinen tapa rakentaa semanttinen muisti on verkko. Semanttisesti linkittynyt verkko muodostuu solmuista ja semanttisista linkeistä näiden solmujen välillä [15]. Tällä tavoin kootussa verkossa on erilaisia relaatioita solmujen välillä. Solmuilla on myös ominaisuuksia samalla tavalla kuin puurakenteessa. Semanttisen muistin mallintaminen verkkona toimii, kun halutaan, että solmujen välillä on muitakin relaatioita kuin olla-relaatio. Verkkorakenteella voidaan esittää mitä tahansa relaatioita, esimerkiksi lintu syö matoja, koira heiluttaa häntäänsä sekä ihminen ratsastaa hevosella. Semanttisen muistin verkkomallinen kuvaaminen on siis kattava ja toimiva monenlaisissa tilanteissa. Semanttisen muistin mallintamiseen voi siis käyttää kahta edellä mainittua menetelmää. Käytti hyväkseen kumpaa menetelmää vain, tulee huomioida muistin johdonmukainen rakentuminen. Kun muistiin tallennetaan uutta tietoa, täytyy pitää huoli siitä, ettei siellä olevia asioita tallenneta uudestaan. Tällä tavalla vältytään samojen asioiden päällekkäisyyksiltä. Samalla tulee myös tarkistaa, että muistin hierarkkinen rakenne säilyy. Esimerkiksi jos pitää paikkaansa, että leijona on nisäkäs, silloin nisäkäs on leijona ei voi enää pitää paikkaansa. Jos tällaisia virheitä tapahtuu muistiin tallentamisessa, koko muistin rakenne kärsii. Samalla muistiin tulee ristiriitoja, joita voi olla vaikea korjata jälkeenpäin.

13 13 kissaeläin tiikeri kala syödä olla kuulua jääkarhu kissa omistaa seepra raidallinen osata koira turkki ihminen uida Kuva 2. Semanttinen verkkomallinnus 2.6. Luonnollisen kielen käsittely Luonnollisen kielen käsittely (NLP) on tekoälyn tutkimuksen osa-alue, joka tutkii, kuinka tietokone voi ymmärtää luonnollista kieltä [16]. NLP:n tutkimus alkoi jo vuonna 1940 [17]. NLP-tutkimuksessa tähdätään ymmärrykseen siitä, kuinka ihminen käyttää ja ymmärtää kieltä. Tämän tiedon avulla voidaan kehittää erilaisia työkaluja ja tekniikoita, joiden avulla saadaan kone ymmärtämään luonnollista kieltä ja suoriutumaan sen avulla erilaisista tehtävistä kieltä käyttäen [16]. Lähes jokaisella NLP-järjestelmällä on kielioppi ja siihen liittyvä jäsentelijä [18]. Kielioppi on päättyvä määrittely mahdollisesti päättymättömälle määrälle lauseita. Jäsentelijä on algoritmi, joka analysoi lauseen ja muodostaa yhden tai useamman määritelmän lauseelle kieliopin mukaisesti. Kieliopin tulee siis määritellä rakenne, jota syötteen täytyy noudattaa. Tämän hyvin määritellyn rakenteen ansiosta jäsentelijä osaa toimia oikein. Joshin mukaan rakenteelliset määritelmät ovat välttämättömiä jatkokäsittelyn kannalta esimerkiksi semanttisen tulkinnan vuoksi [18]. Paras menetelmä esitellä luonnollisen kielen todellista käsittelyä on lähestyä asiaa kielen eri tasojen näkökulmasta. Kielen ymmärtäminen voidaan jakaa seuraaviin tasoihin [17]: fonologinen eli äänneopillinen morfologinen eli muoto-opillinen leksikaalinen eli sanastollinen

14 14 syntaktinen eli lauseopillinen semanttinen eli merkitysopillinen diskursaalinen eli keskustelunanalyyttinen pragmaattinen eli käytäntövaltainen Tässä työssä kieltä käsiteltiin etenkin syntaktisesta eli lauseopillisesta ja semanttisesta eli merkitysopillisesta näkökulmasta Syntaktinen eli lauseopillinen kielenymmärrys Syntaktinen kielenymmärryksen taso analysoi lauseessa olevia sanoja ja lauseen rakennetta [17]. Syntaktisen ymmärryksen toteuttaminen vaatii sekä kielioppia että jäsentelijää. Kieliopin noudattaminen on tärkeää, koska muussa tapauksessa jäsentelijä ei osaa tulkita lausetta oikein. Haastava tapaus on esimerkiksi se, kun käyttäjä syöttää laitteelle lauseet leijona on eläin ja eläin on leijona. Lauseet eroavat vain syntaksiltaan mutta antavat silti erilaisen merkityksen [17]. Jäsentelijä rakentuu ennalta määrätyn kieliopin perusteella ja sen mukaan tulkitsee lauseen sisällön, vaikka ei tunnistaisikaan yksittäisiä sanoja. Esimerkiksi syötteessä Koira on nisäkäs jäsentelijä ymmärtää, että jokin asia (tässä tapauksessa koira) on jotain (eli nisäkäs), ja tekee tämän perusteella ennalta määrätyt toimenpiteet Semanttinen eli merkitysopillinen kielenymmärrys Semanttinen käsittely määrittelee lauseiden mahdolliset merkitykset keskittymällä lauseen sanojen väliseen vuorovaikutukseen [17]. Tämän tason kielenymmärtämiseen sisältyy sanojen semanttista täsmennystä useilla eri merkityksillä. Semanttinen täsmennys mahdollistaa monimerkityksisille sanoille vain yhden merkityksen, jonka tulee ilmetä lauseesta. Esimerkiksi sana lehti voi tarkoittaa sekä sanomalehteä että puussa olevaa lehteä. Tällaiset sanat voidaan tulkita yksiselitteisesti, kun lauseen loppuun tulee täsmennys siitä, mistä tarkalleen on kyse. Sanan merkitys voi ilmetä myös tekstin yleisestä kontekstista [17], mutta tässä toteutuksessa se ei ollut mahdollista Kotus-sanalista Kotimaisten kielten keskus on tutkimuslaitos, jossa tutkitaan kotimaisia kieliä eli suomea ja ruotsia. Lisäksi tutkimuslaitos koordinoi saamen kielten, romanikielen ja viittomakielten lautakuntien työtä [19]. Kotuksen toimintaan kuuluu esimerkiksi sanakirjojen tekemistä sekä kielen- ja nimistönhuoltoa. Kotus-sanalista on tutkimuskeskuksen julkaisema taivutustiedoin täydennetty nykysuomen sanalista. Sanalistan tarkoitus on toimia apuvälineenä suomen kieltä käsittelevien tietokoneohjelmien ja suomenkielisten käyttöliittymien kehitystyössä [20].

15 Käytetty laitteisto Työn laitteistona käytettiin Ethernut EIR -alustaa [21] yhdistettynä monitoiminnalliseen IO-alustaan, johon kuului näppäimistö, ohjausvipu (joystick), liitin mikrofonille sekä kiihtyvyysmittari. Kuitenkaan työssä ei käytetty kyseistä IO-alustaa, vaan laitetta ohjattiin komentoriviltä, joka toimi PC:llä pyörivässä virtuaalikoneessa.

16 16 3. RATKAISUN KUVAUS 3.1. Johdanto Työ ratkaistiin käyttämällä hyväksi aiempia toteutuksia ja soveltamalla yleisiä menetelmiä. Aluksi etsittiin semanttisesta muistista tehtyjä käytännön sovelluksia. Koska mitään tähän työhön sopivaa ei löydetty, päätettiin suunnitella toteutus itse. Toteutusta suunnitellessa otettiin huomioon erilaiset tekoälyn määritelmät [5]. Mikään näistä määritelmistä ei onnistunut yksin kattamaan koko työtä, vaan niitä sovellettiin enemmän tai vähemmän toteutuksen eri osa-alueissa. Eniten työ vastaa määritelmää laitteesta, joka käyttäytyy kuin ihminen. Työssä laite suorittaa toimintoja, joihin tarvitaan ihmisten älykkyyttä [9]. Näihin toimintoihin kuuluvat oppiminen, tiedon jäsentäminen, kommunikointi muiden laitteiden kanssa sekä ihmisen ja koneen välinen vuorovaikutus käyttöliittymän avulla. Työn ohjelmistoratkaisu päätettiin jakaa neljään osaan: Käyttöliittymä Verkkorajapinta ja puskuri Tekoäly Tietorakenne Syöte Tuloste Käyttöliittymä Verkkorajapinta Puskuri Tekoäly Tietokanta 1. Kysely verkosta ja vastaus verkosta 2. Kysely verkkoon ja vastaus verkkoon 3. Käyttäjän kyselyt ja vastaukset käyttäjälle 4. Tietokantahaut Pääsäie Verkkosäie Käyttöliittymäsäie Kuva 3. Yleinen ohjelmistoratkaisu

17 Käyttöliittymä Laitteen käyttöliittymä suunniteltiin tavalliseksi konsolisyötteeksi. Laitetta ohjataan Tera Term -konsoli-ikkunan kautta. Ohjaussyötteet ovat yksinkertaisia yksi-, kaksitai kolmesanaisia suomenkielisiä lauseita, joiden avulla käyttäjä voi tallentaa tietoa laitteen tietokantaan tai tehdä kyselyjä tietokannasta. Käyttäjälle laitteesta näkyvät vain käyttäjäsäikeen tulosteet. Käyttäjäsäie ottaa Tera Termista käyttäjän kirjoittamaa syötettä kirjain kerrallaan ja tulostaa niitä sitä mukaa näytölle. Tällä tavalla varmistetaan, että käyttäjä näkee, mitä kirjoittaa, ja voi askelpalauttimella pyyhkiä kirjoittamiaan kirjaimia. Kun käyttäjä lopulta syöttää syötteen painamalla rivinvaihtopainiketta, käyttäjäsäie siirtää syötteen puskuriin. Pääsäie tarkistaa puskurin ja välittää viestin jäsentelijälle, joka jäsentelee syötteen. Jäsentelyn jälkeen tekoäly toimii syötteen mukaan. Se voi joko hakea tietokannasta käyttäjän pyytämää tietoa, lähettää kyselyn verkkoon tai se voi lisätä käyttäjän syöttämän tiedon tietokantaan. Kun jäsentelijä on lähettänyt vastauksen takaisin pääsäikeelle, pääsäie siirtää vastauksen puskuriin. Käyttäjäsäie noutaa vastauksen puskurista ja tulostaa käyttäjälle. Puskurin ansiosta käyttäjä voi kirjoittaa useampia syötteitä kerrallaan eikä vastausta tarvitse jäädä odottamaan. Ei syötettä Syöte Siirrä syöte puskuriin Tarkista, onko käyttäjältä saapunut rivinvaihtoa Hae vastaus puskurista ja tulosta käyttäjälle Vastaus Siirrä vastaus puskuriin Pääsäie hakee syötteen puskurista ja jäsentelijä suorittaa tarpeelliset toimenpiteet. Kuva 4. Käyttöliittymän tietovuokaavio 3.3. Verkkorajapinta ja puskuri Verkon vaatimuksena ohjelmalle oli SNMP-protokollan toteuttaminen. SNMP-viestikehys on toteutettu Douglas Brueyn kirjoittaman esittelyn [22] avulla. Verkkorajapinnan toteutuksessa käytettiin myös hieman hyväksi tekoälyn määritelmää laitteena, joka käyt-

18 18 täytyy rationaalisesti. Laite tarkkailee ympäristöään ja vastaanottaa muilta laitteilta tulevia viestejä ja on valmiina vastaamaan niihin. SNMP-agentilla keskustellaan muiden laitteiden kanssa. Viestitykseen käytetään SNMP-protokollan GetRequest- ja GetResponse-viestejä. GetRequest-viestillä lähetetään tiedustelu sanalle, jota ei ole löytynyt omasta tietokannasta. Tähän kyselyyn saadaan muilta vastaus GetResponse-viestillä. GetResponse-viestillä myös vastataan muiden toteutuksien kyselyihin. Toteutuksessa muita laitteita palvellaan aina, kun on aikaa. Käyttäjää palvellaan ensisijaisesti. Tarkista, onko verkosta saapunut paketteja Ei ole On Ei ole Tarkista, onko paketin muoto validi On Siirrä saapuneen paketin viesti puskuriin Tarkista, onko puskurissa verkkoon lähetettäviä viestejä On Lähetä jonon ensimmäinen viesti verkkoon Ei ole Siirry alkuun Kuva 5. Verkkorajapinnan tietovuokaavio Kyselyihin vastaaminen Kun laite saa verkosta GetRequest-viestin, se tarkistaa, että viesti on SNMP-muotoinen ja jäsentelee sen. Viestistä otetaan talteen yhteisötunnus, pyyntötunniste sekä varsinainen viesti. Näistä tiedoista muodostetaan ohjelman ymmärtämä tietorakenne, joka puskuroidaan FIFO-puskuriin. Tekoäly ottaa puskurista kyselyt ja käsittelee ne. Kysymys annetaan tekoälyssä sijaitsevalle jäsentelijälle, joka jäsentelee kysymyksen ja etsii vastauksen tietokannasta samaan tapaan kuin se etsii vastauksen käyttäjän syötteeseen. Löytynyt vastaus siirretään toiseen FIFO-puskuriin, josta verkkosäie ottaa sen ja lähettää vastauksen sille laitteelle, jolta kysely tuli. Mikäli vastausta ei löydy, laite ei lähetä verkkoon mitään Kyselyn lähettäminen ja vastauksen vastaanottaminen Verkosta tulleiden viestien avulla laite oppii uusia asioita. Kun käyttäjältä tulee kysely asiasta, johon ei ole vastausta laitteen omassa tietokannassa, siirretään käyttäjältä tullut kysely FIFO-puskuriin. Puskurista verkkosäie ottaa kyselyn ja lähettää sen GetRequest-viestinä verkkoon. Kun saadaan vastaus, verkkosäie jäsentelee saamansa

19 19 GetResponse-viestin. Varsinainen viesti siirretään jälleen FIFO-puskuriin, josta tekoäly ottaa sen. Tekoäly jäsentelee viestin ja tallentaa sen sisältämän informaation tietokantaansa sekä välittää käyttäjäsäikeelle vastauksen tulostettavaksi Tekoäly Tekoälyn toteuttaminen aloitettiin tekemällä lauserakenteiden jäsentelyfunktiot. Jäsentelyfunktiot tarkistavat lauseen rakenteen ja tekevät tarvittavat tietokantahaut lauseen sisällön perusteella. Työssä hyödynnettiin Kotus-sanalistaa suomenkielisten sanojen perusmuodon tunnistamisessa. Jos sana löytyy listasta, tiedetään, että se on jo valmiiksi perusmuodossaan eikä sitä enää tarvitse taivuttaa. Mikäli sana ei ole perusmuodossa laite yrittää taivuttaa sen perusmuotoon taivutusfunktioiden avulla. Perusmuotoon tallentaminen helpottaa tietokantahakuja ja tietokantaan tallennusta. Jäsentelyfuntio jaettiin kahteen erilaiseen osaan: yhden ja kahden sanan syötteiden sekä kolmen sanan syötteiden jäsentelyyn. Aina syötteen saadessaan jäsentelyfunktio tarkistaa, löytyvätkö syötteen sanat Kotus-sanalistasta eli ovatko sanat perusmuodossa. Jos sana ei ole perusmuodossa, taivutusfunktio yrittää taivuttaa sanan perusmuotoon. Taivutettu sana tarkistetaan uudelleen Kotus-sanalistasta. Jos sana löytyy sanalistasta, voidaan todeta taivuttamisen onnistuneen ja voidaan jatkaa jäsentelyä. Jos sana ei vieläkään löydy sanalistasta, keskeytetään jäsentely ja pyydetään käyttäjää antamaan syötteet perusmuodossa Yhden ja kahden sanan syöte Yksisanaisen syötteen saadessaan jäsentelyfunktio tarkistaa, onko se tallennettu tietokantaan solmuna tai ominaisuutena. Jos sana löytyy tietokannasta solmuna, funktio hakee tietokannasta kaikki sanaa vastaavan solmun ominaisuudet sekä solmun vanhemman. Jos sana löytyy tietokannasta ominaisuutena, funktio hakee kaikki solmut, joilla on kyseinen ominaisuus. Tietokannasta tehtyjen hakujen tulokset jäsentelyfuntio välittää pääsäikeelle, joka tulostaa ne. Jos sanaa ei löydy tietokannasta, jäsentelyfunktio tekee verkkokyselyn kyseiselle sanalle ja vastaanottaa sekä käsittelee vastauksia kolmen sekunnin ajan. Jos verkkokyselyn saamista vastauksista on opittu uutta informaatiota, tulostetaan uusi opittu tieto käyttäjälle. Kaksisanaiset syötteet ovat muotoa kerro X:stä. Kaksisanaisten syötteiden käsittely ei sinällään siis eroa millään tavalla yksisanaisten syötteiden käsittelystä. Itse syöte on ymmärrettävämpää suomen kieltä, mutta tekoälyn logiikka toimii samalla tavalla Kolmen sanan syötteet Laitteen ymmärtämät kolmen sanan lauseet voidaan jakaa kahteen osaan: kysyviin ja tietoa tallentaviin lauseisiin. Tietoa tallentavan lauseen tulee olla muotoa X on Y eli esimerkiksi kissa on eläin. X on Y:n logiikka on kuvattu kuvassa 6.

20 20 Onko X-sana tietokannassa? Ei Onko Y-sana tietokannassa solmuna? Ei Luo uusi solmu X ja aseta Y-sana sen atribuutiksi. On On Onko X-sanalla vanhempaa? On Ei Onko Y-sana tietokannassa solmuna? On Ei Tee uusi solmu X ja aseta se Y:n lapsisolmuksi. Onko Y-sana tietokannassa solmuna? Lisää Y-solmu X- solmun vanhemmaksi. Lisää X:lle uusi attribuutti Y-sana. On Ei Onko Y-solmu X- solmun yläpuolella puurakenteessa. Lisää Y-sana X- solmun attribuutiksi. On Ei Älä tee mitään. Onko X-solmu Y- solmun yläpuolella puurakenteessa? Ei Lisää Y-sana X- solmun attribuutiksi. On Älä tee mitään. Kuva 6. Olla-relaation tekoälypolku Kysyvät kolmen sanan lauseet voivat olla muotoa onko X Y tai mikä on X. Mikä-sanan tilalle on mahdollista syöttää myös sanat millainen, minkälainen ja mitä. Ensimmäisen lauseen onko X Y tapauksessa jäsentelijä tarkistaa ensin, onko X-sana omassa tietokannassa. Mikäli ei ole, lähetetään kysely verkkoon ja otetaan vastauksia vastaan kolmen sekunnin ajan. Jos X-sana kuitenkin löytyy omasta tietokannasta, tarkistetaan, onko Y-sana sen ominaisuus tai vanhempi. Mikäli Y-sana on jompikumpi näistä, lähetetään pääsäikeelle vastauksena Kyllä on ja tulostetaan se käyttäjälle. Jos X-sana löytyy tietokannasta mutta sillä ei ole Y-sanaa vanhempana eikä ominaisuutena, lähetetään kysely verkkoon. Mikä on X -muotoiset lauseet kelpaavat jäsentelijälle myös muodossa mikä X on. Näiden syötteiden tekoälyn logiikka toimii samoin kuin yhden sanan syötteissä. Syötteen kysyttävälle sanalle suoritetaan siis samanlainen käsittely kuin yhden sanan syötteelle.

21 Tietorakenne Tietorakenteen toteutuksessa käytettiin pohjana puumallia[14]. Toteutukseen valittiin puumalli, koska työ haluttiin rajata vain olla-relaatioon, jolloin verkkomallinen tietorakenne olisi ollut liian kattava. Tietokannan rakentamisessa hyödynnettiin määritelmää laitteista, jotka ajattelevat rationaalisesti. Työn laite ymmärtää asioiden välisiä relaatioita ja osaa yhdistää yksittäisiä asioita suurempaan kokonaisuuteen. Laitteen tietorakenne on rakenteeltaan äärettömästi haarautuva hakupuu. Siihen voidaan lisätä solmuja ja siitä voidaan poistaa solmuja. Jokainen puun solmu on linkitetty lista, joka pitää sisällään solmun ominaisuudet yleiskielisenä tekstinä. Puussa lapsisolmu perii vanhempansa ominaisuudet. Näitä ominaisuuksia voi lisätä tietorakenteeseen ja poistaa siitä. Jokainen puussa oleva solmu tai ominaisuus sisältää tiedon siitä, mistä tämä tieto on hankittu. Hakujen nopeuttamiseksi hakupuusta tehtiin aakkosellinen hakemisto, joka sisältää muistiosoitteet puun solmuihin ja ominaisuuksiin. Aakkoselliseen hakemistoon ladattiin lisäksi Kotus-sanalista, jota käytettiin sanamuotojen jäsentämisessä. Semanttinen tietorakenne tallennettiin ja ladattiin laitteen massamuistista.

22 22 4. SAAVUTUKSET 4.1. Toiminnallisuus Laitteen parhaimmat osa-alueet olivat tietokannan ja verkon toteutus. Tietokannan hakupuu toimi selkeästi, ja sinne saatiin tallennettua tietoa järkevällä tavalla. Tiedon hakeminen tietokannasta oli nopeaa ja vaivatonta käyttäjälle. Tämän lisäksi tietokannan pystyi ottamaan talteen muistikortille ja valmiin tietokannan pystyi antamaan laitteelle muistikortin avulla. Laitteen verkkoratkaisussa oli otettu hyvin huomioon tulevien viestien käsittely. Laitteen puskuriin sopi vain tietyn verran viestejä. Mikäli puskuri oli täynnä, laite ei enää käsitellyt tulevia viestejä vaan odotti, kunnes puskurissa oli taas tilaa. Puskuroinnilla vältettiin laitteen heikentynyt toiminta silloin, kun verkossa oli paljon liikennettä. Verkko-osion toiminnassa oleellista oli myös tulleen viestin yhteisötunnuksen ja pyyntötunnisteen ottaminen talteen. Tämän ansiosta laite osasi lähettää vastauksen sille laitteelle, joka sitä pyysi. Puskurointia käytettiin hyväksi myös käyttäjä-tekoäly-rajapinnassa. Kaikki käyttäjältä tulevat ja käyttäjälle menevät syötteet ohjattiin kulkemaan puskurin kautta. Tällä pystyttiin varmistamaan, että laite toimii loogisesti. Kun käyttäjän syötteet käsiteltiin tulojärjestyksessä, tulosteissa ei tapahtunut päällekkäisyyksiä. Tekoälyn toteutuksessa hyödynnettiin asioiden välistä olla-relaatioita. Tekoäly osasi tallentaa tietoa tietokantaan kyseisen relaation mukaan. Lisäksi tekoäly osasi hakea tietoa tietokannasta, kun käyttäjä oli sitä pyytänyt. Tekoäly käsitteli jossakin määrin yleistäviä ristiriitoja. Se kertoi käyttäjälle suoraan ei voida yleistää näin, jos käyttäjä oli syöttänyt liian yleistävää tietoa. Näin pyrittiin välttämään virheellisen tiedon tallennusta. Toteutus ymmärsi suomen kieltä hyvin rajoitetusti. Laitteelle pystyi syöttämään yhden, kahden ja kolmen sanan lauseita. Lauseiden tuli noudattaa tiettyä lauserakennetta, jotta tekoäly osaisi käsitellä ne. Laite tarkisti annetusta syötteestä ensin sen, olivatko sanat Kotus-sanalistassa eli perusmuodossaan. Mikäli sanat eivät olleet perusmuotoisia, laite pyrki taivuttamaan ne perusmuotoon ja tarkistamaan uudelleen sanalistan avulla. Taivuttaminen onnistui harvoin, ja esimerkiksi erisnimiä Kotus-sanalistassa ei ollut ollenkaan Testaussuunnitelma Ohjelmistotestaus on kaikessa ohjelmistokehityksessä olennainen osa, jonka merkitystä usein vähätellään. Tässä projektissa ohjelma testattiin verrattain laajasti. Tehdyt testit voidaan jakaa karkeasti seuraaviin luokkiin: Käyttöliittymätestaus Verkkotestaus Tietorakennetestaus Kielenymmärrystestaus

23 Käyttöliittymätestaus Käyttöliittymätestauksessa pyrittiin testaamaan ohjelman toiminta tietokone-ihminenrajapinnassa. Käyttöliittymää testattiin niin oikein kuin väärinkin muodostetuilla syötteillä. Lisäksi ohjelman käytettävyyttä testattiin ihmisillä, jotka eivät olleet käyttäneet ohjelmaa aiemmin eivätkä olleet osallistuneet ohjelman kehittämiseen Verkkotestaus Verkkotesteillä pyrittiin varmistamaan, että ohjelma toimii verkossa spesifikaation mukaan. Ohjelmaa testattiin niin oman kopionsa kanssa kuin muiden vastaavien toteutusten kanssa Kielenymmärrystestaus Tehdyt kielenymmärrystestit koostuivat testeistä, joilla pyrittiin selvittämään ohjelman kyky parsia, eritellä ja ymmärtää kirjoitettua luonnollista kieltä. Testeissä käytettiin sanoja, jotka ohjelman tiedettiin tuntevan, sekä sanoja, jotka olivat ohjelmalle entuudestaan tuntemattomia. Sanoja syötettin niin perusmuodoissa kuin eri taivutusmuodoissakin. Huomiota kiinnitettiin ohjelman kykyyn poimia tekstistä sanojen välisiä riippuvuuksia Tietorakennetestaus Tietorakennetestauksella pyrittiin varmentamaan, että ohjelman sisäisen tietorakenne toimi oikein ja riittävän nopeasti. Tietorakenteelle tehtiin rasitustesti, jossa tietokantaan syötettiin suuri määrä tietoa. Tämä toteutettiin ajamalla tietokantaan Kotus-sanalistan sanoista satunnaisesti generoitu testiaineisto. Testiaineisto sisälsi solmua Testien tulokset Käyttöliittymätestien tulokset Käyttöliittymätestit tehtiin sellaisilla käyttäjillä, jotka eivät olleet osallistuneet laitteen kehittämiseen. Testaajille annettiin hyvin vähän ennakkotietoa laitteen toiminnasta. Heille kerrottiin ainoastaan työn aihe ja tarkoitus. Tällä tavalla varmistettiin, että kaikki käyttöä helpottavat ohjeet tulisivat ainoastaan laitteelta itseltään. Käyttöliittymätestit oli luokiteltu kahteen osa-alueeseen: laitteen arviointiin väittämien avulla ja laitteen arviointiin vapaa sana -periaatteella. Vapaa sana -osion perusteella todettiin, että laitteen antamat käyttöohjeet olivat joidenkin testaajien mielestä hieman epäselvät. Käyttöohjeista saatiin pääasiallisesti seuraavanlaisia kommentteja: Ohjeet olisivat voineet olla selkeämmät ja Käyttöohjeet olivat suurimmilta osin selkeät. Tämän lisäksi saatiin palautetta yleisesti laitteen toi-

24 24 minnasta. Laitteen toimintaa testaajat arvioivat seuraavasti: Yksinkertainen ja selkeälinjainen käyttöliittymä, Syötteet olivat asianmukaisella syntaksilla ja Helppokäyttöinen vaikka sanastossa olikin puutteita. Testaajat arvioivat käyttöliittymää myös heille esitettyjen väittämien perusteella. Testaajien tuli kertoa mielipiteensä jokaisesta väitteestä asteikolla 1 5. Testitulokset osoittavat, että laite oli helppokäyttöinen ja laitteen käyttö oli nopeaa ja vaivatonta. Tuloksista nähtiin myös, että laitteen suomen kielen ymmärtäminen oli heikkoa ja käyttöohjeissa olisi hieman parannuksen varaa. Käyttöliittymäkyselykaavake on liitteenä. Taulukko 1. Käyttöliittymätestien tuloksia Väittämä: Laitetta oli helppo käyttää. 0 % 0 % 33 % 50 % 17 % Laitteen antamat käyttöohjeet olivat selkeät. 17 % 17 % 33 % 33 % 0 % Laitteen käyttö oli nopeaa ja vaivatonta. 0 % 0 % 17 % 50 % 33 % Laite ymmärsi suomen kieltä hyvin. 0 % 83 % 17 % 0 % 0 % 1. Täysin eri mieltä. 5. Täysin samaa mieltä Verkkotestien tulokset Verkkotestien perusteella ohjelman verkkopuoli on onnistunut todella hyvin. Testien aikana todettiin laitteen puskurien toimivan oikein, eikä vilkas verkkoliikenne vaikuttanut laitteen toimintaan. Laite osasi keskustella oman kopionsa kanssa verkon välityksellä ilman ongelmia. Ohjelmaan ei myöskään tarvinnut tehdä paljoa muutoksia, jotta se saatiin toimimaan muiden toteutuksien kanssa. Laite osasi lähettää SNMPmuotoisia verkkoviestejä, jotka muut toteutukset osasivat tulkita oikein. Laite osasi myös vastaanottaa vastauksia omiin kysymyksiinsä. Muiden toteutuksien viestit tulkittiin oikein ja niihin osattiin vastata Kielenymmärrystestien tulokset Laitteelle syötettiin alla oleva teksti lause kerrallaan ja tietokannan sisältö tarkistettiin. Teksti on kirjoitettu itse ja sitä tehdessä on otettu huomioon joitain laitteen rajoituksia. mangusti on petoeläin. mungo on yksi mangusti laji. mangusti on pieni ja pyöreä. elmeri on mangusti. myös simo ja timo ovat mangusteja. mangusti on ruskea. mangusti voi olla myös harmaa. eläin on elollinen. tasalämpöinen on eläin. mangusti on tasalämpöinen. mangusti on nopea. elmeri on ruskeanharmaa. elmeri on myös hoikka. yleisesti tiedetään, että simo on suuri mangusti. mangustilla on korvat, jotka ovat leveät sekä pyöreät. mangusti on lyhytjalkainen. mangustin kuono on terävä. eilen uutisissa kerrottiin, että mangusti on tarkkanäköinen. mangusti on oppivainen. mangustit ovat ketteriä eläimiä sekä hyviä tunnelin kaivajia.

25 25 Tämän syötteen jälkeen ohjelmalle tehtiin kysely mikä on mangusti. Ohjelma vastasi: mangusti on petoeläin, ruskea, nopea, lyhytjalkainen ja oppivainen. mangusti on tasalämpöinen. Ohjelma oli ymmärtänyt tasalämpöisen olevan eläin ja eläimen olevan elollinen. Ohjelma osasi myös vastata oikein kysymykseen onko mangusti eläin. Relaatio osattiin siis tallentaa tietokantaan, ja ohjelma ymmärsi lähes kaikki olla-relaatiot. Lauseet, joissa oli erisnimiä, jäivät tulkitsematta. Syöte jouduttiin myös antamaan ilman isoja alkukirjaimia, sillä ohjelma ei käsitellyt isoja ja pieniä kirjaimia samalla tavalla. Laitteelle syötettiin myös pitkiä tieteellisiä tekstejä, mutta lauserakenteet ja sanojen taivutukset olivat liian monimutkaisia, jotta niistä olisi saatu tuloksia. Syötteiden kopioiminen esimerkiksi Wikipediasta tai muista verkkolähteistä ei myöskään tuottanut tuloksia Tietorakennetestien tulokset Testin aikana tietokannan rakenne pysyi koossa eikä laitteella havaittu suoritusongelmia. Tietorakenne selvisi testeistä hyvin ja osoitti sen toimivansa myös isoilla tietomäärillä Pohdinta Testitulosten perusteella voidaan todeta, että laitteeseen jäi vielä paljon parannettavaa. Laitteen heikko kielenymmärtäminen vaikeutti laitteen käytettävyyttä käyttöliittymätestien perusteella. Sanojen taivuttaminen oli haastava ongelma, ja juuri siksi laite ei hallitse suomen kieltä hyvin. Tällä oli vaikutusta ymmärrystesteissä käytettyjen testiaineistojen ymmärtämiseen. Kielenymmärrystestissä kävi ilmi tekoälyn suurimpia heikkouksia. Testien tulokset olisivat olleet parempia, jos ohjelma olisi ymmärtänyt monimutkaisempia, vaihtelevampia lauserakenteita. Ohjelman rajoittaminen pelkästään käsitteiden opettamiseen kolmisanaisilla lauseilla vaikuttaa valtavasti mahdollisuuteen opettaa ohjelmaa oikeilla teksteillä. Erisnimien ja Kotuksen sanalistasta puuttuvien sanojen osaamattomuus vaikuttivat myös ymmärrykseen. Verkkotesteistä voidaan päätellä, että verkon toteutus oli onnistunut hyvin. Laite osasi hyödyntää verkosta löytyviä muita toteutuksia oppimalla niiden lähettämistä viesteistä. Verkon toteutuksessa päästiin sille tasolle, mitä oli suunniteltu ja ehkä hieman sen ylikin. Yleisesti voidaan todeta, että projekti sujui melko hyvin. Kenelläkään ryhmän jäsenellä ei ollut aiempaa kokemusta näin laajasta projektista, joten projektin aikana opittiin paljon projektinhallinnasta kantapään kautta. Suurimpana ongelmana projektissa oli hieman heikoksi jäänyt suunnittelu. Moni asia jouduttiin toteuttamaan uudelleen, koska suunnitelmat eivät olleet tarpeeksi tarkat. Lopputuloksena voidaan kuitenkin todeta, että jatkokehittelyllä laite toimisi paremmin ja selviytyisi sujuvammin käyttötesteistä.

26 26 5. PROJEKTIN KUVAUS Ensimmäinen vaihe projektin alussa oli ryhmän muodostaminen. Ryhmä yritettiin muodostaa henkilöistä, joilla oli samanlaiset tavoitteet ja osaamistaso. Tämä kävi varsin helposti, ja todellinen työ päästiin aloittamaan heti. Projekti oli laaja, joten työn jakaminen oli tärkeää. Lisäksi ajankäyttöä seurattiin ja tuntimäärät laskettiin jokaiselle ryhmänjäsenelle erikseen Työnjako Projektin alussa tutustuttiin aiheeseen etsimällä sopivia lähteitä. Lähteitä lukemalla saatiin taustatietoa aiheesta ja käsitys siitä, mitä lähdetään tekemään. Taustatutkimuksen jälkeen toteutettiin SNMP-protokolla. Tämä tehtiin yhdessä, koska työnjako oli hankalaa. Kun SNMP-protokolla oli saatu toimimaan, voitiin aloittaa laitteen muiden toimintojen toteuttaminen. Työ jaettiin kolmeen osaan: jäsentelijään, tietokantaan ja verkkopuoleen. Jako oli toimiva, ja kun jokainen oli työstänyt omia osa-alueitaan, toteutus yhdistettiin kokonaisuudeksi. Yhdistämisen jälkeen työnjako tehtiin uudelleen. Toteutus jaettiin siten, että kaksi ryhmän jäsentä työskenteli tekoälyn sekä jäsentelijän parissa ja yksi työsti tietokantaa sekä verkkopuolta. Projektin alussa rakennettu verkkopuoli piti toteuttaa kokonaan uudestaan, koska se ei enää kattanut tekoälyn kaikkia tarpeita. Dokumentaation kirjoittamisen työnjako ei ollut tarkka. Jokainen osallistui dokumentaation kirjoittamiseen, mutta se, joka kirjoitti vähemmän, ohjelmoi enemmän ja päinvastoin. Tällä tavalla työnjako on kokonaisuudessaan onnistunut hyvin Ajankäyttö Ajankäyttö on jakautunut ryhmäläisten kesken seuraavalla tavalla: Taulukko 2. Henkilökohtaiset tuntijakaumat Kehitys Tutkimus Yhteensä Karppinen Lyttinen Nikula Yhteensä

27 Tunnit Kehitys Tutkimus Yhteensä Karppinen Lyttinen Nikula Kuva 7. Tuntien jakautuminen eri osa-alueille. Tutkimus (209 tuntia) 33% 67% Kehitys (429 tuntia) Kuva 8. Projektiin kuluneiden tuntien jakautuminen eri tehtäviin

28 28 6. TULEVA KEHITYS Tulevaisuudessa laitetta voitaisiin kehittää monella tapaa. Toteutuksessa suurimpina puutteina havaittiin suomen kielen lauserakenteiden ymmärtäminen, sanojen taivuttaminen, lähteen luotettavuuden arviointi ja ristiriitojen ratkominen. Näihin puutteisiin toivottaisiin tulevaisuudessa löytyvän parannusta. Laitteen luonnollisen kielen ymmärtämistä voisi kehittää sille tasolle, että se ymmärtäisi täysin erilaisia lauserakenteita. Olisi hyvä, jos laite ymmärtäisi monella eri tavalla kirjoitettuja suomenkielisiä lauseita. Laite voisi esimerkiksi tunnistaa verbit ja niiden perusteella kehittää omaa tietämystään. Tällä hetkellä laite ymmärtää vain olla-verbin, mutta sen lisäksi se voisi ymmärtää esimerkiksi osata-, voida-, pitää- sekä omistaaverbit. Näiden verbien avulla laite pystyisi oppimaan monipuolisia virkeyhdistelmiä, kuten Isäntä omistaa koiran. Koira osaa haukkua ja se pitää uimisesta. Lauserakenteiden ymmärtämisen lisäksi hyvä kehityksen kohde olisi kyky taivuttaa sanat perusmuotoon. Suomen kielen sanoille on monenlaisia taivutuksia, ja niille on lukemattomia poikkeuksia. Kaikkien näiden taivutusten ja poikkeusten käsittely olisi hyvä ominaisuus laitteessa. Mikäli laite osaisi taivuttaa kaikki sanat perusmuotoon ja perusmuodosta takaisin tarvittavaan taivutusmuotoon, laitteen tietokanta säilyisi järjestyksessä. Tietokannassa tieto olisi vain perusmuodossa, ja kun laite tulostaisi käyttäjälle tietoa, se osaisi muodostaa kunnollisen suomen kielen lauseen taivuttaen sanat oikeaan muotoonsa. Jokaisella yhteisötunnuksella tulisi olla oma luotettavuusarvo, jota pystyisi laskemaan. Yhteisötunnuksen luotettavuusarvoa laskettaisiin silloin, kun laite huomaisi ristiriidan oman tietokantansa ja kyseisellä yhteisötunnuksella lähetetyn informaation kanssa. Luotettavuusarvoa voitaisiin hyödyntää myös silloin, kun verkosta saapuisi monta erilaista vastausta kysymykseen ja näissä vastauksissa olisi ristiriitaista tietoa. Tällöin laite voisi katsoa lähteen luotettavuuden jokaisen vastauksen yhteisötunnuksen perusteella ja ratkoa ristiriidat siten, ettei epäluotettava tieto päätyisi tietokantaan ollenkaan. Ristiriitoja voitaisiin ratkoa myös tietokannassa. Kun tietokantaan olisi karttunut tarpeeksi tietoa, laite voisi oikeellistaa tietokannan ajon aikana. Oikeellistamisessa laite kävisi tietokannan läpi ja etsisi sieltä samankaltaisuuksia sekä ristiriitoja. Mikäli samankaltaisuutta ja ristiriitoja löytyisi, laite muokkaisi tietokantaa eheämmäksi ja samalla poistaisi sellaista tietoa, joka olisi tullut yhteisötunnukselta, jolla olisi muokkaamishetkellä huono luotettavuusarvo. Tällä tavalla varmennettaisiin se, että tietokannan sisältö pysyisi luotettavana myös silloin, jos jokin yhteisötunnus on aluksi syöttänyt väärää tietoa. Kyseisen yhteisötunnuksen antama tieto poistettaisiin myöhemmin, jos yhteisötunnuksen luotettavuusarvo olisi heikentynyt huomattavasti. Mikäli laite ei itse osaisi ratkaista ristiriitatilannetta, se voisi kysyä käyttäjältä neuvoa. Tällainen tapaus olisi esimerkiksi se, jos kahdella eri lähteellä olisi sama luotettavuusarvo mutta silti niiltä tullut tieto olisi ristiriitaista. Tämänkaltaisissa tilanteissa uskottaisiin aina ensisijaisesti käyttäjää. Näillä muutoksilla laite toimisi paremmin ja samalla tietokanta säilyisi eheämpänä. Laitteen käytettävyys myös paranisi, kun suomen kielen sanasto ja lauserakenteet olisivat paremmin käsiteltävissä. Lisäksi laitteen tekoäly toimisi järkevämmin, kun se osaisi käsitellä monenlaisia lauserakenteita.

29 29 7. YHTEENVETO Tässä työssä tehtiin oppiva tekoäly sulautetulle järjestelmälle. Oppivan tekoälyn toteutukseen käytettiin semanttista muistia. Semanttinen muisti luotiin puumalliseen tietokantaan, joka käsittelee asioiden relaatioita. Tietokannan luomiseen tehtiin luonnollista kieltä tunnistavia funktioita, jotka jäsentelevät tietoa ja tallentavat sen tietokantaan. Puumallimenetelmä valittiin sen yksinkertaisen toteutuksen vuoksi. Työn ratkaisu on verrattain yksinkertainen, mutta siitä huolimatta laite selviytyi tietorakenne- ja verkkotesteistä hyvin. Ratkaisussa käytettiin hyväksi jonkin verran aiempia tutkimuksia, mutta suurimmilta osin laite suunniteltiin kokonaan itse. Työn parhaimpina puolina voidaan ehdottomasti pitää tietorakenteen ja verkon toteutusta. Tietokannan tekeminen alusta alkaen itse oli haastavaa mutta samalla kannattavaa. Tällä tavalla saatiin luotua juuri sellainen tietokanta, jota laite osasi hyödyntää mahdollisimman hyvin. Tietokantatestien perusteella voidaan todeta, että tieto tallentui järkevästi puurakenteeseen. Tietokannan rakenne oli selkeä sen yksinkertaisuuden vuoksi. Tiedot tallentuivat tietokantaan hierarkkisesti olla-relaation mukaan. Tietokantaan pystyi myös syöttämään valtavan määrän tietoa ilman, että tietorakenne olisi mennyt sekaisin. Tietokanta selviytyi siis hyvin rasitustesteistä. Verkon toteutus onnistui myös hyvin. Testien perusteella laite oppi uusia asioita verkosta ja osasi vastata muiden toteutusten verkkokyselyihin. Verkon paras puoli oli puskuroinnin toteutus. Laite ei missään vaiheessa mennyt sekaisin liian vilkkaasta verkkoliikenteestä, vaan se käsitteli viestit kaikessa rauhassa puskurista. Verkon toiminta oli siis varmaa ja luotettavaa. Vaikka laitteeseen jäi vielä parannuksen varaa ennen kaikkea suomenkielisten lauserakenteiden jäsentelyssä ja sanojen taivuttamisessa, voidaan siitä huolimatta todeta, että kokonaisuutena työ on hyvin onnistunut. Työssä saatiin toteutettua lähes alkuperäisen suunnitelman kaltaiset ominaisuudet. Ryhmän jäsenet pääsivät tavoitteeseensa ja saivat projektin valmiiksi aikataulussaan.

30 30 8. LÄHTEET [1] Ayres A.J. Sensory integration and the child. Western Psychological Services, Los Angeles, California, p. [2] Juntunen J. (2000) Aivot työssä. Duodecim 116, p [3] Muistiliitto (accessed ), Alzheimer centralförbundet. URL: [4] Dubuc B. (accessed ), The brain from top to bottom. URL: http: //thebrain.mcgill.ca/flash/index_a.html. [5] Russel S.J. & Norvig P. (2003) Artificial intelligence : a modern approach. Prentice Hall, Upper Saddle River, NJ, second ed. [6] MCF III I. (accessed ), Artificial intelligence embedded toys and dolls. URL: [7] Nilsson N.J. (1982) Principles of artificial intelligence. Springer, Berlin. [8] Haugeland J. (1985) Artificial Intelligence: The Very Idea. MIT Press, Cambridge, Massachusetts. [9] Kurzweil R. (1990) The Age of Intelligent Machines. MIT Press, Cambridge, Massachusetts. [10] Charniak E. & McDermott C. (1985) Introduction to Artificial Intelligence. Addison-Wesley, Reading, Massachusetts. [11] Luger G.F. & Stubblefieldl W.A. (1993) Artificial Intelligence: Structures and Strategies for Complex Problem Solving. Benjamin/Cummings, Redwood City, California. [12] A. Newell H. A. Simon J.C.S. (1959) Snort - lightweight intrusion detection for networks. In: Proceedings of the International Conference on Information Processing, p [13] Szymanski J., Sarnatowicz T. & Duch W. (2007), Towards avatars with artificial minds: Role of semantic memory. URL: [14] Collins A.M. & Quillan M.R. (1969) Retrieval time from semantic memory. Journal of Verbal Learning and Verbal Behavior 8. [15] Zhuge H. (2007) Autonomous semantic link networking model for the knowledge grid. Concurrency and Computation: Practice and Experience 19, pp [16] Chowdhury G.G. (2005) Natural language processing. Annual Review of Information Science and Technology 37, pp [17] Liddy E.D. (2001) Encyclopedia of Library and Information Science. Marcel Decker, Inc., Redwood City, California.

Alkukartoitus Opiskeluvalmiudet

Alkukartoitus Opiskeluvalmiudet Alkukartoitus Opiskeluvalmiudet Päivämäärä.. Oppilaitos.. Nimi.. Tehtävä 1 Millainen kielenoppija sinä olet? Merkitse rastilla (x) lauseet, jotka kertovat sinun tyylistäsi oppia ja käyttää kieltä. 1. Muistan

Lisätiedot

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin?

Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Yhteentoimivuusalusta: Miten saadaan ihmiset ja koneet ymmärtämään toisiaan paremmin? Avoin verkkoalusta ihmisen ja koneen ymmärtämien tietomääritysten tekemiseen Riitta Alkula 20.3.2019 Esityksen sisältö

Lisätiedot

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat

Kieli merkitys ja logiikka. 2: Helpot ja monimutkaiset. Luento 2. Monimutkaiset ongelmat. Monimutkaiset ongelmat Luento 2. Kieli merkitys ja logiikka 2: Helpot ja monimutkaiset Helpot ja monimutkaiset ongelmat Tehtävä: etsi säkillinen rahaa talosta, jossa on monta huonetta. Ratkaisu: täydellinen haku käy huoneet

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

Berlitzin taitotaso 1 CEF-taso A 1

Berlitzin taitotaso 1 CEF-taso A 1 t Berlitzin taitotaso 1 CEF-taso A 1 Ymmärtää ja osaa käyttää tuttuja, jokapäiväisiä ilmauksia ja yksinkertaisia lauseita. Osaa esitellä itsensä ja kysyä muilta perustietoja kuten asuinpaikkaa, vointia

Lisätiedot

Pääkaupunkiseudun kuntien päivähoidon asiakaskysely 2011

Pääkaupunkiseudun kuntien päivähoidon asiakaskysely 2011 Pääkaupunkiseudun kuntien päivähoidon asiakaskysely 2011 Kyselyn tavoite ja toteutus Kyselyssä selvitettiin päivähoidossa olevien lasten vanhempien arvioita lapsensa päivähoidosta pääkaupunkiseudun neljässä

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

ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015

ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015 ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015 Sisältö ARVI-menettelyn perusteet... 1 Arvioinnin syöttäminen... 2 Arvion lähettäminen TE-toimistoon... 5 Sovelluksen sulkeminen... 6 Virhetilanteiden

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Yllättävän, keskustelun aikana puhkeavan ristiriidan käsittely

Yllättävän, keskustelun aikana puhkeavan ristiriidan käsittely Yllättävän, keskustelun aikana puhkeavan ristiriidan käsittely TOIMI NÄIN Pysäytä keskustelu hetkeksi ja sanoita havaitsemasi ristiriita. Kysy osallistujilta, mitä he ajattelevat havainnostasi. Sopikaa

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

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

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole.

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole. 1 Unelma-asiakas Ohjeet tehtävän tekemiseen 1. Ota ja varaa itsellesi omaa aikaa. Mene esimerkiksi kahvilaan yksin istumaan, ota mukaasi nämä tehtävät, muistivihko ja kynä tai kannettava tietokone. Varaa

Lisätiedot

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla: a) käytettävyys b) käyttäjäkeskeinen suunnittelu c) luonnollinen kieli

Lisätiedot

Tutkiva Oppiminen Varhaiskasvatuksessa. Professori Lasse Lipponen PED0031, VARHAISPEDAGOGIIKKA

Tutkiva Oppiminen Varhaiskasvatuksessa. Professori Lasse Lipponen PED0031, VARHAISPEDAGOGIIKKA Tutkiva Oppiminen Varhaiskasvatuksessa Professori Lasse Lipponen 09.10.2017 PED0031, VARHAISPEDAGOGIIKKA Hakkarainen K., Lonka K. & Lipponen L. (1999) Tutkiva oppiminen. Älykkään toiminnan rajat ja niiden

Lisätiedot

Hops-ohjaajan ohje Opiskelijan hopsit.

Hops-ohjaajan ohje Opiskelijan hopsit. Hops-ohjaajan ohje Tässä ohjeessa kuvataan kaksi erilaista tapaa hakea tietyn opiskelijan lähettämä hops. Ensin ohjeistetaan miten toimitaan, jos hopsin ryhmätyökalu on käytössä, eli ohjaajalle on luotu

Lisätiedot

Sanaluokkajäsennystä rinnakkaisilla transduktoreilla

Sanaluokkajäsennystä rinnakkaisilla transduktoreilla Sanaluokkajäsennystä rinnakkaisilla transduktoreilla Nykykielten laitos FIN-CLARIN-seminaarissa 4. marraskuuta 2010 Sanaluokkajäsennys Mr. Gelbert also has fun with language. NNP NNP RB VBZ NN IN NN. Sanaluokkajäsennin

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut 1. Palautetaan vielä mieleen O-notaation määritelmä. Olkoon f ja g funktioita luonnollisilta luvuilta positiivisille

Lisätiedot

Matematiikan didaktiikka, osa II Algebra

Matematiikan didaktiikka, osa II Algebra Matematiikan didaktiikka, osa II Algebra Sarenius Kasvatustieteiden tiedekunta, Oulun yksikkö Mitä on algebra? Algebra on aritmetiikan yleistys. Algebrassa siirrytään operoimaan lukujen sijaan niiden ominaisuuksilla.

Lisätiedot

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausraportti Orava Helsinki 5.5.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Juhani Bergström Peter

Lisätiedot

Tekoäly ja sen soveltaminen yrityksissä. Mika Rantonen

Tekoäly ja sen soveltaminen yrityksissä. Mika Rantonen Tekoäly ja sen soveltaminen yrityksissä Mika Rantonen Tekoäly- paljon puhetta, mistä kyse? Lyhyesti sanottuna: tekoäly on sellaista koneen tekemää toimintaa, joka ihmisen tekemänä olisi älykästä Otetaan

Lisätiedot

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

SOVELLUSPROJEKTIN ARVIOINTILOMAKE SOVELLUSPROJEKTIN ARVIOINTILOMAKE Arviointilomake on tarkoitettu Sovellusprojektin vastaavan ohjaajan arvioinnin tueksi, eikä sillä siten tule korvata erillistä projektilausuntoa. Useaa arviointikohtaa

Lisätiedot

Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs

Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs ja jos voi, niin tulisiko sellainen rakentaa? 2012-2013

Lisätiedot

Asiakas ja tavoite. Tekninen toteutus

Asiakas ja tavoite. Tekninen toteutus Asiakas ja tavoite Heikieli on vuonna 2015 perustettu yhden hengen asiantuntijayritys, joka tarjoaa käännös- ja oikolukupalveluita englannista ja saksasta suomeksi. Freelance-kääntäjiä on Suomessa paljon,

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS LUONNOLLISEN KIELEN KÄSITTELY (NATURAL LANGUAGE PROCESSING, NLP) TEKOÄLYSOVELLUKSET, JOTKA LIITTYVÄT IHMISTEN KANSSA (TAI IHMISTEN VÄLISEEN) KOMMUNIKAATIOON, OVAT TEKEMISISSÄ

Lisätiedot

Aineistoista. Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin

Aineistoista. Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin Aineistoista 11.2.09 IK Laadulliset menetelmät: miksi tarpeen? Haastattelut, fokusryhmät, havainnointi, historiantutkimus, miksei videointikin Muotoilussa kehittyneet menetelmät, lähinnä luotaimet Havainnointi:

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Monivalinta Monivalintatehtävässä opiskelija valitsee vastauksen valmiiden vastausvaihtoehtojen joukosta. Tehtävään voi olla yksi tai useampi oikea vastaus. Varmista, että

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

FI3 Tiedon ja todellisuuden filosofia LOGIIKKA. 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan:

FI3 Tiedon ja todellisuuden filosofia LOGIIKKA. 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan: LOGIIKKA 1 Mitä logiikka on? päättelyn tiede o oppi muodollisesti pätevästä päättelystä 1.1 Logiikan ymmärtämiseksi on tärkeää osata erottaa muoto ja sisältö toisistaan: sisältö, merkitys: onko jokin premissi

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

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola

Liikehavaintojen estimointi langattomissa lähiverkoissa. Diplomityöseminaari Jukka Ahola Liikehavaintojen estimointi langattomissa lähiverkoissa Diplomityöseminaari Jukka Ahola ESITYKSEN SISÄLTÖ Työn tausta Tavoitteen asettelu Johdanto Liikehavaintojen jakaminen langattomassa mesh-verkossa

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

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

OMINAISUUS- JA SUHDETEHTÄVIEN KERTAUS. Tavoiteltava toiminta: Kognitiivinen taso: Ominaisuudet ja suhteet -kertaus

OMINAISUUS- JA SUHDETEHTÄVIEN KERTAUS. Tavoiteltava toiminta: Kognitiivinen taso: Ominaisuudet ja suhteet -kertaus Harjoite 12: Tavoiteltava toiminta: Materiaalit: OMINAISUUS- JA SUHDETEHTÄVIEN KERTAUS Kognitiivinen taso: Ominaisuudet ja suhteet -kertaus Toiminnan tavoite ja kuvaus: Oppilaat ratkaisevat paperi- ja

Lisätiedot

Tavoite Opiskelija osaa käyttää englannin kielen rakenteita, hallitsee kielen perusilmaukset ja ymmärtää opiskelijan arkielämään liittyvää kieltä

Tavoite Opiskelija osaa käyttää englannin kielen rakenteita, hallitsee kielen perusilmaukset ja ymmärtää opiskelijan arkielämään liittyvää kieltä Kuvaukset 1 (6) Englanti, Back to basics, 1 ov (YV3EN1) Tavoite osaa käyttää englannin kielen rakenteita, hallitsee kielen perusilmaukset ja ymmärtää opiskelijan arkielämään liittyvää kieltä Teemat ja

Lisätiedot

Alberta Language and Development Questionnaire (ALDeQ) A. Varhaiskehitys Lapsen nimi

Alberta Language and Development Questionnaire (ALDeQ) A. Varhaiskehitys Lapsen nimi Alberta Language and Development Questionnaire (ALDeQ) A. Varhaiskehitys Lapsen nimi 1. Milloin lapsenne otti ensiaskeleensa? 2. Minkä ikäisenä lapsenne sanoi ensisanansa? Esimerkkejä ensisanoista (käännöksineen):

Lisätiedot

Luento 4. Timo Savola. 21. huhtikuuta 2006

Luento 4. Timo Savola. 21. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 4 Timo Savola 21. huhtikuuta 2006 Osa I Shell Lausekkeet Komentoriville kirjotettu komento on lauseke echo "foo" echo $USER MUUTTUJA=1 ls -l Rivinvaihto

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Cover letter and responses to reviewers

Cover letter and responses to reviewers Cover letter and responses to reviewers David E. Laaksonen, MD, PhD, MPH Department of Medicine Kuopio University Hospital Kuopio, Finland Luennon sisältö Peer review Vinkit vastineiden kirjoittamista

Lisätiedot

VAPAASTI VALITTAVIEN TUTKINNON OSIEN OSAAMISEN ARVIOINNIN SUUNNITELMA 27.10.2009

VAPAASTI VALITTAVIEN TUTKINNON OSIEN OSAAMISEN ARVIOINNIN SUUNNITELMA 27.10.2009 VAPAASTI VALITTAVIEN TUTKINNON OSIEN OSAAMISEN ARVIOINNIN SUUNNITELMA 27.10.2009 K-MESTARIMYYJÄKOULUTUS, 1 ov 1. Ilmoittautuminen linjakohtaisesti Mestarimyyjäkoulutukseen ilmoittutumisajan puitteissa

Lisätiedot

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri Palomuuri Teoriaa Palomuurin tehtävä on estää ei-toivottua liikennettä paikalliseen verkkoon tai verkosta. Yleensä tämä tarkoittaa, että estetään liikennettä Internetistä paikallisverkkoon tai kotikoneelle.

Lisätiedot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään

Lisätiedot

Kiipulan ammattiopisto. Liiketalous ja tietojenkäsittely. Erja Saarinen

Kiipulan ammattiopisto. Liiketalous ja tietojenkäsittely. Erja Saarinen Kiipulan ammattiopisto Liiketalous ja tietojenkäsittely Erja Saarinen 2 Sisällysluettelo 1. Johdanto... 3 2. Hyvät internetsivut... 3 3. Kuvien koko... 4 4. Sivujen lataus... 4 5. Sivukartta... 5 6. Sisältö...

Lisätiedot

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen.

Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia, niin A on rekursiivinen. Lause: Tyhjyysongelma ei ole osittain ratkeava; ts. kieli ei ole rekursiivisesti lueteltava. L e = { w { 0, 1 } L(M w ) = } Todistus: Aiemmin esitetyn mukaan jos A ja A ovat rekursiivisesti lueteltavia,

Lisätiedot

portfolion ohjeet ja arviointi

portfolion ohjeet ja arviointi 2015 portfolion ohjeet ja arviointi EIJA ARVOLA (5.10.2015) 2 Sisällysluettelo 1. TYÖPORTFOLIO (ei palauteta opettajalle)... 3 2. NÄYTEPORTFOLIO (palautetaan opettajalle)... 3 3. NÄYTEPORTFOLION SISÄLLÖN

Lisätiedot

Suomen kielen Osaamispyörä -työkalu

Suomen kielen Osaamispyörä -työkalu Suomen kielen Osaamispyörä -työkalu Tavoitteet Kohderyhmät Käyttö Suomen kielen Osaamispyörän tavoitteena on tehdä näkyväksi maahanmuuttajataustaisten työntekijöiden suomen kielen osaamista. Osaamispyörä

Lisätiedot

Mikä ihmeen Global Mindedness?

Mikä ihmeen Global Mindedness? Ulkomaanjakson vaikutukset opiskelijan asenteisiin ja erilaisen kohtaamiseen Global Mindedness kyselyn alustavia tuloksia Irma Garam, CIMO LdV kesäpäivät 4.6.2 Jun- 14 Mikä ihmeen Global Mindedness? Kysely,

Lisätiedot

Reaaliaineiden ja äidinkielen työpaja

Reaaliaineiden ja äidinkielen työpaja Reaaliaineiden ja äidinkielen työpaja Reaalikokeiden rakenne Äidinkielen suunnitelmia Matematiikan suunnitelmia Vieraidenkielten suunnitelmia ylioppilastutkinto.fi digabi.fi Reaalikokeet Osaamisen eri

Lisätiedot

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille KServer Etäohjaus 1 (5) KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille Palvelimen toteutuksen ollessa versio 1.0, spesifikaation versio 1.0.0. 2009, Riku Eskelinen/ KServer Software Development

Lisätiedot

FyKe-Mopin opettajanohje

FyKe-Mopin opettajanohje 1 FyKe-Mopin opettajanohje Ohjelma jakautuu aihepiireittäin Opiskelen ja opin ja Testi osioihin. Miten saan FyKe-Mopin nopeasti käyttöön? Ensimmäisenä on ohjelma asennettava joko yksittäiselle koneelle

Lisätiedot

Tentti erilaiset kysymystyypit

Tentti erilaiset kysymystyypit Tentti erilaiset kysymystyypit Kysymystyyppien kanssa kannatta huomioida, että ne ovat yhteydessä tentin asetuksiin ja erityisesti Kysymysten toimintatapa-kohtaan, jossa määritellään arvioidaanko kysymykset

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

Osaava henkilöstö kotouttaa kulttuurien välisen osaamisen arviointi. Työpaja 8.5.2014 Hämeenlinna

Osaava henkilöstö kotouttaa kulttuurien välisen osaamisen arviointi. Työpaja 8.5.2014 Hämeenlinna Osaava henkilöstö kotouttaa kulttuurien välisen osaamisen arviointi Työpaja 8.5.2014 Hämeenlinna Osaamisen arviointi Osaamisen arvioinnin tavoitteena oli LEVEL5:n avulla tunnistaa osaamisen taso, oppiminen

Lisätiedot

Eväitä yhteistoimintaan. Kari Valtanen Lastenpsykiatri, VE-perheterapeutti Lapin Perheklinikka Oy

Eväitä yhteistoimintaan. Kari Valtanen Lastenpsykiatri, VE-perheterapeutti Lapin Perheklinikka Oy Eväitä yhteistoimintaan Kari Valtanen Lastenpsykiatri, VE-perheterapeutti Lapin Perheklinikka Oy 3.10.2008 Modernistinen haave Arvovapaa, objektiivinen tieto - luonnonlaki Tarkkailla,tutkia ja löytää syy-seuraussuhteet

Lisätiedot

opiskelijan ohje - kirjautuminen

opiskelijan ohje - kirjautuminen opiskelijan ohje - kirjautuminen estudio on Edupolin kehittämä e-oppimisympäristö koulutusryhmän verkkoalustana perinteisen luokkaopetuksen tukena. etäopiskelussa ja -opetuksessa kotoa tai työpaikalta.

Lisätiedot

Osaamispisteet. Vapaasti valittava

Osaamispisteet. Vapaasti valittava Hyväksymismerkinnät 1 (5) Ammattiopiskelun S2 3 osp Osaaminen arvioidaan opiskelijan keräämän oman alan sanaston sekä portfolion avulla. Oman alan sanavaraston Tekstien ymmärtäminen Luku- ja opiskelustrategioiden

Lisätiedot

Osallistavan suunnittelun kyselytyökalu

Osallistavan suunnittelun kyselytyökalu Osallistavan suunnittelun kyselytyökalu Käyttöohje InnoGIS- hankkeen aikana kehitetylle pilottiversiolle Dokumentti sisältää pilottiversiona toimivan kyselyn laatimiseen ja vastaamiseen liittyvän ohjeistuksen.

Lisätiedot

Automaattinen semanttinen annotointi

Automaattinen semanttinen annotointi Automaattinen semanttinen annotointi Matias Frosterus, Reetta Sinkkilä, Katariina Nyberg Semantic Computing Research Group (SeCo) School of Science and Technology, Department of Media Technology and University

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

Rajoittamattomat kieliopit (Unrestricted Grammars)

Rajoittamattomat kieliopit (Unrestricted Grammars) Rajoittamattomat kieliopit (Unrestricted Grammars) Laura Pesola Laskennanteorian opintopiiri 13.2.2013 Formaalit kieliopit Sisältävät aina Säännöt (esim. A -> B C abc) Muuttujat (A, B, C, S) Aloitussymboli

Lisätiedot

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Miika Nurminen (minurmin@jyu.fi) Jyväskylän yliopisto Tietotekniikan laitos Kalvot ja seminaarityö verkossa: http://users.jyu.fi/~minurmin/gradusem/

Lisätiedot

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma: Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.

Lisätiedot

oppimisella ja opiskelemisella

oppimisella ja opiskelemisella MITÄ ON OPPIMINEN? Miten, milloin ja missä ihminen oppii esim. suomen kieltä? Miten huomaat, että olet oppinut jotain? Mikä ero on oppimisella ja opiskelemisella? Mikä on PASSIIVISTA OPPIMISTA AKTIIVISTA

Lisätiedot

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin perusteet, syksy 2006 Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen

Lisätiedot

VASTAANOTTOKESKUSTEN ASIAKASPALAUTTEEN YHTEENVETO

VASTAANOTTOKESKUSTEN ASIAKASPALAUTTEEN YHTEENVETO YHTEENVETO 5.9.2013 VASTAANOTTOKESKUSTEN ASIAKASPALAUTTEEN YHTEENVETO Taustaa Aikuisten turvapaikanhakijoiden asiakaspalautekysely järjestettiin 17 vastaanottokeskuksessa loppukeväällä 2013. Vastaajia

Lisätiedot

2.3 Virheitä muunnosten käytössä

2.3 Virheitä muunnosten käytössä 2.3 Virheitä muunnosten käytössä Esimerkissä 1 yhtälönratkaisuprosessi näytetään kokonaisuudessaan. Yhtälön rinnalla ovat muunnokset ja sanallinen selitys, johon oppilaat täydentävät esimerkissä käytetyt

Lisätiedot

SUOMI L3-KIELEN OSAAMISTASON KUVAUKSET yläkoulu ja lukio

SUOMI L3-KIELEN OSAAMISTASON KUVAUKSET yläkoulu ja lukio Schola Europaea Office of the Secretary-General Pedagogical Development Unit Ref.: 2017-01-D-38-fi-3 Orig.: EN SUOMI L3-KIELEN OSAAMISTASON KUVAUKSET yläkoulu ja lukio Language III attainment descriptors

Lisätiedot

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 4 OP PERIODI 1: 6.9.2012-12.10.2012 (6 VIIKKOA) LUENNOT (B123, LINUS TORVALDS -AUDITORIO): TO 10-12, PE 12-14 LASKUHARJOITUKSET

Lisätiedot

Kulttuuritaidot Oppilas oppii tuntemaan Ranskaa ja ranskankielisiä alueita ranskankielisille kulttuureille ominaisia tapoja ja kohteliaisuussääntöjä

Kulttuuritaidot Oppilas oppii tuntemaan Ranskaa ja ranskankielisiä alueita ranskankielisille kulttuureille ominaisia tapoja ja kohteliaisuussääntöjä Ylöjärven opetussuunnitelma 2004 B2 RANSKA VUOSILUOKKA: 8 VUOSIVIIKKOTUNTEJA: 2 Tavoitteet ymmärtämään erittäin selkeästi puhuttuja tai kirjoitettuja lyhyitä viestejä viestintää tavallisimmissa arkielämän

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Yhteentoimiva.suomi.fi - palvelukokonaisuuden ja työkalujen esittely

Yhteentoimiva.suomi.fi - palvelukokonaisuuden ja työkalujen esittely Yhteentoimiva.suomi.fi - palvelukokonaisuuden ja työkalujen esittely Petri Tenhunen 6.3.2019 Esityksen sisältö Lyhyt oppimäärä Yhteentoimivuus ja semanttinen yhteentoimivuus Yhteentoimivuusalusta Sanastot-työkalu

Lisätiedot

Tieteellisen artikkelin kirjoittaminen ja julkaiseminen

Tieteellisen artikkelin kirjoittaminen ja julkaiseminen Tieteellisen artikkelin kirjoittaminen ja julkaiseminen Dosentti Mikko Ketola Kirkkohistorian laitos Workshop tohtorikurssilla toukokuussa 2008 Teologinen tiedekunta Workshopin sisältö Miksi kirjoittaa

Lisätiedot

LAITTEISTOKOKOONPANON SELVITTÄMINEN JA AJURIEN ASENTAMINEN

LAITTEISTOKOKOONPANON SELVITTÄMINEN JA AJURIEN ASENTAMINEN LAITTEISTOKOKOONPANON SELVITTÄMINEN JA AJURIEN ASENTAMINEN Oma tietokone -valintaa klikkaamalla hiiren oikeanpuoleisella näppäimellä, saadaan näkyviin laitteistokokoonpano Ominaisuudet laitteisto -valinnalla:

Lisätiedot

Yhdyssana suomen kielessä ja puheessa

Yhdyssana suomen kielessä ja puheessa Yhdyssana suomen kielessä ja puheessa Tommi Nieminen Jyväskylän yliopisto Anna Lantee Tampereen yliopisto 37. Kielitieteen päivät Helsingissä 20. 22.5.2010 Yhdyssanan ortografian historia yhdyssanan käsite

Lisätiedot

Turvallisuuden kehittämishanke Hakarinteen peruskoulussa

Turvallisuuden kehittämishanke Hakarinteen peruskoulussa Turvallisuuden kehittämishanke Hakarinteen peruskoulussa Anis, Daniel Piirainen, Ilkka 2011 Leppävaara 2 Laurea-ammattikorkeakoulu Leppävaara Johdanto opinnäytetyöhön ja yhteenveto Anis, Daniel. Piirainen,

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Työpaja Työpaja on vertaisarviointiin soveltuva työkalu. Työpaja mahdollistaa töiden palautuksen ja niiden jakelun opiskelijoiden arvioitavaksi sekä arvioinnin antamisen. Laita Muokkaustila päälle ja lisää

Lisätiedot

Heuristisen arvioinnin muistilista - lyhyt versio

Heuristisen arvioinnin muistilista - lyhyt versio Alla oleva kymmenkohtainen muistilista on sovellettu Jakob Nielsenin heuristisen arvioinnin muistilistasta (Nielsen, 1994), hyödyntäen Keith Instonen wwwpalveluiden arviointiin muokattua samaista listaa

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

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

MITÄ ON GEMBA-WALK? Janne Metsolahti Työnjohtaja YIT Infra Oy

MITÄ ON GEMBA-WALK? Janne Metsolahti Työnjohtaja YIT Infra Oy MITÄ ON GEMBA-WALK? Janne Metsolahti Työnjohtaja YIT Infra Oy janne.metsolahti@yit.fi MITÄ ON GEMBA-WALK? Sana gemba tulee japanin kielestä ja tarkoittaa todellista paikkaa, paikkaa jossa arvo tuotetaan

Lisätiedot

Eye Pal Solo. Käyttöohje

Eye Pal Solo. Käyttöohje Eye Pal Solo Käyttöohje 1 Eye Pal Solon käyttöönotto Eye Pal Solon pakkauksessa tulee kolme osaa: 1. Peruslaite, joka toimii varsinaisena lukijana ja jonka etureunassa on laitteen ohjainpainikkeet. 2.

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

E-kirjan kirjoittaminen

E-kirjan kirjoittaminen 1 E-kirjan kirjoittaminen Ohjeet e-kirjan kirjoittamiseen Tämän ohjeistuksen tavoitteena on auttaa sinua luomaan yksinkertainen e-kirja (pdftiedosto) asiakkaallesi. Kirja näyttää hänelle kuinka hyvin ymmärrät

Lisätiedot

1 Kannat ja kannanvaihto

1 Kannat ja kannanvaihto 1 Kannat ja kannanvaihto 1.1 Koordinaattivektori Oletetaan, että V on K-vektoriavaruus, jolla on kanta S = (v 1, v 2,..., v n ). Avaruuden V vektori v voidaan kirjoittaa kannan vektorien lineaarikombinaationa:

Lisätiedot

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen Enigmail-opas Enigmail on Mozilla Thunderbird ja Mozilla Seamonkey -ohjelmille tehty liitännäinen GPG-salausohjelmiston käyttöä varten. Sitä käytetään etenkin Thunderbirdin kanssa sähköpostin salaamiseen

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

STEP 1 Tilaa ajattelulle

STEP 1 Tilaa ajattelulle Työkalu, jonka avulla opettaja voi suunnitella ja toteuttaa systemaattista ajattelutaitojen opettamista STEP 1 Tilaa ajattelulle Susan Granlund Euran Kirkonkylän koulu ja Kirsi Urmson Rauman normaalikoulu

Lisätiedot

Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus

Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus Henri Kinnunen, Seppo Tompuri, Tero Malkki, Matti Heiskanen, Tommi Rönkönharju, Tuomas Valkeapää Sisällysluettelo 1. Alkusanat...2 2. Käyttötapaukset...2

Lisätiedot

Sosiaalinen Media organisaation kommunikoinnissa. Jukka Ruponen, IT Arkkitehti, Innovaattori

Sosiaalinen Media organisaation kommunikoinnissa. Jukka Ruponen, IT Arkkitehti, Innovaattori Sosiaalinen Media organisaation kommunikoinnissa Jukka Ruponen, IT Arkkitehti, Innovaattori Hiljaista tietoa syntyy kun yhteisöllistä keskustelua ja tiedonvaihtoa ei tapahdu vaan kommunikointi rajoittuu

Lisätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento

Lisätiedot

RAPORTTI 25.2.2011 SUORITETUISTA KÄYTETTÄVYYSTESTEISTÄ Luuppi-projekti

RAPORTTI 25.2.2011 SUORITETUISTA KÄYTETTÄVYYSTESTEISTÄ Luuppi-projekti RAPORTTI 25.2.2011 SUORITETUISTA KÄYTETTÄVYYSTESTEISTÄ Luuppi-projekti Saila Oldén 1. JOHDANTO Tässä raportissa kuvataan perjantaina 25.2.2011 Luuppi-projektin tiimoilta suoritettujen käytettävyystestien

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

Opiskelijoiden HOPSit

Opiskelijoiden HOPSit Opiskelijoiden HOPSit Ohje kommentoijalle ja hyväksyjälle/19.3.2014 Täydennetty ohjetta/2.1.2014: Lisätty tietoa opiskelijoiden lisäämisestä Omiin opiskelijoihin, mikä helpottaa HOPSien käsittelyä. Tarvittavat

Lisätiedot

KIELENOPPIJOITA TIEDONHANKINTA KESKIÖSSÄ KUUNTELEMALLA OPPIJA (AUDITIIVINEN) KIELEN KÄYTTÖ, VUOROVAIKUTUS NÄKEMÄLLÄ

KIELENOPPIJOITA TIEDONHANKINTA KESKIÖSSÄ KUUNTELEMALLA OPPIJA (AUDITIIVINEN) KIELEN KÄYTTÖ, VUOROVAIKUTUS NÄKEMÄLLÄ KIELENOPPIJOITA KIELEN KÄYTTÖ, VUOROVAIKUTUS TIEDONHANKINTA KESKIÖSSÄ KUUNTELEMALLA OPPIJA (AUDITIIVINEN) TEKEMÄLLÄ OPPIJA (KINESTEETTINEN) LUOVA KIELENKÄYTTÄJÄ HOLISTINEN OPPIJA (KOKONAISUUDET TÄRKEITÄ)

Lisätiedot

The OWL-S are not what they seem

The OWL-S are not what they seem The OWL-S are not what they seem...vai ovatko? Verkkopalveluiden koostamisen ontologia OWL-S Seminaariesitelmä 15.4.2013 Emilia Hjelm Internet on hankala Nykyinternet on dokumenttien verkko Asiat, joita

Lisätiedot

Global Mindedness kysely. Muuttaako vaihto-opiskelu opiskelijan asenteita? Kv päivät Tampere May- 14

Global Mindedness kysely. Muuttaako vaihto-opiskelu opiskelijan asenteita? Kv päivät Tampere May- 14 Global Mindedness kysely Muuttaako vaihto-opiskelu opiskelijan asenteita? Kv päivät Tampere 13.5. May- 14 Mistä olikaan kyse? GM mittaa, kuinka vastaajat suhtautuvat erilaisen kohtaamiseen ja muuttuuko

Lisätiedot