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

Størrelse: px
Begynne med side:

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

Transkript

1 INF INF 3230/4230 Forelesning 4: Assosiativitet og kommutativitet; operasjonell semantikk Peter Ølveczky Forelest av Ingrid C. Yu Innhold: attributter i Maude (særlig assoc og comm) (kap 3.6) quick-sort (3.7) reduksjonsrelasjonen (3.1) operasjonelle egenskaper: terminering og konfluens (3.2)

2 INF Attributter: motivasjon Vi har sett funksjons-attributter som ctor og prec Multisett: sort Mset. subsorts Nat < Mset. op none : -> Mset [ctor]. op : Mset Mset -> Mset [ctor]. problem: 2 5 og 5 2 burde vært like! kommutativitet eq MS MS = MS MS. leder til ikke-terminering assosiativitet: multisettene (2 3) 5 og 2 (3 5) burde også være like (men ==-test vil gi false)

3 INF Attributter: motivasjon (forts.) Lister: sort List. subsorts Nat < List. op nil : -> List [ctor]. op : List List -> List [ctor]. assosiativitet: (1 4) (2 3) og 1 ((4 2) 3) representerer samme liste dette bør fremkomme av spesifikasjonen nil-problemer: nil 3 nil 4 og 3 4 er like Husk: Beauty is our business

4 INF Attributtet comm I stedet for å gi et kommutativitetsaksiom eq f(x,y) = f(y,x). så kan man be Maude ha kommutativitet i bakhodet hele tiden: op f : s s -> s [comm]. (Jobber nå på ekvivalensklasser modulo kommutativitet av f) Hvis f er deklarert med attributtet comm så vil Maude se på termene f(t,t ) ogf(t,t) som identiske for enhver t, t Kun binære funksjonssymboler som tar to argumenter av samme sort kan ha attributt comm hvorfor?

5 INF Attributtet comm (forts.) fmod COMM1 is sort s. op f : s s -> s [comm]. ops a b c : -> s. eq f(a,b) = b. endfm red f(b,a) vil gi b til svar hva svarer red f(f(b,a),a)? Funksjonen min kan defineres: op min : Int Int -> Int [comm]. vars I J : Int. ceq min(i, J) = I if I <= J.

6 INF Assosiativitet Assosiativitet av f: eq f(x, f(y,z)) = f(f(x,y), Z). gir ikke ikke-terminering gir ikke-terminering dersom f er deklarert kommutativ (comm): f(a,f(b,c)) f(f(a,b),c) = C f(c,f(a,b)) f(f(c,a),b) = C f(b,f(c,a)) f(f(b,c),a) = C f(a,f(b,c))

7 INF Assosiativitet assoc: alltid ha assosiativitet (begge veier!) i bakhodet: op f : s s -> s [assoc]. f(t 1, f(t 2,t 3 )) og f(f(t 1,t 2 ),t 3 ) anses som identiske for alle termer t 1,t 2,t 3 Slippe parenteser: kan skrive f(a,b,c,d) i stedet for f(a,f(b,f(c,d))) Kan skrive hvis + er assoc Ofte praktisk og elegant å ha flat struktur (selv om ikke alltid helt nødvendig)

8 INF Assosiativitet: lister Lister er flate strukturer: sort List. subsort Nat < List. op nil : -> List [ctor]. op : List List -> List [assoc ctor]. Lister kan nå skrives og nil 3 nil Bli kvitt nil: var L : List. eq L nil = L. eq nil L = L.

9 INF Assosiativitet: lister (forts.) Noen funksjoner: var N : Nat. eq length(nil) = 0. eq length(n) = 1. eq length(n L) = 1 + length(l). eq first(nil) = 0. *** Default verdi eq first(n) = N. eq first(n L) = N. eq reverse(nil) = nil. eq reverse(n) = N. eq reverse(n L) = reverse(l) N. tre ligninger per funksjon (litt induksjon på lengden av listen) mye enklere definisjon av first og reverse enn før

10 INF Identitet Attributtet id: term sier at funksjonen har term som identitetselement: sort s. op a : -> s. op f : s s -> s [id: a]. betyr logisk at aksiomene var X : s. eq f(x,a) = X. eq X = f(x,a). eq f(a,x) = X. eq X = f(a,x). er i bakhodet hele tiden.

11 INF Lister: assoc og id nil er identitetselementet for lister: sorts List NeList. subsorts Nat < NeList < List. op nil : -> List [ctor]. op : List List -> List [assoc id: nil ctor]. op : NeList NeList -> NeList [assoc id: nil ctor]. Den siste deklarasjonen kunne også skrives op : NeList NeList -> NeList [ctor ditto]. Med assoc og id er en liste enten nil eller på formen n l (eller l n) spesialtilfellet for bare ett element forsvinner! (hvorfor?)

12 INF Funksjoner på lister Eksempler på funksjonsdefinisjoner med assoc og id: op length : List -> Nat. ops first last : NeList -> Nat. op rest : NeList -> List. op _occursin_ : Nat List -> Bool. vars M N : Nat. var L : List. eq length(nil) = 0. eq length(n L) = 1 + length(l). eq last(l N) = N. eq rest(n L) = L. eq M occursin nil = false. eq M occursin N L = (M == N) or (M occursin L).

13 INF Oppsummering: lister med assoc og id Enda enklere definisjon av funksjoner Naturlig representasjon av lister: eks.: til-1 definisjon av lister! Denne skal benyttes mye (oblig, etc)

14 INF Multisett Multisett kan sees som en liste der rekkefølgen av elementene ikke har betydelse: (assoc + id:) + comm: sort Mset. subsort Nat < Mset. op none : -> Mset [ctor]. op : Mset Mset -> Mset [ctor assoc comm id: none]. 2 (3 5) og none (3 (5 2)) regnes nå som identiske (ekvivalensklasser av) termer Meget viktig datatype for OO Naturlig 1-til-1 representasjon av multisett

15 INF Funksjoner på multisett Noen funksjoner: op size : Mset -> Nat. op mult : Nat Mset -> Nat. op delete : Nat Mset -> Mset. op _in_ : Nat Mset -> Bool. var M N : Nat. var MS : Mset. eq size(none) = 0. eq size(n MS) = 1 + size(ms). eq delete(n, N MS) = MS. ceq delete(n, MS) = MS if not N in MS. eq N in MS = mult(n, MS) > 0.

16 INF Mengder En mengde er et multisett der vi fjerner duplikater: sort Set. subsort Nat < Set. op empty : -> Set [ctor]. op : Set Set -> Set [ctor assoc comm id: empty]. var N : Nat. eq N N = N. Merk: vi bør ikke bruke idempotensaksiomet var S : Set. eq S S = S. pga termineringsproblemer (hvilke?). Attributtene assoc og idem går ikke sammen!

17 INF Noe annet: quick-sort Kompendiet: specification is programming Eksempel: quick-sort Skjønte du aldri helt quick-sort i INF110? mye tekst for å beskrive quick-sort kode umulig å forstå hvis man ikke allerede forstår hva som skjer

18 INF Maude spesifikasjon av quick-sort: Quick-sort: Maude spesifikasjon op quicksort : List -> List. vars L L : List. vars M N : Int. eq quicksort(nil) = nil. eq quicksort(l N L ) = quicksort(smallerelements(l L, N)) equalelements(l N L, N) quicksort(greaterelements(l L, N)).

19 INF Quick-sort (forts.) Maude spesifikasjonen av quick-sort mer lettlest enn andre (INF110-lærebokens?) beskrivelser? Maude spesifikasjonen er også et program! Ikke noe fikling med indekser, etc. Effektivitet: test mot din Java-implementasjon!

20 INF Quick-sort: hjelpefunksjoner ops smallerelements greaterelements equalelements : List Int -> List. eq smallerelements(nil, N) = nil. eq smallerelements(n L, M) = if N < M then (N smallerelements(l, M)) else smallerelements(l, M) fi. eq equalelements(nil, N) = nil. eq equalelements(n L, M) = if N == M then (N equalelements(l, M)) else equalelements(l, M) fi. eq greaterelements(nil, N) = nil. eq greaterelements(n L, M) = if N > M then (N greaterelements(l, M)) else greaterelements(l, M) fi.

21 INF Nå begynner vi endelig med litt teori

22 INF Operasjonell semantikk Den operasjonelle semantikken til en formalisme beskriver hvordan formalismen kan eksekveres Operasjonell semantikk til likhetsspesifikasjoner: applisér ligninger Definisjon av terminering og teknikker for å påvise terminering av spesifikasjoner (mest hardcore tenking i kurset?) Definisjon av unikt-resultat -egenskapen (konfluens) og teknikker for å avgjøre konfluens i terminerende systemer Husk: vi må sørge for at våre Maude likhetsspesifikasjoner er terminerende og konfluente For å unngå teknikaliteter antar vi i teoretiske diskusjoner at vi kun har én sort, ingen funksjons-attributter, og ingen betingede ligninger

23 INF Skrivemåte Siden vi ikke har noen sorter, etc., skriver jeg ofte f. eks. {f(x) = a, f(g(x,y)) = y} for spesifikasjonen sort S. op f : S -> S. op g : S S -> S. op a : -> S. vars x y : S. eq f(x) = a. eq f(g(x,y)) = y.

24 INF Posisjoner For å definere nøyaktig hva det betyr å applisere en ligning trenger vi en masse definisjoner Rimelig intuitive begreper En term (når funksjonssymbolene ikke har attributter) kan sees på som et tre En posisjon i en term er en streng av naturlige tall som angir en plass i en term/et tre rot-posisisjonen skrives ofte ǫ termen f(g(h(a,f(c),b),g(d,f(b)))) har symbolet f i posisjon ǫ, symbolet d i posisjon , og symbolet b i posisjon og er ikke (lovlige) posisjoner i termen over

25 INF Posisjoner og subtermer Dersom p er en posisjon i termen t, så er t p subtermen til t i posisjon p dersom p ǫ så er t p en ekte subterm til t f(g(h(a,f(c),b),g(d,f(b)))) 1.2 er lik g(d,f(b)) t[u] p termen som fås når subtermen t p i t erstattes med termen u eks: f(g(h(a,f(c),b),g(d,f(b)))) [d] 1.1 er lik f(g(d,g(d,f(b))))

26 INF Substitusjon En substitusjon er en liste som sier hvordan variable skal erstattes i en term skrives ofte postfix: f(x,f(y,x)) {x g(a),y g(x)} en substitusjon foretas samtidig på alle variablene: f(x,f(y,x)) {x g(a),y g(x)} er lik f(g(a),f(g(x),g(a)))

27 INF Matching En term t matcher en term u hvis det fins en substitusjon σ slik at tσ = u f(x,x,y) matcher f(a,a,g(b,d)) og f(y,y,y) men ikke f(a,b,a) (hvorfor?) forvirring om begrepet! (språkbruken, ikke definisjonen!)

28 INF Reduksjon/forenklingssteg Reduksjonssteg: én omskrivning ved bruk av ligning et reduksjonssteg er akkurat det vi tror det er! bruk av en ligning én gang fra venstre mot høyre formelt: t E u hvis det fins en ligning l = r i E, en posisjon p i t, og en substitusjon σ slik at t p = lσ og u = t[rσ] p skrives t E u eller bare t u trenger ikke pugge def eks: f(g(b),g(a)) E g(g(a)) hvis E inneholder en ligning f(x,y) = g(y)

29 INF Avledede relasjoner Vi har nå definert t u er den symmetriske tillukningen til : t u holder dersom enten u t eller t u (eller begge) holder t u dersom t kan reduseres til u i null eller flere steg t + u dersom t kan reduseres til u i ett eller flere steg og + defineres analogt

30 INF Mer definisjoner t er redusibel dersom det finnes en u slik at t u, og er ellers irredusibel u er en normal-form til t dersom t u, og u er irredusibel dersom t kun har én normal-form, skriver vi t! for denne vi ønsker kun én normal-form ( resultat ) for hver term En avledning (eller reduksjonssekvens eller... ) er en endelig eller uendelig sekvens av reduksjonssteg t 0 t 1 t 2

31 INF Sentrale egenskaper De to helt sentrale operasjonelle egenskaper til spesifikasjoner: terminering: det eksisterer ingen uendelig avledning/reduksjonssekvens i spesifikasjonen enhver red -kommando vil terminere, uansett hva som er starttermen og uansett hvilke ligninger Maude velger å bruke konfluens: hvis kan kan avlede t i forskjellige retninger til t 1 og t 2, så kan hver av disse igjen reduseres igjen reduseres til en felles term u sammen med terminering sikrer konfluens den ønskede unikt-resultat -egenskapen

32 INF Avgjørbarhet Både terminering og konfluens er uavgjørbare egenskaper finnes ingen (terminerende) prosedyre/program/algoritme som kan sjekke hvorvidt en spesifikasjon er terminerende (resp. konfluent)... men konfluens er avgjørbart hvis spesifikasjonen er terminerende Skal man bare gi opp resonnering om terminering? nei, vi skal studere teknikker som ofte kan bevise terminering eller oppdage ikke-terminering

33 INF Terminering Er {a = b,b = c,b = a} terminerende? Er {f(f(x)) = f(x)} terminerende? Er {f(x) = f(f(x))} terminerende? Er {f(s(x),y,z) = f(x,s(s(y)),s(s(s(z))))} terminerende? Er {h(f(f(x))) = h(f(g(f(x))))} terminerende? Er distributivitet {x (y + z) = (x y) + (x z)} terminerende? I dette kurset skal vi takle mye vanskeligere terminerings-problemer!

34 INF Konfluens og normal-former En spesifikasjon er konfluent dersom (for enhver) t,t 1,t 2 hvor t t 1 og t t 2 så finnes det en u slik at både t 1 u og t2 u er {a = b,a = c} konfluent? er {a = b,a = c,b = c} konfluent? er {f(f(x)) = g(x)} konfluent? konfluens er generelt uavgjørbart, men er avgjørbart i terminerende spesifikasjoner vi skal lære oss å avgjøre konfluens i terminerende spesifikasjoner Teorem: Enhver term t har en éntydig normal-form i terminerende og konfluente spesifikasjoner (bevis er pensum!)

INF 3230/4230 Forelesning 9: Omskrivningslogikk

INF 3230/4230 Forelesning 9: Omskrivningslogikk 27.3.2006 INF 3230 9 1 INF 3230/4230 Forelesning 9: Omskrivningslogikk Peter Ølveczky/Ingrid Yu Kapittel 5 og 6 Omskrivningslogikk Parallelle steg Formatering 27.3.2006 INF 3230 9 2 Midterm eksamen Midterm

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. juni 2010 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. april 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

INF 3230: Videregående kurs i formell modellering

INF 3230: Videregående kurs i formell modellering INF 3230: Videregående kurs i formell modellering Peter Ølveczky Universitetet i Oslo 9. mai 2012 Eksekverbar Formell Modellering Modellering: lage en modell av systemdesign før implementasjon Formell:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230/4230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 18. mars 2005 Tid for eksamen: 13.30 16.30

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

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

Modellering av kommuniserende systemer i Maude

Modellering av kommuniserende systemer i Maude Modellering av kommuniserende systemer i Maude Endelig: distribuerte systemer objekt-orientering kommunikasjon synkrone og asynkrone objekter INF3230/4230 Forelesning 11 p. 1/34 Siste nytt fra WRLA 04

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

Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2)

Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Dagens tema Syntaks (kapittel 2.1 + Komp. 47, kap. 1 og 2) 1/19 Forelesning 6 1.10.2003 Litt om kompilering og interpretering En kompilator oversetter et program til et annet språk, for eksempel maskinspråk.

Detaljer

Litt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk

Litt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk Litt om kompilering og interpretering Dagens tema Syntaks (kapittel 2. + Komp. 47, kap. og 2) En kompilator oversetter et program til et annet språk, for eksempel maskinspråk. Et program interpreteres

Detaljer

Databaser fra et logikkperspektiv

Databaser fra et logikkperspektiv Databaser fra et logikkperspektiv Evgenij Thorstensen IFI, UiO Høst 2013 Evgenij Thorstensen (IFI, UiO) Databaser fra et logikkperspektiv Høst 2013 1 / 31 Outline 1 Logikk som verktøy 2 Relasjonsdatabaser

Detaljer

En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen

En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen En Maude-modell for sikker asynkron kommunikasjon i π-kalkylen Henrik Dæhli og Joakim Hjertås 23. juni 2005 Plan Problemstilling Bakgrunn Maude sikkerhet π-kalkylen og varianter av denne en Maude-modell

Detaljer

MAT1030 Plenumsregning 3

MAT1030 Plenumsregning 3 MAT1030 Plenumsregning 3 Ukeoppgaver Mathias Barra - 30. januar 2009 (Sist oppdatert: 2009-02-02 14:26) Plenumsregning 3 Oppgave 2.7 - Horners metode (a) 7216 8 : 7 8+2 58 8+1 465 8+6 3726. Svar: 3726

Detaljer

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015 Beskrivelse av programmeringsspråket Compila15 INF5110 - Kompilatorteknikk Våren 2015 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Compila15. Den

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 8. juni 2012 Tid for eksamen: 9.00 13.00 Oppgavesettet

Detaljer

Stoff som i boka står i kap 4, men som er. 10. Februar Ifi, UiO

Stoff som i boka står i kap 4, men som er. 10. Februar Ifi, UiO INF5110 V2010 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker 10. Februar 2010 Stein Krogdahl Ifi, UiO Oppgaver som gjennomgås 16/2: - Spørsmålene på foil 35 og 36 fra 9/10 - Finn

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

MAT1030 Plenumsregning 1

MAT1030 Plenumsregning 1 MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte

Detaljer

Definisjon 1.1 (Sunnhet). Sekventkalkylen LK er sunn hvis enhver LK-bevisbar sekvent er gyldig.

Definisjon 1.1 (Sunnhet). Sekventkalkylen LK er sunn hvis enhver LK-bevisbar sekvent er gyldig. Forelesning 5: Kompletthet og første-ordens logikk Roger Antonsen - 20. februar 2006 1 Kompletthet 1.1 Repetisjon Gyldig P, P Q Q Hvis v = P og v = P Q, så v = Q. Bevisbar P P Q Q P, P Q Q Falsifiserbar

Detaljer

Norsk informatikkolympiade runde

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

Detaljer

Notat med oppgaver for MAT1140

Notat med oppgaver for MAT1140 Notat med oppgaver for MAT1140 1 Injeksjon, surjeksjon Oppgave 1.1. La f : A B være en avbildning. Vis at da er f injektiv hvis og bare hvis følgende holder: for hver mengde C og for hver g, h : C A hvis

Detaljer

Skanning del I INF /01/15 1

Skanning del I INF /01/15 1 Skanning del I INF 5110-2015 21/01/15 1 Skanning: innhold (begge forelesningene) Hva gjør en skanner? Input: Programteksten. Output: Ett og ett token fra programteksten (sekvensielt). Regulære uttrykk/definisjoner.

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

INF 3232/4232 Forelesning 1: Introduksjon; signaturer; grunntermer

INF 3232/4232 Forelesning 1: Introduksjon; signaturer; grunntermer INF 3232/4232 Forelesning 1: Introduksjon; signaturer; grunntermer Peter Ölveczky Universitetet i Oslo 16. januar 2017 Peter Ölveczky (Universitetet i Oslo) Introduksjon++ 16. januar 2017 1 / 50 Dagens

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 13. juni 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet

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

Stoff som i boka står i kap 4, men som er

Stoff som i boka står i kap 4, men som er INF5110 V2011 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker 9. Februar 2011 Stein Krogdahl, Ifi, UiO Oppgaver som gjennomgås gå tirsdag 15/2: - Spørsmålene på de to siste foilene

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF220 Formell modellering og eksekvering av kommuniserende systemer Eksamensdag: 5. juni 2003 Tid for eksamen: 9.00 15.00 Oppgavesettet

Detaljer

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned INF5110 V2012 Kapittel 4: Parsering ovenfra-ned (top-down) Tirsdag 7. februar Stein Krogdahl, Ifi, UiO Oppgaver som gjennomgås i morgen, onsdag: -Spørsmålene på de to siste foilene fra onsdag 1/2 (Bl.a.

Detaljer

INF3170 Forelesning 1

INF3170 Forelesning 1 INF3170 Forelesning 1 Introduksjon og mengdelære Roger Antonsen - 26. januar 2010 (Sist oppdatert: 2010-01-26 14:58) Dagens plan Innhold Velkommen til INF3710 Logikk 1 Litt praktisk informasjon...................................

Detaljer

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO Kap. 4 del I Top Down Parsering INF5110 v2006 Stein Krogdahl Ifi, UiO 1 Innhold First og Follow-mengder Boka ser på én parseringsmetode først, uten å se på First/Follow-mengder. Vi tar teorien først To

Detaljer

FOL: syntaks og representasjon. 15. og 16. forelesning

FOL: syntaks og representasjon. 15. og 16. forelesning FOL: syntaks og representasjon 15. og 16. forelesning Førsteordens logikk Førsteordens logikk: et formelt system som man bruker til å representere og studere argumenter. Som utsagnslogikk, men mer uttrykkskraftig,

Detaljer

INF1800 Forelesning 6

INF1800 Forelesning 6 INF1800 Forelesning 6 Utsagnslogikk Roger Antonsen - 3. september 2008 (Sist oppdatert: 2008-09-03 12:49) Mer om bruk av utsagnslogikk Hvordan fange inn utsagn? Jeg spiser det hvis det er godt. Jeg spiser

Detaljer

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon

Detaljer

Plan. Fortsetter med ML: lister og rekursive typer/funksjoner unntak let-uttrykk moduler og abstrakte datatyper høyere-ordens funksjoner

Plan. Fortsetter med ML: lister og rekursive typer/funksjoner unntak let-uttrykk moduler og abstrakte datatyper høyere-ordens funksjoner Plan Fortsetter med ML: lister og rekursive typer/funksjoner unntak let-uttrykk moduler og abstrakte datatyper høyere-ordens funksjoner Ark 1 av 19 Forelesning 25.10.1999 Uendelig datatype i ML - datatype

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO 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

Detaljer

INF1800 LOGIKK OG BEREGNBARHET

INF1800 LOGIKK OG BEREGNBARHET INF1800 LOGIKK OG BEREGNBARHET FORELESNING 6: UTSAGNSLOGIKK Roger Antonsen Institutt for informatikk Universitetet i Oslo 3. september 2008 (Sist oppdatert: 2008-09-03 12:49) Mer om bruk av utsagnslogikk

Detaljer

Betinget eksekvering og logiske tester i shell

Betinget eksekvering og logiske tester i shell Betinget eksekvering og logiske tester i shell Betinget eksekvering *? Programmet utfører operasjon(er) bare hvis en logisk betingelse er sann Bash tilbyr to kontrollstrukturer for å kunne gjøre betinget

Detaljer

v : T, kan bare ha verdi av typen T. n =0 slyfes alltid parentesene. Typet uttrykkssprak type representerer en verdimengde. variabel, deklarert funksjon, herunder karakteriseres syntaktisk ved a angi navn

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 Tid: Onsdag 7. desember 2016 kl. 14.30 18.30 (4 timer) Tillatte hjelpemidler: Ingen Eksamen består av to deler som er verdt omtrent like mye. Den

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

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord Scanning-I Kap. 2 Hovedmål Gå ut fra en beskrivelse av de enkelte leksemer (tokens), og hvordan de skal deles opp i klasser Lage et program (funksjon, prosedyre, metode) som leverer ett og ett token, med

Detaljer

MAT1030 Forelesning 2

MAT1030 Forelesning 2 MAT1030 Forelesning 2 Kontrollstrukturer, tallsystemer, basis Dag Normann - 20. januar 2010 (Sist oppdatert: 2010-01-20 12:31) Kapittel 1: Algoritmer (fortsettelse) Kontrollstrukturer I går innførte vi

Detaljer

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030 MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk

Detaljer

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord

Typisk: Kan det være både nøkkelord og navn, så skal det ansees som nøkkelord Scanning - I Kap. 2 Hovedmål Gå ut fra en beskrivelse av de enkelte tokens, og hvordan de skal deles opp i klasser Lage et program (funksjon, prosedyre, metode) som leverer ett og ett token, med all nødvendig

Detaljer

Skanning del I. Kapittel 2 INF 3110/ INF

Skanning del I. Kapittel 2 INF 3110/ INF Skanning del I Kapittel 2 18.01.2013 1 Skanning: innhold (begge forelesningene) Hva gjør en skanner? Input: programteksten. Output: Ett og ett token fra programteksten (sekvensielt). Regulære uttrykk/definisjoner.

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 2: Kontrollstrukturer, tallsystemer, basis Roger Antonsen Institutt for informatikk, Universitetet i Oslo 14. januar 2009 (Sist oppdatert: 2009-01-14 16:45) Kapittel

Detaljer

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016 TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Vennligst fyll ut følgende informasjon i blokkbokstaver

Detaljer

Hjemmeeksamen 1 i INF3110/4110

Hjemmeeksamen 1 i INF3110/4110 Hjemmeeksamen i INF30/40 Innleveringsfrist: fredag 24. oktober kl. 500 Innlevering Hele besvarelsen skal leveres skriftlig på papir i IFI-ekspedisjonen innen fredag 24. oktober kl. 500. Merk besvarelsen

Detaljer

Dagens tema. Funksjonelle språk Fortsetter med ML: Typer Unntak Introduksjon til høyere-ordens funksjoner. ML avsluttes etter planen neste uke.

Dagens tema. Funksjonelle språk Fortsetter med ML: Typer Unntak Introduksjon til høyere-ordens funksjoner. ML avsluttes etter planen neste uke. Dagens tema Funksjonelle språk Fortsetter med ML: Typer Unntak Introduksjon til høyere-ordens funksjoner ML avsluttes etter planen neste uke. Ark 1 av 18 Forelesning 21.10.2002 Funksjonelle (applikative)

Detaljer

Lineære ligningssystemer og gausseliminasjon

Lineære ligningssystemer og gausseliminasjon Kapittel Lineære ligningssystemer og gausseliminasjon Vi skal lære en metode for å finne og beskrive alle løsninger av systemer av m lineære ligninger med n ukjente Oppvarming Her er et eksempel på et

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2017 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2017, forelesning

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

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016

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

Detaljer

Dagens tema. Innføring i ML - del III (Kapittel & ML-kompendiet.) Unntak Abstrakte datatyper i ML Høyere-ordens funksjoner

Dagens tema. Innføring i ML - del III (Kapittel & ML-kompendiet.) Unntak Abstrakte datatyper i ML Høyere-ordens funksjoner Dagens tema Innføring i ML - del III (Kapittel 7.4.3 & ML-kompendiet.) Unntak Abstrakte datatyper i ML Høyere-ordens funksjoner 1/14 Forelesning 4 17.9.2003 Unntak exception deklarerer et unntak exception

Detaljer

Dagens plan. INF3170 Logikk. Obliger og eksamen. Forelesning 1: Introduksjon. Utsagnslogikk og sekventkalkyle. Arild Waaler. 21.

Dagens plan. INF3170 Logikk. Obliger og eksamen. Forelesning 1: Introduksjon. Utsagnslogikk og sekventkalkyle. Arild Waaler. 21. INF3170 Logikk Dagens plan Forelesning 1: Introduksjon. og sekventkalkyle Arild Waaler Institutt for informatikk, Universitetet i Oslo 1 Praktisk informasjon 2 21. januar 2008 3 Institutt for informatikk

Detaljer

INF1000: Forelesning 7. Konstruktører Static

INF1000: Forelesning 7. Konstruktører Static INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter

Detaljer

Kap.4 del I Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO

Kap.4 del I Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO Kap.4 del I Top Down Parsering INF5110 v2005 Arne Maus Ifi, UiO Innhold Motivering Boka gir først parsering uten First/Follow-mengder og så innfører dem. Vi tar teorien først First og Follow-mengder Fjerning

Detaljer

INF1000: Forelesning 7

INF1000: Forelesning 7 INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en

Detaljer

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel ) INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel 4.1-4.3 + 4.6) PRAKTISK INFORMASJON 2 Praktisk informasjon Kursansvarlige Ragnhild Kobro Runde (ragnhilk@ifi.uio.no)

Detaljer

Scanning - I Kap. 2. Hva scanneren gjør

Scanning - I Kap. 2. Hva scanneren gjør Scanning - I Kap. 2!! Hovedmål! Gå ut fra en beskrivelse av de enkelte tokens, og hvordan de skal deles opp i klasser! Lage et program (funksjon, prosedyre, metode) som leverer ett og ett token, med all

Detaljer

Kapittel 5: Mengdelære

Kapittel 5: Mengdelære MAT1030 Diskret Matematikk Forelesning 9: Mengdelære Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 5: Mengdelære 17. februar 2009 (Sist oppdatert: 2009-02-17 15:56) MAT1030 Diskret

Detaljer

Fortsetter med ML: Repetisjon av lister Typer Unntak Moduler og abstrakte datatyper Introduksjon til høyere-ordens funksjoner

Fortsetter med ML: Repetisjon av lister Typer Unntak Moduler og abstrakte datatyper Introduksjon til høyere-ordens funksjoner Dagens tema Fortsetter med ML: Repetisjon av lister Typer Unntak Moduler og abstrakte datatyper Introduksjon til høyere-ordens funksjoner ML avsluttes etter planen neste uke. Ark 1 av 21 Forelesning 03.09.2001

Detaljer

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)

INF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre

Detaljer

Løsnings forslag i java In115, Våren 1998

Løsnings forslag i java In115, Våren 1998 Løsnings forslag i java In115, Våren 1998 Oppgave 1 // Inne i en eller annen klasse private char S[]; private int pardybde; private int n; public void lagalle(int i) if (i==n) bruks(); else /* Sjekker

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 12. juni 2014 Tid for eksamen: 9.00 13.00 Oppgavesettet

Detaljer

INF2220: Forelesning 2

INF2220: Forelesning 2 INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre

Detaljer

INF1800 Forelesning 17

INF1800 Forelesning 17 INF1800 Forelesning 17 Førsteordens logikk Roger Antonsen - 14. oktober 2008 (Sist oppdatert: 2008-10-14 16:29) Før vi begynner Repetisjon og kommentarer Vi skal nå kunne Utsagnslogikk: syntaks og semantikk

Detaljer

Syntax/semantics - I INF 3110/ /29/2005 1

Syntax/semantics - I INF 3110/ /29/2005 1 Syntax/semantics - I Program program execution Compiling/interpretation Syntax Classes of langauges Regular langauges Context-free langauges Scanning/Parsing Meta models INF 3/4-25 8/29/25 Program

Detaljer

Typer. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning

Typer. 1 Type: boolean. 2 Verdimengde: {true, false} 3 Operatorer: NOT, AND, OR... 1/19. Forelesning Forelesning Dagens tema Typer (Kapittel 3 frem til 331) Innføring i ML (Kapittel 743 & ML-kompendiet) Typer En (data-)type består av: en mengde verdier en mengde operasjoner man kan anvende på disse verdiene Eksempel:

Detaljer

INF3110 Programmeringsspråk. Dagens tema. Typer (Kapittel 3 frem til ) Innføring i ML (Kapittel & ML-kompendiet.) 1/19

INF3110 Programmeringsspråk. Dagens tema. Typer (Kapittel 3 frem til ) Innføring i ML (Kapittel & ML-kompendiet.) 1/19 Dagens tema Typer (Kapittel 3 frem til 3.3.1.) Innføring i ML (Kapittel 7.4.3 & ML-kompendiet.) 1/19 Forelesning 2 27.8.2003 Typer En (data-)type består av: en mengde verdier en mengde operasjoner man

Detaljer

MAT1030 Plenumsregning 10

MAT1030 Plenumsregning 10 MAT1030 Plenumsregning 10 Ukeoppgaver Mathias Barra - 20. mars 2009 (Sist oppdatert: 2009-03-30 09:38) Oppgave 6.1 Avgjør hvorvidt følgende funksjoner er veldefinerte. For de som er veldefinerte, gi definisjonsområdet,

Detaljer

Dagens plan. INF3170 Logikk. Induktive definisjoner. Eksempel. Definisjon (Induktiv definisjon) Eksempel

Dagens plan. INF3170 Logikk. Induktive definisjoner. Eksempel. Definisjon (Induktiv definisjon) Eksempel INF3170 Logikk Dagens plan Forelesning 2: Induktive definisjoner, utsagnslogikk og sekventkalkyle Christian Mahesh Hansen Institutt for informatikk, Universitetet i Oslo 1 Induktive definisjoner 2 29.

Detaljer

INF1800 LOGIKK OG BEREGNBARHET

INF1800 LOGIKK OG BEREGNBARHET INF1800 LOGIKK OG BEREGNBARHET FORELESNING 17: FØRSTEORDENS LOGIKK Roger Antonsen Institutt for informatikk Universitetet i Oslo 14. oktober 2008 (Sist oppdatert: 2008-10-14 16:29) Før vi begynner Repetisjon

Detaljer

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang

Detaljer

Litt mer mengdelære. INF3170 Logikk. Multimengder. Definisjon (Multimengde) Eksempel

Litt mer mengdelære. INF3170 Logikk. Multimengder. Definisjon (Multimengde) Eksempel INF3170 Logikk Forelesning 2: Mengdelære, induktive definisjoner og utsagnslogikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Litt mer mengdelære 2. februar 2010 (Sist oppdatert: 2010-02-02

Detaljer

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker

INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker INF5110 V2013 Stoff som i boka står i kap 4, men som er generelt stoff om grammatikker 29. januar 2013 Stein Krogdahl, Ifi, UiO NB: Ikke undervisning fredag 1. februar! Oppgaver som gjennomgås 5. februar

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

Kap3: Klassemodellering

Kap3: Klassemodellering Kap3: Klassemodellering I dag: Litt repetisjon fra sist (innledende om klassemodellen) Deretter egentlig litt mer repetisjon, men nå fra intro- Felt-/Instansvariabler og kurset i Java: Klasser og Objekt,

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 10: Ukeoppgaver Mathias Barra Matematisk institutt, Universitetet i Oslo 20. mars 2009 (Sist oppdatert: 2009-03-30 09:38) Oppgave 6.1 Avgjør hvorvidt følgende

Detaljer

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering

INF2810: Funksjonell Programmering. Strømmer og utsatt evaluering INF2810: Funksjonell Programmering Strømmer og utsatt evaluering Stephan Oepen Universitetet i Oslo 30. mars 2017 Forrige forelesning 2 Mer om (prosedyre)navn, bindinger, og verditilordning Nok en ny abstrakt

Detaljer

INF3170 Forelesning 2

INF3170 Forelesning 2 INF3170 Forelesning 2 Mengdelære, induktive definisjoner og utsagnslogikk Roger Antonsen - 2. februar 2010 (Sist oppdatert: 2010-02-02 14:26) Dagens plan Innhold Litt mer mengdelære 1 Multimengder.........................................

Detaljer

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon Repetisjon og mer motivasjon MAT030 Diskret matematikk Forelesning 22: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 4. april 2008 Først litt repetisjon En graf består av noder og

Detaljer

MA3301 Beregnbarhets- og kompleksitetsteori Høsten

MA3301 Beregnbarhets- og kompleksitetsteori Høsten MA3301 Beregnbarhets- og kompleksitetsteori Høsten 2012 1 Notat 2 Om den kanoniske automaten til et språk og minimalisering. Vi vil si at en automat M = Q, Σ, q 0, A, δ er redusert enhver tilstand q Q

Detaljer

Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012

Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Simpila. Den dynamiske

Detaljer

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2

INF2810: Funksjonell Programmering. En Scheme-evaluator i Scheme, del 2 INF2810: Funksjonell programmering INF2810: Funksjonell Programmering En Scheme-evaluator i Scheme, del 2 Erik Velldal Universitetet i Oslo 7. mai 2015 Tema Forrige uke SICP 4.1. Structure and interpretation

Detaljer

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO INF5110 12/2-2013 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO Dagens temaer: Noen foiler igjen fra forrige gang SLR(1), LR(1)- og LALR(1)-grammatikker NB: Oppgaver til kap 4 og 5 er lagt ut på undervisningsplanen

Detaljer

INF1000 undervisningen INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første

Detaljer

INF 1000 høsten 2011 Uke september

INF 1000 høsten 2011 Uke september INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første

Detaljer

Forelesning 1: Introduksjon. Utsagnslogikk og sekventkalkyle Arild Waaler januar 2008

Forelesning 1: Introduksjon. Utsagnslogikk og sekventkalkyle Arild Waaler januar 2008 Forelesning 1: Introduksjon. Utsagnslogikk og sekventkalkyle Arild Waaler - 21. januar 2008 1 Praktisk informasjon 1.1 Forelesere og tid/sted Forelesere: Martin Giese (martingi@ifi.uio.no) Arild Waaler

Detaljer

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Kommentarer til prøveeksamen Erik Velldal Universitetet i Oslo 1: Grunnleggende (6 poeng)? (define foo '(a b))? (define bar foo)? (set!

Detaljer

MAUMAT644 ALGEBRA vår 2016 Første samling Runar Ile

MAUMAT644 ALGEBRA vår 2016 Første samling Runar Ile MAUMAT644 ALGEBRA vår 2016 Første samling Runar Ile 1 Introduksjon: Grupper og ringer Ringer En ring er et sted hvor du kan addere, subtrahere og multiplisere. Hvis du også kan dividere kalles ringen for

Detaljer

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1 INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1 Dagens temaer Relasjonsalgebraen Renavning Algebra Heltallsalgebra Klassisk relasjonsalgebra Mengdeoperatorer Union Snitt

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