UNIVERSITETET I OSLO

Like dokumenter
UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

Slope-Intercept Formula

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

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Trigonometric Substitution

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

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

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

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Information search for the research protocol in IIC/IID

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

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Elektronisk innlevering/electronic solution for submission:

Moving Objects. We need to move our objects in 3D space.

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Kartleggingsskjema / Survey

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

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

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Graphs similar to strongly regular graphs

Gol Statlige Mottak. Modul 7. Ekteskapsloven

UNIVERSITETET I OSLO

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

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

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

Maple Basics. K. Cooper

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

Dynamic Programming Longest Common Subsequence. Class 27

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.

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

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

Vedlegg 2 Dokumentasjon fra TVM leverandør

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

Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

FYSMEK1110 Eksamensverksted 23. Mai :15-18:00 Oppgave 1 (maks. 45 minutt)

Exercise 1: Phase Splitter DC Operation

1 User guide for the uioletter package

EN Skriving for kommunikasjon og tenkning

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

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

Neural Network. Sensors Sorter

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

klassisk angoragenser classic angora sweater

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

FINAL EXAM IN STA-2001

HØGSKOLEN I NARVIK - SIVILINGENIØRUTDANNINGEN

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

Call function of two parameters

SJEKKESKOLEN: EN STEG-FOR-STEG GUIDE TIL TILTREKNING AV FANTASTISKE JENTER (NORWEGIAN EDITION) BY ANDREAS GODE VIBBER

Høgskoleni Østfold UTSATT EKSAMEN. Emnekode: Course: Mikroøkonomi med anvendelser ( 10 ECTS) SFB 10804

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

UNIVERSITETET I OSLO

stjerneponcho for voksne star poncho for grown ups

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

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

IN2010: Algoritmer og Datastrukturer Series 2

Søker du ikke om nytt frikort/skattekort, vil du bli trukket 15 prosent av utbetalingen av pensjon eller uføreytelse fra og med januar 2016.

TEKSTER PH.D.-KANDIDATER FREMDRIFTSRAPPORTERING

TMA4240 Statistikk 2014

Vekeplan 4. Trinn. Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD. Norsk Matte Symjing Ute Norsk Matte M&H Norsk

PATIENCE TÅLMODIGHET. Is the ability to wait for something. Det trenger vi når vi må vente på noe

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

Du kan bruke det vedlagte skjemaet Egenerklæring skattemessig bosted 2012 når du søker om frikort.

Medisinsk statistikk, KLH3004 Dmf, NTNU Styrke- og utvalgsberegning

Mannen min heter Ingar. Han er også lege. Han er privatpraktiserende lege og har et kontor på Grünerløkka sammen med en kollega.

INF 3230/4230 Forelesning 9: Omskrivningslogikk

TEKSTER PH.D.-VEILEDERE FREMDRIFTSRAPPORTERING DISTRIBUSJONS-E-POST TIL ALLE AKTUELLE VEILEDERE:

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Transkript:

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 4231 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 12. juni 2014 Tid for eksamen: 9.00 13.00 Oppgavesettet er på 9 sider. Vedlegg: Tillatte hjelpemidler: Ingen vedlegg 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! Poengtallene angitt i parentes for hver oppgave er veiledende. Alle svar skal begrunnes godt! Alle hjelpefunksjoner, sorter, etc., du trenger må selvfølgelig defineres fullt ut. English! This exam is given in English after the Norwegian part, from page 6 onwards. (Fortsettes på side 2.)

Eksamen i INF 4231, 12. juni 2014 Side 2 Oppgave 1 Terminering (24 poeng) 1. Finnes det en forenklingsordning som kan brukes til å bevise at spesifikasjonen { g(g(x)) = f(g(h(x))) } terminerer? Bevis (eller begrunn godt) ditt svar. 2. Finnes det en forenklingsordning som kan brukes til å bevise at spesifikasjonen { f(x, h(b)) = f(x, g(x)) } terminerer? Bevis (eller begrunn godt) ditt svar. 3. Finnes det en forenklingsordning som kan brukes til å bevise at spesifikasjonen { g(g(x)) = f(g(h(x))), f(h(g(x))) = g(h(x)) } terminerer? Bevis (eller begrunn godt) ditt svar. Oppgave 2 Konfluens (26 poeng) Gi et eksempel på en likhetsspesifikasjon som er lokalt konfluent, men som ikke er (globalt) konfluent. Oppgave 3 Travel Salgsmann (52 poeng) Et klassisk problem innen informatikk er travel salgsmann-problemet ( traveling salesman på engelsk). Her er det gitt en mengde byer, og en kostnad for hvert par av byer som sier hvor mye det koster å reise (direkte) mellom disse byene. Den travle salgsmannen må starte fra hjembyen og må så besøke alle de andre byene før han vender hjem til hjembyen. Men av ymse grunner (f. eks. borgerkrig) får salgsmannen ikke besøke samme by to ganger (hvis man ser bort fra at han starter og slutter i samme by). Byene representeres av en datatype sorts City Cities. subsort City < Cities. op none : -> Cities [ctor]. op _;_ : Cities Cities -> Cities [ctor assoc comm id: none]. op cities : -> Cities. hvor cities er en konstant som gir alle byene i systemet. Vi antar også at det er gitt en funksjon op cost : City City -> Nat [comm]. som angir kostnaden av en (direkte) reise mellom to byer. Et eksempel på en definisjon av cities og cost er følgende: (Fortsettes på side 3.)

Eksamen i INF 4231, 12. juni 2014 Side 3 ops PhnomPenh SiemReap Sisophon Battambang KompongSom : -> City [ctor]. eq cities = PhnomPenh ; SiemReap ; Sisophon ; Battambang ; KompongSom. eq cost(phnompenh, SiemReap) = 2. eq cost(phnompenh, KompongSom) = 4. eq cost(phnompenh, Sisophon) = 9. eq cost(phnompenh, Battambang) = 6. eq cost(siemreap, Sisophon) = 3. eq cost(siemreap, Battambang) = 1. eq cost(siemreap, KompongSom) = 3. eq cost(sisophon, Battambang) = 3. eq cost(sisophon, KompongSom) = 7. eq cost(battambang, KompongSom) = 9. En travel-salgsmann-reise som starter og slutter i PhnomPenh og er innom alle byene én gang kunne for eksempel vært oppgavestillerens tur i 1993: PhnomPenh SiemReap Sisophon Battambang KompongSom PhnomPenh. Total kostnad for denne turen er 2 + 3 + 3 + 9 + 4 = 21. Merk forøvrig at den direkte turen mellom PhnomPenh og Sisophon har kostnad 9, mens turen PhnomPenh SiemReap Sisophon koster 2 + 3 = 5. I denne oppgaven skal vi modellere alle mulige reiser som den travle salgsmannen kan foreta. Merk: Du kan anta at enhver tur må innom minst tre byer dersom du ønsker det. Følgende datatype skal benyttes for å representere reiser (som ikke trenger å være avsluttet): sort Trip. subsort City < Trip. op _-->_ : Trip Trip -> Trip [ctor assoc]. 3a Kostnad av en reise (4 poeng) Definér en funksjon op cost : Trip -> Nat. som finner totalkostnaden av en reise (som kan være en ferdig tur eller en uferdig tur). 3b Initialtilstand (4 poeng) Definér en sort State for tilstandene i systemet og definér en funksjon op init : City -> State. som definerer en passende initialtilstand for en travel salgsmann som starter sin reise i den gitte byen. (Det kan lønne seg å løse denne deloppgaven etter å ha løst neste deloppgave.) Enhver tilstand skal inneholde reisen som er foretatt så langt. (Fortsettes på side 4.)

Eksamen i INF 4231, 12. juni 2014 Side 4 3c Modellere alle mulige reiser (13 poeng) Modellér alle mulige oppførslene til en travel salgsmann som et omskrivningssystem i Maude. 3d Finne kort tur (4 poeng) Hvordan kan du bruke Maude til å finne ut om det finnes en (komplett) reise fra init(phnompenh) med totalkostnad mindre enn 21? Enhver Maude-kommando du bruker må skrives fullt ut. 3e Temporallogikk I (4 poeng) Vi ønsker nå å bruke Maude s temporallogikk-modellsjekker til å resonnere om hvorvidt vår modell tilfredsstiller egenskaper uttrykt vha. temporallogikk. Definér i Maude et parametrisk tilstandsutsagn currentlyin, som tar en by som parameter, slik at currentlyin(by) holder i en tilstand hvis og bare hvis den travle handelsreisende er i byen by for øyeblikket. 3f Temporallogikk II (12 poeng) Hvilke(n) av følgende temporallogiske formler holder i vårt system når initialtilstanden er init(phnompenh)? (Husk at alle svar må begrunnes.) 1. currentlyin(phnompenh) 2. currentlyin(sisophon) 3. currentlyin(siemreap) 4. currentlyin(battambang) 5. currentlyin(battambang) 6. currentlyin(phnompenh) 7. currentlyin(sisophon) 3g En ny variant av problemet (11 poeng) Det virker for dumt ikke å kunne besøke samme by flere ganger. For eksempel ville det hjulpet veldig, i tilfelle man var i Sisophon og hadde besøkt alle byene og skulle hjem til PhnomPenh, om man kunne reist hjem via SiemReap i stedet for å ta den dyrere direkteruten mellom Sisophon og PhnomPenh. Man skal selvsagt ikke ta en direktereise fra byen man er i til samme by, men kan ellers besøke hver by så ofte man vil (helt til reisen er ferdig; da må den avsluttes). Modellér den nye versjonen av systemet. Inkludér også en (re)definisjon av funksjonen init. (Fortsettes på side 5.)

Eksamen i INF 4231, 12. juni 2014 Side 5 Lykke til! Peter C. Ölveczky (Fortsettes på side 6.)

Eksamen i INF 4231, 12. juni 2014 Side 6 The Exam 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 the other exercises. Emphasize simplicity and elegance in your solutions. All answers should be explained/justified. All auxiliary functions, sorts, etc., that you need must obviously be defined. Exercise 1: Termination (24 points) 1. Does there exist a simplification ordering that can be used to prove that the specification { g(g(x)) = f(g(h(x))) } is terminating? Prove/justify your answer. 2. Does there exist a simplification ordering that can be used to prove that the specification { f(x, h(b)) = f(x, g(x)) } is terminating? Prove/justify your answer. 3. Does there exist a simplification ordering that can be used to prove that the specification { g(g(x)) = f(g(h(x))), f(h(g(x))) = g(h(x)) } is terminating? Prove/justify your answer. Exercise 2: Confluence (26 points) Define an equational specification that is locally confluent, but that is not (globally) confluent. Exercise 3: The Traveling Salesman (52 points) In the classic traveling salesman problem, we are given a set of cities that a salesman needs to visit, and a cost for traveling between any pair of cities. The salesman starts his travel in his home town, and must then visit every other city exactly once before finally coming back to his home town. That is, he cannot visit a city twice (apart, obviously, from starting and ending his journey in his home town). Cities are represented by the following data type: sorts City Cities. subsort City < Cities. op none : -> Cities [ctor]. op _;_ : Cities Cities -> Cities [ctor assoc comm id: none]. op cities : -> Cities. (Fortsettes på side 7.)

Eksamen i INF 4231, 12. juni 2014 Side 7 where cities is a constant denoting all the cities that must be visited. A function op cost : City City -> Nat [comm]. defines the cost of traveling (directly) between two cities. In this exercise, we use the following definition of cities and cost: ops PhnomPenh SiemReap Sisophon Battambang KompongSom : -> City [ctor]. eq cities = PhnomPenh ; SiemReap ; Sisophon ; Battambang ; KompongSom. eq cost(phnompenh, SiemReap) = 2. eq cost(phnompenh, KompongSom) = 4. eq cost(phnompenh, Sisophon) = 9. eq cost(phnompenh, Battambang) = 6. eq cost(siemreap, Sisophon) = 3. eq cost(siemreap, Battambang) = 1. eq cost(siemreap, KompongSom) = 3. eq cost(sisophon, Battambang) = 3. eq cost(sisophon, KompongSom) = 7. eq cost(battambang, KompongSom) = 9. A (completed) traveling salesman journey that starts and ends in PhnomPenh and visits each other city exactly once could be the author s 1993 journey: PhnomPenh SiemReap Sisophon Battambang KompongSom PhnomPenh. The total cost of this trip is 2 + 3 + 3 + 9 + 4 = 21. Notice that the direct journey between PhnomPenh and Sisophon has cost 9, whereas the trip PhnomPenh SiemReap Sisophon has cost 2 + 3 = 5. In this exercise we will model and analyze all possible behaviors of a traveling salesman in Maude. Note: You may assume that each trip must visit at least three cities, if you like. The following data type must be used to represent a journey (that may or may not be completed): sort Trip. subsort City < Trip. op _-->_ : Trip Trip -> Trip [ctor assoc]. Exercise 3a: The Cost of a Trip (4 points) Define a function op cost : Trip -> Nat. that gives the total cost of a journey (that may be finished or unfinished). (Fortsettes på side 8.)

Eksamen i INF 4231, 12. juni 2014 Side 8 Exercise 3b: Initial States (4 points) Define a sort State for the states in your system, and define a function op init : City -> State. that defines a suitable initial state for a salesman that starts his journey in the given city. (You might want to solve the next exercise before solving this one.) Each state must contain the journey undertaken so far. Exercise 3c: Modeling All Possible Traveling Salesman Behaviors (13 points) Model all possible behaviors of a traveling salesman as a rewriting logic specification in Maude. Exercise 3d: Finding a Short Trip (4 points) How can you use Maude to find out whether there is a (complete) journey from init(phnompenh) with total cost less than 21? Any Maude command must be given in full. Exercise 3e: Temporal Logic I (4 points) We now wish to use Maude s temporal logic model checker to analyze our model. Define in Maude a parametric state proposition currentlyin, which takes a city as a parameter, such that currentlyin(city) holds in a state if and only if the salesman currently is in the city city. Exercise 3f: Temporal Logic II (12 points) Which of the following temporal logic formulas hold in our system when the initial state is init(phnompenh)? (Remember that all answers must be explained/justified.) 1. currentlyin(phnompenh) 2. currentlyin(sisophon) 3. currentlyin(siemreap) 4. currentlyin(battambang) 5. currentlyin(battambang) 6. currentlyin(phnompenh) 7. currentlyin(sisophon) (Fortsettes på side 9.)

Eksamen i INF 4231, 12. juni 2014 Side 9 Exercise 3g: A New Version of the Traveling Salesman (11 points) It sounds stupid not to be able to visit the same city multiple times, especially if you are standing in Sisophon and need to get back to Phnom Penh after having visited all cities. It seems much more tempting to travel back via Siem Reap instead of doing the costlier direct leg between Sisophon and Phnom Penh. In the new version of the traveling salesman system the salesman can visit any city as often as he wants, until the journey is finished. A salesman should of course not travel directly from a city to the same city. Model the new version of the system. Also include a (re)definition of the function init. Good luck! Peter C. Ölveczky