UNIVERSITETET I OSLO

Like dokumenter
UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

INF 3230: Videregående kurs i formell modellering

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

INF 3230/4230 Forelesning 4: Assosiativitet og kommutativitet; operasjonell semantikk

Slope-Intercept Formula

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Eksamen i emnet Mat131 - Differensiallikningar I Onsdag 25. mai 2016, kl.

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Oppgave. føden)? i tråd med

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Trigonometric Substitution

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

UNIVERSITETET I OSLO

Mathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Dynamic Programming Longest Common Subsequence. Class 27

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

HØGSKOLEN I NARVIK - SIVILINGENIØRUTDANNINGEN

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

INF 3230/4230 Forelesning 9: Omskrivningslogikk

Call function of two parameters

Neural Network. Sensors Sorter

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

EKSAMENSOPPGAVE I SØK 1002 INNFØRING I MIKROØKONOMISK ANALYSE

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Information search for the research protocol in IIC/IID

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

Databases 1. Extended Relational Algebra

Kartleggingsskjema / Survey

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

SVM and Complementary Slackness

EN Skriving for kommunikasjon og tenkning

Oppgave 1. ( xφ) φ x t, hvis t er substituerbar for x i φ.

Han Ola of Han Per: A Norwegian-American Comic Strip/En Norsk-amerikansk tegneserie (Skrifter. Serie B, LXIX)

Hvor mye praktisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

IN2010: Algoritmer og Datastrukturer Series 2

TDT4117 Information Retrieval - Autumn 2014

GEO231 Teorier om migrasjon og utvikling

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Exam in Quantum Mechanics (phys201), 2010, Allowed: Calculator, standard formula book and up to 5 pages of own handwritten notes.

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

Hvor mye teoretisk kunnskap har du tilegnet deg på dette emnet? (1 = ingen, 5 = mye)

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

Fagevalueringsrapport FYS Diffraksjonsmetoder og elektronmikroskopi

0:7 0:2 0:1 0:3 0:5 0:2 0:1 0:4 0:5 P = 0:56 0:28 0:16 0:38 0:39 0:23

Graphs similar to strongly regular graphs

Den som gjør godt, er av Gud (Multilingual Edition)

Besvar tre 3 av følgende fire 4 oppgaver.

Eksamen ENG1002/1003 Engelsk fellesfag Elevar og privatistar/elever og privatister. Nynorsk/Bokmål

Siste seminar: Foreslåtte oppgaver basert på ønsker.

Gol Statlige Mottak. Modul 7. Ekteskapsloven

UNIVERSITETET I OSLO

The exam consists of 2 problems. Both must be answered. English

Løsningsforslag 2017 eksamen

EKSAMENSOPPGAVE I BI2014 MOLEKYLÆRBIOLOGI

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet BIOKJEMISK INSTITUTT

EXAM TTM4128 SERVICE AND RESOURCE MANAGEMENT EKSAM I TTM4128 TJENESTE- OG RESSURSADMINISTRASJON

INF Logikk og analysemetoder Forslag til løsning på oppgave fra læreboken

C13 Kokstad. Svar på spørsmål til kvalifikasjonsfasen. Answers to question in the pre-qualification phase For English: See page 4 and forward

1 User guide for the uioletter package

Transkript:

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230/4230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 24. mars 2006 Tid for eksamen: 13.30 16.30 Oppgavesettet er på 7 sider. Vedlegg: Ingen Tillatte hjelpemidler: Alle trykte og skrevne Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. Oppgavene og deloppgavene kan til en stor grad løses uavhengig av hverandre. Om det er en deloppgave du ikke har løst, så kan du anta at du har løst den og kan prøve å gå videre i settet. Legg vekt på å finne enkle og elegante løsninger (selv om dette skulle gå på bekostning av effektivitet)! Poengtallene angitt i parentes for hver deloppgave er veiledende. Alle svar skal begrunnes. English! This exam is given in English after the Norwegian part, from page 5 onwards. (Fortsettes på side 2.)

Eksamen i INF 3230/4230, 24. mars 2006 Side 2 Oppgave 1 Konfluens (6 poeng) Gitt systemet {f (a) = b, f (f (x)) = x}. 1. Bevis at systemet ikke er konfluent. 2. Legg til én ligning, slik at systemet blir konfluent og terminerende, og slik at ikke fler termer blir like enn i den opprinnelige spesifikasjonen (d.v.s. t = u kan utledes i det nye systemet hvis og bare hvis det kunne utledes i det opprinnelige systemet). Bevis at den nye spesifikasjonen er konfluent. Oppgave 2 Terminering (17 poeng) Gitt systemet {f (g(x)) = h(x), h(x) = g(f (x)), a = b}. 1. Kan systemet bevises terminerende med vektings-teknikker? Hvis ja : bruk vekting til å bevise at systemet terminerer; hvis nei : bevis hvorfor det ikke finnes noen vektingsfunksjon som kan bevise terminering av systemet. 2. Kan systemet bevises terminerende med den leksikografiske stiordningen eller med multisett stiordningen? 3. Fins det noen forenklingsordning som kan bevise terminering av systemet? Begrunn godt! Oppgave 3 Merge-sort (16 poeng) Vi skal i denne oppgaven rett og slett sortere en liste av naturlige tall med sorteringsalgoritmen merge-sort. Gitt en liste som skal sorteres, så blir denne algoritmen beskrevet som som følger (i boken Data Structures and Problem Solving Using Java av M. A. Weiss): 1. Dersom antall elementer å sortere er 0 eller 1, så skal man returnere (listen er allerede ferdigsortert). 2. Ellers: del opp listen i to like store deler 1 og sorter rekursivt de to delene hver for seg (med bruk av merge-sort, selvfølgelig). 3. Flett sammen de to ferdig-sorterte halve listene fra punktet over til en hel ferdigsortert liste. 1 eller hvor den første halvparten har ett element mer enn den andre halvparten (Fortsettes på side 3.)

Eksamen i INF 3230/4230, 24. mars 2006 Side 3 For eksempel, for å sortere listen 4 2 3 1, så tar vi først og deler denne i de to delene 4 2 og 3 1. Hver av disse skal nå sorteres. Listen 4 2 deles nå opp i de to listene 4 og 2. Disse to listene flettes nå sammen i stigende rekkefølge, og resultatet av flettingen er den sorterte listen 2 4. Denne skal altså nå flettes sammen med resultatet av å sortere sammen del-listen 3 1, som må være 1 3. Resultatet av å flette sammen 2 4 og 1 3 er den sorterte listen 1 2 3 4. 3a Merge-sort funksjonen (13 poeng) Gitt vår gamle gode spesifikasjon av lister av heltall fmod LIST-INT is protecting INT. sorts List NeList. subsorts Int < NeList < List. *** Constructors op nil : -> List [ctor]. op : List List -> List [assoc id: nil ctor]. op : NeList NeList -> NeList [assoc id: nil ctor]. op length : List -> Nat. var I : Int. var L : List. eq length(nil) = 0. eq length(i L) = 1 + length(l). endfm så skal du rett og slett definere/programmere funksjonen op mergesort : List -> List. slik at mergesort(l) sorterer listen l etter algoritmen merge-sort beskrevet over. Eksempelvis så skal Maude kommandoen Maude> red mergesort(6 5 89 12-5 33 2 5 2 5 8 1 0). returnere svaret result NeList: -5 0 1 2 2 5 5 5 6 8 12 33 89 (Fortsettes på side 4.)

Eksamen i INF 3230/4230, 24. mars 2006 Side 4 3b Induktive teoremer (3 poeng) Anta nå at det er bevist at funksjonen quicksort fra kompendiet er korrekt, dvs. at den sorterer en liste korrekt. Man kunne tenke seg at man ønsket å bevise at din mergesort funksjon også er korrekt. Angi nøyaktig hvilken egenskap/teorem man må bevise for å bevise at din mergesort funksjon er korrekt. Merk: du trenger ikke å foreta selve beviset for korrekthet, men bare formelt angi hvilken egenskap man skulle ønske å bevise! Lykke til! Peter C. Ølveczky (Fortsettes på side 5.)

Eksamen i INF 3230/4230, 24. mars 2006 Side 5 The exam in English The following pages present the (same!) exam exercises in English. The exercises can, to a certain degree, be solved independently of each other. If you have not solved an exercise, you may assume that you have solved it and can continue with other exercises. Emphasize simplicity and elegance in your solutions (even at the cost of computational efficiency of your specifications)! All answers should be explained/justified. Exercise 1 Confluence (6 points) Given the specification {f (a) = b, f (f (x)) = x}. 1. Prove that the system is not confluent. 2. Add one equation to the system so that it becomes terminating and confluent, and so that no more terms are equivalent in the new specification than in the old one (that is, t = u should hold in the new specification if and only if it holds in the old one). Prove that the new specification is confluent. Exercise 2 Termination (17 points) Consider the specification {f (g(x)) = h(x), h(x) = g(f (x)), a = b}. 1. Can the system be proved to terminate using weight functions? If yes : use weight function techniques to prove termination of the system; if no : prove why there cannot exist any weight function that can prove that the specification above is terminating. 2. Can the system be proved to be terminating using the lexicographic path ordering or the multiset path ordering? Explain. 3. Does there exist a simplification ordering that can be used to prove that the system is terminating. Justify your answer well. (Fortsettes på side 6.)

Eksamen i INF 3230/4230, 24. mars 2006 Side 6 Exercise 3 Merge-Sort (16 points) In this exercise we define/program the well-known merge-sort algorithm for sorting lists. Given a list to sort, this algorithm is described as follows (in the book Data Structures and Problem Solving Using Java by M. A. Weiss): 1. If the number of items to sort is 0 or 1, return (such a list is of course already sorted). 2. Otherwise: split the list into two halves with the same number of elements in each half 2, and recursively sort the first and second halves separately. 3. Merge the two sorted halves into a sorted group. For example, to sort the list 4 2 3 1, we first split it into the two halves 4 2 and 3 1. Each of these must now be sorted. The list 4 2 is now split into the two lists 4 and 2. These are now merged together in increasing order, and the result of this merger is the list 2 4. This one should now be merged with the result of sorting 3 1, that should be 1 3. The result of merging 2 4 and 1 3 is then the sorted list 1 2 3 4. Exercise 3a Defining the mergesort Function (13 points) Given the following good old specification of lists of natural numbers: fmod LIST-INT is protecting INT. sorts List NeList. subsorts Int < NeList < List. *** Constructors op nil : -> List [ctor]. op : List List -> List [assoc id: nil ctor]. op : NeList NeList -> NeList [assoc id: nil ctor]. op length : List -> Nat. var I : Int. var L : List. eq length(nil) = 0. eq length(i L) = 1 + length(l). endfm 2 or such that the first part has one more element than the second part (Fortsettes på side 7.)

Eksamen i INF 3230/4230, 24. mars 2006 Side 7 you should define/program the function op mergesort : List -> List. such that mergesort(l) sorts the list l according to the algorithm merge-sort described above. For example, the Maude command Maude> red mergesort(6 5 89 12-5 33 2 5 2 5 8 1 0). should return the result result NeList: -5 0 1 2 2 5 5 5 6 8 12 33 89 Exercise 3b Inductive Theorems (3 points) Of course, we would like to argue that our mergesort is correct. Assume that it has somehow been proved that the quicksort function in the lecture notes is correct; that is, that is correctly sorts a list. In this exercise you should state precisely and formally the property that states that mergesort correctly sorts a list. Note: you should just state formally the property that we would like to prove; you do not need to prove it! Good luck! Peter C. Ølveczky