Ohjelmistotekniikan matemaattiset menetelmät tentin kysymykset, vastaukset, arvosteluperusteet ja vastausohjeita

Samankaltaiset tiedostot
ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 5 Demonstraatiotehtävien ratkaisut. ja kaikki a Σ ovat säännöllisiä lausekkeita.

Ohjelmistotekniikan matemaattiset menetelmät tentin kysymykset, vastaukset ja arvosteluperiaatteita

Säännöllisten operaattoreiden täydentäviä muistiinpanoja

Laskennan mallit (syksy 2010) 1. kurssikoe, ratkaisuja

ICS-C2000 Tietojenkäsittelyteoria Kevät 2015

Olkoon. M = (Q, Σ, δ, q 0, F)

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Olkoon. äärellinen automaatti. Laajennetaan M:n siirtymäfunktio yksittäisistä syötemerkeistä merkkijonoihin: jos q Q, x Σ, merkitään

Riemannin integraalista

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 22. syyskuuta 2016

Matematiikan tukikurssi

II.1. Suppeneminen., kun x > 0. Tavallinen lasku

Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Kuvausta f sanotaan tällöin isomorfismiksi.

3.3 KIELIOPPIEN JÄSENNYSONGELMA Ratkaistava tehtävä: Annettu yhteydetön kielioppi G ja merkkijono x. Onko

Laskennan mallit (syksy 2007) Harjoitus 5, ratkaisuja

Kieli, merkitys ja logiikka, kevät 2011 HY, Kognitiotiede. Vastaukset 2.

OSA 1: POLYNOMILASKENNAN KERTAUSTA, BINOMIN LASKUSÄÄNTÖJÄ JA YHTÄLÖNRATKAISUA

Automaatin tunnistama kieli on sen hyväksymien merkkijonojen joukko. Täsmällinen muotoilu: δ,q 0,{q 2,q 3,q 6 }), missä

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

2.2 Automaattien minimointi

5 Epäoleellinen integraali

Riemannin integraali

Q = {q 1, q 2, q 3, q 4 } Σ = {a, b} F = {q 4 },

2.1 Vaillinaiset yhtälöt

1. Derivaatan Testi. Jos funktio f on jatkuva avoimella välillä ]a, b[ ja x 0 ]a, b[ on kriit. tai singul. piste niin. { f (x) > 0, x ]a, x 0 [

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

θ 1 θ 2 γ γ = β ( n 2 α + n 2 β = l R α l s γ l s 22 LINSSIT JA LINSSIJÄRJESTELMÄT 22.1 Linssien kuvausyhtälö

Tee B-osion konseptiin etusivulle pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Välivaiheet perustelevat vastauksesi!

LINSSI- JA PEILITYÖ TEORIAA. I Geometrisen optiikan perusaksioomat

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

Reaalinen lukualue. Millainen on luku, jossa on päättymätön ja jaksoton desimaalikehitelmä?

Syksyn 2015 Pitkän matematiikan YO-kokeen TI-Nspire CAS -ratkaisut

Laskennan mallit Erilliskoe , ratkaisuja (Jyrki Kivinen)

Ristitulo ja skalaarikolmitulo

Preliminäärikoe Pitkä Matematiikka

11. MÄÄRÄTTY INTEGRAALI JA TILAVUUS

10. MÄÄRÄTYN INTEGRAALIN KÄYTTÖ ERÄIDEN PINTA-ALOJEN LASKEMISESSA

Sähkömagneettinen induktio

Neliömatriisin A determinantti on luku, jota merkitään det(a) tai A. Se lasketaan seuraavasti: determinantti on

A-Osio. Valitse seuraavista kolmesta tehtävästä kaksi, joihin vastaat. A-osiossa ei saa käyttää laskinta.

6 Integraalilaskentaa

MS-A010{2,3,4,5} (SCI, ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 8: Integraalifunktio ja epäoleellinen integraali

Diskreetin matematiikan perusteet Laskuharjoitus 6 / vko 13

7.lk matematiikka. Geometria 1

Numeeriset menetelmät TIEA381. Luento 9. Kirsi Valjus. Jyväskylän yliopisto. Luento 9 () Numeeriset menetelmät / 29

Paraabelikin on sellainen pistejoukko, joka määritellään urakäsitteen avulla. Paraabelin jokainen piste toteuttaa erään etäisyysehdon.

Kognitiivinen mallintaminen I, kevät Harjoitus 1. Joukko-oppia. MMIL, luvut 1-3 Ratkaisuehdotuksia, MP

Painopiste. josta edelleen. x i m i. (1) m L A TEX 1 ( ) x 1... x k µ x k+1... x n. m 1 g... m n g. Kuva 1. i=1. i=k+1. i=1

9 A I N. Alkuperäinen piiri. Nortonin ekvivalentti R T = R N + - U T = I N R N. Théveninin ekvivalentti DEE SÄHKÖTEKNIIKAN PERUSTEET

3 Integraali ja derivaatta

Tehtävä 1. Jatka loogisesti oheisia jonoja kahdella seuraavaksi tulevalla termillä. Perustele vastauksesi

Käydään läpi: ääriarvo tarkastelua, L Hospital, integraalia ja sarjoja.

T Kevät 2009 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (Predikaattilogiikka )

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

x k 1 Riemannin summien käyttö integraalin approksimointiin ei ole erityisen tehokasta; jatkuvasti derivoituvalle funktiolle f virhe b

Vastaa tehtäviin 1-4 ja valitse toinen tehtävistä 5 ja 6. Vastaat siis enintään viiteen tehtävään.

TAMPEREEN YLIOPISTO Valinnaisten opintojen syventäviin opintoihin kuuluva tutkielma. Lauri Kumpulainen. Büchin automaateista

Täydentäviä muistiinpanoja epädeterministisistä äärellisistä automaateista

Y56 Mikron jatkokurssi kl 2008: HARJOITUSTEHTÄVÄT 2 Mallivastaukset

R4 Harjoitustehtävien ratkaisut

Polynomien laskutoimitukset

Pythagoraan lause. Pythagoras Samoslainen. Pythagoraan lause

Esimerkki 8.1 Määritellään operaattori A = x + d/dx. Laske Af, kun f = asin(bx). Tässä a ja b ovat vakioita.

VEKTOREILLA LASKEMINEN

4 DETERMINANTTI JA KÄÄNTEISMATRIISI

Näytä tai jätä tarkistettavaksi tämän jakson tehtävät viimeistään tiistaina ylimääräisessä tapaamisessa.

SARJAT JA DIFFERENTIAALIYHTÄLÖT Funktiojonot 1

a = x 0 < x 1 < x 2 < < x n = b f(x) dx = I. lim f(x k ) x k=1

763333A KIINTEÄN AINEEN FYSIIKKA Ratkaisut 1 Kevät 2014

Kertymäfunktio. Kertymäfunktio. Kertymäfunktio: Mitä opimme? 2/2. Kertymäfunktio: Mitä opimme? 1/2. Kertymäfunktio: Esitiedot

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

2.4 Pienimmän neliösumman menetelmä

Mutta esimerkiksi 0-kertaisesti pumpattaessa: Siten L ei voi olla säännöllinen.

Sinilause ja kosinilause

MS-A010{2,3,4,5} (SCI,ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 7: Integraali ja analyysin peruslause

sin θ θ θ r 2 sin 2 θ φ 2 = 0.

TEHTÄVÄ 1. Olkoon (f n ) jono jatkuvia funktioita f n : [a, b] R, joka suppenee välillä [a, b] tasaisesti kohti funktiota f : [a, b] R.

3 Mallipohjainen testaus ja samoilutestaus

Teoriaa tähän jaksoon on talvikurssin luentomonisteessa luvussa 10. Siihen on linkki sivulta

1.3 Toispuoleiset ja epäoleelliset raja-arvot

Digitaalinen videonkäsittely Harjoitus 5, vastaukset tehtäviin 25-30

Matematiikan tukikurssi

VEKTOREILLA LASKEMINEN

Rekursioyhtälön ratkaisutapa #1: iteratiivinen korvaus

.) (b) Vertaa p :tä vastaavaa kineettistä energiaa perustilan kokonaisenergiaan. ( ) ( ) = = Ek

Kirjallinen teoriakoe

MITEN MÄÄRITÄN ASYMPTOOTIT?

Matematiikan johdantokurssi, syksy 2017 Harjoitus 6, ratkaisuista. 1. Onko jokin demojen 5 tehtävän 3 relaatioista

4 Taso- ja avaruuskäyrät

7 Funktiosarjoista. 7.1 Funktiosarjojen suppeneminen

Integraalilaskentaa. 1. Mihin integraalilaskentaa tarvitaan? MÄNTÄN LUKIO

2.5 Säännöllisten kielten rajoituksista

TIEA241 Automaatit ja kieliopit

HAVAINNOINTI JA TUTKIMINEN

Differentiaali- ja integraalilaskenta 1 (CHEM) Laskuharjoitus 4 / vko 47, mallivastaukset

Viikon aiheet. Pinta-ala

Mikrotalousteoria 2, 2008, osa III

lim + 3 = lim = lim (1p.) (3p.) b) Lausekkeen täytyy supistua (x-2):lla, joten osoittajan nollakohta on 2.

Transkriptio:

Ohjelmistotekniikn mtemttiset menetelmät tentin 16.12.2003 kysymykset, vstukset, rvosteluperusteet j vstusohjeit Antti Vlmri TTY / Ohj 20. tmmikuut 2004 Käyn tässä tekstissä perusteellisesti läpi opintojkson 810000 Ohjelmistotekniikn mtemttiset menetelmät 16.12.2003 pidetyn tentin kysymykset, vstukset j rvosteluperusteet sekä pohdin, miten vstukset voi löytää. Myös kerron joidenkin tehtävien tustst, sekä nnn yleisiä vstusvinkkejä. Vstuksen voi usein löytää monell tvll, j smlle tehtävälle stt oll useit oikeit vstuksi. Tässä tekstissä nnn pääsääntöisesti vin yhden. Vstuksen löytämistvoiss suosin niitä, jotk edellyttävät mhdollisimmn vähän iempien kysymysten vstusten osmist. Näin siksi, että opiskelijn sem tentissä on sitä prempi, mitä vähemmän kyvyttömyys vstt johonkin tehtävään hitt myöhempiin tehtäviin vstmist. Arvosteluperusteet koskevt vin kyseistä tenttiä. Täysin moitteettomt vstukset tuottvt tietysti in täydet pisteet, mutt hiemn virheellisten vstusten pisteytys voi vihdell tenttikerrst toiseen, smoin vstusten, jotk ovt selkeästi väärin mutt joiss on silti jotkin oikensuuntist. Jos esimerkiksi smntpinen huolimttomuusvirhe toistuu usess tehtävässä, ei välttämättä ole mielekästä vähentää siitä jok tehtävän kohdll yhtä pljon pisteitä. Jos olen erityisesti vroittnut jostkin virhetyypistä juuri ennen tenttiä, on todennäköistä, että vähennän sellisist virheistä siinä tentissä enemmän pisteitä kuin iemmin. Tehtävän pisteet jkutuvt tsn lkohtien kesken. Tehtävissä 9 j 10 täysin oike vstus oli 6 pisteen rvoinen j tehtävän 1 lkohdiss 4 pisteen rvoinen. Muiss tehtävissä täysin oike vstus oli 3 pisteen rvoinen. Vjit mutt noll suurempi pistemääriä join vin niissä tpuksiss, joiss vstus jkntuu luonnostn osiin jotk voi pisteyttää erikseen, ti joiss vstus oli selvästi peritteeltn oikein mutt sisälsi olennisen huolimttomuusvirheen. Tästä syystä vjt noll suuremmt pistemäärät ovt melko hrvinisi. Tenttipperin luss oli seurv koht: Kirjoit lukukelpoist! Vstukselt ei vdit enempää kuin mihin til riittää. Sivuj on kksi. Opiskelijnro Sähköposti nimi llekirjoitus 1

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 2 Kirjoit lukukelpoist: Olen yleensä snut kikist eteeni tulleist vstusppereist selvää, mutt joskus joudun tvmn ik lill. On tilnteit, joiss hyvinkin pieni epäselvyys kirjoituksess voi rtkist, onko vstus oike. Esimerkiksi käsin kirjoitetut kirjimet n j h muistuttvt helposti toisin. Sen vuoksi vältän symbolien n j h käyttämistä muuttujin smss tehtävässä, j muutenkin koetn lti kysymykset siten, että epäselvyyksien mhdollisuus olisi mhdollisimmn pieni. Ain en siinä kuitenkn onnistu. Jos olen vrm siitä, mitä opiskelij on trkoittnut, tulkitsen epäselvän kohdn sen mukisesti. Muuss tpuksess vlitsen yleensä opiskelijlle epäedullisemmn vihtoehdon. Näin teen siksi, että mielestäni on kirjoittjn vstuull, että hänen snomns on yksikäsitteinen. Se on myös tämän opintojkson hengen mukist: tvoitteenhn on vähentää monikäsitteisyyden iheuttmi ongelmi ohjelmistotyössä. Os vstusppereist on hyvin sotkuisi. Jos on liin vike kirjoitt vstus suorn ruutuun, se knntt suunnitell suttupperill j kopioid sieltä vstuspperiin kun se on vlmis. Vstukselt ei vdit enempää kuin mihin til riittää: Hlun vstukset kysymyspperille eikä erilliselle pperille siksi, että silloin eri vstjien vstukset ovt in smss kohdss pperi, joten voin etsiskelemättä käydä smn tehtävän kikki vstukset läpi ennen seurvn tehtävään siirtymistä. Tämä vähentää rvosteluvirheiden vr j lisää todennäköisyyttä sille, että nnn smnlisille osittin oikeille vstuksille smn pistemäärän. Lisäksi tiln rjllisuus estää minu liiksi pisuttmst kysymysten määrää. Vstukselle vrttu til ei riipu pelkästään mllivstukseni trvitsemst tilst, vn siihen vikutt pljon se, miten sn ldottu tekstin j vstusruudut sivulle järkevästi. Vstustiln kokoon vikutt hiemn myös pyrkimykseni oll ntmtt sen välityksellä vihjettä siitä, mihin kohtn trvitn pitkä j mihin lyhyt vstus. Mllivstukseni mhtuu nnettuun tiln siististi j sullomtt. On luonnollist, että opiskelij ei välttämättä s si muotoiltu yhtä tiiviisti, vrsinkin kun mitään tärkeäksi koettu ei tietenkään uskll jättää pois. Vstus s siis venyä nnetun tiln yli. Vstus ei kuitenkn s venyä miten pljon thns. Asin osmiseen kuuluu myös kyky erott olenninen epäolennisest. Kohtuuton venyminen ei tähän mennessä ole ollut ongelm, joten en kirjoit tästä sist tällä kert tämän enempää. Aiempi vihje vstuksen suunnittelemisest suttupperill pätee tässäkin. Opiskelijnumero: Opiskelijnumero knntt kirjoitt selvästi. Tenttipperin tpuksess opiskelijnumero voi verrt nimeen, minkä nsiost huomn virheelliset opiskelijnumerot ennen tuloslistn ntmist eteenpäin. Virheellisistä numeroist iheutuu kuitenkin ylimääräistä työtä. Silloin kun nntte opiskelijnumeronne ilmn että smss yhteydessä nntte nimenne, on vrn, että suorituksenne kirjntuu väärälle opiskelijlle. Näin voi oll esimerkiksi lskuhrjoitusten yhteydessä. Kyllä nämä yleensä sdn selvitettyä jälkikäteen, mutt siitä iheutuu kikille ospuolille huolt j viv. Nimi: Nimi trvitn vrmistmn yhdessä opiskelijnumeron knss, että suoritus kirjtn oikelle opiskelijlle. Sähköposti: Tämä koht on yleensä trpeeton, mutt on mukn siltä vrlt, että ilmenee erityinen syy kysyä jotkin. Tässäkin kohti knntt kirjoitt selvästi, sillä yhdenkin merkin virhe tekee sähköpostiosoitteest toimimttomn.

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 3 1. (12p) Täydennä seurv ohjelm mielekkäillä (vrt. nnetut esimerkit) tilpredikteill. { n 1 } x := 1; rj := A[n] for y := 1 to n do { i;1 i x : A i rj i;x i y : A i rj } if A[y] rj then pu := A[x]; A[x] := A[y]; A[y] := pu; { } x := x + 1 { } endif endfor { } Tässä tehtävässä pääsee prhiten eteenpäin, kun tulkitsee for-silmukn sisällä olevn vlmiin nnetun kvn. Se snoo, että tulukko koostuu pienten lkioiden lkuosst j suurten lkioiden loppuosst. Pieniä ovt ne, jotk ovt enintään rj, j muut ovt suuri. Alkuos ulottuu pikst 1 pikkn x 1 j loppuos pikst x pikkn y 1. rj rj 1 x y n Ensimmäiselle vstusviivlle tultess on tphtunut seurv: A y on todettu pieneksi...... j sen jälkeen vihdettu A x :n knss. rj rj rj 1 x y n rj rj rj vro tätä! 1 x y n Tämän vikutus nnettuun kvn knntt nlysoid tpuksittin, missä tpukset edustvt tulukon eri pikkoj. 1. Muiss pikoiss kuin x j y ei ole tphtunut muutoksi, joten niitä koskevt väittämät ovt yhä voimss: i ; 1 i x : A i rj i ; x i y : A i rj. 2. Pikss x on pieni lkio (nimittäin entinen A y, jok hvittiin if-testissä pieneksi): A x rj.

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 4 3. Pikss y on lkuperäinen A x. Alkuperäinen kv tk, että jos x y, niin x sijitsee suurten lkioiden lueell, joten vihdon jälkeen A y rj. Ei kuitenkn ole välittömästi selvää, että x y pätee. Pieni mietiskely pljst, että tässä kohdss ohjelm in vrmsti x y. Nimittäin, silmukn ensimmäisen kierroksen luss molemmill on rvo 1. Kierroksen ikn y ksv vrmsti yhdellä, j x joko ksv yhdellä ti säilyy muuttumttomn sen mukn suoritetnko then-hr. Siis x joko seur y:tä ti jää siitä jälkeen edelle se ei voi päästä. (Vielä tässä viheess ei välttämättä ole selvää, onko then-hrn suorittminen koskn mhdollist, j onko sen suorittmtt jättäminen koskn mhdollist. Sillä ei kuitenkn ole merkitystä. Riittää, että huomtn, että inkn mitään muit mhdollisuuksi ei ole kuin että x ksv smn verrn ti vähemmän kuin y.) Jäljellä on siis tpus x y. Se on niin rjoitettu, että se on helppo miettiä erikseen. Silloin A x j A y ovt sm lkio, j lkioiden vihto ei vikut mitään. Tiedetään siis, että A x A y rj. Huommme, että edeltävä kuvsrj on kohdn y oslt hrhnjohtv: se houkuttelee uskomn, että A y rj. Kuten edellä näimme, niin onkin silloin kun x y, mutt ei silloin kuin x y. Tpuksess x y kuvn pitää näyttää tältä: rj rj 1 x n y Niin hyviä kuin kuvt ovtkin, niiden knss knntt oll vrovinen, ettei vhingoss jätä erikoistpuksi huomiott. Nyt pitää koot tiedot yhteen. Kohdn 1 ensimmäinen oskv on helppo yhdistää kohdn 2 tuloksen knss pienten lkioiden luett koskevksi väittämäksi i ; 1 i x : A i rj. Suurten lkioiden luett koskevlle oskvlle i ; x i y : A i rj pitäisi vrmn myös tehdä jotkin. Kohdn 1 nojll se on voimss sellisenn, mutt knntt miettiä, y sllisi voidnko myös lkiost A y sno jotkin. Kohdn 3 ensimmäinen ostpus x kirjoitt i; x i y : A i rj. Kohdn 3 toinen ostpus x y stt näyttää olevn sen knss ristiriidss kosk se väittää että A y rj, mutt ei hätää: kun x y, on väli x i y tyhjä (eli isojen lkioiden ostulukko on tyhjä), joten i ; x i y : A i rj ei itse siss väitä yhtään mitään. Se ei väitä että A y rj, kosk y ei täytä ehto x y y. Kosk se ei väitä mitään, se on tott. Kv i ; x i y : A i rj on siis tott molemmiss tpuksiss. Muit tpuksi ei enää ole, joten voimme kirjoitt vstukseksi i ; 1 i x : A i rj i ; x i y : A i rj. rj rj 1 x y n rj 1 x n y

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet Tästä toiselle vstusviivlle edettäessä x ksv yhdellä. Se, mikä oli ennen x:n rvo sdn nyt ikiseksi kirjoittmll x 1. Tekemällä tämä edellisen kohdn vstukselle sdn i ; 1 i x 1 : A i rj i ; x 1 i y : A i rj. Kosk tulukoiden indeksit ovt kokonislukuj, i x 1 trkoitt sm kuin i x j x 1 i trkoitt sm kuin x i. Niinpä edellinen kv sievenee muotoon i ; 1 i x : A i rj i ; x i y : A i rj. rj rj 1 x y n rj 1 y x n Tässä viheess trjoutuu mhdollisuus trkst tähänstinen päättely. Seurvksi suoritus tulee ulos if-luseest. If-luseen läpi voidn mhdollisesti mennä myös niin, että thenhrn ei mennä. Siinä tpuksess tulukon sisältö ei muutu mitenkään, mutt sdn lisätieto, että ehto A y rj ei pätenyt. Siis A y rj. rj rj rj 1 x y n Kun sen lisää lkuperäiseen kvn s i ; 1 i x : A i rj i ; x i y : A i rj, siis edellisen kohdn vstuksen! Tämä on hyvä merkki: mhtneeko oll pelkkää sttum, että smn kvn päädytään molempi reittejä? Seurvksi ohjelm siirtyy for-silmukn lkuun j smss yhteydessä ksvtt muuttujn y rvo yhdellä. Kosk huomsimme, että on helppo lske miten sellinen ksvtus vikutt kvn, teemme niin. Tulokseksi tulee i; 1 i x : A i rj i; x i y : A i rj, siis lunperin nnettu kv. Tämä sopii yhteen sen knss, että suoritus jtk seurvksi kyseisen kvn kohtn ohjelm, pitsi viimeisen kierroksen tpuksess. rj rj rj 1 x y n rj 1 x n y Päättelyn voi vielä täydentää trkstmll, onko nnettu kv voimss silloin kun silmukkn tulln ensimmäisen kerrn. Sillä hetkellä x y 1, joten kumpikin väli on tyhjä, joten kv ei väitä mitään, j on siis tosi. (Kun kv on tosi jostkin hyvin yksinkertisest syystä, kuten siksi, että se ei kyseisessä tilnteess väitä mitään, on tpn sno, että kv on trivilisti tosi.) 1 x y n

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 6 Tällinen trkstus menee jossin määrin kus tentin kysymyksistä, j on jok tpuksess tentin ltijn vstuull, että vlmiin nnettu kv on oikein. Trkstuksen vull voi kuitenkin testt om ymmärtämystään tehtävän tilnteest. Ohjelmn loppuun joudutn, kun oltisiin vlmiit jtkmn seurvlle kierrokselle, mutt kierrosten määrä on tullut täyteen. On siis helppo rvt, että jokin lkuperäisen kvn kltinen kv pätee, mutt y:n rvoll, jok olisi seurvn vuoross. Tämä rvo on tietenkin n 1. Sijoittmll se y:n piklle smme i ; 1 i x : A i rj i ; x i n 1 : A i rj eli i ; 1 i x : A i rj i ; x i n : A i rj. Muuttujn y minitseminen loppukvss olisi virhe, kosk y:tä ei välttämättä ole enää edes olemss tässä kohdss ohjelm. Tällinen päättely on sikäli virheltis, että lkuperäisen kvn ei trvitse koskn päteä niissä suorituksiss, jotk eivät koskn kulje kvn kutt. Nyt tätä ongelm ei kuitenkn ole, sillä ohjelmn luss luvtn, että n 1, joten for-silmukk suoritetn inkin kerrn. Pisteytin tämän siten, että -merkin vsemmnpuoleinen os kutkin kv tuotti korkeintn 2 pistettä, j smoin oike puoli. Kummsskin puolikkss pikkns pitämätön kv tuotti 0 pistettä. Puolikkst si yhden pisteen, jos esitti edellä olevn päättelyn näkökulmst mielekkään, pikkns pitävän kvn, jok ilmisee vähemmän kuin edellä ollut vstv kv. 2. (3p) Mikä on suurin rvo, jok muuttujll x voi oll tehtävän 1 ohjelmn lopuss? Vikk ei ymmärtäisi yhtään mitään edellisestä tehtävästä, voi hvit, että x:n rvo sdn mhdollisimmn suureksi järjestämällä niin, että then-hrn mennään mhdollisimmn usein. Pitää siis sd A y rj voimn mhdollisimmn monell y:n rvoll. Muuttujn rj rvo on peräisin lkuperäisen tulukon kohdst n. Knntt siis vlit tulukko, jonk jokinen lkio on enintään yhtäsuuri kuin lkuperäinen A n. Alkiot sttvt viht pikkojn thenhrn luss, mutt tämä ei sotke si, kosk A y rj toteutuu tällisell tulukoll riippumtt siitä, mikä lkio on kulkeutunut pikkn y. Tällä tulukoll x käyttää hyväkseen jok ikisen mhdollisuutens ksv. Se ksv kikkin n kert, joten lopullinen rvo on n 1. Tällist päättelyä voi usein helpott vlitsemll lkiot htmmin kuin mihin päättelyn lku ntisi mhdollisuuden. Tässä tpuksess voi vlit, että tulukon jokinen lkio on keskenään yhtäsuuri. Silloin ei trvitse murehti lkioiden siirtymisen vikutust edes sen vert kuin edellä, kosk silloin lkioiden vihdoll ei ole yhtään mitään vikutust. Lisärjoitus ei tässä tpuksess sulje pois mitään tp sd x:lle vielä suurempi loppurvo, kosk jok ikinen mhdollisuus ksvtt x:ää sdn lisärjoituksen vllitesskin käytettyä hyväksi. Pisteytin tämä kikki ti ei mitään -peritteell. 3. (9p) Mikä on pienin rvo, jok muuttujll x voi oll tehtävän 1 ohjelmn lopuss? Miksi se on mhdollinen j pienin mhdollinen?

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet Tässä täytyy koett sd then-hrn meno mhdollisimmn hrviniseksi. Tehtävän 1 yhteydessä näimme, miten voidn päätellä, että in silmukn luss pätee x y. Tästä huommme, että ohjelm ei koske lkioon A n ennen kuin vst viimeisellä kierroksell, kosk sitä ennen y n j siis myös x n. Niinpä A n säilyttää rvons kunnes testiin A y rj tulln y:n rvoll n. Silloin testi vääjäämättä toteutuu, kosk iemmin on sijoitettu rj := A n, eikä myöskään rj:n rvo ole sen jälkeen muuttunut. Niinpä x ksv lkurvostn ykkösestä inkin kerrn. Tulukon muiden lkioiden lkurvot voidn vlit suuremmiksi kuin rj vlitsemll ne suuremmiksi kuin kohdn n lkurvo. Tulukkoon kohdistuvist sijoituksist riittää ymmärtää, että lkioon A n ei kosket ennen viimeistä kierrost, joten sen rj:n knss yhtäsuuri rvo ei voi kopioitu muulle tulukkoon ennen kuin muu tulukko on käyty läpi. Niinpä tällisell tulukoll ennen viimeistä kierrost A y rj, joten x ei ksv ennen kuin viimeisellä kierroksell. Näin sdn x:n loppurvoksi 2. Ensimmäiselle vstusviivlle tulee siis kirjoitt 2. Tämänkin rvostelin perusteell täydet 3 pistettä ti ei yhtään. Tehtävässä kysyttiin myös perustelu sekä sille, että 2 on mhdollinen rvo, että sille, että mikään pienempi rvo ei ole mhdollinen. Edellä on perustelu, mutt ivn liin pljon vstukselle vrttuun tiln nähden. Sille, että x voi lopuksi oll 2 riittää perusteluksi vstuksess esimerkiksi toteutuu tulukoll [1, 1,..., 1, 2]. Jos kysymyksessä pyydetään osoittmn, että jotkin voi tphtu, niin usein on kätevintä vstt ntmll esimerkki syötteestä, joll kyseinen si tphtuu. Hyväksyin täyden pisteen rvoisen myös vstuksen toteutuu, kun n 1. Se on sikäli vstust [ 1, 1,..., 1, 2 ] huonompi, että sen mukisi tulukoit on olemss vin yhtä koko. Myöhemmissä opinnoiss tietorkenteiden yhteydessä käy ilmi, että ohjelmn suoritust kuvvt luvut nnetn usein syötteen koon tässä tpuksess siis luvun n funktion. Vstus n 1 ei nn vstust n:n funktion, vn inostn yhdellä n:n rvoll. Vielä tällä kurssill ei vstukselt kuitenkn s vti tällisi hienouksi. Tästä sttoi sd nollst kolmeen pistettä. Sille, että 2 on pienin mhdollinen loppurvo riitti perusteluksi mikä thns huomutus, joss vedottiin siihen, että x ksv vrmsti inkin viimeisellä kierroksell. Oike vstus tuotti 3 pistettä. Pisteitä tuli 2 silloin kun vstus vihjsi, että x ksv vrmsti, mutt ei käyttänyt sitä perustelun. 4. (6p) Merkitään symbolill i sitä pikk, johon tulukon A pikss i olev lkio joutuu tehtävän 1 ohjelmn suorituksen seuruksen. Oletetn, että 1 i j n j A[i] = A[j] rj juuri ennen for-silmukk. Voiko i j (ts. voiko lkioiden A[i] j A[j] keskinäinen järjestys vihtu ohjelmn suorituksen seuruksen)? Perustele. Tähän tehtävään vstmiseksi ohjelmn toimint pitää ymmärtää ik hyvin (pitsi tietysti ensimmäisessä kohdss stt osu oiken rvmll). Muistmme tehtävän 1 selityksestä, että in for-silmukn luss pätee x y. Pluttkmme mieliin tehtävässä 1 nnettu kv j sitä hvinnollistvt kuvt: i ; 1 i x : A i rj i ; x i y : A i rj.

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 8 rj rj 1 x y n rj 1 x n y Aino koht, missä ohjelm edes yrittää muutt tulukon A sisältöä on A x :n j A y :n vihto then-hrn luss. Jos x y, niin vihdoll ei ole mitään vikutust. Jos x y, niin A y on itse enintään rj:n suuruinen, j siirtyy rj: suurempien lkioiden yli. Myös vstkkiseen suuntn siirtyvä A x on suurempi kuin rj. Niinpä rj: pienempi lkio ei missään oloiss siirry toisen rj: pienemmän lkion yli eikä vihd pikk sellisen knss. Oike vstus on siis ei. Perusteluksi riitti jälleen mikä thns, jost pystyin vrmistumn, että opiskelij on ymmärtänyt perussyyn miksi järjestys ei vihdu. Esimerkiksi rj: pienemmät ti yhtäsuuret lkiot siirtyvät vin rj: suurempien lkioiden yli. Kyllä-ei -koht tuotti tietenkin joko 0 ti 3 pistettä. Perustelukohdst sttoi sd pisteitä myös siltä väliltä.. (6p) Sm kysymys kuin edellä, mutt nyt A[i] = A[j] rj. Vstus: Perustele. Tämä tehtävä on sikäli edellistä helpompi, että kokeilemll ohjelmn toimint pienillä tulukoill stt hyvässä lykyssä löytää sellisen, joll smnsuuruiset rj: suuremmt lkiot vihtvt keskinäistä järjestystään. Sellisen voi löytää myös miettimällä ohjelmn toimint edellisen tehtävän selityksen tyyliin: on mhdollist suunnitell tilnne, joss A x hyppää itsensä suuruisen lkion yli. Sm, rj: suuremp lkiot täytyy oll kksi kpplett peräkkäin, jott olisi ylihyppääjä j yli hypätty. Sen jälkeen täytyy oll enintään rj:n suuruinen lkio, jott olisi jotkin, minkä knss ylihyppääjä viht pikk. Äkkipäätä miettien muut ei trvitkn. Nämä ehdot täyttää esimerkiksi tulukko 2! 2! 1. Koejmll ohjelmn mielessään kyseisellä tulukoll voi vrmistu siitä, että kkkoset todellkin vihtvt keskinäistä järjestystään. Oike vstus on siis kyllä voi, j perusteluksi riittää niin käy tulukoll 2! 2! 1. Perustelun rvosteluss oli käytössä koko skl 0, 1, 2, 3. Kyllä-ei -kohdss pistemäärä oli luonnollisesti joko 0 ti 3. En skottnut, jos perustelun oli esimerkiksi tulukko 3! 2! 1, joss 3 j 2 ovt rj: suurempi j vihtvt keskinäistä järjestystään. Väärinhän tällinen perustelu on, kosk se rikkoo tehtävässä setetun ehdon A i " A j. Se käyttäytyy kuitenkin ivn smll tvll kuin 2! 2! 1 j siitä on helpompi nähdä, että vihdos todell tphtuu (lopputulos on 1! 2! 3 ), joten päätin hyväksyä sen täysillä pisteillä. Tämä on yksi niistä tulkinnoist, joist en todellkn lup, että linj tulee in olemn yhtä suope. Vstus tyyppiä sm, rj: suurempi lkio khdesti peräkkäin ei tuottnut pisteitä, kosk tulukko 3! 3! 2! 2 on sen mukinen, mutt siinä kolmosten keskinäinen järjestys ei vihdu. Myöskin tulukon toiseksi j kolmnneksi viimeinen ovt viimeistä suurempi ilmn esimerkkitulukko tuotti nolln, kosk tulukko 4! 3! 3! 2 on sen mukinen, mutt siinä eivät kolmoset liiku.

' 810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 9 Joku ihmetteli, mistä näin konstiks koodinpätkä on peräisin. Se on lkuos N. Lomuton keksimästä osituslgoritmist, jok on trkoitettu osksi Quicksorti. Poimin sen kirjn [1] Quicksorti käsittelevän luvun hrjoitustehtävästä. Kirjn uudempi litos [2] on ylentänyt lgoritmin osksi Quicksortin esitystä vrsinisess tekstissä j smll tehnyt siihen pienen prnnuksen. Quicksort lienee milmn kuuluisin j eniten käytetty järjestämislgoritmi j [1] on eräs milmn eniten käytettyjä tietorkenteiden oppikirjoj, joten koodinpätkää ei todellkn voi väittää epärelistiseksi. 6. (9p) Olkoon Σ $#! b! c%. Piirrä mhdollisimmn pienet deterministiset äärelliset utomtit siten, että niiden hyväksymät kielet A, B j C ovt kuvusten mukiset. ε & A j A on ääretön B on äärellinen j b ' B C Σ()# % Jokisell äärellisellä utomtill on inkin lkutil. Kosk ε eli tyhjä merkkijono ei kuulu kieleen A, ei ensimmäisen kohdn utomtin lkutil voi oll lopputil.,+- Jokin lopputil utomtiss on kuitenkin oltv, kosk sen tulee hyväksyä inkin yksi merkkijono. (Itse siss sen tulee hyväksyä äärettömän mont merkkijono.),+- -. Lopputiln täytyy päästä, muuten sillä ei ole merkitystä. Niinpä vedämme lkutilst sinne kren. Krelle täytyy nt jokin kkonen nimeksi, ei väliä mikä.,+- / Tässä viheess utomtti hyväksyy vin yhden merkkijonon. Nyt ei enää trvitse muut kuin muutt määrä äärettömäksi. Se onnistuu esimerkiksi tekemällä lopputil osksi silmukk. Siis vedämme jonkinnimisen kren lopputilst joko lkutiln ti itseensä, miten huvitt.,+- / Jos vstuksess oli enemmän kri kuin trpeen, nnoin vin 2 pistettä, kosk tehtävässä kysyttiin mhdollisimmn pientä utomtti. -. -. 0 b Kosk kielen B on oltv äärellinen, ei utomtiss s oll silmukoit missään kohdss, joll on hyväksytyn kielen knnlt merkitystä. (Tilll on merkitystä, jos sinne pääsee lkutilst j

/ 0 8 9 9 6 9-9 - - 810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 10 siitä pääsee inkin yhteen lopputiln.) Merkityksettömiä tiloj emme hlu piirtää, kosk utomtti ei ole mhdollisimmn pieni jos siinä on trpeetont roin. Siis vältämme silmukoit kokonn. Tämä mielessä pitäen käymme työhön. Knntt loitt huolehtimll, että utomtti hyväksyy b:n. Silmukoit ei snut piirtää, joten piirrämme suorn pötkön tiloj.,+- / - / - / -. b Muut ei trvitkn. Ei ole merkitystä sillä, ovtko muut tilt kuin oikenpuolimmisin lopputiloj. Tämä on edellisiä hnklmpi. Merkkijono on erikoissemss, kosk se on ino nnetust kkostost muodostettviss olev, jok ei kuulu kieleen C. Täytyy siis luod rkennelm, jok käsittelee kyseisen jonon erikoistpuksen. Sen on oltv suor pötkö, kosk jos siinä olisi silmukk, stisiin silmukk kiertämällä muitkin jonoj erikoiskäsittelyn piiriin.,+- / - / Hetkinen, nyt ε j hylätään, vikk ne piti hyväksyä! Korjtn:,+-. / -. / Kikki muut jonot pitää hyväksyä. Luodn tätä vrten yhteinen hyväksymistil. Missä thns onkin til jost puuttuu lähtökri jollkin nimellä, vedetään kyseisestä tilst kri yhteiseen hyväksymistiln kyseisellä nimellä, jott kyseinen merkki ei tiln kohdll esiintyessään iheuttisi utomtist putomist j siten merkkijonon hylkäämistä, vn johtisi hyväksymiseen.,+-. / -. / 9 b1 1 c 1 132,+ b- 4. 4 c9: b c ; b Kren puuttuminen vei pisteen, smoin jos lopputiln pikll oli epälopputil. c. (3p) Kieli ne kkostost #! b% muodostetut, pituudeltn prittomt merkkijonot, joiden keskimmäinen merkki on b ei ole säännöllinen. Kuvittele, että k-tilinen NFA hyväksyy inkin kikki ko. kieleen kuuluvt jonot, j osoit, että se hyväksyy muutkin.

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 11 Tehtävä liittyy pumppuslemmn. Yritin tehtävän muotoilull pkott vstmn tvll, jok osoitt ymmärrystä siitä, miten pumppuslemm käytetään j/ti miksi se pätee. Pelkkä minint että pumppuslemmll on jotin tekemistä tehtävän knss ei tuottnut pisteitä. Kosk utomtiss on vin k til, niin viimeistään k merkkiä luettun utomtin täytyy plt tiln, joss se on ollut iemminkin. Nimittäin, jos yritämme välttää pluut ikisempn tiln, niin trvitsemme lkutiln lisäksi eri tiln, joss olln ensimmäisen merkin lukemisen jälkeen; ts eri tiln, joss olln toisen merkin lukemisen jälkeen j niin edelleen. Kun k 1 merkkiä on luettu, on kikki tilt käytetty. (Huom, että tämä ei osoit, että utomtti toist tiln tsn k merkkiä luettun, vn viimeistään k merkkiä luettun. Toistohn voidn loitt jo ennen kuin on ivn pkko. Sillä tvll voidn jättää yksi til säästöön otettvksi käyttöön vst kun k:s merkki luetn, niin että k:s merkki viekin uuteen tiln.) Oletetn, että jokin k-tilinen utomtti hyväksyy inkin kikki kuvtun kltiset jonot. Silloin se hyväksyy myös jonon k b k. Äskeisen perusteell utomtti pl ikisempn tiln viimeistään k merkkiä luettun. Se tphtuu luettess merkkijonon lkuos k. Jos jätetään kyseisen tiln khden käynnin välinen silmukk pois, päästään smn tiln kuin merkkijono k lukemll, mutt luettu onkin jokin h missä h k. Siitä voidn jtk kuten merkkijonon k b k tpuksess. Silloin päädytään lopputiln, j on luettu h b k. Kosk h k, ei siinä ole b keskellä. Automtti siis hyväksyy jonon h b k, jok ei ole kuvuksen mukinen. Pisteiden smisen knnlt oli olennist, että vstuksess oli nnettu jokin merkkijono jonk vull yllä kuvtun kltinen päättely menee läpi, j todettu, että jokin pätkä sen lkuosst voidn toist ti poist siten että utomtti hyväksyy niin syntyvän jonon. Jonon tuli oll sellinen, että toiston ti poiston seuruksen syntyvässä jonoss ei vrmsti ole sekä pituus priton että b keskellä. Tämän vuoksi esimerkiksi vstukset, joiss jono sttoi koostu pelkistä b-kirjimist eivät tuottneet pisteitä. Päättelyn täytyy todellkin tt että muodostettvss jonoss ei ole b keskellä, muuten se ei ole pätevä. Tätä hvinnollist se, että kieli ne kkostost # b% muodostetut, pituudeltn prittomt merkkijonot, joiden keskimmäinen merkki on b on säännöllinen. Sen hyväksyy oheinen äärellinen utomtti:,+- / b -. 0 b Jos vstuksen jtuksenjuoksu seurmll pystyy todistmn myös tämän kielen epäsäännölliseksi, on vstus ilmn muut virheellinen. 8. (3p) Ilmise -tehtävän kieli yhteysriippumttomll kieliopill ti BNF:llä. Otetn lähtökohdksi b, j sitten ksvtetn jono yhtäik molemmist päistä. Siis: K :: b < K < Kb < bk < bkb. Vstukset tyyppiä K :: AbL (A = lku, L = loppu) eivät toimi. Nimittäin, = Kosk b kuuluu kieleen, A:n täytyy void tuott. = Kosk b kuuluu kieleen, L:n täytyy void tuott.

; > 6 / - / 0 0 / - 0 @ / ; @ 0 / - 810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 12 Niinpä AbL voi tuott jonon b. 9. (6p) Minimoi oheinen äärellinen utomtti. Piirrä vstuksesi ruutuun. Näytä, miten minimoidun utomtin tilt vstvt lkuperäisen utomtin tiloj.,+-. 1 b -. 4 b -. 2 4 b -. 3 b,? b b 6 b -. Minimoinnin luksi tilt on jettv khteen lohkoon: lopputilt j muut. Kuvn utomtille näin sdn lohkot # 1! 3! 4!! % j # 2! 6%. Seurvksi lohkoj on pilkottv sen mukn, ovtko niiden tilt sm mieltä siitä, mihin lohkoon joudutn milläkin kkosell. Nopesti huomtn, että tilt 4 j erovt tiloist 1, 3 j sikäli, että vin jälkimmäisistä lähtee -kri. Lohko # 1! 3! 4!! % hlke siis osiin # 1! 3! % j # 4! %. Tämän jälkeen ei enää löydy syytä hlkist lohkoj. Sdn kuvn mukinen vstus.,+-. A b b b -. B 4 C A = # 1! 3! % B = # 2! 6% C = # 4! % 10. (6p) Ilmise tehtävän 9 utomtin tiln 6 hyväksymä kieli säännöllisenä lusekkeen. Tehtävässä 9 nnettu kuv ktsomll vstus on työläs muodost, mutt pun voidn käyttää tehtävän vstust. Lohkomisen perusiden on, että kun lohko on vlmis, sen jokinen til hyväksyy smn kielen. Myös koko lohko hyväksyy smn kielen. Riittää siis selvittää, minkä kielen hyväksyy vstuksen se lohko, johon til 6 kuuluu siis lohko B. Tilst B päästään lopputiloihin joko menemällä :ll tiln C, ti menemällä tiln A joko b:llä ti b:llä. Tilss A voi pyöriä piklln b:llä. Näitä vst säännöllinen luseke < b < b b(. Tämän voi kirjoitt hiemn sievempään muotoon < b b(. Tässä ei kuitenkn ole vielä koko totuus. Nimittäin, tilst A voi plt tiln B. Tämä tekee mhdolliseksi kiertää kuv ympäri ennen lopullist siirtymistä lopputiln. Kikki mhdolliset tvt tehdä kierros esittää luseke b < b b(. Luseke, jok sllii noll ti usempi kierroksi j sitten vie lopputiln sdn pistämällä tämän toisto j edellä johdettu kv peräkkäin: A b < b b( ( < b b(.

> > 810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 13 Aiklogiikk määritellään tässä tentissä kieliopill Kv ::= [ Kv ] ::= [ ] ::= [ C ] ::= [ D E F G ] ( P Kv ), missä P on propositiosymboli ti vkio H (eli HJILKNM ) ti O (eli OQPR SAM ). Operttoreiden presedenssi j liitännäisyys noudttvt tätä kielioppi. Aiklogiikn kv puhuu päättymättömän jnhetkien jonon s 0 s 1 s 2 TATAT ominisuuksist. Kyseessä voi oll esimerkiksi päivien jono, jolloin s 0 = tänään, s 1 = huomenn, s 2 = ylihuomenn jne. Snotn, että kv pätee, joss se pätee hetkellä s 0. Se, että kv ϕ pätee hetkellä s i merkitään pät ϕ! i, j määritellään uusille operttoreille seurvsti: pät UG ϕ! ijv pät ϕ! i 1 pät WF ϕ! ixv >ZY j : j i pät ϕ! j pät AE ϕ! ixv j : j i [ pät ϕ! ja pät ϕ B ψ! ixv >\Y j : j i pät ψ! j, k ' # i!^]a]a]^! j 1% : pät ϕ! k Operttoreill, C j D on propositiologiikst tuttu merkitys. Esimerkiksi G_ St G`DF St trkoitt, että huomenn st, mutt sen jälkeen ei enää koskn sd. Tehtävien 11, 12, 13 j 18 rtkisemiseksi riittää, että hllitsee kurssin lusekkeit j niihin liittyviä puit koskevt sit. Tehtävissä 14, 1, 16 j 1 on trpeen ymmärtää yllä nnetust selostuksest myös iklogiikn merkitystä kuvv osuus. Ennen kuin käydään rtkisemn tehtäviä, plutetn mieliin, että [... ] on vlinnisuutt trkoittv lyhennemerkintä. Siis esimerkiksi sääntö Kv ::= [ Kv B ] trkoitt itse siss sääntöä Kv ::= Kv B, mikä puolestn trkoitt sm kuin kksi sääntöä Kv ::= j Kv ::= Kv. 11. (3p) Mitkä iklogiikn operttorit ovt unrioperttoreit? Unrioperttoreit ovt ne, joill on vin yksi rgumentti. Sekä kieliopist ett pät-kvoist näkee, että E, F j G ovt unrioperttoreit, j B on binäärioperttori eli kksirgumenttinen operttori. Operttorin D näkee unrioperttoriksi j operttorit j C binäärioperttoreiksi sekä kieliopist että huomutuksest, että niillä on propositiologiikst tuttu merkitys. Jos vstuksest puuttui D, niin nnoin 2 pistettä. Ajttelin, että vstj oli ehkä tulkinnut, että vnhstn tuttuj propositiologiikn operttoreit ei lsket iklogiikn operttoreiksi. 12. (3p) Mitkä iklogiikn operttorit ovt infix? Infix-operttori on rgumenttiens välissä. Unrioperttori ei voi oll infix, kosk ei ole rgumenttien väliä jos on vin yksi rgumentti. Jäljelle jääviä ehdokkit infix-operttoreiksi ovt edellisen tehtävän selityksessä binäärioperttoreiksi luokitellut operttorit. Niistä jokinen voidn hvit infix-operttoriksi kieliopist. Vikkei osisi luke kielioppi, niin esimerkeistä näkyy, että B j ovt infix. j C ovt normliss käytössään infix. Tässä viheess on helppo rvt, että C on infix myös iklogiikss. Tulkinnst, että propositiologiikn operttorit eivät ole iklogiikn operttoreit ei skotettu tässä kohdss enää toistmiseen. Sen sijn skotettiin, jos edellisen tehtävän vstus oli sen mukinen mutt tämän ei.

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 14 13. (3p) Mitenpäin liitännäinen iklogiikn on? Asin voi ktso kieliopist, kosk tehtävässä on nimenomn nnettu siihen lup. (Mistään muult sitä ei näekään.) Sieltä näkyy, että ino tp tuott operttori B on Kv ::= Kv B. ei voi sisältää B -operttori (pitsi sulkujen sisällä), mutt Kv voi. Niinpä esimerkiksi P B Q B R jäsentyy P B Q B R. B on siis vsemmlle liitännäinen. 14. (3p) Operttorin G nimeksi sopii seurvksi ti huomenn. Mikä sopisi operttorin E nimeksi? Aiklogiikn esittelyssä määriteltiin, että hetkellä i esitetty väite G ϕ trkoitt sm kuin hetkellä i 1 esitetty väite ϕ. Vstvsti hetkellä i esitetty väite E ϕ väittää, että ϕ pätee hetkinä i, i 1, i 2 jne., siis jokisen hetkenä hetkestä i lken. Sen nimeksi sopii siis tästä lähtien, siitä lähtien ti vstedes. Jostin syystä sen englnninkieliseksi nimeksi on vkiintunut lwys (vikk myös nimi henceforth on vilhtnut kirjllisuudess), joten sen suor suomennos in kelpsi myös vstukseksi täysin pistein. Nimellä in se suomeksi tunnetnkin. Vstukset kikki seurvt, jälkeen j myöhemmin tuottivt noll pistettä, kosk ne eivät pidä sisällään trkstelupäivää. Kv E St ei sno huomisest lken jok päivä st, vn tästä päivästä lken.... Tulevisuudess tuotti noll pistettä, kosk se ei sisällä sitä että si on voimss jokinen hetki trksteluhetkestä lken: tulevisuudess ihmiset mtkustelevt muille plneetoille. Sen sijn tänään j tulevisuudess kuulosti minust jo niin oikelt, että nnoin siitä kksi pistettä. 1. (3p) Kirjoit iklogiikn kvn st äärettömän monen päivänä. Tässä pääsee ehkä helpoiten lkuun miettimällä väitteen vstkoht: st äärellisen monen päivänä. Jos niin on, niin sitten on olemss päivä, jon ei sd j jonk jälkeen ei enää koskn sd. (Olisi helpompi sno, että on olemss viimeinen päivä, jon st, mutt se ei olisi oikein. Myös se, että ei koskn sd toteutt väitteen st äärellisen monen päivänä.) Mutt tällist päivää ei siis s oll. Eletään mitä päivää thns, niin ei enää koskn sd ei s oll tott, vn tulevisuudess (heti ti myöhemmin) täytyy oll sdepäivä. Tulevisuudess st voidn ilmist kvll F St. Tämä vditn jokiselt päivältä, joten vstukseksi tulee EbF St. Vstus E St ei ole oikein, kosk se väittää, että jok ikinen päivä st. Annoin siitä noll pistettä. Jos esimerkiksi jok toinen päivä st j jok toinen ei, niin silloin st äärettömän monen päivänä, vikk ei sd jok päivä. 16. (3p) Koulumtemtiikn kertolsku voidn esittää muiden mtemttisten operttoreiden vull: T b dc e bf 2g c g bf 2 4. Myös iklogiikss operttori E voidn esittää muiden operttoreiden vull. Kirjoit kv, jok tekee niin. E ϕ h

h h D Y D Y > Y Y 810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 1 Määritelmän pät ie ϕ! ijv ]A]^] oike puoli lk operttorill. Operttorin F koht lk houkuttelevsti Y, j j Y sdn toisistn De Morgnin kvll. Siis pät ie ϕ! i h j : j i [ pät ϕ! ja h DkDJ j : j i [ pät ϕ! ja h D j : Dl j i [ pät ϕ! ja j : DlmDl j i,c pät ϕ! janh D j : DkDl j i, od pät ϕ! j j : j i pät UD ϕ! j h D pät UFpD ϕ! i h pät mdfqd ϕ! i. vstv Siis E ϕ hrdfpd ϕ. Vstuksen voi löytää myös miettimällä ilmusten merkityksiä: in st trkoitt sm kuin ei ole niin, että joskus ei sd. 1. (12p) Sievennä. OsB ϕ h HtB ϕ h ϕ BuOlh ϕ B_Hvh Se, että ϕ B ψ pätee hetkellä i on määritelty trkoittmn Y j : j i pät ψ! jw x k ' # i!a]a]a]y! j 1% : pät ϕ! k. Kun ϕ:n piklle sijoitetn O j ψ:n piklle ϕ sdn Y j : j i pät ϕ! j k ' # i!a]a]^]a! j 1% : pät io! k. Väittämä O ei päde missään tilss (väittämä pätee niissä tiloiss, joiss sen totuusrvoksi tulee H, mutt väittämän O totuusrvo on tietenkin in O ), joten smme edellisen muotoon Y j : j i pät ϕ! j z k ' # i!a]a]a]y! j 1% : O. Kysymys on siis siitä, onko olemss sellist rvo j:lle, että j i j pät ϕ! j j k ' # i!a]a]^]^! j 1% : O. Jos j i, niin k ' # i!a]a]a]^! j 1% : Obh O, j smll koko kv on uttmtt O. Mutt jos j i, niin k ' # i!a]a]a]y! j 1% : Oh{H, kosk silloin väitetään jotkin tyhjän joukon lkioist. Siinä tilnteess kv sievenee muotoon pät ϕ! i. Kivttu j on siis olemss, jos j vin jos ϕ pätee hetkellä i. Siis vstus on ϕ. Toinen tp on jtell kvojen merkitystä. Kv ϕ B ψ trkoitt, että jonin hetkenä nyt ti tulevisuudess ψ pätee, j sitä edeltävinä hetkinä nykyhetkestä lken ϕ pätee. Tässä tpuksess ϕ:n pikll on O, jok ei päde koskn. Edeltäviltä hetkiltä vditn siis mhdotont. Niinpä ino keino on, että edeltäviä hetkiä ei ole. Siis pitää oll niin, että ψ:n pikll olev kv eli ϕ pätee nyt heti. Kun ϕ:n piklle sijoitetn H j ψ:n piklle ϕ sdn Y j : j i pät ϕ! j k ' # i!^]a]a]^! j 1% : pät Hl! k. Väite H pätee jok tilnteess, joten k ' # i!a]a]^]^! j 1% : pät Hl! kkh H. Koko kvst sdn Y j : j i pät ϕ! j sh eli Y j : j i pät ϕ! j, mikä on kvn F ϕ määritelmä. Kun ϕ:n piklle sijoitetn ϕ j ψ:n piklle O sdn Y j : j i pät io! j, k ' # i!a]^]a]^! j 1% : pät ϕ! k. Kosk pät io! j tuott in O (eli O ei päde koskn), on -merkkien välinen osuus j smll koko kv yhtä kuin O. Kun ϕ:n piklle sijoitetn ϕ j ψ:n piklle H sdn Y j : j i pät LHx! j k ' # i!^]a]a]^! j 1% : pät ϕ! k. Osuus pät Hl! j tuott H, j voidn siis poist. Jäljelle jää Y j : j i } k ' # i!a]a]a]^! j 1% : pät ϕ! k. Vlitsemll j i sdn Y -kvntifikttorin jälkeinen kvn os toteutumn in, joten koko väite sievenee muotoon H. 18. (6p) Piirrä lusekepuu j jäsennyspuu kvlle G P B Q R B R.

- - ƒ ƒ - 810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 16 Lusekepuu esittää puumuodoss sen minkä luseke esittää tekstimuodoss. Lusekkeen operttoreist tulee puun solmuj, joill on lpsinn muit solmuj lusekkeen rkenteen mukn. Puun lehtinä ovt ne perusost, joihin operttorit kohdistuvt. Tässä tpuksess siis lehtiä ovt P, Q j kksi R:ää, j muin solmuin G, B, j B. Operttorisolmut pitää sd oiken semn suhteess toisiins j lehtiin. Asemt määräytyvät presedenssi- j liitännäisyyssäännöistä. Aiklogiikn esittelyssä snottiin, että ne ovt kieliopin mukiset. Kieliopin ylin sääntö on Kv ::= ti Kv ::= Kv. Tehtävässä nnetuss lusekkeess esiintyy B. Sitä ei voi tuott muuten kuin näistä säännöistä jälkimmäisellä. Niinpä luseke pitää jk ylimmällä tsoll osiin-~ seurvsti: Lusekkeen toinen B Kv voidn tuott Kv:st, mutt :stä sitä ei s (pitsi säännöillä ::=... Kv, mutt silloin lusekkeeseen ilmestyvät sulut, joit siinä ei todellisuudess ole). Siispä rkenne jtkuu -~ Kv - ~ Kielioppi voisi käyttää tiedon lähteenä tästä eteenkinpäin, mutt se ei ole trpeen, sillä loput lusekkeest G P B Q R B R voi sovitt piirrokseen vin yhdellä tvll. Kosk G P on ennen ensimmäistä B -operttori j operttorin kohde roikkuu operttorist, on ensimmäi- j sen inoksi lpseksi P. Vstvll sen B -operttorin vsemmksi lpseksi ripustettv G tvll Q R ripustetn keskelle kuv ylimmäiseksi, -~ j oiken reunn tulee R. - ~ - - -m P Q Jos kuv oli piirretty ikään kuin operttorin B presedenssi olisi korkempi ti sm kuin operttorin, niin yksi piste ktosi. Smoin kävi, jos sitovuuden suunt oli väärin. ƒ R R

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 1 Jäsennyspuun muodostus etenee sovittmll kielioppisääntöjä nnettuun lusekkeeseen loittmll Kv:st. Kosk ino tso, joll B voi ilmestyä kvn on sääntö Kv ::= Kv, on pkko käyttää sitä jott stisiin ikn kvss esiintyvä B. Näin sdn 1 1 Kv Lusekkeess olevn toisen B -operttorin täytyy piiloutu ls vsemmlle ilmestyneeseen Kv:n. Kivetn se esiin soveltmll äskeistä sääntöä toistmiseen. Kv 1 1 1 1 Seurvksi voidn vikk purk oikenpuoleinen viheittin uki säännöillä ::=, ::= j ::= P. Kv 1 1 1 1 P Lisätään tähän tieto, että P on propositiosymboli. Annetun kvn viimeinen symboli on R, joten P:n täytyy edust R :ää.

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 18 Kv 1 1 1 1 P R Kv Keskilueelle pitää tvll ti toisell tuott. Se onnistuu purkmll ensin :ksi j sitten soveltmll sääntöä ::=. 1 1 Kv 1 1 1 1 1 1 P R Vsemmnpuoleisest Kv:st pitää jtk säännöllä Kv ::=, kosk enää ei trvit lisää B -operttoreit. :stä voidn jtk tuttuun tpn kunnes vstn tulee. Siitä pitää sd G P. Tämä onnistuu kun seurvksi käytetään sääntöä ::= G P.

ƒ ƒ ƒ ƒ 810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 19 Kv 1 1 1 1 P ƒ G ˆ P R Sitten voidn viedä työ loppuun soveltmll suorviivisi sääntöjä kunnes kikki keskeneräiset hrt ovt päättyneet propositioiden nimiin. Kv 1 1 1 1 P ƒ ˆ G P P P R R P Q Aiklogiikn juuret ovt mtemtikoiden j filosofien tutkimiss modlilogiikoiss. Tietojenkäsittelyn tutkimukseen iklogiikn toivt isreliliset Amir Pnueli j Zohr Mnn vuonn

810000 Ohj. mt. men. tentin 16.12.2003 vstukset j rvosteluperusteet 20 19. Aiklogiikk osoittutui hyväksi työkluksi puhelinkeskusten j hissinohjusohjelmistojen kltisten, yhtä ik moneen suuntn kuuloll olevien ohjelmistojen ymmärtämiseksi. Pnueli si vuonn 1996 tietojenkäsittelyln rvostetuimmn plkinnon eli Turing-plkinnon iklogiikn tuomisest tietojenkäsittelyyn j ohjelmien j järjestelmien oikeksi osoittmisen tutkimuksest. Viitteet [1] T. H. Cormen, C. E. Leiserson & R. L. Rivest: Introduction to Algorithms. The MIT Press, 1990. [2] T. H. Cormen, C. E. Leiserson, R. L. Rivest & C. Stein. Introduction to Algorithms, 2nd edition. The MIT Press, 2001.