INF 3230/4230 Forelesning 4: Assosiativitet og kommutativitet; operasjonell semantikk
|
|
- Dan Enger
- 6 år siden
- Visninger:
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
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
DetaljerUNIVERSITETET 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
DetaljerUNIVERSITETET 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
DetaljerUNIVERSITETET 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
DetaljerINF 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:
DetaljerUNIVERSITETET 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
DetaljerINF3140 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
DetaljerUNIVERSITETET 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
DetaljerModellering 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
DetaljerMAT1030 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
DetaljerDagens 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.
DetaljerLitt 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
DetaljerDatabaser 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
DetaljerEn 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
DetaljerMAT1030 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
DetaljerBeskrivelse 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
DetaljerUNIVERSITETET 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
DetaljerStoff 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
DetaljerGenerell 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
DetaljerMAT1030 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
DetaljerDefinisjon 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
DetaljerNorsk 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.
DetaljerNotat 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
DetaljerSkanning 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.
DetaljerMAT1030 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.
DetaljerINF 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
DetaljerUNIVERSITETET 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
DetaljerINF 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
DetaljerStoff 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
DetaljerMAT1030 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
DetaljerUNIVERSITETET 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
DetaljerINF5110 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.
DetaljerINF3170 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...................................
DetaljerKap. 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
DetaljerFOL: 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,
DetaljerINF1800 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
DetaljerPlenumsregning 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
DetaljerPlan. 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
DetaljerUNIVERSITETET 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
DetaljerINF1800 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
DetaljerBetinget 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
Detaljerv : 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
DetaljerINF1080 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
DetaljerSekventkalkyle 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
DetaljerTypisk: 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
DetaljerMAT1030 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
DetaljerPlenumsregning 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
DetaljerTypisk: 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
DetaljerSkanning 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.
DetaljerMAT1030 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
DetaljerMAT1030 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
DetaljerTDT4110 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
DetaljerHjemmeeksamen 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
DetaljerDagens 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)
DetaljerLineæ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
DetaljerINF 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
DetaljerINF1080 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
DetaljerNorsk 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.
DetaljerDagens 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
DetaljerDagens 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
DetaljerINF1000: 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
DetaljerKap.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
DetaljerINF1000: 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
DetaljerINF2220: 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)
DetaljerScanning - 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
DetaljerKapittel 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
DetaljerFortsetter 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
DetaljerINF2220: 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
DetaljerLø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
DetaljerUNIVERSITETET 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
DetaljerINF2220: 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
DetaljerINF1800 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
DetaljerSyntax/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
DetaljerTyper. 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:
DetaljerINF3110 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
DetaljerMAT1030 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,
DetaljerDagens 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.
DetaljerINF1800 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
DetaljerVelkommen 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
DetaljerLitt 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
DetaljerINF5110 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
DetaljerAvgjø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
DetaljerKap3: 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,
DetaljerMAT1030 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
DetaljerINF2810: 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
DetaljerINF3170 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.........................................
DetaljerRepetisjon 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
DetaljerMA3301 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
DetaljerBeskrivelse 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
DetaljerINF2810: 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
DetaljerINF / 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
DetaljerINF1000 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
DetaljerINF 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
DetaljerForelesning 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
DetaljerINF2810: 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!
DetaljerMAUMAT644 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
DetaljerINF1300 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
DetaljerNorsk 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