Luku 2. Ohjelmointi laskentana. 2.1 Laskento

Koko: px
Aloita esitys sivulta:

Download "Luku 2. Ohjelmointi laskentana. 2.1 Laskento"

Transkriptio

1 Luku 2 Ohjelmointi laskentana Funktio-ohjelmoinnin, olio-ohjelmoinnin ja käskyohjelmoinnin ero on löydettävissä niiden pohjalla olevista laskennan mallista. Automaattisen tietojenkäsittelyn yksi historiallinen lähtökohta on viime vuosisadan alkupuolen metamatemaatikkojen ja loogikkojen kysymys: voidaanko looginen ajattelu mekanisoida? Vastatakseen tähän kysymykseen Alonzo Church ja Alan Turing kehittivät toisistaan tietämättä mekaanisen laskennan mallit. Turingin malli on kaikille tuttu Turingin kone, Churchin malli tunnetaan nimellä λ-laskenta. Pian osoitettiin, että nämä ovat siinä suhteessa ekvivalentteja, että ne pystyvät ratkaisemaan täsmälleen samat ongelmat. Turingin konetta (tai oikeastaan sen sivistynyttä versiota, hajasaantikonetta) voidaan pitää von Neumannin koneen idealisaationa. Siinä mielessä se on käskyohjelmoinnin pohjalla oleva laskennan malli: tietoa käsitellään sana kerrallaan. Olio-ohjelmoinnin laskennan malli perustuu ajatukseen yhteistyössä toimivista olioista, jotka kommunikoivat keskenään. Funktio-ohjelmoinnin pohjalla oleva laskennan malli on laskento eli kalkyyli. Kynällä ja paperilla pyöritetään kaavoja: yritetään ennalta annettujen sääntöjen mukaisesti muuttaa kaava toiseen, yhtäpitävään muotoon. Perinteisesti näinä ennalta annettuina sääntöinä on funktio-ohjelmoinnissa pidetty λ-laskennan sääntöjä. Aloitamme kuitenkin yksinkertaisemmin. 2.1 Laskento Palataanpa hetkeksi peruskoulun (tai mitä koulua ikinä kävittekään, minä kävin Steinerin:) penkille ja mietitään laskentoa. 7

2 8 LUKU 2. OHJELMOINTI LASKENTANA Laskento on pohjimmiltaan symbolijonojen käsittelyä. Kun tehtäväksi annetaan laskea yhteen neljäkymmentäkaksi ja kaksikymmentäneljä, kirjoitetaan paperille symbolijono Tämän symbolijonon voi kirjoittaa myös muotoon (4, 2) + (2, 4) näin ei tosin koulussa koskaan kirjoitettu, mutta asiallisesti ottaen niin sitä siellä ajateltiin. Nyt sitten eräs laskennon sääntö sanoo, että tuo voidaan kirjoittaa muotoon (4 + 2, 2 + 4), ja eräs toinen sääntö ( yhteenlaskutaulu ) taas sallii tuon kirjoittamisen muotoon (6, 6), joka on totuttu kirjoittamaan muotoon 66. Palataanpa takaisin yliopistoon. Täällä yllä oleva saatettaisiin, jos laskentoa täällä opetettaisiin, kirjoittaa muotoon = (4, 2) + (2, 4) = (4 + 2, 2 + 4) = (6, 6) = 66 Yhtäsuuruusmerkki ( = ) ilmaisee, että vasen puoli saadaan sallitulla säännöllä oikeanpuolisesta. Mitkä nämä laskennon säännöt sitten ovat? Lähdetään ajatuksesta, että käytössämme on kaksi numeromerkkiä (siis operoimme binäärijärjestelmässä): 0 ja 1. Niiden tavanomaista merkitystä emme ajattele! paitsi silloin, kun valitsemme sääntöjä. Ne ovat vain merkkejä. Oletetaan, että numeromerkkien kirjoittaminen peräkkäin on vain lyhennysmerkintä sille, että ne erotetaan toisistaan pilkuilla. Oletetaan lisäksi, että pilkku assosioi vasemmalle: toisin sanoen 1, 0, 1 tarkoittaa (1, 0), 1. Nämä oletukset sanottuamme voimme asettaa seuraavat määritelmät: x = 0x (2.1) = 0 (2.2) = 1 (2.3) = 1 (2.4) = 10 (2.5) (x, 0) + (y, 0) = (x + y), 0 (2.6) (x, 0) + (y, 1) = (x + y), 1 (2.7) (x, 1) + (y, 0) = (x + y), 1 (2.8) (x, 1) + (y, 1) = (x + (y + 1)), 0 (2.9)

3 2.2. FUNKTIOT 9 Nyt voimmekin laskea sääntöjen mukaan: =(10101), 0 + (01100), 0 sääntö 2.6 =((1010), 1 + (0110), 0), 0 sääntö 2.8 =((101), 0 + (011), 0), 1, 0 sääntö 2.6 =((10), , 1), 0, 1, 0 sääntö 2.9 =(10 + (01 + 1)), 0, 0, 1, 0 sääntö 2.1 =(10 + (0, 1 + 0, 1)), 0, 0, 1, 0 sääntö 2.9 =(10 + (0 + (0 + 1)), 0), 0, 0, 1, 0 sääntö 2.3 =(10 + (0 + 1), 0), 0, 0, 1, 0 sääntö 2.3 =(1, 0 + 1, 0), 0, 0, 1, 0 sääntö 2.6 =(1 + 1), 0, 0, 0, 1, 0 sääntö 2.5 =1, 0, 0, 0, 0, 1, 0 = Näin tuli siis määriteltyä binääriluvuille yhteenlasku. Tämä tapahtui antamalla joukko yhtälöitä, joiden määrätään olevan voimassa. Voisimme määritellä muutakin 1 : x 0 = 0 x y = (x (y 1)) + x = + 1 Tästä lähtien käytämme normaaleja kymmenjärjestelmän lukuja; edellä käytiin binäärijärjestelmässä lähinnä määritelmien helpottamisen vuoksi. Samoin jätämme kirjoittamatta perusaritmetiikan välivaiheita. 2.2 Funktiot Voidaan myös määritellä funktioita: nelio x = x x Tässä nelio on funktion nimi. Kyseisen funktion ominaisuuden, että se ottaa yhden lukuparametrin ja palauttaa lukuarvon, kirjoitamme seuraavasti: nelio :: 1. Oletamme tässä, että vähennyslasku on määritelty erikseen.

4 10 LUKU 2. OHJELMOINTI LASKENTANA Tässä vaiheessa on syytä asettaa rajoitus, että funktion nimen perään tulee laskuissa aina kirjoittaa argumentti. Voimme laskea näillä määritelmillä yksinkertaisia laskuja: nelio (2 + 3) = nelio 5 = 5 5 = 25 Kannattaa huomata käytäntö, jota yllä käytimme: toisin kun matematiikassa yleensä, emme ympäröi funktion argumentteja suluilla, jos argumenttina on pelkkä luku tai muuttuja. Itse asiassa yhteenlaskukin voidaan ymmärtää funktiona: lisaa :: lisaa(x, y) = x + y Tavallisemmin tämä määritellään kuitenkin seuraavalla tyylillä, jota kutsutaan curryamiseksi Haskell B. Curryn mukaan mutta jonka oikeastaan keksi Moses Schönfinkel: lisaa :: lisaa x y = x + y Näitä myös käytetään eri tavoin: lisaa(1, 2) = 3 mutta lisaa 1 2 = 3. Itse asiassa operaattorit ylipäätään ovat myös funktioita. Haskellia seuraten otamme käyttöön seuraavat käytännöt. Jos operaattori kirjoitetaan yksin sulkeiden sisään, niin silloin operaattori muuttuu tavalliseksi funktioksi: 2+3 = 5 mutta (+) 2 3 = 5. Voidaankin kirjoittaa (+) :: ( ) :: Vastaavasti mikä tahansa kaksi argumenttia ottava funktio voidaan kirjoittaa operaattoriksi laittamalla sen nimi takahipsuihin: lisaa 2 3 = 5 ja 2 lisaa 3 = λ-laskento Tarkastellaanpa nyt hieman oudompaa laskentoa, nimittäin λ-laskentoa.

5 2.3. λ-laskento 11 λ-lausekkeiden syntaksi voidaan esittää vaikkapa seuraavasti: Λ ::= µ (muuttuja) Λ 1 Λ 2 (applikaatio) λµ.λ (abstraktio) µ ::= mikä tahansa kirjain Toisin sanoen λ-lausekkeita ovat 1. kaikki kirjaimet (muuttujat), 2. kaikki kaksi λ-lauseketta peräkkäin kirjoittamalla saadut merkkijonot (applikaatiot), ja 3. kaikki merkkijonot, jotka ovat muotoa λx.e, missä x on jokin kirjain (muuttuja) ja E on jokin λ-lauseke (abstraktiot). Sulkuja käytetään tavanomaiseen tapaan ilmaisemaan lausekkeen rakennetta. Applikaatio ryhmitetään sulkujen uupuessa vasemmalle, joten abc tarkoittaa (ab)c eikä a(bc). Abstraktio ulottuu oikealle niin pitkälle kuin mahdollista, joten λx.abc tarkoittaa λx.(abc) eikä (λx.a)bc. Esimerkki 1 Seuraavat ovat λ-lausekkeita: 1. e (muuttuja) 2. fe (applikaatio, jonka osat ovat muuttujia) 3. feh (applikaatio, jonka osat ovat toinen applikaatio ja muuttuja, ja sen toisen applikaation osat ovat muuttujia) 4. λx.x (abstraktio, jonka alilausekkeena on muuttuja) 5. λx.xy (abstraktio, jonka alilausekkeena on applikaatio) 6. (λx.x)y (applikaatio, jonka vasemmanpuoleisena osana on abstraktio) Seuraavat eivät ole λ-lausekkeita: 1. λ 2. λx 3. λx. 4. λ.x 5. xyλ Abstraktiolausekkeen λx.e sanotaan sitovan muuttujan x. Tällöin kaikki E:n sisällä olevat x:n esiintymät ovat sidottuja. Jokainen sellainen muuttujan esiintymä, joka ei ole sidottu, on vapaa. Jos kaavassa on yksikin muuttujan x vapaa esiintymä, x:n sanotaan esiintyvän ko. kaavassa vapaana ja olevan ko. kaavan vapaa muuttuja.

6 12 LUKU 2. OHJELMOINTI LASKENTANA Esimerkki 2 Tutkitaan vapaita ja sidottuja muuttujia. 1. Lausekkeen x ainoa vapaa muuttuja on x. Siinä ei ole sidottuja muuttujia. 2. Lausekkeen xy vapaat muuttujat ovat x ja y. Siinä ei ole sidottuja muuttujia. 3. Lausekkeessa λx.x ei ole vapaita muuttujia. Muuttuja x esiintyy siinä sidottuna. 4. Lausekkeen λx.y ainoa vapaa muuttuja on y. Muuttuja x esiintyy siinä sidottuna. 5. Lausekkeen xλx.x ainoa vapaa muuttuja on x. Se myös esiintyy siinä sidottuna. Merkinnällä E[x/F] (luetaan E, jossa x korvataan F:llä ) tarkoitetaan lauseketta, joka on muuten sama kuin lauseke E mutta siinä olevat kaikki vapaat x:n esiintymät korvataan (F):llä. Esimerkki 3 Joitakin korvauksia: 1. Korvaus x[x/y] tarkoittaa lauseketta y. 2. Korvaus z[x/y] tarkoittaa lauseketta z. 3. Korvaus (λx.x)[x/y] tarkoittaa lauseketta λx.x. 4. Korvaus (xλx.x)[x/y] tarkoittaa lauseketta yλx.x. 5. Korvaus (xλx.x)[x/xy] tarkoittaa lauseketta xyλx.x. 6. Korvaus (xλx.x)[x/(λx.x)] tarkoittaa lauseketta (λx.x)(λx.x). Abstraktion sitoma muuttuja voidaan vaihtaa lausekkeen merkityksen muuttumatta. Tätä sanotaan α-muunnokseksi. Formaalisti sanoen: λx.e = λy.e[x/y]. Tässä on tärkeä poikkeus: muunnosta ei saa tehdä, jos abstraktion sitoma muuttuja muuttuu jossakin osalausekkeessa vapaasta sidotuksi (tämä on helpointa välttää siten, että valitsee sidotun muuttujan uudeksi nimeksi sellaisen, joka ei lainkaan esiinny koko lausekkeessa). Itse λ-laskennan merkittävin muunnostyyppi eli laskusääntö on β-muunnos, joka saadaan tehdä β-redexille eli applikaatiolausekkeelle, jonka vasen osa on abstraktio: (λx.e)f = E[x/F] Tässä on kuitenkin tärkeä poikkeus: Jos jokin F:n vapaa muuttuja on abstraktiossa sidottu, tätä β-muunnosta ei saa tehdä. Tämä rajoitus voidaan kiertää helposti α-muunnoksella. Beeta-muunnoksen oikeaa suuntaa sanotaan β- reduktioksi ja vasempaa suuntaa β-abstraktioksi.

7 2.4. NORMAALIMUOTO, POHJA JA LASKENTAJÄRJESTYS 13 Toisinaan voi olla syytä kirjoittaa α- tai β-kirjain yhtäsuuruusmerkin yläpuolelle kertomaan, mitä muunnosta käytetään. Esimerkki 4 1. (λx.x)y β = y 2. (λx.λy.xy)y α = (λx.λz.xz)y β = λz.yz. (Jos kiellosta huolimatta olisi tehty β-muunnos saman tien, olisi tulokseksi tullut λy.yy.) Edellä esitetty λ-laskento on ns. puhdas λ-laskento. Käytännössä λ-laskennossa käytetään myös δ-muunnosta. Siihen liittyen lausekkeiden määritelmään lisätään aritmeettiset ynnä muut sellaiset lausekkeet. Delta-reduktio sanoo, että mikä tahansa δ-redex eli sellainen lauseke, joka sopii jonkin annetun määritelmäyhtälön (kuten ne, jotka yllä aiemmin annettiin) vasemmaksi puoleksi, voidaan korvata ko. yhtälön oikealla puolella. Jos useampi yhtälö sopii, niistä valitaan se, jonka vasen puoli on spesifein. Delta-abstraktio on sama prosessi toiseen suuntaan; δ-muunnoksella tarkoitetaan näitä molempia. Delta-muunnos siis käytännössä mahdollistaa perinteisen aritmeettisen laskennan: Esimerkki 5 1. (λx.x + 1) 3 β = δ = (λx.λy.x + y) 3 4 β = (λy.3 + y) 4 β = δ = 7. Tässä vaiheessa ehkä huomaakin jo, mistä λ-laskennossa on kyse: se on funktiolaskentaa puhtaimmillaan. Applikaatiolauseke edustaa funktion käyttöä (funktion kutsua ), kun taas abstraktio luo nimettömän funktion. Itse asiassa kaikki aiemmin asetetut määritelmät voitaisiin kirjoittaa uusiksi, jos niin haluttaisiin: voidaan kirjoittaa myös nelio x = x x nelio = λx.x x 2.4 Normaalimuoto, pohja ja laskentajärjestys Lausekkeen normaalimuodolla tarkoitetaan sellaista muotoa, johon ei voi soveltaa β-reduktiota eikä δ-reduktiota. Kun laskennossa pyritään saamaan pelkkä luku vastaukseksi, λ-laskennossa pyritään löytämään normaalimuoto. Valitettavasti kaikilla lausekkeilla ei ole normaalimuotoa.

8 14 LUKU 2. OHJELMOINTI LASKENTANA Esimerkki 6 Lausekkeella (λx.xxx)(λx.xxx) ei ole normaalimuotoa, sillä (λx.xxx)(λx.xxx) β = (λx.xxx)(λx.xxx)(λx.xxx). Otetaan käyttöön uusi lauseketyyppi, (luetaan: pohja). Merkitään sillä sellaisen laskun tulosta, joka ei koskaan päädy normaalimuotoon. Toisin sanoen edustaa päättymätöntä laskua. Sitä käytetään myös merkitsemään virheellisen laskun, esimerkiksi nollalla jakamisen, tulosta. Funktiot on tapana jakaa kahteen luokkaan sen mukaan, miten ne käyttäytyvät pohjan suhteen. Jos f = pätee, f on tiukka (strict) funktio. Jos f pätee, f on väljä (non-strict) funktio. Funktion väljyyden tai tiukkuuden usein määrää se, missä järjestyksessä laskut tehdään. Esimerkiksi lausekkeella (λx.y)((λx.xxx)(λx.xxx)) on normaalimuoto y, mutta se, että saavutetaanko se, riippuu siitä, missä järjestyksessä muunnokset suoritetaan. Kaksi järjestystä vaativat erityisen huomion: Normaalijärjestyksessä valitaan uloin, vasemmanpuolisin β- tai δ-redex ja sovelletaan siihen β- tai δ-reduktiota. Applikaatiivisessa järjestyksessä valitaan sisin, vasemmanpuolisin β- tai δ- redex ja sovelletaan siihen β- tai δ-reduktiota. Applikatiivisen järjestyksen perusominaisuus on se, että siinä funktion argumentit lasketaan ennen kuin funktion arvoa aletaan selvittämään. Tällöin, jos argumentti on, koko funktion arvoksi muodostuu. Normaalijärjestys puolestaan laskee argumentit mahdollisimman myöhään, jolloin funktio, joka ei käytä argumenttiaan, voi saada muunkin arvon kuin, vaikka argumenttina olisikin. Itse asiassa normaalijärjestys löytää normaalimuodon, jos sellainen on olemassa.

2.4 Normaalimuoto, pohja ja laskentajärjestys 2.4. NORMAALIMUOTO, POHJA JA LASKENTAJÄRJESTYS 13

2.4 Normaalimuoto, pohja ja laskentajärjestys 2.4. NORMAALIMUOTO, POHJA JA LASKENTAJÄRJESTYS 13 2.4. NORMAALIMUOTO, POHJA JA LASKENTAJÄRJESTYS 13 Toisinaan voi olla syytä kirjoittaa α- tai β-kirjain yhtäsuuruusmerkin yläpuolelle kertomaan, mitä muunnosta käytetään. Esimerkki 4 1. (λx.x)y β = y 2.

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA34 Funktio-ohjelmointi, kevät 2008 Luento 3 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 2. tammikuuta 2008 Ydin-Haskell: Syntaksi Lausekkeita (e) ovat: nimettömät funktiot: \x

Lisätiedot

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 26. kesäkuuta 2013 ja ja TIEA241 Automaatit ja kieliopit, kesä 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. kesäkuuta 2013 Sisällys ja ja on yksi vanhimmista tavoista yrittää mallittaa mekaanista laskentaa. Kurt

Lisätiedot

Lisää laskentoa. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Lisää laskentoa. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Lisää laskentoa TIEA341 Funktio ohjelmointi 1 Syksy 2005 Kertausta: Laajennettu aritmetiikka Lasketaan rationaaliluvuilla vakiot yhteen, vähennys, kerto ja jakolasku Laajennetaan sitä määrittelyillä: vakio

Lisätiedot

TIES542 kevät 2009 Aliohjelmien formalisointia lambda-kieli

TIES542 kevät 2009 Aliohjelmien formalisointia lambda-kieli TIES542 kevät 2009 Aliohjelmien formalisointia lambda-kieli Antti-Juhani Kaijanaho 3. helmikuuta 2009 Lambda-kielen taustalla on 1900-luvun alkuvuosikymmenien matematiikan perusteiden tutkimus ja siihen

Lisätiedot

Uusi näkökulma. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Uusi näkökulma. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Uusi näkökulma TIEA341 Funktio ohjelmointi 1 Syksy 2005 Aloitetaan alusta... Otetaan uusi näkökulma Haskelliin ohjelmointi laskentana kertausta toisaalta, uusia käsitteitä toisaalta helpottanee sitten

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

Ydin-Haskell Tiivismoniste

Ydin-Haskell Tiivismoniste Ydin-Haskell Tiivismoniste Antti-Juhani Kaijanaho 8. joulukuuta 2005 1 Abstrakti syntaksi Päätesymbolit: Muuttujat a, b, c,..., x, y, z,... Tyyppimuuttujat α, β, γ,... Koostimet (data- ja tyyppi-) C, D,...,

Lisätiedot

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

Osa IX. Z muunnos. Johdanto Diskreetit funktiot Osa IX Z muunnos A.Rasila, J.v.Pfaler () Mat-.33 Matematiikan peruskurssi KP3-i 9. lokakuuta 2007 298 / 322 A.Rasila, J.v.Pfaler () Mat-.33 Matematiikan peruskurssi KP3-i 9. lokakuuta 2007 299 / 322 Johdanto

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. toukokuuta 2011 Sisällys engl. random-access machines, RAM yksinkertaistettu nykyaikaisen (ei-rinnakkaisen)

Lisätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

Lisätiedot

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2 Johdatus diskreettiin matematiikkaan Harjoitus 4, 7.10.2015 1. Olkoot c 0, c 1 R siten, että polynomilla r 2 c 1 r c 0 on kaksinkertainen juuri. Määritä rekursioyhtälön x n+2 = c 1 x n+1 + c 0 x n, n N,

Lisätiedot

Dierentiaaliyhtälöistä

Dierentiaaliyhtälöistä Dierentiaaliyhtälöistä Markus Kettunen 4. maaliskuuta 2009 1 SISÄLTÖ 1 Sisältö 1 Dierentiaaliyhtälöistä 2 1.1 Johdanto................................. 2 1.2 Ratkaisun yksikäsitteisyydestä.....................

Lisätiedot

Vaihtoehtoinen tapa määritellä funktioita f : N R on

Vaihtoehtoinen tapa määritellä funktioita f : N R on Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: 1 (Alkuarvot) Ilmoitetaan funktion arvot

Lisätiedot

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on Rekursio Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on käyttää rekursiota: Rekursio Funktio f : N R määritellään yleensä

Lisätiedot

Demo 7 ( ) Antti-Juhani Kaijanaho. 9. joulukuuta 2005

Demo 7 ( ) Antti-Juhani Kaijanaho. 9. joulukuuta 2005 Demo 7 (14.12.2005) Antti-Juhani Kaijanaho 9. joulukuuta 2005 Liitteenä muutama esimerkki Ydin-Haskell-laskuista. Seuraavassa on enemmän kuin 12 nimellistä tehtävää; ylimääräiset ovat bonustehtäviä, joilla

Lisätiedot

Geneeriset tyypit. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos

Geneeriset tyypit. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos Geneeriset tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 6. maaliskuuta 2007 Kysymys Mitä yhteistä on seuraavilla funktioilla?

Lisätiedot

Yksinkertaiset tyypit

Yksinkertaiset tyypit Yksinkertaiset tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 13. helmikuuta 2007 Tyypitön puhdas λ-laskento E ::= I E 1 E 2

Lisätiedot

Kesälukio 2000 PK2 Tauluharjoituksia I Mallivastaukset

Kesälukio 2000 PK2 Tauluharjoituksia I Mallivastaukset Kesälukio 2000 PK2 Tauluharjoituksia I Mallivastaukset 2000-08-03T10:30/12:00 Huomaa, että joihinkin kysymyksiin on useampia oikeita vastauksia, joten nämä ovat todellakin vain mallivastaukset. 1 Logiikkaa

Lisätiedot

Laskentaa kirjaimilla

Laskentaa kirjaimilla MAB1 Polynomit Laskentaa kirjaimilla Tähän asti olemme laskeneet luvuilla, jotka on esitetty numeroiden avulla. Matematiikan säännöt, laskentamenetelmät, kaavat samoin kuin fysiikan ja itse asiassa kaikkien

Lisätiedot

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö Johdatus diskreettiin matematiikkaan Harjoitus 5, 14.10.2015 1. Ratkaise rekursioyhtälö x n+4 2x n+2 + x n 16( 1) n, n N, alkuarvoilla x 1 2, x 2 14, x 3 18 ja x 4 42. Ratkaisu. Vastaavan homogeenisen

Lisätiedot

1 Lineaariavaruus eli Vektoriavaruus

1 Lineaariavaruus eli Vektoriavaruus 1 Lineaariavaruus eli Vektoriavaruus 1.1 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä V epätyhjä joukko. Oletetaan, että joukossa V on määritelty laskutoimitus

Lisätiedot

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta: MATP00 Johdatus matematiikkaan Ylimääräisten tehtävien ratkaisuehdotuksia. Osoita, että 00 002 < 000 000. Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa. Lähdetään sieventämään epäyhtälön

Lisätiedot

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen: S A S B Samaan jäsennyspuuhun päästään myös johdolla S AB Ab ab: S A S B Yhteen jäsennyspuuhun liittyy aina tasan yksi vasen

Lisätiedot

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, kertausta Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Kaavio kirjoitetaan kaarisulkujen väliin

Lisätiedot

niin järjestys on tämä: ensin kerto- ja jakolaskut vasemmalta oikealle, sen jälkeen plus- ja miinuslaskut vasemmalta oikealle.

niin järjestys on tämä: ensin kerto- ja jakolaskut vasemmalta oikealle, sen jälkeen plus- ja miinuslaskut vasemmalta oikealle. Alkeistason matikkaa Plus-, miinus-, kerto- ja jakolaskujen laskujärjestys Esim. jos pitää laskea tällainen lasku:? niin järjestys on tämä: ensin kerto- ja jakolaskut vasemmalta oikealle, sen jälkeen plus-

Lisätiedot

Dierentiaaliyhtälöistä

Dierentiaaliyhtälöistä Dierentiaaliyhtälöistä Markus Kettunen 17. maaliskuuta 2009 1 SISÄLTÖ 1 Sisältö 1 Dierentiaaliyhtälöistä 2 1.1 Johdanto................................. 2 1.2 Ratkaisun yksikäsitteisyydestä.....................

Lisätiedot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 6: Ääriarvojen luokittelu. Lagrangen kertojat. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016 Antti Rasila

Lisätiedot

802320A LINEAARIALGEBRA OSA I

802320A LINEAARIALGEBRA OSA I 802320A LINEAARIALGEBRA OSA I Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO SYKSY 2016 LINEAARIALGEBRA 1 / 72 Määritelmä ja esimerkkejä Olkoon K kunta, jonka nolla-alkio on 0 ja ykkösalkio on 1 sekä

Lisätiedot

Luento 8: Epälineaarinen optimointi

Luento 8: Epälineaarinen optimointi Luento 8: Epälineaarinen optimointi Vektoriavaruus R n R n on kaikkien n-jonojen x := (x,..., x n ) joukko. Siis R n := Määritellään nollavektori 0 = (0,..., 0). Reaalisten m n-matriisien joukkoa merkitään

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

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016 BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016 1. Hahmottele karkeasti funktion f : R R 2 piirtämällä sen arvoja muutamilla eri muuttujan arvoilla kaksiulotteiseen koordinaatistoon

Lisätiedot

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä) Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe 26.10.2017 Ratkaisuehdotus 1. (35 pistettä) (a) Seuraavat matriisit on saatu eräistä yhtälöryhmistä alkeisrivitoimituksilla. Kuinka monta ratkaisua yhtälöryhmällä

Lisätiedot

Jokaisen parittoman kokonaisluvun toinen potenssi on pariton.

Jokaisen parittoman kokonaisluvun toinen potenssi on pariton. 3 Todistustekniikkaa 3.1 Väitteen kumoaminen vastaesimerkillä Monissa tilanteissa kohdataan väitteitä, jotka koskevat esimerkiksi kaikkia kokonaislukuja, kaikkia reaalilukuja tai kaikkia joukkoja. Esimerkkejä

Lisätiedot

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m ) Määritelmä 519 Olkoon T i L V i, W i, 1 i m Yksikäsitteisen lineaarikuvauksen h L V 1 V 2 V m, W 1 W 2 W m h v 1 v 2 v m T 1 v 1 T 2 v 2 T m v m 514 sanotaan olevan kuvausten T 1,, T m indusoima ja sitä

Lisätiedot

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0.

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0. HARJOITUS 1, RATKAISUEHDOTUKSET, YLE11 2017. 1. Ratkaise (a.) 2x 2 16x 40 = 0 (b.) 4x 2 2x+2 = 0 (c.) x 2 (1 x 2 )(1+x 2 ) = 0 (d.) lnx a = b. (a.) Toisen asteen yhtälön ratkaisukaavalla: x = ( 16)± (

Lisätiedot

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B. HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 3 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan muun muassa kahden joukon osoittamista samaksi sekä joukon

Lisätiedot

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen.

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Tietyn ominaisuuden samuus -relaatio on ekvivalenssi; se on (1) refleksiivinen,

Lisätiedot

4 Matemaattinen induktio

4 Matemaattinen induktio 4 Matemaattinen induktio Joidenkin väitteiden todistamiseksi pitää näyttää, että kaikilla luonnollisilla luvuilla on jokin ominaisuus P. Esimerkkejä tällaisista väitteistä ovat vaikkapa seuraavat: kaikilla

Lisätiedot

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e) Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 7 Demonstraatiotehtävien ratkaisut 1. Pinoautomaatti M = K Σ Γ s F missä K Σ s ja F on määritelty samalla tavalla kuin tilakoneellekin.

Lisätiedot

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016 ICS-C2000 Tietojenkäsittelyteoria Kevät 206 Kierros 0, 2. 24. maaliskuuta Huom! Perjantaina 25. maaliskuuta ei ole laskareita (pitkäperjantai), käykää vapaasti valitsemassanne ryhmässä aiemmin viikolla.

Lisätiedot

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Merkintöjä 1 Matriisi on suorakulmainen lukukaavio.

Lisätiedot

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi Matriisit, L20 Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ( 0, 4, ( ( 1 4 2, a 11 a 12 a 21 a 22 Kaavio kirjoitetaan kaarisulkujen väliin (amer. kirjoissa

Lisätiedot

2017 = = = = = = 26 1

2017 = = = = = = 26 1 JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 2, MALLIRATKAISUT Tehtävä 1. Sovella Eukleiden algoritmia ja (i) etsi s.y.t(2017, 753) (ii) etsi kaikki kokonaislukuratkaisut yhtälölle 405x + 141y = 12. Ratkaisu

Lisätiedot

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 11: Lineaarinen differentiaaliyhtälö

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 11: Lineaarinen differentiaaliyhtälö MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 11: Lineaarinen differentiaaliyhtälö Pekka Alestalo, Jarmo Malinen Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos

Lisätiedot

formalismeja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 15. joulukuuta 2015 TIETOTEKNIIKAN LAITOS

formalismeja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 15. joulukuuta 2015 TIETOTEKNIIKAN LAITOS TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 15. joulukuuta 2015 Sisällys Loppukurssin aikataulu tiistai 15.12.2015 viimeiset demot keskiviikko 16.12.2015 viimeiset

Lisätiedot

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016 ja ja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. lokakuuta 2016 Sisällys ja ja Vuosi on 1936, eikä tietokoneita ollut. Computer oli ammattinimike. http://www.nasa.gov/centers/dryden/

Lisätiedot

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1

y x1 σ t 1 = c y x 1 σ t 1 = y x 2 σ t 2 y x 2 x 1 y = σ(t 2 t 1 ) x 2 x 1 y t 2 t 1 1. Tarkastellaan funktiota missä σ C ja y (y 1,..., y n ) R n. u : R n R C, u(x, t) e i(y x σt), (a) Miksi funktiota u(x, t) voidaan kutsua tasoaalloksi, jonka aaltorintama on kohtisuorassa vektorin y

Lisätiedot

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon

Lisätiedot

8. Kieliopit ja kielet

8. Kieliopit ja kielet 8. Kieliopit ja kielet Suomen kielen sanoja voidaan yhdistellä monella eri tavalla. Kielioppi määrää sen, milloin sanojen yhdistely antaa oikein muodostetun lauseen. "Mies räpyttää siipiään" on kieliopillisesti

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14

Lisätiedot

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38 Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38 Tuntitehtävät 11-12 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 15-16 loppuviikon harjoituksissa. Kotitehtävät 13-14 tarkastetaan loppuviikon

Lisätiedot

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I G. Gripenberg Aalto-yliopisto 21. tammikuuta 2016 G. Gripenberg (Aalto-yliopisto) MS-A0207 Differentiaali- ja integraalilaskenta

Lisätiedot

Oletetaan, että virhetermit eivät korreloi toistensa eikä faktorin f kanssa. Toisin sanoen

Oletetaan, että virhetermit eivät korreloi toistensa eikä faktorin f kanssa. Toisin sanoen Yhden faktorin malli: n kpl sijoituskohteita, joiden tuotot ovat r i, i =, 2,..., n. Olkoon f satunnaismuuttuja ja oletetaan, että tuotot voidaan selittää yhtälön r i = a i + b i f + e i avulla, missä

Lisätiedot

Insinöörimatematiikka A

Insinöörimatematiikka A Insinöörimatematiikka A Demonstraatio 3, 3.9.04 Tehtävissä 4 tulee käyttää Gentzenin järjestelmää kaavojen johtamiseen. Johda kaava φ (φ ) tyhjästä oletusjoukosta. ) φ ) φ φ 3) φ 4) φ (E ) (E ) (I, ) (I,

Lisätiedot

MATP153 Approbatur 1B Ohjaus 2 Keskiviikko torstai

MATP153 Approbatur 1B Ohjaus 2 Keskiviikko torstai MATP15 Approbatur 1B Ohjaus Keskiviikko 4.11. torstai 5.11.015 1. (Opiskeluteht. 6 s. 0.) Määritä sellainen vakio a, että polynomilla x + (a 1)x 4x a on juurena luku x = 1. Mitkä ovat tällöin muut juuret?.

Lisätiedot

Kompleksilukujen kunnan konstruointi

Kompleksilukujen kunnan konstruointi Kompleksilukujen kunnan konstruointi Seuraava esitys osoittaa, miten kompleksilukujoukko voidaan määritellä tunnetuista reaalisista käsitteistä lähtien. Määrittelyjen jälkeen on helppoa osoittaa Mathematican

Lisätiedot

Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa.

Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa. 7 Matriisilaskenta Kurssin loppuosassa tutustutaan matriiseihin ja niiden käyttöön yhtälöryhmien ratkaisemisessa. 7.1 Lineaariset yhtälöryhmät Yhtälöryhmät liittyvät tilanteisiin, joissa on monta tuntematonta

Lisätiedot

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013 TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. toukokuuta 2013 Sisällys Chomskyn hierarkia (ja muutakin) kieli LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti

Lisätiedot

Johdatus λ-kalkyyliin

Johdatus λ-kalkyyliin Annika Piiroinen, Kalle Viiri 2014 Johdatus λ-kalkyyliin λ kalkyyli on alunperin Alonzo Chruchin kehittämä Turing täydellinen formaalin laskennan malli. Funktionaaliset ohjelmointikielet perustuvat siihen,

Lisätiedot

Talousmatematiikan perusteet, L2 Kertaus Aiheet

Talousmatematiikan perusteet, L2 Kertaus Aiheet Talousmatematiikan perusteet, L2 Kertaus 1 Laskutoimitukset tehdään seuraavassa järjestyksessä 1. Sulkujen sisällä olevat lausekkeet (alkaen sisältä ulospäin) 2. potenssit ja juurilausekkeet 3. kerto-

Lisätiedot

Matemaattinen Analyysi

Matemaattinen Analyysi Vaasan yliopisto, 009-010 / ORMS1010 Matemaattinen Analyysi 7 harjoitus 1 Määritä seuraavien potenssisarjojen suppenemissäteet a) k k x 5)k b) k=1 k x 5)k = k k 1) k ) 1) Suppenemissäteen R käänteisarvo

Lisätiedot

PERUSLASKUJA. Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +5^2

PERUSLASKUJA. Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +5^2 PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä 3/4+^2 3 4+ 2 Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +^2 3 + 4 2 Kopioi

Lisätiedot

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48 MS-A3/A5 Matriisilaskenta Malliratkaisut 5 / vko 48 Tehtävä (L): a) Onko 4 3 sitä vastaava ominaisarvo? b) Onko λ = 3 matriisin matriisin 2 2 3 2 3 7 9 4 5 2 4 4 ominaisvektori? Jos on, mikä on ominaisarvo?

Lisätiedot

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f ) Injektio (1/3) Määritelmä Funktio f on injektio, joss f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f ) Seurauksia: Jatkuva injektio on siis aina joko aidosti kasvava tai aidosti vähenevä Injektiolla on enintään

Lisätiedot

Matemaatiikan tukikurssi

Matemaatiikan tukikurssi Matemaatiikan tukikurssi Kurssikerta 1 1 Funktiot Funktion määritelmä Funktio on sääntö, joka liittää kahden eri joukon alkioita toisiinsa. Ollakseen funktio tämän säännön on liitettävä jokaiseen lähtöjoukon

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi A. Lepistö alepisto@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2016 M. Hirvensalo V. Junnila A. Lepistö

Lisätiedot

Laajennetaan vielä Ydin-Haskellia ymmärtämään vakiomäärittelyt. Määrittely on muotoa

Laajennetaan vielä Ydin-Haskellia ymmärtämään vakiomäärittelyt. Määrittely on muotoa 2.6. TIETOKONE LASKIMENA 23 Edellä esitetty Ydin-Haskell on hyvin lähellä sitä kieltä, jota GHCi (Glasgow Haskell Compiler, Interactive) sekä muut Haskell-järjestelmät suostuvat ymmärtämään. Esimerkiksi:

Lisätiedot

Rekursiiviset tyypit

Rekursiiviset tyypit Rekursiiviset tyypit TIES542 Ohjelmointikielten periaatteet, kevät 2007 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 20. helmikuuta 2007 Hiloista Kiintopisteet (Ko)rekursio Rekursiiviset

Lisätiedot

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2

PERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2 PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä /+^2 Kirjoita muuten sama, mutta ota välilyönti :n jälkeen / +^2 Kopioi molemmat matematiikka-alueet ja liiku alueen sisällä

Lisätiedot

5.2 Ensimmäisen asteen yhtälö

5.2 Ensimmäisen asteen yhtälö 5. Ensimmäisen asteen ytälö 5. Ensimmäisen asteen yhtälö Aloitetaan antamalla nimi yhtälön osille. Nyt annettavat nimet eivät riipu yhtälön tyypistä tai asteesta. Tarkastellaan seuraavaa yhtälöä. Emme

Lisätiedot

Talousmatematiikan perusteet, L2 Kertaus Aiheet

Talousmatematiikan perusteet, L2 Kertaus Aiheet Talousmatematiikan perusteet, L2 Kertaus 1 Laskutoimitukset tehdään seuraavassa järjestyksessä 1. Sulkujen sisällä olevat lausekkeet (alkaen sisältä ulospäin) 2. potenssit ja juurilausekkeet 3. kerto-

Lisätiedot

14.1 Rekursio tyypitetyssä lambda-kielessä

14.1 Rekursio tyypitetyssä lambda-kielessä Luku 14 Rekursiiviset tyypit Edellisessä luvussa esitetyt tietue- ja varianttityypit eivät yksinään riitä kovin mielenkiintoisten tietorakenteiden toteuttamiseen. Useimmissa ohjelmissa tarvitaan erilaisia

Lisätiedot

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus 1 / 51 Lineaarikombinaatio Johdattelua seuraavaan asiaan (ei tarkkoja määritelmiä): Millaisen kuvan muodostaa joukko {λv λ R, v R 3 }? Millaisen

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015 ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:

Lisätiedot

a) z 1 + z 2, b) z 1 z 2, c) z 1 z 2, d) z 1 z 2 = 4+10i 4 = 10i 5 = 2i. 4 ( 1)

a) z 1 + z 2, b) z 1 z 2, c) z 1 z 2, d) z 1 z 2 = 4+10i 4 = 10i 5 = 2i. 4 ( 1) Matematiikan johdantokurssi, syksy 06 Harjoitus, ratkaisuista. Osoita, että kompleksilukujen yhteenlasku määriteltynä tasopisteiden kautta koordinaateittain on liitännäinen, so. z + (z + z ) = (z + z )

Lisätiedot

Johdatus matemaattiseen päättelyyn

Johdatus matemaattiseen päättelyyn Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä Luonnollisten lukujen joukko N on joukko N = {1, 2, 3,...} ja kokonaislukujen

Lisätiedot

Lisää kvanttoreista ja päättelyä sekä predikaattilogiikan totuustaulukot 1. Negaation siirto kvanttorin ohi

Lisää kvanttoreista ja päättelyä sekä predikaattilogiikan totuustaulukot 1. Negaation siirto kvanttorin ohi Lisää kvanttoreista ja päättelyä sekä predikaattilogiikan totuustaulukot 1. Negaation siirto kvanttorin ohi LUKUTEORIA JA TODISTAMINEN, MAA11 Esimerkki a) Lauseen Kaikki johtajat ovat miehiä negaatio ei

Lisätiedot

MATP153 Approbatur 1B Harjoitus 5 Maanantai

MATP153 Approbatur 1B Harjoitus 5 Maanantai MATP153 Approbatur 1B Harjoitus 5 Maanantai 30.11.015 1. (Opiskelutet. 0 s. 81.) Selvitä, miten lauseke sin(4x 3 + cos x ) muodostuu perusfunktioista (polynomeista, trigonometrisistä funktioista jne).

Lisätiedot

Luento 8: Epälineaarinen optimointi

Luento 8: Epälineaarinen optimointi Luento 8: Epälineaarinen optimointi Vektoriavaruus R n R n on kaikkien n-jonojen x := (x,..., x n ) joukko. Siis R n := Määritellään nollavektori = (,..., ). Reaalisten m n-matriisien joukkoa merkitään

Lisätiedot

S BAB ABA A aas bba B bbs c

S BAB ABA A aas bba B bbs c T-79.148 Kevät 2003 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S) tuottama

Lisätiedot

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi Lineaarikuvaukset aiheita ten ten 1 Matematiikassa sana lineaarinen liitetään kahden lineaariavaruuden väliseen kuvaukseen. ten Määritelmä Olkoon (L, +, ) ja (M, ˆ+, ˆ ) reaalisia lineaariavaruuksia, ja

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

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi 7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi Z p [x]/(m), missä m on polynomirenkaan Z p [x] jaoton polynomi (ks. määritelmä 3.19).

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 1 Funktion kuperuussuunnat Derivoituva funktio f (x) on pisteessä x aidosti konveksi, jos sen toinen derivaatta on positiivinen f (x) > 0. Vastaavasti f (x) on aidosti

Lisätiedot

Insinöörimatematiikka A

Insinöörimatematiikka A Insinöörimatematiikka A Mika Hirvensalo mikhirve@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2018 Mika Hirvensalo mikhirve@utu.fi Luentoruudut 3 1 of 23 Kertausta Määritelmä Predikaattilogiikan

Lisätiedot

MATEMATIIKKA. Matematiikkaa pintakäsittelijöille. Ongelmanratkaisu. Isto Jokinen 2017

MATEMATIIKKA. Matematiikkaa pintakäsittelijöille. Ongelmanratkaisu. Isto Jokinen 2017 MATEMATIIKKA Matematiikkaa pintakäsittelijöille Ongelmanratkaisu Isto Jokinen 2017 SISÄLTÖ 1. Matemaattisten ongelmien ratkaisu laskukaavoilla 2. Tekijäyhtälöt 3. Laskukaavojen yhdistäminen 4. Yhtälöiden

Lisätiedot

1. Esitä rekursiivinen määritelmä lukujonolle

1. Esitä rekursiivinen määritelmä lukujonolle Matematiikan laitos Johdatus Diskrettiin Matematiikkaan Harjoitus 4 24.11.2011 Ratkaisuehdotuksia Aleksandr Pasharin 1. Esitä rekursiivinen määritelmä lukujonolle (a) f(n) = (2 0, 2 1, 2 2, 2 3, 2 4,...)

Lisätiedot

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Väite: T (n) (a + b)n 2 + a. Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Huomaa että funktion x x 2 + (m 1 x) 2 kuvaaja on ylöspäin aukeava paraabeli, joten funktio saavuttaa suurimman

Lisätiedot

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut T-79.148 Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut 4. Tehtävä: Laadi algoritmi, joka testaa onko annetun yhteydettömän kieliopin G = V, Σ, P, S tuottama

Lisätiedot

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Prosessialgebra 19. maaliskuuta 2002 T-79.179: Prosessialgebra 9-1 Petri-verkot vastaan prosessialgebra Petri-verkot esittävät rinnakkaisia

Lisätiedot

Mitään muita operaatioita symbolille ei ole määritelty! < a kaikilla kokonaisluvuilla a, + a = kaikilla kokonaisluvuilla a.

Mitään muita operaatioita symbolille ei ole määritelty! < a kaikilla kokonaisluvuilla a, + a = kaikilla kokonaisluvuilla a. Polynomit Tarkastelemme polynomirenkaiden teoriaa ja polynomiyhtälöiden ratkaisemista. Algebrassa on tapana pitää erillään polynomin ja polynomifunktion käsitteet. Polynomit Tarkastelemme polynomirenkaiden

Lisätiedot

Luku 7. Aliohjelmat. 7.1 Kutsusekvenssit. Aliohjelma (subroutine) on useimpien kielten tärkein kontrollivuon ohjausja abstrahointikeino.

Luku 7. Aliohjelmat. 7.1 Kutsusekvenssit. Aliohjelma (subroutine) on useimpien kielten tärkein kontrollivuon ohjausja abstrahointikeino. Luku 7 Aliohjelmat Aliohjelma (subroutine) on useimpien kielten tärkein kontrollivuon ohjausja abstrahointikeino. 7.1 Kutsusekvenssit Aliohjelmaan kontrolli siirtyy sen kutsun (call) kautta. Kun aliohjelman

Lisätiedot

9 Matriisit. 9.1 Matriisien laskutoimituksia

9 Matriisit. 9.1 Matriisien laskutoimituksia 9 Matriisit Aiemmissa luvuissa matriiseja on käsitelty siinä määrin kuin on ollut tarpeellista yhtälönratkaisun kannalta. Matriiseja käytetään kuitenkin myös muihin tarkoituksiin, ja siksi on hyödyllistä

Lisätiedot

LAUSELOGIIKKA (1) Sanalliset ilmaisut ovat usein epätarkkoja. On ilmaisuja, joista voidaan sanoa, että ne ovat tosia tai epätosia, mutta eivät molempia. Ilmaisuja, joihin voidaan liittää totuusarvoja (tosi,

Lisätiedot

Epäyhtälöt ovat yksi matemaatikon voimakkaimmista

Epäyhtälöt ovat yksi matemaatikon voimakkaimmista 6 Epäyhtälöitä Epäyhtälöt ovat yksi matemaatikon voimakkaimmista työvälineistä. Yhtälö a = b kertoo sen, että kaksi ehkä näennäisesti erilaista asiaa ovat samoja. Epäyhtälö a b saattaa antaa keinon analysoida

Lisätiedot

uv n, v 1, ja uv i w A kaikilla

uv n, v 1, ja uv i w A kaikilla 2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko

Lisätiedot

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tällä luennolla Algebralliset tietotyypit Hahmonsovitus (pattern matching) Primitiivirekursio Esimerkkinä binäärinen hakupuu Muistattehan...

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot