2 Sanoja järjestävän funktion ohjelmoiminen
|
|
- Leena Lehtonen
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 1 Tämän dokumentin tarkoitus Tämä dokumentti ei kuulu millään tavoin tenttialueeseen, enkä ota vastuuta sen lukemisen aiheuttamista vahingoista. Tässä dokumentissa esitetään esimerkin kautta, miten matematiikan kielessä voi harrastaa ns. funktionaalista ohjelmointia. Tarkemmin, esitetään eräs versio ns. lisäyslajittelu-algoritmista matematiikan kielellä, määrittelemällä se funktiona sanoista sanoihin rakentellisella induktiolla. Lisäksi todistetaan, että algoritmi toimii. Monisteen Luvussa 1.6 tehdään samaa asiaa hieman eri kielellä ja eri esimerkkiongelmille. Lauseen 1 todistus on kirjoitettu Proof-of-concept -mielessä, koska luennoitsija itse halusi nähdä onnistuuko induktiotodistus tässä esimerkissä suoraviivaisesti (näyttäisi onnistuvan). Todistuksen yksityiskohtainen lukeminen ei välttämättä ole pedagogisesti hyödyllistä. 2 Sanoja järjestävän funktion ohjelmoiminen Olkoon Σ äärellinen 1 aakkosto, jossa on määritelty jokin täysi järjestys, eli kun a, b Σ, niin tasan yksi kolmesta relaatiosta a < b, a = b, a > b pätee. Esimerkiksi voi olla Σ N. Esimerkeissä aakkosto on Σ = {0, 1, 2} (eli aakkoston Σ kirjaimet ovat 0, 1, 2), ja valitaan järjestykseksi 0 < 1 < 2. Nyt määritellään induktiivisesti kaksi funktiota, s : Σ Σ on sanan järjestävä funktio, eli esim. halutaan s(010) = 001. Tämä funktio määritellään seuraavasti käyttäen apuna funktiota i: s(ɛ) = ɛ, s(a u) = i(a, s(u)). Funktio i : Σ Σ Σ on apufunktio, jonka idea on, että jos u on jo järjestyksessä ja a Σ, niin i(a, u) = v, missä v on muuten sama kuin u, mutta siihen on sijoitettu a oikeaan paikkaan Esimerkiksi i(1, 00112) = Määritellään i induktiivisesti: { abv jos b a i(a, ɛ) = a, i(a, b v) = b i(a, v) jos b < a Pythonilla sama näyttäisi tältä: # järjestysfunktio, jossa sama rekursio kuin kaavoissamme def s(w): if len(w) == 0: # tyhjä sana vastaa 0-pituista sanaa, sille ei tarvitse tehdä mitään return w else: # yleisessä tapauksessa w = a. u leikataan ulos a ja u a = w[0] u = w[1:] # s(w) = s(a.u) = i(a, s(u)) kuten kaavassa return i(a, s(u)) 1 Homma toimisi äärettömälle samoin ohjelmoinnissa tyypillisesti Σ olisi mielivaltainen tyyppi jossa on määritelty järjestysrelaatio, ja samoin voi tehdä matematiikassa. 1
2 # "insert"-funktio, taas samoilla kaavoilla määritelty def i(a, u): if len(u) == 0: # i(a, epsilon) = a return a else: b = u[0] v = u[1:] if b >= a: # Pythonissa sanoja pistetään yhteen +-merkillä eikä kertomerkillä. return a + b + v else: # i(a, b.u) = b. i(a, u) jos b < a return b + i(a, v) print (s("abbabaa")) # tämä printtaa aaaabbb kun ohjelma ajetaan Matemaattiset määritelmät voi tässä nähdä kyseisen Python-koodin käännöksenä matematiikan kielelle, jotta sen ominaisuuksia voi todistaa. (Tosin tein itse asian toisinpäin eli käänsin matemaattisen määritelmän Pythoniksi.) 3 Testi Lasketaan s(20110), jossa pitäisi siis olla 2, 0, 1, 1, 0 kasvavassa järjestyksessä. Näin todella käy: s(20110) = i(2, s(0110)) = i(2, i(0, s(110))) = i(2, i(0, i(1, s(10)))) = i(2, i(0, i(1, i(1, s(0))))) = i(2, i(0, i(1, i(1, i(0, ɛ))))) = i(2, i(0, i(1, i(1, 0)))) = i(2, i(0, i(1, 0 i(1, ɛ)))) = i(2, i(0, i(1, 0 1))) = i(2, i(0, 0 i(1, 1))) = i(2, i(0, 0 11)) = i(2, 0 011)) = 0 i(2, 0 11)) = 00 i(2, 1 1)) = 001 i(2, 1)) = 0011 i(2, ɛ)) = Tässä on aina laskettu sisin termi auki määritelmää käyttäen, ja ylimääräiset kertomerkit on pudoteltu pois välivaiheissa. Välivaiheita tuli tässä 15 kpl, ja 2
3 niiden määrää voisi vähän pudottaa todistamalla sopivia aputuloksia, tai tekemällä useampi sievennys kerralla. Joka tapauksessa tällä algoritmilla välivaiheita tulee monta, nimittäin pahimmillaan Ω(n 2 ) kappaletta, eli enemmän kuin Cn 2 jollekin vakiolle C, missä n on sanan pituus. Parempien algoritmien keksiminen ei kuitenkaan ole tämän kurssin asiaa. 4 Määritelmiä: Mitä tarkoittaa järjestää? Ennen kuin voidaan todistaa, että funktiomme todella järjestää sanan, täytyy määritellä, mitä tarkoittaa järjestää. Määrittelemme tämänkin induktiolla. Intuitiivisesti funktio s : Σ Σ on sanan järjestävä funktio, jos kaikille sanoille u, s(u) sisältää samat kirjaimet kuin u, ja s(u):ssa kirjaimet ovat järjestyksessä. Kirjaimet ovat järjestyksessä, jos peräkkäiset kirjaimet ovat aina kasvavassa järjestyksessä, eli u Σ on järjestyksessä jos kaikille i, u i u i+1, missä u i tarkoittaa u:n i:nnettä kirjainta. Voimme kirjoittaa tämän induktiolla: Määritellään järjestyksessä olevien sanojen joukko S Σ induktiivisesti: ɛ S, a S kaikille a Σ, ja jos b u S ja a b, a Σ, niin abu S. Nyt sana u on järjestyksessä jos u S, merkitään tätä ominaisuutta P (u). Todistetaan melko triviaali apulause. Lemma 1. Jos a, b Σ ja a b, niin ab S. Todistus. Suoraan määritelmästä b S eli b ɛ S, ja tällöin S:n määritelmän induktioaskeleesta saadaan a (b ɛ) = ab S. Määritellään sitten mitä tarkoittaa, että v:ssä ja u:ssa on samat kirjaimet. Yksi tapa määritellä tämä on, että kaikille kirjaimille a Σ, kirjainten a lukumäärä u:ssa ja v:ssä on sama. Merkitään tätä määrää u a ja määritellään se induktiivisesti: { 1 + u a jos b = a ɛ a = 0, b u a = u a muuten. Nyt sanotaan, että u:ssa ja v:ssä on samat kirjaimet, jos kaikille a Σ, u a = v a. Merkitään tätä ominaisuutta Q(u, v). Nyt halutaan, että funktiolla s : Σ Σ, joka määriteltiin Luvussa 2, on seuraava ominaisuus: u Σ : P (s(u)) Q(u, s(u)) eli s järjestää syötteeksi saamansa sanan u. Todistamme tämän seuraavassa luvussa. 5 Funktio s on todella järjestysfunktio Olemme määritelleet induktiivisesti funktion s ja määritelleet mitä tarkoittaa olla järjestyksessä ja sisältää samat kirjaimet. Nyt voimme todistaa induktiolla, että s on järjestysfunktio. Theorem 1. Olkoon u Σ mielivaltainen sana. Tällöin P (s(u)) ja Q(u, s(u)), eli s(u) on järjestyksessä ja sisältää samat kirjaimet kuin u. 3
4 Todistus. Todistetaan ensin ominaisuus P (s(u)), eli että s:n arvo s(u) on järjestyksessä jokaisella syötteellä. Pitää siis todistaa, että s(u) kuuluu joukkoon S, joka määriteltiin edellisessä luvussa. Todistetaan tämä rakenteellisella induktiolla: Lähtökohta on s(ɛ) = ɛ S. Induktioaskel on s(a u) = i(a, s(u)), missä induktio-oletuksesta seuraa, että s(u) S (koska u on yksinkertaisempi sana kuin a u). Riittää siis todistaa, että funktiolla i on ominaisuus, että jos v S ja a Σ, niin i(a, v) S. Todistetaan tämä rakenteellisella induktiolla v:n suhteen (mikä onnistuu, koska S määriteltiin induktiolla): Lähtökohdat ovat i(a, ɛ) ja i(a, b) kun a, b Σ. Tapaus i(a, ɛ) = a S on selvä. Tapauksessa i(a, b) joko a b tai b < a. Jos a b, niin i(a, b) = ab suoralla laskulla (eli suoraan määritelmästä), ja tällöin ab S Lemman 1 nojalla. Jos b < a, niin suoralla laskulla taas i(a, b) = ba ja taas ba S Lemman 1 nojalla. Joukon S määritelmässä askel on (kun nimetään vähän uudelleen kirjaimia), että jos c u S ja b c, b Σ, niin bcu S. Eli todistettaessa i:lle induktioaskelta tarvitsee käsitellä vain tapaus i(a, b (c u)) S missä c u S ja b c. Jos a b, niin suoralla laskulla (eli suoraan määritelmästä) i(a, b (c u))) = abcu, ja abcu S taas kerran suoraan S:n määritelmästä (bcu S ja a b joten tämä on vain S:n määritelmän induktioaskel). Muuten a > b jolloin i(a, b (c u)) = b i(a, c u) missä induktio-oletuksesta seuraa i(a, c u) S koska c u S on yksinkertaisempi kuin b (c u), ja koska b < a, erityisesti b a, joten S:n induktiivisesta määritelmästä seuraa i(a, b (c u)) = b i(a, c u) S. Olemme todistaneet, että todella P (s(u)) kaikille sanoille u. Todistetaan vielä Q(u, s(u)) kaikille sanoille u Σ. Tämä tehdään yllättäen rakenteellisella induktiolla u:n suhteen. Lähtötapaus Q(ɛ, s(ɛ)) on triviaali, koska s(ɛ) = ɛ ja selvästi ɛ a = ɛ a kaikille a Σ. Sitten induktioaskel: Olkoon a Σ, ja b u Σ. Nyt s(b u) = i(b, s(u)), ja induktio-oletuksesta seuraa u a = s(u) a kaikille a. Koska b u a = u a + 1 jos a = b ja b u a = u a jos a b, riittää todistaa, että i:llä on se ominaisuus, että jos a b niin i(b, v) a = v a ja jos a = b niin i(b, v) a = v a + 1 (eli toisin sanoen, i(b, v):ssa on v:n kirjaimet sekä yksi ylimääräinen b). Tämä todistetaan yllättäen rakenteellisella induktiolla v:n suhteen. Käsitellään tässä vain tapaukset b = a, tapaukset a b menevät aina samaan tyyliin: Lähtökohdat i(b, ɛ) a = b a = 1 = ɛ a + 1 kun b = a ja i(b, c) {bc, cb} 4
5 joten i(b, c) a = c a + 1 suoralla laskulla kun b = a (ja tosiaan tapaukset b a samaan malliin). Sitten induktioaskel S:n induktiivista määritelmää pitkin: Olkoon v = c (d v ) S, c d, c, d Σ. Jos b c niin i:n määritelmästä laskemalla saadaan Jos taas b > c niin i(b, c (d v ) a = bcdv a = 1 + cdv a = v a + 1 i(b, c (d v ) a = c i(b, d v ) a. Tässä i(b, d v ) a = d v + 1. Jos nyt c = a, niin v a = d v + 1 jolloin i(b, c (d v ) a = c i(b, d v ) a = 1 + i(b, d v ) a = d v + 2 = v a + 1 ja jos c a, niin lasku menee samaan tyyliin. 6 Lyhyesti formaalisista metodeista Formaalit metodit ovat tietojenkäsittelytieteen haara, jossa tutkitaan erityisesti ohjelmien toimivuuden aukotonta todistamista. Tämä pohjautuu siihen, että matematiikan kielellä voi ohjelmoida kaiken, minkä voi ylipäätään ohjelmoida, mutta matematiikassa voi mennä ohjelmointia pidemmälle, ja todistaa, että ohjelma toimii. Tässä on kaksi vaihetta: 1. Formalisoidaan ominaisuus, joka halutaan todistaa (esimerkissämme tämä ominaisuus on, että s järjestää sanan kirjaimet kasvavaan järjestykseen, eli Luvun 4 ominaisuudet P ja Q). 2. Todistetaan (esim. induktiolla) että algoritmilla on todella tämä formalisoitu ominaisuus. (Lause 1.) Ensimmäinen vaihe näistä on myös ohjelmointia, koska meidän on matematiikan kielellä ohjelmoitava, mitä tarkoittaa olla järjestyksessä. Tässä vaiheessa voi myös sattua virheitä! Onko hommassa siis mitään järkeä, jos virhe voi yhtä hyvin sattua siinä vaiheessa kun päätämme mitä haluamme todistaa? On! Jos myöhemmin vaihdamme algoritmia, jolla järjestämme sanan, esimerkiksi nopeampaan QuickSort- tai MergeSort-algoritmiin, 2 jotka myös on helppo ohjelmoida matematiikan kielellä, niin meidän ei tarvitse uudestaan määritellä mitä tarkoittaa olla järjetyksessä, vaan voimme suoraan lähteä todistamaan näiden algoritmien oikeellisuutta samalla määritelmällä. Eli siinä, missä algoritmi voi muuttua (koska sitä pitää esim. nopeuttaa, tai muuten tehostaa), määritelmät kuten olla järjestyksessä eivät yleensä muutu (koska ne ovat vain määritelmiä, eikä niiden tarvitse olla tehokkaita ). Eli Lukua 4 ei tarvitsisi muuttaa lainkaan, vaikka funktion s induktiivinen/rekursiivinen määritelmä vaihdettaisiin tehokkaampaan! 2 Näistä löytyy esim. Wikipediasta selkeät esitykset. 5
6 Toinen vaihe, jossa ominaisuus todistetaan, voi myös teoriassa mennä vikaan, jos sen tekee käsin: Joskus todistus on vaikeampi ymmärtää, kuin intuitiivinen selitys, eikä sitä hullukaan jaksa lukea. Esimerkiksi yllä oleva todistus, että järjestysfunktio s todella järjestää syötteensä, on suoraan sanottuna aika hirvittävä (eikä edes käsittele kaikkia tapauksia). Oikeassa elämässä algoritmit ovat kuitenkin paljon monimutkaisempia, ja algoritmista ei välttämättä oikeasti tiedä toimiiko se, ennen kuin todistaa asian. Tällöin todistuksessa hypätään tylsät osat yli, ja selitetään vain olennainen (mutta tällä tarkkuudella tehtynä Lauseessa 1 ei olisi mitään todistamista). Kuitenkin jo QuickSortin tapauksessa helpoin tapa selittää toimivuus, on selittää miksi funktion rekursiivinen kutsu tuottaa validin induktioaskeleen. Jos taas ollaan kiinnostuttu yksinkertaisista algoritmeista kuten s:lle annettu kaava, ja halutaan olla todella varmoja, että ohjelma todella toimii oikein (kaikissa tilanteissa), voi todistuksen voi kirjoittaa jossain todistustyökalussa (esim. Isabelle, Coq, HOL, Mizar...) ja käskeä tietokoneen tarkistamaan sen. Tämä vaatii toistaiseksi enemmän työtä, kuin todistuksen selittäminen ihmiselle, mutta todistustyökalut muuttuvat kaiken aikaa helppokäyttöisemmiksi, ja osaavat jo nyt usein automatisoida monia ilmeisiä askelia todistuksessa. Yllä annetun kaltainen induktiotodistus sopii periaatteessa melko suoraan tällaiseen työkaluun, joskin vaatii työkalun hyvää teknistä hallintaa. 6
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
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ä
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,
Rekursiiviset palautukset [HMU 9.3.1]
Rekursiiviset palautukset [HMU 9.3.1] Yleisesti sanomme, että ongelma P voidaan palauttaa ongelmaan Q, jos mistä tahansa ongelmalle Q annetusta ratkaisualgoritmista voidaan jotenkin muodostaa ongelmalle
Tietojenkäsittelyteorian alkeet, osa 2
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 12. syyskuuta 2016 Sisällys vs Ovat eri asioita! Älä sekoita niitä. Funktiot Funktio f luokasta A luokkaan B, merkitään
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
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,
Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet
TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 24. toukokuuta 2013 Sisällys Formaalit kielet On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman
DFA:n käyttäytyminen ja säännölliset kielet
säännölliset kielet TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 9. marraskuuta 2015 Sisällys toiminta formaalisti Olkoon M = (Q, Σ, δ, q 0, F) deterministinen
Äärellisten automaattien ja säännöllisten kielten ekvivalenssi
Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Osoitamme seuraavan keskeisen tuloksen: Lause 1.8: [Sipser Thm. 1.54] Kieli on säännöllinen, jos ja vain jos jokin säännöllinen lauseke esittää
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
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
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma
Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä 1 1. Etsi lukujen 4655 ja 12075 suurin yhteinen tekijä ja lausu se kyseisten lukujen lineaarikombinaationa ilman laskimen
Todistusmenetelmiä Miksi pitää todistaa?
Todistusmenetelmiä Miksi pitää todistaa? LUKUTEORIA JA TO- DISTAMINEN, MAA11 Todistus on looginen päättelyketju, jossa oletuksista, määritelmistä, aksioomeista sekä aiemmin todistetuista tuloksista lähtien
Pysähtymisongelman ratkeavuus [Sipser luku 4.2]
Pysähtymisongelman ratkeavuus [Sipser luku 4.2] Osoitamme nyt vihdoin, että jotkin Turing-tunnistettavat kielet ovat ratkeamattomia ja jotkin kielet eivät ole edes Turing-tunnistettavia. Lisäksi toteamme,
f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))
Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia
Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. ( ) Jeremias Berg
Diskreetin Matematiikan Paja Ratkaisuhahmotelmia viikko 1. (14.3-18.3) Jeremias Berg 1. Luettele kaikki seuraavien joukkojen alkiot: (a) {x Z : x 3} (b) {x N : x > 12 x < 7} (c) {x N : 1 x 7} Ratkaisu:
Matematiikan tukikurssi, kurssikerta 2
Matematiikan tukikurssi kurssikerta 1 Relaatioista Oletetaan kaksi alkiota a ja b. Näistä kumpikin kuuluu johonkin tiettyyn joukkoon mahdollisesti ne kuuluvat eri joukkoihin; merkitään a A ja b B. Voidaan
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
Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).
Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)). Esimerkkejä: Σ koostuu kaikista aakkoston Σ merkkijonoista ja
Ensimmäinen induktioperiaate
1 Ensimmäinen induktioperiaate Olkoon P(n) luonnollisilla luvuilla määritelty predikaatti. (P(n) voidaan lukea luvulla n on ominaisuus P.) Todistettava, että P(n) on tosi jokaisella n N. ( Kaikilla luonnollisilla
Ensimmäinen induktioperiaate
Ensimmäinen induktioperiaate Olkoon P(n) luonnollisilla luvuilla määritelty predikaatti. (P(n) voidaan lukea luvulla n on ominaisuus P.) Todistettava, että P(n) on tosi jokaisella n N. ( Kaikilla luonnollisilla
Ratkeavuus ja efektiivinen numeroituvuus
Luku 6 Ratkeavuus ja efektiivinen numeroituvuus Proseduurit Olkoon A aakkosto. Proseduuri aakkoston A sanoille on mikä hyvänsä prosessi (algoritmi) P, jolle annetaan syötteeksi sana w A, ja joka etenee
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
Lukion matematiikkakilpailun alkukilpailu 2015
Lukion matematiikkakilpailun alkukilpailu 015 Avoimen sarjan tehtävät ja niiden ratkaisuja 1. Olkoot a ja b peräkkäisiä kokonaislukuja, c = ab ja d = a + b + c. a) Osoita, että d on kokonaisluku. b) Mitä
Luonnollisten lukujen ja kokonaislukujen määritteleminen
Luonnollisten lukujen ja kokonaislukujen määritteleminen LuK-tutkielma Jussi Piippo Matemaattisten tieteiden yksikkö Oulun yliopisto Kevät 2017 Sisältö 1 Johdanto 2 2 Esitietoja 3 2.1 Joukko-opin perusaksioomat...................
Johdatus lukuteoriaan Harjoitus 11 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma
Johdatus lukuteoriaan Harjoitus syksy 008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä Todista ketjumurtoluvun peräkkäisille konvergenteille kaava ( ) n induktiolla käyttämällä jonojen ( ) ja ( ) rekursiokaavaa.
isomeerejä yhteensä yhdeksän kappaletta.
Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua
Matematiikan mestariluokka, syksy 2009 7
Matematiikan mestariluokka, syksy 2009 7 2 Alkuluvuista 2.1 Alkuluvut Määritelmä 2.1 Positiivinen luku a 2 on alkuluku, jos sen ainoat positiiviset tekijät ovat 1 ja a. Jos a 2 ei ole alkuluku, se on yhdistetty
Johdatus diskreettiin matematiikkaan (syksy 2009) Harjoitus 3, ratkaisuja Janne Korhonen
Johdatus diskreettiin matematiikkaan (syksy 009) Harjoitus 3, ratkaisuja Janne Korhonen 1. Väite: Funktio f : [, ) [1, ), missä on bijektio. f(x) = x + 4x + 5, Todistus: Luentomateriaalissa todistettujen
A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.
Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =
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
Johdatus matematiikkaan
Johdatus matematiikkaan Luento 4 Mikko Salo 4.9.2017 Sisältö 1. Rationaali ja irrationaaliluvut 2. Induktiotodistus Rationaaliluvut Määritelmä Reaaliluku x on rationaaliluku, jos x = m n kokonaisluvuille
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.
Matemaattisen analyysin tukikurssi
Matemaattisen analyysin tukikurssi 5. Kurssikerta Petrus Mikkola 10.10.2016 Tämän kerran asiat Raja-arvo ja toispuolinen raja-arvo Funktion suurin ja pienin arvo Lukujono Lukujonon suppeneminen Kasvava
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. syyskuuta 2016 Sisällys a https://tim.jyu.fi/view/kurssit/tie/ tiea241/2016/videoiden%20hakemisto Matemaattisen
Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista
Matematiikan johdantokurssi, syksy 06 Harjoitus, ratkaisuista. Valitse seuraaville säännöille mahdollisimman laajat lähtöjoukot ja sopivat maalijoukot niin, että syntyy kahden muuttujan funktiot (ks. monisteen
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 ari.vesanen (at) oulu.fi 5. Rekursio ja induktio Rekursio tarkoittaa jonkin asian määrittelyä itseensä viittaamalla Tietojenkäsittelyssä algoritmin määrittely niin,
Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.
Kombinatoriikka, kesä 2010 Harjoitus 1 Ratkaisuehdotuksia (RT (5 sivua Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. 1. Osoita, että vuoden
Johdatus matematiikkaan
Johdatus matematiikkaan Luento 5 Mikko Salo 5.9.2017 The natural development of this work soon led the geometers in their studies to embrace imaginary as well as real values of the variable.... It came
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
Matemaattisten työvälineiden täydentäviä muistiinpanoja
Matemaattisten työvälineiden täydentäviä muistiinpanoja Antti-Juhani Kaijanaho 7 maaliskuuta 0 Deduktiivinen ja induktiivinen päättely Deduktiivisessa päättelyssä johtopäätös seuraa aukottomasti premisseistä
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
Algoritmit 2. Demot Timo Männikkö
Algoritmit 2 Demot 4 24.-25.4.2019 Timo Männikkö Tehtävä 1 (a) int laske(n) { if (n
Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa.
Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Vastaus 1. Lasketaan joukkojen alkiot, ja todetaan, että niitä on 3 molemmissa. Vastaus 2. Vertaillaan
10 Matriisit ja yhtälöryhmät
10 Matriisit ja yhtälöryhmät Tässä luvussa esitellään uusi tapa kirjoittaa lineaarinen yhtälöryhmä matriisien avulla käyttäen hyväksi matriisikertolaskua sekä sarakevektoreita Pilkotaan sitä varten yhtälöryhmän
Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }?
Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Miten perustella, että joukossa A = {a, b, c} on yhtä monta alkiota kuin joukossa B = {d, e, f }? Vastaus
TIEA341 Funktio-ohjelmointi 1, kevät 2008
TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 10 Todistamisesta Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 21. tammikuuta 2008 Samuuden todistaminen usein onnistuu ihan laskemalla
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 1 Määrittelyjoukoista Tarkastellaan funktiota, jonka määrittelevä yhtälö on f(x) = x. Jos funktion lähtöjoukoksi määrittelee vaikkapa suljetun välin [0, 1], on funktio
1 Kertaus. Lineaarinen optimointitehtävä on muotoa:
1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n
1 Lukujen jaollisuudesta
Matematiikan mestariluokka, syksy 2009 1 1 Lukujen jaollisuudesta Lukujoukoille käytetään seuraavia merkintöjä: N = {1, 2, 3, 4,... } Luonnolliset luvut Z = {..., 2, 1, 0, 1, 2,... } Kokonaisluvut Kun
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina
Hakupuut tässä luvussa tarkastelemme puita tiedon tallennusrakenteina hakupuun avulla voidaan toteuttaa kaikki joukko-tietotyypin operaatiot (myös succ ja pred) pahimman tapauksen aikavaativuus on tavallisella
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
MS-C1340 Lineaarialgebra ja
MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Matriisinormi, häiriöalttius Riikka Kangaslampi Kevät 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Matriisinormi Matriisinormi Matriiseille
Säännöllisten kielten sulkeumaominaisuudet
Säännöllisten kielten sulkeumaominaisuudet Osoitamme nyt, että säännöllisten kielten joukko on suljettu yhdisteen, konkatenaation ja tähtioperaation suhteen. Toisin sanoen jos A ja B ovat säännöllisiä,
Derivaattaluvut ja Dini derivaatat
Derivaattaluvut Dini derivaatat LuK-tutkielma Helmi Glumo 2434483 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2016 Sisältö Johdanto 2 1 Taustaa 2 2 Määritelmät 4 3 Esimerkkejä lauseita 7 Lähdeluettelo
Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8
Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8 Tuntitehtävät 1-2 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 5- loppuviikon harjoituksissa. Kotitehtävät 3-4 tarkastetaan loppuviikon
Johdatus matemaattiseen päättelyyn
Johdatus matemaattiseen päättelyyn Maarit Järvenpää Oulun yliopisto Matemaattisten tieteiden laitos Syyslukukausi 2015 1 Merkintöjä 2 Todistamisesta 2 3 Joukko-oppia Tässä luvussa tarkastellaan joukko-opin
Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa
Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa - johdanto - matemaattinen induktiotodistus - matriisien kertolaskun käyttömahdollisuus - käsinlaskuesimerkkejä - kaikki välivaiheet esittävä
Säännöllisen kielen tunnistavat Turingin koneet
186 Säännöllisen kielen tunnistavat Turingin koneet Myös säännöllisen kielen hyväksyvien Turingin koneiden tunnistaminen voidaan osoittaa ratkeamattomaksi palauttamalla universaalikielen tunnistaminen
Tehtävä 1. Päättele resoluutiolla seuraavista klausuulijoukoista. a. 1 {p 3 } oletus. 4 {p 1, p 2, p 3 } oletus. 5 { p 1 } (1, 2) 7 (4, 6)
Tehtävä 1 Päättele resoluutiolla seuraavista klausuulijoukoista. a. {{p 0 }, {p 1 }, { p 0, p 2 }, {p 1, p 2, p 3 }, { p 2, p 3 }, {p 3 }}, b. {{ p 0, p 2 }, {p 0, p 1 }, {{ p 1, p 2 }, { p 2 }}, c. {{p
Sisältö. Sarjat 10. syyskuuta 2005 sivu 1 / 17
Sarjat 10. syyskuuta 2005 sivu 1 / 17 Sisältö 1 Peruskäsitteistöä 2 1.1 Määritelmiä 2 1.2 Perustuloksia 4 2 Suppenemistestejä positiivitermisille sarjoille 5 3 Itseinen ja ehdollinen suppeneminen 8 4 Alternoivat
Joukot. Georg Cantor ( )
Joukot Matematiikassa on pyrkimys määritellä monimutkaiset asiat täsmällisesti yksinkertaisempien asioiden avulla. Tarvitaan jokin lähtökohta, muutama yleisesti hyväksytty ja ymmärretty käsite, joista
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,...)
Luonnollisten lukujen induktio-ominaisuudesta
Solmu 1/2019 19 Luonnollisten lukujen induktio-ominaisuudesta Tuomas Korppi Johdanto Kuten lukija varmaan tietääkin, luonnollisille luvuille voidaan tehdä induktiotodistuksia. Tämä mahdollisuus on ominainen
58131 Tietorakenteet ja algoritmit (syksy 2015)
58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen
b) Määritä myös seuraavat joukot ja anna kussakin tapauksessa lyhyt sanallinen perustelu.
Johdatus yliopistomatematiikkaan Helsingin yliopisto, matematiikan ja tilastotieteen laitos Kurssikoe 23.10.2017 Ohjeita: Vastaa kaikkiin tehtäviin. Ratkaisut voi kirjoittaa samalle konseptiarkille, jos
Predikaattilogiikan malli-teoreettinen semantiikka
Predikaattilogiikan malli-teoreettinen semantiikka February 4, 2013 Muistamme, että predikaattilogiikassa aakkosto L koostuu yksilövakioista c 0, c 1, c 2,... ja predikaattisymboleista P, R,... jne. Ekstensionaalisia
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
Määritelmä, alkuluku/yhdistetty luku: Esimerkki . c) Huomautus Määritelmä, alkutekijä: Esimerkki
Alkuluvut LUKUTEORIA JA TODISTAMINEN, MAA11 Jokainen luku 0 on jaollinen ainakin itsellään, vastaluvullaan ja luvuilla ±1. Kun muita eri ole, niin kyseinen luku on alkuluku. Määritelmä, alkuluku/yhdistetty
Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin
Yhteydettömien kielioppien ja pinoautomaattien yhteys [Sipser s. 117 124] Todistamme, että yhteydettömien kielioppien tuottamat kielet ovat tasan samat kuin ne, jotka voidaan tunnistaa pinoautomaatilla.
Chomskyn hierarkia ja yhteysherkät kieliopit
Chomskyn hierarkia ja yhteysherkät kieliopit Laskennan teorian opintopiiri Tuomas Hakoniemi 21. helmikuuta 2014 Käsittelen tässä laskennan teorian opintopiirin harjoitustyössäni muodollisten kielioppien
Automaatit. Muodolliset kielet
Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten
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
Positiivitermisten sarjojen suppeneminen
Positiivitermisten sarjojen suppeneminen Jono (b n ) n= on kasvava, jos b n+ b n kaikilla n =, 2,... Lemma Jokainen ylhäältä rajoitettu kasvava jono (b n ) n= raja-arvo on lim n b n = sup n Z+ b n. suppenee
missä on myös käytetty monisteen kaavaa 12. Pistä perustelut kohdilleen!
Matematiikan johdantokurssi Kertausharjoitustehtävien ratkaisuja/vastauksia/vihjeitä. Osoita todeksi logiikan lauseille seuraava: P Q (P Q). Ratkaisuohje. Väite tarkoittaa, että johdetut lauseet P Q ja
2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)
Approbatur 3, demo, ratkaisut Sovitaan, että 0 ei ole luonnollinen luku. Tällöin oletusta n 0 ei tarvitse toistaa alla olevissa ratkaisuissa. Se, pidetäänkö nollaa luonnollisena lukuna vai ei, vaihtelee
Johdatus diskreettiin matematiikkaan Harjoitus 2, Osoita että A on hyvin määritelty. Tee tämä osoittamalla
Johdatus diskreettiin matematiikkaan Harjoitus 2, 23.9.2015 1. Osoita että A on hyvin määritelty. Tee tämä osoittamalla a) että ei ole olemassa surjektiota f : {1,, n} {1,, m}, kun n < m. b) että a) kohdasta
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
Nopea kertolasku, Karatsuban algoritmi
Nopea kertolasku, Karatsuban algoritmi Mikko Männikkö 16.8.2004 Lähde: ((Gathen and Gerhard 1999) luku II.8) Esityksen kulku Algoritmien analysointia (1), (2), (3), (4) Klassinen kertolasku Parempi tapa
Lukujonon raja-arvo 1/7 Sisältö ESITIEDOT: lukujonot
Lukujonon raja-arvo 1/7 Sisältö Esimerkki lukujonon raja-arvosta Lukujonossa a 1,a 2,a 3,... (jossa on äärettömän monta termiä) voivat luvut lähestyä jotakin arvoa, kun jonossa edetään yhä pidemmälle.
Karteesinen tulo. Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla 1 / 21
säilyy Olkoot A = {1, 2, 3, 5} ja B = {a, b, c}. Näiden karteesista tuloa A B voidaan havainnollistaa kuvalla c b a 1 2 3 5 1 / 21 säilyy Esimerkkirelaatio R = {(1, b), (3, a), (5, a), (5, c)} c b a 1
Relaation ominaisuuksia. Ominaisuuksia koskevia lauseita Sulkeumat. Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,
Relaation Joukossa X määritelty relaatio R on (r) refleksiivinen, jos xrx kaikilla x X, (ir) irrefleksiivinen, jos x Rx kaikilla x X, Relaation Joukossa X määritelty relaatio R on (r) refleksiivinen, jos
Konnektiivit. On myös huomattava, että vain joillakin luonnollisen kielen konnektiiveilla on vastineensa lauselogiikassa.
Johdanto Lauselogiikassa tutkitaan sekä syntaktisella että semanttisella tasolla loogisia konnektiiveja ja niiden avulla muodostettuja kaavoja sekä myös formaalia päättelyä. Tarkastelemme aluksi klassisen
Esimerkkejä polynomisista ja ei-polynomisista ongelmista
Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia
T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )
T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen
Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,
Relaation Joukossa X määritelty relaatio R on (r) refleksiivinen, jos xrx kaikilla x X, (ir) irrefleksiivinen, jos x Rx kaikilla x X, (s) symmetrinen, jos xry yrx, (as) antisymmetrinen, jos xry yrx x =
Tenttiin valmentavia harjoituksia
Tenttiin valmentavia harjoituksia Alla olevissa harjoituksissa suluissa oleva sivunumero viittaa Juha Partasen kurssimonisteen siihen sivuun, jolta löytyy apua tehtävän ratkaisuun. Funktiot Harjoitus.
LUKUTEORIA johdantoa
LUKUTEORIA johdantoa LUKUTEORIA JA TODISTAMINEN, MAA11 Lukuteorian tehtävä: Lukuteoria tutkii kokonaislukuja, niiden ominaisuuksia ja niiden välisiä suhteita. Kokonaislukujen maailma näyttää yksinkertaiselta,
= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120
Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen
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,
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman
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
Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.
TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 10. joulukuuta 2015 Sisällys TM vs yleiset kieliopit Lause Jokaiselle kielelle A seuraavat ovat yhtäpitävät: 1.
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. maaliskuuta 2011
TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 16. maaliskuuta 2011 Sisällys Sisällys Väitelauseet lause (tai virke), joka sanoo jonkin asian pitävän paikkaansa
Matematiikan ohjelmointi. Joakim von Wright
Matematiikan ohjelmointi Joakim von Wright Formaali menetelmä käytännössä miten todistetaan ohjelman oikeellisuus? miltä todistus näyttn yttää? isot ohjelmat? miljoona riviä koodia nykyajan ohjelmat? rinnakkaisuus,
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
Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden
Ohjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen