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) La A = {x}, B = {y, {x}} og C = {x, y, {x, y}}. (a) [2 poeng] Skriv ned alle delmengdene til C. {x} {y} {x, y} {{x, y}} {x, {x, y}} {y, {x, y}} {x, y, {x, y}} (b) [2 poeng] Er følgende påstander sanne eller usanne? 1. A B Usann. (x er ikke et element i B.) 2. B C Usann. ({x} er ikke et element i C.) 3. A B Sann. 4. B C Usann. (c) [4 poeng] Regn ut: 1. A \ B (Fortsettes på side 2.)
A \ B = {x} \ {y, {x}} = {x} 2. B \ A B \ A = {y, {x}} \ {x} = {y, {x}} 3. A B A B = {x} {y, {x}} = {x, y, {x}} 4. B C B C = {y, {x}} {x, y, {x, y}} = {x, y, {x}, {x, y}} (d) [2 poeng] Hva er kardinaliteten til B (A C)? Begrunn svaret ditt. Kardinaliteten er lik antall elementer i B multiplisert med antall elementer i (A C). Vi har at (A C) = C, og svaret blir derfor 2 3 = 6. Oppgave 2 Hypoteser og moteksempler (10 poeng) Her kommer det noen påstander som du må ta stilling til. For hver påstand skal du finne ut om den er sann eller usann. Hvis du mener at påstanden er sann, så gi et kort argument for hvorfor. Hvis du mener at den er usann, så finn et moteksempel eller forklar hvorfor det ikke kan være slik. (a) [2 poeng] Hvis F og G er to formler, så er det alltid slik at enten (F G) eller (G F) er oppfyllbar. Sant. Hvis (F G) ikke er oppfyllbar, må F være sann og G usann for alle valuasjoner. Det betyr at (G F) er sann for alle valuasjoner, og dermed gyldig og oppfyllbar. (b) [2 poeng] Det fins en utsagnlogisk formel F slik at envher utsagnslogisk formel er en logisk konsekvens av F. Sant. er en slik formel. (c) [2 poeng] Det fins en utsagnslogisk formel som både er oppfyllbar og falsifiserbar. 2
Sant. P er en slik formel. (d) [2 poeng] Det fins to uendelige mengder, A og B, slik at både A B og A B. Sant. La A være N og B være N {N}. (e) [2 poeng] Det fins to forskjellige mengder, A og B, slik at både A B og B A. Usant. Hvis de er forskjellige, vil enten A B eller B A være usann. Oppgave 3 Utsagnslogikk (10 poeng) (a) [4 poeng] Se på formelen P (Q R). Hvilke av følgende formler er ekvivalente med denne? 1. P (Q R) 2. P (Q R) 3. (P (Q R)) 4. (P Q) (P R) 5. (P Q) (P R) 5. (Q R) P Formlene 2, 3 og 4 er ekvivalente med P (Q R). (b) [6 poeng] Vi kan definere et nytt konnektiv,, for «impliserer ikke» ved hjelp av følgende sannhetsverditabell. F G (F G) 1 1 0 1 0 1 0 1 0 0 0 0 1. Finn en måte å uttrykke (F G) på kun ved hjelp av konnektivene og. Med andre ord, finn en formel som kun inneholder F og G og konnektivene og og som er ekvivalent med (F G). Begrunn svaret ditt. Følgende sannhetsverditabell viser at formelen ( F G) er ekvivalent med (F G). F G (F G) ( F G ) 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 3
2. Finn en måte å uttrykke (F G) på ved hjelp av kun. Begrunn svaret ditt. Følgende sannhetsverditabell viser at formelen (F (F G)) er ekvivalent med (F G). F G (F G) ( F ( F G )) 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 Oppgave 4 Relasjoner og funksjoner (10 poeng) La F være mengden av alle filmer som ble vist i norsk kino i løpet av 2013, og la T = {1, 2, 3, 4, 5, 6} være mengden av mulige terningkast. Anta at Kraken er en av filmene, altså at Kraken F. (a) [2 poeng] Hva er definisjonen av «en funksjon fra F til T»? En funksjon fra F til T er en binær relasjon R fra mengden F til mengden T, det vil si at R F T, hvor hver x F er relatert til ett og bare ett element y T. Det vil si for alle x F finnes nøyaktig ett element y T med xry. (b) [3 poeng] Hvilke av følgende relasjoner fra F til T er funksjoner? 1. 2. { Kraken, 4 } 3. { f, 6 f F} 4. F {1, 2} Kun 3 er en funksjon fra F til T. 1 og 2 gir ikke tilordninger til alle filmer. 4 gir flere tilordninger for allle filmer. (c) [2 poeng] La f være en funksjon fra F til T. La relasjonen R på F være slik at xry hvis og bare hvis f(x) = f(y). Er dette en ekvivalensrelasjon? Begrunn svaret ditt. Ja, R er en ekvivalensrelasjon: R er refleksiv: La x F. Da vil f(x) = f(x), og derfor vil xrx. R er symmetrisk: Anta at xry. Da vil f(x) = f(y), og da vil f(y) = f(x) og yrx. R er transitiv: Anta at xry og yrz. Da vil f(x) = f(y) og f(y) = f(z), og da vil f(x) = f(z) og dermed xrz. 4
(d) [3 poeng] La f være en funksjon fra F til T som før. La relasjonen S på F være slik at xsy hvis og bare hvis forskjellen mellom f(x) og f(y) er maksimalt 1, dvs. f(x) f(y) { 1, 0, 1}. Er dette en ekvivalensrelasjon? Begrunn svaret ditt. Hvis f(x) = 6, f(y) = 5 og f(z) = 4 har vi at xsy og ysz, men ikke xsz, og derfor er S ikke en transitiv relasjon. Derfor er ikke S en ekvivalensrelasjon. Oppgave 5 Førsteordens logikk (10 poeng) Vi antar som vanlig at a, b og c er konstanter og at x, y og z er variabler. (a) [2 poeng] Angi både mengden av frie variabler og mengden av bundne variabler i følgende formler. 1. P(x) frie: {x}, bundne: 2. x R(x, x) frie:, bundne: {x} 3. ( x R(x, y)) ( y R(x, y)) frie: {x, y}, bundne: {x, y} (b) [3 poeng] La oss skrive UV(φ) for mengden av variabler som forekommer i en førsteordens formel φ, men ikke bundet av en eksistenskvantor ( ) for den variablen. Dvs. alle variabler som er enten er frie eller som er bundet av en universell kvantor ( ). For eksempel har vi følgende. UV ( x y P(x, y, z) ) = {x, z} Følgende er en rekursiv definisjon av UV. Definisjonen har noen hull markert med 1, 2 etc. Angi hva det er som mangler. (Vi antar at FV(t), mengden av frie variabler i en term, allerede er definert.) UV(P(t 1,..., t n )) = FV(t 1 ) FV(t n ) UV(φ ψ) = UV(φ) UV(ψ) UV(φ ψ) = UV(φ) 1 UV(ψ) UV(φ ψ) = UV(φ) 2 UV(ψ) UV( φ) = 3 5
UV( x φ) = UV(φ) 4 {x} UV( 5 ) = 6 1:, 2:, 3: UV(φ), 4: \, 5: xφ, 6: UV(φ). (Dette er en løsning som fungerer fint så lenge ingen variabler er bundet av både en -formel og en -formel.) (c) [2 poeng] Forklar forholdet mellom formelen x, y (R(x, y) R(y, x)) og et utsagn «... [noe med R]... er en symmetrisk relasjon». Hint: i forklaringen vil du trenge begrep som «modell», «tolkning» og «er sann». Formelen x, y (R(x, y) R(y, x)) er sann i en modell M hvis og bare hvis tolkningen til R, altså R M, er en symmetrisk relasjon på domenet til M. (d) [3 poeng] Gitt et førsteordensspråk uten konstant- eller funksjonssymboler, men med to unære relasjonssymboler P og Q. Angi en modell M slik at M = x Px y Qy M = x (Px Qx) La modellen M ha domene {1, 2}, og tolk P og Q slik at P M = 1 og Q M = 2. Da holder begge påstandene. Oppgave 6 Grafteori (10 poeng) (a) [3 poeng] Forklar hva en Eulervei og en Eulerkrets er. Hvis G er en sammenhengende graf, er en Eulervei en vandring som inneholder hver kant fra G nøyaktig én gang. En Eulerkrets er en Eulervei hvor den første og den siste noden sammenfaller. (b) [3 poeng] Hva er summen til gradene til nodene i en komplett graf med n noder? Forklar kort (eller bevis) hvorfor det er slik. Summen til gradene til nodene n(n 1). Det er n noder i alt og for hver av disse ligger det (n 1) kanter inntil denne noden. (c) [2 poeng] Tegn en graf med fire noder hvor nodene har grader 1, 1, 1 og 1, eller forklar hvorfor det ikke fins noen slik graf. 6
(d) [2 poeng] Tegn en graf med fire noder hvor nodene har grader 1, 2, 2 og 3, eller forklar hvorfor det ikke fins noen slik graf. Oppgave 7 Kombinatorikk (10 poeng) (a) [3 poeng] Hvor mange funksjoner finnes det fra mengden {1, 2,..., n}, hvor n er et positivt heltall, til {0, 1}? Gi en kort begrunnelse for svaret ditt. For hvert element i definisjonsområdet er det 2 muligheter, og vi får derfor 2 n antall forskjellige funksjoner fra {1, 2,..., n} til {0, 1}. (b) [3 poeng] La S være mengden {1, 2, 3, 4}. Hvor mange funksjoner fra S til S fins det, og hvor mange av disse er bijeksjoner? Gi en kort begrunnelse for svaret ditt. Antall funksjoner fra S til S er 4 4 = 256, fordi det for hvert element i {1, 2, 3, 4} er fire muligheter for verdi. Av disse er det 4! = 4 3 2 1 = 24 bijeksjoner, like mange som det er permutasjoner av {1, 2, 3, 4}. (c) [4 poeng] La S være mengden {1, 2, 3, 4, 5}. Hvor mange delmengder av av S med tre elementer fins det? Gi en kort begrunnelse for svaret ditt. Det er ( ) 5 3 = 5 4 3 = 10 delmengder av S med tre elementer. Det er fordi det er 3 2 1 5 4 3 = 60 måter å velge tre elementer på i rekkefølge. Disse kan permuteres på 3 2 1 = 6 forskjellige måter. Det gir at det er 60/6 = 10 måter å velge tre elementer på uavhengig av rekkefølgen. Dette svarer til antall delmengder av S med tre elementer. Oppgave 8 Regulære språk (10 poeng) Vi definerer et språk over alfabetet {a, b, c} som inneholder strengene på følgende form: Alle strenger består av ett eller flere «segmenter.» Hvert segment består av én a og etter det enten en rekke på én eller flere b eller 7
en rekke på én eller flere c. Noen strenger i språket er altså abbbb, abacab, abbaccc (a) [3 poeng] Angi et regulært uttrykk som beskriver språket. (a(b + c + )) + (b) [3 poeng] Finn en grammatikk som beskriver språket. S X XS X ab ac B b bb C c cc (c) [4 poeng] Angi en deterministisk, endelig tilstandsmaskin som aksepterer språket. Husk å markere både starttilstanden, og alle aksepterende tilstander. Oppgave 9 Rekursive funksjoner (10 poeng) (a) [3 poeng] Hvilke av følgende systemer med ligninger utgjør en korrekt rekursiv definisjon av en funksjon f : N N? 1. f(0) = 2 og f(n + 1) = f(n) 2 f(n) for alle n N. Ja 2. f(n + 1) = f(n) 2 for alle n N. Nei, basistilfellet mangler. 3. f(0) = 1, f(1) = 2, f(2) = 3, og så videre. Nei, «og så videre» er ikke en gyldig form for definisjon. 4. f(0) = 1, f(1) = 3, og f(n) = 2f(n 2) for alle n N med n 2. Ja (b) [2 poeng] For de definisjonene i oppgavedel (a) som er korrekte, regn ut f(4). 8
(1): f(1) = 2 2 2 = 2. f(2) = 2. f(3) = 2. f(4) = 2. (4): f(4) = 2 f(2) = 2 2 f(0) = 4. (c) [3 poeng] La g(n) være produktet av de første n positive oddetallene: g(1) = 1 g(2) = 1 3 g(3) = 1 3 5 g(4) = 1 3 5 7... Gi en rekursiv definisjon av g. Du får bruke 1 som basistilfelle. La funksjonen g være definert rekursivt på følgende måte: g(1) = 1 og g(n + 1) = (2n + 1)g(n)). (d) [2 poeng] Definer en rekursiv funksjon f som tar en streng som argument, og som erstatter alle vokaler x i den strengen med a. F.eks. vil f(tre små kinesere) = tra sma kanasara og f(logikk) = lagakk. La funksjonen f være definert rekursivt på følgende måte: f(λ) = Λ og f(sx) er lik f(s)x hvis x er en konsonant og f(s)a hvis x er en vokal. Oppgave 10 Induksjonsbevis (10 poeng) (a) [4 poeng] Gitt følgende rekursive definisjon for f: Bevis ved induksjon at f(0) = 2 og f(n + 1) = f(n) 2 f(n) for alle n N. f(n) = 2 for alle n N. Vi beviser ved matematisk induksjon at f(n) = 2 for alle n N: Basissteget er å bevise at påstanden holder for n = 0: Det stemmer fordi f(0) = 2 per definisjon. Anta at påstanden holder for et naturlig tall n, det vil si at f(n) = 2. Dette er induksjonshypotesen (IH). Fra denne skal vi vise at påstanden holder for n + 1: f(n + 1) = f(n) 2 f(n) ved definisjonen av f = 2 2 2 ved induksjonshypotesen = 4 2 = 2 ved vanlig regning Ved induksjon følger det at påstanden er sann for alle naturlige tall. 9
(b) [4 poeng] Gitt følgende rekursive definisjon for g, Vis at g(0) = 1, g(n + 1) = 3 g(n) for alle n N. Vi beviser ved matematisk induksjon at { 1 hvis n er et partall g(n) = 2 hvis n er et oddetall { 1 hvis n er et partall g(n) = 2 hvis n er et oddetall Basissteget er å bevise at påstanden holder for n = 0: Det stemmer fordi g(0) = 1 og 0 er et partall. Anta at påstanden holder for et naturlig tall n. Dette er induksjonshypotesen (IH). Fra denne skal vi vise at påstanden holder for n + 1. Det er to tilfeller, avhengig av n + 1: n + 1 er et partall: Da er n et oddetall, og induksjonshypotesen gir at g(n) = 2. Da vil g(n + 1) = 3 g(n) = 3 2 = 1. n + 1 er et oddetall: Da er n et partall, og induksjonshypotesen gir at g(n) = 1. Da vil g(n + 1) = 3 g(n) = 3 1 = 2. Ved induksjon følger det at påstanden er sann for alle naturlige tall. (c) [2 poeng] Bruk (b) til å vise at g(n) = g(g(g(n))) for alle n N. La n være et vilkårlig naturlig tall. Det er to tilfeller, avhengig av n: n er et partall: Da vil g(n) = 1 per definisjon, og g(g(g(n))) = g(g(1)) = g(2) = 1. n er et oddetall: Da vil g(n) = 2 per definisjon, og g(g(g(n))) = g(g(2)) = g(1) = 2. Siden n var vilkårlig valgt, holder påstanden for alle n. 10