Turingmaskiner en kortfattet introduksjon. Christian F Heide

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Turingmaskiner en kortfattet introduksjon. Christian F Heide"

Transkript

1 7. november 016 Turingmaskiner en kortfattet introduksjon Christian F Heide En turingmaskin er ikke en fysisk datamaskin, men et konsept eller en tankekonstruksjon laget for å kunne resonnere omkring blant annet beregnbarhet. Det var den brilliante matematikeren Alan Turing ( ) som introduserte dette konseptet i sin artikkel On Computable Numbers i 1936 [1, ]. En turingmaskin består av 1. En tape (f. eks. en papirstrimmel eller en magnetisk tape), uendelig lang i begge retninger, som er inndelt i celler, hvor hver celle inneholder et symbol.. En styringsenhet som kan være i én av et endelig antall tilstander, med et skrive- /lesehode som kan lese et symbol fra og skrive et symbol til den cellen på tapen som styringsenheten peker på. Man tenker seg at styringsenheten kan flytte seg en celle til høyre eller til venstre i forhold til tapen, og at lese-/skrivehodet deretter kan lese symbolet fra den nye cellen den peker på, og så eventuelt overskrive denne cellen med et nytt symbol. Tilstanden til styringsenheten vil kunne endre seg og styringsenheten vil kunne flytte seg til høyre eller venstre avhengig av hvilket symbol den leser fra tapen og tilstanden den er i. Turingmaskinen skiller seg fra endelige automater ved at den har et uendelig minne (tapen). Det som viser seg kanskje noe overraskende er at en Turingmaskin i prinsippet kan gjøre alt en datamaskin kan, og således er en enkel men generell modell av en datamaskin [3]. En turingmaskin kan formelt defineres på følgende måte [3]: En turingmaskin T = (S, I, f, s 0 ) består av en endelig mengde av tilstander, S, et alfabet, I, som inkluder det tomme symbolet, B, og en partiell funksjon, f, fra S I til S I {R, L}, samt en starttilststand, s 0. R og L angir henholdsvis right og left, altså om styringsenheten skal beveges til høyre eller venstre. At f er en partiell funksjon, innebærer at den ikke er definert for alle elementer i S I. Men for de (tilstand, symbol)-par som den er definert for, er det assosiert et unikt (tilstand, symbol, retning)-trippel. Vi kaller de sammenhørende (tilstand, symbol)-par og (tilstand, symbol, retning)-tripler for turingmaskinens overgangsregler.

2 La oss nå se hvordan en turingmaskin kan tenkes å operere. Tape inndelt i celler med ett symbol i hver celle B B Skrive-/lesehode som er i tilstand (én av et endelig antall tilstander) En turingmaskin opererer trinnvis. I hvert trinn vil lesehodet lese symbolet, x, i cellen den peker på. Dersom styringsenheten er i tilstand s, og dersom funksjonen f er definert for paret (s, x) med f(s, x) = ( ) vil følgende skje: s, x, d - kontrollenheten går til sin nye tilstand - lesehodet skriver symbolet x i cellen den peker på - styringsenheten flyttes til høyre dersom d = R og til venstre dersom d = L s Vi kan skrive dette trinnet som (s, x, s, x, d ). Dersom f ikke er definert for paret (s, x) vil turingmaskinen stoppe. Man kan definere en turingmaskin ved å liste alle fem-tupler av formen (s, x, s, x, d ). På den måten vil man også implisitt definere inngangsalfabetet og mengden av tilstander. Det er alltid definert en starttilstand for turingmaskinen, kalt. Videre antar man at lesehodet ved oppstart er posisjonert over den cellen som er lengst til venstre som ikke er blank. Vi kaller dette startposisjonen. Ulike typer turingmaskiner Det kan defineres mange ulike typer turingmaskiner. For eksempel kan vi definere en turingmaskin som i tillegg til å kunne flytte høyre og venstre, også kan bli stående på samme tape-posisjon. Vi kan tillate at en turingmaskin opererer på mer enn en tape om gangen, en såkalt multitape turingmaskin. Vi kan videre tillate at tapen er todimensjonal, slik at den lese- /skrivehodet kan flyttes opp og ned, i tillegg til høyre og venstre. Vi kan ha flere lesehoder som leser flere celler samtidig. Vi kan også tillate at en turingmaskin opererer såkalt ikkedeterministisk ved å tillate at et (tilstand, tape-symbol)-par kan opptre som de to første elementer i mer enn ett fem-tuppel. Vi kan også redusere turingmaskinens kapasitet, f. eks. ved at tapen er uendelig bare i en retning, eller vi kan begrense alfabetet til bare å omfatte to symboler. Poenget med å liste opp alle disse mulighetene er å gjøre følgende poeng tydelig: uansett hvilke av disse variasjonene vi bruker, vil vi aldri bedre eller redusere maskinens regnekraft.

3 Alt som kan gjøres med en av disse variantene av turingmaskinen, kan også gjøres av den originale turingmaskinen. I tillegg til å introdusere konseptet turingmaskin, viste også Alan Turing at det er mulig å konstruere en turingmaskin som kan simulere beregningene til enhver annen turingmaskin. En slik maskin kalles en universell turingmaskin. Church-Turing-tesen Turingmaskiner kan virke svært enkle. Allikevel viser det seg at de er ekstremt kraftige i den forstand at selv om det kan være vanskelig å lage en turingmaskin som kan utføre en bestemt algoritme, så er det alltid mulig å lage en slik turingmaskin. Church-Turing-tesen sier at dersom man har et problem (en oppgave) som kan løses med en algoritme, så vil det finnes en turingmaskin som kan løse dette problemet. Dette betyr at ethvert problem som kan løses av en datamaskin, også kan løses av en turingmaskin. Man kan også se det slik at en turingmaskin angir den teoretiske grensen for hva en datamaskin kan gjøre. Kompleksitet, beregnbarhet og beslutningsproblem Turingmaskiner kan benyttes som et presist mål for å angi en algoritmes kompleksitet. Fra Church-Turing-tesen som vi presenterte ovenfor, vet vi at dersom et problem kan løses ved hjelp av en effektiv algoritme, så finnes det en turingmaskin som kan løse problemet. Når en turingmaskin brukes til å løse et problem, vil inputen til problemet være kodet som en streng av symboler som skrives til turingmaskinens tape. Kodingen av inputen vil kunne være forskjellig. For eksempel kan vi kode et positivt heltall som en streng av 1-ere. Vi kan ha andre regler for å kode par av heltall, negative heltall osv. Skal vi bruke en turingmaskin for å løse graf-algoritmer, må vi ha en måte å kode grafens kanter og noder på, noe som kan gjøres på flere ulike måter. Poenget her er at måten inputen kodes på, ikke har noen vesentlig betydning så lenge kodingen er rimelig effektiv, siden en turingmaskin alltid kan endre kodingen fra en type til en annen. De problemene som enklest kan studeres ved hjelp av turingmaskiner, er de hvor svaret er enten ja eller nei. Et beslutningsproblem (decision problem) spør hvorvidt et utsagn fra en klasse av utsagn er sant. Denne type problem er også kjent som ja-eller-nei-problem. Gitt et slikt beslutningsproblem ønsker vi å vite hvorvidt det finnes en algoritme som kan avgjøre hvorvidt ulike utsagn fra denne klassen av utsagn er sanne. 3

4 Som et eksempel kan vi se på klassen av utsagn som spør om et bestemt heltall, n, er et primtall. Dette er et beslutningsproblem fordi svaret på spørsmålet «Er n et primtall?» er enten ja eller nei. Spørsmålet er altså om det finnes en algoritme som kan avgjøre hvorvidt hvert av utsagnene i beslutningsproblemet er sant, altså avgjøre om et heltall n er et primtall. Svaret er at det finnes slike algoritmer. Mengden av input hvor svaret på ja-nei-problemet er ja, er en delmengde av mengden av mulige input, altså en delmengde av input-alfabetet. Dette innebærer at det å løse ja-nei-problem er det samme som å gjenkjenne språket som består av alle bitstrenger som representerer input-verdiene til problemet som leder til svaret «ja». Følgelig er det å løse et ja-nei-problem det samme som å gjenkjenne språket som svarer til input-verdiene som gir svaret «ja» på problemet. Dersom det finnes en effektiv algoritme som kan finne om en instans av et beslutningsproblem er sant, så sier vi at problemet er løsbart eller avgjørbart. Som eksempel kan vi si at problemet med å avgjøre hvorvidt et heltall er et primtall, er avgjørbart. Dersom det ikke finnes noen slik algoritme, sier vi at problemet er uløsbart eller uavgjørbart. For å vise at et problem er avgjørbart, må vi lage en algoritme som kan avgjøre problemet. Dersom vi skal vise at et problem er uavgjørbart, må vi bevise at det ikke finnes noen slik algoritme. Det er ikke tilstrekkelig at vi ikke klarte å finne en slik algoritme. Å bevise dette kan være svært vanskelig. Stopproblemet (The halting problem) er beslutningsproblemet som spør hvorvidt en turingmaskin vil stoppe når den gis en bestemt input-streng, x. Det viser seg at stopproblemet er et uløsbart beslutningsproblem (altså et uavgjørbart problem) [4]. Dette innebærer at det ikke finnes noen turingmaskin som dersom den gis en koding av turingmaskin T og dens input x kan avgjøre om T vil stoppe dersom den starter med x skrevet på tapen. Andre eksempler på problemer som ikke er avgjørbare er: - problemet med å bestemme hvorvidt to kontekstfrie grammatikker genererer samme mengde av strenger - Hilberts tiende problem som spør hvorvidt det finnes heltallsløsninger på et gitt polynom med heltallskoeffisienter. Beregnbarhet En funksjon som kan beregnes av en turingmaskin, kalles beregnbar, og en funksjon som ikke kan beregnes av en turingmaskin kalles uberegnbar. Det kan vises at det finnes funksjoner som er uberegnbare. Det er imidlertid ikke så enkelt å lage en slik funksjon. 4

5 Merk at ethvert beslutningsproblem kan reformuleres slik at det blir en beregning av en funksjon som har verdien 1 når svaret er ja, og 0 når svaret er nei. Et beslutningsproblem er løsbart hvis og bare hvis den tilsvarende funksjonen er beregnbar. Eksempel på en turingmaskin En turingmaskin er definert ved følgende fem-tupler: 1. (s0, 0, s0, 1, R). (s0, 1, s0, 0, R) 3. (s0, B, s1, 1, L) 4. (s1, 0, s1, 0, R) 5. (s1, 1, s1, 0, R) Hva skjer når vi starter med en tape som ser slik ut: B B Husk at B innebærer at cellen er blank, altså at den ikke inneholder noe symbol. Denne tapen er altså blank med unntak av fire celler. Jeg har ikke laget denne turingmaskinen for at den skal gjøre noe fornuftig, men kun for at det skal være enkelt å følge operasjonene. Vi må huske at en turingmaskin alltid starter i tilstanden s0 og med skrive-/lesehodet pekende på den cellen lengst til venstre som ikke er blank, altså slik i vårt tilfelle: B B Siden turingmaskinens tilstand er s0 og det er 0 i cellen den peker på, gjør det at den velger det første fem-tuplet i definisjonen. Dette fem-tuplet sier at maskinen skal forbli i s0, skrive symbolet 1 til tapen og flytte skrive-/lesehodet til høyre. Vi vil da ha følgende situasjon: B B 5

6 Turingmaskinen vil så lese symbolet i cellen den nå peker på, og vil da stå med kombinasjonen s0, 1. Den velger derfor fem-tuppel nummer som svarer til denne kombinasjonen. Den sier at vi skal bli i tilstand s0, skrive en 0 til cellen og flytte til høyre. Vi får da følgende situasjon: B B Vi har nå igjen kombinasjonen s0, 1. Den velger derfor igjen fem-tuppel nummer som sier at den skal bli i tilstand s0, skrive en 0 til cellen og flytte til høyre. Vi får da følgende situasjon: B B Vi har nå kombinasjonen s0, 0. Den velger derfor det første fem-tuplet som sier at den skal forbli i s0, skrive symbolet 1 til tapen og flytte til høyre. Vi vil da ha følgende situasjon: B B Kombinasjonen s0, B gjør at maskinen velger det 3. fem-tuplet. Dette angir s1, 1, L, og vi får derfor følgende: B B Kombinasjonen s1, 1 gjør at maskinen velger det 5. fem-tuplet. Dette angir s1, 0, R, og vi får derfor følgende: 6

7 B B Kombinasjonen s1, 1 gjør at maskinen på nytt velger det 5. fem-tuplet. Dette angir s1, 0, R, og vi får derfor følgende: B B Vi har nå kombinasjonen s1, B. Denne kombinasjonen finnes ikke i definisjonen av turingmaskinen, og maskinen stopper derfor. Resultatet av kjøringen (outputen) er bitmønsteret på tapen, eventuelt i kombinasjon med tilstanden maskinen er i og det faktum at den stopper. 7

8 Appendiks Flere eksempler på bruk av turingmaskiner (Dette er ikke pensum til eksamen) Bruk av turingmaskiner for å gjenkjenne mengder En av oppgavene turingmaskiner kan brukes til, er å gjenkjenne mengder. Vi må da først definere hva vi mener med en sluttilstand for en turingmaskin. Dersom vi definerer turingmaskinen ved hjelp av fem-tupler som beskrevet i begynnelsen av dette notatet, er sluttilstanden en tilstand som ikke er listet som første tilstand i noen av fem-tuplene, kun som annen tilstand (altså kun som s, ikke som s, dersom man bruker symbolene i forrige avsnitt). Vi kan nå definere hva vi formelt sett mener med at en turingmaskin gjenkjenner en streng [3]: La V være en delmengde av alfabetet I. En turingmaskin T = (S, I, f, ) gjenkjenner en streng x i V* hvis og bare hvis T, som starter i startposisjonen når x skrives til tapen, stopper i en sluttilstand. T sies å gjenkjenne en delmengde A av V* dersom x gjenkjennes av T hvis og bare hvis x tilhører A. Merk at for å gjenkjenne en delmengde A av V* kan vi bruke symboler som ikke er elementer i V. Dette betyr at inngangsalfabetet I kan inneholde symboler som ikke er elementer i V. Disse symbolene kan f eks benyttes som markører. Når vil en turingmaskin ikke gjenkjenne en streng x i V*? Svaret er at x ikke gjenkjennes dersom turingmaskinen ikke stanser eller stanser i en tilstand som ikke er en sluttilstand. Eksempel Finn en turingmaskin som gjenkjenner en bitstreng som har 1 som sin andre bit, dvs. strengen (0 + 1) 1 (0 + 1)* Løsning: Følgende sett av fem-tupler definerer en turingmaskin som gjør dette: (, 0, s 1, 0, R) (, 1, s 1, 1, R) Disse to første leser inn det første symbolet og setter turingmaskinen i tilstand s1. I tillegg må vi ha følgende to: (, 0, s, 0, R) (, 1, s 3, 1, R) Disse to leser inn symbol nummer to, og går til tilstand s dersom symbol nummer to er 0, og til tilstand s 3 dersom symbol nummer to er 1. Vi tenker oss her at s 3 er sluttilstanden, mens s ikke må være en sluttilstand. Vi må derfor inkludere et fem-tuppel med s som 8

9 starttilstand: ( s, 0, s, 0, R) Fordi vi ikke ønsker å gjenkjenne en tom streng eller en streng med ett bit, inkluderer vi følgende to fem-tupler: ( (, B,, B, s s, 0, R), 0, R) En turingmaskin definert av disse syv fem-tupler, vil terminere i sluttilstanden hvis bitstrengen har minst to bit og det andre bitet er 1. Ellers vil maskinen terminere i tilstanden som altså ikke er en sluttilstand. s s 3 hvis og bare Eksempel Finn en turingmaskin som gjenkjenner en bitstreng som består av en eller flere 0-er fulgt av det samme antall 1-ere, altså strengen 0 n 1 n med n 1 Her vil det være lurt å benytte seg av et ekstra symbol som et merke, la oss kalle det M. Vi har da V = {0, 1} og I = {0, 1, M}. Vi ser her at V* består av alle mulige bitstrenger, mens vi ønsker å gjenkjenne en delmengde av disse. Vi lager nå turingmaskinen slik at den erstatter en 0 lengst til venstre med en M, og en 1 lengst til høyre med en M. Dette er altså for å holde styr på hvilken 0 lengst til venstre og hvilken 1 lengst til høyre vi har sjekket. Sluttilstanden vil bli hetende s6, og maskinen skal altså nå denne tilstanden kun dersom den finner en blokk med 0-er fulgt av en blokk med samme antall 1-ere. Denne turingmaskinen defineres av følgende fem-tupler: (s0, 0, s1, M, R) Bytter ut 0 lengst til venstre og flytter seg mot høyre. (s1, 0, s1, 0, R) Flytter høyre i tilstand 1 inntil den når enden av strengen. (s1, 1, s1, 1, R) (s1, M, s, M, L) Flytter så til venstre i tilstand. (s1, B, s, B, L) (s, 1, s3, M, L) Fjerner 1-er lengst til høyre og flytter seg mot venstre. (s3, 1, s3, 1, L) Flytter seg mot venstre over 1-erne. (s3, 0, s4, 0, L) Går til s4 dersom det er flere 0-er i strengen. (s3, M, s5, M, R) Går til s5 dersom det ikke er flere 0-er i strengen. (s4, 0, s4, 0, L) Flytter seg mot venstre over 0-ene. (s4, M, s0, M, R) Finner venstre ende av binærstrengen og begynner på nytt. (s5, M, s6, M, R) Ingen flere 1-ere i strengen. Aksepterer strengen. 9

10 Funksjonsberegninger ved hjelp av turingmaskiner En turingmaskin kan betraktes som en maskin som finner verdien til en partiell funksjon. Vi kan se dette ved å anta at når turingmaskinen T gis strengen x som input, terminerer den med strengen y på tapen. Vi kan da definere funksjonen y = T(x). Definisjonsmengden til T er mengden av strenger for hvilke turingmaskinen T terminerer. T(x) er udefinert dersom T ikke terminerer når den gis strengen x som input. Men kan dette brukes når vi skal beregne funksjonsverdier av mer «vanlige» heltallsfunksjoner? Ja, det er mulig, men det blir ikke veldig enkelt og oversiktlig. Dette vil da bli en funksjon fra k-tupler av ikke-negative heltall til ikke-negative heltall. En slik funksjon kalles en tallteoretisk funksjon. For å kunne bruke en turingmaskin til dette, må vi ha en måte å representere k-tupler av heltall på turingmaskinens tape. Til dette kan vi bruke en såkalt unær (unary) representasjon av heltall. Dette består i å representere det ikke-negative heltallet n med en streng av n + 1 enere. F. eks. vil da tallet 0 representeres av 1, tallet representeres av 111 og tallet 5 representeres av For å representere fem-tuplene som turingmaskinen består av, bruker vi et skilletegn (ofte *) mellom hvert av de fem symbolene. Dersom vi skal representere fem-tuplet (, 0, 1, 3) vil vi da gjøre det ved hjelp av strengen 111*1*11*1111. Vi kan da betrakte en turingmaskin som en beregning av sekvenser av tallteoretiske funksjoner T, T, T 3,, T k, Funksjonen T k er definert ved aksjonen av T på k-tuplene av heltall representert ved den unære representasjonen av heltall separert med skilletegn. Eksempel Lag en turingmaskin som adderer to ikke-negative heltall. Vi ønsker altså å bygge en turingmaskin, T, som beregner funksjonen f(n1, n) = n1 + n. Den unære representasjon av paret n1, n består av en streng av n1 + 1 enere fulgt av en stjerne fulgt av n +1 enere. Maskinen skal altså ta denne strengen som input og skal som output produsere en tape med n1 + n + 1 enere. En mulighet for å oppnå dette, er som følger: Maskinen starter med eneren lengst til venstre i inputstrengen, og sletter denne. Den stopper dersom n1 = 0. Den bytter ut stjerna med den gjenværende eneren lengst til venstre, og stopper så. Vi kan bruke følgende fem-tupler for å oppnå dette: (s0, 1, s1, B, R) (s1, *, s3, B, R) (s1, 1, s, B, R) (s, 1, s, 1, R) (s, *, s3, 1, R) Som vi ser krever det en del tankearbeid og øvelse for å lage en turingmaskin som beregner selv ganske enkle funksjoner. 10

11 Referanser 1. Turing, A.M., «On Computable Numbers, with an Application to the Entscheidungsproblem», Proceedings of the London Mathematical Society, 4: 30 65, Turing, A.M., «On Computable Numbers, with an Application to the Entscheidungsproblem: A correction», Proceedings of the London Mathematical Society, 43: ). 3. Rosen, K. H., «Discrete Mathematics and Its Applications», New York, McGraw-Hill, 007, 6. utgave, avsnitt Sipser, Michael, «Introduction to the Theory of Computation», Boston, Course Technology Inc, 006,. utgave. 11

Turingmaskiner en kortfattet introduksjon. Christian F Heide

Turingmaskiner en kortfattet introduksjon. Christian F Heide 13. november 2014 Turingmaskiner en kortfattet introduksjon Christian F Heide En turingmaskin er ikke en fysisk datamaskin, men et konsept eller en tankekonstruksjon laget for å kunne resonnere omkring

Detaljer

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet INF 4130 8. oktober 2009 Stein Krogdahl Dagens tema: Uavgjørbarhet Dette har blitt framstilt litt annerledes tidligere år Se Dinos forelesninger fra i fjor. I år: Vi tenker mer i programmer enn i Turing-maskiner

Detaljer

Avgjørbarhet / Uavgjørbarhet

Avgjørbarhet / Uavgjørbarhet Avgjørbarhet / Uavgjørbarhet For å kunne snakke om avgjørbarhet/uavgjørbarhet trenger vi Turingmaskiner og for å snakke om Turingmaskiner trenger vi formelle språk, og strenger og alfabeter. Pluss litt

Detaljer

INF Algoritmer: Design og effektivitet

INF Algoritmer: Design og effektivitet INF 4130 Algoritmer: Design og effektivitet Velkommen Forelesere: Stein Krogdahl, steinkr at ifi.uio.no Petter Kristiansen pettkr at ifi.uio.no Lærebok: Algorithms: Sequential, Parallel, and Distributed,

Detaljer

INF oktober Stein Krogdahl. Altså: Hva kan ikke gjøres raskt (med mindre P = NP)

INF oktober Stein Krogdahl. Altså: Hva kan ikke gjøres raskt (med mindre P = NP) INF 4130 22. oktober 2009 Stein Krogdahl Dagens tema: Mer om NP-kompletthet Altså: Hva kan ikke gjøres raskt (med mindre P = NP) Også her: Dette har blitt framstilt litt annerledes tidligere år Pensum

Detaljer

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi INF1820: Introduksjon til språk-og kommunikasjonsteknologi Fjerde forelesning Lilja Øvrelid 6 februar, 2014 OVERSIKT Såkalt endelig tilstand (finite-state) -teknologi er kjapp og effektiv nyttig for et

Detaljer

INF1820: Introduksjon til språk-og kommunikasjonsteknologi

INF1820: Introduksjon til språk-og kommunikasjonsteknologi INF1820: Introduksjon til språk-og kommunikasjonsteknologi Fjerde forelesning Lilja Øvrelid 6 februar, 2014 OVERSIKT Såkalt endelig tilstand (finite-state) -teknologi er kjapp og effektiv nyttig for et

Detaljer

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning INF2820 Datalingvistikk V2017 Forelesning 1.2 Jan Tore Lønning ENDELIGE TILSTANDSMASKINER OG REGULÆRE SPRÅK 19. januar 2017 2 Fysisk modell En tape delt opp i ruter. I hver rute står det et symbol. En

Detaljer

Følger Sipsers bok tett både i stoff og oppgaver.

Følger Sipsers bok tett både i stoff og oppgaver. 1 - hrj 1 Følger Sipsers bok tett både i stoff og oppgaver. Tirsdag forelesninger, nytt stoff Onsdag eksempler og utfyllende stoff Torsdag oppgaver fra uka før Start: kapittel 1 (2uker), 2 (2uker),3 (2uker),4

Detaljer

Obligatorisk oppgave 2 i INF 4130, høsten 2009

Obligatorisk oppgave 2 i INF 4130, høsten 2009 Obligatorisk oppgave 2 i INF 410, høsten 2009 Leveringsfrist 2. oktober Generelt for alle oppgavene Samme reglement gjelder som for obligatorisk oppgave 1. Det kan komme presiseringer og forandringer i

Detaljer

Forelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner

Forelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner Forelesning 14 og induksjon Dag Normann - 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt om ekvivalensrelasjoner og partielle ordninger. Vi snakket videre om funksjoner.

Detaljer

Forelesning 29: Kompleksitetsteori

Forelesning 29: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 29: Kompleksitetsteori 13. mai 2009 (Sist oppdatert: 2009-05-17

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 14: Rekursjon og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt

Detaljer

INF Stein Krogdahl. NB: Det som under forelesningen ble kalt et vitne er nå omdøpt til et sertifikat.

INF Stein Krogdahl. NB: Det som under forelesningen ble kalt et vitne er nå omdøpt til et sertifikat. INF 4130 15. oktober 2009 Stein Krogdahl NB: Det som under forelesningen ble kalt et vitne er nå omdøpt til et sertifikat. Dagens tema: NP-kompletthet Eller: hvilke problemer er umulig å løse effektivt?

Detaljer

Aksiom 3.1 (Likhet av mengder). La A og B være mengder. Da er A og B like hvis og bare hvis de har akkurat de samme elementene.

Aksiom 3.1 (Likhet av mengder). La A og B være mengder. Da er A og B like hvis og bare hvis de har akkurat de samme elementene. Notat 3 for MAT1140 3 Mengder 3.1 Mengder definert ved en egenskap Det matematiske begrepet mengde har sin opprinnelse i vår intuisjon om samlinger. Objekter kan samles sammen til et nytt objekt kalt mengde.

Detaljer

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk INF0: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk Mathias Lohne mathialo Rekursjonseksempel Eksempel Finn kjøretid for følgende program: (Ex11 b) 1 float foo(a) { n = Alength; 3 4 if

Detaljer

INF INF1820. Arne Skjærholt. Terza lezione INF1820. Arne Skjærholt. Terza lezione

INF INF1820. Arne Skjærholt. Terza lezione INF1820. Arne Skjærholt. Terza lezione Arne Skjærholt Terza lezione Arne Skjærholt Terza lezione Regulære uttrykk Regex Regulære uttrykk (regular expressions) er et godt eksempel på det som kalles finite-state methods (hvorfor det heter det

Detaljer

Eksamensoppgave i TMA4140 Diskret matematikk

Eksamensoppgave i TMA4140 Diskret matematikk Institutt for matematiske fag Eksamensoppgave i TMA44 Diskret matematikk Faglig kontakt under eksamen: Christian Skau Tlf: 7359755 Eksamensdato: 8 desember 25 Eksamenstid (fra til): 9:-3: Hjelpemiddelkode/Tillatte

Detaljer

TMA 4140 Diskret Matematikk, 1. forelesning

TMA 4140 Diskret Matematikk, 1. forelesning TMA 4140 Diskret Matematikk, 1. forelesning Haaken Annfelt Moe Department of Mathematical Sciences Norwegian University of Science and Technology (NTNU) August 29, 2011 Haaken Annfelt Moe (NTNU) TMA 4140

Detaljer

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1080 Logiske metoder for informatikk Eksamensdag: 10. desember 2013 Tid for eksamen: 09.00 13.00 Oppgave 1 Mengdelære (10 poeng)

Detaljer

Eksamensoppgave i TMA4140 Diskret matematikk

Eksamensoppgave i TMA4140 Diskret matematikk Institutt for matematiske fag Eksamensoppgave i TMA414 Diskret matematikk Faglig kontakt under eksamen: Christian Skau Tlf: 97 96 5 57 Eksamensdato: 15. desember 217 Eksamenstid (fra til): 9: 13: Hjelpemiddelkode/Tillatte

Detaljer

Forelesning 30: Kompleksitetsteori

Forelesning 30: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 30: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 30: Kompleksitetsteori 19. mai 2009 (Sist oppdatert: 2009-05-19

Detaljer

INF1800 LOGIKK OG BEREGNBARHET

INF1800 LOGIKK OG BEREGNBARHET INF1800 LOGIKK OG BEREGNBARHET FORELESNING 3: MENGDELÆRE, RELASJONER, FUNKSJONER Roger Antonsen Institutt for informatikk Universitetet i Oslo 26. august 2008 (Sist oppdatert: 2008-09-05 12:55) Repetisjon

Detaljer

Repetisjon INF1800 LOGIKK OG BEREGNBARHET FORELESNING 3: MENGDELÆRE, RELASJONER, FUNKSJONER. Mengder. Multimengder og tupler.

Repetisjon INF1800 LOGIKK OG BEREGNBARHET FORELESNING 3: MENGDELÆRE, RELASJONER, FUNKSJONER. Mengder. Multimengder og tupler. INF1800 LOGIKK OG BEREGNBARHET FORELESNING 3: MENGDELÆRE, RELASJONER, FUNKSJONER Roger Antonsen Repetisjon Institutt for informatikk Universitetet i Oslo 26. august 2008 (Sist oppdatert: 2008-09-05 12:55)

Detaljer

Analyse av Algoritmer

Analyse av Algoritmer Analyse av Algoritmer Lars Vidar Magnusson 10.1.2014 Asymptotisk notasjon (kapittel 3) Kompleksitetsklasser Uløselige problem Asymptotisk Notasjon Asymptotisk analyse innebærer å finne en algoritmes kjøretid

Detaljer

Løsningsforslag oblig. innlevering 1

Løsningsforslag oblig. innlevering 1 Løsningsforslag oblig. innlevering 1 IN1150 Logiske metoder Høsten 2017 Oppgave 1 - Mengdelære (10 poeng) a) Ut fra opplysningene under, angi hvilke mengder A og B er. A B = {1, 2, 3, 4, 5, 6} A B = {2,

Detaljer

Løsningsforslag. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

Løsningsforslag. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye. Løsningsforslag Emnekode: ITF75 Dato: 5 desember Emne: Matematikk for IT Eksamenstid: kl 9 til kl Hjelpemidler: To A4-ark med valgfritt innhold på begge sider Kalkulator er ikke tillatt Faglærer: Christian

Detaljer

(a) R n defineres som mengden av kolonnevektorer. a 1 a 2. a n. (b) R n defineres som mengden av radvektorer

(a) R n defineres som mengden av kolonnevektorer. a 1 a 2. a n. (b) R n defineres som mengden av radvektorer 5 Vektorrom Et vektorrom er en mengde V med tre algebraiske operasjoner (addisjon, negasjon og skalærmultiplikasjon) som tilfredsstiller de 10 betingelsene fra Def. 4.1.1. Jeg vil ikke gi en eksamensoppgave

Detaljer

Kompleksitetsteori reduksjoner

Kompleksitetsteori reduksjoner Kompleksitetsteori reduksjoner En slags liten oversikt, eller huskeliste, for kompleksitetsteorien i INF 4130. Ikke ment å være verken fullstendig eller detaljert, men kanskje egnet til å gi noen knagger

Detaljer

Løsningsforslag. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer:

Løsningsforslag. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer: Løsningsforslag Emnekode: ITF75 Dato: 7. desember Emne: Matematikk for IT Eksamenstid: kl 9. til kl. Hjelpemidler: To -ark med valgfritt innhold på begge sider. Kalkulator er ikke tillatt. Faglærer: Christian

Detaljer

OFFENTLIG-NØKKELKRYPTOGRAFI

OFFENTLIG-NØKKELKRYPTOGRAFI OFFENTLIG-NØKKELKRYPTOGRAFI S. O. SMALØ Abstract. I dette notatet, som skal inngå som pensum i etterog viderutdanningskurs i datasikkerhet, vil vi gi en kort innføring i oentlig-nøkkel-kryptogra med illustrasjoner

Detaljer

INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning

INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning INF2820 Datalingvistikk V2017 Forelesning 2, 23.1 Jan Tore Lønning ENDELIGE TILSTANDSMASKINER OG REGULÆRE SPRÅK, DEL 2 19. januar 2017 2 Sist uke: FSA Brukes om hverandre: Finite state automaton - FSA

Detaljer

MAT1030 Forelesning 13

MAT1030 Forelesning 13 MAT1030 Forelesning 13 Funksjoner Dag Normann - 2. mars 2010 (Sist oppdatert: 2010-03-02 14:15) Kapittel 6: Funksjoner Forrige uke Forrige forelesning snakket vi om relasjoner. Vi snakket om ekvivalensrelasjoner

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 28. november 2014 Tid for eksamen: 08.15 12.15 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF1080

Detaljer

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse

INF3140 Modeller for parallellitet INF3140/4140: Programanalyse INF3140/4140: Programanalyse Uke 4, side 1. Hvordan sjekke egenskaper ved programmer? Testing eller debugging øker tilliten til programmet ved prøving, men gir ingen garanti for korrekthet Operasjonell

Detaljer

LØSNINGSFORSLAG EKSAMEN VÅR07, MA0301

LØSNINGSFORSLAG EKSAMEN VÅR07, MA0301 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side 1 av 5 LØSNINGSFORSLAG EKSAMEN VÅR07, MA0301 Oppgave 1 Om mengder. a) (10%) Sett opp en medlemsskapstabell (membership

Detaljer

Kapittel 6: Funksjoner

Kapittel 6: Funksjoner MAT1030 Diskret Matematikk Forelesning 13: Funksjoner Dag Normann Matematisk Institutt, Universitetet i Oslo Kapittel 6: Funksjoner 2. mars 2010 (Sist oppdatert: 2010-03-02 14:14) MAT1030 Diskret Matematikk

Detaljer

MAT1030 Forelesning 19

MAT1030 Forelesning 19 MAT1030 Forelesning 19 Generell rekursjon og induksjon Roger Antonsen - 25. mars 2009 (Sist oppdatert: 2009-03-25 11:06) Forelesning 19 Forrige gang så vi på induktivt definerte mengder og noen eksempler

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 26: Trær Roger Antonsen Institutt for informatikk, Universitetet i Oslo 5. mai 2009 (Sist oppdatert: 2009-05-06 22:27) Forelesning 26 MAT1030 Diskret Matematikk 5.

Detaljer

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11 Forelesning 33 Repetisjon Dag Normann - 26. mai 2008 Innledning Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske repetisjonen av MAT1030. Det som gjensto var kapitlene 11 om trær og

Detaljer

Oppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Eksempel

Oppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Eksempel MAT1030 Diskret matematikk Forelesning 26: Trær Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot Dag Normann Matematisk Institutt, Universitetet i Oslo barn barn

Detaljer

Lars Vidar Magnusson Kapittel 13 Rød-Svarte (Red-Black) trær Rotasjoner Insetting Sletting

Lars Vidar Magnusson Kapittel 13 Rød-Svarte (Red-Black) trær Rotasjoner Insetting Sletting Rød-Svarte Trær Lars Vidar Magnusson 21.2.2014 Kapittel 13 Rød-Svarte (Red-Black) trær Rotasjoner Insetting Sletting Rød-Svarte Trær Rød-Svarte trær (red-black trees) er en variasjon binære søketrær som

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 33: Repetisjon Dag Normann Matematisk Institutt, Universitetet i Oslo 26. mai 2008 Innledning Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske

Detaljer

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon Innledning MAT1030 Diskret matematikk Forelesning 33: Repetisjon Dag Normann Matematisk Institutt, Universitetet i Oslo 26. mai 2008 Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske

Detaljer

Forelesning 2. Flere pseudokoder. Representasjoner av tall. Dag Normann januar 2008 KONTROLLSTRUKTURER. Kontrollstrukturer. Kontrollstrukturer

Forelesning 2. Flere pseudokoder. Representasjoner av tall. Dag Normann januar 2008 KONTROLLSTRUKTURER. Kontrollstrukturer. Kontrollstrukturer Forelesning 2 Flere pseudokoder. Representasjoner av tall. Dag Normann - 16. januar 2008 KONTROLLSTRUKTURER Mandag innførte vi pseudokoder og kontrollstrukturer. Vi hadde tre typer grunn-instruksjoner:

Detaljer

Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot. barn

Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot. barn Forelesning 26 Trær Dag Normann - 28. april 2008 Oppsummering Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk bruk av slike. rot barn barn barnebarn barnebarn barn blad Her er noen

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 26: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 28. april 2008 Oppsummering Sist forelesning snakket vi i hovedsak om trær med rot, og om praktisk

Detaljer

KONTINUASJONSEKSAMEN I TMA4140 LØSNINGSFORSLAG

KONTINUASJONSEKSAMEN I TMA4140 LØSNINGSFORSLAG Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side av 6 KONTINUASJONSEKSAMEN I TMA440 LØSNINGSFORSLAG Oppgave Sannhetsverditabell for det logiske utsagnet ( (p q) ) ( q r

Detaljer

INF2820 Datalingvistikk V2012. Jan Tore Lønning

INF2820 Datalingvistikk V2012. Jan Tore Lønning INF2820 Datalingvistikk V2012 Jan Tore Lønning ENDELIGE TILSTANDSTEKNIKKER OG REGULÆRE UTTRYKK I DATALINGVISTIKK DEL 2 20. januar 2012 2 Non-Determinism Speech and Language Processing - Jurafsky and Martin

Detaljer

Forelesning 30. Kompleksitetsteori. Dag Normann mai Informasjon. Oppsummering

Forelesning 30. Kompleksitetsteori. Dag Normann mai Informasjon. Oppsummering Forelesning 30 Kompleksitetsteori Dag Normann - 14. mai 2008 Informasjon Det er lagt ut program for orakeltjenestene i MAT1030 denne våren på semestersiden. Det blir ikke ordinære gruppetimer fra og med

Detaljer

Mengder, relasjoner og funksjoner

Mengder, relasjoner og funksjoner MAT1030 Diskret Matematikk Forelesning 15: og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo Mengder, relasjoner og funksjoner 9. mars 2010 (Sist oppdatert: 2010-03-09 14:18) MAT1030

Detaljer

MAT1030 Forelesning 30

MAT1030 Forelesning 30 MAT1030 Forelesning 30 Kompleksitetsteori Roger Antonsen - 19. mai 2009 (Sist oppdatert: 2009-05-19 15:04) Forelesning 30: Kompleksitetsteori Oppsummering I dag er siste forelesning med nytt stoff! I morgen

Detaljer

Generell induksjon og rekursjon. MAT1030 Diskret matematikk. Generell induksjon og rekursjon. Generell induksjon og rekursjon.

Generell induksjon og rekursjon. MAT1030 Diskret matematikk. Generell induksjon og rekursjon. Generell induksjon og rekursjon. MAT1030 Diskret matematikk Forelesning 18: Generell rekursjon og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo 12. mars 2008 Mandag så vi på induktivt definerte mengder og noen eksempler

Detaljer

Eksamen i Elementær Diskret Matematikk - (MA0301)

Eksamen i Elementær Diskret Matematikk - (MA0301) Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side 1 av 5 Faglig kontakt under eksamen: Steffen Junge (73 59 17 73 / 94 16 27 27) Eksamen i Elementær Diskret Matematikk -

Detaljer

MAT1030 Forelesning 14

MAT1030 Forelesning 14 MAT1030 Forelesning 14 Mer om funksjoner Roger Antonsen - 10. mars 2009 (Sist oppdatert: 2009-03-10 11:34) Kapittel 6: Funksjoner Surjektive funksjoner Den neste gruppen av funksjoner vi skal se på er

Detaljer

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag

Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag Institutt for matematiske fag Eksamensoppgave i MA0301 Elementær diskret matematikk løsningsforslag Faglig kontakt under eksamen: Martin Strand Tlf: 970 27 848 Eksamensdato:. august 2014 Eksamenstid (fra

Detaljer

MAT1030 Forelesning 25

MAT1030 Forelesning 25 MAT1030 Forelesning 25 Trær Dag Normann - 27. april 2010 (Sist oppdatert: 2010-04-27 14:16) Forelesning 25 Litt repetisjon Vi har snakket om grafer og trær. Av begreper vi så på var følgende: Eulerstier

Detaljer

Kapittel 6: Funksjoner

Kapittel 6: Funksjoner MAT1030 Diskret Matematikk Forelesning 14: Mer om funksjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 6: Funksjoner 10. mars 2009 (Sist oppdatert: 2009-03-10 11:34) MAT1030

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 11: Relasjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo 25. februar 2009 (Sist oppdatert: 2009-03-03 11:37) Kapittel 5: Relasjoner MAT1030 Diskret

Detaljer

Kapittel 5: Relasjoner

Kapittel 5: Relasjoner MAT1030 Diskret Matematikk Forelesning 11: Relasjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 5: Relasjoner 25. februar 2009 (Sist oppdatert: 2009-03-03 11:37) MAT1030 Diskret

Detaljer

Plenumsregning 12. Diverse oppgaver. Roger Antonsen mai Eksamen 12/6-06 Oppgave 2. Plan

Plenumsregning 12. Diverse oppgaver. Roger Antonsen mai Eksamen 12/6-06 Oppgave 2. Plan Plenumsregning 12 Diverse oppgaver Roger Antonsen - 22. mai 2008 Plan Dette er siste plenumsregning. Vi regner stort sett eksamensoppgaver. Neste uke blir det repetisjon på mandag og onsdag. Send epost

Detaljer

Diofantiske likninger Peer Andersen

Diofantiske likninger Peer Andersen Diofantiske likninger av Peer Andersen Peer Andersen 2013 Innhold Når en diofantisk likning har løsning... 3 Generell løsning av den diofantiske likningen... 4 Løsningsmetode når vi kjenner en spesiell

Detaljer

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann MAT1030 Diskret Matematikk Forelesning 25: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo Forelesning 25 27. april 2010 (Sist oppdatert: 2010-04-27 14:16) MAT1030 Diskret Matematikk 27. april

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 6: Ukeoppgaver fra kapittel 5 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 21. februar 2008 Oppgave 5.1 Skriv følgende mengder på listeform. (a) Mengden

Detaljer

INF3/4130 PRØVE-EKSAMEN MED SVARFORSLAG Gjennomgås 1/ , (lille aud.)

INF3/4130 PRØVE-EKSAMEN MED SVARFORSLAG Gjennomgås 1/ , (lille aud.) Oppgave 1 Uavgjørbarhet INF3/4130 PRØVE-EKSAMEN MED SVARFORSLAG Gjennomgås 1/12-2005, 14.15 (lille aud.) L = {(M 1, M 2 ) M 1 og M 2 er Turingmaskiner som er ekvivalente, dvs. gir samme output for samme

Detaljer

Mengdelære INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE. Læreboken. Mengder. Definisjon (Mengde) Roger Antonsen

Mengdelære INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE. Læreboken. Mengder. Definisjon (Mengde) Roger Antonsen INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE Roger Antonsen Mengdelære Institutt for informatikk Universitetet i Oslo 20. august 2008 (Sist oppdatert: 2008-09-03 12:36) Læreboken Mengder Definisjon

Detaljer

Oppgave: BOW Bowling. Regler for Bowling. norwegian. BOI 2015, dag 1. Tilgjengelig minne: 256 MB. 30.04.2015

Oppgave: BOW Bowling. Regler for Bowling. norwegian. BOI 2015, dag 1. Tilgjengelig minne: 256 MB. 30.04.2015 Oppgave: BOW Bowling norwegian BOI 0, dag. Tilgjengelig minne: 6 MB. 30.04.0 Byteasar er glad i både bowling og statistikk. Han har skrevet ned resultatene sine fra noen av gangene han har spilt bowling.

Detaljer

Reelle tall på datamaskin

Reelle tall på datamaskin Reelle tall på datamaskin Knut Mørken 5. september 2007 1 Innledning Tirsdag 4/9 var tema for forelesningen hvordan reelle tall representeres på datamaskin og noen konsekvenser av dette, særlig med tanke

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 25: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 27. april 2010 (Sist oppdatert: 2010-04-27 14:15) Forelesning 25 MAT1030 Diskret Matematikk 27. april

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 11: Huffman-koding & Dynamisk programmering (Ifi, UiO) INF2220 H2015, forelesning 11 1 / 32 Dagens

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side Det matematisk-naturvitenskapelige fakultet Prøveekasmen 2007, med svarforslag Eksamen i: INF 330/430: Algoritmer: Design og effektivitet Eksamensdag: Fredag. desember 200 Tid

Detaljer

INF1080 Logiske metoder for informatikk. 1 Små oppgaver [70 poeng] 1.1 Grunnleggende mengdelære [3 poeng] 1.2 Utsagnslogikk [3 poeng]

INF1080 Logiske metoder for informatikk. 1 Små oppgaver [70 poeng] 1.1 Grunnleggende mengdelære [3 poeng] 1.2 Utsagnslogikk [3 poeng] INF1080 Logiske metoder for informatikk Digital eksamen (med løsningsforslag) Dette er et utkast til løsningsforslag til eksamen i INF1080, og feil kan forekomme. Hvis du finner noen feil, si ifra til

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1080 Logiske metoder for informatikk Eksamensdag: 28. november 2014 Tid for eksamen: 08.15 12.15 Oppgave 1 Mengdelære (10 poeng)

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs

TDT4105 Informasjonsteknologi, grunnkurs 1 TDT4105 Informasjonsteknologi, grunnkurs Matlab: Sortering og søking Anders Christensen (anders@idi.ntnu.no) Rune Sætre (satre@idi.ntnu.no) TDT4105 IT Grunnkurs 2 Pensum Matlab-boka: 12.3 og 12.5 Stoffet

Detaljer

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde Norsk informatikkolympiade 2017 2018 1. runde Sponset av Uke 46, 2017 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.

Detaljer

INF1800 LOGIKK OG BEREGNBARHET

INF1800 LOGIKK OG BEREGNBARHET INF1800 LOGIKK OG BEREGNBARHET FORELESNING 2: MENGDELÆRE Roger Antonsen Institutt for informatikk Universitetet i Oslo 20. august 2008 (Sist oppdatert: 2008-09-03 12:36) Mengdelære Læreboken Det meste

Detaljer

Repetisjon. MAT1030 Diskret Matematikk. Oppsummering. Oppsummering. Forelesning 15: Rekursjon og induksjon. Roger Antonsen

Repetisjon. MAT1030 Diskret Matematikk. Oppsummering. Oppsummering. Forelesning 15: Rekursjon og induksjon. Roger Antonsen MAT1030 Diskret Matematikk Forelesning 15: og induksjon Roger Antonsen Institutt for informatikk, Universitetet i Oslo Repetisjon 11. mars 2009 (Sist oppdatert: 2009-03-10 20:38) MAT1030 Diskret Matematikk

Detaljer

Svarforslag til ukeoppgaver til INF 4130

Svarforslag til ukeoppgaver til INF 4130 Svarforslag til ukeoppgaver til INF 4130 15. november 2011 Oppgave 1: Løs 14.4 (hvori innbakt svaret på oppgave 14.5) Vi skal altså vise at Hungarian-algoritmen kan implementeres i tid O(n 3 ), der n er

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 9. desember 2015 Tid for eksamen: 09.00 13.00 (Fortsettes på side 2.) INF1080 Logiske metoder for informatikk Oppgave

Detaljer

MAT1030 Forelesning 11

MAT1030 Forelesning 11 MAT1030 Forelesning 11 Relasjoner Roger Antonsen - 25. februar 2009 (Sist oppdatert: 2009-03-03 11:37) Kapittel 5: Relasjoner Binære relasjoner Definisjon. La A være en mengde. En binær relasjon på A er

Detaljer

Kort repetisjon fra 3. forelesning. Hva er identitetsteori? Type identitet og tokenidentitet Identitetsteori og reduksjonisme

Kort repetisjon fra 3. forelesning. Hva er identitetsteori? Type identitet og tokenidentitet Identitetsteori og reduksjonisme Kort repetisjon fra 3. forelesning Hva er identitetsteori? Type identitet og tokenidentitet Identitetsteori og reduksjonisme Hva taler for typeidentitetsteori? Oppløser problemet med mental-fysisk interaksjon

Detaljer

Oppgaver med et odde nummer har fasit bakerst i læreboken. Her er løsningsforslag med mellomregninger for de gitte øvingsoppgavene.

Oppgaver med et odde nummer har fasit bakerst i læreboken. Her er løsningsforslag med mellomregninger for de gitte øvingsoppgavene. Diskret matematikk - Høgskolen i Oslo Løsningsforslag for en del oppgaver fra boken Discrete Mathematics and Its Applications Forfatter: Kenneth H. Rosen Oppgaver med et odde nummer har fasit bakerst i

Detaljer

Kapittel 5: Relasjoner

Kapittel 5: Relasjoner MAT1030 Diskret Matematikk Forelesning 11: Relasjoner Dag Normann Matematisk Institutt, Universitetet i Oslo Kapittel 5: Relasjoner 23. februar 2010 (Sist oppdatert: 2010-02-23 14:33) MAT1030 Diskret Matematikk

Detaljer

Kap. 5, Del 3: INF5110, fra 1/3-2011

Kap. 5, Del 3: INF5110, fra 1/3-2011 Kap. 5, Del 3: LR(1)- og LALR(1)-grammatikker INF5110, fra 1/3-2011 Bakerst: Oppgaver til kap 5 (svar kommer til gjennomgåelsen) gåe Nytt 2/3: Nå også oppgave 2 fra eksamen 2006 Stein Krogdahl, Ifi, UiO

Detaljer

Sekventkalkyle for utsagnslogikk

Sekventkalkyle for utsagnslogikk Sekventkalkyle for utsagnslogikk Tilleggslitteratur til INF1800 Versjon 11. september 2007 1 Hva er en sekvent? Hva er en gyldig sekvent? Sekventkalkyle er en alternativ type bevissystem hvor man i stedet

Detaljer

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din. UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 211 Programmeringsspråk Eksamensdag: 6. desember 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 9 sider. Vedlegg: Ingen

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 10: Mengdelære Dag Normann Matematisk Institutt, Universitetet i Oslo 17. februar 2010 (Sist oppdatert: 2010-02-17 12:40) Kapittel 5: Mengdelære MAT1030 Diskret Matematikk

Detaljer

TMA 4140 Diskret Matematikk, 3. forelesning

TMA 4140 Diskret Matematikk, 3. forelesning TMA 4140 Diskret Matematikk, 3. forelesning Haaken Annfelt Moe Department of Mathematical Sciences Norwegian University of Science and Technology (NTNU) September 5, 2011 Haaken Annfelt Moe (NTNU) TMA

Detaljer

x 1 x 2 x = x n b 1 b 2 b = b m Det kan være vanskelig (beregningsmessig) og bearbeide utrykk som inneholder

x 1 x 2 x = x n b 1 b 2 b = b m Det kan være vanskelig (beregningsmessig) og bearbeide utrykk som inneholder 4 Noen merknader 4. Lineære systemer Ax = b Gitt systemet Ax = b, A = [a i,j ] i=,,...,m, j=,,...,n x = b = Det kan være vanskelig (beregningsmessig) og bearbeide utrykk som inneholder b i. Med det finnes

Detaljer

Velkommen til MAT1030!

Velkommen til MAT1030! MAT1030 Diskret Matematikk Forelesning 1: Algoritmer, pseudokoder, kontrollstrukturer Roger Antonsen Institutt for informatikk, Universitetet i Oslo Velkommen til MAT1030! 13. januar 2009 (Sist oppdatert:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 4130: Algoritmer: Design og effektivitet Eksamensdag: 11. desember 2009 Tid for eksamen: Kl. 09:00 12:00 (3 timer) Oppgavesettet

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 1: Algoritmer, pseudokoder, kontrollstrukturer Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. januar 2009 (Sist oppdatert: 2009-01-14 16:44) Velkommen

Detaljer

FASIT/LF FOR EKSAMEN TMA4140, H07

FASIT/LF FOR EKSAMEN TMA4140, H07 Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side av 5 FASIT/LF FOR EKSAMEN TMA440, H07 Oppgave (0%) Benytt matematisk induksjon til å vise at for alle heltall n. n i i!

Detaljer

LØSNINGSFORSLAG EKSAMEN MNF130 VÅREN 2010 OPPGAVE 1

LØSNINGSFORSLAG EKSAMEN MNF130 VÅREN 2010 OPPGAVE 1 LØSNINGSFORSLAG EKSAMEN MNF130 VÅREN 2010 OPPGAVE 1 p q p p q p q T T F T T Sannhetstabell: T F F F F F T T T T F F T T T Siden proposisjonene p q og p q har samme sannhetsverdier (for alle sannhetsverdier

Detaljer

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 4130: lgoritmer: Design og effektivitet Eksamensdag: 12. desember 2008 Tid for eksamen: Kl. 09:00 12:00 (3 timer) Oppgavesettet

Detaljer

MAT1140: Partielle ordninger, Zorns lemma og utvalgsaksiomet

MAT1140: Partielle ordninger, Zorns lemma og utvalgsaksiomet MAT1140: Partielle ordninger, Zorns lemma og utvalgsaksiomet I dette notatet skal vi se på Zorns lemma, som er et kraftig redskap for å bevise eksistensen av matematiske objekter. Beviset for Zorns lemma

Detaljer

INF2810: Funksjonell Programmering. Lister og høyereordens prosedyrer

INF2810: Funksjonell Programmering. Lister og høyereordens prosedyrer INF2810: Funksjonell Programmering Lister og høyereordens prosedyrer Erik Velldal Universitetet i Oslo 2. februar 2017 Agenda 2 Forrige uke Substitusjonsmodellen og evalueringsstrategier. Blokkstruktur

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 30: Kompleksitetsteori Dag Normann Matematisk Institutt, Universitetet i Oslo 14. mai 2008 Informasjon Det er lagt ut program for orakeltjenestene i MAT1030 denne

Detaljer

Innføring i bevisteknikk

Innføring i bevisteknikk Innføring i bevisteknikk (Kun det som undervises på forelesningen er pensum. NB! Avsnitt 1.6 og 1.7 inngår ikke i pensum) Et bevis går ut på å demonstrere at implikasjonen p q er sann. p kalles for premissen

Detaljer

En repetisjon hrj høst 2009

En repetisjon hrj høst 2009 En repetisjon hrj høst 2009 Data Maskin Data Syntaktiske objekter - endelige Mengde { } Multimengde [ ] Liste < > Symbol String = Liste av symboler Vi kan alltid finne ut om to syntaktiske objekter er

Detaljer